[Pkg-ofed-commits] [ibutils] 02/08: Imported Upstream version 1.2-OFED-1.4.2

Ana Beatriz Guerrero López ana at moszumanska.debian.org
Tue Jul 1 07:17:30 UTC 2014


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

ana pushed a commit to branch master
in repository ibutils.

commit c3ebda334a147a6918702251f476bf5f738fecd5
Author: Ana Guerrero López <ana at ekaia.org>
Date:   Mon Jun 30 22:20:11 2014 +0200

    Imported Upstream version 1.2-OFED-1.4.2
---
 AUTHORS                                            |     0
 COPYING                                            |    33 +
 ChangeLog                                          |     0
 INSTALL                                            |   231 +
 Makefile.am                                        |    57 +
 Makefile.in                                        |   611 +
 NEWS                                               |     0
 README                                             |     1 +
 aclocal.m4                                         |   604 +
 autogen.sh                                         |    85 +
 config/install-sh                                  |   323 +
 config/missing                                     |   360 +
 config/osm.m4                                      |   204 +
 config/swig.m4                                     |    93 +
 config/tcl.m4                                      |   191 +
 configure                                          |  3211 +
 configure.in                                       |    66 +
 ibdiag/Makefile                                    |   586 +
 ibdiag/Makefile.am                                 |    43 +
 ibdiag/Makefile.in                                 |   586 +
 ibdiag/aclocal.m4                                  |   607 +
 ibdiag/autogen.sh                                  |    73 +
 ibdiag/config/config.guess                         |  1466 +
 ibdiag/config/config.sub                           |  1579 +
 ibdiag/config/graphviz.m4                          |    37 +
 ibdiag/config/ibdm.m4                              |    37 +
 ibdiag/config/ibis.m4                              |    31 +
 ibdiag/config/install-sh                           |   323 +
 ibdiag/config/ltmain.sh                            |  6871 ++
 ibdiag/config/missing                              |   360 +
 ibdiag/config/tk.m4                                |    37 +
 ibdiag/configure                                   |  2961 +
 ibdiag/configure.in                                |    42 +
 ibdiag/demo/README                                 |    27 +
 ibdiag/demo/credit-loops.topo                      |    83 +
 ibdiag/demo/faulty-links.check.tcl                 |    90 +
 ibdiag/demo/faulty-links.sim.tcl                   |   101 +
 ibdiag/demo/gnu-based-32.topo                      |    80 +
 ibdiag/demo/ipoib.check.tcl                        |   186 +
 ibdiag/demo/ipoib.sim.tcl                          |   240 +
 ibdiag/demo/network.topo                           |   421 +
 ibdiag/demo/no-faults.check.tcl                    |    91 +
 ibdiag/demo/no-faults.sim.tcl                      |   236 +
 ibdiag/demo/partial-gnu-based-32.topo              |    78 +
 ibdiag/demo/partition.check.tcl                    |   179 +
 ibdiag/demo/partition.sim.tcl                      |   171 +
 ibdiag/demo/qos.check.tcl                          |   122 +
 ibdiag/demo/qos.sim.tcl                            |    88 +
 ibdiag/demo/sm-credits.check.tcl                   |    58 +
 ibdiag/demo/sm-lids.check.tcl                      |    68 +
 ibdiag/demo/sm-lids.sim.tcl                        |   220 +
 ibdiag/demo/sm-link-setup.check.tcl                |    75 +
 ibdiag/demo/sm-link-setup.sim.tcl                  |   107 +
 ibdiag/demo/sm-routing.check.tcl                   |   171 +
 ibdiag/demo/sm-routing.sim.tcl                     |   236 +
 ibdiag/demo/sm-single-master.tcl                   |   109 +
 ibdiag/doc/Makefile                                |   362 +
 ibdiag/doc/Makefile.am                             |    45 +
 ibdiag/doc/Makefile.in                             |   362 +
 ibdiag/doc/ibdiag_pod2man                          |    32 +
 ibdiag/doc/ibdiag_release_notes.txt                |   261 +
 ibdiag/doc/ibdiagnet.1                             |   380 +
 ibdiag/doc/ibdiagnet.pod                           |   310 +
 ibdiag/doc/ibdiagnet.txt                           |    61 +
 ibdiag/doc/ibdiagpath.1                            |   333 +
 ibdiag/doc/ibdiagpath.pod                          |   239 +
 ibdiag/doc/ibdiagui.1                              |   159 +
 ibdiag/doc/ibdiagui.pod                            |    31 +
 ibdiag/doc/ibutils_release_notes_ofed1_4.txt       |    82 +
 ibdiag/src/Makefile                                |   390 +
 ibdiag/src/Makefile.am                             |   108 +
 ibdiag/src/Makefile.in                             |   393 +
 ibdiag/src/git_version.tcl                         |     1 +
 ibdiag/src/ibdebug.tcl                             |  5431 ++
 ibdiag/src/ibdebug_if.tcl                          |  2801 +
 ibdiag/src/ibdiagnet.in                            |    10 +
 ibdiag/src/ibdiagnet.pkg                           |     6 +
 ibdiag/src/ibdiagnet.tcl                           |   139 +
 ibdiag/src/ibdiagpath.in                           |    10 +
 ibdiag/src/ibdiagpath.pkg                          |     6 +
 ibdiag/src/ibdiagpath.tcl                          |   218 +
 ibdiag/src/ibdiagui.in                             |    11 +
 ibdiag/src/ibdiagui.pkg                            |     6 +
 ibdiag/src/ibdiagui.tcl                            |  2772 +
 ibdm/AUTHORS                                       |     1 +
 ibdm/COPYING                                       |   340 +
 ibdm/ChangeLog                                     |    24 +
 ibdm/Clusters/Buffalo8.topo                        |    59 +
 ibdm/Clusters/CreditLoopDemo.cables                |     9 +
 ibdm/Clusters/FullCbbReindeer.cables               |   385 +
 ibdm/Clusters/FullCbbReindeer.xls                  |   Bin 0 -> 113153 bytes
 ibdm/Clusters/FullCbbTwoSpines.cables              |   385 +
 ibdm/Clusters/FullCbbTwoSpines.stat                |   270 +
 ibdm/Clusters/FullCbbTwoSpines.xls                 |   Bin 0 -> 107521 bytes
 ibdm/Clusters/FullGnu.topo                         |    19 +
 ibdm/Clusters/Makefile                             |   371 +
 ibdm/Clusters/Makefile.am                          |    10 +
 ibdm/Clusters/Makefile.in                          |   371 +
 ibdm/Clusters/PartialGazelle.topo                  |    74 +
 ibdm/Clusters/RhinoBased512.lst                    |  5504 ++
 ibdm/Clusters/RhinoBased512.no_sp2-3.lst           |  4960 ++
 ibdm/Clusters/RhinoBased512.topo                   |  1574 +
 ibdm/Clusters/SingleGazelle.cables                 |    97 +
 ibdm/Clusters/SingleGazelle.topo                   |    98 +
 ibdm/Clusters/SingleRhino.topo                     |   145 +
 ibdm/Clusters/osm.fdbs                             |  4216 ++
 ibdm/Clusters/subnet.lst                           |   344 +
 ibdm/Clusters/topo2subnet                          |   159 +
 ibdm/Clusters/topology                             |    11 +
 ibdm/INSTALL                                       |   182 +
 ibdm/Makefile                                      |   684 +
 ibdm/Makefile.am                                   |    51 +
 ibdm/Makefile.in                                   |   684 +
 ibdm/NEWS                                          |     7 +
 ibdm/README                                        |   105 +
 ibdm/THANKS                                        |     1 +
 ibdm/aclocal.m4                                    |  7320 ++
 ibdm/autogen.sh                                    |    72 +
 ibdm/config.h                                      |    84 +
 ibdm/config.h.in                                   |    83 +
 ibdm/config/config.guess                           |  1466 +
 ibdm/config/config.sub                             |  1579 +
 ibdm/config/depcomp                                |   530 +
 ibdm/config/install-sh                             |   323 +
 ibdm/config/ltmain.sh                              |  6871 ++
 ibdm/config/missing                                |   360 +
 ibdm/config/mkinstalldirs                          |    99 +
 ibdm/config/regex.m4                               |    64 +
 ibdm/config/swig.m4                                |    93 +
 ibdm/config/tcl.m4                                 |   191 +
 ibdm/config/ylwrap                                 |   223 +
 ibdm/configure                                     | 21653 ++++++
 ibdm/configure.in                                  |   102 +
 ibdm/doc/Makefile                                  |   441 +
 ibdm/doc/Makefile.am                               |    54 +
 ibdm/doc/Makefile.in                               |   441 +
 ibdm/doc/ibdm-ibnl-file.1                          |   363 +
 ibdm/doc/ibdm-ibnl-file.pod                        |   276 +
 ibdm/doc/ibdm-topo-file.1                          |   208 +
 ibdm/doc/ibdm-topo-file.pod                        |    90 +
 ibdm/doc/ibdm_pod2man                              |    32 +
 ibdm/doc/ibdmchk.1                                 |   229 +
 ibdm/doc/ibdmchk.pod                               |   105 +
 ibdm/doc/ibdmsh.1                                  |   595 +
 ibdm/doc/ibdmsh.pod                                |   633 +
 ibdm/doc/ibdmtr.1                                  |   211 +
 ibdm/doc/ibdmtr.pod                                |    82 +
 ibdm/doc/ibtopodiff.1                              |   176 +
 ibdm/doc/ibtopodiff.pod                            |    48 +
 ibdm/ibdm/.deps/Bipartite.Plo                      |   371 +
 ibdm/ibdm/.deps/Congestion.Plo                     |   373 +
 ibdm/ibdm/.deps/CredLoops.Plo                      |   386 +
 ibdm/ibdm/.deps/Fabric.Plo                         |   377 +
 ibdm/ibdm/.deps/FatTree.Plo                        |   390 +
 ibdm/ibdm/.deps/LinkCover.Plo                      |   389 +
 ibdm/ibdm/.deps/RouteSys.Plo                       |   369 +
 ibdm/ibdm/.deps/SubnMgt.Plo                        |   391 +
 ibdm/ibdm/.deps/SysDef.Plo                         |   380 +
 ibdm/ibdm/.deps/TopoMatch.Plo                      |   373 +
 ibdm/ibdm/.deps/TraceRoute.Plo                     |   369 +
 ibdm/ibdm/.deps/ibdm_wrap.Plo                      |   388 +
 ibdm/ibdm/.deps/ibdmsh_wrap.Po                     |   388 +
 ibdm/ibdm/.deps/ibnl_parser.Plo                    |   367 +
 ibdm/ibdm/.deps/ibnl_scanner.Plo                   |   370 +
 ibdm/ibdm/Bipartite.cc                             |   672 +
 ibdm/ibdm/Bipartite.h                              |   194 +
 ibdm/ibdm/Congestion.cpp                           |   502 +
 ibdm/ibdm/Congestion.h                             |    48 +
 ibdm/ibdm/CredLoops.cpp                            |   311 +
 ibdm/ibdm/CredLoops.h                              |    42 +
 ibdm/ibdm/Fabric.cpp                               |  2494 +
 ibdm/ibdm/Fabric.h                                 |   618 +
 ibdm/ibdm/FatTree.cpp                              |  1345 +
 ibdm/ibdm/LinkCover.cpp                            |  1022 +
 ibdm/ibdm/Makefile                                 |   734 +
 ibdm/ibdm/Makefile.am                              |   165 +
 ibdm/ibdm/Makefile.in                              |   734 +
 ibdm/ibdm/Regexp.h                                 |   153 +
 ibdm/ibdm/RouteSys.cc                              |   258 +
 ibdm/ibdm/RouteSys.h                               |    98 +
 ibdm/ibdm/SubnMgt.cpp                              |  2728 +
 ibdm/ibdm/SubnMgt.h                                |   142 +
 ibdm/ibdm/SysDef.cpp                               |   561 +
 ibdm/ibdm/SysDef.h                                 |   278 +
 ibdm/ibdm/TopoMatch.cpp                            |  1495 +
 ibdm/ibdm/TopoMatch.h                              |    54 +
 ibdm/ibdm/TraceRoute.cpp                           |   347 +
 ibdm/ibdm/TraceRoute.h                             |    52 +
 ibdm/ibdm/fixSwigWrapper                           |   216 +
 ibdm/ibdm/git_version.h                            |     1 +
 ibdm/ibdm/ibdm.i                                   |  1451 +
 ibdm/ibdm/ibdm_wrap.cpp                            | 18094 +++++
 ibdm/ibdm/ibdmsh_wrap.cpp                          | 18162 +++++
 ibdm/ibdm/ibnl_parser.cc                           |  1741 +
 ibdm/ibdm/ibnl_parser.h                            |    77 +
 ibdm/ibdm/ibnl_parser.yy                           |   437 +
 ibdm/ibdm/ibnl_scanner.cc                          |  1769 +
 ibdm/ibdm/ibnl_scanner.ll                          |   203 +
 ibdm/ibdm/pkgIndex.tcl                             |    17 +
 ibdm/ibdm/swig_alternate_mangling.cpp              |   249 +
 ibdm/ibnl/Buffalo.ibnl                             |    11 +
 ibdm/ibnl/Cheetah.ibnl                             |     5 +
 ibdm/ibnl/Cougar.ibnl                              |     7 +
 ibdm/ibnl/Eagle.ibnl                               |     6 +
 ibdm/ibnl/Gazelle.ibnl                             |   411 +
 ibdm/ibnl/Gnu.ibnl                                 |    93 +
 ibdm/ibnl/Lion.ibnl                                |     6 +
 ibdm/ibnl/LionMini.ibnl                            |     6 +
 ibdm/ibnl/MTS14400-48.ibnl                         |   443 +
 ibdm/ibnl/MTS14400-DDR.ibnl                        |   570 +
 ibdm/ibnl/MTS14400-IntraDDR.ibnl                   |   574 +
 ibdm/ibnl/MTS14400.ibnl                            |   574 +
 ibdm/ibnl/MTS2400-12T4.ibnl                        |    22 +
 ibdm/ibnl/MTS2400-24.ibnl                          |    30 +
 ibdm/ibnl/MTS3600.ibnl                             |    43 +
 ibdm/ibnl/MTS3610.ibnl                             |  1108 +
 ibdm/ibnl/Makefile                                 |   374 +
 ibdm/ibnl/Makefile.am                              |    13 +
 ibdm/ibnl/Makefile.in                              |   374 +
 ibdm/libtool                                       |  7528 ++
 ibdm/replace/.deps/memset.Po                       |     1 +
 ibdm/replace/.deps/regex.Po                        |     1 +
 ibdm/replace/Makefile                              |   444 +
 ibdm/replace/Makefile.am                           |     7 +
 ibdm/replace/Makefile.in                           |   444 +
 ibdm/replace/malloc.c                              |    38 +
 ibdm/replace/memset.c                              |    26 +
 ibdm/replace/realloc.c                             |    44 +
 ibdm/replace/regex.c                               |  5837 ++
 ibdm/replace/regex.h                               |   542 +
 ibdm/src/.deps/fabric_tr.Po                        |   371 +
 ibdm/src/.deps/osm_check.Po                        |   371 +
 ibdm/src/.deps/test_ibnl_parser.Po                 |   371 +
 ibdm/src/.deps/test_topo_match.Po                  |   373 +
 ibdm/src/Makefile                                  |   553 +
 ibdm/src/Makefile.am                               |    64 +
 ibdm/src/Makefile.in                               |   553 +
 ibdm/src/fabric_sim.cpp                            |   295 +
 ibdm/src/fabric_tr.cpp                             |   251 +
 ibdm/src/lst2ibnl                                  |   512 +
 ibdm/src/osm_check.cpp                             |   607 +
 ibdm/src/test_ibnl_parser.cpp                      |    62 +
 ibdm/src/test_topo_match.cpp                       |   244 +
 ibdm/stamp-h1                                      |     1 +
 ibis/AUTHORS                                       |     1 +
 ibis/COPYING                                       |    33 +
 ibis/ChangeLog                                     |     0
 ibis/INSTALL                                       |   236 +
 ibis/LICENSE                                       |    33 +
 ibis/Makefile                                      |   688 +
 ibis/Makefile.am                                   |    51 +
 ibis/Makefile.in                                   |   688 +
 ibis/NEWS                                          |     0
 ibis/README                                        |    15 +
 ibis/aclocal.m4                                    |  7299 ++
 ibis/autogen.sh                                    |    71 +
 ibis/config.h                                      |    86 +
 ibis/config.h.in                                   |    85 +
 ibis/config/config.guess                           |  1466 +
 ibis/config/config.sub                             |  1579 +
 ibis/config/depcomp                                |   530 +
 ibis/config/install-sh                             |   323 +
 ibis/config/ltmain.sh                              |  6871 ++
 ibis/config/missing                                |   360 +
 ibis/config/osm.m4                                 |   204 +
 ibis/config/swig.m4                                |    93 +
 ibis/config/tcl.m4                                 |   191 +
 ibis/configure                                     | 21500 ++++++
 ibis/configure.in                                  |    80 +
 ibis/doc/Makefile                                  |   432 +
 ibis/doc/Makefile.am                               |    41 +
 ibis/doc/Makefile.in                               |   432 +
 ibis/doc/ibis.1                                    |  2254 +
 ibis/doc/ibis.pod                                  |  2022 +
 ibis/doc/ibis_pod2man                              |    32 +
 ibis/doc/ibis_wrap.html                            |  3871 +
 ibis/libtool                                       |  7528 ++
 ibis/src/.deps/ibbbm.Plo                           |   265 +
 ibis/src/.deps/ibcc.Plo                            |   262 +
 ibis/src/.deps/ibcr.Plo                            |   265 +
 ibis/src/.deps/ibis.Plo                            |   259 +
 ibis/src/.deps/ibis_gsi_mad_ctrl.Plo               |   266 +
 ibis/src/.deps/ibis_wrap.Plo                       |   330 +
 ibis/src/.deps/ibissh_wrap.Po                      |   328 +
 ibis/src/.deps/ibpm.Plo                            |   265 +
 ibis/src/.deps/ibsac.Plo                           |   253 +
 ibis/src/.deps/ibsm.Plo                            |   262 +
 ibis/src/.deps/ibvs.Plo                            |   265 +
 ibis/src/Makefile                                  |   705 +
 ibis/src/Makefile.am                               |   163 +
 ibis/src/Makefile.in                               |   705 +
 ibis/src/fixSwigWrapper                            |   196 +
 ibis/src/git_version.h                             |     1 +
 ibis/src/ibbbm.c                                   |   361 +
 ibis/src/ibbbm.h                                   |   285 +
 ibis/src/ibbbm.i                                   |   369 +
 ibis/src/ibbbm_base.h                              |   214 +
 ibis/src/ibcc.c                                    |   420 +
 ibis/src/ibcc.h                                    |  1137 +
 ibis/src/ibcc.i                                    |  1516 +
 ibis/src/ibcr.c                                    |   394 +
 ibis/src/ibcr.h                                    |   371 +
 ibis/src/ibcr.i                                    |   291 +
 ibis/src/ibcr_base.h                               |    73 +
 ibis/src/ibis.c                                    |   248 +
 ibis/src/ibis.h                                    |   209 +
 ibis/src/ibis.i                                    |   934 +
 ibis/src/ibis_api.h                                |   604 +
 ibis/src/ibis_base.h                               |    73 +
 ibis/src/ibis_gsi_mad_ctrl.c                       |  1020 +
 ibis/src/ibis_gsi_mad_ctrl.h                       |   241 +
 ibis/src/ibis_typemaps.i                           |   509 +
 ibis/src/ibis_wrap.c                               | 75166 ++++++++++++++++++
 ibis/src/ibissh_wrap.cpp                           | 75234 +++++++++++++++++++
 ibis/src/ibpm.c                                    |   448 +
 ibis/src/ibpm.h                                    |   399 +
 ibis/src/ibpm.i                                    |   342 +
 ibis/src/ibpm_base.h                               |   113 +
 ibis/src/ibsac.c                                   |   416 +
 ibis/src/ibsac.h                                   |    52 +
 ibis/src/ibsac.i                                   |  1894 +
 ibis/src/ibsm.c                                    |   374 +
 ibis/src/ibsm.h                                    |   334 +
 ibis/src/ibsm.i                                    |   836 +
 ibis/src/ibvs.c                                    |  1437 +
 ibis/src/ibvs.h                                    |  1008 +
 ibis/src/ibvs.i                                    |   849 +
 ibis/src/ibvs_base.h                               |   224 +
 ibis/src/pkgIndex.tcl                              |     6 +
 ibis/src/swig_extended_obj.c                       |   489 +
 ibis/stamp-h1                                      |     1 +
 ibis/tests/Makefile                                |   379 +
 ibis/tests/Makefile.am                             |    13 +
 ibis/tests/Makefile.in                             |   379 +
 ibis/tests/ibcr_test.tcl                           |   261 +
 ibis/tests/ibpm_test.tcl                           |   308 +
 ibis/tests/ibvs_test.tcl                           |   278 +
 ibis/tests/obj.tcl                                 |    18 +
 ibis/tests/sac_demo.tcl                            |    69 +
 ibmgtsim/AUTHORS                                   |     2 +
 ibmgtsim/COPYING                                   |   340 +
 ibmgtsim/ChangeLog                                 |    14 +
 ibmgtsim/INSTALL                                   |   236 +
 ibmgtsim/Makefile.am                               |    51 +
 ibmgtsim/Makefile.in                               |   691 +
 ibmgtsim/NEWS                                      |     0
 ibmgtsim/README                                    |   106 +
 ibmgtsim/aclocal.m4                                |  7300 ++
 ibmgtsim/autogen.sh                                |    71 +
 ibmgtsim/config.h.in                               |    76 +
 ibmgtsim/config/config.guess                       |  1466 +
 ibmgtsim/config/config.sub                         |  1579 +
 ibmgtsim/config/depcomp                            |   530 +
 ibmgtsim/config/ibdm.m4                            |    59 +
 ibmgtsim/config/install-sh                         |   323 +
 ibmgtsim/config/ltmain.sh                          |  6871 ++
 ibmgtsim/config/missing                            |   360 +
 ibmgtsim/config/osm.m4                             |   204 +
 ibmgtsim/config/swig.m4                            |    93 +
 ibmgtsim/config/tcl.m4                             |   191 +
 ibmgtsim/configure                                 | 21441 ++++++
 ibmgtsim/configure.in                              |   100 +
 ibmgtsim/doc/IBMgtSim.1                            |   216 +
 ibmgtsim/doc/IBMgtSim.pod                          |    89 +
 ibmgtsim/doc/Makefile.am                           |    44 +
 ibmgtsim/doc/Makefile.in                           |   439 +
 ibmgtsim/doc/RunSimTest.1                          |   185 +
 ibmgtsim/doc/RunSimTest.pod                        |    70 +
 ibmgtsim/doc/ibmgtsim_pod2man                      |    32 +
 ibmgtsim/doc/ibmsquit.1                            |   151 +
 ibmgtsim/doc/ibmsquit.pod                          |    28 +
 ibmgtsim/doc/ibmssh.1                              |   696 +
 ibmgtsim/doc/ibmssh.pod                            |   610 +
 ibmgtsim/doc/mkSimNodeDir.1                        |   157 +
 ibmgtsim/doc/mkSimNodeDir.pod                      |    37 +
 ibmgtsim/src/Makefile.am                           |   180 +
 ibmgtsim/src/Makefile.in                           |   788 +
 ibmgtsim/src/client.cpp                            |   484 +
 ibmgtsim/src/dispatcher.cpp                        |   553 +
 ibmgtsim/src/dispatcher.h                          |   136 +
 ibmgtsim/src/helper.h                              |   212 +
 ibmgtsim/src/ib_types.i                            |   491 +
 ibmgtsim/src/ib_types_extend.h                     |   234 +
 ibmgtsim/src/ibms_client_api.h                     |   125 +
 ibmgtsim/src/ibmssh_wrap.cpp                       | 39832 ++++++++++
 ibmgtsim/src/inttypes.i                            |   462 +
 ibmgtsim/src/mads.i                                |   582 +
 ibmgtsim/src/msgmgr.cpp                            |   348 +
 ibmgtsim/src/msgmgr.h                              |   301 +
 ibmgtsim/src/node.cpp                              |   666 +
 ibmgtsim/src/node.h                                |   371 +
 ibmgtsim/src/pma.cpp                               |   215 +
 ibmgtsim/src/pma.h                                 |    81 +
 ibmgtsim/src/randmgr.cpp                           |    66 +
 ibmgtsim/src/randmgr.h                             |    78 +
 ibmgtsim/src/server.cpp                            |   526 +
 ibmgtsim/src/server.h                              |   167 +
 ibmgtsim/src/sim.cpp                               |   347 +
 ibmgtsim/src/sim.h                                 |   105 +
 ibmgtsim/src/sim.i                                 |   548 +
 ibmgtsim/src/simmsg.cpp                            |   271 +
 ibmgtsim/src/simmsg.h                              |   371 +
 ibmgtsim/src/sma.cpp                               |  1784 +
 ibmgtsim/src/sma.h                                 |   217 +
 ibmgtsim/src/swig_alternate_mangling.cpp           |   249 +
 ibmgtsim/src/tcpcomm.cpp                           |   544 +
 ibmgtsim/src/tcpcomm.h                             |   159 +
 ibmgtsim/src/vsa.cpp                               |   677 +
 ibmgtsim/src/vsa.h                                 |    95 +
 ibmgtsim/tests/12-ary-2-tree.topo                  |   312 +
 ibmgtsim/tests/12-node-spaced.topo                 |    39 +
 ibmgtsim/tests/2-ary-4-tree.topo                   |   112 +
 ibmgtsim/tests/32nodes-3lvl-is1-cbb2-2st.topo      |   104 +
 ibmgtsim/tests/32nodes-3lvl-is1-cbb2.topo          |    87 +
 ibmgtsim/tests/32nodes-3lvl-is1.topo               |   119 +
 ibmgtsim/tests/4-ary-2-tree-diff-num-pgroups.topo  |    39 +
 .../tests/4-ary-2-tree-links-at-same-rank-1.topo   |    45 +
 .../tests/4-ary-2-tree-links-at-same-rank-2.topo   |    38 +
 ibmgtsim/tests/4-ary-2-tree-missing-sw-link.topo   |    37 +
 ibmgtsim/tests/4-ary-2-tree.topo                   |    40 +
 ibmgtsim/tests/4-ary-3-tree.topo                   |   256 +
 ibmgtsim/tests/4-ary-4-tree.topo                   |  1408 +
 ibmgtsim/tests/FatTree.check.tcl                   |   137 +
 ibmgtsim/tests/FatTree.sim.tcl                     |     0
 ibmgtsim/tests/FatTreeFails.check.tcl              |    70 +
 ibmgtsim/tests/FullGnu.topo                        |    19 +
 ibmgtsim/tests/IS1-16.topo                         |    19 +
 ibmgtsim/tests/IS3-128.topo                        |   432 +
 ibmgtsim/tests/IS3-loop.topo                       |    67 +
 ibmgtsim/tests/Makefile.am                         |    45 +
 ibmgtsim/tests/Makefile.in                         |   417 +
 ibmgtsim/tests/OsmTest.check.tcl                   |    73 +
 ibmgtsim/tests/OsmTest.sim.tcl                     |     2 +
 ibmgtsim/tests/README                              |    40 +
 ibmgtsim/tests/RhinoBased10K.topo                  | 20374 +++++
 ibmgtsim/tests/RhinoBased512Nodes.topo             |  1574 +
 ibmgtsim/tests/RhinoDDR.topo                       |   145 +
 ibmgtsim/tests/RhinoReindeer1100.topo              |  1988 +
 ibmgtsim/tests/blend-4-ary-2-tree.topo             |    40 +
 ibmgtsim/tests/discover.check.tcl                  |    48 +
 ibmgtsim/tests/discover.sim.tcl                    |    68 +
 ibmgtsim/tests/duplicateGuid.sim.tcl               |    44 +
 ibmgtsim/tests/gnu-stallion-64.topo                |   160 +
 ibmgtsim/tests/half-4-ary-3-tree.topo              |   128 +
 ibmgtsim/tests/ibdiag-drops.sim.tcl                |    79 +
 ibmgtsim/tests/ibdiag-dup-both-guids.sim.tcl       |   127 +
 ibmgtsim/tests/ibdiag-dup-node-guid.sim.tcl        |    59 +
 ibmgtsim/tests/ibdiag-dup-port-guid.sim.tcl        |   113 +
 ibmgtsim/tests/ibdiag-lid.sim.tcl                  |    75 +
 ibmgtsim/tests/ibdiag-mcast.sim.tcl                |   171 +
 ibmgtsim/tests/ibdiag-ucast.sim.tcl                |    80 +
 ibmgtsim/tests/ibdiagnet.check.tcl                 |    58 +
 ibmgtsim/tests/init.test.tcl                       |    53 +
 ibmgtsim/tests/merge-2-ary-4-tree.topo             |   112 +
 ibmgtsim/tests/merge-root-12-ary-2-tree.topo       |   312 +
 ibmgtsim/tests/merge-root-4-ary-3-tree.topo        |   256 +
 ibmgtsim/tests/merge-roots-4-ary-2-tree.topo       |    40 +
 .../tests/merge-roots-reorder-4-ary-2-tree.topo    |    40 +
 ibmgtsim/tests/osm-dup-local-port-guid.sim.tcl     |   127 +
 ibmgtsim/tests/osm-join-leave.check.tcl            |    76 +
 ibmgtsim/tests/osm-join-leave.sim.tcl              |   141 +
 ibmgtsim/tests/osmLidAssignment.check.tcl          |   147 +
 ibmgtsim/tests/osmLidAssignment.sim.tcl            |   749 +
 ibmgtsim/tests/osmMulticast.sim.tcl                |    99 +
 ibmgtsim/tests/osmMulticastRoutingTest.check.tcl   |    69 +
 ibmgtsim/tests/osmMulticastRoutingTest.sim.tcl     |    92 +
 ibmgtsim/tests/osmStability.check.tcl              |    50 +
 ibmgtsim/tests/osmStability.sim.tcl                |    76 +
 ibmgtsim/tests/osmStress.check.tcl                 |   229 +
 ibmgtsim/tests/osmStress.sim.tcl                   |  1005 +
 ibmgtsim/tests/osm_no_quit.check.tcl               |    41 +
 ibmgtsim/tests/osm_no_quit.sim.tcl                 |     1 +
 ibmgtsim/tests/part-4-ary-3-tree.topo              |   193 +
 ibmgtsim/tests/pkey.check.tcl                      |   372 +
 ibmgtsim/tests/pkey.sim.tcl                        |   395 +
 ibmgtsim/utils/IBMgtSim                            |   471 +
 ibmgtsim/utils/LICENSE.txt                         |    32 +
 ibmgtsim/utils/Makefile.am                         |    39 +
 ibmgtsim/utils/Makefile.in                         |   406 +
 ibmgtsim/utils/RunSimTest                          |   844 +
 ibmgtsim/utils/fixSwigWrapper                      |   216 +
 ibmgtsim/utils/fprogbar.sh                         |    69 +
 ibmgtsim/utils/h2cpp.awk                           |    56 +
 ibmgtsim/utils/header.c                            |    33 +
 ibmgtsim/utils/header.sh                           |    33 +
 ibmgtsim/utils/install.sh                          |   184 +
 ibmgtsim/utils/mkSimNodeDir                        |   129 +
 ibmgtsim/utils/uninstall.sh                        |    79 +
 ibutils.spec                                       |   150 +
 ibutils.spec.in                                    |   150 +
 490 files changed, 561955 insertions(+)

diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..e69de29
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..e329021
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,33 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e69de29
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..095b1eb
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,231 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PREFIX', the package will
+use PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the `--target=TYPE' option to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+will cause the specified gcc to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..d2e1fe3
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,57 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+
+# note that order matters: make the lib first then use it
+if BUILD_IBMGTSIM
+IBMGTSIMDIR             = ibmgtsim
+endif
+
+SUBDIRS                 = ibis ibdm ibdiag $(IBMGTSIMDIR)
+DIST_SUBDIRS            = ibis ibdm ibdiag $(IBMGTSIMDIR)
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+
+ACLOCAL			= aclocal -I $(ac_aux_dir)
+
+EXTRA_DIST = ibutils.spec.in
+
+dist-hook: ibutils.spec
+	cp ibutils.spec $(distdir)
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..8a25902
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,611 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/ibutils.spec.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config/install-sh config/missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = ibutils.spec
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_IBMGTSIM_FALSE = @BUILD_IBMGTSIM_FALSE@
+BUILD_IBMGTSIM_TRUE = @BUILD_IBMGTSIM_TRUE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_osm = @with_osm@
+
+# note that order matters: make the lib first then use it
+ at BUILD_IBMGTSIM_TRUE@IBMGTSIMDIR = ibmgtsim
+SUBDIRS = ibis ibdm ibdiag $(IBMGTSIMDIR)
+DIST_SUBDIRS = ibis ibdm ibdiag $(IBMGTSIMDIR)
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+EXTRA_DIST = ibutils.spec.in
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ibutils.spec: $(top_builddir)/config.status $(srcdir)/ibutils.spec.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/. $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-recursive distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-info-am
+
+
+dist-hook: ibutils.spec
+	cp ibutils.spec $(distdir)
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..e69de29
diff --git a/README b/README
new file mode 100644
index 0000000..d684bd1
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+This is the top level directory for additional User Level InfiniBand Management Utilities
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..38c67f5
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,604 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/osm.m4])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..dda3137
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,85 @@
+#!/bin/bash
+cd ${0%*/*}
+# get two strings of version numbers
+# parse the two strings and compare
+function compare_versions() {
+   cat <<EOF > /tmp/$$.awk
+/[0-9]+\.[0-9]+(\.[0-9]+)?[    ]+[0-9]+\.[0-9]+(\.[0-9]+)?/{
+  vb = "$2";
+  nb = split(vb,b,"[.]");
+  va = "$1";
+  na = split(va,a,"[.]");
+  for (i = na + 1; i < 4; i++) {
+      a[i] = 0;
+  }
+  for (i = nb + 1; i < 4; i++) {
+      b[i] = 0;
+  }
+  for (i = 1; i <= 3; i++) {
+    if (b[i] < a[i]) {
+#      print "FAIL:" va ">" vb " at index:" i;
+        exit(1);
+    } else if (b[i] > a[i]) {
+#       print "OK:" va "<" vb " at index:" i;
+       exit(0);
+    }
+  }
+#  print "OK:" va "==" vb;
+  exit(0);
+}
+{
+  exit(1);
+}
+EOF
+  echo "$1 $2 " | awk -f /tmp/$$.awk
+  status=$?
+  rm /tmp/$$.awk
+  return $status
+}
+
+cd ${0%*/*}
+
+# make sure autoconf is up-to-date
+ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
+compare_versions 2.59 $ac_ver
+if test $? = 1; then
+    echo Min autoconf version is 2.59
+    exit 1
+fi
+
+# make sure automake is up-to-date
+am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
+compare_versions 1.9.2 $am_ver
+if test $? = 1; then
+    echo Min automake version is 1.9.2
+    exit 1
+fi
+
+# make sure libtool is up-to-date
+lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
+compare_versions 1.4.2 $lt_ver
+if test $? = 1; then
+    echo Min libtool version is 1.4.2
+    exit 1
+fi
+
+# cleanup
+find . \( -name Makefile.in -o -name aclocal.m4 -o -name autom4te.cache -o -name configure -o -name aclocal.m4 \) -exec \rm -rf {} \; -prune
+
+# handle our own autoconf:
+aclocal -I config 2>&1 |  grep -v "arning: underquoted definition of"
+automake --add-missing --gnu --copy --force
+autoconf
+
+# visit all sub directories with autogen.sh
+anyErr=0
+for a in `ls */autogen.sh`; do
+    echo Visiting $a
+    $a 2>&1 | sed 's/^/|/'
+    if test $? != 0; then
+        echo $a failed
+        anyErr=1
+    fi
+done
+
+exit $anyErr
diff --git a/config/install-sh b/config/install-sh
new file mode 100755
index 0000000..4d4a951
--- /dev/null
+++ b/config/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/config/missing b/config/missing
new file mode 100755
index 0000000..894e786
--- /dev/null
+++ b/config/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/config/osm.m4 b/config/osm.m4
new file mode 100644
index 0000000..da9ae81
--- /dev/null
+++ b/config/osm.m4
@@ -0,0 +1,204 @@
+
+dnl osm.m4: an autoconf for OpenSM (vendor and complib) reference
+dnl
+dnl
+dnl To use this macro, just do OPENIB_APP_OSM.
+dnl The following variables are defined:
+dnl with-osm - the osm installation prefix
+dnl OSM_CFLAGS - CFLAGS additions required (-I and debug )
+dnl OSM_LDFLAGS - a variable holding link directives
+dnl OSM_VENDOR - The type of vendor library available (ts, sim)
+dnl OSM_BUILD - The type of build used for buikding OpenSM either gen1 or openib
+dnl
+dnl Several conditionals are also defined:
+dnl OSM_BUILD_OPENIB - set when the build type is openib (gen2)
+dnl OSM_VENDOR_TS - should use gen1/gen2 API
+dnl OSM_VENDOR_SIM - interface a simulator vendor
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_osm has the value "no".
+
+AC_DEFUN([OPENIB_APP_OSM], [
+# --- BEGIN OPENIB_APP_OSM ---
+dnl To link against OpenSM Vendor or Complib, configure does several
+dnl things to make my life "easier".
+dnl
+dnl * if the user did define where opensm is look for it in "standard" places
+dnl * if can not be found - ask the user for --with-osm
+dnl * figure out if OpenSM was compiles in debug mode or not
+dnl
+dnl As we might have an OpenSM installation of IBGD or OpenIB and
+dnl different vendors too we need to use some heuristics for
+dnl figuring out the type of both STACK and VENDOR.
+dnl Heuristics is:
+dnl
+dnl If with_osm is not provided look fo it under:
+dnl   /usr/local/ibgd/apps/osm
+dnl   /usr/mellanox/osm
+dnl   /usr/mellanox/osm-sim
+dnl   /usr/local/lib/libopensm.a
+dnl   /usr/lib/libopensm.a
+dnl
+dnl Figure out what kind of BUILD it is gen1 or gen2:
+dnl if the with_osm/include/infiniband exists we are on gen2 stack
+dnl
+dnl Now decide what vendor was built:
+dnl if gen2 build
+dnl  if $with_osm/lib/osmvendor_gen1.so -> ts
+dnl  if $with_osm/lib/osmvendor_mtl.so -> mtl
+dnl  if $with_osm/lib/osmvendor_sim.so -> sim
+dnl  if $with_osm/lib/osmvendor.so -> openib
+dnl if gen1 build
+dnl  if $with_osm/lib/osmsvc_ts.so -> ts
+dnl  if $with_osm/lib/osmsvc_mtl.so -> mtl
+dnl  if $with_osm/lib/osmsvc_sim.so -> sim
+dnl ----------------------------------------------------------------
+
+dnl Define a way for the user to provide path to OpenSM
+AC_ARG_WITH(osm,
+[  --with-osm=<dir> define OSM prefix],
+AC_MSG_NOTICE(Using OSM from:$with_osm),
+with_osm="none")
+
+dnl Define a way for the user to provide path to OpenSM libs
+AC_ARG_WITH(osm-libs,
+[  --with-osm-libs=<dir> define where to find OSM libs],
+AC_MSG_NOTICE(Using OSM libs from:$with_osm_libs),
+with_osm_libs="none")
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+   dnl if the user did not provide --with-osm look for it in reasonable places
+   if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+      dnl if it is an ofed or gen2 install, we can use /etc/infiniband/info for searching opensm prefix
+      elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         AC_MSG_ERROR([OSM: --with-osm must be provided - fail to find standard OpenSM installation])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: used from $with_osm)
+
+   if test "x$with_osm_libs" = "xnone"; then
+   dnl if the user did not provide --with-osm-libs then look for it based on $with_osm
+      if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+   dnl check what build we have gen1 or gen2
+   if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   AC_MSG_NOTICE(OSM: build type $OSM_BUILD)
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+   dnl based on the with_osm dir and the libs available
+   dnl we can try and decide what vendor was used:
+   if test $OSM_BUILD = openib; then
+      dnl it is an OpenIB based build but can be any vendor too.
+      osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: vendor type $OSM_VENDOR)
+
+
+   dnl validate the defined path - so the build id header is there
+   AC_CHECK_FILE($osm_include_dir/opensm/osm_build_id.h,,
+      AC_MSG_ERROR([OSM: could not find $with_osm/include/opensm/osm_build_id.h]))
+
+   dnl now figure out somehow if the build was for debug or not
+   if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+      dnl why did they need so many ???
+      osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      AC_MSG_NOTICE(OSM: compiled in DEBUG mode)
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+   dnl dummy values
+   with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+AM_CONDITIONAL(OSM_VENDOR_TS, test "x$OSM_VENDOR" = xts)
+AM_CONDITIONAL(OSM_VENDOR_MTL, test "x$OSM_VENDOR" = xmtl)
+AM_CONDITIONAL(OSM_VENDOR_SIM, test "x$OSM_VENDOR" = xsim)
+AM_CONDITIONAL(OSM_BUILD_OPENIB, test "x$OSM_BUILD" = xopenib)
+
+AC_SUBST(with_osm)
+AC_SUBST(OSM_CFLAGS)
+AC_SUBST(OSM_LDFLAGS)
+AC_SUBST(OSM_VENDOR)
+AC_SUBST(OSM_BUILD)
+
+# --- OPENIB_APP_OSM ---
+]) dnl OPENIB_APP_OSM
+
diff --git a/config/swig.m4 b/config/swig.m4
new file mode 100644
index 0000000..ba895e6
--- /dev/null
+++ b/config/swig.m4
@@ -0,0 +1,93 @@
+dnl This macro checks for the existance of swig and defines the
+dnl corresponding SWIG variable.
+dnl
+dnl Synopsys:
+dnl    MLX_PROG_SWIG(maj.min.patch, eq|lt)
+dnl The second parameter defines the required relation of the found version
+dnl to the requested version:
+dnl lt - the found version required to be newer or equal to the maj.min.patch
+dnl eq - the found version required to be equal to the maj.min.patch
+dnl
+dnl Result:
+dnl    HAS_SWIG conditional - set to 1 if swig was found or 0 if not
+dnl    SWIG - the executable name
+dnl
+AC_DEFUN([MLX_PROG_SWIG],[
+   AC_PATH_PROG([SWIG],[swig])
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "$1" ; then
+      AC_MSG_CHECKING([for SWIG version])
+      [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+      AC_MSG_RESULT([$swig_version])
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         [required=$1]
+         [required_major=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_major" ; then
+            [required_major=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_minor=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_minor" ; then
+            [required_minor=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_patch=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_patch" ; then
+            [required_patch=0]
+         fi
+         # Calculate the available version number components
+         [available=`echo $swig_version | sed 's/[^0-9]*//'`]
+         [available_major=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_major" ; then
+            [available_major=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_minor=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_minor" ; then
+            [available_minor=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `]
+         if test -z "$available_patch" ; then
+            [available_patch=0]
+         fi
+         # we have two modes of comparison...
+         if test x"$2" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               AC_MSG_WARN([SWIG version == $1 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org ])
+               SWIG='echo "Error: SWIG version == $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.  You should look at http://www.swig.org])
+               SWIG='echo "Error: SWIG version >= $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         AC_MSG_WARN([cannot determine SWIG version])
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+        dnl AC_MSG_INFO([SWIG executable is '$SWIG'])
+        SWIG_LIB=`$SWIG -swiglib`
+        dnl AC_MSG_INFO([SWIG runtime library directory is '$SWIG_LIB'])
+        AM_CONDITIONAL(HAS_SWIG,[test 1])
+   else
+        AM_CONDITIONAL(HAS_SWIG,[test 0])
+   fi
+   AC_SUBST([SWIG_LIB])
+])
diff --git a/config/tcl.m4 b/config/tcl.m4
new file mode 100644
index 0000000..1565d25
--- /dev/null
+++ b/config/tcl.m4
@@ -0,0 +1,191 @@
+
+dnl tcl.m4: an autoconf Tcl locator
+dnl
+dnl
+dnl BUGS
+dnl   The command-line arguments are overcomplicated.
+dnl   There are doubtlessly others...
+
+dnl To use this macro, just do MLX_LANG_TCL.  It outputs
+dnl TCL_LIBS, TCL_CPPFLAGS, and TCL_DEFS and SUBSTs them.
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_tcl has the value "no".
+
+AC_DEFUN([MLX_LANG_TCL], [
+# --- BEGIN MLX_LANG_TCL ---
+dnl To link against Tcl, configure does several things to make my life
+dnl "easier".
+dnl
+dnl * maybe ask the user where they think Tcl lives, and try to find it
+dnl * maybe ask the user what "tclsh" is called this week (i.e., "tclsh8.0")
+dnl * run tclsh, ask it for a path, then run that path through sed
+dnl * sanity check its result (many installs are a little broken)
+dnl * try to figure out where Tcl is based on this result
+dnl * try to guess where the Tcl include files are
+dnl
+dnl Notes from previous incarnations:
+dnl > XXX MUST CHECK FOR TCL BEFORE KERBEROS V4 XXX
+dnl > This is because some genius at MIT named one of the Kerberos v4
+dnl > library functions log().  This of course conflicts with the
+dnl > logarithm function in the standard math library, used by Tcl.
+dnl
+dnl > Checking for Tcl first puts -lm before -lkrb on the library list.
+dnl
+
+dnl do not do anything if we are in disabled libcheck mode...
+if test "x$libcheck" = "xtrue"; then
+
+   dnl Check for some information from the user on what the world looks like
+   AC_ARG_WITH(tclconfig,[  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)],
+           dnl trim tclConfig.sh off the end so we can add it back on later.
+   	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`)
+   AC_ARG_WITH(tcl,      [  --with-tcl=PATH         use Tcl from PATH],
+   	TclLibBase="${withval}/lib")
+   AC_ARG_WITH(tclsh,    [  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)],
+   	TCLSH="${withval}")
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     AC_MSG_WARN([Tcl disabled because tclsh or tclconfig specified as "no"])
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       AC_MSG_ERROR([--with-tclconfig requires a directory argument.])
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       AC_MSG_ERROR([--with-tclsh must specify an executable file.])
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         AC_PATH_PROGS(TCLSH, [tclsh tclsh8.3 tclsh8.4], "unknown")
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         AC_MSG_CHECKING([where Tcl says it lives])
+         dnl to avoid .tclshrc issues use from a file...
+         echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,[^/]*$,,'`
+         rm /tmp/tcl.conf.$$
+          AC_MSG_RESULT($TclLibBase)
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       AC_MSG_RESULT([can't find tclsh])
+       AC_MSG_WARN([can't find Tcl installtion; use of Tcl disabled.])
+       with_tcl=no
+     else
+       AC_MSG_CHECKING([for tclConfig.sh])
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         AC_MSG_RESULT("unknown")
+         AC_MSG_WARN([can't find Tcl configuration; use of Tcl disabled.])
+         with_tcl=no
+       else
+         AC_MSG_RESULT(${TclLibBase}/)
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         AC_MSG_CHECKING([Tcl configuration on what Tcl needs to compile])
+         . ${TclLibBase}/tclConfig.sh
+         AC_MSG_RESULT(ok)
+         dnl no TK stuff for us.
+         dnl . ${TclLibBase}/tkConfig.sh
+       fi
+
+       dnl We hack the provided TCL_LIB_SPEC since it is using the /usr/lib even
+       dnl if the build was using lib64
+       if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         dnl Now, hunt for the Tcl include files, since we don't strictly
+         dnl know where they are; some folks put them (properly) in the
+         dnl default include path, or maybe in /usr/local; the *BSD folks
+         dnl put them in other places.
+         AC_MSG_CHECKING([where Tcl includes are])
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           AC_MSG_WARN(can't find Tcl includes; use of Tcl disabled.)
+           with_tcl=no
+         fi
+         AC_MSG_RESULT(${TCL_CPPFLAGS})
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+         dnl TCL_LIBS="${TK_LIB_SPEC} ${TK_XLIBSW} ${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC}"
+         dnl we are using libtool so need to convert to -rpath if at all
+         TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+         dnl sometimes we got empty libs: use TCL_LIB_FILE
+         if test X"$TCL_LIBS" = X; then
+           dnl extract the lib style name...
+           TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([[^ \t]]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+         dnl sometimes we got empty libs: use TCL_LIB_SPEC
+         if test X"$TCL_LIB_SPEC" = X; then
+           dnl extract the lib style name...
+           TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+         dnl Filter out the ieee - I do not see a shared version for it.
+         TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+dnl disbled libcheck mode - we do not need anything...
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+AC_SUBST(TCL_DEFS)
+AC_SUBST(TCL_LIBS)
+AC_SUBST(TCL_CPPFLAGS)
+AC_SUBST(TCL_PREFIX)
+
+# --- END MLX_LANG_TCL ---
+]) dnl MLX_LANG_TCL
+
diff --git a/configure b/configure
new file mode 100755
index 0000000..4a3c3e6
--- /dev/null
+++ b/configure
@@ -0,0 +1,3211 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for ibutils 1.2.
+#
+# Report bugs to <openib-general at openib.org>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='ibutils'
+PACKAGE_TARNAME='ibutils'
+PACKAGE_VERSION='1.2'
+PACKAGE_STRING='ibutils 1.2'
+PACKAGE_BUGREPORT='openib-general at openib.org'
+
+ac_subdirs_all="$ac_subdirs_all ibis ibdm ibdiag"
+ac_subdirs_all="$ac_subdirs_all ibmgtsim"
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INS [...]
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+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 ibutils 1.2 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of ibutils 1.2:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --enable-debug    Turn on debugging
+  --enable-libcheck    Enable Dependency Checking
+  --enable-ibmgtsim    Build ibmgtsim
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-osm=<dir> define OSM prefix
+  --with-osm-libs=<dir> define where to find OSM libs
+
+Report bugs to <openib-general at openib.org>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+ibutils configure 1.2
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ibutils $as_me 1.2, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='ibutils'
+ VERSION='1.2'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  debug=false
+fi;
+
+# Check whether --enable-libcheck or --disable-libcheck was given.
+if test "${enable_libcheck+set}" = set; then
+  enableval="$enable_libcheck"
+  case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libcheck" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-libcheck" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  libcheck=true
+fi;
+
+
+# --- BEGIN OPENIB_APP_OSM ---
+
+
+# Check whether --with-osm or --without-osm was given.
+if test "${with_osm+set}" = set; then
+  withval="$with_osm"
+  { echo "$as_me:$LINENO: Using OSM from:$with_osm" >&5
+echo "$as_me: Using OSM from:$with_osm" >&6;}
+else
+  with_osm="none"
+fi;
+
+
+# Check whether --with-osm-libs or --without-osm-libs was given.
+if test "${with_osm_libs+set}" = set; then
+  withval="$with_osm_libs"
+  { echo "$as_me:$LINENO: Using OSM libs from:$with_osm_libs" >&5
+echo "$as_me: Using OSM libs from:$with_osm_libs" >&6;}
+else
+  with_osm_libs="none"
+fi;
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+      if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+            elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         { { echo "$as_me:$LINENO: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&5
+echo "$as_me: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: used from $with_osm" >&5
+echo "$as_me: OSM: used from $with_osm" >&6;}
+
+   if test "x$with_osm_libs" = "xnone"; then
+         if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+      if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   { echo "$as_me:$LINENO: OSM: build type $OSM_BUILD" >&5
+echo "$as_me: OSM: build type $OSM_BUILD" >&6;}
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+         if test $OSM_BUILD = openib; then
+            osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: vendor type $OSM_VENDOR" >&5
+echo "$as_me: OSM: vendor type $OSM_VENDOR" >&6;}
+
+
+      as_ac_File=`echo "ac_cv_file_$osm_include_dir/opensm/osm_build_id.h" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $osm_include_dir/opensm/osm_build_id.h" >&5
+echo $ECHO_N "checking for $osm_include_dir/opensm/osm_build_id.h... $ECHO_C" >&6
+if eval "test \"\${$as_ac_File+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  test "$cross_compiling" = yes &&
+  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+   { (exit 1); exit 1; }; }
+if test -r "$osm_include_dir/opensm/osm_build_id.h"; then
+  eval "$as_ac_File=yes"
+else
+  eval "$as_ac_File=no"
+fi
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+if test `eval echo '${'$as_ac_File'}'` = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&5
+echo "$as_me: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+      if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+            osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      { echo "$as_me:$LINENO: OSM: compiled in DEBUG mode" >&5
+echo "$as_me: OSM: compiled in DEBUG mode" >&6;}
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+      with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+
+
+if test "x$OSM_VENDOR" = xts; then
+  OSM_VENDOR_TS_TRUE=
+  OSM_VENDOR_TS_FALSE='#'
+else
+  OSM_VENDOR_TS_TRUE='#'
+  OSM_VENDOR_TS_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xmtl; then
+  OSM_VENDOR_MTL_TRUE=
+  OSM_VENDOR_MTL_FALSE='#'
+else
+  OSM_VENDOR_MTL_TRUE='#'
+  OSM_VENDOR_MTL_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xsim; then
+  OSM_VENDOR_SIM_TRUE=
+  OSM_VENDOR_SIM_FALSE='#'
+else
+  OSM_VENDOR_SIM_TRUE='#'
+  OSM_VENDOR_SIM_FALSE=
+fi
+
+
+
+if test "x$OSM_BUILD" = xopenib; then
+  OSM_BUILD_OPENIB_TRUE=
+  OSM_BUILD_OPENIB_FALSE='#'
+else
+  OSM_BUILD_OPENIB_TRUE='#'
+  OSM_BUILD_OPENIB_FALSE=
+fi
+
+
+
+
+
+
+
+
+# --- OPENIB_APP_OSM ---
+
+
+
+
+subdirs="$subdirs ibis ibdm ibdiag"
+
+
+# Check whether --enable-ibmgtsim or --disable-ibmgtsim was given.
+if test "${enable_ibmgtsim+set}" = set; then
+  enableval="$enable_ibmgtsim"
+  case "${enableval}" in
+  yes) ibmgtsim=true ;;
+  no)  ibmgtsim=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-ibmgtsim" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-ibmgtsim" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  ibmgtsim=false
+fi;
+
+
+if test "x$ibmgtsim" != xfalse; then
+  BUILD_IBMGTSIM_TRUE=
+  BUILD_IBMGTSIM_FALSE='#'
+else
+  BUILD_IBMGTSIM_TRUE='#'
+  BUILD_IBMGTSIM_FALSE=
+fi
+
+
+abs_srcdir=`cd ${0%*/*};pwd`
+
+if test $ibmgtsim = true; then
+ac_configure_args="$ac_configure_args --with-ibdm=$abs_srcdir/ibdm"
+
+
+subdirs="$subdirs ibmgtsim"
+
+fi
+
+          ac_config_files="$ac_config_files ibutils.spec"
+
+          ac_config_files="$ac_config_files Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output.  A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_TS_TRUE}" && test -z "${OSM_VENDOR_TS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_MTL_TRUE}" && test -z "${OSM_VENDOR_MTL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_SIM_TRUE}" && test -z "${OSM_VENDOR_SIM_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_BUILD_OPENIB_TRUE}" && test -z "${OSM_BUILD_OPENIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_IBMGTSIM_TRUE}" && test -z "${BUILD_IBMGTSIM_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_IBMGTSIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_IBMGTSIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by ibutils $as_me 1.2, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+ibutils config.status 1.2
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "ibutils.spec" ) CONFIG_FILES="$CONFIG_FILES ibutils.spec" ;;
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at OSM_VENDOR_TS_TRUE@,$OSM_VENDOR_TS_TRUE,;t t
+s, at OSM_VENDOR_TS_FALSE@,$OSM_VENDOR_TS_FALSE,;t t
+s, at OSM_VENDOR_MTL_TRUE@,$OSM_VENDOR_MTL_TRUE,;t t
+s, at OSM_VENDOR_MTL_FALSE@,$OSM_VENDOR_MTL_FALSE,;t t
+s, at OSM_VENDOR_SIM_TRUE@,$OSM_VENDOR_SIM_TRUE,;t t
+s, at OSM_VENDOR_SIM_FALSE@,$OSM_VENDOR_SIM_FALSE,;t t
+s, at OSM_BUILD_OPENIB_TRUE@,$OSM_BUILD_OPENIB_TRUE,;t t
+s, at OSM_BUILD_OPENIB_FALSE@,$OSM_BUILD_OPENIB_FALSE,;t t
+s, at with_osm@,$with_osm,;t t
+s, at OSM_CFLAGS@,$OSM_CFLAGS,;t t
+s, at OSM_LDFLAGS@,$OSM_LDFLAGS,;t t
+s, at OSM_VENDOR@,$OSM_VENDOR,;t t
+s, at OSM_BUILD@,$OSM_BUILD,;t t
+s, at subdirs@,$subdirs,;t t
+s, at BUILD_IBMGTSIM_TRUE@,$BUILD_IBMGTSIM_TRUE,;t t
+s, at BUILD_IBMGTSIM_FALSE@,$BUILD_IBMGTSIM_FALSE,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+#
+# CONFIG_SUBDIRS section.
+#
+if test "$no_recursion" != yes; then
+
+  # Remove --cache-file and --srcdir arguments so they do not pile up.
+  ac_sub_configure_args=
+  ac_prev=
+  for ac_arg in $ac_configure_args; do
+    if test -n "$ac_prev"; then
+      ac_prev=
+      continue
+    fi
+    case $ac_arg in
+    -cache-file | --cache-file | --cache-fil | --cache-fi \
+    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+      ac_prev=cache_file ;;
+    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
+    | --c=*)
+      ;;
+    --config-cache | -C)
+      ;;
+    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+      ac_prev=srcdir ;;
+    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+      ;;
+    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+      ac_prev=prefix ;;
+    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+      ;;
+    *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+    esac
+  done
+
+  # Always prepend --prefix to ensure using the same prefix
+  # in subdir configurations.
+  ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args"
+
+  ac_popdir=`pwd`
+  for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
+
+    # Do not complain, so a configure script can configure whichever
+    # parts of a large source tree are present.
+    test -d $srcdir/$ac_dir || continue
+
+    { echo "$as_me:$LINENO: configuring in $ac_dir" >&5
+echo "$as_me: configuring in $ac_dir" >&6;}
+    { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+    cd $ac_dir
+
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
+    elif test -f $ac_srcdir/configure; then
+      ac_sub_configure="$SHELL '$ac_srcdir/configure'"
+    elif test -f $ac_srcdir/configure.in; then
+      ac_sub_configure=$ac_configure
+    else
+      { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
+echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
+      ac_sub_configure=
+    fi
+
+    # The recursion is here.
+    if test -n "$ac_sub_configure"; then
+      # Make the cache file name correct relative to the subdirectory.
+      case $cache_file in
+      [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
+      *) # Relative path.
+	ac_sub_cache_file=$ac_top_builddir$cache_file ;;
+      esac
+
+      { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+      # The eval makes quoting arguments work.
+      eval $ac_sub_configure $ac_sub_configure_args \
+	   --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir ||
+	{ { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
+echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+    cd "$ac_popdir"
+  done
+fi
+
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..aa58218
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,66 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT([ibutils], [1.2], [openib-general at openib.org])
+dnl use local config dir for extras
+AC_CONFIG_AUX_DIR(config)
+
+dnl Auto make
+AM_INIT_AUTOMAKE( [foreign ] )
+
+dnl Defines the Language
+AC_LANG_C
+
+dnl Provides control over re-making of all auto files
+dnl We also use it to define swig dependencies so end
+dnl users do not see them.
+AM_MAINTAINER_MODE
+
+dnl Required for cases make defines a MAKE=make ??? Why
+AC_PROG_MAKE_SET
+
+dnl Define an input config option to control debug compile
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=false])
+
+dnl For making dist we need not check any lib dependency
+AC_ARG_ENABLE(libcheck,
+[  --enable-libcheck    Enable Dependency Checking],
+[case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;;
+esac],[libcheck=true])
+
+dnl find OpenSM and umad
+OPENIB_APP_OSM
+
+dnl Configure the following subdirs
+AC_CONFIG_SUBDIRS(ibis ibdm ibdiag)
+
+AC_ARG_ENABLE(ibmgtsim,
+[  --enable-ibmgtsim    Build ibmgtsim],
+[case "${enableval}" in
+  yes) ibmgtsim=true ;;
+  no)  ibmgtsim=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-ibmgtsim) ;;
+esac],[ibmgtsim=false])
+AM_CONDITIONAL([BUILD_IBMGTSIM], [test "x$ibmgtsim" != xfalse])
+
+dnl we need a non relative srcdir:
+abs_srcdir=`cd ${0%*/*};pwd`
+
+if test $ibmgtsim = true; then
+dnl we need to pass down the local dir as the directory to take ibdm from
+ac_configure_args=["$ac_configure_args --with-ibdm=$abs_srcdir/ibdm"]
+AC_CONFIG_SUBDIRS(ibmgtsim)
+fi
+
+AC_CONFIG_FILES([ibutils.spec])
+dnl Create the following Makefiles
+AC_OUTPUT(Makefile)
+
diff --git a/ibdiag/Makefile b/ibdiag/Makefile
new file mode 100644
index 0000000..a950670
--- /dev/null
+++ b/ibdiag/Makefile
@@ -0,0 +1,586 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/ibdiag
+pkglibdir = $(libdir)/ibdiag
+pkgincludedir = $(includedir)/ibdiag
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(top_srcdir)/configure \
+	config/config.guess config/config.sub config/install-sh \
+	config/ltmain.sh config/missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run tar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run automake-1.9
+AWK = mawk
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"ibdiag\" -DPACKAGE_TARNAME=\"ibdiag\" -DPACKAGE_VERSION=\"1.2\" -DPACKAGE_STRING=\"ibdiag\ 1.2\" -DPACKAGE_BUGREPORT=\"openib-general at openib.org\" -DPACKAGE=\"ibdiag\" -DVERSION=\"1.2\" 
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LIBOBJS = 
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run makeinfo
+PACKAGE = ibdiag
+PACKAGE_BUGREPORT = openib-general at openib.org
+PACKAGE_NAME = ibdiag
+PACKAGE_STRING = ibdiag 1.2
+PACKAGE_TARNAME = ibdiag
+PACKAGE_VERSION = 1.2
+PATH_SEPARATOR = :
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 1.2
+ac_ct_STRIP = 
+am__leading_dot = .
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = i486-linux-gnu
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_graphviz_lib = /usr/lib/graphbiz/tcl
+with_ibdm_lib = none
+with_ibis = none
+with_tk_lib = /usr/lib
+
+# note that order matters: make the lib first then use it
+SUBDIRS = src doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+	dist-tarZ dist-zip distcheck distclean distclean-generic \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/Makefile.am b/ibdiag/Makefile.am
new file mode 100644
index 0000000..f57d4b6
--- /dev/null
+++ b/ibdiag/Makefile.am
@@ -0,0 +1,43 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+
+# note that order matters: make the lib first then use it
+SUBDIRS 		= src doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+
+ACLOCAL			= aclocal -I $(ac_aux_dir)
diff --git a/ibdiag/Makefile.in b/ibdiag/Makefile.in
new file mode 100644
index 0000000..c9f721c
--- /dev/null
+++ b/ibdiag/Makefile.in
@@ -0,0 +1,586 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(top_srcdir)/configure \
+	config/config.guess config/config.sub config/install-sh \
+	config/ltmain.sh config/missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_graphviz_lib = @with_graphviz_lib@
+with_ibdm_lib = @with_ibdm_lib@
+with_ibis = @with_ibis@
+with_tk_lib = @with_tk_lib@
+
+# note that order matters: make the lib first then use it
+SUBDIRS = src doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+	dist-tarZ dist-zip distcheck distclean distclean-generic \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/aclocal.m4 b/ibdiag/aclocal.m4
new file mode 100644
index 0000000..ed7eb5e
--- /dev/null
+++ b/ibdiag/aclocal.m4
@@ -0,0 +1,607 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/graphviz.m4])
+m4_include([config/ibdm.m4])
+m4_include([config/ibis.m4])
+m4_include([config/tk.m4])
diff --git a/ibdiag/autogen.sh b/ibdiag/autogen.sh
new file mode 100755
index 0000000..642cdc8
--- /dev/null
+++ b/ibdiag/autogen.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+# get two strings of version numbers
+# parse the two strings and compare
+function compare_versions() {
+   cat <<EOF > /tmp/$$.awk
+/[0-9]+\.[0-9]+(\.[0-9]+)?[    ]+[0-9]+\.[0-9]+(\.[0-9]+)?/{
+  vb = "$2";
+  nb = split(vb,b,"[.]");
+  va = "$1";
+  na = split(va,a,"[.]");
+  for (i = na + 1; i < 4; i++) {
+      a[i] = 0;
+  }
+  for (i = nb + 1; i < 4; i++) {
+      b[i] = 0;
+  }
+  for (i = 1; i <= 3; i++) {
+    if (b[i] < a[i]) {
+#      print "FAIL:" va ">" vb " at index:" i;
+        exit(1);
+    } else if (b[i] > a[i]) {
+#       print "OK:" va "<" vb " at index:" i;
+       exit(0);
+    }
+  }
+#  print "OK:" va "==" vb;
+  exit(0);
+}
+{
+  exit(1);
+}
+EOF
+  echo "$1 $2 " | awk -f /tmp/$$.awk
+  status=$?
+  rm /tmp/$$.awk
+  return $status
+}
+
+
+# We change dir since the later utilities assume to work in the project dir
+cd ${0%*/*}
+# remove previous
+\rm -rf autom4te.cache
+\rm -rf aclocal.m4
+# make sure autoconf is up-to-date
+ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
+compare_versions 2.59 $ac_ver
+if test $? = 1; then
+    echo Min autoconf version is 2.59
+    exit 1
+fi
+
+# make sure automake is up-to-date
+am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
+compare_versions 1.9.2 $am_ver
+if test $? = 1; then
+    echo Min automake version is 1.9.2
+    exit 1
+fi
+
+# make sure libtool is up-to-date
+lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
+compare_versions 1.4.2 $lt_ver
+if test $? = 1; then
+    echo Min libtool version is 1.4.2
+    exit 1
+fi
+
+aclocal -I config 2>&1 | grep -v "warning: underquoted definition "
+libtoolize --automake --copy
+automake --add-missing --gnu --copy
+autoconf
diff --git a/ibdiag/config/config.guess b/ibdiag/config/config.guess
new file mode 100755
index 0000000..ad5281e
--- /dev/null
+++ b/ibdiag/config/config.guess
@@ -0,0 +1,1466 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-08-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per at bothner.com>.
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibdiag/config/config.sub b/ibdiag/config/config.sub
new file mode 100755
index 0000000..1c366df
--- /dev/null
+++ b/ibdiag/config/config.sub
@@ -0,0 +1,1579 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibdiag/config/graphviz.m4 b/ibdiag/config/graphviz.m4
new file mode 100644
index 0000000..1e43756
--- /dev/null
+++ b/ibdiag/config/graphviz.m4
@@ -0,0 +1,37 @@
+dnl This macro checks for the existance of Graphviz libs
+dnl
+dnl Synopsys:
+dnl    SET_GRAPHVIZ_LIBS()
+dnl
+dnl Result:
+dnl    graphviz_lib - points to the directory holding the lib
+dnl
+AC_DEFUN([SET_GRAPHVIZ_LIBS],[
+
+dnl Define a way for the user to provide the path
+AC_ARG_WITH(graphviz-lib,
+[  --with-graphviz-lib=<dir> define directory which holds the graphviz lib installation],
+AC_MSG_NOTICE(GRAPHVIZ: given path:$with_graphviz_lib),
+with_graphviz_lib="none")
+
+dnl if we were not given a path - try finding one:
+if test "x$with_graphviz_lib" = "xnone"; then
+   dirs="/usr /usr/local /usr/local/ibgd /usr/local/ibg2 /usr/local/ibed /usr/local/ofed"
+   for d in $dirs; do
+     if test -e $d/lib/graphviz/tcl/libtcldot.so; then
+        with_graphviz_lib=$d/lib
+        AC_MSG_NOTICE(GRAPHVIZ: found in:$with_graphviz_lib)
+     fi
+     if test -e $d/lib64/graphviz/tcl/libtcldot.so; then
+        with_graphviz_lib=$d/lib64
+        AC_MSG_NOTICE(GRAPHVIZ: found in:$with_graphviz_lib)
+     fi
+   done
+fi
+
+if test "x$with_graphviz_lib" = "xnone"; then
+	AC_MSG_WARN(GRAPHVIZ: failed to find graphviz/tcl/libtcldot.so lib. Please use --with-graphviz-lib or else ibdiagui will not run properly)
+fi
+
+AC_SUBST(with_graphviz_lib)
+])
diff --git a/ibdiag/config/ibdm.m4 b/ibdiag/config/ibdm.m4
new file mode 100644
index 0000000..5f35d77
--- /dev/null
+++ b/ibdiag/config/ibdm.m4
@@ -0,0 +1,37 @@
+dnl This macro checks for the existance of ibdm library and defines the
+dnl corresponding path variable
+dnl
+dnl Synopsys:
+dnl    CHECK_IBDM_TCLLIB()
+dnl
+dnl Result:
+dnl    IBDM_TCLLIB - points to the directory holding the ibdmX.Y library
+dnl
+AC_DEFUN([CHECK_IBDM_TCLLIB],[
+
+dnl Define a way for the user to provide the path
+AC_ARG_WITH(ibdm-lib,
+[  --with-ibdm-lib=<dir> define where to find IBDM TCL library],
+AC_MSG_NOTICE(IBDM: given path:$with_ibdm_lib),
+with_ibdm_lib="none")
+
+dnl if we were not given a path - try finding one:
+if test "x$with_ibdm_lib" = xnone; then
+   dirs="/usr/lib /usr/local/lib /usr/local/ibgd/lib /usr/local/ibg2/lib /usr/local/ibed/lib /usr/local/ofed/lib"
+   for d in $dirs; do
+     if test -d $d/ibdm1.0; then
+        with_ibdm_lib=$d
+        AC_MSG_NOTICE(IBDM: found in:$with_ibdm_lib)
+     fi
+   done
+   for d in $dirs; do
+     if test -d ${d}64/ibdm1.0; then
+        with_ibdm_lib=${d}64
+        AC_MSG_NOTICE(IBDM: found in:$with_ibdm_lib)
+     fi
+   done
+fi
+
+AC_MSG_NOTICE(IBDM: using TCL lib from:$with_ibdm_lib)
+AC_SUBST(with_ibdm_lib)
+])
diff --git a/ibdiag/config/ibis.m4 b/ibdiag/config/ibis.m4
new file mode 100644
index 0000000..c3ac279
--- /dev/null
+++ b/ibdiag/config/ibis.m4
@@ -0,0 +1,31 @@
+dnl This macro checks for the existance of ibis executable and defines the
+dnl corresponding path variable
+dnl
+dnl Synopsys:
+dnl    CHECK_IBIS_EXEC_DIR()
+dnl
+dnl Result:
+dnl    IBIS_EXEC_DIR - points to the directory holding the ibis executable
+dnl
+AC_DEFUN([CHECK_IBIS_EXEC_DIR],[
+
+dnl Define a way for the user to provide the path
+AC_ARG_WITH(ibis,
+[  --with-ibis=<dir> define directory which holds the ibis executable],
+AC_MSG_NOTICE(IBIS: given path:$with_ibis),
+with_ibis="none")
+
+dnl if we were not given a path - try finding one:
+if test "x$with_ibis" = "xnone"; then
+   dirs="/usr/bin /usr/local/bin /usr/local/ibgd/bin /usr/local/ibg2/bin /usr/local/ibed/bin /usr/local/ofed/bin"
+   for d in $dirs; do
+     if test -e $d/ibis; then
+        with_ibis=$d
+        AC_MSG_NOTICE(IBIS: found in:$with_ibis)
+     fi
+   done
+fi
+
+AC_MSG_NOTICE(IBIS: using ibis executable from:$with_ibis)
+AC_SUBST(with_ibis)
+])
diff --git a/ibdiag/config/install-sh b/ibdiag/config/install-sh
new file mode 100755
index 0000000..4d4a951
--- /dev/null
+++ b/ibdiag/config/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdiag/config/ltmain.sh b/ibdiag/config/ltmain.sh
new file mode 100644
index 0000000..8fc56db
--- /dev/null
+++ b/ibdiag/config/ltmain.sh
@@ -0,0 +1,6871 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/ibdiag/config/missing b/ibdiag/config/missing
new file mode 100755
index 0000000..894e786
--- /dev/null
+++ b/ibdiag/config/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdiag/config/tk.m4 b/ibdiag/config/tk.m4
new file mode 100644
index 0000000..91ff1cb
--- /dev/null
+++ b/ibdiag/config/tk.m4
@@ -0,0 +1,37 @@
+dnl This macro checks for the existance of tk8.4 or tk8.5 libs
+dnl
+dnl Synopsys:
+dnl    SET_TK_LIBS()
+dnl
+dnl Result:
+dnl    tk_lib - points to the directory holding the tk lib
+dnl
+AC_DEFUN([SET_TK_LIBS],[
+
+dnl Define a way for the user to provide the path
+AC_ARG_WITH(tk-lib,
+[  --with-tk-lib=<dir> define directory which holds the tk lib installation],
+AC_MSG_NOTICE(TK: given path:$with_tk_lib),
+with_tk_lib="none")
+
+dnl if we were not given a path - try finding one:
+if test "x$with_tk_lib" = "xnone"; then
+   dirs="/usr /usr/local /usr/local/ibgd /usr/local/ibg2 /usr/local/ibed /usr/local/ofed"
+   for d in $dirs; do
+     if test -e $d/lib/libtk8.4.so -o -e $d/lib/libtk8.5.so; then
+        with_tk_lib=$d/lib
+        AC_MSG_NOTICE(TK: found in:$with_tk_lib)
+     fi
+     if test -e $d/lib64/libtk8.4.so -o -e $d/lib64/libtk8.5.so; then
+        with_tk_lib=$d/lib64
+        AC_MSG_NOTICE(TK: found in:$with_tk_lib)
+     fi
+   done
+fi
+
+if test "x$with_tk_lib" = "xnone"; then
+	AC_MSG_ERROR(TK: failed to find tk8.4 or tk8.5 lib. Please use --with-tk-lib)
+fi
+
+AC_SUBST(with_tk_lib)
+])
diff --git a/ibdiag/configure b/ibdiag/configure
new file mode 100755
index 0000000..d550e56
--- /dev/null
+++ b/ibdiag/configure
@@ -0,0 +1,2961 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for ibdiag 1.2.
+#
+# Report bugs to <openib-general at openib.org>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='ibdiag'
+PACKAGE_TARNAME='ibdiag'
+PACKAGE_VERSION='1.2'
+PACKAGE_STRING='ibdiag 1.2'
+PACKAGE_BUGREPORT='openib-general at openib.org'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INS [...]
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+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 ibdiag 1.2 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of ibdiag 1.2:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --enable-libcheck    Enable Dependency Checking
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-ibis=<dir> define directory which holds the ibis executable
+  --with-ibdm-lib=<dir> define where to find IBDM TCL library
+  --with-tk-lib=<dir> define directory which holds the tk lib installation
+  --with-graphviz-lib=<dir> define directory which holds the graphviz lib installation
+
+Report bugs to <openib-general at openib.org>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+ibdiag configure 1.2
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ibdiag $as_me 1.2, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='ibdiag'
+ VERSION='1.2'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Check whether --enable-libcheck or --disable-libcheck was given.
+if test "${enable_libcheck+set}" = set; then
+  enableval="$enable_libcheck"
+  case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libcheck" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-libcheck" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  libcheck=true
+fi;
+
+if test $libcheck = true; then
+
+
+
+# Check whether --with-ibis or --without-ibis was given.
+if test "${with_ibis+set}" = set; then
+  withval="$with_ibis"
+  { echo "$as_me:$LINENO: IBIS: given path:$with_ibis" >&5
+echo "$as_me: IBIS: given path:$with_ibis" >&6;}
+else
+  with_ibis="none"
+fi;
+
+if test "x$with_ibis" = "xnone"; then
+   dirs="/usr/bin /usr/local/bin /usr/local/ibgd/bin /usr/local/ibg2/bin /usr/local/ibed/bin /usr/local/ofed/bin"
+   for d in $dirs; do
+     if test -e $d/ibis; then
+        with_ibis=$d
+        { echo "$as_me:$LINENO: IBIS: found in:$with_ibis" >&5
+echo "$as_me: IBIS: found in:$with_ibis" >&6;}
+     fi
+   done
+fi
+
+{ echo "$as_me:$LINENO: IBIS: using ibis executable from:$with_ibis" >&5
+echo "$as_me: IBIS: using ibis executable from:$with_ibis" >&6;}
+
+
+
+
+
+# Check whether --with-ibdm-lib or --without-ibdm-lib was given.
+if test "${with_ibdm_lib+set}" = set; then
+  withval="$with_ibdm_lib"
+  { echo "$as_me:$LINENO: IBDM: given path:$with_ibdm_lib" >&5
+echo "$as_me: IBDM: given path:$with_ibdm_lib" >&6;}
+else
+  with_ibdm_lib="none"
+fi;
+
+if test "x$with_ibdm_lib" = xnone; then
+   dirs="/usr/lib /usr/local/lib /usr/local/ibgd/lib /usr/local/ibg2/lib /usr/local/ibed/lib /usr/local/ofed/lib"
+   for d in $dirs; do
+     if test -d $d/ibdm1.0; then
+        with_ibdm_lib=$d
+        { echo "$as_me:$LINENO: IBDM: found in:$with_ibdm_lib" >&5
+echo "$as_me: IBDM: found in:$with_ibdm_lib" >&6;}
+     fi
+   done
+   for d in $dirs; do
+     if test -d ${d}64/ibdm1.0; then
+        with_ibdm_lib=${d}64
+        { echo "$as_me:$LINENO: IBDM: found in:$with_ibdm_lib" >&5
+echo "$as_me: IBDM: found in:$with_ibdm_lib" >&6;}
+     fi
+   done
+fi
+
+{ echo "$as_me:$LINENO: IBDM: using TCL lib from:$with_ibdm_lib" >&5
+echo "$as_me: IBDM: using TCL lib from:$with_ibdm_lib" >&6;}
+
+
+
+
+
+# Check whether --with-tk-lib or --without-tk-lib was given.
+if test "${with_tk_lib+set}" = set; then
+  withval="$with_tk_lib"
+  { echo "$as_me:$LINENO: TK: given path:$with_tk_lib" >&5
+echo "$as_me: TK: given path:$with_tk_lib" >&6;}
+else
+  with_tk_lib="none"
+fi;
+
+if test "x$with_tk_lib" = "xnone"; then
+   dirs="/usr /usr/local /usr/local/ibgd /usr/local/ibg2 /usr/local/ibed /usr/local/ofed"
+   for d in $dirs; do
+     if test -e $d/lib/libtk8.4.so -o -e $d/lib/libtk8.5.so; then
+        with_tk_lib=$d/lib
+        { echo "$as_me:$LINENO: TK: found in:$with_tk_lib" >&5
+echo "$as_me: TK: found in:$with_tk_lib" >&6;}
+     fi
+     if test -e $d/lib64/libtk8.4.so -o -e $d/lib64/libtk8.5.so; then
+        with_tk_lib=$d/lib64
+        { echo "$as_me:$LINENO: TK: found in:$with_tk_lib" >&5
+echo "$as_me: TK: found in:$with_tk_lib" >&6;}
+     fi
+   done
+fi
+
+if test "x$with_tk_lib" = "xnone"; then
+	{ { echo "$as_me:$LINENO: error: TK: failed to find tk8.4 or tk8.5 lib. Please use --with-tk-lib" >&5
+echo "$as_me: error: TK: failed to find tk8.4 or tk8.5 lib. Please use --with-tk-lib" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+# Check whether --with-graphviz-lib or --without-graphviz-lib was given.
+if test "${with_graphviz_lib+set}" = set; then
+  withval="$with_graphviz_lib"
+  { echo "$as_me:$LINENO: GRAPHVIZ: given path:$with_graphviz_lib" >&5
+echo "$as_me: GRAPHVIZ: given path:$with_graphviz_lib" >&6;}
+else
+  with_graphviz_lib="none"
+fi;
+
+if test "x$with_graphviz_lib" = "xnone"; then
+   dirs="/usr /usr/local /usr/local/ibgd /usr/local/ibg2 /usr/local/ibed /usr/local/ofed"
+   for d in $dirs; do
+     if test -e $d/lib/graphviz/tcl/libtcldot.so; then
+        with_graphviz_lib=$d/lib
+        { echo "$as_me:$LINENO: GRAPHVIZ: found in:$with_graphviz_lib" >&5
+echo "$as_me: GRAPHVIZ: found in:$with_graphviz_lib" >&6;}
+     fi
+     if test -e $d/lib64/graphviz/tcl/libtcldot.so; then
+        with_graphviz_lib=$d/lib64
+        { echo "$as_me:$LINENO: GRAPHVIZ: found in:$with_graphviz_lib" >&5
+echo "$as_me: GRAPHVIZ: found in:$with_graphviz_lib" >&6;}
+     fi
+   done
+fi
+
+if test "x$with_graphviz_lib" = "xnone"; then
+	{ echo "$as_me:$LINENO: WARNING: GRAPHVIZ: failed to find graphviz/tcl/libtcldot.so lib. Please use --with-graphviz-lib or else ibdiagui will not run properly" >&5
+echo "$as_me: WARNING: GRAPHVIZ: failed to find graphviz/tcl/libtcldot.so lib. Please use --with-graphviz-lib or else ibdiagui will not run properly" >&2;}
+fi
+
+
+
+fi
+
+                              ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output.  A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by ibdiag $as_me 1.2, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+ibdiag config.status 1.2
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at LN_S@,$LN_S,;t t
+s, at with_ibis@,$with_ibis,;t t
+s, at with_ibdm_lib@,$with_ibdm_lib,;t t
+s, at with_tk_lib@,$with_tk_lib,;t t
+s, at with_graphviz_lib@,$with_graphviz_lib,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
diff --git a/ibdiag/configure.in b/ibdiag/configure.in
new file mode 100644
index 0000000..a7079a5
--- /dev/null
+++ b/ibdiag/configure.in
@@ -0,0 +1,42 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT([ibdiag], [1.2], [openib-general at openib.org])
+dnl use local config dir for extras
+AC_CONFIG_AUX_DIR([config])
+
+dnl Auto make
+AM_INIT_AUTOMAKE( [foreign ] )
+
+dnl Required for cases make defines a MAKE=make ??? Why
+AC_PROG_MAKE_SET
+
+dnl Provides control over re-making of all auto files
+dnl We also use it to define swig dependencies so end
+dnl users do not see them.
+AM_MAINTAINER_MODE
+
+dnl Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+
+dnl For making dist we need not check any lib dependency
+AC_ARG_ENABLE(libcheck,
+[  --enable-libcheck    Enable Dependency Checking],
+[case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;;
+esac],[libcheck=true])
+
+if test $libcheck = true; then
+dnl Checks for libraries.
+CHECK_IBIS_EXEC_DIR
+CHECK_IBDM_TCLLIB
+SET_TK_LIBS
+SET_GRAPHVIZ_LIBS
+fi
+
+dnl Create the following Makefiles
+AC_OUTPUT(Makefile src/Makefile doc/Makefile)
+
diff --git a/ibdiag/demo/README b/ibdiag/demo/README
new file mode 100644
index 0000000..5067960
--- /dev/null
+++ b/ibdiag/demo/README
@@ -0,0 +1,27 @@
+IBIADG TOOLS DEMO:
+==================
+
+The set of files provided in this directory can be used to demo the
+ibdiags capabilities to report various error conditions on the IB fabric.
+The files should be used by the ibmgtsim to simulate the error and
+then interactively invoke ibdiagnet/ibdiagpath to see the report.
+
+Files in this directory:
+------------------------
+network.topo - the full topology used for this demo
+credit-loops.topo - OpenSM default router cause credit loops on this fabric
+
+partition.*.tcl       - set 3 partitions and remove some sw pkeys to fail
+		     	enforcement
+ipoib.*.tcl 	      -	set three subnets, show OK and two warnings regarding
+                     	IPoIB join
+faulty-links.*.tcl    - set some packet drops on the fabric
+ipoib.*.tcl 	      - make some nodes fail to join IPoIB or make MCG
+			slower then needed
+no-faults.*.tcl       - the good case flow
+qos.*.tcl 	      - show some errors caused by faulty QoS setup
+sm-credits.*.tcl      - show credit loop report if run with credit-loops.topo
+sm-lids.*.tcl         - show bad LID assignment errors
+sm-link-setup.*.tcl   - show bad LINK parameter assignments
+sm-routing.*.tcl      - demo routing faults by the SM
+sm-single-master.tcl  - show bad SM handover sequence report
diff --git a/ibdiag/demo/credit-loops.topo b/ibdiag/demo/credit-loops.topo
new file mode 100644
index 0000000..cc3c05f
--- /dev/null
+++ b/ibdiag/demo/credit-loops.topo
@@ -0,0 +1,83 @@
+#---------------------------------------------------------------------
+#  DEMO FAT TREE CREDIT LOOPS: 16 Nodes with two Gnus
+#---------------------------------------------------------------------
+
+MTS400 SW_L2_1
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> MTS400 SW_L1_1 P1
+   P4 -> MTS400 SW_L1_8 P2
+
+MTS400 SW_L2_2
+   P1 -> Cougar H-3 P1
+   P2 -> Cougar H-4 P1
+   P3 -> MTS400 SW_L1_2 P1
+   P4 -> MTS400 SW_L1_5 P2
+
+MTS400 SW_L2_3
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> MTS400 SW_L1_3 P1
+   P4 -> MTS400 SW_L1_6 P2
+
+MTS400 SW_L2_4
+   P1 -> Cougar H-7 P1
+   P2 -> Cougar H-8 P1
+   P3 -> MTS400 SW_L1_4 P1
+   P4 -> MTS400 SW_L1_7 P2
+
+MTS400 SW_L2_5
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> MTS400 SW_L1_5 P1
+   P4 -> MTS400 SW_L1_1 P2
+
+MTS400 SW_L2_6
+   P1 -> Cougar H-11 P1
+   P2 -> Cougar H-12 P1
+   P3 -> MTS400 SW_L1_6 P1
+   P4 -> MTS400 SW_L1_2 P2
+
+MTS400 SW_L2_7
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> MTS400 SW_L1_7 P1
+   P4 -> MTS400 SW_L1_3 P2
+
+MTS400 SW_L2_8
+   P1 -> Cougar H-15 P1
+   P2 -> Cougar H-16 P1
+   P3 -> MTS400 SW_L1_8 P1
+   P4 -> MTS400 SW_L1_4 P2
+
+MTS400 SW_L1_1
+   P3 -> MTS400 SW_L0_1 P1
+   P4 -> MTS400 SW_L0_2 P1
+
+MTS400 SW_L1_2
+   P3 -> MTS400 SW_L0_1 P2
+   P4 -> MTS400 SW_L0_2 P2
+
+MTS400 SW_L1_3
+   P3 -> MTS400 SW_L0_1 P3
+   P4 -> MTS400 SW_L0_2 P3
+
+MTS400 SW_L1_4
+   P3 -> MTS400 SW_L0_1 P4
+   P4 -> MTS400 SW_L0_2 P4
+
+MTS400 SW_L1_5
+   P3 -> MTS400 SW_L0_3 P1
+   P4 -> MTS400 SW_L0_4 P1
+
+MTS400 SW_L1_6
+   P3 -> MTS400 SW_L0_3 P2
+   P4 -> MTS400 SW_L0_4 P2
+
+MTS400 SW_L1_7
+   P3 -> MTS400 SW_L0_3 P3
+   P4 -> MTS400 SW_L0_4 P3
+
+MTS400 SW_L1_8
+   P3 -> MTS400 SW_L0_3 P4
+   P4 -> MTS400 SW_L0_4 P4
diff --git a/ibdiag/demo/faulty-links.check.tcl b/ibdiag/demo/faulty-links.check.tcl
new file mode 100644
index 0000000..f8c1fe1
--- /dev/null
+++ b/ibdiag/demo/faulty-links.check.tcl
@@ -0,0 +1,90 @@
+# This is the checker for faulty links flow
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------"
+	puts " Assigning some ports with drop rates > 0"
+	puts $simCtrlSock "setNodePortErrProfile \$fabric H-3/U1 1 0.05"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setNodePortErrProfile \$fabric H-23/U1 1 0.02"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setNodePortErrProfile \$fabric SL2-2/U1 4 0.01"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setNodePortErrProfile \$fabric SL1-4/U1 1 0.05"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # start the SM
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+   set valgrind "/usr/bin/valgrind --tool=memcheck"
+   set osmCmd "$osmPath  -D 0x43 -d2 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	# make sure /proc is updated ...
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts "---------------------------------------------------------------------"
+	puts " See what ibdiagnet is able to report with no further traffic\n"
+	puts " Run: ibdiagnet"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts " Run all to all communication "
+	puts $simCtrlSock "startAllToAllTraffic \$fabric"
+   puts "SIM: [gets $simCtrlSock]\n"
+	puts " See what ibdiagnet is able to report NOW\n"
+	puts " Run: ibdiagnet"
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/faulty-links.sim.tcl b/ibdiag/demo/faulty-links.sim.tcl
new file mode 100644
index 0000000..383ac17
--- /dev/null
+++ b/ibdiag/demo/faulty-links.sim.tcl
@@ -0,0 +1,101 @@
+puts "Asslow assigning drop rate on ports and running all to all traffic"
+
+########################################################################
+#
+# Set node port bad link with specific drop %
+proc setNodePortErrProfile {fabric nodeName portNum dropRate} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort == ""} {
+		puts "-E- No remote port on node $nodeName port $portNum"
+		return "ERR: No remote port on node $nodeName port $portNum"
+	}
+
+   # set the node drop rate
+   puts "-I- Setting drop rate:$dropRate on node:$node port:$portNum"
+   set portErrProf "-drop-rate-avg $dropRate -drop-rate-var 4"
+   IBMSNode_setPhyPortErrProfile sim$node $portNum $portErrProf
+
+	return "Set node:$nodeName port:$portNum packet drop rate to:$dropRate"
+}
+
+########################################################################
+#
+# Run all to all QP1 traffic
+#
+
+# obtain the list of lids of HCA ports in the fabric
+# set the global LIDS to that list
+proc getAddressiblePortLids {fabric} {
+	global LIDS
+	global HCA_PORT_BY_LID
+
+   # go over all nodes
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # switches has only one port - port 0
+      if {[IBNode_type_get $node] != 1} {
+         set pMin 1
+         set pMax [IBNode_numPorts_get $node]
+         for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {$port == ""} {continue}
+
+            # if the port is not connected ignore it:
+            if {[IBPort_p_remotePort_get $port] != ""} {
+					set lid [IBPort_base_lid_get $port]
+					set PORT_LID($lid) 1
+					set HCA_PORT_BY_LID($lid) $port
+            }
+         }
+      }
+   }
+	set LIDS [array names PORT_LID]
+   return $LIDS
+}
+
+# randomaly select one of the numbers provided in the given sequence
+proc getRandomNumOfSequence {seq} {
+   set idx [expr int([rmRand]*[llength $seq])]
+   return [lindex $seq $idx]
+}
+
+proc startAllToAllTraffic {fabric} {
+	global LIDS HCA_PORT_BY_LID
+	if {![info exists LIDS]} {
+		 getAddressiblePortLids $fabric
+	}
+
+	set srcLid [getRandomNumOfSequence $LIDS]
+	set dstLid [getRandomNumOfSequence $LIDS]
+
+	set port $HCA_PORT_BY_LID($srcLid)
+	set node [IBPort_p_node_get $port]
+	set portNum [IBPort_num_get $port]
+
+	# for now we will send a service record request from the source to dest
+   set pam [new_madServiceRec]
+
+   # send it to the SM_LID:
+   madServiceRec_send_set $pam sim$node $portNum $dstLid 0
+	puts "Sent service record req src:$srcLid dst:$dstLid"
+
+   # deallocate
+   delete_madServiceRec $pam
+
+	after 1 "startAllToAllTraffic $fabric"
+   return 0
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibdiag/demo/gnu-based-32.topo b/ibdiag/demo/gnu-based-32.topo
new file mode 100644
index 0000000..b4eca66
--- /dev/null
+++ b/ibdiag/demo/gnu-based-32.topo
@@ -0,0 +1,80 @@
+MTS800 SW_L2_1
+   P1 -4x-5G-> Cougar H-1 P1
+   P2 -4x-5G-> Cougar H-2 P1
+   P3 -4x-5G-> Cougar H-3 P1
+   P4 -4x-5G-> Cougar H-4 P1
+   P5 -4x-5G-> Gnu L1_1 M/P1
+   P6 -4x-5G-> Gnu L1_1 M/P2
+   P7 -4x-5G-> Gnu L1_2 M/P1
+   P8 -4x-5G-> Gnu L1_2 M/P2
+
+MTS800 SW_L2_2
+   P1 -4x-5G-> Cougar H-5 P1
+   P2 -4x-5G-> Cougar H-6 P1
+   P3 -4x-5G-> Cougar H-7 P1
+   P4 -4x-5G-> Cougar H-8 P1
+   P5 -4x-5G-> Gnu L1_1 M/P3
+   P6 -4x-5G-> Gnu L1_1 M/P4
+   P7 -4x-5G-> Gnu L1_2 M/P3
+   P8 -4x-5G-> Gnu L1_2 M/P4
+
+MTS800 SW_L2_3
+   P1 -4x-5G-> Cougar H-9 P1
+   P2 -4x-5G-> Cougar H-10 P1
+   P3 -4x-5G-> Cougar H-11 P1
+   P4 -4x-5G-> Cougar H-12 P1
+   P5 -4x-5G-> Gnu L1_1 M/P5
+   P6 -4x-5G-> Gnu L1_1 M/P6
+   P7 -4x-5G-> Gnu L1_2 M/P5
+   P8 -4x-5G-> Gnu L1_2 M/P6
+
+MTS800 SW_L2_4
+   P1  -4x-5G-> Cougar H-13 P1
+   P2	 -4x-5G-> Cougar H-14 P1
+   P3	 -4x-5G-> Cougar H-15 P1
+   P4	 -4x-5G-> Cougar H-16 P1
+   P5 -4x-5G-> Gnu L1_1 M/P7
+   P6 -4x-5G-> Gnu L1_1 M/P8
+   P7 -4x-5G-> Gnu L1_2 M/P7
+   P8 -4x-5G-> Gnu L1_2 M/P8
+
+MTS800 SW_L2_5
+   P1 -4x-5G-> Cougar H-17 P1
+   P2 -4x-5G-> Cougar H-18 P1
+   P3 -4x-5G-> Cougar H-19 P1
+   P4 -4x-5G-> Cougar H-20 P1
+   P5 -4x-5G-> Gnu L1_1 L1/P1
+   P6 -4x-5G-> Gnu L1_1 L1/P2
+   P7 -4x-5G-> Gnu L1_2 L1/P1
+   P8 -4x-5G-> Gnu L1_2 L1/P2
+
+MTS800 SW_L2_6
+   P1 -4x-5G-> Cougar H-21 P1
+   P2 -4x-5G-> Cougar H-22 P1
+   P3 -4x-5G-> Cougar H-23 P1
+   P4 -4x-5G-> Cougar H-24 P1
+   P5 -4x-5G-> Gnu L1_1 L1/P3
+   P6 -4x-5G-> Gnu L1_1 L1/P4
+   P7 -4x-5G-> Gnu L1_2 L1/P3
+   P8 -4x-5G-> Gnu L1_2 L1/P4
+
+MTS800 SW_L2_7
+   P1 -4x-5G-> Cougar H-25 P1
+   P2 -4x-5G-> Cougar H-26 P1
+   P3 -4x-5G-> Cougar H-27 P1
+   P4 -4x-5G-> Cougar H-28 P1
+   P5 -4x-5G-> Gnu L1_1 L2/P1
+   P6 -4x-5G-> Gnu L1_1 L2/P2
+   P7 -4x-5G-> Gnu L1_2 L2/P1
+   P8 -4x-5G-> Gnu L1_2 L2/P2
+
+MTS800 SW_L2_8
+   P1 -4x-5G-> Cougar H-29 P1
+   P2 -4x-5G-> Cougar H-30 P1
+   P3 -4x-5G-> Cougar H-31 P1
+   P4 -4x-5G-> Cougar H-32 P1
+   P5 -4x-5G-> Gnu L1_1 L2/P3
+   P6 -4x-5G-> Gnu L1_1 L2/P4
+   P7 -4x-5G-> Gnu L1_2 L2/P3
+   P8 -4x-5G-> Gnu L1_2 L2/P4
+
diff --git a/ibdiag/demo/ipoib.check.tcl b/ibdiag/demo/ipoib.check.tcl
new file mode 100644
index 0000000..3135564
--- /dev/null
+++ b/ibdiag/demo/ipoib.check.tcl
@@ -0,0 +1,186 @@
+# This is the checker for IPoIB flow
+
+proc parseNodePortGroup {simDir} {
+   set f [open [file join $simDir "port_pkey_groups.txt"] r]
+   set res {}
+   while {[gets $f sLine] >= 0} {
+		if {[regexp {^\#} $sLine]} {continue}
+      lappend res $sLine
+   }
+   close $f
+   puts "-I- Defined [llength $res] ports"
+   return $res
+}
+
+# given the node port group defined by the sim flow
+# setup the partitions policy file for the SM
+proc setupPartitionPolicyFile {fileName} {
+   global nodePortGroupList
+	for {set g 1} {$g <= 3} {incr g} {
+		set GROUP_PKEYS($g) ""
+	}
+   set f [open $fileName w]
+
+   # no need for default partition
+   # puts $f "Default=0x7fff ,ipoib : ALL, SELF=full ;"
+
+   # loop on the tree groups collecting their member guids and printing
+	# them out
+   foreach p {1 2 3} {
+      set guids {}
+      foreach png $nodePortGroupList {
+         # png = { name num grp guid pkey }
+         set grp [lindex $png 2]
+         if {$grp == $p} {
+            lappend guids [lindex $png 3]
+            set GROUP_PKEYS($grp) [lindex $png 4]
+         } elseif {$grp == 3} {
+            # group 3 ports are members of both other groups
+            lappend guids [lindex $png 3]
+         }
+      }
+
+		switch $p {
+			1 {set ipoib ", ipoib, rate=6"}
+			2 {set ipoib ", ipoib, rate=3"}
+			3 {set ipoib ", ipoib, rate=3"}
+		}
+
+      puts $f "G$p=$GROUP_PKEYS($p) $ipoib:"
+      set lastGuid [lindex $guids end]
+      foreach g $guids {
+         if {$p != 3} {
+            puts -nonewline $f "   $g=full"
+         } else {
+            puts -nonewline $f "   $g=full"
+         }
+         if {$lastGuid == $g} {
+            puts $f ";"
+         } else {
+            puts $f ","
+         }
+      }
+      puts $f " "
+   }
+
+   close $f
+}
+
+# obtain the list of hosts per each group and dump first few of them
+proc getFirstHostOfEachGroup {} {
+   global nodePortGroupList
+	global GROUP_HOSTS
+   foreach p {1 2 3} {
+      set hosts {}
+      foreach png $nodePortGroupList {
+         # png = { name num grp guid pkey }
+         set grp [lindex $png 2]
+         if {$grp == $p} {
+            lappend hosts [lindex $png 0]
+         }
+      }
+
+		set GROUP_HOSTS($p) $hosts
+		puts "Group \#$p has [llength $hosts] hosts: [lrange $hosts 0 2] ..."
+	}
+}
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # randomize pkey tables
+   puts $simCtrlSock "setAllHcaPortsPKeyTable \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+   puts $simCtrlSock "dumpHcaPKeyGroupFile $simDir"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # parse the node/port/pkey_group file from the sim dir:
+   set nodePortGroupList [parseNodePortGroup $simDir]
+
+   # Prepare the nodes partitions data
+   set partitionPolicyFile  [file join $simDir opensm-partitions.policy]
+   setupPartitionPolicyFile $partitionPolicyFile
+
+	puts "---------------------------------------------------------------------"
+	puts " Listing of 3 Nodes of each group:"
+	getFirstHostOfEachGroup
+
+	puts "---------------------------------------------------------------------"
+	puts " Performing some fabric modifications for SDR and 1X"
+	set host [lindex $GROUP_HOSTS(1) 0]
+	puts $simCtrlSock "setPortTo1X \$fabric $host/U1 1"
+   puts "SIM: [gets $simCtrlSock]"
+	set host [lindex $GROUP_HOSTS(2) 0]
+	puts $simCtrlSock "setPortToSDR \$fabric $host/U1 1"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # start the SM
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+   set valgrind "/usr/bin/valgrind --tool=memcheck"
+   set osmCmd "$osmPath -P$partitionPolicyFile -D 0x43 -d2 -t 4000 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	# make sure /proc is updated ...
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts $simCtrlSock "dumpPKeyTables \$fabric"
+	puts "SIM:[gets $simCtrlSock]"
+	puts "---------------------------------------------------------------------"
+	puts " All hosts now joining their IPoIB Subnets"
+	puts $simCtrlSock "joinPortsByPartition \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+	after 10000
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/ipoib.sim.tcl b/ibdiag/demo/ipoib.sim.tcl
new file mode 100644
index 0000000..8dbab7b
--- /dev/null
+++ b/ibdiag/demo/ipoib.sim.tcl
@@ -0,0 +1,240 @@
+puts "Running Simulation flow for IPoIB test case"
+
+# Assign partitions randomly
+# Group 1 : 0x8001
+# Group 2 : 0x8002
+# Group 3 : 0x8001 0x8002 0x8003
+#
+# NOTE: default partition set by the SM ...
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# prepare the three PKey groups G1 G2 abd G3
+# then set the active HCA ports PKey tables (based on node name % 3)
+# Note that the H-1/P1 has to have a slightly different PKey table
+# with 0xffff such that all nodes can query the SA:
+# we track the assignments in the arrays:
+# PORT_PKEY_GROUP(port) -> group
+proc setAllHcaPortsPKeyTable {fabric} {
+   global PORT_PKEY_GROUP
+   global GROUP_PKEY
+
+   set G1 [list 0x8001]
+   set G2 [list 0x8002]
+   set G3 [list 0x8001 0x8002 0x8003]
+
+   set GROUP_PKEY(1) 0x8001
+   set GROUP_PKEY(2) 0x8002
+   set GROUP_PKEY(3) "0x8003 0x8002 0x8001"
+
+   puts "-I- Group1 Pkeys:$G1"
+   puts "-I- Group2 Pkeys:$G2"
+   puts "-I- Group3 Pkeys:$G3"
+
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+		set nodeName [IBNode_name_get $node]
+
+		# the H-1/P1 has a special treatment: we want it to have access to
+		# all the MCGs
+		if {$nodeName == "H-1/U1"} {
+			set group 3
+		} else {
+			set group [expr int(rand()*3) + 1]
+		}
+		set PORT_PKEY_GROUP($port) $group
+		switch $group {
+			1 {set pkeys $G1}
+			2 {set pkeys $G2}
+			3 {set pkeys $G3}
+			default {
+				puts "-E- How come we got group $group ?"
+			}
+		}
+   }
+   # all HCA active ports
+   return "Set PKeys on [array size PORT_PKEY_GROUP] ports"
+}
+
+# Dump out the HCA ports and their groups:
+proc dumpHcaPKeyGroupFile {simDir} {
+   global PORT_PKEY_GROUP
+   global GROUP_PKEY
+
+   set fn [file join $simDir "port_pkey_groups.txt"]
+   set f [open $fn w]
+	puts $f [format "\#%-6s %-4s %-5s %-18s %s" HOST PORT GROUP GUID PKEYS]
+   foreach port [array names PORT_PKEY_GROUP] {
+      set node [IBPort_p_node_get $port]
+      set sys  [IBNode_p_system_get $node]
+      set num  [IBPort_num_get $port]
+      set name [IBSystem_name_get $sys]
+      set guid [IBPort_guid_get $port]
+      set grp  $PORT_PKEY_GROUP($port)
+      set pkeys $GROUP_PKEY($grp)
+		set idx  1
+      puts $f [format " %-6s %4d %5d %s %s" $name $num $grp $guid $pkeys]
+   }
+   close $f
+   return "Dumpped Group info into:$fn"
+}
+
+# dump out the current set of pkey tables:
+proc dumpPKeyTables {fabric} {
+	set f [open "pkeys.txt" w]
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+		set name [IBPort_getName $port]
+      set ni [IBMSNode_getNodeInfo sim$node]
+      set partcap [ib_node_info_t_partition_cap_get $ni]
+		puts $f "PORT: $name  PartCap:$partcap"
+      for {set blockNum 0 } {$blockNum < $partcap/32} {incr blockNum} {
+         set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockNum]
+         puts $f "BLOCK:$blockNum pkeys:$block"
+		}
+	}
+	close $f
+	return "Dumped pkeys into:pkeys.txt"
+}
+
+# set the given port width-supported to 1X
+proc setPortTo1X {fabric nodeName portNum} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort != ""} {
+		set remNode [IBPort_p_node_get $remPort]
+		set remPortNum [IBPort_num_get $remPort]
+		set pi [IBMSNode_getPortInfo sim$remNode $remPortNum]
+		ib_port_info_t_link_width_supported_set $pi 1
+		ib_port_info_t_link_width_active_set $pi 1
+		ib_port_info_t_link_width_enabled_set $pi 1
+	}
+
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	set old [ib_port_info_t_link_width_supported_get $pi]
+	ib_port_info_t_link_width_supported_set $pi 1
+	ib_port_info_t_link_width_active_set $pi 1
+	ib_port_info_t_link_width_enabled_set $pi 1
+	return "Set node:$nodeName port:$portNum LinkWidthSupported to 1x (0x1) was $old"
+}
+
+# set the given port speed-supported to SDR
+proc setPortToSDR {fabric nodeName portNum} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort != ""} {
+		set remNode [IBPort_p_node_get $remPort]
+		set remPortNum [IBPort_num_get $remPort]
+		set pi [IBMSNode_getPortInfo sim$remNode $remPortNum]
+		ib_port_info_t_state_info1_set $pi 0x12
+		ib_port_info_t_link_speed_set $pi 0x11
+	}
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	# note LSB nibble is port state ... we set it to INIT
+	ib_port_info_t_state_info1_set $pi 0x12
+	ib_port_info_t_link_speed_set $pi 0x11
+	return "Set node:$nodeName port:$portNum LinkSpeedSupported to SDR"
+}
+
+# register all ports to MGID
+proc joinPortToMGID {port mgid} {
+   puts "-I- Joining port [IBPort_getName $port] to MGID:$mgid"
+
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm $mgid
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it assuming the SM_LID is always 1:
+   madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+proc joinPortsByPartition {fabric} {
+   global PORT_PKEY_GROUP
+	set numJoins 0
+	set hcaPorts [getAllActiveHCAPorts $fabric]
+	foreach port $hcaPorts {
+		set group $PORT_PKEY_GROUP($port)
+		switch $group {
+			1 {set pkeys 0x8001}
+			2 {set pkeys 0x8002}
+			3 {set pkeys {0x8001 0x8002 0x8003}}
+			default {
+				puts "-E- How come we got group $group ?"
+				return "ERR: How come we got group $group ?"
+			}
+		}
+
+		foreach pkey $pkeys {
+			set mgid [format "0xff12401b%04x0000:00000000ffffffff" $pkey]
+			joinPortToMGID $port $mgid
+			incr numJoins
+		}
+	}
+	return "Performed $numJoins joins"
+}
+
+set fabric [IBMgtSimulator getFabric]
diff --git a/ibdiag/demo/network.topo b/ibdiag/demo/network.topo
new file mode 100644
index 0000000..8a72e87
--- /dev/null
+++ b/ibdiag/demo/network.topo
@@ -0,0 +1,421 @@
+#---------------------------------------------------------------------
+#  DEMO FAT TREE: 128 nodes - two level
+#---------------------------------------------------------------------
+
+MTS2400 SL1-1
+	 P1 -4x-5G-> MT23108 H-1 P1
+	 P2 -4x-5G-> MT23108 H-2 P1
+	 P3 -4x-5G-> MT23108 H-3 P1
+	 P4 -4x-5G-> MT23108 H-4 P1
+	 P5 -4x-5G-> MT23108 H-5 P1
+	 P6 -4x-5G-> MT23108 H-6 P1
+	 P7 -4x-5G-> MT23108 H-7 P1
+	 P8 -4x-5G-> MT23108 H-8 P1
+	 P9 -4x-5G-> MT23108 H-9 P1
+	 P10 -4x-5G-> MT23108 H-10 P1
+	 P11 -4x-5G-> MT23108 H-11 P1
+	 P12 -4x-5G-> MT23108 H-12 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P1
+	 P14 -4x-5G-> MTS2400 SL2-1 P2
+	 P15 -4x-5G-> MTS2400 SL2-2 P1
+	 P16 -4x-5G-> MTS2400 SL2-2 P2
+	 P17 -4x-5G-> MTS2400 SL2-3 P1
+	 P18 -4x-5G-> MTS2400 SL2-3 P2
+	 P19 -4x-5G-> MTS2400 SL2-4 P1
+	 P20 -4x-5G-> MTS2400 SL2-4 P2
+	 P21 -4x-5G-> MTS2400 SL2-5 P1
+	 P22 -4x-5G-> MTS2400 SL2-5 P2
+	 P23 -4x-5G-> MTS2400 SL2-6 P1
+	 P24 -4x-5G-> MTS2400 SL2-6 P2
+
+MTS2400 SL1-2
+	 P1 -4x-5G-> MT23108 H-13 P1
+	 P2 -4x-5G-> MT23108 H-14 P1
+	 P3 -4x-5G-> MT23108 H-15 P1
+	 P4 -4x-5G-> MT23108 H-16 P1
+	 P5 -4x-5G-> MT23108 H-17 P1
+	 P6 -4x-5G-> MT23108 H-18 P1
+	 P7 -4x-5G-> MT23108 H-19 P1
+	 P8 -4x-5G-> MT23108 H-20 P1
+	 P9 -4x-5G-> MT23108 H-21 P1
+	 P10 -4x-5G-> MT23108 H-22 P1
+	 P11 -4x-5G-> MT23108 H-23 P1
+	 P12 -4x-5G-> MT23108 H-24 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P3
+	 P14 -4x-5G-> MTS2400 SL2-1 P4
+	 P15 -4x-5G-> MTS2400 SL2-2 P3
+	 P16 -4x-5G-> MTS2400 SL2-2 P4
+	 P17 -4x-5G-> MTS2400 SL2-3 P3
+	 P18 -4x-5G-> MTS2400 SL2-3 P4
+	 P19 -4x-5G-> MTS2400 SL2-4 P3
+	 P20 -4x-5G-> MTS2400 SL2-4 P4
+	 P21 -4x-5G-> MTS2400 SL2-5 P3
+	 P22 -4x-5G-> MTS2400 SL2-5 P4
+	 P23 -4x-5G-> MTS2400 SL2-6 P3
+	 P24 -4x-5G-> MTS2400 SL2-6 P4
+
+MTS2400 SL1-3
+	 P1 -4x-5G-> MT23108 H-25 P1
+	 P2 -4x-5G-> MT23108 H-26 P1
+	 P3 -4x-5G-> MT23108 H-27 P1
+	 P4 -4x-5G-> MT23108 H-28 P1
+	 P5 -4x-5G-> MT23108 H-29 P1
+	 P6 -4x-5G-> MT23108 H-30 P1
+	 P7 -4x-5G-> MT23108 H-31 P1
+	 P8 -4x-5G-> MT23108 H-32 P1
+	 P9 -4x-5G-> MT23108 H-33 P1
+	 P10 -4x-5G-> MT23108 H-34 P1
+	 P11 -4x-5G-> MT23108 H-35 P1
+	 P12 -4x-5G-> MT23108 H-36 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P5
+	 P14 -4x-5G-> MTS2400 SL2-1 P6
+	 P15 -4x-5G-> MTS2400 SL2-2 P5
+	 P16 -4x-5G-> MTS2400 SL2-2 P6
+	 P17 -4x-5G-> MTS2400 SL2-3 P5
+	 P18 -4x-5G-> MTS2400 SL2-3 P6
+	 P19 -4x-5G-> MTS2400 SL2-4 P5
+	 P20 -4x-5G-> MTS2400 SL2-4 P6
+	 P21 -4x-5G-> MTS2400 SL2-5 P5
+	 P22 -4x-5G-> MTS2400 SL2-5 P6
+	 P23 -4x-5G-> MTS2400 SL2-6 P5
+	 P24 -4x-5G-> MTS2400 SL2-6 P6
+
+MTS2400 SL1-4
+	 P1 -4x-5G-> MT23108 H-37 P1
+	 P2 -4x-5G-> MT23108 H-38 P1
+	 P3 -4x-5G-> MT23108 H-39 P1
+	 P4 -4x-5G-> MT23108 H-40 P1
+	 P5 -4x-5G-> MT23108 H-41 P1
+	 P6 -4x-5G-> MT23108 H-42 P1
+	 P7 -4x-5G-> MT23108 H-43 P1
+	 P8 -4x-5G-> MT23108 H-44 P1
+	 P9 -4x-5G-> MT23108 H-45 P1
+	 P10 -4x-5G-> MT23108 H-46 P1
+	 P11 -4x-5G-> MT23108 H-47 P1
+	 P12 -4x-5G-> MT23108 H-48 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P7
+	 P14 -4x-5G-> MTS2400 SL2-1 P8
+	 P15 -4x-5G-> MTS2400 SL2-2 P7
+	 P16 -4x-5G-> MTS2400 SL2-2 P8
+	 P17 -4x-5G-> MTS2400 SL2-3 P7
+	 P18 -4x-5G-> MTS2400 SL2-3 P8
+	 P19 -4x-5G-> MTS2400 SL2-4 P7
+	 P20 -4x-5G-> MTS2400 SL2-4 P8
+	 P21 -4x-5G-> MTS2400 SL2-5 P7
+	 P22 -4x-5G-> MTS2400 SL2-5 P8
+	 P23 -4x-5G-> MTS2400 SL2-6 P7
+	 P24 -4x-5G-> MTS2400 SL2-6 P8
+
+MTS2400 SL1-5
+	 P1 -4x-5G-> MT23108 H-49 P1
+	 P2 -4x-5G-> MT23108 H-50 P1
+	 P3 -4x-5G-> MT23108 H-51 P1
+	 P4 -4x-5G-> MT23108 H-52 P1
+	 P5 -4x-5G-> MT23108 H-53 P1
+	 P6 -4x-5G-> MT23108 H-54 P1
+	 P7 -4x-5G-> MT23108 H-55 P1
+	 P8 -4x-5G-> MT23108 H-56 P1
+	 P9 -4x-5G-> MT23108 H-57 P1
+	 P10 -4x-5G-> MT23108 H-58 P1
+	 P11 -4x-5G-> MT23108 H-59 P1
+	 P12 -4x-5G-> MT23108 H-60 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P9
+	 P14 -4x-5G-> MTS2400 SL2-1 P10
+	 P15 -4x-5G-> MTS2400 SL2-2 P9
+	 P16 -4x-5G-> MTS2400 SL2-2 P10
+	 P17 -4x-5G-> MTS2400 SL2-3 P9
+	 P18 -4x-5G-> MTS2400 SL2-3 P10
+	 P19 -4x-5G-> MTS2400 SL2-4 P9
+	 P20 -4x-5G-> MTS2400 SL2-4 P10
+	 P21 -4x-5G-> MTS2400 SL2-5 P9
+	 P22 -4x-5G-> MTS2400 SL2-5 P10
+	 P23 -4x-5G-> MTS2400 SL2-6 P9
+	 P24 -4x-5G-> MTS2400 SL2-6 P10
+
+MTS2400 SL1-6
+	 P1 -4x-5G-> MT23108 H-61 P1
+	 P2 -4x-5G-> MT23108 H-62 P1
+	 P3 -4x-5G-> MT23108 H-63 P1
+	 P4 -4x-5G-> MT23108 H-64 P1
+	 P5 -4x-5G-> MT23108 H-65 P1
+	 P6 -4x-5G-> MT23108 H-66 P1
+	 P7 -4x-5G-> MT23108 H-67 P1
+	 P8 -4x-5G-> MT23108 H-68 P1
+	 P9 -4x-5G-> MT23108 H-69 P1
+	 P10 -4x-5G-> MT23108 H-70 P1
+	 P11 -4x-5G-> MT23108 H-71 P1
+	 P12 -4x-5G-> MT23108 H-72 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P11
+	 P14 -4x-5G-> MTS2400 SL2-1 P12
+	 P15 -4x-5G-> MTS2400 SL2-2 P11
+	 P16 -4x-5G-> MTS2400 SL2-2 P12
+	 P17 -4x-5G-> MTS2400 SL2-3 P11
+	 P18 -4x-5G-> MTS2400 SL2-3 P12
+	 P19 -4x-5G-> MTS2400 SL2-4 P11
+	 P20 -4x-5G-> MTS2400 SL2-4 P12
+	 P21 -4x-5G-> MTS2400 SL2-5 P11
+	 P22 -4x-5G-> MTS2400 SL2-5 P12
+	 P23 -4x-5G-> MTS2400 SL2-6 P11
+	 P24 -4x-5G-> MTS2400 SL2-6 P12
+
+MTS2400 SL1-7
+	 P1 -4x-5G-> MT23108 H-73 P1
+	 P2 -4x-5G-> MT23108 H-74 P1
+	 P3 -4x-5G-> MT23108 H-75 P1
+	 P4 -4x-5G-> MT23108 H-76 P1
+	 P5 -4x-5G-> MT23108 H-77 P1
+	 P6 -4x-5G-> MT23108 H-78 P1
+	 P7 -4x-5G-> MT23108 H-79 P1
+	 P8 -4x-5G-> MT23108 H-80 P1
+	 P9 -4x-5G-> MT23108 H-81 P1
+	 P10 -4x-5G-> MT23108 H-82 P1
+	 P11 -4x-5G-> MT23108 H-83 P1
+	 P12 -4x-5G-> MT23108 H-84 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P13
+	 P14 -4x-5G-> MTS2400 SL2-1 P14
+	 P15 -4x-5G-> MTS2400 SL2-2 P13
+	 P16 -4x-5G-> MTS2400 SL2-2 P14
+	 P17 -4x-5G-> MTS2400 SL2-3 P13
+	 P18 -4x-5G-> MTS2400 SL2-3 P14
+	 P19 -4x-5G-> MTS2400 SL2-4 P13
+	 P20 -4x-5G-> MTS2400 SL2-4 P14
+	 P21 -4x-5G-> MTS2400 SL2-5 P13
+	 P22 -4x-5G-> MTS2400 SL2-5 P14
+	 P23 -4x-5G-> MTS2400 SL2-6 P13
+	 P24 -4x-5G-> MTS2400 SL2-6 P14
+
+MTS2400 SL1-8
+	 P1 -4x-5G-> MT23108 H-85 P1
+	 P2 -4x-5G-> MT23108 H-86 P1
+	 P3 -4x-5G-> MT23108 H-87 P1
+	 P4 -4x-5G-> MT23108 H-88 P1
+	 P5 -4x-5G-> MT23108 H-89 P1
+	 P6 -4x-5G-> MT23108 H-90 P1
+	 P7 -4x-5G-> MT23108 H-91 P1
+	 P8 -4x-5G-> MT23108 H-92 P1
+	 P9 -4x-5G-> MT23108 H-93 P1
+	 P10 -4x-5G-> MT23108 H-94 P1
+	 P11 -4x-5G-> MT23108 H-95 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P15
+	 P14 -4x-5G-> MTS2400 SL2-1 P16
+	 P15 -4x-5G-> MTS2400 SL2-2 P15
+	 P16 -4x-5G-> MTS2400 SL2-2 P16
+	 P17 -4x-5G-> MTS2400 SL2-3 P15
+	 P18 -4x-5G-> MTS2400 SL2-3 P16
+	 P19 -4x-5G-> MTS2400 SL2-4 P15
+	 P20 -4x-5G-> MTS2400 SL2-4 P16
+	 P21 -4x-5G-> MTS2400 SL2-5 P15
+	 P22 -4x-5G-> MTS2400 SL2-5 P16
+	 P23 -4x-5G-> MTS2400 SL2-6 P15
+
+MTS2400 SL1-9
+	 P1 -4x-5G-> MT23108 H-96 P1
+	 P2 -4x-5G-> MT23108 H-97 P1
+	 P3 -4x-5G-> MT23108 H-98 P1
+	 P4 -4x-5G-> MT23108 H-99 P1
+	 P5 -4x-5G-> MT23108 H-100 P1
+	 P6 -4x-5G-> MT23108 H-101 P1
+	 P7 -4x-5G-> MT23108 H-102 P1
+	 P8 -4x-5G-> MT23108 H-103 P1
+	 P9 -4x-5G-> MT23108 H-104 P1
+	 P10 -4x-5G-> MT23108 H-105 P1
+	 P11 -4x-5G-> MT23108 H-106 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P17
+	 P14 -4x-5G-> MTS2400 SL2-1 P18
+	 P15 -4x-5G-> MTS2400 SL2-2 P17
+	 P16 -4x-5G-> MTS2400 SL2-2 P18
+	 P17 -4x-5G-> MTS2400 SL2-3 P17
+	 P18 -4x-5G-> MTS2400 SL2-3 P18
+	 P19 -4x-5G-> MTS2400 SL2-4 P17
+	 P20 -4x-5G-> MTS2400 SL2-4 P18
+	 P21 -4x-5G-> MTS2400 SL2-5 P17
+	 P22 -4x-5G-> MTS2400 SL2-6 P16
+	 P23 -4x-5G-> MTS2400 SL2-6 P17
+
+MTS2400 SL1-10
+	 P1 -4x-5G-> MT23108 H-107 P1
+	 P2 -4x-5G-> MT23108 H-108 P1
+	 P3 -4x-5G-> MT23108 H-109 P1
+	 P4 -4x-5G-> MT23108 H-110 P1
+	 P5 -4x-5G-> MT23108 H-111 P1
+	 P6 -4x-5G-> MT23108 H-112 P1
+	 P7 -4x-5G-> MT23108 H-113 P1
+	 P8 -4x-5G-> MT23108 H-114 P1
+	 P9 -4x-5G-> MT23108 H-115 P1
+	 P10 -4x-5G-> MT23108 H-116 P1
+	 P11 -4x-5G-> MT23108 H-117 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P19
+	 P14 -4x-5G-> MTS2400 SL2-1 P20
+	 P15 -4x-5G-> MTS2400 SL2-2 P19
+	 P16 -4x-5G-> MTS2400 SL2-2 P20
+	 P17 -4x-5G-> MTS2400 SL2-3 P19
+	 P18 -4x-5G-> MTS2400 SL2-3 P20
+	 P19 -4x-5G-> MTS2400 SL2-4 P19
+	 P20 -4x-5G-> MTS2400 SL2-5 P18
+	 P21 -4x-5G-> MTS2400 SL2-5 P19
+	 P22 -4x-5G-> MTS2400 SL2-6 P18
+	 P23 -4x-5G-> MTS2400 SL2-6 P19
+
+MTS2400 SL1-11
+	 P1 -4x-5G-> MT23108 H-118 P1
+	 P2 -4x-5G-> MT23108 H-119 P1
+	 P3 -4x-5G-> MT23108 H-120 P1
+	 P4 -4x-5G-> MT23108 H-121 P1
+	 P5 -4x-5G-> MT23108 H-122 P1
+	 P6 -4x-5G-> MT23108 H-123 P1
+	 P7 -4x-5G-> MT23108 H-124 P1
+	 P8 -4x-5G-> MT23108 H-125 P1
+	 P9 -4x-5G-> MT23108 H-126 P1
+	 P10 -4x-5G-> MT23108 H-127 P1
+	 P11 -4x-5G-> MT23108 H-128 P1
+	 P13 -4x-5G-> MTS2400 SL2-1 P21
+	 P14 -4x-5G-> MTS2400 SL2-1 P22
+	 P15 -4x-5G-> MTS2400 SL2-2 P21
+	 P16 -4x-5G-> MTS2400 SL2-2 P22
+	 P17 -4x-5G-> MTS2400 SL2-3 P21
+	 P18 -4x-5G-> MTS2400 SL2-4 P20
+	 P19 -4x-5G-> MTS2400 SL2-4 P21
+	 P20 -4x-5G-> MTS2400 SL2-5 P20
+	 P21 -4x-5G-> MTS2400 SL2-5 P21
+	 P22 -4x-5G-> MTS2400 SL2-6 P20
+	 P23 -4x-5G-> MTS2400 SL2-6 P21
+
+MTS2400 SL2-1
+	 P1 -4x-5G-> MTS2400 SL1-1 P13
+	 P2 -4x-5G-> MTS2400 SL1-1 P14
+	 P3 -4x-5G-> MTS2400 SL1-2 P13
+	 P4 -4x-5G-> MTS2400 SL1-2 P14
+	 P5 -4x-5G-> MTS2400 SL1-3 P13
+	 P6 -4x-5G-> MTS2400 SL1-3 P14
+	 P7 -4x-5G-> MTS2400 SL1-4 P13
+	 P8 -4x-5G-> MTS2400 SL1-4 P14
+	 P9 -4x-5G-> MTS2400 SL1-5 P13
+	 P10 -4x-5G-> MTS2400 SL1-5 P14
+	 P11 -4x-5G-> MTS2400 SL1-6 P13
+	 P12 -4x-5G-> MTS2400 SL1-6 P14
+	 P13 -4x-5G-> MTS2400 SL1-7 P13
+	 P14 -4x-5G-> MTS2400 SL1-7 P14
+	 P15 -4x-5G-> MTS2400 SL1-8 P13
+	 P16 -4x-5G-> MTS2400 SL1-8 P14
+	 P17 -4x-5G-> MTS2400 SL1-9 P13
+	 P18 -4x-5G-> MTS2400 SL1-9 P14
+	 P19 -4x-5G-> MTS2400 SL1-10 P13
+	 P20 -4x-5G-> MTS2400 SL1-10 P14
+	 P21 -4x-5G-> MTS2400 SL1-11 P13
+	 P22 -4x-5G-> MTS2400 SL1-11 P14
+
+MTS2400 SL2-2
+	 P1 -4x-5G-> MTS2400 SL1-1 P15
+	 P2 -4x-5G-> MTS2400 SL1-1 P16
+	 P3 -4x-5G-> MTS2400 SL1-2 P15
+	 P4 -4x-5G-> MTS2400 SL1-2 P16
+	 P5 -4x-5G-> MTS2400 SL1-3 P15
+	 P6 -4x-5G-> MTS2400 SL1-3 P16
+	 P7 -4x-5G-> MTS2400 SL1-4 P15
+	 P8 -4x-5G-> MTS2400 SL1-4 P16
+	 P9 -4x-5G-> MTS2400 SL1-5 P15
+	 P10 -4x-5G-> MTS2400 SL1-5 P16
+	 P11 -4x-5G-> MTS2400 SL1-6 P15
+	 P12 -4x-5G-> MTS2400 SL1-6 P16
+	 P13 -4x-5G-> MTS2400 SL1-7 P15
+	 P14 -4x-5G-> MTS2400 SL1-7 P16
+	 P15 -4x-5G-> MTS2400 SL1-8 P15
+	 P16 -4x-5G-> MTS2400 SL1-8 P16
+	 P17 -4x-5G-> MTS2400 SL1-9 P15
+	 P18 -4x-5G-> MTS2400 SL1-9 P16
+	 P19 -4x-5G-> MTS2400 SL1-10 P15
+	 P20 -4x-5G-> MTS2400 SL1-10 P16
+	 P21 -4x-5G-> MTS2400 SL1-11 P15
+	 P22 -4x-5G-> MTS2400 SL1-11 P16
+
+MTS2400 SL2-3
+	 P1 -4x-5G-> MTS2400 SL1-1 P17
+	 P2 -4x-5G-> MTS2400 SL1-1 P18
+	 P3 -4x-5G-> MTS2400 SL1-2 P17
+	 P4 -4x-5G-> MTS2400 SL1-2 P18
+	 P5 -4x-5G-> MTS2400 SL1-3 P17
+	 P6 -4x-5G-> MTS2400 SL1-3 P18
+	 P7 -4x-5G-> MTS2400 SL1-4 P17
+	 P8 -4x-5G-> MTS2400 SL1-4 P18
+	 P9 -4x-5G-> MTS2400 SL1-5 P17
+	 P10 -4x-5G-> MTS2400 SL1-5 P18
+	 P11 -4x-5G-> MTS2400 SL1-6 P17
+	 P12 -4x-5G-> MTS2400 SL1-6 P18
+	 P13 -4x-5G-> MTS2400 SL1-7 P17
+	 P14 -4x-5G-> MTS2400 SL1-7 P18
+	 P15 -4x-5G-> MTS2400 SL1-8 P17
+	 P16 -4x-5G-> MTS2400 SL1-8 P18
+	 P17 -4x-5G-> MTS2400 SL1-9 P17
+	 P18 -4x-5G-> MTS2400 SL1-9 P18
+	 P19 -4x-5G-> MTS2400 SL1-10 P17
+	 P20 -4x-5G-> MTS2400 SL1-10 P18
+	 P21 -4x-5G-> MTS2400 SL1-11 P17
+
+MTS2400 SL2-4
+	 P1 -4x-5G-> MTS2400 SL1-1 P19
+	 P2 -4x-5G-> MTS2400 SL1-1 P20
+	 P3 -4x-5G-> MTS2400 SL1-2 P19
+	 P4 -4x-5G-> MTS2400 SL1-2 P20
+	 P5 -4x-5G-> MTS2400 SL1-3 P19
+	 P6 -4x-5G-> MTS2400 SL1-3 P20
+	 P7 -4x-5G-> MTS2400 SL1-4 P19
+	 P8 -4x-5G-> MTS2400 SL1-4 P20
+	 P9 -4x-5G-> MTS2400 SL1-5 P19
+	 P10 -4x-5G-> MTS2400 SL1-5 P20
+	 P11 -4x-5G-> MTS2400 SL1-6 P19
+	 P12 -4x-5G-> MTS2400 SL1-6 P20
+	 P13 -4x-5G-> MTS2400 SL1-7 P19
+	 P14 -4x-5G-> MTS2400 SL1-7 P20
+	 P15 -4x-5G-> MTS2400 SL1-8 P19
+	 P16 -4x-5G-> MTS2400 SL1-8 P20
+	 P17 -4x-5G-> MTS2400 SL1-9 P19
+	 P18 -4x-5G-> MTS2400 SL1-9 P20
+	 P19 -4x-5G-> MTS2400 SL1-10 P19
+	 P20 -4x-5G-> MTS2400 SL1-11 P18
+	 P21 -4x-5G-> MTS2400 SL1-11 P19
+
+MTS2400 SL2-5
+	 P1 -4x-5G-> MTS2400 SL1-1 P21
+	 P2 -4x-5G-> MTS2400 SL1-1 P22
+	 P3 -4x-5G-> MTS2400 SL1-2 P21
+	 P4 -4x-5G-> MTS2400 SL1-2 P22
+	 P5 -4x-5G-> MTS2400 SL1-3 P21
+	 P6 -4x-5G-> MTS2400 SL1-3 P22
+	 P7 -4x-5G-> MTS2400 SL1-4 P21
+	 P8 -4x-5G-> MTS2400 SL1-4 P22
+	 P9 -4x-5G-> MTS2400 SL1-5 P21
+	 P10 -4x-5G-> MTS2400 SL1-5 P22
+	 P11 -4x-5G-> MTS2400 SL1-6 P21
+	 P12 -4x-5G-> MTS2400 SL1-6 P22
+	 P13 -4x-5G-> MTS2400 SL1-7 P21
+	 P14 -4x-5G-> MTS2400 SL1-7 P22
+	 P15 -4x-5G-> MTS2400 SL1-8 P21
+	 P16 -4x-5G-> MTS2400 SL1-8 P22
+	 P17 -4x-5G-> MTS2400 SL1-9 P21
+	 P18 -4x-5G-> MTS2400 SL1-10 P20
+	 P19 -4x-5G-> MTS2400 SL1-10 P21
+	 P20 -4x-5G-> MTS2400 SL1-11 P20
+	 P21 -4x-5G-> MTS2400 SL1-11 P21
+
+MTS2400 SL2-6
+	 P1 -4x-5G-> MTS2400 SL1-1 P23
+	 P2 -4x-5G-> MTS2400 SL1-1 P24
+	 P3 -4x-5G-> MTS2400 SL1-2 P23
+	 P4 -4x-5G-> MTS2400 SL1-2 P24
+	 P5 -4x-5G-> MTS2400 SL1-3 P23
+	 P6 -4x-5G-> MTS2400 SL1-3 P24
+	 P7 -4x-5G-> MTS2400 SL1-4 P23
+	 P8 -4x-5G-> MTS2400 SL1-4 P24
+	 P9 -4x-5G-> MTS2400 SL1-5 P23
+	 P10 -4x-5G-> MTS2400 SL1-5 P24
+	 P11 -4x-5G-> MTS2400 SL1-6 P23
+	 P12 -4x-5G-> MTS2400 SL1-6 P24
+	 P13 -4x-5G-> MTS2400 SL1-7 P23
+	 P14 -4x-5G-> MTS2400 SL1-7 P24
+	 P15 -4x-5G-> MTS2400 SL1-8 P23
+	 P16 -4x-5G-> MTS2400 SL1-9 P22
+	 P17 -4x-5G-> MTS2400 SL1-9 P23
+	 P18 -4x-5G-> MTS2400 SL1-10 P22
+	 P19 -4x-5G-> MTS2400 SL1-10 P23
+	 P20 -4x-5G-> MTS2400 SL1-11 P22
+	 P21 -4x-5G-> MTS2400 SL1-11 P23
diff --git a/ibdiag/demo/no-faults.check.tcl b/ibdiag/demo/no-faults.check.tcl
new file mode 100644
index 0000000..9eef328
--- /dev/null
+++ b/ibdiag/demo/no-faults.check.tcl
@@ -0,0 +1,91 @@
+# This is the checker for SM LFT/MFT assignment checks
+
+# given the node port group defined by the sim flow
+# setup the partitions policy file for the SM
+proc setupPartitionPolicyFile {fileName} {
+   set f [open $fileName w]
+
+   # no need for default partition
+   # puts $f "Default=0x7fff ,ipoib : ALL, SELF=full ;"
+
+	puts $f "G1=0x8001, ipoib,rate=6: ALL=full;"
+	puts $f "G2=0x8002, ipoib,rate=6: ALL=full;"
+	puts $f "G2=0x8003, ipoib,rate=6: ALL=full;"
+   close $f
+}
+
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock osmPid
+   global env
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   # Prepare the nodes partitions data
+   set partitionPolicyFile  [file join $simDir opensm-partitions.policy]
+   setupPartitionPolicyFile $partitionPolicyFile
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+
+   set osmCmd "$osmPath -P$partitionPolicyFile -d2 -f $osmLog -g $osmPortGuid"
+	puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+	global topologyFile
+	global osmPid
+
+   set osmLog [file join $simDir osm.log]
+
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts " All hosts now joining their IPoIB Subnets"
+	puts $simCtrlSock "joinPortsByPartition \$fabric {0x8001 0x8002 0x8003}"
+   puts "SIM: [gets $simCtrlSock]"
+	after 10000
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts "---------------------------------------------------------------------"
+	puts ""
+	puts "1) try: ibdiagnet -r -o $simDir"
+	puts "2) try: ibdiagpath -l 1,128"
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/no-faults.sim.tcl b/ibdiag/demo/no-faults.sim.tcl
new file mode 100644
index 0000000..6ff4a7f
--- /dev/null
+++ b/ibdiag/demo/no-faults.sim.tcl
@@ -0,0 +1,236 @@
+# A flow to support the LFT MFT diagnostic demo
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# set the change bit on the switch accross from the SM
+proc setSwitchChangeBit {fabric nodeName} {
+	global IB_SW_NODE
+
+   set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		return "ERR: Fail to find node:$nodeName"
+	}
+
+	if {[IBNode_type_get $node] != $IB_SW_NODE} {
+		return "ERR: Given node:$nodeName is not a switch"
+	}
+
+	set swi [IBMSNode_getSwitchInfo sim$node]
+	set lifeState [ib_switch_info_t_life_state_get $swi]
+	set lifeState [expr ($lifeState & 0xf8) | 4 ]
+	ib_switch_info_t_life_state_set $swi $lifeState
+
+	# OpenSM will not set the switch unless some port changed state...
+	# so pick some other port and play with it state
+	set numPorts [IBNode_numPorts_get $node]
+	for {set pn 1} {$pn <= $numPorts} {incr pn} {
+		set pi [IBMSNode_getPortInfo sim$node $pn]
+		set old [ib_port_info_t_state_info1_get $pi]
+		set new [expr ($old & 0xf0) | 0x2]
+		ib_port_info_t_state_info1_set $pi $new
+	}
+	puts "-I- Set change bit on switch:$node"
+
+	if {0} {
+		# send a trap...
+		set ni [IBMSNode_getNodeInfo sim$node]
+		set trap [madNotice128]
+		madNotice128_issuer_lid_set    $trap [ib_port_info_t_base_lid_get $pi]
+		madNotice128_generic_type_set  $trap 0x8001
+		madNotice128_issuer_gid_set    $trap [ib_node_info_t_port_guid_get $ni]
+		madNotice128_sw_lid_set        $trap [ib_port_info_t_base_lid_get $pi]
+		madNotice128_trap_num_set      $trap 128
+		# HACK assume the SM LID is 1
+		madNotice128_send_trap         $trap sim$node 1 1
+	}
+	return "-I- Set change bit on switch:$node"
+}
+
+# register all ports to MGID
+proc joinPortToMGID {port mgid} {
+   puts "-I- Joining port [IBPort_getName $port] to MGID:$mgid"
+
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm $mgid
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it assuming the SM_LID is always 1:
+   madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# join each ports to all the given pkes IPoIB groups
+proc joinPortsByPartition {fabric pkeys} {
+	set numJoins 0
+	set hcaPorts [getAllActiveHCAPorts $fabric]
+	foreach port $hcaPorts {
+		foreach pkey $pkeys {
+			set mgid [format "0xff12401b%04x0000:00000000ffffffff" $pkey]
+			joinPortToMGID $port $mgid
+			incr numJoins
+		}
+	}
+	return "Performed $numJoins joins"
+}
+
+proc causeDeadEndOnPath {fabric srcName srcPortNum dstName dstPortNum} {
+	# find the LID of DST PORT:
+	set dstNode [IBFabric_getNode $fabric $dstName]
+	if {$dstNode == ""} {
+		return "ERR: could not find the dst node:$dstName"
+	}
+
+	set dstPort [IBNode_getPort $dstNode $dstPortNum]
+	if {$dstPort == ""} {
+		return "ERR: could not find the dst node:$dstName port:$dstPortNum"
+	}
+	set dLid [IBPort_base_lid_get $dstPort]
+
+	set srcNode [IBFabric_getNode $fabric $srcName]
+	if {$srcNode == ""} {
+		return "ERR: could not find the src node:$srcName"
+	}
+
+	set srcPort [IBNode_getPort $srcNode $srcPortNum]
+	if {$srcPort == ""} {
+		return "ERR: could not find the src node:$srcName port:$srcPortNum"
+	}
+
+	set sLid [IBPort_base_lid_get $srcPort]
+
+	if {[ibdmTraceRouteByLFT $fabric $sLid $dLid hops nodeList]} {
+		return "ERR: failed to obtain path"
+	}
+
+	set swIdx [expr int(rand()*$hops)]
+	set swNode [lindex $nodeList $swIdx]
+	set swName [IBNode_name_get $swNode]
+	IBNode_setLFTPortForLid $swNode $dLid 255
+	return "Dead-End path from $srcName/$srcPortNum to $dstName/$dstPortNum at switch:$swName"
+}
+
+proc causeLoopOnPath {fabric srcName srcPortNum dstName dstPortNum} {
+	# find the LID of DST PORT:
+	set dstNode [IBFabric_getNode $fabric $dstName]
+	if {$dstNode == ""} {
+		return "ERR: could not find the dst node:$dstName"
+	}
+
+	set dstPort [IBNode_getPort $dstNode $dstPortNum]
+	if {$dstPort == ""} {
+		return "ERR: could not find the dst node:$dstName port:$dstPortNum"
+	}
+	set dLid [IBPort_base_lid_get $dstPort]
+
+	set srcNode [IBFabric_getNode $fabric $srcName]
+	if {$srcNode == ""} {
+		return "ERR: could not find the src node:$srcName"
+	}
+
+	set srcPort [IBNode_getPort $srcNode $srcPortNum]
+	if {$srcPort == ""} {
+		return "ERR: could not find the src node:$srcName port:$srcPortNum"
+	}
+
+	set sLid [IBPort_base_lid_get $srcPort]
+
+	if {[ibdmTraceRouteByLFT $fabric $sLid $dLid hops nodeList]} {
+		return "ERR: failed to obtain path"
+	}
+	if {$hops < 2} {
+		return "ERR: need > 1 switches for a loop"
+	}
+	set swIdx [expr int(rand()*($hops-1))]
+	set sw1Node [lindex $nodeList $swIdx]
+	set sw2Node [lindex $nodeList [expr $swIdx+1]]
+	set sw1OutPortNum [IBNode_getLFTPortForLid $sw1Node $dLid]
+	set sw1OutPort    [IBNode_getPort $sw1Node $sw1OutPortNum]
+	set sw2InPort     [IBPort_p_remotePort_get $sw1OutPort]
+
+	set swName [IBNode_name_get $sw2Node]
+	IBNode_setLFTPortForLid $sw2Node $dLid [IBPort_num_get $sw2InPort]
+	return "Loop path from $srcName/$srcPortNum to $dstName/$dstPortNum at switch:$swName"
+}
+
+proc breakMCG {fabric mlid} {
+	# simply find a switch with MFT set for the mlid and remove one bit ...
+
+	set blockIdx [expr ($mlid - 0xc000)/32]
+	set mlidIdx  [expr ($mlid - 0xc000)%32]
+	set portIdx 0
+	puts "Using blockIdx:$blockIdx mlidIdx:$mlidIdx"
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+		set swName [IBNode_name_get $node]
+
+		# HACK: skip level 1 switches
+		if {[regexp {^SL1} $swName]} {continue}
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] == 1} {
+			for {set portIdx 0} {$portIdx < 2} {incr portIdx} {
+				set mft [IBMSNode_getMFTBlock sim$node $blockIdx $portIdx]
+				puts "-I- Switch:$swName block:$blockIdx ports:$portIdx MFT:$mft"
+				set portMask [lindex $mft $mlidIdx]
+				if {$portMask != 0} {
+					for {set bit 0} {$bit < 16} {incr bit} {
+						set mask [expr 1 << $bit]
+						if {$portMask & $mask} {
+							set portMask [format 0x%04x [expr $portMask & ~$mask]]
+							set mft [lreplace $mft $mlidIdx $mlidIdx $portMask]
+							IBMSNode_setMFTBlock sim$node $blockIdx $portIdx $mft
+							puts "-I- Switch:$swName block:$blockIdx ports:$portIdx NEW MFT:$mft"
+							return "Broke MLID:$mlid routing at port:$bit of switch:$swName"
+						}
+					}
+				}
+			}
+      }
+   }
+	return "ERR: could not find any switch to break the MLID:$mlid routing"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibdiag/demo/partial-gnu-based-32.topo b/ibdiag/demo/partial-gnu-based-32.topo
new file mode 100644
index 0000000..6214a7c
--- /dev/null
+++ b/ibdiag/demo/partial-gnu-based-32.topo
@@ -0,0 +1,78 @@
+MTS800 SW_L2_1
+   P1 -4x-5G-> Cougar H-1 P1
+   P2 -4x-5G-> Cougar H-2 P1
+   P3 -4x-5G-> Cougar H-3 P1
+   P4 -4x-5G-> Cougar H-4 P1
+   P5 -4x-5G-> Gnu L1_1 M/P1
+   P6 -4x-5G-> Gnu L1_1 M/P2
+   P7 -4x-5G-> Gnu L1_2 M/P1
+   P8 -4x-5G-> Gnu L1_2 M/P2
+
+MTS800 SW_L2_2
+   P1 -4x-5G-> Cougar H-5 P1
+   P2 -4x-5G-> Cougar H-6 P1
+   P3 -4x-5G-> Cougar H-7 P1
+   P4 -4x-5G-> Cougar H-8 P1
+   P5 -4x-5G-> Gnu L1_1 M/P3
+   P6 -4x-5G-> Gnu L1_1 M/P4
+   P7 -4x-5G-> Gnu L1_2 M/P3
+   P8 -4x-5G-> Gnu L1_2 M/P4
+
+MTS800 SW_L2_3
+   P1 -4x-5G-> Cougar H-9 P1
+   P2 -4x-5G-> Cougar H-10 P1
+   P3 -4x-5G-> Cougar H-11 P1
+   P4 -4x-5G-> Cougar H-12 P1
+   P5 -4x-5G-> Gnu L1_1 M/P5
+   P6 -4x-5G-> Gnu L1_1 M/P6
+   P7 -4x-5G-> Gnu L1_2 M/P5
+   P8 -4x-5G-> Gnu L1_2 M/P6
+
+MTS800 SW_L2_4
+   P1  -4x-5G-> Cougar H-13 P1
+   P2	 -4x-5G-> Cougar H-14 P1
+   P3	 -4x-5G-> Cougar H-15 P1
+   P4	 -4x-5G-> Cougar H-16 P1
+   P5 -4x-5G-> Gnu L1_1 M/P7
+   P6 -4x-5G-> Gnu L1_1 M/P8
+
+MTS800 SW_L2_5
+   P1 -4x-5G-> Cougar H-17 P1
+   P2 -4x-5G-> Cougar H-18 P1
+   P3 -4x-5G-> Cougar H-19 P1
+   P4 -4x-5G-> Cougar H-20 P1
+   P5 -4x-5G-> Gnu L1_1 L1/P1
+   P6 -4x-5G-> Gnu L1_1 L1/P2
+   P7 -4x-5G-> Gnu L1_2 L1/P1
+   P8 -4x-5G-> Gnu L1_2 L1/P2
+
+MTS800 SW_L2_6
+   P1 -4x-5G-> Cougar H-21 P1
+   P2 -4x-5G-> Cougar H-22 P1
+   P3 -4x-5G-> Cougar H-23 P1
+   P4 -4x-5G-> Cougar H-24 P1
+   P5 -4x-5G-> Gnu L1_1 L1/P3
+   P6 -4x-5G-> Gnu L1_1 L1/P4
+   P7 -4x-5G-> Gnu L1_2 L1/P3
+   P8 -4x-5G-> Gnu L1_2 L1/P4
+
+MTS800 SW_L2_7
+   P1 -4x-5G-> Cougar H-25 P1
+   P2 -4x-5G-> Cougar H-26 P1
+   P3 -4x-5G-> Cougar H-27 P1
+   P4 -4x-5G-> Cougar H-28 P1
+   P5 -4x-5G-> Gnu L1_1 L2/P1
+   P6 -4x-5G-> Gnu L1_1 L2/P2
+   P7 -4x-5G-> Gnu L1_2 L2/P1
+   P8 -4x-5G-> Gnu L1_2 L2/P2
+
+MTS800 SW_L2_8
+   P1 -4x-5G-> Cougar H-29 P1
+   P2 -4x-5G-> Cougar H-30 P1
+   P3 -4x-5G-> Cougar H-31 P1
+   P4 -4x-5G-> Cougar H-32 P1
+   P5 -4x-5G-> Gnu L1_1 L2/P3
+   P6 -4x-5G-> Gnu L1_1 L2/P4
+   P7 -4x-5G-> Gnu L1_2 L2/P3
+   P8 -4x-5G-> Gnu L1_2 L2/P4
+
diff --git a/ibdiag/demo/partition.check.tcl b/ibdiag/demo/partition.check.tcl
new file mode 100644
index 0000000..28fbb40
--- /dev/null
+++ b/ibdiag/demo/partition.check.tcl
@@ -0,0 +1,179 @@
+# This is the checker for Partitions flow
+
+proc parseNodePortGroup {simDir} {
+   set f [open [file join $simDir "port_pkey_groups.txt"] r]
+   set res {}
+   while {[gets $f sLine] >= 0} {
+		if {[regexp {^\#} $sLine]} {continue}
+      lappend res $sLine
+   }
+   close $f
+   puts "-I- Defined [llength $res] ports"
+   return $res
+}
+
+# given the node port group defined by the sim flow
+# setup the partitions policy file for the SM
+proc setupPartitionPolicyFile {fileName} {
+   global nodePortGroupList
+	for {set g 1} {$g <= 3} {incr g} {
+		set GROUP_PKEYS($g) ""
+	}
+   set f [open $fileName w]
+
+   # no need for default partition
+   # puts $f "Default=0x7fff ,ipoib : ALL, SELF=full ;"
+
+   # loop on the tree groups collecting their member guids and printing
+	# them out
+   foreach p {1 2 3} {
+      set guids {}
+      foreach png $nodePortGroupList {
+         # png = { name num grp guid pkey }
+         set grp [lindex $png 2]
+         if {$grp == $p} {
+            lappend guids [lindex $png 3]
+            set GROUP_PKEYS($grp) [lindex $png 4]
+         } elseif {$grp == 3} {
+            # group 3 ports are members of both other groups
+            lappend guids [lindex $png 3]
+         }
+      }
+
+      puts $f "G$p=$GROUP_PKEYS($p) :"
+      set lastGuid [lindex $guids end]
+      foreach g $guids {
+         if {$p != 3} {
+            puts -nonewline $f "   $g=full"
+         } else {
+            puts -nonewline $f "   $g=full"
+         }
+         if {$lastGuid == $g} {
+            puts $f ";"
+         } else {
+            puts $f ","
+         }
+      }
+      puts $f " "
+   }
+
+   close $f
+}
+
+# obtain the list of hosts per each group and dump first few of them
+proc getFirstHostOfEachGroup {} {
+   global nodePortGroupList
+	global GROUP_HOSTS
+   foreach p {1 2 3} {
+      set hosts {}
+      foreach png $nodePortGroupList {
+         # png = { name num grp guid pkey }
+         set grp [lindex $png 2]
+         if {$grp == $p} {
+            lappend hosts [lindex $png 0]
+         }
+      }
+
+		set GROUP_HOSTS($p) $hosts
+		puts "Group \#$p has [llength $hosts] hosts: [lrange $hosts 0 2] ..."
+	}
+}
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global nodePortGroupList
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # randomize pkey tables
+   puts $simCtrlSock "setAllHcaPortsPKeyTable \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+   puts $simCtrlSock "dumpHcaPKeyGroupFile $simDir"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # parse the node/port/pkey_group file from the sim dir:
+   set nodePortGroupList [parseNodePortGroup $simDir]
+
+   # Prepare the nodes partitions data
+   set partitionPolicyFile  [file join $simDir opensm-partitions.policy]
+   setupPartitionPolicyFile $partitionPolicyFile
+
+   # start the SM
+   set osmCmd "$osmPath -P$partitionPolicyFile -D 0x3 -d2 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+# make sure /proc is updated ...
+   puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+	   set res [gets $simCtrlSock]
+	   puts "SIM: Updated H-1 proc file:$res"
+
+	   puts "---------------------------------------------------------------------"
+	   puts " OpemSM brought up the network"
+	   puts $simCtrlSock "dumpPKeyTables \$fabric"
+	   puts "SIM:[gets $simCtrlSock]"
+	   puts "---------------------------------------------------------------------"
+	   puts " Listing of 3 Nodes of each group:"
+	   getFirstHostOfEachGroup
+	   puts "---------------------------------------------------------------------"
+	   puts " Drop some pkeys from switch ports"
+	   foreach g {1 2 3} {
+		set hostNode "[lindex $GROUP_HOSTS($g) 2]/U1"
+		puts $simCtrlSock "removeGroupPKeyAccrosForHcaPort \$fabric $hostNode 1 $g"
+		set res [gets $simCtrlSock]
+		if {[regexp {^ERR} $res]} {
+			puts "$res"
+				return 1
+		}
+		puts "$res"
+	}
+	puts "---------------------------------------------------------------------"
+		puts " SUBNET READY FOR DIAGNOSTICS"
+		puts " press ^C when done"
+		puts " "
+		puts "cd $simDir"
+		puts "setenv IBMGTSIM_DIR  $simDir"
+		puts "setenv OSM_CACHE_DIR $simDir"
+		puts "setenv OSM_TMP_DIR   $simDir"
+		puts "---------------------------------------------------------------------"
+		puts ""
+		puts "1) try: ibdiagnet -o $simDir -t  network.topo"
+		puts "2) try: ibdiagpath -t network.topo -n H-9,H-1"
+		puts " press Enter when done"
+
+		puts " press Enter when done"
+		gets stdin
+		return 0
+}
diff --git a/ibdiag/demo/partition.sim.tcl b/ibdiag/demo/partition.sim.tcl
new file mode 100644
index 0000000..f413438
--- /dev/null
+++ b/ibdiag/demo/partition.sim.tcl
@@ -0,0 +1,171 @@
+puts "Running Simulation flow for Partitions test case"
+
+# Assign partitions randomly
+# Group 1 : 0x8001
+# Group 2 : 0x8002
+# Group 3 : 0x8001 0x8002 0x8003
+#
+# NOTE: default partition set by the SM ...
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# prepare the three PKey groups G1 G2 abd G3
+# then set the active HCA ports PKey tables (based on node name % 3)
+# Note that the H-1/P1 has to have a slightly different PKey table
+# with 0xffff such that all nodes can query the SA:
+# we track the assignments in the arrays:
+# PORT_PKEY_GROUP(port) -> group
+# PORT_GROUP_PKEY_IDX(port) -> index of pkey (if set or -1)
+proc setAllHcaPortsPKeyTable {fabric} {
+   global PORT_PKEY_GROUP
+   global GROUP_PKEY
+
+   set G1 [list 0x8001]
+   set G2 [list 0x8002]
+   set G3 [list 0x8001 0x8002 0x8003]
+
+   set GROUP_PKEY(1) 0x8001
+   set GROUP_PKEY(2) 0x8002
+   set GROUP_PKEY(3) "0x8002 0x8001"
+
+   puts "-I- Group1 Pkeys:$G1"
+   puts "-I- Group2 Pkeys:$G2"
+   puts "-I- Group3 Pkeys:$G3"
+
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      # the H-1/P1 has a special treatment:
+      set node [IBPort_p_node_get $port]
+		set nodeName [IBNode_name_get $node]
+		set group [expr int(rand()*3) + 1]
+		set PORT_PKEY_GROUP($port) $group
+		switch $group {
+			1 {set pkeys $G1}
+			2 {set pkeys $G2}
+			3 {set pkeys $G3}
+			default {
+				puts "-E- How come we got group $group ?"
+			}
+		}
+   }
+   # all HCA active ports
+   return "Set PKeys on [array size PORT_PKEY_GROUP] ports"
+}
+
+# Remove given group PKey from Switch port accross the given host port
+proc removeGroupPKeyAccrosForHcaPort {fabric hostNodeName portNum groupNum} {
+	global GROUP_PKEY
+	set hostNode [IBFabric_getNode $fabric $hostNodeName]
+	if {$hostNode == ""} {
+		puts "-E- fail to find node $hostNodeName"
+		return "ERR: fail to find node $hostNodeName"
+	}
+	set port [IBNode_getPort $hostNode $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $hostNodeName port $portNum"
+		return "ERR: fail to find node $hostNodeName port $portNum"
+	}
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort == ""} {
+		puts "-E- no remote port accross $hostNodeName port $portNum"
+		return "ERR:no remote port accross $hostNodeName port $portNum"
+	}
+
+	set swPortNum [IBPort_num_get $remPort]
+	set remNode [IBPort_p_node_get $remPort]
+	set swName  [IBNode_name_get $remNode]
+
+	set pkey [lindex $GROUP_PKEY($groupNum) 0]
+
+	set ni [IBMSNode_getNodeInfo sim$remNode]
+	set partcap [ib_node_info_t_partition_cap_get $ni]
+	set done 0
+	for {set blockNum 0 } {$blockNum < ($partcap+31)/32} {incr blockNum} {
+		set block [IBMSNode_getPKeyTblBlock sim$remNode $swPortNum $blockNum]
+		puts "-I- PKey get $remNode port:$swPortNum block:$blockNum is:$block"
+		#updating the block
+		for {set i 0 } {$i < 32} {incr i} {
+			if {[lindex $block $i] == $pkey} {
+				set block [lreplace $block $i $i 0]
+				puts "-I- Removing $pkey from block:$blockNum idx:$i"
+				set done 1
+			}
+		}
+		IBMSNode_setPKeyTblBlock sim$remNode $swPortNum $blockNum $block
+		set block [IBMSNode_getPKeyTblBlock sim$remNode $swPortNum $blockNum]
+		puts "-I- PKey set $remNode port:$swPortNum block:$blockNum to:$block"
+	}
+	if {$done } {
+		return "Removed Group:$groupNum PKey:$pkey from Switch:$swName port:$swPortNum accross:$hostNodeName"
+	} else {
+		return "ERR: fail to find pkey:$pkey on Switch:$swName port:$swPortNum accros:$hostNodeName"
+	}
+}
+
+# Dump out the HCA ports and their groups:
+proc dumpHcaPKeyGroupFile {simDir} {
+   global PORT_PKEY_GROUP
+   global GROUP_PKEY
+
+   set fn [file join $simDir "port_pkey_groups.txt"]
+   set f [open $fn w]
+	puts $f [format "\#%-6s %-4s %-5s %-18s %s" HOST PORT GROUP GUID PKEYS]
+   foreach port [array names PORT_PKEY_GROUP] {
+      set node [IBPort_p_node_get $port]
+      set sys  [IBNode_p_system_get $node]
+      set num  [IBPort_num_get $port]
+      set name [IBSystem_name_get $sys]
+      set guid [IBPort_guid_get $port]
+      set grp  $PORT_PKEY_GROUP($port)
+      set pkeys $GROUP_PKEY($grp)
+		set idx  1
+      puts $f [format " %-6s %4d %5d %s %s" $name $num $grp $guid $pkeys]
+   }
+   close $f
+   return "Dumpped Group info into:$fn"
+}
+
+# dump out the current set of pkey tables:
+proc dumpPKeyTables {fabric} {
+	set f [open "pkeys.txt" w]
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+		set name [IBPort_getName $port]
+      set ni [IBMSNode_getNodeInfo sim$node]
+      set partcap [ib_node_info_t_partition_cap_get $ni]
+		puts $f "PORT: $name  PartCap:$partcap"
+      for {set blockNum 0 } {$blockNum < $partcap/32} {incr blockNum} {
+         set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockNum]
+         puts $f "BLOCK:$blockNum pkeys:$block"
+		}
+		puts $f " "
+	}
+	close $f
+	return "Dumped pkeys into:pkeys.txt"
+}
+
+set fabric [IBMgtSimulator getFabric]
diff --git a/ibdiag/demo/qos.check.tcl b/ibdiag/demo/qos.check.tcl
new file mode 100644
index 0000000..2c50a30
--- /dev/null
+++ b/ibdiag/demo/qos.check.tcl
@@ -0,0 +1,122 @@
+# This is the checker for QoS Flow
+
+proc setupOpensmOptionsFile {simDir} {
+	# by default we set all switches to have
+	# VL = SL % 8
+	# VLArb High = VLArb Low = 0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1
+	set f [open $simDir/opensm.conf w]
+	puts $f {
+
+# Disable QoS setup
+no_qos FALSE
+
+# QoS default options
+#qos_max_vls    8
+#qos_high_limit 3
+#qos_vlarb_high 0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+#qos_vlarb_low  0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+#qos_sl2vl      0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7
+
+# QoS CA options
+qos_ca_max_vls    8
+qos_ca_high_limit 4
+qos_ca_vlarb_high 0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_ca_vlarb_low  0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_ca_sl2vl      0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7
+
+# QoS Switch Port 0 options
+qos_sw0_max_vls    8
+qos_sw0_high_limit 5
+qos_sw0_vlarb_high 0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_sw0_vlarb_low  0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_sw0_sl2vl      0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7
+
+# QoS Switch external ports options
+qos_swe_max_vls     8
+qos_swe_high_limit  6
+qos_swe_vlarb_high  0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_swe_vlarb_low   0:1,1:1,2:1,3:1,4:1,5:1,6:1,7:1
+qos_swe_sl2vl       0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7
+
+	}
+	close $f
+
+}
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # Prepare the OpenSM config options file
+	setupOpensmOptionsFile $simDir
+
+   # start the SM
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+   set valgrind "/usr/bin/valgrind --tool=memcheck"
+   set osmCmd "$osmPath -F $simDir/opensm.conf -Q -D 0x43 -d2 -t 4000 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	# make sure /proc is updated ...
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts "---------------------------------------------------------------------"
+	puts "-I- Default SL2VL is: {0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7}"
+	puts "-I- Default VLArb is: {{0 1} {1 1} {2 1} {3 1} {4 1} {5 1} {6 1} {7 1}}"
+	puts "\nModify SL2VL and VLArb accross specific hosts"
+	puts $simCtrlSock "setVlArbAccross \$fabric H-2/U1 1 {{8 1} {9 1} {10 1} {11 1} {12 1} {13 1} {14 1} {15 1}}"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setVlArbAccross \$fabric H-3/U1 1 {{0 0} {1 0} {2 0} {3 1} {4 1} {5 1} {6 1} {7 1}}"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setSl2VlTableToPortAccross \$fabric H-4/U1 1 {15 15 2 3 4 15 15 15 15 15 15 15 15 15 15 15}"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setSl2VlTableToPortAccross \$fabric H-5/U1 1 {8 9 10 11 12 13 14 15 8 9 10 11 12 13 14 15}"
+   puts "SIM: [gets $simCtrlSock]"
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/qos.sim.tcl b/ibdiag/demo/qos.sim.tcl
new file mode 100644
index 0000000..f4f3d52
--- /dev/null
+++ b/ibdiag/demo/qos.sim.tcl
@@ -0,0 +1,88 @@
+puts "Running Simulation flow for QoS test case"
+
+proc setSl2VlTableToPortAccross {fabric nodeName portNum SL2VL} {
+
+	# reformat the SL2VL
+#	set SL2VL {}
+#	for {set i 0} {$i < 16} {incr i} {
+#		set v [lindex $SL2VLList $i]
+#		if {$i % 2} {
+#			lappend SL2VL [format 0x%02x [expr ($p << 4) | $v]]
+#		}
+#		set p $v
+#	}
+
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort == ""} {
+		puts "-E- No remote port for node $nodeName port $portNum"
+		return "ERR: No remote port for node $nodeName port $portNum"
+	}
+
+	set remPortNum [IBPort_num_get $remPort]
+	set remNode [IBPort_p_node_get $remPort]
+	set remNodeName [IBNode_name_get $remNode]
+
+	set numPorts [IBNode_numPorts_get $remNode]
+
+	for {set pn 0} {$pn < $numPorts} {incr pn} {
+		set old [IBMSNode_getSL2VLTable sim$remNode $pn $remPortNum]
+		puts "-I- SL2VL on node:$remNodeName from port:$pn to:$remPortNum was $old"
+		if {[IBMSNode_setSL2VLTable sim$remNode $pn $remPortNum $SL2VL]} {
+			puts "-E- fail to set SL2VL on node $remNodeName from port $pn to $remPortNum"
+			return "ERR: fail to set SL2VL on node $remNodeName from port $pn to $remPortNum"
+		}
+	}
+
+	return "Set SL2VL on node:$remNodeName to port:$remPortNum accross from node:$nodeName port:$portNum to $SL2VL"
+}
+
+proc setVlArbAccross {fabric nodeName portNum VLA} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	set remPort [IBPort_p_remotePort_get $port]
+	if {$remPort == ""} {
+		puts "-E- No remote port for node $nodeName port $portNum"
+		return "ERR: No remote port for node $nodeName port $portNum"
+	}
+
+	set remPortNum [IBPort_num_get $remPort]
+	set remNode [IBPort_p_node_get $remPort]
+	set remNodeName [IBNode_name_get $remNode]
+
+	set old [IBMSNode_getVLArbLTable sim$remNode $remPortNum 1]
+	puts "-I- Old LOW VLA on node:$remNodeName port:$remPortNum was:$old"
+	if {[IBMSNode_setVLArbLTable sim$remNode $remPortNum 1 $VLA]} {
+		return "ERR: failed to update LOW VLArb on node:$remNodeName port:$remPortNum"
+	}
+
+	set old [IBMSNode_getVLArbLTable sim$remNode $remPortNum 3]
+	puts "-I- Old LOW VLA on node:$remNodeName port:$remPortNum was:$old"
+	if {[IBMSNode_setVLArbLTable sim$remNode $remPortNum 3 $VLA]} {
+		return "ERR: failed to update LOW VLArb on node:$remNodeName port:$remPortNum"
+	}
+	return "Set VLArb High and Low on $remNodeName port:$remPortNum accross from node:$nodeName port:$portNum to $VLA"
+}
+
+set fabric [IBMgtSimulator getFabric]
diff --git a/ibdiag/demo/sm-credits.check.tcl b/ibdiag/demo/sm-credits.check.tcl
new file mode 100644
index 0000000..c88f1b7
--- /dev/null
+++ b/ibdiag/demo/sm-credits.check.tcl
@@ -0,0 +1,58 @@
+# This is the checker for SM Credit Loops detector code
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global lmc
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+
+   set osmCmd "$osmPath -d2 -f $osmLog -g $osmPortGuid"
+	puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global lmc
+   set osmLog [file join $simDir osm.log]
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts " run ibdiagnet -r to report cerdit loops..."
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/sm-lids.check.tcl b/ibdiag/demo/sm-lids.check.tcl
new file mode 100644
index 0000000..247ed97
--- /dev/null
+++ b/ibdiag/demo/sm-lids.check.tcl
@@ -0,0 +1,68 @@
+# This is the checker for SM lid assignment checks
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global lmc
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   set lmc 1
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+
+   set osmCmd "$osmPath -l $lmc -d2 -f $osmLog -g $osmPortGuid"
+	puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global lmc
+   set osmLog [file join $simDir osm.log]
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts " Randomizing some LIDs ... "
+
+global osmPid
+exec kill $osmPid
+	# randomize lid errors:
+	puts $simCtrlSock "setLidAssignmentErrors \$fabric $lmc"
+	puts "SIM: [gets $simCtrlSock]"
+
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/sm-lids.sim.tcl b/ibdiag/demo/sm-lids.sim.tcl
new file mode 100644
index 0000000..2a6ecba
--- /dev/null
+++ b/ibdiag/demo/sm-lids.sim.tcl
@@ -0,0 +1,220 @@
+
+# obtain the list of addressible ports of the fabric:
+# since the IBDM does not support port 0 (all port are really physp)
+# we need to provide back the list of node/portNum pairs
+proc getAddressiblePorts {fabric} {
+   global PORT_LID LID_PORTS
+   set nodePortNumPairs {}
+
+   # go over all nodes
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # switches has only one port - port 0
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodePortNumPairs [list $node 0]
+         for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {$port == ""} {continue}
+				set lid [IBPort_base_lid_get $port]
+				set key "$node $pn"
+				set PORT_LID($key) $lid
+				if {![info exists LID_PORTS($lid)]} {
+					set LID_PORTS($lid) "{$key}"
+				} else {
+					lappend LID_PORTS($lid) $key
+				}
+			}
+      } else {
+         set pMin 1
+         set pMax [IBNode_numPorts_get $node]
+         for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {$port == ""} {continue}
+
+				set lid [IBPort_base_lid_get $port]
+				set key "$node $pn"
+				set PORT_LID($key) $lid
+				if {![info exists LID_PORTS($lid)]} {
+					set LID_PORTS($lid) "{$key}"
+				} else {
+					lappend LID_PORTS($lid) $key
+				}
+            # if the port is not connected ignore it:
+            if {[IBPort_p_remotePort_get $port] != ""} {
+               lappend nodePortNumPairs [list $node $pn]
+            }
+         }
+      }
+   }
+   return $nodePortNumPairs
+}
+
+# assign a specify port lid:
+proc assignPortLid {node portNum lid} {
+   global PORT_LID LID_PORTS BAD_LIDS
+
+   # HACK we can not trust the Fabric PortByLid anymore...
+
+   # first we set the IBDM port lid
+   if {$portNum == 0} {
+      set pMin 1
+      set pMax [IBNode_numPorts_get $node]
+      for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            IBPort_base_lid_set $port $lid
+         }
+      }
+   } else {
+      set port [IBNode_getPort $node $portNum]
+      if {$port != ""} {
+         IBPort_base_lid_set $port $lid
+      }
+   }
+   set pi [IBMSNode_getPortInfo sim$node $portNum]
+   set prevLid [ib_port_info_t_base_lid_get $pi]
+
+   if {$lid == $prevLid} {return 0}
+
+   ib_port_info_t_base_lid_set $pi $lid
+
+   # track it:
+   set key "$node $portNum"
+   if {[info exists LID_PORTS($prevLid)]} {
+      set idx [lsearch $LID_PORTS($prevLid) $key]
+      if {$idx >= 0} {
+         set LID_PORTS($prevLid) [lreplace $LID_PORTS($prevLid) $idx $idx]
+         if {[llength $LID_PORTS($prevLid)] < 2} {
+            if {[info exists BAD_LIDS($prevLid)]} {
+               unset BAD_LIDS($prevLid)
+            }
+         }
+      }
+   }
+
+   set PORT_LID($key) $lid
+   if {![info exists LID_PORTS($lid)]} {
+      set LID_PORTS($lid) "{$key}"
+   } else {
+      if {[lsearch $LID_PORTS($lid) $key] < 0} {
+         lappend LID_PORTS($lid) $key
+         if {[llength $LID_PORTS($lid)] > 1} {
+            set BAD_LIDS($lid) 1
+         }
+      }
+   }
+}
+
+# randomaly select one of the numbers provided in the given sequence
+proc getRandomNumOfSequence {seq} {
+   set idx [expr int([rmRand]*[llength $seq])]
+   return [lindex $seq $idx]
+}
+
+# get a free lid value by randomizing it and avoiding used ones
+proc getFreeLid {lmc} {
+   global LID_PORTS
+   set lid 0
+   while {$lid == 0} {
+      set lid [expr int( [array size LID_PORTS] * 3 * [rmRand])]
+      set lid [expr ($lid >> $lmc) << $lmc]
+      if {[info exists LID_PORTS($lid)]} {set lid 0}
+   }
+   return $lid
+}
+
+# get a used lid
+proc getUsedLid {} {
+   global LID_PORTS
+   return [getRandomNumOfSequence [array names LID_PORTS]]
+}
+
+# randomize lid assignment errors:
+# 1. not assigned
+# 2. colide with other ports
+# 3. mis-aligned lids
+# 4. modify and single
+# 5. modify and collide
+#
+proc setLidAssignmentErrors {fabric lmc} {
+   global PORT_LID BAD_LIDS
+   global DISCONNECTED_NODES
+	global errorInfo
+   # we simply go over all ports again randomize errors
+   # then inject them acordingly
+
+   set randProfile {
+      OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
+      NotAssigned NotAssigned
+      MisAligned MisAligned
+      ModifiedCollide ModifiedCollide
+      ModifiedNotCollide ModifiedNotCollide
+   }
+
+	if {[catch {
+		set addrNodePortNumPairs [getAddressiblePorts $fabric]
+	} e]} {
+		puts "$e"
+		puts $errorInfo
+	}
+	puts "Got [llength $addrNodePortNumPairs]"
+   set lidStep [expr 1 << $lmc]
+   set numBadLids 0
+   set numDisc 0
+   # go over al the ports in the fabric and set their lids
+   foreach nodePortNum $addrNodePortNumPairs {
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+
+      if {$pn != 0} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set guid [IBPort_guid_get $port]
+      } else {
+         set guid [IBNode_guid_get $node]
+      }
+
+      set badLidCode [getRandomNumOfSequence $randProfile]
+
+      switch $badLidCode {
+         NotAssigned {
+            puts "-I- Nulling node:$node guid:$guid port:$pn"
+            assignPortLid $node $pn 0
+            incr numBadLids
+         }
+         MisAligned {
+            if {($lmc > 0) && ($pn != 0)} {
+               puts "-I- Mis-align node:$node guid:$guid port:$pn"
+               set badLid [expr $PORT_LID($node $pn) + 1]
+               assignPortLid $node $pn $badLid
+               # this is the only case where we need to
+               # mark bad lids explicitly as the assignmemnt thinks it is ok
+               set BAD_LIDS($badLid) 1
+               incr numBadLids
+            }
+         }
+         ModifiedCollide {
+            set badLid [getUsedLid]
+            puts [format \
+                     "-I- Colliding node:$node guid:$guid port:$pn on lid:0x%04x" \
+                     $badLid]
+            assignPortLid $node $pn $badLid
+            incr numBadLids
+         }
+         ModifiedNotCollide {
+            set badLid [getFreeLid $lmc]
+            puts [format "-I- Changing node:$node guid:$guid port:$pn to free lid:0x%04x" $badLid]
+            assignPortLid $node $pn $badLid
+            incr numBadLids
+         }
+      }
+   }
+   # every node/port
+   set res "-I- Created $numBadLids lid modifications, disconnected $numDisc nodes"
+   puts "$res"
+   return $res
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibdiag/demo/sm-link-setup.check.tcl b/ibdiag/demo/sm-link-setup.check.tcl
new file mode 100644
index 0000000..b44f363
--- /dev/null
+++ b/ibdiag/demo/sm-link-setup.check.tcl
@@ -0,0 +1,75 @@
+# This is the checker for SM LINK SETUP flow
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # start the SM
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+   set valgrind "/usr/bin/valgrind --tool=memcheck"
+   set osmCmd "$osmPath -D 0x43 -d2 -t 4000 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global nodePortGroupList
+	global GROUP_HOSTS
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	# make sure /proc is updated ...
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network\n"
+	puts " Making some changes:"
+	puts $simCtrlSock "setPortMTU \$fabric SL2-1/U1 1 256"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setPortOpVLs \$fabric SL2-3/U1 1 2"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setPortWidth \$fabric SL2-1/U1 4 1x"
+   puts "SIM: [gets $simCtrlSock]"
+	puts $simCtrlSock "setPortSpeed \$fabric SL2-4/U1 3 2.5"
+   puts "SIM: [gets $simCtrlSock]"
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/sm-link-setup.sim.tcl b/ibdiag/demo/sm-link-setup.sim.tcl
new file mode 100644
index 0000000..cd9de91
--- /dev/null
+++ b/ibdiag/demo/sm-link-setup.sim.tcl
@@ -0,0 +1,107 @@
+puts "Running Simulation flow for SM LINK SETUP test case"
+
+proc setPortSpeed {fabric nodeName portNum speed} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	switch $speed {
+		2.5 {set code 1}
+		5   {set code 2}
+		10  {set code 4}
+		default {
+			return "ERR: unknown speed:$speed"
+		}
+	}
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	set old [ib_port_info_t_link_speed_get $pi]
+	set new [format %x [expr ($code << 4) | ($old & 0xf)]]
+	ib_port_info_t_link_width_active_set $pi $new
+	return "Set node:$nodeName port:$portNum LinkSpeedActive to ${speed}Gpbs was $old now $new"
+}
+
+proc setPortWidth {fabric nodeName portNum width} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	switch $width {
+		1x {set code 1}
+		4x {set code 2}
+		8x {set code 4}
+		12x {set code 8}
+		default {
+			return "ERR: unknown width:$width"
+		}
+	}
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	set old [ib_port_info_t_link_width_active_get $pi]
+	ib_port_info_t_link_width_active_set $pi $code
+	return "Set node:$nodeName port:$portNum LinkWidthActive to $width was $old now $code"
+}
+
+proc setPortOpVLs {fabric nodeName portNum vls} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	set old [ib_port_info_t_vl_enforce_get $pi]
+	set new [format %x [expr ($vls << 4) | ($old & 0xf)]]
+	ib_port_info_t_vl_enforce_set $pi $new
+	return "Set node:$nodeName port:$portNum OpVLs to $vls opvls_enforcement was $old now $new"
+}
+
+proc setPortMTU {fabric nodeName portNum mtu} {
+	set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		puts "-E- fail to find node $nodeName"
+		return "ERR: fail to find node $nodeName"
+	}
+	set port [IBNode_getPort $node $portNum]
+	if {$port == ""} {
+		puts "-E- fail to find node $nodeName port $portNum"
+		return "ERR: fail to find node $nodeName port $portNum"
+	}
+
+	switch $mtu {
+		256 {set mtuCode 1}
+		512 {set mtuCode 2}
+		1024 {set mtuCode 3}
+		2048 {set mtuCode 4}
+		4096 {set mtuCode 5}
+		default {
+			return "ERR: unknown MTU:$mtu"
+		}
+	}
+
+	set pi [IBMSNode_getPortInfo sim$node $portNum]
+	set old [ib_port_info_t_mtu_smsl_get $pi]
+	set new [format %x [expr ($mtuCode << 4) | ($old & 0xf)]]
+	ib_port_info_t_mtu_smsl_set $pi $new
+	return "Set node:$nodeName port:$portNum NeighborMTU to $mtu mtu_smsl was $old now $new"
+}
+
+
+set fabric [IBMgtSimulator getFabric]
diff --git a/ibdiag/demo/sm-routing.check.tcl b/ibdiag/demo/sm-routing.check.tcl
new file mode 100644
index 0000000..056f43c
--- /dev/null
+++ b/ibdiag/demo/sm-routing.check.tcl
@@ -0,0 +1,171 @@
+# This is the checker for SM LFT/MFT assignment checks
+
+# given the node port group defined by the sim flow
+# setup the partitions policy file for the SM
+proc setupPartitionPolicyFile {fileName} {
+   set f [open $fileName w]
+
+   # no need for default partition
+   # puts $f "Default=0x7fff ,ipoib : ALL, SELF=full ;"
+
+	puts $f "G1=0x8001, ipoib: ALL=full;"
+	puts $f "G2=0x8002, ipoib: ALL=full;"
+	puts $f "G2=0x8003, ipoib: ALL=full;"
+   close $f
+}
+
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock osmPid
+   global env
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   # Prepare the nodes partitions data
+   set partitionPolicyFile  [file join $simDir opensm-partitions.policy]
+   setupPartitionPolicyFile $partitionPolicyFile
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------"
+	puts " Starting the SM\n"
+
+   set osmCmd "$osmPath -P$partitionPolicyFile -d2 -f $osmLog -g $osmPortGuid"
+	puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+	global topologyFile
+	global osmPid
+
+   set osmLog [file join $simDir osm.log]
+
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	puts "---------------------------------------------------------------------"
+	puts " OpemSM brought up the network"
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+	puts " All hosts now joining their IPoIB Subnets"
+	puts $simCtrlSock "joinPortsByPartition \$fabric {0x8001 0x8002 0x8003}"
+   puts "SIM: [gets $simCtrlSock]"
+	after 10000
+	puts "---------------------------------------------------------------------"
+	puts " SUBNET READY FOR DIAGNOSTICS"
+	puts "\nCut and paste the following in a new window then run ibdiagnet:"
+	puts "cd $simDir"
+	puts "setenv IBMGTSIM_DIR  $simDir"
+	puts "setenv OSM_CACHE_DIR $simDir"
+	puts "setenv OSM_TMP_DIR   $simDir"
+	puts " "
+	puts "---------------------------------------------------------------------"
+	puts " Forcing LFT/MFT changes ... "
+	puts $simCtrlSock "causeDeadEndOnPath \$fabric H-2/U1 1 H-41/U1 1"
+	set ret [gets $simCtrlSock]
+   puts "SIM:$ret\n"
+	if {![regexp {at switch:(\S+)} $ret d1 swName]} {
+		return 1
+	}
+	puts "See what errors are reported using ibdiagnet and ibdiagpath"
+	puts "1) try: ibdiagnet -r"
+	puts "2) try: ibdiagpath -n H-2,H-41 -t $topologyFile"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts " Let the SM fix the issue:"
+	puts $simCtrlSock "setSwitchChangeBit \$fabric $swName"
+	puts "SIM: [gets $simCtrlSock]"
+	exec kill -HUP $osmPid
+	# wait for sweep to end or exit
+	puts "-I- Waiting for subnet up"
+	set ignorePrev 1
+	if {[osmWaitForUpOrDead $osmLog $ignorePrev]} {
+		return 1
+	}
+	puts "Repeat the previous commands to see everything is back to normal"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts $simCtrlSock "causeDeadEndOnPath \$fabric H-4/U1 1 H-23/U1 1"
+	set ret [gets $simCtrlSock]
+   puts "SIM:$ret\n"
+	if {![regexp {at switch:(\S+)} $ret d1 swName]} {
+		return 1
+	}
+	puts "See what errors are reported using ibdiagnet and ibdiagpath"
+	puts "1) try: ibdiagnet -r"
+	puts "2) try: ibdiagpath -n H-4,H-23 -t $topologyFile"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts " Let the SM fix the issue:"
+	puts $simCtrlSock "setSwitchChangeBit \$fabric $swName"
+	puts "SIM: [gets $simCtrlSock]"
+	exec kill -HUP $osmPid
+	# wait for sweep to end or exit
+	puts "-I- Waiting for subnet up"
+	set ignorePrev 1
+	if {[osmWaitForUpOrDead $osmLog $ignorePrev]} {
+		return 1
+	}
+	puts "Repeat the previous commands to see everything is back to normal"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts $simCtrlSock "causeLoopOnPath \$fabric H-8/U1 1 H-22/U1 1"
+	set ret [gets $simCtrlSock]
+   puts "SIM:$ret\n"
+	if {![regexp {at switch:(\S+)} $ret d1 swName]} {
+		return 1
+	}
+	puts "See what errors are reported using ibdiagnet and ibdiagpath"
+	puts "1) try: ibdiagnet -r"
+	puts "2) try: ibdiagpath -n H-8,H-22 -t $topologyFile"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts " Let the SM fix the issue:"
+	puts $simCtrlSock "setSwitchChangeBit \$fabric $swName"
+	puts "SIM: [gets $simCtrlSock]"
+	exec kill -HUP $osmPid
+	# wait for sweep to end or exit
+	puts "-I- Waiting for subnet up"
+	set ignorePrev 1
+	if {[osmWaitForUpOrDead $osmLog $ignorePrev]} {
+		return 1
+	}
+	puts "Repeat the previous commands to see everything is back to normal"
+	puts " press Enter when done"
+	gets stdin
+	puts "---------------------------------------------------------------------"
+	puts $simCtrlSock "breakMCG \$fabric 0xc002"
+   puts "SIM: [gets $simCtrlSock]\n"
+	puts "See what errors are reported using ibdiagnet:"
+	puts "1) try: ibdiagnet -r"
+	puts " press Enter when done"
+	gets stdin
+   return 0
+}
diff --git a/ibdiag/demo/sm-routing.sim.tcl b/ibdiag/demo/sm-routing.sim.tcl
new file mode 100644
index 0000000..6ff4a7f
--- /dev/null
+++ b/ibdiag/demo/sm-routing.sim.tcl
@@ -0,0 +1,236 @@
+# A flow to support the LFT MFT diagnostic demo
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# set the change bit on the switch accross from the SM
+proc setSwitchChangeBit {fabric nodeName} {
+	global IB_SW_NODE
+
+   set node [IBFabric_getNode $fabric $nodeName]
+	if {$node == ""} {
+		return "ERR: Fail to find node:$nodeName"
+	}
+
+	if {[IBNode_type_get $node] != $IB_SW_NODE} {
+		return "ERR: Given node:$nodeName is not a switch"
+	}
+
+	set swi [IBMSNode_getSwitchInfo sim$node]
+	set lifeState [ib_switch_info_t_life_state_get $swi]
+	set lifeState [expr ($lifeState & 0xf8) | 4 ]
+	ib_switch_info_t_life_state_set $swi $lifeState
+
+	# OpenSM will not set the switch unless some port changed state...
+	# so pick some other port and play with it state
+	set numPorts [IBNode_numPorts_get $node]
+	for {set pn 1} {$pn <= $numPorts} {incr pn} {
+		set pi [IBMSNode_getPortInfo sim$node $pn]
+		set old [ib_port_info_t_state_info1_get $pi]
+		set new [expr ($old & 0xf0) | 0x2]
+		ib_port_info_t_state_info1_set $pi $new
+	}
+	puts "-I- Set change bit on switch:$node"
+
+	if {0} {
+		# send a trap...
+		set ni [IBMSNode_getNodeInfo sim$node]
+		set trap [madNotice128]
+		madNotice128_issuer_lid_set    $trap [ib_port_info_t_base_lid_get $pi]
+		madNotice128_generic_type_set  $trap 0x8001
+		madNotice128_issuer_gid_set    $trap [ib_node_info_t_port_guid_get $ni]
+		madNotice128_sw_lid_set        $trap [ib_port_info_t_base_lid_get $pi]
+		madNotice128_trap_num_set      $trap 128
+		# HACK assume the SM LID is 1
+		madNotice128_send_trap         $trap sim$node 1 1
+	}
+	return "-I- Set change bit on switch:$node"
+}
+
+# register all ports to MGID
+proc joinPortToMGID {port mgid} {
+   puts "-I- Joining port [IBPort_getName $port] to MGID:$mgid"
+
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm $mgid
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it assuming the SM_LID is always 1:
+   madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# join each ports to all the given pkes IPoIB groups
+proc joinPortsByPartition {fabric pkeys} {
+	set numJoins 0
+	set hcaPorts [getAllActiveHCAPorts $fabric]
+	foreach port $hcaPorts {
+		foreach pkey $pkeys {
+			set mgid [format "0xff12401b%04x0000:00000000ffffffff" $pkey]
+			joinPortToMGID $port $mgid
+			incr numJoins
+		}
+	}
+	return "Performed $numJoins joins"
+}
+
+proc causeDeadEndOnPath {fabric srcName srcPortNum dstName dstPortNum} {
+	# find the LID of DST PORT:
+	set dstNode [IBFabric_getNode $fabric $dstName]
+	if {$dstNode == ""} {
+		return "ERR: could not find the dst node:$dstName"
+	}
+
+	set dstPort [IBNode_getPort $dstNode $dstPortNum]
+	if {$dstPort == ""} {
+		return "ERR: could not find the dst node:$dstName port:$dstPortNum"
+	}
+	set dLid [IBPort_base_lid_get $dstPort]
+
+	set srcNode [IBFabric_getNode $fabric $srcName]
+	if {$srcNode == ""} {
+		return "ERR: could not find the src node:$srcName"
+	}
+
+	set srcPort [IBNode_getPort $srcNode $srcPortNum]
+	if {$srcPort == ""} {
+		return "ERR: could not find the src node:$srcName port:$srcPortNum"
+	}
+
+	set sLid [IBPort_base_lid_get $srcPort]
+
+	if {[ibdmTraceRouteByLFT $fabric $sLid $dLid hops nodeList]} {
+		return "ERR: failed to obtain path"
+	}
+
+	set swIdx [expr int(rand()*$hops)]
+	set swNode [lindex $nodeList $swIdx]
+	set swName [IBNode_name_get $swNode]
+	IBNode_setLFTPortForLid $swNode $dLid 255
+	return "Dead-End path from $srcName/$srcPortNum to $dstName/$dstPortNum at switch:$swName"
+}
+
+proc causeLoopOnPath {fabric srcName srcPortNum dstName dstPortNum} {
+	# find the LID of DST PORT:
+	set dstNode [IBFabric_getNode $fabric $dstName]
+	if {$dstNode == ""} {
+		return "ERR: could not find the dst node:$dstName"
+	}
+
+	set dstPort [IBNode_getPort $dstNode $dstPortNum]
+	if {$dstPort == ""} {
+		return "ERR: could not find the dst node:$dstName port:$dstPortNum"
+	}
+	set dLid [IBPort_base_lid_get $dstPort]
+
+	set srcNode [IBFabric_getNode $fabric $srcName]
+	if {$srcNode == ""} {
+		return "ERR: could not find the src node:$srcName"
+	}
+
+	set srcPort [IBNode_getPort $srcNode $srcPortNum]
+	if {$srcPort == ""} {
+		return "ERR: could not find the src node:$srcName port:$srcPortNum"
+	}
+
+	set sLid [IBPort_base_lid_get $srcPort]
+
+	if {[ibdmTraceRouteByLFT $fabric $sLid $dLid hops nodeList]} {
+		return "ERR: failed to obtain path"
+	}
+	if {$hops < 2} {
+		return "ERR: need > 1 switches for a loop"
+	}
+	set swIdx [expr int(rand()*($hops-1))]
+	set sw1Node [lindex $nodeList $swIdx]
+	set sw2Node [lindex $nodeList [expr $swIdx+1]]
+	set sw1OutPortNum [IBNode_getLFTPortForLid $sw1Node $dLid]
+	set sw1OutPort    [IBNode_getPort $sw1Node $sw1OutPortNum]
+	set sw2InPort     [IBPort_p_remotePort_get $sw1OutPort]
+
+	set swName [IBNode_name_get $sw2Node]
+	IBNode_setLFTPortForLid $sw2Node $dLid [IBPort_num_get $sw2InPort]
+	return "Loop path from $srcName/$srcPortNum to $dstName/$dstPortNum at switch:$swName"
+}
+
+proc breakMCG {fabric mlid} {
+	# simply find a switch with MFT set for the mlid and remove one bit ...
+
+	set blockIdx [expr ($mlid - 0xc000)/32]
+	set mlidIdx  [expr ($mlid - 0xc000)%32]
+	set portIdx 0
+	puts "Using blockIdx:$blockIdx mlidIdx:$mlidIdx"
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+		set swName [IBNode_name_get $node]
+
+		# HACK: skip level 1 switches
+		if {[regexp {^SL1} $swName]} {continue}
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] == 1} {
+			for {set portIdx 0} {$portIdx < 2} {incr portIdx} {
+				set mft [IBMSNode_getMFTBlock sim$node $blockIdx $portIdx]
+				puts "-I- Switch:$swName block:$blockIdx ports:$portIdx MFT:$mft"
+				set portMask [lindex $mft $mlidIdx]
+				if {$portMask != 0} {
+					for {set bit 0} {$bit < 16} {incr bit} {
+						set mask [expr 1 << $bit]
+						if {$portMask & $mask} {
+							set portMask [format 0x%04x [expr $portMask & ~$mask]]
+							set mft [lreplace $mft $mlidIdx $mlidIdx $portMask]
+							IBMSNode_setMFTBlock sim$node $blockIdx $portIdx $mft
+							puts "-I- Switch:$swName block:$blockIdx ports:$portIdx NEW MFT:$mft"
+							return "Broke MLID:$mlid routing at port:$bit of switch:$swName"
+						}
+					}
+				}
+			}
+      }
+   }
+	return "ERR: could not find any switch to break the MLID:$mlid routing"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibdiag/demo/sm-single-master.tcl b/ibdiag/demo/sm-single-master.tcl
new file mode 100644
index 0000000..8044278
--- /dev/null
+++ b/ibdiag/demo/sm-single-master.tcl
@@ -0,0 +1,109 @@
+# This is the checker for Multiple SMs  Flow
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+	puts "---------------------------------------------------------------------\n"
+	puts " Running OpenSM:"
+   set osmCmd "$osmPath -D 0x43 -d2 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+	global osmPid
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+	set PORT_GUID(H-2/P1) [makeProcFSForNode $simDir H-2 1 1]
+	set PORT_GUID(H-3/P1) [makeProcFSForNode $simDir H-3 1 1]
+
+	# make sure /proc is updated ...
+	puts "---------------------------------------------------------------------\n"
+	puts " Creating /proc file system for H-1,H-2,H-3:"
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-2/U1 H-2/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-2 proc file:$res"
+	puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-3/U3 H-3/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-3 proc file:$res"
+
+
+	puts "---------------------------------------------------------------------\n"
+	puts " THIS FLOW REQUIRES MANUALy RUNNING OpenSM.\n"
+	puts " 1. GOOD CASE:"
+	puts "   a. Use the following commands on a new window:"
+	puts "     	cd $simDir"
+	puts "      setenv IBMGTSIM_DIR  $simDir"
+	puts "      setenv OSM_CACHE_DIR $simDir"
+	puts "      setenv OSM_TMP_DIR   $simDir"
+	puts "      setenv IBMGTSIM_NODE H-1"
+	puts "   b. Run ibdiagnet for the first time to see all is OK."
+	puts " press Enter when done"
+	gets stdin
+
+	puts "---------------------------------------------------------------------\n"
+	puts " 2. Run with no SM (I will be killing OpenSM now)...."
+	exec kill $osmPid
+	puts "    OpenSM killed - now run ibdiagnet and see the error:"
+	puts "    -E- Missing master SM in the discover fabric\n"
+	puts " press Enter when done"
+	gets stdin
+
+	puts "---------------------------------------------------------------------\n"
+	puts " 3. TWO MASTERs :"
+	puts "   a. Start OpenSM on H-1 using the command:"
+	puts "      $osmPath -s 1000 -f $osmLog.1 -g $osmPortGuid"
+	puts "   b. Wait for 'SUBNET UP' message and then Ctrl-Z it"
+	puts " press Enter when done"
+	gets stdin
+	puts "   c. Start OpenSM on H-2 using the commands:"
+	puts "      setenv IBMGTSIM_NODE H-2"
+	puts "      $osmPath -s 1000 -f $osmLog.2 -g $PORT_GUID(H-2/P1)"
+	puts "   d. Wait for 'SUBNET UP' message (~2min - due to timeout other SM queries)"
+	puts "   e. Now put the SM on H-2 to background by: 'Ctrl-Z' and 'bg' it"
+	puts "   f. Put the first SM into action: bg %1"
+	puts "   g. Run ibdiagnet again to see the error about two masters"
+	puts "      See the error message:"
+	puts "      -E- Found more then one master SM in the discover fabric\n"
+	puts " press Enter when done"
+	gets stdin
+	puts "   h. Make one of teh SMs sweep: kill -HUP %2."
+   puts "      Now one of the SMs gets to standby mode"
+	puts "   i. Run ibdiagnet again to see the info about the SMs in /tmp/ibdiagnet.sm"
+	puts " "
+	puts " press Enter when done"
+	gets stdin
+	puts " DO NOT FORGET TO KILL THE SMs..."
+   return 0
+}
diff --git a/ibdiag/doc/Makefile b/ibdiag/doc/Makefile
new file mode 100644
index 0000000..1d42aa2
--- /dev/null
+++ b/ibdiag/doc/Makefile
@@ -0,0 +1,362 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# doc/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdiag
+pkglibdir = $(libdir)/ibdiag
+pkgincludedir = $(includedir)/ibdiag
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run aclocal-1.9
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run tar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run automake-1.9
+AWK = mawk
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"ibdiag\" -DPACKAGE_TARNAME=\"ibdiag\" -DPACKAGE_VERSION=\"1.2\" -DPACKAGE_STRING=\"ibdiag\ 1.2\" -DPACKAGE_BUGREPORT=\"openib-general at openib.org\" -DPACKAGE=\"ibdiag\" -DVERSION=\"1.2\" 
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LIBOBJS = 
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run makeinfo
+PACKAGE = ibdiag
+PACKAGE_BUGREPORT = openib-general at openib.org
+PACKAGE_NAME = ibdiag
+PACKAGE_STRING = ibdiag 1.2
+PACKAGE_TARNAME = ibdiag
+PACKAGE_VERSION = 1.2
+PATH_SEPARATOR = :
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 1.2
+ac_ct_STRIP = 
+am__leading_dot = .
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = i486-linux-gnu
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_graphviz_lib = /usr/lib/graphbiz/tcl
+with_ibdm_lib = none
+with_ibis = none
+with_tk_lib = /usr/lib
+man_MANS = ibdiagnet.1 ibdiagpath.1 ibdiagui.1
+EXTRA_DIST = ibdiagnet.pod ibdiagpath.pod ibdiagui.pod ibdiag_pod2man
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-man1 install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+	uninstall-am uninstall-info-am uninstall-man uninstall-man1
+
+
+ibdiagnet.1: ibdiagnet.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagnet.pod ibdiagnet.1
+
+ibdiagpath.1: ibdiagpath.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagpath.pod ibdiagpath.1
+
+ibdiagui.1: ibdiagui.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagui.pod ibdiagui.1
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/doc/Makefile.am b/ibdiag/doc/Makefile.am
new file mode 100644
index 0000000..3dc445e
--- /dev/null
+++ b/ibdiag/doc/Makefile.am
@@ -0,0 +1,45 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+man_MANS = ibdiagnet.1 ibdiagpath.1 ibdiagui.1
+EXTRA_DIST = ibdiagnet.pod ibdiagpath.pod ibdiagui.pod ibdiag_pod2man
+
+ibdiagnet.1: ibdiagnet.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagnet.pod ibdiagnet.1
+
+ibdiagpath.1: ibdiagpath.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagpath.pod ibdiagpath.1
+
+ibdiagui.1: ibdiagui.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagui.pod ibdiagui.1
diff --git a/ibdiag/doc/Makefile.in b/ibdiag/doc/Makefile.in
new file mode 100644
index 0000000..52936db
--- /dev/null
+++ b/ibdiag/doc/Makefile.in
@@ -0,0 +1,362 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_graphviz_lib = @with_graphviz_lib@
+with_ibdm_lib = @with_ibdm_lib@
+with_ibis = @with_ibis@
+with_tk_lib = @with_tk_lib@
+man_MANS = ibdiagnet.1 ibdiagpath.1 ibdiagui.1
+EXTRA_DIST = ibdiagnet.pod ibdiagpath.pod ibdiagui.pod ibdiag_pod2man
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-man1 install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+	uninstall-am uninstall-info-am uninstall-man uninstall-man1
+
+
+ibdiagnet.1: ibdiagnet.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagnet.pod ibdiagnet.1
+
+ibdiagpath.1: ibdiagpath.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagpath.pod ibdiagpath.1
+
+ibdiagui.1: ibdiagui.pod
+	$(srcdir)/ibdiag_pod2man $(srcdir)/ibdiagui.pod ibdiagui.1
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/doc/ibdiag_pod2man b/ibdiag/doc/ibdiag_pod2man
new file mode 100755
index 0000000..1058dc0
--- /dev/null
+++ b/ibdiag/doc/ibdiag_pod2man
@@ -0,0 +1,32 @@
+eval '(exit $?0)' &&
+  eval 'exec perl -S $0 ${1+"$@"}' &&
+  eval 'exec perl -S $0 $argv:q'
+  if 0;
+
+use Pod::Man;
+$VERSION = "IBDIAG 1.0";
+$CENTER = "IB DIAGNOSTIC PACKAGE";
+my $parser = Pod::Man->new (release => $VERSION, center => $CENTER);
+
+if (scalar(@ARGV) < 1) {
+   print "Usage $0 podFile [outFile]\n";
+   exit(1);
+}
+$inFile = $ARGV[0];
+if ($inFile !~ m/(.*)\.pod$/) {
+   print "Usage $0 podFile [outFile]\n";
+   print "Given podFile:$inFile extension != .pod\n";
+   exit(1);
+} else {
+   $base = $1;
+}
+
+if (scalar(@ARGV) > 1) {
+   $outFile = $ARGV[1];
+} else {
+   $outFile = "$base.1";
+}
+
+# Read POD from file.pod and write to file.1.
+$parser->parse_from_file ($inFile, $outFile);
+exit(0);
diff --git a/ibdiag/doc/ibdiag_release_notes.txt b/ibdiag/doc/ibdiag_release_notes.txt
new file mode 100644
index 0000000..3a04655
--- /dev/null
+++ b/ibdiag/doc/ibdiag_release_notes.txt
@@ -0,0 +1,261 @@
+                     Open Fabrics InfiniBand Diagnostic Utilities
+                     --------------------------------------------
+
+*******************************************************************************
+RELEASE: OFED 1.3
+DATE: Feb 2008
+
+===============================================================================
+Table of Contents
+===============================================================================
+1. Overview
+2. New features
+3. Major Bugs Fixed
+4. Known Issues
+
+===============================================================================
+1. Overview
+===============================================================================
+
+The ibdiag package was enhanced to check more aspects of the network setup,
+including partitions, IPoIB and QoS. Additional major feature is it's ability
+to write a topology file of the discovered network. A summary table is provided
+with a list of the executed checks and their results.
+
+===============================================================================
+2. New Features
+===============================================================================
+
+The following new checks were added to the tools:
+
+ibdiagnet new features:
+-----------------------
++ Partitions Check:
+  - Validate all leaf switch ports (conencted to a host) which enforce
+    partitions are not blocking partitions set on the host ports they
+    are connected to.
+  - Report for each partition the member hosts and their membership status.
+    Full membership allows hosts to communicate to any other member.
+    Partial membership allows communication with full members only.
+    The new report file is named ibdiagnet.pkey.
+
++ IPoIB Subnets Check:
+  - The IPoIB subnets and their properties are reported.
+  - For each group all the host ports that are part of the partition are
+    checked to have a high enough communication rate to be part of the group
+     (warn if not).
+  - If all the group members can use a communication rate higher then the group
+    rate a warning is produced as the subnet uses a suboptimal rate.
+
+Other changes:
++ The multicast groups report was enhanced to provide the details of each
+  group and the memebers list is provided in a new report file: ibdiagnet.mcgs.
+
++ A new flag, -wt <file-name>, was added. ibdiagnet, with the new option,
+  writes out a discovered topology file by the provided file-name and
+  the required new IBNL files into an output directory named ibdiag_ibnl.
+  This new feature allows you to capture the current state of the fabric
+  and later compare to it. Such the features provided by the "Topology
+  Matching" check become available. These feature include recognizing
+  changes in connections, speed and width.
+
++ Load subnet database from file:
+  Ibdiagnet dumps its internal database, which contains the subnet structure,
+  to a file (/tmp/ibdiagnet.db by default). This file can be loaded in later
+  ibdiagnet runs (using the -load_db <db file> option). When this option is set,
+  ibdiagnet loads the subnet data from the file and skips the discovery stage.
+  Using this option can save the subnet discovery time for large cluster.
+  Note: Some if ibdiagnet checks would not be performed when the -load_db
+        option is set. These checks are:
+        - Duplicated guids.
+        - Zero guids.
+        - Links in INIT state.
+        - SMs status.
+
+ + A new flag, -skip <skip-option(s)>, was added. When this flag is specified,
+   ibdiagnet skips the given check. One or more space separated values can be
+   specified.
+   Available skip options: dup_guids, zero_guids, pm, logical_state, part, ipoib.
+   The -skip flag can be used in order to run only specific checks, or to reduce
+   ibdiagnet run time.
+
+ibdiagpath new features:
+------------------------
++ Partitions Check:
+  - The list of partitions of source and destination ports is reported.
+  - A check for which partitions are common to the source, destination and
+    every port on the path (if enforcing partitions) is calculated and
+    reported. A warning is provided if a source partition is blocked by
+    a port on the path.
+    An error is provided in there are no common partitions for the path.
+
++ IPoIB Subnets Check:
+  - The IPoIB subnets available for the path and reported.
+  - If the source or destination ports are members in partitions which have
+    an IPoIB group and for some reason can not join the group a warning is
+    provided.
+
++ QoS Check:
+  With the introduction of QoS, the following new issues might arise from
+  impropper setup of the fabric:
+  - VL Arbitration Tables might use VLs which are higher then the currently
+    supported maximal VL on the port. A warning is provided for such cases.
+  - VL Arbitration Tables might "block" a VL by setting its weight to zero.
+    A warning is provided for these cases
+  - SLs (service levels) might be mapped to VLs which are blocked by the
+    two above rules. In such case these SLs can not be used by the path.
+    A report including the set of "valid" SLs for the path is provided.
+  - If there are no "valid" SLs an error is provided since the source and
+    destination ports can not communicate.
+
+Common changes to all tools:
+----------------------------
+A summary table of all the checks perfomed and their total number of errors and
+warnings was added to the tools standard output.
+
+===============================================================================
+3. Major Bugs Fixed
+===============================================================================
+
++ Fabrics Qualities report is now available in the main log file (and not only
+  in the standard output
+
+===============================================================================
+4. Known Issues
+===============================================================================
+
+- Ibdiagnet tries to query port counters for ports in INIT state. In this
+  case, run time would be longer and an error message for each port would be
+  printed to screen.
+  Workaround:
+  * Use "-skip pm" option if links in INIT state are found.
+  * Run opensm to activate the links.
+
+- A failure in IPoIB check may cause ibdiagnet to exit, without printing the
+  summary report.
+
+- Ibdiagnet "-wt" option may generate a bad topology file when running on a
+  cluster that contains complex switch systems.
+
+*******************************************************************************
+RELEASE: OFED 1.2
+DATE: June 2007
+
+===============================================================================
+Table of Contents
+===============================================================================
+1. Overview
+2. Requirements
+3. Reports
+4. Known Issues
+
+
+===============================================================================
+1. Overview
+===============================================================================
+
+The ibdiag package provides tools that encapsulate the best known diagnostic
+procedures for InfiniBand fabrics. Target users of these utilities are network
+managers not expert in the details of the InfiniBand specification.
+
+The following tools are provided:
+o ibdiagnet - performs a diagnostic check of the entire network.
+  Should be used on any suspicion of fabric misbehavior.
+  The default invocation can be enhanced to perform more advanced checks and
+  produce more reports. The following is a partial set of checks it performs:
+   - Check for a single master SM
+   - Check all routes between hosts are set correctly (include also multicast
+     groups)
+    - Check for fabric links health
+
+o ibdiagpath - traces a path between two nodes specified by LIDs or a directed
+  path. This utility should be used when connectivity between specific two
+  hosts is broken.
+
+o ibdiagui - a graphic user interface on top of ibdiagnet
+  Mostly suitable for medium size fabrics (<100 nodes) and for users who needs
+  to explore an unknown network. The main features it provides is an
+  automatically generated connectivity graph, an object properties browser and
+  hyperlinking of ibdiagnet log to these widgets.
+
+Note: man pages are provided for each tools.
+
+The package tools performs the following diagnostic procedures:
+* Discover the InfiniBand fabric connectivity
+* Determine whether or not a Subnet Manager (SM) is running
+* Identify links which drop packets and/or incur errors by sending MAD
+  packets multiple times, across all the links, reporting port monitor counters
+* Identify fabric level mismatches or inconsistencies such as:
+  - Duplicate port GUIDs - Two or more different ports with the same GUID
+  - Duplicate node GUIDs - Two or more different nodes with the same node GUID
+  - Duplicate LIDs - Two or more devices that have the same assigned LID
+  - Zero valued LIDs - A device with LID=0 indicates that the SM did not
+    assign a LID to this device.
+  - Zero valued system GUIDs - A device with system GUID=0 indicates that
+    the vendor did not assign it a GUID.
+  - An InfiniBand link is in the INIT state, which prevents data transfer
+  - Unexpected link width (when using the -lw flag)
+  - Unexpected link speed (when using the -ls flag)
+  - Check for partitions and SL2VL settings preventing communication between
+     specific nodes (ibdiagpath)
+
+===============================================================================
+2. Requirements
+===============================================================================
+
+Software dependency:
+
+1. ibis and ibdm must be installed (are included in same
+
+2. ibdiagui also depends on installation of the following packages:
+    * Tk8.4 is standard on all Linux distributions, but if not please
+      download and install from:
+      http://www.tcl.tk/software/tcltk/
+    * Graphviz - an automatic graph layout utility. Should be downloaded
+      and installed from:
+      http://www.graphviz.org/
+
+3. ibdiags are part of the ibutils package and should be installed
+    as part of it. Updates are possible as standalone package.
+
+===============================================================================
+3. Reports
+===============================================================================
+The default directory for all generated report files is /tmp .
+
+Both utilities collect summary information regarding all the fabric SM's
+during the run, and then output that information at end of the run in file
+/tmp/ibdiagnet.sm.
+
+Each report message includes:
+   - Device Type
+   - Device portGUID
+   - The direct path to the device
+   - If a topology file is provided to be matched with the discovered fabric,
+     the node name is also provided in the report message. Otherwise, host
+     names are included only in HCA-related report messages.
+
+===============================================================================
+4. Known Issues
+===============================================================================
+   ibdiagpath issues:
+   - If no subnet manager is initialized in the subnet, FDB tables may be
+     incorrectly set. Consequently, PortCounter MADs cannot be sent.
+
+   - A link along a LID-routed path in INIT state causes ibdiagpath performance
+     queries to fail. The performance queries fail since they cannot proceed
+      via non-ACTIVE links.
+
+   - ibdiagpath cannot validate the provided topology file against the
+      existing fabric topology. If the topology file includes a device/link
+      that does not exist, or the device/link information is incorrect,
+      then ibdiagpath may - in name-based routing - extract a non-existing
+      path based on the incorrect topology file.
+
+   - If the hostname provided for the -s flag is not the actual local
+      hostname, then all the extracted names from the topology file will
+      be incorrect. However, all the other information provided will be correct.
+
+   - Executing "ibis exit" in order to terminate ibis, while running over
+      RHEL5 i686, causes ibis to exit uncleanly.
+
diff --git a/ibdiag/doc/ibdiagnet.1 b/ibdiag/doc/ibdiagnet.1
new file mode 100644
index 0000000..f292226
--- /dev/null
+++ b/ibdiag/doc/ibdiagnet.1
@@ -0,0 +1,380 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDIAGNET 1"
+.TH IBDIAGNET 1 "2009-01-08" "IBDIAG 1.0" "IB DIAGNOSTIC PACKAGE"
+.SH "NAME"
+\&\fBibdiagnet \- IB diagnostic net\fR
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibdiagnet [\-c <count>] [\-v] [\-r] [\-o <out\-dir>]
+  [\-t <topo\-file>] [\-s <sys\-name>] [\-i <dev\-index>] [\-p <port\-num>] [\-wt]
+  [\-pm] [\-pc] [\-P <<\s-1PM\s0>=<Value>>]
+  [\-lw <1x|4x|12x>] [\-ls <2.5|5|10>]
+  [\-skip <ibdiag_check/s>] [\-load_db <db_file>]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+ibdiagnet scans the fabric using directed route packets and extracts all the available information regarding its connectivity and devices.
+It then produces the following files in the output directory (which defined by the \-o option (see below)).
+.SH "FILES"
+.IX Header "FILES"
+.IP "\fIibdiagnet.log\fR \-" 4
+.IX Item "ibdiagnet.log -"
+A dump of all the application reports generate according to the provided flags
+.IP "\fIibdiagnet.lst\fR \-" 4
+.IX Item "ibdiagnet.lst -"
+List of all the nodes, ports and links in the fabric
+.IP "\fIibdiagnet.fdbs\fR \-" 4
+.IX Item "ibdiagnet.fdbs -"
+A dump of the unicast forwarding tables of the fabric switches
+.IP "\fIibdiagnet.mcfdbs\fR \-" 4
+.IX Item "ibdiagnet.mcfdbs -"
+A dump of the multicast forwarding tables of the fabric switches
+.IP "\fIibdiagnet.masks\fR \-" 4
+.IX Item "ibdiagnet.masks -"
+In case of duplicate port/node Guids, these file include the map between masked Guid and real Guids
+.IP "\fIibdiagnet.sm\fR \-" 4
+.IX Item "ibdiagnet.sm -"
+List of all the \s-1SM\s0 (state and priority) in the fabric
+.IP "\fIibdiagnet.pm\fR \-" 4
+.IX Item "ibdiagnet.pm -"
+A dump of the pm Counters values, of the fabric links
+.IP "\fIibdiagnet.pkey\fR \-" 4
+.IX Item "ibdiagnet.pkey -"
+A dump of the the existing partitions and their member host ports
+.IP "\fIibdiagnet.mcg\fR \-" 4
+.IX Item "ibdiagnet.mcg -"
+A dump of the multicast groups, their properties and member host ports
+.IP "\fIibdiagnet.db\fR \-" 4
+.IX Item "ibdiagnet.db -"
+A dump of the internal subnet database. This file can be loaded in later runs using the \-load_db option
+.PP
+In addition to generating the files above, the discovery phase also checks for duplicate node/port GUIDs in the \s-1IB\s0 fabric. If such an error is detected, it is displayed on the standard output. After the discovery phase is completed, directed route packets are sent multiple times (according to the \-c option) to detect possible problematic paths on which packets may be lost. Such paths are explored, and a report of the suspected bad links is displayed on the standard output.
+.PP
+After scanning the fabric, if the \-r option is provided, a full report of the fabric qualities is displayed.
+This report includes:
+.IP "* \fB\s-1SM\s0 report\fR" 4
+.IX Item "SM report"
+.PD 0
+.IP "* \fBNumber of nodes and systems\fR" 4
+.IX Item "Number of nodes and systems"
+.IP "* \fBHop-count information\fR" 4
+.IX Item "Hop-count information"
+.RS 4
+.IP "maximal hop\-count, an example path, and a hop-count histogram" 4
+.IX Item "maximal hop-count, an example path, and a hop-count histogram"
+.RE
+.RS 4
+.RE
+.IP "* \fBAll CA-to-CA paths traced\fR" 4
+.IX Item "All CA-to-CA paths traced"
+.IP "* \fBCredit loop report\fR" 4
+.IX Item "Credit loop report"
+.IP "* \fBmgid-mlid-HCAs multicast group and report\fR" 4
+.IX Item "mgid-mlid-HCAs multicast group and report"
+.IP "* \fBPartitions report\fR" 4
+.IX Item "Partitions report"
+.IP "* \fBIPoIB report\fR" 4
+.IX Item "IPoIB report"
+.PD
+.PP
+Note: In case the \s-1IB\s0 fabric includes only one \s-1CA\s0, then CA-to-CA paths are not reported.
+Furthermore, if a topology file is provided, ibdiagnet uses the names defined in it for the output reports.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-c <count\fR>      :" 4
+.IX Item "-c <count>      :"
+.RS 4
+.PD 0
+.IP "Min number of packets to be sent across each link (default = 10)" 4
+.IX Item "Min number of packets to be sent across each link (default = 10)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-v\fR              :" 4
+.IX Item "-v              :"
+.RS 4
+.IP "Enable verbose mode" 4
+.IX Item "Enable verbose mode"
+.RE
+.RS 4
+.RE
+.IP "\fB\-r\fR              :" 4
+.IX Item "-r              :"
+.RS 4
+.IP "Provides a report of the fabric qualities" 4
+.IX Item "Provides a report of the fabric qualities"
+.RE
+.RS 4
+.RE
+.IP "\fB\-t <topo\-file\fR>  :" 4
+.IX Item "-t <topo-file>  :"
+.RS 4
+.IP "Specifies the topology file name" 4
+.IX Item "Specifies the topology file name"
+.RE
+.RS 4
+.RE
+.IP "\fB\-s <sys\-name\fR>   :" 4
+.IX Item "-s <sys-name>   :"
+.RS 4
+.IP "Specifies the local system name. Meaningful only if a topology file is specified" 4
+.IX Item "Specifies the local system name. Meaningful only if a topology file is specified"
+.RE
+.RS 4
+.RE
+.IP "\fB\-i <dev\-index\fR>  :" 4
+.IX Item "-i <dev-index>  :"
+.RS 4
+.IP "Specifies the index of the device of the port used to connect to the \s-1IB\s0 fabric (in case of multiple devices on the local system)" 4
+.IX Item "Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-p <port\-num\fR>   :" 4
+.IX Item "-p <port-num>   :"
+.RS 4
+.IP "Specifies the local device's port num used to connect to the \s-1IB\s0 fabric" 4
+.IX Item "Specifies the local device's port num used to connect to the IB fabric"
+.RE
+.RS 4
+.RE
+.IP "\fB\-o <out\-dir\fR>    :" 4
+.IX Item "-o <out-dir>    :"
+.RS 4
+.IP "Specifies the directory where the output files will be placed (default = /tmp)" 4
+.IX Item "Specifies the directory where the output files will be placed (default = /tmp)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-lw <1x|4x|12x\fR> :" 4
+.IX Item "-lw <1x|4x|12x> :"
+.RS 4
+.IP "Specifies the expected link width" 4
+.IX Item "Specifies the expected link width"
+.RE
+.RS 4
+.RE
+.IP "\fB\-ls <2.5|5|10\fR>  :" 4
+.IX Item "-ls <2.5|5|10>  :"
+.RS 4
+.IP "Specifies the expected link speed" 4
+.IX Item "Specifies the expected link speed"
+.RE
+.RS 4
+.RE
+.IP "\fB\-pm\fR             :" 4
+.IX Item "-pm             :"
+.RS 4
+.IP "Dump all the fabric links, pm Counters into ibdiagnet.pm" 4
+.IX Item "Dump all the fabric links, pm Counters into ibdiagnet.pm"
+.RE
+.RS 4
+.RE
+.IP "\fB\-pc\fR             :" 4
+.IX Item "-pc             :"
+.RS 4
+.IP "Reset all the fabric links pmCounters" 4
+.IX Item "Reset all the fabric links pmCounters"
+.RE
+.RS 4
+.RE
+.IP "\fB\-P\fR <PM=<Trash>> :" 4
+.IX Item "-P <PM=<Trash>> :"
+.RS 4
+.IP "If any of the provided pm is greater then its provided value, print it to screen" 4
+.IX Item "If any of the provided pm is greater then its provided value, print it to screen"
+.RE
+.RS 4
+.RE
+.IP "\fB\-skip <skip\-option(s)\fR> :" 4
+.IX Item "-skip <skip-option(s)> :"
+.RS 4
+.IP "Skip the executions of the selected checks. Skip options (one or more can be specified) : dup_guids  zero_guids pm logical_state part ipoib all" 4
+.IX Item "Skip the executions of the selected checks. Skip options (one or more can be specified) : dup_guids  zero_guids pm logical_state part ipoib all"
+.RE
+.RS 4
+.RE
+.IP "\fB\-wt\fR <file\-name>> :" 4
+.IX Item "-wt <file-name>> :"
+.RS 4
+.IP "Write out the discovered topology into the given file. This flag is useful if you later want to check for changes from the current state of the fabric. A directory named ibdiag_ibnl is also created by this option, and holds the \s-1IBNL\s0 files required to load this topology. To use these files you will need to set the environment variable named \s-1IBDM_IBNL_PATH\s0 to that directory. The directory is located in /tmp or in the output directory provided by the \-o flag." 4
+.IX Item "Write out the discovered topology into the given file. This flag is useful if you later want to check for changes from the current state of the fabric. A directory named ibdiag_ibnl is also created by this option, and holds the IBNL files required to load this topology. To use these files you will need to set the environment variable named IBDM_IBNL_PATH to that directory. The directory is located in /tmp or in the output directory provided by the -o flag."
+.RE
+.RS 4
+.RE
+.IP "\fB\-load_db\fR <file\-name>> :" 4
+.IX Item "-load_db <file-name>> :"
+.RS 4
+.IP "Load subnet data from the given .db file, and skip subnet discovery stage. Note: Some of the checks require actual subnet discovery, and therefore would not run when load_db is specified. These checks are : Duplicated/zero guids, link state, SMs status." 4
+.IX Item "Load subnet data from the given .db file, and skip subnet discovery stage. Note: Some of the checks require actual subnet discovery, and therefore would not run when load_db is specified. These checks are : Duplicated/zero guids, link state, SMs status."
+.RE
+.RS 4
+.RE
+.IP "\fB\-h|\-\-help\fR       :" 4
+.IX Item "-h|--help       :"
+.RS 4
+.IP "Prints the help page information" 4
+.IX Item "Prints the help page information"
+.RE
+.RS 4
+.RE
+.IP "\fB\-V|\-\-version\fR    :" 4
+.IX Item "-V|--version    :"
+.RS 4
+.IP "Prints the version of the tool" 4
+.IX Item "Prints the version of the tool"
+.RE
+.RS 4
+.RE
+.IP "\fB\-\-vars\fR          :" 4
+.IX Item "--vars          :"
+.RS 4
+.IP "Prints the tool's environment variables and their values" 4
+.IX Item "Prints the tool's environment variables and their values"
+.RE
+.RS 4
+.RE
+.PD
+.SH "ERROR CODES"
+.IX Header "ERROR CODES"
+.IP "1 \- Failed to fully discover the fabric" 4
+.IX Item "1 - Failed to fully discover the fabric"
+.PD 0
+.IP "2 \- Failed to parse command line options" 4
+.IX Item "2 - Failed to parse command line options"
+.IP "3 \- Failed to intract with \s-1IB\s0 fabric" 4
+.IX Item "3 - Failed to intract with IB fabric"
+.IP "4 \- Failed to use local device or local port" 4
+.IX Item "4 - Failed to use local device or local port"
+.IP "5 \- Failed to use Topology File" 4
+.IX Item "5 - Failed to use Topology File"
+.IP "6 \- Failed to load requierd Package" 4
+.IX Item "6 - Failed to load requierd Package"
diff --git a/ibdiag/doc/ibdiagnet.pod b/ibdiag/doc/ibdiagnet.pod
new file mode 100644
index 0000000..d2cf460
--- /dev/null
+++ b/ibdiag/doc/ibdiagnet.pod
@@ -0,0 +1,310 @@
+=head1 NAME
+
+B<ibdiagnet - IB diagnostic net>
+
+=head1 SYNOPSYS
+
+ibdiagnet [-c <count>] [-v] [-r] [-o <out-dir>]
+  [-t <topo-file>] [-s <sys-name>] [-i <dev-index>] [-p <port-num>] [-wt]
+  [-pm] [-pc] [-P <<PM>=<Value>>]
+  [-lw <1x|4x|12x>] [-ls <2.5|5|10>]
+  [-skip <ibdiag_check/s>] [-load_db <db_file>]
+
+=head1 DESCRIPTION
+
+ibdiagnet scans the fabric using directed route packets and extracts all the available information regarding its connectivity and devices.
+It then produces the following files in the output directory (which defined by the -o option (see below)).
+
+=head1 FILES
+
+=over
+
+=item F<ibdiagnet.log> -
+
+A dump of all the application reports generate according to the provided flags
+
+=item F<ibdiagnet.lst> -
+
+List of all the nodes, ports and links in the fabric
+
+=item F<ibdiagnet.fdbs> -
+
+A dump of the unicast forwarding tables of the fabric switches
+
+=item F<ibdiagnet.mcfdbs> -
+
+A dump of the multicast forwarding tables of the fabric switches
+
+=item F<ibdiagnet.masks> -
+
+In case of duplicate port/node Guids, these file include the map between masked Guid and real Guids
+
+=item F<ibdiagnet.sm> -
+
+List of all the SM (state and priority) in the fabric
+
+=item F<ibdiagnet.pm> -
+
+A dump of the pm Counters values, of the fabric links
+
+=item F<ibdiagnet.pkey> -
+
+A dump of the the existing partitions and their member host ports
+
+=item F<ibdiagnet.mcg> -
+
+A dump of the multicast groups, their properties and member host ports
+
+=item F<ibdiagnet.db> -
+
+A dump of the internal subnet database. This file can be loaded in later runs using the -load_db option
+
+=back
+
+In addition to generating the files above, the discovery phase also checks for duplicate node/port GUIDs in the IB fabric. If such an error is detected, it is displayed on the standard output. After the discovery phase is completed, directed route packets are sent multiple times (according to the -c option) to detect possible problematic paths on which packets may be lost. Such paths are explored, and a report of the suspected bad links is displayed on the standard output.
+
+After scanning the fabric, if the -r option is provided, a full report of the fabric qualities is displayed.
+This report includes:
+
+=over
+
+=item *
+B<SM report>
+
+=item *
+B<Number of nodes and systems>
+
+=item *
+B<Hop-count information>
+
+=over
+
+=item
+maximal hop-count, an example path, and a hop-count histogram
+
+=back
+
+=item *
+B<All CA-to-CA paths traced>
+
+=item *
+B<Credit loop report>
+
+=item *
+B<mgid-mlid-HCAs multicast group and report>
+
+=item *
+B<Partitions report>
+
+=item *
+B<IPoIB report>
+
+=back
+
+Note: In case the IB fabric includes only one CA, then CA-to-CA paths are not reported.
+Furthermore, if a topology file is provided, ibdiagnet uses the names defined in it for the output reports.
+
+=head1 OPTIONS
+
+=over
+
+=item B<-c <count>>      :
+
+=over
+
+=item
+Min number of packets to be sent across each link (default = 10)
+
+=back
+
+=item B<-v>              :
+
+=over
+
+=item
+Enable verbose mode
+
+=back
+
+=item B<-r>              :
+
+=over
+
+=item
+Provides a report of the fabric qualities
+
+=back
+
+=item B<-t <topo-file>>  :
+
+=over
+
+=item
+Specifies the topology file name
+
+=back
+
+=item B<-s <sys-name>>   :
+
+=over
+
+=item
+Specifies the local system name. Meaningful only if a topology file is specified
+
+=back
+
+=item B<-i <dev-index>>  :
+
+=over
+
+=item
+Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)
+
+=back
+
+=item B<-p <port-num>>   :
+
+=over
+
+=item
+Specifies the local device's port num used to connect to the IB fabric
+
+=back
+
+=item B<-o <out-dir>>    :
+
+=over
+
+=item
+Specifies the directory where the output files will be placed (default = /tmp)
+
+=back
+
+=item B<-lw <1x|4x|12x>> :
+
+=over
+
+=item
+Specifies the expected link width
+
+=back
+
+=item B<-ls <2.5|5|10>>  :
+
+=over
+
+=item
+Specifies the expected link speed
+
+=back
+
+=item B<-pm>             :
+
+=over
+
+=item
+Dump all the fabric links, pm Counters into ibdiagnet.pm
+
+=back
+
+=item B<-pc>             :
+
+=over
+
+=item
+Reset all the fabric links pmCounters
+
+=back
+
+=item B<-P> <PM=<Trash>> :
+
+=over
+
+=item
+If any of the provided pm is greater then its provided value, print it to screen
+
+=back
+
+=item B<-skip <skip-option(s)>> :
+
+=over
+
+=item
+Skip the executions of the selected checks.
+Skip options (one or more can be specified) : dup_guids  zero_guids pm logical_state part ipoib all
+
+=back
+
+=item B<-wt> <file-name>> :
+
+=over
+
+=item
+Write out the discovered topology into the given file. This flag is useful if you later want to check for changes from the current state of the fabric.
+A directory named ibdiag_ibnl is also created by this option, and holds the IBNL files required to load this topology. To use these files you will need to set the environment variable named IBDM_IBNL_PATH to that directory. The directory is located in /tmp or in the output directory provided by the -o flag.
+
+=back
+
+=item B<-load_db> <file-name>> :
+
+=over
+
+=item
+Load subnet data from the given .db file, and skip subnet discovery stage.
+Note: Some of the checks require actual subnet discovery, and therefore would not run when load_db is specified. These checks are
+: Duplicated/zero guids, link state, SMs status.
+
+=back
+
+=item B<-h|--help>       :
+
+=over
+
+=item
+Prints the help page information
+
+=back
+
+=item B<-V|--version>    :
+
+=over
+
+=item
+Prints the version of the tool
+
+=back
+
+=item B<--vars>          :
+
+=over
+
+=item
+Prints the tool's environment variables and their values
+
+=back
+
+=back
+
+=head1 ERROR CODES
+
+=over
+
+=item 1 -
+Failed to fully discover the fabric
+
+=item 2 -
+Failed to parse command line options
+
+=item 3 -
+Failed to intract with IB fabric
+
+=item 4 -
+Failed to use local device or local port
+
+=item 5 -
+Failed to use Topology File
+
+=item 6 -
+Failed to load requierd Package
+
+=back
diff --git a/ibdiag/doc/ibdiagnet.txt b/ibdiag/doc/ibdiagnet.txt
new file mode 100644
index 0000000..b8a054b
--- /dev/null
+++ b/ibdiag/doc/ibdiagnet.txt
@@ -0,0 +1,61 @@
+NAME
+  ibdiagnet
+
+SYNOPSYS
+  ibdiagnet [-c <count>] [-v] [-r] [-t <topo-file>] [-s <sys-name>]
+     [-i <dev-index>] [-p <port-num>] [-o <out-dir>]
+
+DESCRIPTION
+  ibdiagnet scans the fabric using directed route packets and extracts all the
+  available information regarding its connectivity and devices.
+  It then produces the following files in the output directory defined by the
+  -o option (see below):
+    ibdiagnet.lst    - List of all the nodes, ports and links in the fabric
+    ibdiagnet.fdbs   - A dump of the unicast forwarding tables of the fabric
+                        switches
+    ibdiagnet.mcfdbs - A dump of the multicast forwarding tables of the fabric
+                        switches
+  In addition to generating the files above, the discovery phase also checks for
+  duplicate node GUIDs in the IB fabric. If such an error is detected, it is
+  displayed on the standard output.
+  After the discovery phase is completed, directed route packets are sent
+  multiple times (according to the -c option) to detect possible problematic
+  paths on which packets may be lost. Such paths are explored, and a report of
+  the suspected bad links is displayed on the standard output.
+  After scanning the fabric, if the -r option is provided, a full report of the
+  fabric qualities is displayed.
+  This report includes:
+    Number of nodes and systems
+    Hop-count information:
+         maximal hop-count, an example path, and a hop-count histogram
+    All CA-to-CA paths traced
+  Note: In case the IB fabric includes only one CA, then CA-to-CA paths are not
+  reported.
+  Furthermore, if a topology file is provided, ibdiagnet uses the names defined
+  in it for the output reports.
+
+OPTIONS
+  -c <count>    : The minimal number of packets to be sent across each link
+                  (default = 10)
+  -v            : Instructs the tool to run in verbose mode
+  -r            : Provides a report of the fabric qualities
+  -t <topo-file>: Specifies the topology file name
+  -s <sys-name> : Specifies the local system name. Meaningful only if a topology
+                  file is specified
+  -i <dev-index>: Specifies the index of the device of the port used to connect
+                  to the IB fabric (in case of multiple devices on the local
+                  system)
+  -p <port-num> : Specifies the local device's port number used to connect to
+                  the IB fabric
+  -o <out-dir>  : Specifies the directory where the output files will be placed
+                  (default = /tmp/ez)
+
+  -h|--help     : Prints this help information
+  -V|--version  : Prints the version of the tool
+     --vars     : Prints the tool's environment variables and their values
+
+ERROR CODES
+  1 - Failed to fully discover the fabric
+  2 - Failed to parse command line options
+  3 - Some packet drop observed
+  4 - Mismatch with provided topology
diff --git a/ibdiag/doc/ibdiagpath.1 b/ibdiag/doc/ibdiagpath.1
new file mode 100644
index 0000000..8cb9b64
--- /dev/null
+++ b/ibdiag/doc/ibdiagpath.1
@@ -0,0 +1,333 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDIAGPATH 1"
+.TH IBDIAGPATH 1 "2009-01-08" "IBDIAG 1.0" "IB DIAGNOSTIC PACKAGE"
+.SH "NAME"
+\&\fBibdiagpath \- IB diagnostic path\fR
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibdiagpath
+     {\-n <[src\-name,]dst\-name>|\-l <[src\-lid,]dst\-lid>|\-d <p1,p2,p3,...>}
+     [\-c <count>] [\-v] [\-t <topo\-file>] [\-s <sys\-name>] [\-i <dev\-index>]
+     [\-p <port\-num>] [\-o <out\-dir>] [\-lw <1x|4x|12x>] [\-ls <2.5|5|10>] [\-pm]
+     [\-pc] [\-P <<\s-1PM\s0 counter>=<Trash Limit>>]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+ibdiagpath traces a path between two end-points and provides information
+regarding the nodes and ports traversed along the path. It utilizes device
+specific health queries for the different devices along the traversed path.
+The way ibdiagpath operates depends on the addressing mode used on the command
+line. If directed route adressing is used, the local node is the source node
+and the route to the destination port is known apriori.
+On the other hand, if \s-1LID\s0 route (or by\-name) addressing is imployed,
+then the source and destination ports of a route are specified by their LIDs
+(or by the names defined in the topology file). In this case, the actual path
+from the local port to the source port, and from the source port to the
+destination port, is defined by means of Subnet Management Linear Forwarding
+Table queries of the switch nodes along those paths. Therefore, the path
+cannot be predicted as it may change.
+The tool allows omitting the source node, in which case the local port on the
+machine running the tool is assumed to be the source.
+Note: When ibdiagpath queries for the performance counters along the path between
+the source and destination ports, it always traverses the \s-1LID\s0 route, even if a
+directed route is specified. If along the \s-1LID\s0 route one or more links are not
+in the \s-1ACTIVE\s0 state, ibdiagpath reports an error.
+Checks for path validity from partitions, IPoIB and QoS perspectives are also provided.
+.IP "\fIibdiagpath.log\fR \-" 4
+.IX Item "ibdiagpath.log -"
+A dump of all the application reports generate according to the provided flags
+.IP "\fIibdiagnet.pm\fR \-" 4
+.IX Item "ibdiagnet.pm -"
+A dump of the pm Counters values, of the fabric links
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-n <[src\-name,]dst\-name\fR> :" 4
+.IX Item "-n <[src-name,]dst-name> :"
+.RS 4
+.PD 0
+.IP "Names of the source and destination ports (as defined in the topology file; source may be omitted \-> local port is assumed to be the source)" 4
+.IX Item "Names of the source and destination ports (as defined in the topology file; source may be omitted -> local port is assumed to be the source)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-l <[src\-lid,]dst\-lid\fR> :" 4
+.IX Item "-l <[src-lid,]dst-lid> :"
+.RS 4
+.IP "Source and destination LIDs (source may be omitted \-> local port is assumed to be the source)" 4
+.IX Item "Source and destination LIDs (source may be omitted -> local port is assumed to be the source)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-d <p1,p2,p3,...\fR> :" 4
+.IX Item "-d <p1,p2,p3,...> :"
+.RS 4
+.IP "directed route from the local node (which is the source) and the destination node" 4
+.IX Item "directed route from the local node (which is the source) and the destination node"
+.RE
+.RS 4
+.RE
+.IP "\fB\-c <count\fR> :" 4
+.IX Item "-c <count> :"
+.RS 4
+.IP "The minimal number of packets to be sent across each link (default = 100)" 4
+.IX Item "The minimal number of packets to be sent across each link (default = 100)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-v\fR :" 4
+.IX Item "-v :"
+.RS 4
+.IP "Enable verbose mode" 4
+.IX Item "Enable verbose mode"
+.RE
+.RS 4
+.RE
+.IP "\fB\-t <topo\-file\fR> :" 4
+.IX Item "-t <topo-file> :"
+.RS 4
+.IP "Specifies the topology file name" 4
+.IX Item "Specifies the topology file name"
+.RE
+.RS 4
+.RE
+.IP "\fB\-s <sys\-name\fR> :" 4
+.IX Item "-s <sys-name> :"
+.RS 4
+.IP "Specifies the local system name. Meaningful only if a topology file is specified" 4
+.IX Item "Specifies the local system name. Meaningful only if a topology file is specified"
+.RE
+.RS 4
+.RE
+.IP "\fB\-i <dev\-index\fR> :" 4
+.IX Item "-i <dev-index> :"
+.RS 4
+.IP "Specifies the index of the device of the port used to connect to the \s-1IB\s0 fabric (in case of multiple devices on the local system)" 4
+.IX Item "Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-p <port\-num\fR> :" 4
+.IX Item "-p <port-num> :"
+.RS 4
+.IP "Specifies the local device's port number used to connect to the \s-1IB\s0 fabric" 4
+.IX Item "Specifies the local device's port number used to connect to the IB fabric"
+.RE
+.RS 4
+.RE
+.IP "\fB\-o <out\-dir\fR> :" 4
+.IX Item "-o <out-dir> :"
+.RS 4
+.IP "Specifies the directory where the output files will be placed (default = /tmp)" 4
+.IX Item "Specifies the directory where the output files will be placed (default = /tmp)"
+.RE
+.RS 4
+.RE
+.IP "\fB\-lw <1x|4x|12x\fR> :" 4
+.IX Item "-lw <1x|4x|12x> :"
+.RS 4
+.IP "Specifies the expected link width" 4
+.IX Item "Specifies the expected link width"
+.RE
+.RS 4
+.RE
+.IP "\fB\-ls <2.5|5|10\fR>  :" 4
+.IX Item "-ls <2.5|5|10>  :"
+.RS 4
+.IP "Specifies the expected link speed" 4
+.IX Item "Specifies the expected link speed"
+.RE
+.RS 4
+.RE
+.IP "\fB\-pm\fR             :" 4
+.IX Item "-pm             :"
+.RS 4
+.IP "Dump all the fabric links, pm Counters into ibdiagnet.pm" 4
+.IX Item "Dump all the fabric links, pm Counters into ibdiagnet.pm"
+.RE
+.RS 4
+.RE
+.IP "\fB\-pc\fR             :" 4
+.IX Item "-pc             :"
+.RS 4
+.IP "Reset all the fabric links pmCounters" 4
+.IX Item "Reset all the fabric links pmCounters"
+.RE
+.RS 4
+.RE
+.IP "\fB\-P\fR <PM=<Trash>> :" 4
+.IX Item "-P <PM=<Trash>> :"
+.RS 4
+.IP "If any of the provided pm is greater then its provided value, print it to screen" 4
+.IX Item "If any of the provided pm is greater then its provided value, print it to screen"
+.RE
+.RS 4
+.RE
+.IP "\fB\-h|\-\-help\fR       :" 4
+.IX Item "-h|--help       :"
+.RS 4
+.IP "Prints the help page information" 4
+.IX Item "Prints the help page information"
+.RE
+.RS 4
+.RE
+.IP "\fB\-V|\-\-version\fR :" 4
+.IX Item "-V|--version :"
+.RS 4
+.IP "Prints the version of the tool" 4
+.IX Item "Prints the version of the tool"
+.RE
+.RS 4
+.RE
+.IP "\fB\-\-vars\fR :" 4
+.IX Item "--vars :"
+.RS 4
+.IP "Prints the tool's environment variables and their values" 4
+.IX Item "Prints the tool's environment variables and their values"
+.RE
+.RS 4
+.RE
+.PD
+.SH "ERROR CODES"
+.IX Header "ERROR CODES"
+.IP "1 \- The path traced is un-healthy" 4
+.IX Item "1 - The path traced is un-healthy"
+.PD 0
+.IP "2 \- Failed to parse command line options" 4
+.IX Item "2 - Failed to parse command line options"
+.ie n .IP "3 \- More then 64 hops are required for traversing the local port to the ""Source"" port and then to the ""Destination"" port." 4
+.el .IP "3 \- More then 64 hops are required for traversing the local port to the ``Source'' port and then to the \f(CWDestination\fR port." 4
+.IX Item "3 - More then 64 hops are required for traversing the local port to the Source port and then to the Destination port."
+.IP "4 \- Unable to traverse the \s-1LFT\s0 data from source to destination" 4
+.IX Item "4 - Unable to traverse the LFT data from source to destination"
+.IP "5 \- Failed to use Topology File" 4
+.IX Item "5 - Failed to use Topology File"
+.IP "6 \- Failed to load required Package" 4
+.IX Item "6 - Failed to load required Package"
diff --git a/ibdiag/doc/ibdiagpath.pod b/ibdiag/doc/ibdiagpath.pod
new file mode 100644
index 0000000..b7cfece
--- /dev/null
+++ b/ibdiag/doc/ibdiagpath.pod
@@ -0,0 +1,239 @@
+=head1 NAME
+
+B<ibdiagpath - IB diagnostic path>
+
+=head1 SYNOPSYS
+
+ibdiagpath
+     {-n <[src-name,]dst-name>|-l <[src-lid,]dst-lid>|-d <p1,p2,p3,...>}
+     [-c <count>] [-v] [-t <topo-file>] [-s <sys-name>] [-i <dev-index>]
+     [-p <port-num>] [-o <out-dir>] [-lw <1x|4x|12x>] [-ls <2.5|5|10>] [-pm]
+     [-pc] [-P <<PM counter>=<Trash Limit>>]
+
+=head1 DESCRIPTION
+
+ibdiagpath traces a path between two end-points and provides information
+regarding the nodes and ports traversed along the path. It utilizes device
+specific health queries for the different devices along the traversed path.
+The way ibdiagpath operates depends on the addressing mode used on the command
+line. If directed route adressing is used, the local node is the source node
+and the route to the destination port is known apriori.
+On the other hand, if LID route (or by-name) addressing is imployed,
+then the source and destination ports of a route are specified by their LIDs
+(or by the names defined in the topology file). In this case, the actual path
+from the local port to the source port, and from the source port to the
+destination port, is defined by means of Subnet Management Linear Forwarding
+Table queries of the switch nodes along those paths. Therefore, the path
+cannot be predicted as it may change.
+The tool allows omitting the source node, in which case the local port on the
+machine running the tool is assumed to be the source.
+Note: When ibdiagpath queries for the performance counters along the path between
+the source and destination ports, it always traverses the LID route, even if a
+directed route is specified. If along the LID route one or more links are not
+in the ACTIVE state, ibdiagpath reports an error.
+Checks for path validity from partitions, IPoIB and QoS perspectives are also provided.
+
+=over
+
+=item F<ibdiagpath.log> -
+
+A dump of all the application reports generate according to the provided flags
+
+=item F<ibdiagnet.pm> -
+
+A dump of the pm Counters values, of the fabric links
+
+=back
+
+=head1 OPTIONS
+
+=over
+
+=item B<-n <[src-name,]dst-name>> :
+
+=over
+
+=item
+Names of the source and destination ports (as defined in the topology file; source may be omitted -> local port is assumed to be the source)
+
+=back
+
+=item B<-l <[src-lid,]dst-lid>> :
+
+=over
+
+=item
+Source and destination LIDs (source may be omitted -> local port is assumed to be the source)
+
+=back
+
+=item B<-d <p1,p2,p3,...>> :
+
+=over
+
+=item
+directed route from the local node (which is the source) and the destination node
+
+=back
+
+=item B<-c <count>> :
+
+=over
+
+=item
+The minimal number of packets to be sent across each link (default = 100)
+
+=back
+
+=item B<-v> :
+
+=over
+
+=item
+Enable verbose mode
+
+=back
+
+=item B<-t <topo-file>> :
+
+=over
+
+=item
+Specifies the topology file name
+
+=back
+
+=item B<-s <sys-name>> :
+
+=over
+
+=item
+Specifies the local system name. Meaningful only if a topology file is specified
+
+=back
+
+=item B<-i <dev-index>> :
+
+=over
+
+=item
+Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)
+
+=back
+
+=item B<-p <port-num>> :
+
+=over
+
+=item
+Specifies the local device's port number used to connect to the IB fabric
+
+=back
+
+=item B<-o <out-dir>> :
+
+=over
+
+=item
+Specifies the directory where the output files will be placed (default = /tmp)
+
+=back
+
+=item B<-lw <1x|4x|12x>> :
+
+=over
+
+=item
+Specifies the expected link width
+
+=back
+
+=item B<-ls <2.5|5|10>>  :
+
+=over
+
+=item
+Specifies the expected link speed
+
+=back
+
+=item B<-pm>             :
+
+=over
+
+=item
+Dump all the fabric links, pm Counters into ibdiagnet.pm
+
+=back
+
+=item B<-pc>             :
+
+=over
+
+=item
+Reset all the fabric links pmCounters
+
+=back
+
+=item B<-P> <PM=<Trash>> :
+
+=over
+
+=item
+If any of the provided pm is greater then its provided value, print it to screen
+
+=back
+
+=item B<-h|--help>       :
+
+=over
+
+=item
+Prints the help page information
+
+=back
+
+=item B<-V|--version> :
+
+=over
+
+=item
+Prints the version of the tool
+
+=back
+
+=item B<--vars> :
+
+=over
+
+=item
+Prints the tool's environment variables and their values
+
+=back
+
+=back
+
+=head1 ERROR CODES
+
+=over
+
+=item 1 -
+The path traced is un-healthy
+
+=item 2 -
+Failed to parse command line options
+
+=item 3 -
+More then 64 hops are required for traversing the local port to the "Source" port and then to the C<Destination> port.
+
+=item 4 -
+Unable to traverse the LFT data from source to destination
+
+=item 5 -
+Failed to use Topology File
+
+=item 6 -
+Failed to load required Package
+
+=back
+
diff --git a/ibdiag/doc/ibdiagui.1 b/ibdiag/doc/ibdiagui.1
new file mode 100644
index 0000000..3aa898f
--- /dev/null
+++ b/ibdiag/doc/ibdiagui.1
@@ -0,0 +1,159 @@
+.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDIAGUI 1"
+.TH IBDIAGUI 1 "2006-11-17" "IBDIAG 1.0" "IB DIAGNOSTIC PACKAGE"
+.SH "NAME"
+\&\fBibdiagui \- IB Diagnostic GUI\fR
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibdiagui [\-c <count>] [\-v] [\-r] [\-o <out\-dir>]
+     [\-t <topo\-file>] [\-s <sys\-name>] [\-i <dev\-index>] [\-p <port\-num>]
+     [\-pm] [\-pc] [\-P <\s-1PM\s0 counter>=<Trash Limit>]
+     [\-lw <1x|4x|12x>] [\-ls <2.5|5|10>]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+.Vb 2
+\&  ibdiagui is a GUI wrapper for ibdiagnet.
+\&  Its main features:
+.Ve
+.IP "1. Display a graph of the discovered fabric (with optional names annotattion)" 4
+.IX Item "1. Display a graph of the discovered fabric (with optional names annotattion)"
+.PD 0
+.IP "2. Hyperlink the ibdiagnet log to the graph objects" 4
+.IX Item "2. Hyperlink the ibdiagnet log to the graph objects"
+.IP "3. Show each object properties and object type specific actions on a properties pannel." 4
+.IX Item "3. Show each object properties and object type specific actions on a properties pannel."
+.PD
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "ibdiagui simply passes its options to ibdiagnet. Please see ibdiagnet man page for the complete list."
+.IX Item "ibdiagui simply passes its options to ibdiagnet. Please see ibdiagnet man page for the complete list."
diff --git a/ibdiag/doc/ibdiagui.pod b/ibdiag/doc/ibdiagui.pod
new file mode 100644
index 0000000..4e0250f
--- /dev/null
+++ b/ibdiag/doc/ibdiagui.pod
@@ -0,0 +1,31 @@
+=head1 NAME
+
+B<ibdiagui - IB Diagnostic GUI>
+
+=head1 SYNOPSYS
+
+ibdiagui [-c <count>] [-v] [-r] [-o <out-dir>]
+     [-t <topo-file>] [-s <sys-name>] [-i <dev-index>] [-p <port-num>]
+     [-pm] [-pc] [-P <PM counter>=<Trash Limit>]
+     [-lw <1x|4x|12x>] [-ls <2.5|5|10>]
+
+
+=head1 DESCRIPTION
+
+  ibdiagui is a GUI wrapper for ibdiagnet.
+  Its main features:
+
+=over
+
+=item  1. Display a graph of the discovered fabric (with optional names annotattion)
+
+=item  2. Hyperlink the ibdiagnet log to the graph objects
+
+=item  3. Show each object properties and object type specific actions on a properties pannel.
+
+=back
+
+=head1 OPTIONS
+
+=item ibdiagui simply passes its options to ibdiagnet. Please see ibdiagnet man page for the complete list.
+
diff --git a/ibdiag/doc/ibutils_release_notes_ofed1_4.txt b/ibdiag/doc/ibutils_release_notes_ofed1_4.txt
new file mode 100644
index 0000000..1b53855
--- /dev/null
+++ b/ibdiag/doc/ibutils_release_notes_ofed1_4.txt
@@ -0,0 +1,82 @@
+                     Open Fabrics InfiniBand Diagnostic Utilities 
+                     --------------------------------------------
+
+*******************************************************************************
+RELEASE: OFED 1.4
+DATE:    Dec 2008
+
+===============================================================================
+Table of Contents
+===============================================================================
+1. Overview
+2. New features
+3. Major Bugs Fixed 
+4. Known Issues
+
+===============================================================================
+1. Overview
+===============================================================================
+
+The ibutils package provides a set of diagnostic tools that check the health
+of an InfiniBand fabric.
+Package components:
+ibis:     IB interface - A TCL shell that provides interface for sending various
+          MADs on the IB fabric. This is the component that actually accesses
+          the IB Hardware.
+
+ibdm:     IB Data Model - A library that provides IB fabric analysis.
+
+ibmgtsim: An IB fabric simulator. Useful for developing IB tools.
+
+ibdiag:   This package provides 3 tools which provide the user interface
+          to activate the above functionality:
+            - ibdiagnet:  Performs various quality and health checks on the IB
+                          fabric.
+            - ibdiagpath: Performs various fabric quality and health checks on
+                          the given links and nodes in a specific path.
+            - ibdiagui:   A GUI wrapper for the above tools. 
+
+===============================================================================
+2. New Features
+===============================================================================
+
+
+* Mellanox InfiniScaleIV support:
+  - Support switches with port count > 32
+  - Added ibnl (IB network) files for MTS3600 and MTS3610 InfiniScaleIV based switch systems.
+
+* IBDM QoS Credit Loop check: 
+  This check now considers SL/VL when looking for credit loops. 
+  This check can be activated by running "ibdiagnet -r"
+
+* ibdiagnet: Added -csv flag, which generated a set of Comma Separated Values
+             files, which contains data about the fabric. Generated files:
+               inv_csv   - Lists the ports found in the fabric
+               links_csv - Lists the ports connections in the fabric
+               pm_csv    - Lists port counters in csv format 
+               err_csv   - Lists errors found during the run
+
+* ibmgtsim: Add basic M_Key mechanism simulation
+
+===============================================================================
+3. Major Bugs Fixed 
+===============================================================================
+
+* ibdm: Support 2 port switches in a loaded LST file.
+
+* ibis: fix some buffer overrun bugs with long node description.
+
+* Installation: Ibdiagui requires tcl/tk 8.4 or 8.5 (was only 8.4). This allows
+                installation on Fedora Core 9.
+
+* ibdiagnet: Fixed -pm flag caused a crash on back to back (no switch) setup.
+
+* ibdiagnet: Do not query port counters when local port is in INIT state.
+
+===============================================================================
+4. Known Issues
+===============================================================================
+
+- Ibdiagnet "-wt" option may generate a bad topology file when running on a
+  cluster that contains complex switch systems.
+
diff --git a/ibdiag/src/Makefile b/ibdiag/src/Makefile
new file mode 100644
index 0000000..9555036
--- /dev/null
+++ b/ibdiag/src/Makefile
@@ -0,0 +1,390 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdiag
+pkglibdir = $(libdir)/ibdiag
+pkgincludedir = $(includedir)/ibdiag
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run aclocal-1.9
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run tar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run automake-1.9
+AWK = mawk
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"ibdiag\" -DPACKAGE_TARNAME=\"ibdiag\" -DPACKAGE_VERSION=\"1.2\" -DPACKAGE_STRING=\"ibdiag\ 1.2\" -DPACKAGE_BUGREPORT=\"openib-general at openib.org\" -DPACKAGE=\"ibdiag\" -DVERSION=\"1.2\" 
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LIBOBJS = 
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/missing --run makeinfo
+PACKAGE = ibdiag
+PACKAGE_BUGREPORT = openib-general at openib.org
+PACKAGE_NAME = ibdiag
+PACKAGE_STRING = ibdiag 1.2
+PACKAGE_TARNAME = ibdiag
+PACKAGE_VERSION = 1.2
+PATH_SEPARATOR = :
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 1.2
+ac_ct_STRIP = 
+am__leading_dot = .
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = i486-linux-gnu
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdiag/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_graphviz_lib = /usr/lib/graphbiz/tcl
+with_ibdm_lib = none
+with_ibis = none
+with_tk_lib = /usr/lib
+bin_SCRIPTS = ibdiagnet ibdiagpath ibdiagui git_version.tcl
+EXTRA_DIST = ibdebug_if.tcl ibdebug.tcl \
+	ibdiagnet.in ibdiagnet.pkg ibdiagnet.tcl \
+	ibdiagpath.in ibdiagpath.pkg ibdiagpath.tcl \
+	ibdiagui.in ibdiagui.pkg ibdiagui.tcl git_version.tcl
+
+GIT = $(shell which git)
+NET_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagnet$(VERSION)
+PATH_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagpath$(VERSION)
+UI_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagui$(VERSION)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-binSCRIPTS install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \
+	uninstall-info-am
+
+
+git_version.tcl : # FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "set ibdiagSourceVersion \"$$gitver\"" > .git_version.tcl ;\
+	if test -f $(srcdir)/git_version.tcl ; then \
+		if test `diff .git_version.tcl $(srcdir)/git_version.tcl | wc -l` != 0; then \
+			mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+ibdiagnet: ibdiagnet.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagnet.in > ibdiagnet
+
+ibdiagpath: ibdiagpath.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+       -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+       -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagpath.in > ibdiagpath
+
+ibdiagui: ibdiagui.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_tk_lib%='$(with_tk_lib)'=' \
+	    -e 's=%with_graphviz_lib%='$(with_graphviz_lib)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagui.in > ibdiagui
+
+clean:
+	rm -f ibdiagui ibdiagnet ibdiagpath
+install-exec-am: install-binSCRIPTS
+	mkdir -p $(NET_LIB_DIR)
+	cp $(srcdir)/ibdiagnet.pkg $(NET_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(NET_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(NET_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagnet.tcl $(NET_LIB_DIR)/ibdiagnet.tcl
+	cp $(srcdir)/git_version.tcl $(NET_LIB_DIR)/git_version.tcl
+	mkdir -p $(PATH_LIB_DIR)
+	cp $(srcdir)/ibdiagpath.pkg $(PATH_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(PATH_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(PATH_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagpath.tcl $(PATH_LIB_DIR)/ibdiagpath.tcl
+	cp $(srcdir)/git_version.tcl $(PATH_LIB_DIR)/git_version.tcl
+	mkdir -p $(UI_LIB_DIR)
+	cp $(srcdir)/ibdiagui.pkg $(UI_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(UI_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(UI_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagui.tcl $(UI_LIB_DIR)/ibdiagui.tcl
+	cp $(srcdir)/git_version.tcl $(UI_LIB_DIR)/git_version.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/src/Makefile.am b/ibdiag/src/Makefile.am
new file mode 100644
index 0000000..b35913d
--- /dev/null
+++ b/ibdiag/src/Makefile.am
@@ -0,0 +1,108 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+bin_SCRIPTS = ibdiagnet ibdiagpath ibdiagui git_version.tcl
+EXTRA_DIST = ibdebug_if.tcl ibdebug.tcl \
+	ibdiagnet.in ibdiagnet.pkg ibdiagnet.tcl \
+	ibdiagpath.in ibdiagpath.pkg ibdiagpath.tcl \
+	ibdiagui.in ibdiagui.pkg ibdiagui.tcl git_version.tcl
+
+GIT=$(shell which git)
+
+git_version.tcl : @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "set ibdiagSourceVersion \"$$gitver\"" > .git_version.tcl ;\
+	if test -f $(srcdir)/git_version.tcl ; then \
+		if test `diff .git_version.tcl $(srcdir)/git_version.tcl | wc -l` != 0; then \
+			mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+ibdiagnet: ibdiagnet.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagnet.in > ibdiagnet
+
+ibdiagpath: ibdiagpath.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagpath.in > ibdiagpath
+
+ibdiagui: ibdiagui.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_tk_lib%='$(with_tk_lib)'=' \
+	    -e 's=%with_graphviz_lib%='$(with_graphviz_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagui.in > ibdiagui
+
+clean:
+	rm -f ibdiagui ibdiagnet ibdiagpath
+
+NET_LIB_DIR=$(DESTDIR)/$(libdir)/ibdiagnet$(VERSION)
+PATH_LIB_DIR=$(DESTDIR)/$(libdir)/ibdiagpath$(VERSION)
+UI_LIB_DIR=$(DESTDIR)/$(libdir)/ibdiagui$(VERSION)
+install-exec-am: install-binSCRIPTS
+	mkdir -p $(NET_LIB_DIR)
+	cp $(srcdir)/ibdiagnet.pkg $(NET_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(NET_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(NET_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagnet.tcl $(NET_LIB_DIR)/ibdiagnet.tcl
+	cp $(srcdir)/git_version.tcl $(NET_LIB_DIR)/git_version.tcl
+	mkdir -p $(PATH_LIB_DIR)
+	cp $(srcdir)/ibdiagpath.pkg $(PATH_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(PATH_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(PATH_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagpath.tcl $(PATH_LIB_DIR)/ibdiagpath.tcl
+	cp $(srcdir)/git_version.tcl $(PATH_LIB_DIR)/git_version.tcl
+	mkdir -p $(UI_LIB_DIR)
+	cp $(srcdir)/ibdiagui.pkg $(UI_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(UI_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(UI_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagui.tcl $(UI_LIB_DIR)/ibdiagui.tcl
+	cp $(srcdir)/git_version.tcl $(UI_LIB_DIR)/git_version.tcl
diff --git a/ibdiag/src/Makefile.in b/ibdiag/src/Makefile.in
new file mode 100644
index 0000000..0b19b21
--- /dev/null
+++ b/ibdiag/src/Makefile.in
@@ -0,0 +1,393 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/graphviz.m4 \
+	$(top_srcdir)/config/ibdm.m4 $(top_srcdir)/config/ibis.m4 \
+	$(top_srcdir)/config/tk.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_graphviz_lib = @with_graphviz_lib@
+with_ibdm_lib = @with_ibdm_lib@
+with_ibis = @with_ibis@
+with_tk_lib = @with_tk_lib@
+bin_SCRIPTS = ibdiagnet ibdiagpath ibdiagui git_version.tcl
+EXTRA_DIST = ibdebug_if.tcl ibdebug.tcl \
+	ibdiagnet.in ibdiagnet.pkg ibdiagnet.tcl \
+	ibdiagpath.in ibdiagpath.pkg ibdiagpath.tcl \
+	ibdiagui.in ibdiagui.pkg ibdiagui.tcl git_version.tcl
+
+GIT = $(shell which git)
+NET_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagnet$(VERSION)
+PATH_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagpath$(VERSION)
+UI_LIB_DIR = $(DESTDIR)/$(libdir)/ibdiagui$(VERSION)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-binSCRIPTS install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \
+	uninstall-info-am
+
+
+git_version.tcl : @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "set ibdiagSourceVersion \"$$gitver\"" > .git_version.tcl ;\
+	if test -f $(srcdir)/git_version.tcl ; then \
+		if test `diff .git_version.tcl $(srcdir)/git_version.tcl | wc -l` != 0; then \
+			mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.tcl $(srcdir)/git_version.tcl; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+ibdiagnet: ibdiagnet.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagnet.in > ibdiagnet
+
+ibdiagpath: ibdiagpath.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagpath.in > ibdiagpath
+
+ibdiagui: ibdiagui.in
+	sed -e 's=%ibdiag_libdir%='$(DESTDIR)$(libdir)'=' \
+	    -e 's=%with_ibdm_lib%='$(with_ibdm_lib)'=' \
+	    -e 's=%with_tk_lib%='$(with_tk_lib)'=' \
+	    -e 's=%with_graphviz_lib%='$(with_graphviz_lib)'=' \
+	    -e 's=%with_ibis_bindir%='$(DESTDIR)$(bindir)'=' \
+	    -e 's=%with_ibis%='$(with_ibis)'=' $(srcdir)/ibdiagui.in > ibdiagui
+
+clean:
+	rm -f ibdiagui ibdiagnet ibdiagpath
+install-exec-am: install-binSCRIPTS
+	mkdir -p $(NET_LIB_DIR)
+	cp $(srcdir)/ibdiagnet.pkg $(NET_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(NET_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(NET_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagnet.tcl $(NET_LIB_DIR)/ibdiagnet.tcl
+	cp $(srcdir)/git_version.tcl $(NET_LIB_DIR)/git_version.tcl
+	mkdir -p $(PATH_LIB_DIR)
+	cp $(srcdir)/ibdiagpath.pkg $(PATH_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(PATH_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(PATH_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagpath.tcl $(PATH_LIB_DIR)/ibdiagpath.tcl
+	cp $(srcdir)/git_version.tcl $(PATH_LIB_DIR)/git_version.tcl
+	mkdir -p $(UI_LIB_DIR)
+	cp $(srcdir)/ibdiagui.pkg $(UI_LIB_DIR)/pkgIndex.tcl
+	cp $(srcdir)/ibdebug.tcl $(UI_LIB_DIR)/ibdebug.tcl
+	cp $(srcdir)/ibdebug_if.tcl $(UI_LIB_DIR)/ibdebug_if.tcl
+	cp $(srcdir)/ibdiagui.tcl $(UI_LIB_DIR)/ibdiagui.tcl
+	cp $(srcdir)/git_version.tcl $(UI_LIB_DIR)/git_version.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdiag/src/git_version.tcl b/ibdiag/src/git_version.tcl
new file mode 100644
index 0000000..7699120
--- /dev/null
+++ b/ibdiag/src/git_version.tcl
@@ -0,0 +1 @@
+set ibdiagSourceVersion "undefined"
diff --git a/ibdiag/src/ibdebug.tcl b/ibdiag/src/ibdebug.tcl
new file mode 100644
index 0000000..7864479
--- /dev/null
+++ b/ibdiag/src/ibdebug.tcl
@@ -0,0 +1,5431 @@
+##############################
+### Initialize Databases
+##############################
+# InitializeIBDIAG
+# InitializeINFO_LST
+# InitializeOutputFile
+# ParseOptionsList
+
+##############################
+### Initial and final actions
+##############################
+# InitializeIBIS
+# SetPortNDevice
+# SetTopologyNSysName
+# DeleteOldFiles
+# StartIBDIAG
+# FinishIBDIAG
+
+##############################
+### MADs handling
+##############################
+# SmMadGetByDr
+# SmMadGetByLid
+# GetPmList
+
+##############################
+### Farbic Discovery
+##############################
+# DiscoverFabric
+# DiscoverPath
+# DiscoverHiddenFabric
+# SetNeighbor
+# Bool_DuplicateGuids
+
+##############################
+### Farbic Qualities Reports
+##############################
+# DumpBadLidsGuids
+# DumpBadLinksLogic
+# RereadLongPaths
+# PMCounterQuery
+# RunPkgProcs
+
+##### UP TO HERE
+
+##############################
+### GENERAL PURPOSE PROCs
+##############################
+# BoolWordInList
+# RemoveElementFromList
+# GetWordAfterFlag
+# Bar
+# AddZeroes
+# RemoveZeroes
+# Hex2Bin
+# GetLengthMaxWord
+# AddSpaces
+# ProcName
+# groupNumRanges
+# groupingEngine
+# compressNames
+
+##############################
+### Handling Duplicated Guids
+##############################
+# AdvncedMaskGuid
+# GetCurrentMaskGuid
+# BoolIsMaked
+# GetRealPort
+
+##############################
+### Handling bad links
+##############################
+# PathIsBad
+# DetectBadLinks
+# ComparePMCounters
+# DumpBadLinks
+# RemoveDirectPath
+
+##############################
+### SM handling
+##############################
+# CheckSM
+# DumpSMReport
+
+##############################
+### handling topology file
+##############################
+# MatchTopology
+# DumpTopologyMatching
+# ArrangeDR
+# DrPath2Name
+# linkNamesGet
+# GetArgvPortNames
+# Name2Lid
+# DumpFabQualities
+
+##############################
+### format fabric info
+##############################
+# GetDeviceFullType
+# GetEntryPort
+# GetParamValue
+# FormatInfo
+
+##############################
+### ouput fabric info
+##############################
+# linkAtPathEnd
+# lstInfo
+# writeDBFile
+# writeLstFile
+# writeNeighborFile
+# writeMasksFile
+# writeSMFile
+# writePMFile
+# writeFdbsFile
+# writeMcfdbsFile
+# writeTopologyFileAndIBNLs
+
+######################################################################
+### Initialize Databases
+######################################################################
+#  NAME         InitializeIBDIAG
+#  FUNCTION set the inital enviorment values
+#  OUTPUT   NULL
+proc InitializeIBDIAG {} {
+    global G argv argv0 InfoArgv INFO_LST MASK
+
+    ### InitializeIBDIAG - Set general vars
+    set G(var:version.num)          1.4.0rc3
+    set G(var:tool.name)            [file rootname [file tail $argv0]]
+    set G(var:start.clock.seconds)  [clock seconds]
+    set G(var:desc.local.dev)       "The Local Device"
+
+    ### InitializeIBDIAG - Configuration of constants
+    ## Configuration of constants - Step1.0: Config lists of vars
+    set G(var:list.files.extention) "lst fdbs mcfdbs log neighbor masks sm pm mcgs pkey db pm_csv links_csv inv_csv err_csv"
+    set G(var:list.pm.counter)      "symbol_error_counter link_error_recovery_counter\
+      link_down_counter port_rcv_errors port_xmit_discard vl15_dropped\
+      port_rcv_constraint_errors local_link_integrity_errors\
+      port_xmit_constraint_errors excesive_buffer_errors port_xmit_data\
+	  port_rcv_data port_xmit_pkts port_rcv_pkts port_rcv_remote_physical_errors\
+	  port_rcv_switch_relay_errors all"
+    set G(var:list.skip.steps) "dup_guids zero_guids pm logical_state load_ibdm ipoib part all"
+
+    ## Configuration of constants - Step2.0: Config badpath vars
+    set G(var:badpath.maxnErrors)    3
+    set G(var:badpath.retriesStart)  100
+    set G(var:badpath.retriesEnd)    10000
+    set G(var:badpath.retriesGrowth) 10
+
+    ## Configuration of constants - Step3.0: Set maximum warnings/error reports for
+    # topology matching, before notifing the user that his cluster is messed up
+    set G(var:warn.long.matching.results) 20
+
+    ## Configuration of constants - Step4.0: Config argv/ParseArgv related vars
+    # The max/min values for integer-valued parameters
+    set G(var:maximal.integer) 1000000
+    set G(var:minimal.integer) -1000000
+
+    ### InitializeIBDIAG - Reset array entries
+    ## Reset array entries - Step1.0: Reset "data" entries, entries which change during
+    # data gathering
+    set G(data:list.direct.path) { "" }
+    set G(data:list.node.guids) [list ]
+    set G(data:list.port.guids) [list ]
+    set G(data:list.links.not.active.logical.state) ""
+    set G(data:list.bad.paths) ""
+
+    set G(data:counter.SW) 0
+    set G(data:counter.CA) 0
+
+    ## Reset array entries - Step2.0: Reseting boolean vars
+    set G(bool:bad.links.detected) 0
+    set G(bool:topology.matched) 0
+    set G(bool:hidden.fabric.discovered) 0
+    set G(bool:sys.name.guessed) 0
+
+
+    ### InitializeIBDIAG - Other
+    set MASK(CurrentMaskGuid) 1
+
+    source [file join [file dirname [info script]] ibdebug_if.tcl]
+    uplevel \#0 source [file join [file dirname [info script]] git_version.tcl]
+    fconfigure stdout -buffering none
+    SetInfoArgv
+    UpdateInfoArgv_Win
+    return 0
+}
+#################################
+
+#################################
+#  NAME         InitializeINFO_LST
+#  FUNCTION Initialize the INFO_LST array, which defined the specific way
+#               to read and interpreted the result from MADS
+#  INPUTS   NULL
+#  OUTPUT   NULL
+#  RESULT   the array INFO_LST is defined.
+proc InitializeINFO_LST {} {
+    global INFO_LST
+    array set INFO_LST {
+	Type      { -source NodeInfo -flag node_type -width 8 -substitution "1=CA 2=SW 3=Rt" -string 1 }
+	Ports     { -source NodeInfo -flag num_ports -width 8 }
+	SystemGUID  { -source NodeInfo -flag sys_guid  -width 64 }
+	NodeGUID    { -source NodeInfo -flag node_guid -width 64 }
+	PortGUID    { -source NodeInfo -flag port_guid -width 64 }
+	DevID     { -source NodeInfo -flag device_id -width 16 }
+	Rev       { -source NodeInfo -flag revision  -width 32 }
+	PN     { -width 8 }
+	PortNum      { -source NodeInfo -flag port_num_vendor_id -width 8 -offset 0:32}
+	VenID     { -source NodeInfo -flag port_num_vendor_id -width 24 -offset 8:32}
+	NodeDesc    { -source NodeDesc -flag description -width words -string 1 }
+	LID       { -source PortInfo -flag base_lid    -width 16 -fromport0 1 }
+	PHY       { -source PortInfo -flag link_width_active -width 8 -substitution "1=1x 2=4x 4=8x 8=12x" -string 1 }
+	LOG       { -source PortInfo -flag state_info1 -width 4 -offset 4:8 -substitution "1=DWN 2=INI 3=ARM 4=ACT" -string 1 }
+	SPD         { -source PortInfo -flag link_speed  -width 4 -offset 0:8 -substitution "1=2.5 2=5 4=10" -string 1 }
+	OpVL        { -source PortInfo -flag vl_enforce  -width 4 -offset 0:8 -substitution "1=0 2=1 3=3 4=7 5=14" -string 1 }
+	PKey        { -source PortInfo -flag p_key_violations -width 16 -offset }
+    }
+    return 0
+}
+#################################
+
+#################################
+#  NAME         InitializeOutputFile
+#  SYNOPSIS     InitializeOutputFile $_fileName
+#  FUNCTION     open an output file for writing
+#  INPUTS       file name
+#  OUTPUT       file definition
+proc InitializeOutputFile {_fileName} {
+    global G
+
+    ## Initialize file - Test1.0: Check if the extension is legit
+    set ext [file extension $_fileName]
+
+    if {![info exists G(outfiles,$ext)]} {
+	inform "-E-outfile:not.valid" -file0 $_fileName
+    }
+
+    ## Initialize file - Test2.0: Check if the file is writable
+    set outfile $G(outfiles,[file extension $_fileName])
+    if { [file exists $outfile] && ! [file writable $outfile] } {
+	inform "-W-outfile:not.writable" -file0 $outfile -file1 $outfile.[pid]
+	append G(outfiles,$ext) ".[pid]"
+    }
+
+    inform "-V-outfiles:$ext"
+    return [open $G(outfiles,$ext) w]
+}
+#################################
+
+#################################
+#  NAME         ParseOptionsList
+#  SYNOPSIS     ParseOptionsList list
+#  FUNCTION     defines the database (in uplevel) bearing the values of the
+#               options in a list
+#  INPUTS       list of options (strings starting with "-") and their
+#               values
+#  OUTPUT       NULL
+#  RESULT       the array $cfg() is defined in the level calling the procedure
+#        $cfg(option) is the value of the option
+## DZ: TODO review this procedure
+proc ParseOptionsList { _options } {
+    catch { uplevel unset cfg }
+    set cfgArrayList ""
+    while { [llength $_options] > 0 } {
+	set flag  [lindex $_options 0]
+	set value [list [lindex $_options 1]]
+	set _options  [lreplace $_options 0 1]
+	if {[regexp {^\-([^ ]+)$} $flag . flag ]} {
+	    lappend cfgArrayList "$flag" "$value"
+	} else {
+	    return -code 1 -errorcode $flag
+	}
+    }
+    uplevel array set cfg \"$cfgArrayList\"
+    return 0
+}
+#################################
+
+######################################################################
+### Initial and final actions
+######################################################################
+#  NAME         InitializeIBIS
+#  SYNOPSIS InitializeIBIS
+#  FUNCTION Initialize ibis
+#  INPUTS   NULL
+#  OUTPUT   the result of the command "ibis_get_local_ports_info"
+#  RESULT       ibis.log fn and path are defined, ibis transaction_timeout is defined
+proc InitializeIBIS {} {
+    global tcl_platform env G
+    set outDir $G(argv:out.dir)
+    set toolName $G(var:tool.name)
+
+    ### InitializeIBIS - Handle ibis basic params
+    ## Initialize ibis - Step1.0: set transaction_timeout
+    catch { ibis_set_transaction_timeout 100 }
+
+    ## Initialize ibis - Step1.1: set verbosity
+    #ibis_set_verbosity 0xffff
+
+
+    ### InitializeIBIS - Handle ibis log file
+    ## Initialize ibis - Step2.0: Set ibis log directory
+    set ibisOutDir $outDir
+
+    ## Initialize ibis - Test1.0: Create the directory or check if its writable
+    if {![file isdirectory $ibisOutDir]} {
+	if {[catch {file mkdir $ibisOutDir} errMsg]} {
+	    inform "-E-ibis:could.not.create.directory" -value $ibisOutDir -errMsg $errMsg
+	}
+    } elseif {![file writable $ibisOutDir]} {
+	inform "-E-ibis:directory.not.writable" -value $ibisOutDir
+    }
+
+    ## Initialize ibis - Step2.1: Create ibis log file
+    set ibisLogFile ${toolName}_ibis.log
+    if {[file exists $ibisOutDir/$ibisLogFile] && (![file writable $ibisOutDir/$ibisLogFile])} {
+	set ibisLogFile $ibisLogFile.[pid]
+    }
+    if {[file exists $ibisOutDir/$ibisLogFile]} {
+	if {![file writable $ibisOutDir/$ibisLogFile]} {
+	    if {![file writable $ibisOutDir/$ibisLogFile]} {
+		catch {set ibisLogFd [open $ibisOutDir/$ibisLogFile w]} errMsg
+		inform "-E-ibis:file.not.writable" -value $ibisOutDir/$ibisLogFile -errMsg $errMsg
+	    }
+	}
+    }
+    inform "-V-ibis.ibis.log.file" -value $ibisOutDir/$ibisLogFile
+
+    ## Initialize ibis - Step2.2: Set ibis log file (created in Steps2.0-2.1)
+    ibis_opts configure -log_file $ibisOutDir/$ibisLogFile
+
+
+    ### InitializeIBIS - Handle simulator
+    if {[info exists env(IBMGTSIM_DIR)]} {
+	ibis_opts configure -log_file [file join $env(IBMGTSIM_DIR) ibis.log]
+    }
+
+    ### InitializeIBIS - Initialize ibis: ibis_init,ibis_get_local_ports_info
+    ## Initialize ibis - Step 3.0: ibis_init
+    if {[catch { ibis_init } ErrMsg]} {
+	inform "-E-ibis:ibis_init.failed" -errMsg "$ErrMsg"
+    }
+
+    ## Initialize ibis - Step3.1: ibis_get_local_ports_info
+    if {[catch { ibis_get_local_ports_info } ibisInfo ]} {
+	if { $ibisInfo != "" } {
+	    inform "-E-ibis:ibis_get_local_ports_info.failed" -errMsg "$ibisInfo"
+	}
+    } else {
+	inform "-V-ibis:ibis_get_local_ports_info" -value "$ibisInfo"
+    }
+
+    ## Initialize ibis - Test2.0: In case no HCA present or the driver is not working properly
+    if { $ibisInfo == "" } {
+	inform "-E-ibis:no.hca"
+    }
+    return $ibisInfo
+}
+#################################
+
+#################################
+#  NAME         SetPortNDevice
+#  SYNOPSIS SetPortNDevice $_ibisInfo
+#  FUNCTION Sets the locat exit port and the local exit device
+#               by parsing ibisInfo (the output of ibis_get_local_ports_info)
+#  INPUTS       The result from : ibis_get_local_ports_info"
+#  OUTPUT   NULL
+#  RESULT       set G(argv:port.num), G(data:root.port.guid) and G(data:root.port.lid).
+proc SetPortNDevice {_ibisInfo} {
+    global G PORT_HCA
+
+    ### SetPortNDevice - Pre Settings
+    ## Pre Settings - Step1.0: Local vars
+    set count_device 1
+    set ibisInfo $_ibisInfo
+    set toolName $G(var:tool.name)
+
+    ## Pre Settings - Step1.1: Set vars by G(argv:*)
+    set bool_smp $G(argv:symmetric.multi.processing)
+    set bool_portNumSet [info exists G(argv:port.num)]
+    set bool_devNumSet  [info exists G(argv:dev.idx)]
+    if {$bool_portNumSet} {
+	set argv_portNum $G(argv:port.num)
+    }
+    if {$bool_devNumSet} {
+	set argv_devIdx $G(argv:dev.idx)
+    }
+
+    ## IBIS and OSM - Step1.2: Handle Gen2 (or higher): ignore the default port
+    if {[llength $ibisInfo] > 1} {
+	if {[lsearch -start 1 $ibisInfo [lindex $ibisInfo 0]]!= -1} {
+	    set ibisInfo [lrange $ibisInfo 1 end]
+	}
+    }
+
+
+	### SetPortNDevice - Set PORT_HCA according to $ibisInfo
+	set prev_portNum 0
+	for {set portNumIndx 0} {$portNumIndx < [llength $ibisInfo]} {incr portNumIndx} {
+	    set listEntry [lindex $ibisInfo $portNumIndx]
+	    scan $listEntry {%s %s %s %s} portGuid portLid portState portNum
+	    if {$prev_portNum >= $portNum} {
+		incr count_device
+	    }
+	    set prev_portNum $portNum
+	    set PORT_HCA($count_device.$portNum:portGuid)  $portGuid
+	    set PORT_HCA($count_device.$portNum:portLid)   $portLid
+	    set PORT_HCA($count_device.$portNum:portState) $portState
+	}
+
+
+    ### SetPortNDevice - Port and Dev set according to specified/unspecified device index and port number
+    ## Port and Dev - Case1.0: port and device specified
+    if {$bool_portNumSet && $bool_devNumSet} {
+	## Port and Dev - Test1.0: Check if the device index exists
+	if {$argv_devIdx > $count_device} {
+	    inform "-E-localPort:dev.not.found" -value "$argv_devIdx" -maxDevices $count_device
+	}
+
+	## Port and Dev - Test1.1: Check if port number exists on the specified device
+	if {![info exists PORT_HCA($argv_devIdx.$argv_portNum:portGuid)]} {
+	    inform "-E-localPort:port.not.found.in.device" -flag "-p" -port $argv_portNum -device $argv_devIdx
+	}
+
+	## Port and Dev - Test1.2: Check the port state
+	set portState $PORT_HCA($argv_devIdx.$argv_portNum:portState)
+	if { $portState == "DOWN" && ( $toolName != "ibcfg" )} {
+	    inform "-E-localPort:local.port.of.device.down" -port $argv_portNum -device $argv_devIdx
+	}
+
+	## Port and Dev - Test1.3: Special case for ibdiagpath, ignore
+	if { ( $portState != "ACTIVE" ) && ( $toolName == "ibdiagpath" ) } {
+	    # -smp flag allow ibdiagpath to work with INIT state
+	    if {!($bool_smp || ($portState == "ACTIVE")) } {
+		inform "-E-localPort:local.port.of.device.not.active" \
+		    -port $argv_portNum -state $portState -device $argv_devIdx
+	    }
+	}
+    }
+
+    ## Port and Dev - Case2.0: Only device index was specified
+    if {!($bool_portNumSet) && $bool_devNumSet} {
+	## Port and Dev - Test2.0: Check if the device index exists
+	if {$argv_devIdx > $count_device} {
+	    inform "-E-localPort:dev.not.found" -value "$argv_devIdx" -maxDevices $count_device
+	}
+	set bool_allPortsDown 1
+	set count_upPorts 0
+	foreach arrayEntry [lsort [array names PORT_HCA $argv_devIdx.*:portState]] {
+	    set portState $PORT_HCA($arrayEntry)
+	    if { $portState == "DOWN" } {continue;}
+	    if { ( $portState != "ACTIVE" ) && ( $toolName == "ibdiagpath" ) } {
+		if {!($bool_smp || ($portState == "ACTIVE")) } {
+		    continue;
+		}
+	    }
+	    incr count_upPorts
+	    if {$bool_allPortsDown} {
+		set saveEntry $arrayEntry
+		set bool_allPortsDown 0
+	    }
+	}
+
+	## Port and Dev - Test2.1: Check the ports state on the specified device
+	if {$bool_allPortsDown} {
+	    switch $toolName {
+		"ibcfg" {
+		    set argv_portNum 1
+		}
+		default {
+		    inform "-E-localPort:all.ports.of.device.down" -device $argv_devIdx
+		}
+	    }
+	} else {
+	    set argv_portNum [lindex [split $saveEntry ". :"] 1]
+	}
+
+	## Port and Dev - Test2.2: Inform the total of available ports
+	if {$count_upPorts > 1} {
+	    inform "-W-localPort:few.ports.up" -flag "-p" -port $argv_portNum -device $argv_devIdx
+	} else {
+	    inform "-I-localPort:one.port.up" -port $argv_portNum
+	}
+    }
+
+    ## Port and Dev - Case3.0: Only port number was specified
+    if {$bool_portNumSet && !($bool_devNumSet)} {
+	## Port and Dev - Test3.1: Check if the port index exists (on any of the host HCAs)
+	if {[llength [array names PORT_HCA *.$argv_portNum:portState]] == 0} {
+	    inform "-E-localPort:port.not.found" -value $argv_portNum
+	}
+	set bool_allPortsDown 1
+	set saveState "DOWN"
+	set count_UpDevices 0
+	foreach arrayEntry [lsort [array names PORT_HCA *.$argv_portNum:portState]] {
+	    set portState $PORT_HCA($arrayEntry)
+	    if { $portState == "DOWN" } {continue;}
+	    set saveState $portState
+	    if { ( $portState != "ACTIVE" ) && ( $toolName == "ibdiagpath" ) } {
+		if {!$bool_smp || ($portState != "INIT") } {
+		    continue;
+		}
+	    }
+
+	    if {$bool_allPortsDown} {
+		set saveState $portState
+		set argv_devIdx [lindex [split $arrayEntry ". :"] 0]
+	    }
+	    incr count_UpDevices
+	    set bool_allPortsDown 0
+	}
+
+	## Port and Dev - Test3.2: Check the ports state on the specified device
+	if {$bool_allPortsDown} {
+	    switch $toolName {
+		"ibdiagpath" {
+		    inform "-E-localPort:local.port.not.active" \
+			-port $argv_portNum -state $saveState
+		}
+		"ibcfg" {
+		    set argv_devIdx 1
+		}
+		default {
+		    inform "-E-localPort:local.port.down" -port $argv_portNum
+		}
+	    }
+	}
+
+	## Port and Dev - Test3.3: Inform the total of available devices
+	if {$count_UpDevices > 1} {
+	    inform "-W-localPort:few.devices.up" -flag "-p" -port $argv_portNum -device $argv_devIdx
+	} elseif {$count_device > 1} {
+	    inform "-I-localPort:using.dev.index" -device $argv_devIdx
+	}
+    }
+
+    ## Port and Dev - Case4.0: Neither port num or device index were requested
+    if {!($bool_portNumSet) && !($bool_devNumSet)} {
+	set bool_allPortsDown 1
+	set saveState "DOWN"
+	set count_upPorts 0
+	foreach arrayEntry [lsort [array names PORT_HCA *.*:portState]] {
+	    set portState $PORT_HCA($arrayEntry)
+	    if { $portState == "DOWN" } {continue;}
+	    set saveState $portState
+	    if { ( $portState != "ACTIVE" ) && ( $toolName == "ibdiagpath" ) } {
+		if {!$bool_smp || ($portState != "INIT") } {
+		    continue;
+		}
+	    }
+	    if {$bool_allPortsDown} {
+		set argv_devIdx  [lindex [split $arrayEntry ". :"] 0]
+		set argv_portNum [lindex [split $arrayEntry ". :"] 1]
+	    }
+	    incr count_upPorts
+	    set bool_allPortsDown 0
+	}
+	if {$bool_allPortsDown} {
+	    if {$count_device > 1} {
+		set informMsg "-E-localPort:all.ports.down.mulitple.devices"
+	    } else {
+		set informMsg "-E-localPort:all.ports.down"
+	    }
+	    switch $toolName {
+		"ibdiagpath" {
+		    inform $informMsg
+		}
+		"ibcfg" {
+		    set argv_devIdx 1
+		    set argv_portNum 1
+		}
+		default {
+		    inform $informMsg
+		}
+	    }
+	}
+
+	if {$count_upPorts > 1} {
+	    inform "-W-localPort:few.ports.up" -flag "-p" -port $argv_portNum -device $argv_devIdx
+	} else {
+	    inform "-I-localPort:one.port.up" -port $argv_portNum
+	}
+    }
+
+    ### SetPortNDevice - Setting G with port/dev info
+    ## Setting G with port/dev info - Step1.0: Set port/dev index
+    set G(argv:port.num) $argv_portNum
+    set G(argv:dev.idx) $argv_devIdx
+
+    ## Setting G with port/dev info - Step1.1: Set port GUID & LID
+    set G(data:root.port.guid) $PORT_HCA($argv_devIdx.$argv_portNum:portGuid)
+    set G(data:root.port.lid)  $PORT_HCA($argv_devIdx.$argv_portNum:portLid)
+
+    ## Setting G with port/dev info - Test1.0: Zero guid is disallowed
+    if {$G(data:root.port.guid) == "0x0000000000000000"} {
+	inform "-E-localPort:port.guid.zero"
+    }
+    ## Setting G with port/dev info - Test2.0: try to run 'ibis_set_port'
+    if {[catch {ibis_set_port $G(data:root.port.guid)} e]} {
+	inform "-E-localPort:enable.ibis.set.port"
+    }
+    ## Setting G with port/dev info - Step2.0: Inform for -dr port derived settings
+    if {[info exists G(-p.set.by.-d)]} {
+	inform "-I-localPort:is.dr.path.out.port" -port $argv_portNum
+    }
+    return 0
+}
+
+##############################
+
+##############################
+#  NAME         SetTopologyNSysName
+#  SYNOPSIS SetTopologyNSysName
+#  FUNCTION Sets and checks the topology file and local system name
+#  INPUTS       NULL
+#  OUTPUT   NULL
+#  RESULT       set G(argv:sys.name)
+proc SetTopologyNSysName {} {
+    global G
+
+    ### SetTopologyNSysName - Pre Settings
+    ## Pre Settings - Step1.0: Local vars
+    set HCAnames ""
+
+    ## Pre Settings - Step1.0: Set vars by G(argv:*)
+    set bool_topoFileSet [info exists G(argv:topo.file)]
+    set bool_sysNameSet [info exists G(argv:sys.name)]
+
+
+    ### SetTopologyNSysName - Pre Testing
+    ## Pre Testing - Test1.0: Run this procedure only if a topology is specified
+    if {!$bool_topoFileSet} {
+	return 1
+    }
+
+    ## Pre Testing - Test2.0: Run this procedure only if no skip ibdm request made
+    if {[CheckSkipStatus load_ibdm]} {
+	return 1
+    }
+
+
+    ### SetTopologyNSysName - Sys name retrive
+    ## Sys name - Step1.0: Set list_names
+    if {!$bool_sysNameSet} {
+	## Sys name - Case1.0: Set list_names by 'hostname' and NodeDescMad
+	set list_names [lindex [split [info hostname] .] 0]
+	catch { append list_names " " [SmMadGetByDr NodeDesc -description {}] }
+    } else {
+	## Sys name - Case2.0: Set list_names by provided info (-s)
+	set list_names $G(argv:sys.name)
+    }
+
+    ## Sys name - Step2.0: Retrive Nodes and System names from the provided topology
+    array set TOPO_NODES [join [IBFabric_NodeByName_get $G(IBfabric:.topo)]]
+    array set TOPO_SYS   [join [IBFabric_SystemByName_get $G(IBfabric:.topo)]]
+
+    ## Sys name - Step3.0: Mark the fact that the sys name is guessed
+    if {!$bool_sysNameSet} {
+	set G(bool:sys.name.guessed) 1
+    }
+
+    ## Sys name - Step4.0: Find a name from list_names in the provided topology
+    foreach name $list_names {
+	if {[info exists TOPO_NODES($name)]} {
+	    set G(argv:sys.name) $name
+	    if { ! $bool_sysNameSet } {
+		inform "-W-localPort:node.intelligently.guessed"
+	    }
+	    return 0
+	} elseif {[info exists TOPO_SYS($name)]} {
+	    set nodesNames [lsort -dictionary [IBSystem_NodeByName_get $TOPO_SYS($name)]]
+	    # HACK: Always exit from the first interface on the local machine.
+	    # Will not work for more than 1 HCA
+            set G(argv:sys.name) [lindex [lindex $nodesNames 0] 0]
+	    if { !$bool_sysNameSet } {
+		inform "-W-localPort:node.intelligently.guessed"
+	    }
+	    return 0
+	}
+    }
+
+    ## Sys name - Step5.0: Handle the case that the local system name could not be
+    # identified and advertise, only, the HCA-Sys names
+    set list_sysNames [array names TOPO_SYS]
+    foreach sysName $list_sysNames {
+	set sysPointer $TOPO_SYS($sysName)
+	foreach nodeName [IBSystem_NodeByName_get $sysPointer] {
+	    if { [IBNode_type_get [lindex $nodeName 1]] != 1 } {
+		lappend HCAnames $sysName
+		break;
+	    }
+	}
+    }
+    ## Sys name - Step5.1: Inform if the provided sysName was illegal
+    # or if none could be guessed
+    if {$bool_sysNameSet} {
+	inform "-E-argv:bad.sys.name" -flag "-s" -value $G(argv:sys.name) -names [lsort $HCAnames]
+    } else {
+	inform "-E-argv:unknown.sys.name" -names [lsort $HCAnames]
+    }
+    return 0
+}
+##############################
+
+##############################
+#  NAME         DeleteOldFiles
+#  FUNCTION Delete the old ibdiag files
+#  INPUTS       NULL
+#  OUTPUT   NULL
+#  RESULT       ammm... the old ibdiag files are deleted
+proc DeleteOldFiles {} {
+    global G
+    set list_filesNames [array names G "outfiles,*"]
+    foreach fileName $list_filesNames  {
+        scan [split $fileName .] {%s %s} . ext
+        if {($ext == "log") || ($ext == "db")} {
+	    continue
+	}
+	set tmp_fn $G($fileName)
+	file delete -force $tmp_fn
+    }
+    return 0
+}
+
+##############################
+#  SYNOPSIS StartIBDIAG
+#  FUNCTION
+#  executes the following initial actions when starting to run any tool:
+#  - parsing the command line (running "ParseArgv")
+#  - initianlize ibis:
+#      ibis_opts configure -log_file (if necessary)
+#      ibis_init,
+#      ibis_get_local_ports_info
+#  - parsing the result of ibis_get_local_ports_info:
+#     - If local hca-index was specified, check that such device exists
+#     - If local port-num was specified, check that this port is not DOWN
+#       (ACTIVE, in case of ibdiagpath)
+#     - If local port-num was not specified, set it to be the first not
+#       DOWN (ACTIVE) port of the local device.
+#  - if the above is OK, run ibis_set_port
+#  - if a topology file is specified, check that the local system name is a
+#     valid system name, or - if the latter was not specified - try to
+#     guess it (if the host name or a word in the local node description
+#     are valid system names).
+#  INPUTS   NULL
+#  OUTPUT   NULL
+#  DATAMODEL
+#  the procedure uses $env(IBMGTSIM_DIR) - if it exists, we are in simulation mode
+#  the procedure uses the following global variables:
+#     $G(argv:dev.idx) - the local-device-index
+#     $G(argv:port.num) - the local-port-num (this var may also be set here)
+#     $G(IBfabric:.topo) - the ibdm pointer to the fabric described in the topology file
+#     $G(-p.set.by.-d) - if set, then the port-num was not explicitly
+#       specified and it was set to be the output port of the direct route
+#  the procedure also sets the global vars G(data:root.port.guid) and G(data:root.port.lid)
+#  - the node-guid and LID of the local port.
+proc StartIBDIAG {} {
+    global G env tcl_patchLevel
+
+    ### StartIBDIAG - Set the Tools Flags Array
+    SetToolsFlags
+
+    ### StartIBDIAG - Require the available packages
+    catch {RequirePackage}
+
+    ### StartIBDIAG - parsing command line arguments
+    ParseArgv
+
+    ### StartIBDIAG - Try to require IBDM
+    RequireIBDM
+
+    ### StartIBDIAG - Delete previous files
+    DeleteOldFiles
+
+    ### StartIBDIAG - Initialize ibis
+    set ibisInfo [InitializeIBIS]
+
+    ### StartIBDIAG - Setting the local port and device index
+    SetPortNDevice $ibisInfo
+
+    ### StartIBDIAG - Setting the local system name
+    SetTopologyNSysName
+
+    return 0
+}
+
+##############################
+#  SYNOPSIS FinishIBDIAG
+#  FUNCTION executes final actions for a tool:
+#     - displays the "-I-done" info ("Done" + run time)
+#     - exits the program
+#  INPUTS   NULL
+#  OUTPUT   NULL
+#  DATAMODEL   I use $G(var:start.clock.seconds) to tell the total run time
+proc FinishIBDIAG {} {
+    global G
+
+    ### FinishIBDIAG - Inform Fatel Error
+    if { [info exists G(Fatal.err.found)] } {
+	inform "-F-Fatal.header"
+    }
+
+    ### FinishIBDIAG - Inform running time
+    inform "-I-done" $G(var:start.clock.seconds)
+
+    ### FinishIBDIAG - Close ibdiag log file
+    catch { close $G(logFileID) }
+    exit 0
+}
+
+######################################################################
+### Sending queries (MADs and pmGetPortCounters) over the fabric
+######################################################################
+
+##############################
+#  SYNOPSIS     SmMadGetByDr mad cget args
+#  FUNCTION
+#  returns the info of the Direct Route Mad: sm${cmd}Mad getByDr $args.
+#       It's recommanded to use this method to get MAS info- since it MAD
+#       sending handles failures
+#  INPUTS
+#  $mad - the type of MAD to be sent - e.g., NodeInfo, PortInfo, etc.
+#  $cget - the requested field of the mad ("dump" returns the all mad info)
+#  $args - the direct route (and, optionally, the port) for sending the MAD
+#  OUTPUT
+#  the relevant field (or - all fields) of the MAD info
+#  DATAMODEL
+#  the procedure uses $G(argv:failed.retry) - for stopping failed retries
+#  and $G(bool:bad.links.detected) to decide whether to run DetectBadLinks
+proc SmMadGetByDr { mad cget args } {
+    global G errorInfo
+
+    ### SmMadGetByDr - Set the send and cget commands
+    set getCmd [concat "sm${mad}Mad getByDr $args"]
+    if {[regexp {^-} $cget]} {
+	set cgetCmd "sm${mad}Mad cget $cget"
+    } else {
+	set cgetCmd "sm${mad}Mad $cget"
+    }
+
+    ### SmMadGetByDr - Send the mads (with up to $G(argv:failed.retry) retries)
+    inform "-V-mad:sent" -command "$getCmd"
+    set status -1
+    for { set retry 0 } { $retry < $G(argv:failed.retry) } { incr retry } {
+	if { [set status [eval $getCmd]] == 0 } {
+	    incr retry
+	    break;
+	}
+    }
+
+    inform "-V-mad:received" -status $status -attempts $retry
+
+    ### HACK: fix cases where the NodeDesc has an internal newline
+    if { $mad == "NodeDesc" } {
+	 set desc [string map {"\n" ""} [smNodeDescMad cget -description]]
+	 smNodeDescMad configure -description $desc
+    }
+
+    ### SmMadGetByDr - Handle the results
+    if { $G(bool:bad.links.detected) && ( $status != 0 ) } {
+	set res [DetectBadLinks $status "$cgetCmd" $mad $args]
+	if {$res == -1} {
+	    return -code 1 -errorcode $status
+	} else {
+	    return $res
+	}
+    } elseif { $status != 0 } {
+	return -code 1 -errorcode $status
+    } else {
+	return [eval $cgetCmd]
+    }
+}
+
+##############################
+
+##############################
+#  SYNOPSIS     SmMadGetByLid mad cget args
+#  FUNCTION
+#  returns the info of the lid based Mad: sm${cmd}Mad getByLid $args.
+#  INPUTS
+#  $mad - the type of MAD to be sent - e.g., NodeInfo, PortInfo, etc.
+#  $cget - the requested field of the mad ("dump" returns the all mad info)
+#  $args - the lid (and, optionally, the port) for sending the MAD
+#  OUTPUT
+#  the relevant field (or - all fields) of the MAD info
+#  DATAMODEL
+#  the procedure uses $G(argv:failed.retry) - for stopping failed retries
+#  and $G(bool:bad.links.detected) to decide whether to run DetectBadLinks
+proc SmMadGetByLid { mad cget args } {
+    global G errorInfo
+
+    ### SmMadGetByLid - Set the send and cget commands
+    set getCmd [concat "sm${mad}Mad getByLid $args"]
+    if {[regexp {^-} $cget]} {
+	set cgetCmd "sm${mad}Mad cget $cget"
+    } else {
+	set cgetCmd "sm${mad}Mad $cget"
+    }
+
+    ### Send the mads (with up to $G(argv:failed.retry) retries)
+    inform "-V-mad:sent" -command "$getCmd"
+    set status -1
+    for { set retry 0 } { $retry < $G(argv:failed.retry) } { incr retry } {
+	if { [set status [eval $getCmd]] == 0 } { incr retry ; break; }
+    }
+    inform "-V-mad:received" -status $status -attempts $retry
+
+    ### HACK: fix cases where the NodeDesc has an internal newline
+    if { $mad == "NodeDesc" } {
+	 set desc [string map {"\n" ""} [smNodeDescMad cget -description]]
+	 smNodeDescMad configure -description $desc
+    }
+
+    ### Handle the results
+    if { $status != 0 } {
+	return -code 1 -errorcode $status
+    } else {
+	return [eval $cgetCmd]
+    }
+}
+##############################
+
+##############################
+#  SYNOPSIS     GetPmList Lid:Port
+#  FUNCTION
+#  returns the info of PM info request : pmGetPortCounters $Lid $Port
+#  INPUTS
+#  $LidPort - the lid and port number for the pm info request
+#     format: lid:port (the semicolon - historic)
+#  OUTPUT
+#  the relevant PM (Performance Monitors) info for the $port at $lid
+#  DATAMODEL
+#  the procedure uses $G(argv:failed.retry) - for stopping failed retries
+proc GetPmList { _lidPort } {
+    global G
+    set list_pm -1
+
+    ## PM list get - Step1.0: Set lid, port and the pm command
+    regexp {^(.*):(.*)$} $_lidPort . lid port
+    if { $lid == 0 } {
+	return
+    }
+
+    ## PM list get - Step1.1: Set pm command
+    set cmd [concat "pmGetPortCounters $lid $port"]
+
+    ## PM list get - Step2.0: Send the pm info request
+    inform "-V-mad:sent" -command $cmd
+    for { set retry 0 } { $retry < $G(argv:failed.retry) } { incr retry } {
+	if { [regexp "ERROR" [set list_pm [join [eval $cmd]]]]==0 } {
+	    break;
+	}
+    }
+    inform "-V-mad:received" -attempts $retry
+
+    ## PM list get - Step3.0: Handling the results
+    if {[regexp "ERROR" $list_pm]} {
+	return -code 1 -errorcode 1 -errorinfo "$list_pm"
+    } else {
+	return $list_pm
+    }
+}
+
+######################################################################
+### Farbic Discovery
+######################################################################
+#  SYNOPSIS    DiscoverFabric
+#  FUNCTION & DATAMODEL
+#  Using a BFS algorithm (staring at the local node), discovers the entire
+#  fabric and sets up a few databases:
+#       G(data:list.direct.path):
+#       G(data:list.node.guids):
+#       G(data:list.port.guids):
+#       G(data:guid.by.dr.path.<DirectPath>)    : <PortGuid>
+#       G(data:dr.path.to.guid.<PortGuid>)      : <DirectPath>
+#       G(data:dr.path.to.node.<NodeGuid>)      : <DirectPath>
+#       G(data:PortInfo.<NodeGuid>:<PN>)        : <SmPortInfoMad>
+#       G(data:NodeGuid.<PortGuid>)          : <NodeGuid>
+#       G(data:NodeInfo.<NodeGuid>):         : <smNodeInfoMad>
+#       G(data:NodeDesc.<NodeGuid>)          :
+#       G(data:PortGuid.<NodeGuid>:<PN>)     : <PortGuid>
+#
+#       Neighbor(<NodeGuid>:<PN>)       : <NodeGuid>:<PN>
+#
+#       MASK(CurrentMaskGuid)           : <MaskGuid>
+#       MASK(PortMask,<PortGuid>)       : <PortMask>
+#       MASK(NodeMask,<NodeGuid>)       : <NodeMask>
+#       MASK(PortGuid,<PortMask>)       : <PortGuid>
+#       MASK(NodeGuid,<NodeMask>)       : <NodeGuid>
+#
+#       DUPandZERO(<PortGuid>,PortGUID) : <DirectPath>
+#       DUPandZERO(<NodeGuid>,NodeGUID) : <DirectPath>
+#       DUPandZERO(<value>,<ID>)        : <DirectPath>
+#
+#       SM(<SMstate>                    : <DirectPath>,SMpriority
+#
+#       G(data:list.bad.paths) - list of second paths
+#
+#  INPUTS
+#       PathLimit  - defined in which bad paths type the discovery should
+#                   take place
+#       startIndex - defined from which entry in G(data:list.direct.path) the
+#                   discovery should take place
+#  OUTPUT NULL
+proc DiscoverFabric { _pathLimit {startIndex 0}} {
+    global G DUPandZERO MASK Neighbor SM
+    if {[info exists G(argv:ibdiag.db)]} {
+        inform "-W-loading:external.ibdiag.db" -fn $G(argv:ibdiag.db)
+        if {[catch {source $G(argv:ibdiag.db)} e]} {
+            inform "-E-loading:old.ibdiag.db" -fn $G(argv:ibdiag.db) -errMsg $e
+        }
+        inform "-I-discover:discovery.status" -log
+        return 0
+    }
+
+    inform "-V-discover:start.discovery.header"
+
+    ### DiscoverFabric - Pre Settings
+    ## Pre Settings - Step1.0: Local vars
+    set index_dr $startIndex
+    set bool_badPathFound 0
+    while { $index_dr < [llength $G(data:list.direct.path)] } {
+	### DiscoverFabric - Bad path
+        if {$bool_badPathFound} {
+	    ## Bad path - Step1.0: Add the path to data list
+	    lappend G(data:list.bad.paths) $DirectPath
+	    ## Bad path - Step1.1: Remove the dr path from all known DB
+	    RemoveDirectPath $DirectPath
+	    ## Bad path - Step1.2: Go back a step
+	    incr index_dr -1
+	    set bool_badPathFound 0
+	    continue;
+	}
+
+	set DirectPath [lindex $G(data:list.direct.path) $index_dr]
+	incr index_dr
+
+	inform "-V-discover:discovery.status" -index $index_dr -path "$DirectPath"
+	inform "-I-discover:discovery.status"
+
+	### DiscoverFabric - Pre Query
+	## Pre Query - Step1.0: If the path is worst then allowed, continue to next dr!
+	if {[PathIsBad $DirectPath] > $_pathLimit} {
+	    set bool_badPathFound 1
+	    continue;
+	}
+	## Pre Query - Step2.0: If unable to get NodeInfo across $DirectPath, continue to next dr!
+	if {[catch {set nodeInfo [SmMadGetByDr NodeInfo dump "$DirectPath"]}]} {
+	    set bool_badPathFound 1
+	    continue;
+	}
+
+	# Set nodeGuid,portGuid,EntryPort
+	set nodeGuid [GetWordAfterFlag $nodeInfo "-node_guid"]
+	set portGuid [GetWordAfterFlag $nodeInfo "-port_guid"]
+	set entryPort [GetEntryPort $DirectPath -byNodeInfo $nodeInfo]
+
+	### DiscoverFabric - Known Guids
+	# Note: if changing a guid during discovery, could cause unreliable results
+	# DZ TODO: set aside all the maybe HCA with 2 ports (Case2.0), and deal with them
+	# at the end
+
+	## Known Guids pre Query - Step1.0: Determine if the GUIDs are allready exists in DB
+	set bool_nodeGuidknown [expr ([lsearch $G(data:list.node.guids) $nodeGuid]!= -1)]
+	set bool_portGuidknown [expr ([lsearch $G(data:list.port.guids) $portGuid]!= -1)]
+	set bool_skipGuids [CheckSkipStatus dup_guids]
+
+	if {!$bool_skipGuids} {
+	    set bool_duplicatePortGuid 0
+	    set bool_duplicateNodeGuid 0
+
+	    ## Known Guids - Case1.0: Known port GUID && Unknown node GUID
+	    # No legal cases exists
+	    if {$bool_portGuidknown && !$bool_nodeGuidknown} {
+		set prev_drPath $G(data:dr.path.to.guid.$portGuid)
+		## Known Guids - Case1.1: Duplicate port GUID Found!
+		# No way to get the same port GUID from two diffrent nodes
+		set bool_duplicatePortGuid 1
+	    }
+	    ## Known Guids - Case2.0: Unknown port GUID && Known node GUID
+	    # Only one legal case: an HCA is connected with two ports
+	    if {!$bool_portGuidknown && $bool_nodeGuidknown} {
+		# Get the old port GUID, in order to get the old drPath
+		set tmp_portGuid [lindex [array get G data:PortGuid.$nodeGuid:*] 1]
+		set prev_drPath $G(data:dr.path.to.node.$nodeGuid)
+		if {[catch {set tmp_type_1 [GetParamValue Type $prev_drPath]}]} {
+		    set bool_badPathFound 1
+		    continue;
+		}
+		if {[catch {set tmp_type_2 [GetParamValue Type $DirectPath]}]} {
+		    set bool_badPathFound 1
+		    continue;
+		}
+		## Known Guids - Case2.1: Duplicate node GUID Found!
+		# previous and current port has diffrent types
+		if {$tmp_type_1 != $tmp_type_2} {
+		    set bool_duplicateNodeGuid 1
+		}
+
+		if {$tmp_type_2 == "CA"} {
+		    if {[info exists Neighbor($nodeGuid:$entryPort)]} {
+			## Known Guids - Case2.2: Duplicate node GUID Found!
+			# There is allreay an HCA carring this node GUID and has this
+			# entry port with a diffrent port GUID
+			set bool_duplicateNodeGuid 1
+		    }
+		} elseif {[Bool_DuplicateGuids $nodeGuid $DirectPath $prev_drPath 1]} {
+		    ## Known Guids - Case2.3: Duplicate node GUID Found!
+		    # DZ: Q:I'm not sure way the above elseif is required, it seems
+		    # that I immediately should set: "bool_duplicateNodeGuid <= 1"
+		    # DZ: A: To support Sw that has more then one PG
+		    set bool_duplicateNodeGuid 1
+		}
+	    }
+	    ## Known Guids - Case3.0: Known port GUID && Known node GUID
+	    if {$bool_portGuidknown && $bool_nodeGuidknown } {
+		# HCA - Only "legit case" return to an HCA, through it's second
+		# port, which is duplicated. Since we can't detemine if we visited
+		# in an HCA before then PG and NG are dup
+		# SW - Only if this is a SW which we visited before
+
+		# Dr for the first encounter with the current PG
+		set prev_drPath $G(data:dr.path.to.guid.$portGuid)
+		# NG of current PG
+		set prev_nodeGuid $G(data:NodeGuid.$portGuid)
+		# PG of current NG (use only one because HCa has max of 2 ports)
+		# and for switch its the same
+		set tmp_portGuid [lindex [array get G data:PortGuid.$nodeGuid:*] 1]
+		# Dr for the first encounter with the NG of the current PG
+		set prev_drPath2 $G(data:dr.path.to.node.$nodeGuid)
+		#set prev_drPath2 $G(data:dr.path.to.guid.$tmp_portGuid)
+		if {[catch {set tmp_type_1 [GetParamValue Type $prev_drPath]}]} {
+		    set bool_badPathFound 1
+		    continue;
+		}
+		if {[catch {set tmp_type_2 [GetParamValue Type $DirectPath]}]} {
+		    set bool_badPathFound 1
+		    continue;
+		}
+		if {[catch {set tmp_type_3 [GetParamValue Type $prev_drPath2]}]} {
+		    set bool_badPathFound 1
+		    continue;
+		}
+		if {$tmp_type_2 == "CA"} {
+		    if {$nodeGuid == $prev_nodeGuid } {
+			## Known Guids - Case3.1: The current node GUID and previous node GUID
+			# of the current port GUID are equal == The current PG and NG were once
+			# belonged to the same Node
+			if {$tmp_type_1 == "CA"} {
+			    if {[info exists Neighbor($nodeGuid:$entryPort)]} {
+				## Known Guids - Case3.1.1: Duplicate node and port Found!
+				# Now in HCA previously in HCA which has this entry registered
+				set bool_duplicatePortGuid 1
+				set bool_duplicateNodeGuid 1
+			    } else {
+				## Known Guids - Case3.1.2: Duplicate node and port Found!
+				# Possibly we reached an allready visited HCA with its PG duplicated
+				# Or It's the same HCA but both it's port are with the same PG
+				# the only way to be sure is to cahnge something in the current
+				# HCA and check if the second one changed also. Since that is not
+				# allowed Case3.1.2.1 will be the same as Case Case3.1.2.2
+				# Case3.1.2.1
+				set bool_duplicatePortGuid 1
+				set bool_duplicateNodeGuid 1
+				# Case3.1.2.2
+				# set bool_duplicatePortGuid 1
+				# set bool_duplicateNodeGuid 0
+
+			    }
+			} else {
+			    ## Known Guids - Case3.1.3: Duplicate node and port Found!
+			    #Case 1.2 - Now in HCA previously in SWITCH
+			    set bool_duplicatePortGuid 1
+			    set bool_duplicateNodeGuid 1
+			}
+		    } else {
+			## Known Guids - Case3.2: MAYBE The current PG and NG were not belonged
+			# to the same Node
+			if {$tmp_type_3 == "CA"} {
+			    # Case3.2.1 The node GUID was once belonging to an HCA
+			    # ? Is it the same HCA ?
+			    # We can only assume that it's the same HCA there for we treat it like
+			    # it's not (DZ logic)
+			}
+			## Known Guids - Case3.2.1: Duplicate node and port Found!
+			# Explained above
+			set bool_duplicatePortGuid 1
+			set bool_duplicateNodeGuid 1
+		    }
+		} else {
+		    ## Known Guids - Case3.3: The current device is a switch
+		    # if it's not the same node as before assume both are duplicate
+		    # possible that only one is dup (ask DZ-"there was a very very unlikly scenrio" )
+		    if {[Bool_DuplicateGuids $nodeGuid $DirectPath $prev_drPath2]} {
+			set bool_duplicatePortGuid 1
+			set bool_duplicateNodeGuid 1
+		    }
+		}
+	    }
+	    ### DiscoverFabric - Handle duplicate GUIDs
+	    if {$bool_duplicatePortGuid || $bool_duplicateNodeGuid} {
+		set nodeAllreadyMasked 0
+		set portAllreadyMasked 0
+
+		## Handle duplicate GUIDs - Case1.0: Duplicate port GUID which was masked before
+		if {$bool_duplicatePortGuid} {
+		    if {[info exists MASK(PortMask,$portGuid)]} {
+			foreach portMask $MASK(PortMask,$portGuid) {
+			    set prev_drPath $G(data:dr.path.to.guid.$portMask)
+			    if {[Bool_SameDevice $DirectPath $prev_drPath] == 1} {
+				set portAllreadyMasked 1
+				set portGuid $portMask
+				set bool_duplicatePortGuid 0
+				break
+			    }
+			}
+		    }
+		}
+		## Handle duplicate GUIDs - Case2.0: Duplicate node GUID which was masked before
+		if {$bool_duplicateNodeGuid} {
+		    if {[info exists MASK(NodeMask,$nodeGuid)]} {
+			foreach nodeMask $MASK(NodeMask,$nodeGuid) {
+			    set prev_drPath $G(data:dr.path.to.node.$nodeMask)
+			    if {[Bool_SameDevice $DirectPath $prev_drPath] == 1} {
+				set nodeAllreadyMasked 1
+				set nodeGuid $nodeMask
+				set bool_duplicateNodeGuid 0
+				break
+			    }
+			}
+		    }
+		}
+
+		## Handle duplicate GUIDs - Case3.0: Get node GUID from a masked port GUID
+		if {$portAllreadyMasked} {
+		    set nodeGuid $G(data:NodeGuid.$portGuid)
+		    set nodeAllreadyMasked 1
+		}
+
+		## Handle duplicate GUIDs - Case4.0: Get port GUID from a masked node GUID
+		if {$nodeAllreadyMasked} {
+		    set portGuid [lindex [array get G data:PortGuid.$nodeGuid:*] 1]
+		    set portAllreadyMasked 1
+		}
+
+		## Handle duplicate GUIDs - Case5.0: Duplicate port GUID which was never masked
+		if {!$portAllreadyMasked && $bool_duplicatePortGuid} {
+		    set prev_drPath $G(data:dr.path.to.guid.$portGuid)
+		    if {![info exists DUPandZERO($portGuid,PortGUID)]} {
+			lappend DUPandZERO($portGuid,PortGUID) $prev_drPath
+		    }
+		    lappend DUPandZERO($portGuid,PortGUID) $DirectPath
+		    set currentMaskGuid [GetCurrentMaskGuid]
+		    set MASK(PortGuid,$currentMaskGuid) $portGuid
+		    lappend MASK(PortMask,$portGuid) $currentMaskGuid
+		    set portGuid $currentMaskGuid
+		    set bool_portGuidknown 0
+		    AdvncedMaskGuid
+		}
+
+		## Handle duplicate GUIDs - Case6.0: Duplicate node GUID which was never masked
+		if {!$nodeAllreadyMasked && $bool_duplicateNodeGuid} {
+		    #set tmp_portGuid [lindex [array get G data:PortGuid.$nodeGuid:*] 1]
+		    #set prev_drPath $G(data:dr.path.to.guid.$tmp_portGuid)
+		    set prev_drPath $G(data:dr.path.to.node.$nodeGuid)
+
+		    if {![info exists DUPandZERO($nodeGuid,NodeGUID)]} {
+			lappend DUPandZERO($nodeGuid,NodeGUID) $prev_drPath
+		    }
+		    lappend DUPandZERO($nodeGuid,NodeGUID) $DirectPath
+		    set currentMaskGuid [GetCurrentMaskGuid]
+		    set MASK(NodeGuid,$currentMaskGuid) $nodeGuid
+		    lappend MASK(NodeMask,$nodeGuid) $currentMaskGuid
+		    set nodeGuid $currentMaskGuid
+		    set bool_nodeGuidknown 0
+		    AdvncedMaskGuid
+		}
+	    }
+	} else {
+	    # Note: if bool_skipGuids then assume that known GUIDs are legit
+	    if {$bool_nodeGuidknown || $bool_portGuidknown} {
+		#DZ: No need for that :continue
+	    }
+	}
+
+	set G(data:guid.by.dr.path.$DirectPath) $portGuid
+	### DiscoverFabric - Checks list
+	## Checks list - Test1.0: Check if the new link is allready marked  -
+	# if so removed $DirectPath.
+	# Happens in switch systems and when a switch connects to himself
+	if {![SetNeighbor $DirectPath $nodeGuid $entryPort]} {
+	    set bool_badPathFound 1
+	    continue;
+	}
+
+	## Checks list - Test2.0: Get nodeType
+	if {[catch {set nodeType [GetParamValue Type $DirectPath]}]} {
+	    set bool_badPathFound 1
+	    continue;
+	}
+
+	## Checks list - Test3.0: Determine if you have reached an allready visited Switch
+	if {($bool_nodeGuidknown) && ($nodeType == "SW")} {
+	    continue;
+	}
+
+	## Checks list - Step1.0: The next line makes sure we only count the unknown Nodes
+	if {!(($bool_nodeGuidknown) && ($nodeType == "CA"))} {
+	    incr G(data:counter.$nodeType)
+	}
+
+	if {![info exists G(data:dr.path.to.guid.$portGuid)]} {
+	    set G(data:dr.path.to.guid.$portGuid) $DirectPath
+	}
+
+	if {![info exists G(data:dr.path.to.node.$nodeGuid)]} {
+	    set G(data:dr.path.to.node.$nodeGuid) $DirectPath
+	}
+
+	if {!$bool_nodeGuidknown} {
+	    lappend G(data:list.node.guids)  $nodeGuid
+	}
+	if {!$bool_portGuidknown} {
+	    lappend G(data:list.port.guids)  $portGuid
+	}
+
+	set G(data:NodeGuid.$portGuid) $nodeGuid
+	set G(data:NodeInfo.$nodeGuid) $nodeInfo
+	set G(data:PortGuid.$nodeGuid:$entryPort) $portGuid
+
+	# Update Neighbor entry in the Neighbor Array.
+	# it's possible it was allready updated in the "return to switch check"
+	if {[llength $DirectPath] > 0} {
+	    SetNeighbor $DirectPath $nodeGuid $entryPort
+	}
+	if {[catch {set tmp_nodeDesc [SmMadGetByDr NodeDesc -description "$DirectPath"]}]} {
+	    set G(data:NodeDesc.$nodeGuid) "UNKNOWN"
+	} else {
+	    set G(data:NodeDesc.$nodeGuid) $tmp_nodeDesc
+	}
+
+	### DiscoverFabric - Build Ports List
+	if { $nodeType == "CA" } {
+	    ## Build Ports List - Case1.0: a HCA
+	    set PortsList $entryPort
+	} else {
+	    ## Build Ports List - Case1.0: a SWITCH
+	    if {[catch {set Ports [GetParamValue Ports $DirectPath]}]} {
+		set bool_badPathFound 1
+		continue;
+	    }
+	    set PortsList ""
+	    for { set port 0 } { $port <= $Ports } { incr port } {
+		lappend PortsList $port
+	    }
+	}
+
+	# Gather SystemGUID,LID information into DUPandZERO Array
+	set endLoop 0
+	foreach ID "SystemGUID LID" {
+	    if {[catch {set value [GetParamValue $ID $DirectPath -port 0]}]} {
+		set bool_badPathFound 1
+		set endLoop 1
+		break;
+	    } else {
+		lappend DUPandZERO($value,$ID) "$DirectPath"
+	    }
+	}
+	if {$endLoop} {continue;}
+
+	### DiscoverFabric - SM handling
+	# Check if the device is an SM and update portInfo
+	set endLoop 0
+	foreach port $PortsList {
+	    if {[catch {set tmp_PortInfo [SmMadGetByDr PortInfo dump "$DirectPath" $port]}]} {
+		set endLoop 1
+		set bool_badPathFound 1
+		continue;
+	    }
+	    if { ($nodeType == "CA") || (($nodeType == "SW") && ($port == 0) )} {
+		set tmp_capabilityMask [GetWordAfterFlag $tmp_PortInfo -capability_mask]
+		if {[expr 2 & $tmp_capabilityMask]} {
+		    if {[catch {set tmp_LID [GetParamValue LID $DirectPath -port $port]}]} {
+			set bool_badPathFound 1
+			set endLoop 1
+			continue;
+		    }
+		    if {![catch {set tmp_SMInfo [SmMadGetByLid SMInfo dump $tmp_LID ]}]} {
+			set tmp_priState 0x[format %x [GetWordAfterFlag $tmp_SMInfo -pri_state]]
+			lappend SM([expr $tmp_priState % 0x10]) "{$DirectPath} [expr $tmp_priState / 0x10]"
+		    }
+		}
+	    }
+
+	    set G(data:PortInfo.$nodeGuid:$port) $tmp_PortInfo
+
+	    # The loop for non-switch devices ends here.
+	    # This is also an optimization for switches ..
+	    if { ( ($index_dr != 1) && ($port == $entryPort) ) || ($port == 0) } {
+                continue;
+	    }
+
+            # Check again that the local port is not down / ignore all other
+	    # down ports
+	    if {[catch {set tmp_log [GetParamValue LOG $DirectPath -port $port]; 
+                        set ezNType  [GetParamValue Type $DirectPath -port $port]}]} {
+		set bool_badPathFound 1
+		set endLoop 1
+		break;
+	    }
+
+	    switch -- $tmp_log {
+		"DWN" {
+		    if { ($index_dr == 1) && ($ezNType != "SW") } {
+			inform "-E-localPort:local.port.down" -port $port
+		    }
+		    continue;
+		}
+		"INI" {
+                    lappend G(data:list.links.not.active.logical.state) [join "$DirectPath $port"]
+		}
+	    }
+
+            if {[llength $DirectPath] > 1} {
+                set tmp_revDrPath $G(data:rev.dr.path.[lrange $DirectPath 0 end-1])
+                set G(data:rev.dr.path.$DirectPath) "$entryPort $tmp_revDrPath"
+            } else {
+                set G(data:rev.dr.path.$DirectPath) $entryPort
+            }
+
+	    ### DiscoverFabric - Add new dr path
+	    # "$DirectPath $port" is added to the DirectPath list only if the
+	    # device is a switch (or the root HCA), the link at $port is not
+	    # DOWN, $port is not 0 and not the entry port
+	    lappend G(data:list.direct.path) [join "$DirectPath $port"]
+	}
+	if {$endLoop} {continue;}
+    }
+
+    ### DiscoverFabric - Handle bad paths
+    if {$bool_badPathFound} {
+	lappend G(data:list.bad.paths) $DirectPath
+	RemoveDirectPath $DirectPath
+    }
+
+    ### DiscoverFabric - Handle hidden fabric discovery
+    if {$G(bool:hidden.fabric.discovered) == 0} {
+	catch {set tmp_HiddenFabric [DiscoverHiddenFabric]}
+	inform "-I-discover:discovery.status" -log
+	inform "-I-exit:\\r"
+	inform "-V-discover:end.discovery.header"
+    }
+    if {[info exists tmp_HiddenFabric] } {
+	if {$tmp_HiddenFabric != 0} {
+	    inform "-I-discover:discovery.status" -log
+	    inform "-I-exit:\\r"
+	    inform "-V-discover:end.discovery.header"
+	}
+    }
+    return 0
+}
+##############################
+
+### DZ: UP TO HERE DOCUMENTED
+
+##############################
+#  SYNOPSIS
+#  DiscoverPath Path2Start node
+#  FUNCTION
+#  Traverses a path between two fabric nodes, reading info regarding the
+#  nodes passed, and writing this data into various databases.
+#  This procedure is used whenever a tool should traverse some path:
+#  ibdiagpath, ibcfg, ibping,ibmad.
+#  The path is defined by its two end points: the source node and the
+#  destination node. The path between the endpoints will be a direct route
+#  - in case of by-direct-path-addressing - or lid-route in case of by-name
+#  or by-lid addressing.
+#  INPUTS
+#  $Path2Start is a direct route to the source node. In case of lid routing
+#  it will be a part of the lid route to the destination node.
+#  $node points to the destination is specified - either by a Direct route
+#  (by-direct-path-addressing), or by LID (by-lid or by-name addressing).
+#  OUTPUT
+#  A direct route starting at the start (local or source) node
+#       ending at the end node (destination or source )
+#  DATAMODEL
+#  Similarly to DiscoverFabric, the prod uses and updates these arrays
+#  G(data:NodeInfo.<NodeGuid>)
+#  G(data:list.direct.path)
+#  Additionally, the following database is maintained:
+#  G(DrPath2LID,<DirectPath>):
+#     the LID of the entry port at the end of <DirectPath>
+#  Also used: G(argv:* ) (= the parsed command line arguments) is used to
+#  specify the addressing mode; and the pointer to the merged fabric
+#  G(IBfabric:merged) (= the ibdm merging of topo file and .lst file)
+proc DiscoverPath { _path2Start node } {
+    global G errorCode errorInfo PATH_DUMP
+
+    set bool_ignoreInit 0
+    set bool_badPathFound 0
+    set tmp_drPath ""
+    if {$G(argv:symmetric.multi.processing) || ($G(var:tool.name) == "ibcfg") } {
+	set bool_ignoreInit 1
+    }
+
+    if {$G(bool:topology.matched)} {
+	set nameLast ""
+    } else {
+	set nameLast "-nameLast"
+    }
+    if {[set byDrPath [info exists G(argv:direct.route)]]} {
+	set Path2End [join $node]
+    } else {
+	set destinationLid $node
+	set blockNum [expr $destinationLid / 64]
+	set LidMod64 [expr $destinationLid % 64]
+    }
+
+    # If the source node is a remote HCA, if I don't do the following
+    # then my MADs will get stuck upon "entering-and-exiting" this node
+    if {[catch {set sourceNodeType [GetParamValue Type $_path2Start]}]} {
+	DumpBadLinks
+	catch { close $G(logFileID) }
+	inform "-E-ibdiagpath:route.failed" -DirectPath $tmp_drPath -port [GetEntryPort $_path2Start]
+    }
+
+    if { ($_path2Start != "") && $sourceNodeType != "SW" } {
+	set Path2Start [lreplace $_path2Start end end]
+    } else {
+	set Path2Start $_path2Start
+    }
+
+    set DirectPath $Path2Start
+    while { 1 } {
+	if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$DirectPath"]}]} {
+	    break;
+	}
+	if {([PathIsBad $DirectPath] > 1) || $bool_badPathFound} {
+	    break;
+	}
+
+	set nodeGuid  [GetWordAfterFlag $NodeInfo "-node_guid"]
+	set portGuid  [GetWordAfterFlag $NodeInfo "-port_guid"]
+	set entryPort [GetEntryPort $DirectPath -byNodeInfo $NodeInfo]
+	set G(data:guid.by.dr.path.$DirectPath) $portGuid
+	set G(data:dr.path.to.guid.$portGuid) $DirectPath
+	set G(data:NodeGuid.$portGuid) $nodeGuid
+	set G(data:NodeInfo.$nodeGuid) $NodeInfo
+	set DirectPath [join $DirectPath]
+
+	if {$DirectPath != ""} {
+	    if {![catch {set tmp_log [GetParamValue LOG [lrange $DirectPath 0 end-1] -port [lindex $DirectPath end] -byDr]}]} {
+		if {$tmp_log == "INI"} {
+		    lappend G(data:list.links.not.active.logical.state) [join "$DirectPath"]
+		    if { !$bool_ignoreInit} {
+			PrintPath $_path2Start
+			inform "-E-ibdiagpath:link.not.active" -DirectPath0 [lrange $DirectPath 0 end-1] -port  [lindex $DirectPath end]
+		    }
+		}
+	    }
+	    if {![catch {set tmp_log [GetParamValue LOG $DirectPath -port $entryPort -byDr]}]} {
+		if {$tmp_log == "INI"} {
+		    lappend G(data:list.links.not.active.logical.state) [join "$DirectPath"]
+		    if { !$bool_ignoreInit} {
+			PrintPath $_path2Start
+			inform "-E-ibdiagpath:link.not.active" -DirectPath0 $DirectPath -port $entryPort
+		    }
+		}
+	    }
+	}
+
+	if {[llength $DirectPath] > 0} {
+	    SetNeighbor $DirectPath $nodeGuid $entryPort
+	}
+
+	if {[catch {set tmp_nodeDesc [SmMadGetByDr NodeDesc -description "$DirectPath"]}]} {
+	    set G(data:NodeDesc.$nodeGuid) "UNKNOWN"
+	} else {
+	    set G(data:NodeDesc.$nodeGuid) $tmp_nodeDesc
+	}
+	if { ![BoolWordInList $DirectPath $G(data:list.direct.path)] } {
+	    lappend G(data:list.direct.path) $DirectPath
+	}
+
+	if {[catch {set nodeType [GetParamValue Type $DirectPath]}]} {
+	    set bool_badPathFound 1
+	    break;
+	}
+	if {[catch {set nodePorts [GetParamValue Ports $DirectPath]}]} {
+	    set bool_badPathFound 1
+	    break;
+	}
+	if {[catch {set nodeLid [GetParamValue LID $DirectPath -port $entryPort]}]} {
+	    set bool_badPathFound 1
+	    break;
+	}
+
+	if { $nodeLid == "0x" } { break; }
+
+	if { $nodeType == "SW" } {
+	    set G(DrPath2LID,$DirectPath:0) $nodeLid
+	} else {
+	    set G(DrPath2LID,$DirectPath:$entryPort) $nodeLid
+	}
+	if { $DirectPath != $Path2Start } {
+	    set remoteLidGuidDev [DrPath2Name $DirectPath $nameLast -fullName -port $entryPort]
+	    set PATH_DUMP($DirectPath,To) "$remoteLidGuidDev"
+	    lappend PATH_DUMP(list,DirectPath) "$DirectPath,To"
+	    #inform "-I-ibdiagpath:read.lft.to" "$localLidGuidDev"
+	}
+	############################################################
+	### If we "discover" by means of direct route
+	if {$byDrPath} {
+	    # This is the stopping condition for direct routing
+	    if { $DirectPath == $Path2End } { break; }
+	    set exitPort [lindex $Path2End [llength $DirectPath]]
+
+	    # if the user gives a direct path passing through a HCA
+	    if { ( $nodeType != "SW" ) && ( $DirectPath != $Path2Start ) } {
+		PrintPath $_path2Start
+		inform "-E-ibdiagpath:direct.route.deadend" \
+		    -DirectPath "$DirectPath"
+	    }
+
+	    # if port number is wrong (it exceeds the node's number of ports)
+	    if { $exitPort > $nodePorts } {
+		PrintPath $_path2Start
+		inform "-E-ibdiagpath:direct.path.no.such.port" \
+		    -DirectPath "$DirectPath" -port $exitPort
+	    }
+	    ############################################################
+	} else {
+	    ############################################################
+	    # If we discover by means of lid-route
+
+	    # This is the good stopping condition for lid routing
+	    if { $nodeLid == $destinationLid } { break; }
+	    # If we reached LID 0
+	    if { $nodeLid == 0 } {
+		PrintPath $_path2Start
+		inform "-E-ibdiagpath:reached.lid.0" -DirectPath "$DirectPath"
+	    }
+
+	    # If we reached a HCA
+	    if { ( $nodeType != "SW" ) && ( $DirectPath != $Path2Start ) } {
+		PrintPath $_path2Start
+		inform "-E-ibdiagpath:lid.route.deadend.reached.hca" \
+		    -DirectPath [lrange $DirectPath 0 end-1] -lid $destinationLid -port [lindex $DirectPath 0]
+	    }
+
+	    # If we returned to an already-visited node: we are in a lid-loop -> exit
+	    if { [info exists Guid2DrPath($nodeGuid)] } {
+		PrintPath $_path2Start
+		inform "-E-ibdiagpath:lid.route.loop" \
+		    -DirectPath "$Guid2DrPath($nodeGuid)" -lid $destinationLid
+	    } else {
+		set Guid2DrPath($nodeGuid) $DirectPath
+	    }
+
+	    if { $nodeType != "SW" } {
+		set exitPort $entryPort
+	    } else {
+		if {[catch {set FDBsBlock [SmMadGetByDr LftBlock dump "$DirectPath" $blockNum]}]} {
+		    if { $errorCode == 0x801c } {
+			PrintPath $_path2Start
+			inform "-E-ibdiagpath:fdb.block.unreachable" \
+			    -errorcode $errorCode -command "$cmd"
+		    }
+		    break;
+		}
+		if {[PathIsBad $DirectPath] > 1} { break; }
+		set exitPort [expr [lindex $FDBsBlock $LidMod64]]
+		if { ($exitPort == "0x00") } {
+		    PrintPath $_path2Start
+		    inform "-E-ibdiagpath:lid.route.deadend" \
+			-DirectPath [lrange $DirectPath 0 end] -lid $destinationLid -port [lindex $DirectPath 0]
+		}
+
+		if { ($exitPort == "0xff")} {
+		    PrintPath $_path2Start
+		    inform "-E-ibdiagpath:fdb.bad.value" \
+			-lid $destinationLid \
+			-command "smLftBlockMad getByDr \{$DirectPath\} $blockNum" \
+			-entry "\#$LidMod64" -value $exitPort
+		}
+	    }
+	}
+
+	if {[catch {set tmp_log [GetParamValue LOG $DirectPath -port $exitPort]}]} {
+	    set bool_badPathFound 1
+	    break;
+	}
+
+	if { $tmp_log == "DWN" } {
+	    PrintPath $_path2Start
+	    inform "-E-ibdiagpath:link.down" \
+		-DirectPath "$DirectPath" -port $exitPort
+	}
+	set DirectPath [join "$DirectPath $exitPort"]
+
+	# Note that lidGuidDev are corresponding to the "old" DirectPath
+	# replace here the port number of the current device
+	set tmp_drPath [lrange $DirectPath 0 end-1]
+	set tmp_port $exitPort
+	set localLidGuidDev  [DrPath2Name $tmp_drPath $nameLast -fullName -port $tmp_port]
+	set PATH_DUMP($DirectPath,From) "$localLidGuidDev"
+	lappend PATH_DUMP(list,DirectPath) "$DirectPath,From"
+	#    inform "-I-ibdiagpath:read.lft.from" "$localLidGuidDev"
+	############################################################
+    }
+
+    PrintPath $_path2Start
+    if {([PathIsBad $DirectPath] > 1) || $bool_badPathFound} {
+	DumpBadLinks
+	catch { close $G(logFileID) }
+	inform "-E-ibdiagpath:route.failed" -DirectPath $tmp_drPath -port $tmp_port
+    }
+    return [list $DirectPath]
+}
+
+proc PrintPath {_Path2Start args} {
+    global PATH_DUMP G
+    set bool_ignoreFirst [BoolWordInList bool_ignoreFirst $args]
+    if {$G(var:tool.name) == "ibcfg"} {
+	return -1
+    }
+
+    if {![info exists PATH_DUMP]} {
+	return -1
+    }
+
+    if { ($_Path2Start != "") && [GetParamValue Type $_Path2Start] != "SW" } {
+	set lidGuidDev $PATH_DUMP($_Path2Start,To)
+	inform "-I-ibdiagpath:read.lft.from" "$lidGuidDev"
+	set lidGuidDev $PATH_DUMP($_Path2Start,From)
+	inform "-I-ibdiagpath:read.lft.to" "$lidGuidDev"
+    }
+
+    foreach drPath $PATH_DUMP(list,DirectPath) {
+	set DirectPath [join [lrange [split $drPath ,] 0 end-1]]
+	lappend listOfNames \"[lindex $PATH_DUMP($drPath) 0]\"
+    }
+
+    set max_nameLength [GetLengthMaxWord $listOfNames]
+
+    if {$G(bool:topology.matched)} {
+	foreach drPath $PATH_DUMP(list,DirectPath) {
+	    set lidGuidDev $PATH_DUMP($drPath)
+	    set lidGuidDev [join [lreplace $lidGuidDev 0 0 [AddSpaces \"[lindex $lidGuidDev 0]\" $max_nameLength]]]
+	    set PATH_DUMP($drPath) $lidGuidDev
+	}
+    }
+
+    foreach drPath $PATH_DUMP(list,DirectPath) {
+	set tmp_drPath [join [lrange [split $drPath ,] 0 end-1]]
+	if {[llength $tmp_drPath] <= [llength $_Path2Start]} {
+	    continue
+	}
+	set lidGuidDev $PATH_DUMP($drPath)
+	if {[lindex [split $drPath ,] end] == "From"} {
+	    if {$bool_ignoreFirst} {
+		set bool_ignoreFirst 0
+	    } else {
+		inform "-I-ibdiagpath:read.lft.from" "$lidGuidDev"
+	    }
+	} else {
+	    inform "-I-ibdiagpath:read.lft.to" "$lidGuidDev"
+	}
+    }
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS  DiscoverHiddenFabric
+#  FUNCTION  Call the second run of discovery, this time for all the bad links
+#  INPUTS    NULL
+#  OUTPUT    0 if the DiscoverFabric method wasn't called, 1 if it did
+proc DiscoverHiddenFabric {} {
+    global G
+    if {![info exists G(data:list.bad.paths)]} {
+	return 1
+    }
+    set startIndex [llength $G(data:list.direct.path)]
+    foreach badPath $G(data:list.bad.paths) {
+	lappend G(data:list.direct.path) $badPath
+    }
+    set G(bool:hidden.fabric.discovered) 1
+    DiscoverFabric 1 $startIndex
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS     SetNeighbor
+#  FUNCTION
+#  setting the Neighbor info on the two end node
+#  INPUTS
+#  _directPath _nodeGuid _entryPort
+#  OUTPUT
+#       return 0/1 if Neighbor exists/not exists (resp.)
+#  DATAMODEL
+#   Neighbor(<NodeGuid>:<PN>)
+proc SetNeighbor {_directPath _nodeGuid _entryPort} {
+    global G Neighbor
+    set prev_drPath [lrange $_directPath 0 end-1]
+    if {![llength $_directPath] } {
+	return 1
+    }
+    if {![info exists G(data:guid.by.dr.path.$prev_drPath)]} {
+	return 1
+    }
+    set tmp_remoteSidePortGuid $G(data:guid.by.dr.path.$prev_drPath)
+    if {![info exists G(data:NodeGuid.$tmp_remoteSidePortGuid)]} {
+	return 1
+    }
+    set tmp_RemoteSideNodeGuid $G(data:NodeGuid.$tmp_remoteSidePortGuid)
+    if {[info exists Neighbor($_nodeGuid:$_entryPort)]} {
+	return 0
+    }
+    if {[info exists Neighbor($tmp_RemoteSideNodeGuid:[lindex $_directPath end])]} {
+	return 0
+    }
+    set Neighbor($_nodeGuid:$_entryPort) "$tmp_RemoteSideNodeGuid:[lindex $_directPath end]"
+    set Neighbor($tmp_RemoteSideNodeGuid:[lindex $_directPath end]) "$_nodeGuid:$_entryPort"
+    return 1
+}
+##############################
+
+##############################
+#  SYNOPSIS  Bool_SameDevice
+#  FUNCTION
+#  INPUTS
+#  OUTPUT
+proc Bool_SameDevice {_dr1 _dr2} {
+    global G
+    if {![info exists G(data:rev.dr.path.$_dr2)]} {
+	return 0
+    }
+    set tmp_revDr $G(data:rev.dr.path.$_dr2)
+
+    set tmp_badLinksDetectionValue $G(bool:bad.links.detected)
+    set G(bool:bad.links.detected) 0
+    for {set i 0} {$i < [llength $tmp_revDr]} {incr i} {
+	set tmp_drPath_1 "$_dr1 [lrange $tmp_revDr 0 $i]"
+	set tmp_drPath_2 "$_dr2 [lrange $tmp_revDr 0 $i]"
+	if {[catch {set tmp_nodeInfo_1 [SmMadGetByDr NodeInfo dump "$tmp_drPath_1"]}]} {
+	    set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+	    return -1
+	} else {
+	    if {[catch {set tmp_nodeInfo_2 [SmMadGetByDr NodeInfo dump "$tmp_drPath_2"]}]} {
+		set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+		return -1
+	    }
+	    if {$tmp_nodeInfo_1 != $tmp_nodeInfo_2} {
+		set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+		return 0
+	    }
+	}
+    }
+    set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+    return 1
+}
+
+##############################
+#  SYNOPSIS     Bool_DuplicateGuids
+#  FUNCTION Check if a given Node carries a Dupilcate GUID.
+#               Using the Neighbor DB to compare the old neighbors to
+#               the given Node neighbors
+#  INPUTS   the node nodeGUID, and the directPath to the node from the
+#               local system node
+#               up to $_checks neighbors are being matched
+#  OUTPUT   1 for duplicate 0 for not
+proc Bool_DuplicateGuids { _NodeGuid _DirectPath _prev_drPath {_checks 1}} {
+    global Neighbor G
+    set i 0
+    set noResponseToMad 0
+    # we can not DR out of HCA so we can return 1 anyway
+    ## If Checking a HCA, one cannot enter and exit the HCA,
+    ### So instead we will run the smNodeInfoMad on the partiel Dr.
+    switch -- [Bool_SameDevice $_DirectPath $_prev_drPath ] {
+	"-1" -
+	0 {return 1}
+	1 {return 0}
+    }
+
+    foreach name [array names Neighbor $_NodeGuid:*] {
+	if {$i >= $_checks} { break; }
+	incr i
+	if {[regexp {0x[0-9a-fA-F]+:([0-9]+)} $name all PN]} {
+	    lappend portList $PN
+
+	    #Found A port that once wasn't down and now it is DWN
+	    #if { [GetParamValue LOG $_DirectPath -port $PN] == "DWN"} { return 1 }
+
+	    #All known exits return error = it's not the same node
+	    # we use SmMadGetByDrNo without detection for bad links, because we assume the direct path
+	    # exists (in order to compare its endNode with the known node endNode)
+	    # and the link is ACTIVE, its not have to be so no need fr setting that dr
+	    # as Bad link also.
+	    set tmp_badLinksDetectionValue $G(bool:bad.links.detected)
+	    set G(bool:bad.links.detected) 0
+	    if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$_DirectPath $PN"]}]} {
+		set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+		incr noResponseToMad
+		continue;
+	    }
+	    set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+	    set NodeGuid [GetWordAfterFlag $NodeInfo "-node_guid"]
+	    set EntryPort [GetEntryPort "$_DirectPath $PN" -byNodeInfo $NodeInfo]
+	    scan [split $Neighbor($name) :] {%s %s} nodeGuid entryPort
+	    set nodeGuid [GetRealPort $nodeGuid]
+	    if {"$nodeGuid:$entryPort" != "$NodeGuid:$EntryPort"} {
+		return 1
+	    }
+	}
+    }
+    # if all the checks ended up with no response - we assume it's
+    # not the same node
+    if {$i == $noResponseToMad} {
+	return 1
+    }
+    return 0
+}
+
+##############################
+#  SYNOPSIS     DumpBadLidsGuids
+#  FUNCTION Dump the retrived info during discovery, regarding
+#               Duplicate Guids and lids, and zero values
+proc DumpBadLidsGuids { args } {
+    global G DUPandZERO errorInfo CSV_ERRORS
+    set bool_informBadGuidsReport 1
+    set bool_skipZeroGuids [CheckSkipStatus zero_guids]
+    set bool_skipDupGuids [CheckSkipStatus dup_guids]
+
+    ### Checking for zero and duplicate IDs
+    foreach entry [lsort [array names DUPandZERO]] {
+	regexp {^([^:]*),([^:]*)$} $entry all value ID
+	if {($value == 0) && ($ID != "LID")} {
+	    if {$bool_skipZeroGuids} {
+		continue;
+	    }
+	} else {
+	    if {$bool_skipDupGuids} {
+		continue;
+	    }
+	}
+
+	if { ( ( [llength $DUPandZERO($entry)]==1 ) || ( $ID=="SystemGUID" ) ) && ( $value != 0 ) } {
+	    unset DUPandZERO($entry)
+	    continue;
+	}
+	if {($ID == "NodeGUID") || ($ID == "PortGUID")} {
+	    set G(Fatal.err.found) 1
+	}
+	foreach DirectPath $DUPandZERO($entry) {
+	    if {[catch {set devType [GetParamValue Type $DirectPath]} e]} {
+		continue;
+	    }
+	    if {$devType == "SW"} {
+		lappend listOfNames \"[DrPath2Name $DirectPath]\"
+	    } else {
+		if {$DirectPath == ""} {
+		    lappend listOfNames "$G(var:desc.local.dev) \"[DrPath2Name $DirectPath]\""
+		} else {
+		    lappend listOfNames \"[DrPath2Name $DirectPath]\"
+		}
+	    }
+	}
+    }
+
+    inform "-I-ibdiagnet:bad.guids.header"
+    if {![info exists listOfNames]} {
+	if {$bool_skipZeroGuids || $bool_skipDupGuids} {
+	    inform "-I-reporting:skip.set.no.report"
+	} else {
+	    inform "-I-ibdiagnet:no.bad.guids"
+	}
+	return 1
+    }
+
+    proc compareEntries {a b} {
+	scan [split $a ,] {%s %s} value_0 type_0
+	scan [split $b ,] {%s %s} value_1 type_1
+	if {$type_0 == $type_1} {
+	    return [expr ($value_0  > $value_1 )]
+	}
+	if {$type_0 == "SystemGUID"} { return 1}
+	if {$type_1 == "SystemGUID"} { return 0}
+	if {$type_0 == "LID"} { return 1}
+	if {$type_1 == "LID"} { return 0}
+	if {$type_0 == "NodeGUID" } {return 1}
+	if {$type_1 == "NodeGUID" } {return 0}
+	return 0
+    }
+
+    #### Alliming the report
+    foreach entry [lsort -command compareEntries [array names DUPandZERO]] {
+	regexp {^([^:]*),([^:]*)$} $entry all value ID
+	# llength will be diffrent then 1 when duplicate guids acored
+	if { ( ( [llength $DUPandZERO($entry)]==1 ) || ( $ID=="SystemGUID" ) ) \
+		 && ( $value != 0 ) } {
+	    continue;
+	}
+	set bool_informBadGuidsReport 0
+	set idx 0
+	set paramList ""
+	foreach DirectPath $DUPandZERO($entry) {
+	    append paramList " -DirectPath${idx} \{$DirectPath\}"
+	    incr idx
+	}
+	set maxName_Port [GetLengthMaxWord $listOfNames]
+	if {$maxName_Port < 3} {
+	    set maxName_Port 0
+	} else {
+	    incr maxName_Port 4
+	}
+	# use eval on the next line because $paramList is a list
+	if {[catch {eval inform "-E-discover:zero/duplicate.IDs.found" -ID $ID -value $value $paramList -maxName_Port $maxName_Port} e]} {
+	    continue;;
+	}
+    }
+    if {$bool_informBadGuidsReport} {
+	inform "-I-ibdiagnet:no.bad.guids"
+    }
+    return 0
+}
+##############################
+#  SYNOPSIS     DumpBadLinksLogic
+#  FUNCTION Dump to information retrived during discovery regarding all the
+#               the links which are in INI state
+proc DumpBadLinksLogic {} {
+    global G
+
+    inform "-I-ibdiagnet:bad.link.logic.header"
+    if {[CheckSkipStatus logical_state]} {
+	inform "-I-reporting:skip.set.no.report"
+	return 1
+    }
+
+    set bool_informBadLogicLinksReport 1
+
+    if {[info exists G(data:list.links.not.active.logical.state)]} {
+	foreach link $G(data:list.links.not.active.logical.state) {
+	    if {[lrange $link 0 end-1] == ""} {
+		lappend listOfNames "$G(var:desc.local.dev) \"[DrPath2Name [lrange $link 0 end-1] nameOnly ]]\""
+	    } else {
+		lappend listOfNames \"[DrPath2Name [lrange $link 0 end-1] nameOnly ]\"
+	    }
+	    lappend listOfNames \"[DrPath2Name $link nameOnly ]\"
+	}
+
+	foreach link $G(data:list.links.not.active.logical.state) {
+	    if {[PathIsBad $link] > 1} {continue;}
+	    set paramlist "-DirectPath0 \{[lrange $link 0 end-1]\} -DirectPath1 \{$link\}"
+	    eval inform "-W-ibdiagnet:report.links.init.state" $paramlist -maxName [GetLengthMaxWord $listOfNames]
+	    set bool_informBadLogicLinksReport 0
+	}
+    }
+    if {$bool_informBadLogicLinksReport} {
+	inform "-I-ibdiagnet:no.bad.link.logic"
+    }
+    return 0
+}
+
+##############################
+#  SYNOPSIS     RereadLongPaths
+#  FUNCTION Send $G(argv:count) MADs that don't wait for replies
+#               and then read all performance counters
+proc RereadLongPaths {} {
+    # send $G(argv:count) MADs that don't wait for replies
+    # and then read all performance counters
+    ## Retrying discovery multiple times (according to the -c flag)
+
+    global G
+    # The initial value of count is set to 4, since every link is traversed at least 3 times:
+    # 1 NodeInfo, 1 PortInfo (once for every port), 1 NodeDesc
+    set init_madsPerLink 4
+    if { $init_madsPerLink > $G(argv:count) } {
+	return 1
+    }
+    inform "-V-discover:long.paths"
+    foreach DirectPath [lrange $G(data:list.direct.path) 1 end] {
+	# start from the second path in $G(data:list.direct.path), because the first is ""
+	# For the retries we use only the longest paths
+	if { [lsearch -regexp $G(data:list.direct.path) "^$DirectPath \[0-9\]"] == -1 } {
+	    for { set count $init_madsPerLink } { $count <= $G(argv:count) } { incr count } {
+		if {[PathIsBad $DirectPath]} { break; }
+		if {[catch { SmMadGetByDr NodeDesc dump "$DirectPath"}]} { break; }
+	    }
+	}
+    }
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS     PMCounterQuery
+#  FUNCTION Query all known ports, then Send $G(argv:count) MADs that don't wait for replies
+#               and then read all performance counters again
+proc PMCounterQuery {} {
+    global G PM_DUMP
+
+    inform "-V-discover:long.paths"
+    inform "-I-ibdiagnet:pm.counter.report.header"
+
+    if {[CheckSkipStatus pm]} {
+	inform "-I-reporting:skip.set.no.report"
+	return 1
+    }
+
+    set bool_informPMcounterReport 1
+
+    # Inform that the local link is in init state
+    if {[info exists G(data:list.links.not.active.logical.state)]} {
+	if {[llength [lindex $G(data:list.links.not.active.logical.state) 0]] == 1 } {
+	    inform "-W-ibdiagnet:local.link.in.init.state"
+	    RereadLongPaths
+	    return 2
+	}
+    } else {
+	set G(data:list.links.not.active.logical.state) ""
+	}
+	foreach directPath [lrange $G(data:list.direct.path) 0 end] {
+		if {![llength $directPath]} {
+	        # When running from a switch - may get 0 length direct routes
+			# HACK: Skip these paths - do not query SMA port on switch 
+			continue
+		}
+	# start from the second path in $G(data:list.direct.path), because the first is ""
+	# Ignore those links which has state INIT
+	set bool_drPathIsInit 0
+	set entryPort [GetEntryPort $directPath]
+
+	if {[PathIsBad $directPath] > 1} { continue; }
+	for {set i 0} {$i < [llength $directPath]} {incr i} {
+	    if {[lsearch $G(data:list.links.not.active.logical.state) [lrange $directPath 0 $i]] != -1} {
+		set bool_drPathIsInit 1
+		break;
+	    }
+	}
+	if {$bool_drPathIsInit} {continue;}
+	if {[info exists tmp_LidPort]} {
+	    unset tmp_LidPort
+	}
+	# preparing database for reading PMs
+	if {![catch {set tmp_lid [GetParamValue LID $directPath -port $entryPort]}]} {
+	    if { $tmp_lid != 0 } {
+		if {[info exists G(argv:reset.performance.monitors)]} {
+		    catch {pmClrAllCounters $tmp_lid $entryPort}
+		}
+		set tmp_LidPort "$tmp_lid:$entryPort"
+                set LidPort($tmp_LidPort) $directPath
+	    }
+	}
+	# Initial reading of Performance Counters
+	if {[info exists tmp_LidPort]} {
+	    if {[catch { set OldValues($tmp_LidPort) [join [GetPmList $tmp_LidPort]] } e] } {
+                inform "-E-ibdiagpath:pmGet.failed" [split $tmp_LidPort :]
+	    }
+	}
+	set tmp_LidPort "DannyZarko"
+	set entryPort [lindex $directPath end]
+	set tmp_drPath [join [lreplace $directPath end end]]
+	if {[llength $tmp_drPath] == 0} {
+	    set tmp_drPath ""
+	}
+	unset tmp_LidPort
+	if {![catch {set tmp_lid [GetParamValue LID $tmp_drPath -port $entryPort]}]} {
+	    if { $tmp_lid != 0 } {
+		if {[info exists G(argv:reset.performance.monitors)]} {
+		    catch {pmClrAllCounters $tmp_lid $entryPort}
+		}
+		set tmp_LidPort "$tmp_lid:$entryPort"
+		set LidPort($tmp_LidPort) $tmp_drPath
+	    }
+	}
+	# Initial reading of Performance Counters
+	if {[info exists tmp_LidPort]} {
+	    if {[catch { set OldValues($tmp_LidPort) [join [GetPmList $tmp_LidPort]] } e] } {
+		inform "-E-ibdiagpath:pmGet.failed" [split $tmp_LidPort :]
+	    }
+	}
+    }
+    RereadLongPaths
+    foreach lidPort [array names LidPort] {
+	if {![info exists OldValues($lidPort)]} {continue;}
+
+	set entryPort [lindex [split $lidPort :] 1]
+	set directPath $LidPort($lidPort)
+	set name [DrPath2Name $directPath -fullName -port $entryPort]
+	# Final reading of Performance Counters
+	if [catch { set NewValues($lidPort) [join [GetPmList $lidPort]] }] {
+	    inform "-E-ibdiagpath:pmGet.failed" [split $lidPort :]
+	}
+	set pmList ""
+	if {![info exists NewValues($lidPort)]} {continue;}
+	for { set i 0 } { $i < [llength $NewValues($lidPort)] } { incr i 2 } {
+	    set oldValue [lindex $OldValues($lidPort) [expr $i + 1]]
+	    set newValue [lindex $NewValues($lidPort) [expr $i + 1]]
+	    lappend pmList [expr $newValue - $oldValue]
+	}
+
+	inform "-V-ibdiagpath:pm.value" "$name $pmList"
+
+	set badValues ""
+	## -pm option
+	# set a list of all pm counters and reduced each one which is reported as an error
+	set pmCounterList [lrange $G(var:list.pm.counter) 0 end-1]
+
+	foreach entry [ComparePMCounters $OldValues($lidPort) $NewValues($lidPort)] {
+	    scan $entry {%s %s %s} parameter err value
+	    switch -exact -- $err {
+		"valueChange" {
+		    regsub -- "->" $value "-" exp
+		    unset oldValue
+		    unset newValue
+		    scan [split $exp -] {%s %s} oldValue newValue
+		    if {![info exists newValue]} {
+			set newValue $oldValue
+			set oldValue 0
+		    }
+		    set diffValue [expr $newValue - $oldValue]
+		    lappend badValues "$parameter=0x[format %x $newValue] \(Increase by $diffValue during $G(var:tool.name) scan.\)"
+		}
+		"overflow" {
+		    lappend badValues "$parameter=$value \(overflow\)"
+		}
+		"exceeded"  {
+		    set value 0x[format %x $value]
+		    lappend badValues "$parameter=$value"
+		}
+	    }
+	}
+	if { $badValues != "" } {
+	    set bool_informPMcounterReport 0
+	    inform "-W-ibdiagnet:bad.pm.counter.report" -DirectPath0 $directPath -listOfErrors $badValues -port0 $entryPort
+	}
+
+	if {[info exists G(argv:performance.monitors)]} {
+	    set dr_port $directPath:$entryPort
+	    lappend PM_DUMP(list_dr_port) $dr_port
+	    set PM_DUMP($dr_port,pmCounterList) $pmCounterList
+	    set PM_DUMP($dr_port,pmCounterValue) $NewValues($lidPort)
+	}
+    }
+    if {$bool_informPMcounterReport} {
+	inform "-I-ibdiagnet:no.pm.counter.report"
+    }
+    if {[info exists G(argv:performance.monitors)]} {
+	writePMFile
+    }
+    return 0
+}
+
+
+proc RunPkgProcs {} {
+    global PKG_FLAGS G
+
+    ### RunPkgProcs- Execute external pkg procs
+    ## - Step1: Create DB and check validation
+    ## Execute external pkg procs - Step1.0: If array / list of flags doesn't exists return 1
+    if {![info exists PKG_FLAGS] || ![info exists PKG_FLAGS(data:list.flags)]} {
+	return 1
+    }
+    ## Execute external pkg procs - Step1.1: Create list of execution procs
+    set tmp_listOfProcs ""
+    set listOfProcs [array names PKG_FLAGS -regexp "\[^.\]+.run"]
+    ## Execute external pkg procs - Step1.2: Create list of exteranl flags
+    set tmp_listOfFlags ""
+    set listOfFlags $PKG_FLAGS(data:list.flags)
+    ## Execute external pkg procs - Step1.3: If one list is empty, retun 1
+    if {![llength $listOfProcs] || ![llength $listOfFlags]} {
+	return 1
+    }
+    ## Execute external pkg procs - Step1.4: Create list of external flags provided (By user/default)
+    foreach tmp_flag $listOfFlags {
+	if {[info exists G(argv:[string trimleft $tmp_flag -])]} {
+	    lappend tmp_listOfFlags $tmp_flag
+	}
+    }
+    set listOfFlags $tmp_listOfFlags
+    set tmp_listOfFlags ""
+    ## Execute external pkg procs - Step1.4: Create list of external procs to run
+    foreach tmp_flag $listOfFlags {
+	if {[lsearch $listOfProcs data:${tmp_flag}.run] != -1} {
+	    lappend tmp_listOfProcs $PKG_FLAGS(data:${tmp_flag}.run)
+	    lappend tmp_listOfFlags $tmp_flag
+	}
+    }
+    set listOfProcs $tmp_listOfProcs
+    set listOfFlags $tmp_listOfFlags
+    ### Now the list will match places flagName<->procName
+    ## Execute external pkg procs - Step1.5: Sort procs by order of apperance
+    # TODO
+
+    ## Execute external pkg procs - Step2: Start execution for each remaining
+    for {set i 0} {$i < [llength $listOfFlags]} {incr i} {
+	set tmp_flag [lindex $listOfFlags $i]
+	set tmp_val $G(argv:[string trimleft $tmp_flag -])
+	regexp {^::[^:]+::([^ ]*)} $PKG_FLAGS(data:$tmp_flag.parse) . tmp_procParse
+	if {$tmp_procParse != ""} {
+	    if {[$PKG_FLAGS(data:$tmp_flag.parse) $tmp_val] != 0} {
+		continue
+	    }
+	}
+	set bool_firstReport 0
+	inform "-I-ibdiagnet:external.flag.execute.header" -flag $tmp_flag
+	set tmp_proc [lindex $listOfProcs $i]
+	set bool_localPort 1
+	foreach directPath $G(data:list.direct.path) {
+	    if {[llength $directPath] == 0 } {
+		set list_drPath_entryPort "$directPath:[GetEntryPort $directPath]"
+	    } else {
+		set list_drPath_entryPort [list [lrange $directPath 0 end-1]:[lindex $directPath end]]
+		lappend list_drPath_entryPort $directPath:[GetEntryPort $directPath]
+	    }
+	    foreach drPath_entryPort $list_drPath_entryPort {
+		regexp {^([^:]*):(.+)$} $drPath_entryPort . directPath entryPort
+		if {($directPath == "") && !$bool_localPort} {
+		    continue;
+		} else {
+		    set bool_localPort 0
+		}
+		## Execute external pkg procs - Step2.0: Create info to send to tmp_proc
+		if {[PathIsBad $directPath] > 1 } {continue; }
+		set tmp_portInfo [lstInfo port $directPath $entryPort]
+		set res "-Type [lindex $tmp_portInfo 0]"
+
+		foreach tmp_listEntry [lrange $tmp_portInfo 1 end]  {
+		    catch {unset $field}
+		    catch {unset $value}
+		    scan [split $tmp_listEntry :] {%s %s} field value
+		    if {(![info exists field]) || (![info exists value]) || !(([llength [split $tmp_listEntry :]] == 2) && ([llength $tmp_listEntry] == 1)) } {
+			continue
+		    }
+		    lappend res -$field
+		    lappend res $value
+		}
+		lappend res -name
+		lappend res [DrPath2Name $directPath -nameLast -fullName -port $entryPort]
+		lappend res -dr
+		lappend res "$directPath"
+		## Execute external pkg procs Step2.1: If current flag has check procedure run it.
+		regexp {^::[^:]+::([^ ]*)} $PKG_FLAGS(data:$tmp_flag.check) . tmp_procCheck
+		if {$tmp_procCheck != ""} {
+		    if {[$PKG_FLAGS(data:$tmp_flag.check) $tmp_val $res] != 0} {
+			continue
+		    }
+		}
+		## Execute external pkg procs Step2.2: Execute flag run procedure
+		$tmp_proc $tmp_val $res
+	    }
+	}
+	## Execute external pkg procs Step2.3: If current flag has dump procedure run it.
+	regexp {^::[^:]+::([^ ]*)} $PKG_FLAGS(data:$tmp_flag.dump) . tmp_procDump
+	if {$tmp_procDump != ""} {
+	    $PKG_FLAGS(data:$tmp_flag.dump) $tmp_val
+	    set bool_firstReport 1
+	}
+	if {!$bool_firstReport} {
+	    inform "-I-ibdiagnet:external.flag.execute.no.report"
+	}
+    }
+    return 0
+}
+### DZ: UP TO HERE VERIFIED
+
+#####################################################################
+### GENERAL PURPOSE PROCs
+######################################################################
+##############################
+#  SYNOPSIS BoolWordInList word list
+#  FUNCTION Indicates whether $word is a word in $list
+#  INPUTS   a string $word and a list $list#
+#  OUTPUT   1 or 0 - if $word is or isn't a word in $list (resp.)
+proc BoolWordInList { word list } {
+    return [expr [lsearch -exact $list $word] >= 0 ]
+}
+##############################
+
+##############################
+#  SYNOPSIS RemoveElementFromList
+#  FUNCTION remove an entry from a list
+#  INPUTS   original list _word and the unrequierd entry _element
+#  OUTPUT   the orignal list if if $_element isn't in $_list.
+proc RemoveElementFromList {_list _element } {
+    set tmpIndex [lsearch -exact $_list $_element]
+    if {$tmpIndex == -1} { return $_list}
+    return [lreplace $_list $tmpIndex $tmpIndex]
+}
+##############################
+
+
+##############################
+#  SYNOPSIS GetWordAfterFlag list flag
+#  FUNCTION Returns the entry in $list that is right after $flag (if exists)
+#  INPUTS   a list $list and a string $flag
+#  OUTPUT   a srting, which is the word in $list which is right after $flag
+#     - if exists - if not, the empty string is returned.
+proc GetWordAfterFlag { list flag } {
+    if {[set index [expr [lsearch -exac $list $flag] +1]]} {
+	return [lindex $list $index]
+    }
+    return ""
+}
+##############################
+
+##############################
+#  SYNOPSIS Bar char length
+#  FUNCTION Return a string made of $length times $char
+#  INPUTS   a string $char and an integer $length
+#  OUTPUT   a srting, which is made of $length times duplicates of $char
+proc Bar { char length } {
+    return [string repeat $char $length]
+}
+##############################
+
+##############################
+#  SYNOPSIS AddZeroes num length
+#  FUNCTION adds zeroes to the LHS of $number for it to be of string length
+#     $length
+#  INPUTS   a number $num and an integer $length
+#  OUTPUT   a srting, of length $length made of padding $num with zeroes on
+#     the LHS.If the length of $num is greater than $length,
+#     the procedure will return $num.
+proc AddZeroes { num length } {
+    return "[Bar 0 [expr $length - [string length $num]]]$num"
+}
+##############################
+
+##############################
+#  SYNOPSIS RemoveZeroes num
+#  FUNCTION erase all zeroes at the LHS of $num. The number "0" returns "0"
+#     (and not "")
+#  INPUTS   an integer $length
+#  OUTPUT   a number, that is made of erasing all zeroes at the LHS of $num.
+#     If $num == 0, the procedure returns 0
+proc RemoveZeroes { num } {
+    regsub {^0*(.+)$} $num {\1} num
+    return $num
+}
+##############################
+
+##############################
+#  SYNOPSIS Hex2Bin hex_list
+#  FUNCTION turns a list of hexa munbers into a list of binary numbers
+#  INPUTS   a list $list of hexadecimal numbers
+#  OUTPUT   a list, which is made of the numbers of $list, represented in
+#     Binary base.
+proc Hex2Bin { hex_list } {
+    set bin_list ""
+    array set hexbit2bin {
+	0 0000  1 0001  2 0010  3 0011
+	4 0100  5 0101  6 0110  7 0111
+	8 1000  9 1001  a 1010  b 1011
+	c 1100  d 1101  e 1110  f 1111
+    }
+    foreach hex $hex_list {
+	regsub {^0x} [string tolower $hex] {} hex
+	set bin ""
+	foreach hbit [split $hex ""] {
+	    append bin $hexbit2bin($hbit)
+	}
+	lappend bin_list $bin
+    }
+    return $bin_list
+}
+##############################
+
+##############################
+#  SYNOPSIS  GetLengthMaxWord _list
+#  FUNCTION  return the char length of the maximum word from the list
+#  INPUTS    a list of words
+#  OUTPUT    the length of te longest word
+proc GetLengthMaxWord {_list} {
+    set maxLength 0
+    foreach field $_list {
+	if {[string length $field] > $maxLength } {
+	    set maxLength [string length $field]
+	}
+    }
+    return $maxLength
+}
+##############################
+
+##############################
+#  SYNOPSIS AddSpaces _word  _desiredLength
+#  FUNCTION addind requierd amount of spaces
+#  INPUTS   the original word, and the amount of spaces to append to it
+#  OUTPUT   word + spaces
+proc AddSpaces {_word _desiredLength} {
+    set wordLength [string length $_word]
+    if {$wordLength >= $_desiredLength } {
+	return $_word
+    } else {
+	return "$_word[string repeat " " [expr $_desiredLength - $wordLength]]"
+    }
+}
+##############################
+
+##############################
+#  SYNOPSIS ProcName args (<- args may be a positive integer)
+#  FUNCTION Return the name of the calling procedure
+#  INPUTS   optinally - a positive integer
+#  OUTPUT   the name of the calling procedure
+#     (if $args != "" -> the name of the calling procedure $args levels up)
+proc ProcName { args } {
+    set upLevels 0
+    if { $args != "" } { set upLevels $args }
+    return [lindex [info level [expr [info level] -1 -$upLevels]] 0]
+}
+
+##############################
+# get a list of numbers and generate a nice consolidated sub list
+proc groupNumRanges {nums} {
+    if {[llength $nums] <= 1} {
+	return [lindex $nums 0]
+    }
+
+    set start -1
+    set res ""
+    if {[catch {set snums [lsort -dictionary $nums]}]} {
+	set snums [lsort $nums]
+    }
+    set last [lrange $snums end end]
+    set start [lindex $snums 0]
+    set end $start
+    foreach n $snums {
+	if {([RemoveZeroes $n] > [RemoveZeroes $end] + 1)} {
+	    if {$start == $end} {
+		append res "$end,"
+	    } else {
+		append res "$start..$end,"
+	    }
+	    set start $n
+	    set end $n
+	} else {
+	    set end $n
+	}
+    }
+    if {$start == $end} {
+	append res "$end,"
+    } else {
+	append res "$start..$end,"
+    }
+    return "\[[string range $res 0 end-1]\]"
+}
+
+# process every group by splitting it to pre num and post
+# then look for matches and build next groups
+proc groupingEngine {groups} {
+    set res {}
+    foreach group $groups {
+	set idx [lindex $group 0]
+	set word [lindex $group 1]
+
+	# try to find a number on the right of the idx:
+	set prefix [string range $word 0 [expr $idx -1]]
+	set suffix [string range $word $idx end]
+	if {![regexp {([^0-9]*)([0-9]+)(.*)} $suffix d1 w1 num w3]} {
+	    # no number - just keep this group
+	    lappend res $group
+	    continue;
+	}
+
+	append prefix $w1
+	set suffix $w3
+	set key "$prefix $suffix"
+	lappend NEW_GROUPS($key) $num
+    }
+
+    # go over all new groups and see if we can collapse them:
+    foreach pNs [lsort [array names NEW_GROUPS]] {
+	set ranges [groupNumRanges $NEW_GROUPS($pNs)]
+	foreach range $ranges {
+	    set prefix [lindex $pNs 0]
+	    set suffix [lindex $pNs 1]
+	    set gIndx [expr [string length $prefix] + [string length $range]]
+	    lappend res "$gIndx $prefix$range$suffix"
+	}
+    }
+    return $res
+}
+
+# Algorithm:
+# split the given words on the first number
+# then group on the leading string and sort for continoues
+proc compressNames {words} {
+    # we need to prepare the first stage which is a list of words and
+    # simply the index 0 for were to start the search for integers
+    foreach word $words {
+	lappend groups [list 0 $word]
+    }
+
+    # now call the grouping engine
+    set prevGroups 0
+    while {$prevGroups != [llength $groups]} {
+	set prevGroups [llength $groups]
+	set groups [groupingEngine $groups]
+    }
+
+    set res ""
+    foreach group $groups {
+	lappend res [lindex $group 1]
+    }
+    return [join $res]
+}
+##############################
+
+######################################################################
+### Handling Duplicated Guids
+######################################################################
+##############################
+#  SYNOPSIS  AdvncedMaskGuid
+#  FUNCTION  advenced current mask guid by _increment(default set to 1)
+#  INPUTS    _increment(default set to 1)
+#  OUTPUT   0 when  _increment is not an integer, otherwise return 1
+proc AdvncedMaskGuid { {_increment 1}} {
+    #ASSUME MASK GUID FORMAT IS HARD CODED
+    global MASK
+    if {![string is integer $_increment]} {
+	return 1
+    }
+    incr MASK(CurrentMaskGuid) $_increment
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS GetCurrentMaskGuid
+#  FUNCTION return the current mask guid
+#  INPUTS   NULL
+#  OUTPUT   mask guid
+proc GetCurrentMaskGuid {} {
+    global MASK
+    set tmp $MASK(CurrentMaskGuid)
+    set tmp [format %08x $tmp]
+    set tmp "0xffffffff${tmp}"
+    return $tmp
+}
+##############################
+
+
+##############################
+#  SYNOPSIS  BoolIsMaked { _currentMaskGuid}
+#  FUNCTION  checks if a guid is masked
+#  INPUTS    GUID
+#  OUTPUT    0 or 1
+proc BoolIsMaked { _currentMaskGuid} {
+    return [string equal 0xffffffff [string range $_currentMaskGuid 0 9]]
+}
+##############################
+
+##############################
+#  SYNOPSIS  GetRealPort { _currentMaskGuid}
+#  FUNCTION  return the masked guid
+#  INPUTS    mask guid
+#  OUTPUT    real guid
+proc GetRealPort { _currentMaskGuid} {
+    global MASK
+    set tmpGuid $_currentMaskGuid
+    while {[BoolIsMaked $tmpGuid]} {
+	if {[info exists MASK(PortGuid,$tmpGuid)]} {
+	    set tmpGuid $MASK(PortGuid,$tmpGuid)
+	}
+	if {[info exists MASK(NodeGuid,$tmpGuid)]} {
+	    set tmpGuid $MASK(NodeGuid,$tmpGuid)
+	}
+    }
+    return $tmpGuid
+}
+
+######################################################################
+### Detecting bad links on a path on which a packet was lost
+######################################################################
+
+##############################
+#  SYNOPSIS
+#  PathIsBad path
+#  FUNCTION
+#  returns 1 if the direct path $path contains a link that was found to be
+#  "bad"; it returns 0 otherwise.
+#  INPUTS
+#  $path - a direct path: a list of integers separated by spaces - denoting
+#  a direct route in the fabric (= a list of exit ports, starting at the
+#  fabric's source node).
+#  OUTPUT
+#  0/1 - according to whether $path has a bad link or not
+#  DATAMODEL
+#  the procedure uses the database G(bad,paths,<DirectPath>), which is set in
+#  "DetectBadLinks", and that denotes the reasons (errors) why the link
+#  at the end of DirectPath was found to be bad.
+proc PathIsBad { path } {
+    global G
+    set boolOnlyBadPMs 1
+    set boolPathIsBad  0
+    for { set i 0 } { $i < [llength $path] } { incr i } {
+	if { [info exists G(bad,paths,[lrange $path 0 $i])] } {
+	    set boolPathIsBad 1
+	    # ignore PMcounter types error
+	    foreach arrayEntry $G(bad,paths,[lrange $path 0 $i]) {
+		if {[lindex $arrayEntry 1] != "badPMs"} {
+		    set boolOnlyBadPMs 0
+		}
+	    }
+	}
+    }
+    if {$boolPathIsBad} {
+	if {$boolOnlyBadPMs} {
+	    return 1
+	} else {
+	    return 2
+	}
+    }
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS
+#  DetectBadLinks starting cgetCmd cmd args
+#  FUNCTION
+#  Explores the direct route on which $cmd failed, and detects bad link(s)
+#  along this path.
+#  The exploration algorithm:... TODO: fill this in ...
+#  The bad are then written to the database $G(bad,links,*).
+#  This procedure is called by "SmMadGetByDr", when the global variable
+#  $G(bool:bad.links.detected) is set.
+#  INPUTS
+#  $status - the last exit status of $cmd
+#  $cgetCmd - the command that returns the result of $cmd
+#  $cmd - the name of the command that failed
+#  $args - the arguments of $cmd
+#  OUTPUT
+#  the result data of running $cmd $args - if available;
+#  if the data in not available, returns with error code 1.
+#  DATAMODEL
+#  $G(var:badpath.*) - a database used, which defines various
+#   parameters for the bad paths exploration: limits and growth rate for
+#   the retries of trying to run $cmd $args and error threshold to stop it.
+#  $G(bad,paths,<DirectPath>) - a database used, that denotes the reasons
+#   (errors) why the link at the end of DirectPath was found to be bad.
+#  $InfoPm(<PM>) - the width-in-bits of each PM and its error threshold
+
+proc DetectBadLinks { status cgetCmd cmd args } {
+    global G env
+    set args [join $args]
+    set DirectPath [join [lindex $args 0]]
+    set data -1
+    if  {$status == 0}  { set data [eval $cgetCmd] }
+    inform "-V-ibdiagnet:bad.links.detected" -path "$DirectPath"
+
+    # setting retriesStart, retriesEnd, maxnErrors, retriesGrowth
+    foreach entry [array names G var:badpath.*] {
+	set name [lindex [split $entry .] end]
+	set $name $G($entry)
+    }
+
+    inform "-V-ibdiagnet:incremental.bad.links" -path "$DirectPath"
+    set errors 0
+    for   { set maxnRetries $retriesStart } {( $maxnRetries <= $retriesEnd ) && ( $errors < $maxnErrors ) } { set maxnRetries [expr $maxnRetries * $retriesGrowth] } {
+	for { set I 0 ; set errors 0 } { ($I < [llength $DirectPath]) && ($errors == 0) } { incr I } {
+	    set ShortPath [lrange $DirectPath 0 $I]
+	    set getCmd [concat "smNodeInfoMad getByDr [list $ShortPath]"]
+	    if {[PathIsBad $ShortPath] > 1 } { break; }
+	    for { set retry 0 } { ($retry < $maxnRetries) && ($errors < $maxnErrors) } { incr retry } {
+		incr errors [expr [eval $getCmd] != 0]
+	    }
+	    if { ($ShortPath==$DirectPath) && ($retry>$errors)} {
+		set data [eval $cgetCmd]
+	    }
+	}
+    }
+
+    # If errors count did not reach $maxnErrors, the path is considered to be OK
+    if { $errors < $maxnErrors } { return $data }
+
+    # If it did - the link at the end of ShortPath is "bad"
+    if { [llength $ShortPath] <= 1 } {
+	if { ( $retry == $errors ) } {
+	    inform "-E-localPort:local.port.crashed" -command "$getCmd" -DirectPath0 ""
+	} else {
+	    inform "-E-localPort:local.port.failed" \
+		-fails "$errors" -attempts $retry -command "$getCmd"
+	}
+    }
+
+    if { ( $retry == $errors ) } {
+	lappend G(bad,paths,$ShortPath) "-error noInfo -command \{$getCmd\}"
+	inform "-V-badPathRegister" -error noInfo -command "$getCmd"
+	return -code 1 -errorinfo "Direct Path \"$ShortPath\" is bad = noInfo"
+    } else {
+	lappend G(bad,paths,$ShortPath) "-error madsLost -ratio $errors:$retry -command \{$getCmd\}"
+    }
+
+    return $data
+}
+######################################################################
+
+##############################
+proc ComparePMCounters { oldValues newValues args } {
+    global G
+    array set InfoPm {
+	port_select                     { -width 8  -thresh 0  }
+	counter_select                  { -width 16 -thresh 0  }
+	symbol_error_counter            { -width 16 -thresh 1  }
+	link_error_recovery_counter     { -width 8  -thresh 1  }
+	link_down_counter               { -width 8  -thresh 1  }
+	port_rcv_errors                 { -width 16 -thresh 1  }
+	port_rcv_remote_physical_errors { -width 16 -thresh 0  }
+	port_rcv_switch_relay_errors    { -width 16 -thresh 0  }
+	port_xmit_discard               { -width 16 -thresh 10 }
+	port_xmit_constraint_errors     { -width 8  -thresh 10 }
+	port_rcv_constraint_errors      { -width 8  -thresh 10 }
+	local_link_integrity_errors     { -width 4  -thresh 10 }
+	excesive_buffer_errors          { -width 4  -thresh 10 }
+	vl15_dropped                    { -width 16 -thresh 10 }
+	port_xmit_data                  { -width 32 -thresh 0  }
+	port_rcv_data                   { -width 32 -thresh 0  }
+	port_xmit_pkts                  { -width 32 -thresh 0  }
+	port_rcv_pkts                   { -width 32 -thresh 0  }
+    }
+
+    set errList ""
+    set pmRequestList ""
+    if {[info exists G(argv:query.performance.monitors)]} {
+	set pmRequestList [split $G(argv:query.performance.monitors) {, =}]
+    }
+    foreach parameter [array names InfoPm] {
+	ParseOptionsList $InfoPm($parameter)
+	if { ! [info exists cfg(thresh)] } { continue; }
+	if { $cfg(thresh) == 0 } { continue; }
+
+	set oldValue   [GetWordAfterFlag $oldValues $parameter]
+	set newValue   [GetWordAfterFlag $newValues $parameter]
+	set delta   [expr $newValue - $oldValue]
+	set overflow   0x[Bar f [expr $cfg(width) / 4]]
+
+	if { ( $delta >= $cfg(thresh) ) || ( $oldValue > $newValue ) } {
+	    lappend errList "$parameter valueChange $oldValue->$newValue"
+	} elseif { ( $oldValue == $overflow ) || ( $newValue == $overflow ) } {
+	    lappend errList "$parameter overflow $overflow"
+	} elseif {[info exists G(argv:query.performance.monitors)]} {
+	    if {[lsearch $pmRequestList $parameter] != -1} {
+		set pmTrash [GetWordAfterFlag $pmRequestList $parameter]
+		if {$newValue >= $pmTrash} {
+		    lappend errList "$parameter exceeded 0x[format %lx $newValue]"
+		}
+	    } elseif {[lsearch $pmRequestList "all"] != -1} {
+		set pmTrash [GetWordAfterFlag $pmRequestList "all"]
+		if {$newValue >= $pmTrash} {
+		    lappend errList "$parameter exceeded 0x[format %lx $newValue]"
+		}
+	    }
+	}
+    }
+    return $errList
+}
+##############################
+
+##############################
+#  SYNOPSIS
+#  DumpBadLinks
+#  FUNCTION
+#  Pretty-printing of the bad links information
+#  INPUTS
+#  NULL
+#  OUTPUT
+#  Prints to the standard output the list of bad links, with proper
+#  indentation, and - optionally - with infromation why this link was
+#       found to be bad.
+#  DATAMODEL
+#  G(bad,paths,<DirectPath>) - a database used, that denotes the reasons
+#   (errors) why the link at the end of DirectPath was found to be bad.
+proc DumpBadLinks {} {
+    global G
+
+    if { ! [llength [array names G "bad,paths,*"]] } {
+	inform "-I-ibdiagnet:no.bad.paths.header"
+	return
+    }
+    inform "-I-ibdiagnet:bad.links.header"
+
+    foreach entry [array names G "bad,paths,*"] {
+	set DirectPath [lindex [split $entry ,] end]
+	set linkNames "Link at the end of direct route \"[ArrangeDR $DirectPath]\""
+	#set linkNames "Link at the end of direct route \{$DirectPath\}"
+	if {[DrPath2Name $DirectPath] != ""} {
+	    append linkNames " \"[DrPath2Name $DirectPath]\""
+	}
+	array set BadPathsLinksArray "\{$linkNames\} \{$G($entry)\}"
+    }
+    ### pretty-printing of a list of links
+    set LinksList [array names BadPathsLinksArray]
+    foreach item $LinksList {
+	set link [lindex $item end]
+	lappend llen [string length [lindex $link 0]] [string length [lindex $link 1]]
+    }
+    set maxLen1 [lindex [lsort -integer $llen] end]
+
+    set space(0)   "   "
+    set space(1)   [Bar " " [string length $space(0)]]
+    array set prefix {
+	"names:external" "Cable:"
+	"names:internal" "Internal link:"
+    }
+    foreach kind [array names prefix] {
+	lappend prefix_llen [string length $prefix($kind)]
+    }
+    foreach kind [array names prefix] {
+	set maxLen0  [lindex [lsort -integer $prefix_llen] end]
+	set rubberLen0  [expr $maxLen0 - [string length $prefix($kind)]]
+	set space($kind) "$space(0) $prefix($kind)[Bar " " $rubberLen0]"
+    }
+    array set sym {
+	names:external,conn  "="
+	names:external,cable "-"
+	names:internal,conn  "."
+	names:internal,cable "."
+    }
+
+    foreach item $LinksList {
+	set kind [lindex $item 0]
+	set link [lsort -dictionary [lindex $item end]]
+	if { [llength $link] == 1 } { lappend link "? (unknown port)" }
+	if { ! [regexp {[^ ]} [lindex $link 0]] } {
+	    set link [list [lindex $link 1] "? (unknown port)"]
+	}
+
+	if { ! [info exists prefix($kind)] } {
+	    lappend portsList "Z.$item"
+	    set stdoutList(Z.$item) "$space(0) $item"
+	    set stdoutErrs(Z.$item) $BadPathsLinksArray($item)
+	} else {
+	    regsub {^[^\(]*\((.*)\)$} [lindex $link 0] {\1} p0
+	    lappend portsList $p0
+	    set rubberLen1 [expr $maxLen1 - [string length [lindex $link 0]] + 3]
+	    set cable "$sym($kind,conn)[Bar $sym($kind,cable) $rubberLen1]$sym($kind,conn)"
+	    set stdoutList($p0) "$space($kind) [lindex $link 0] $cable [lindex $link 1]"
+	    set stdoutErrs($p0) $BadPathsLinksArray($item)
+	}
+    }
+
+    set line ""
+    foreach item [lsort -dictionary $portsList] {
+	if { $line != [set line $stdoutList($item)] } {
+	    inform "-I-ibdiagnet:bad.link" -link "$line"
+	    inform "-I-ibdiagnet:bad.link.errors" \
+		-errors " $space(1) Errors:\n $space(1)  [join $stdoutErrs($item) "\n $space(1)  "]"
+	}
+    }
+    inform "-I-ibdiagnet:bad.links.err.types"
+    return 0
+}
+
+##############################
+#  SYNOPSIS     RemoveDirectPath
+#  FUNCTION Removes a direct path from $G(data:list.direct.path)
+#               - when we in a loop
+#               - when we enter an allready known switch
+#               - when we returned on an old link from the other end
+proc RemoveDirectPath {_drPath } {
+    global G
+    set tmpList $G(data:list.direct.path)
+    set tmpList [RemoveElementFromList $G(data:list.direct.path) $_drPath ]
+    set G(data:list.direct.path) $tmpList
+    if {[info exists G(data:guid.by.dr.path.$_drPath)]} {
+	unset G(data:guid.by.dr.path.$_drPath)
+    }
+    return 0
+}
+##############################
+
+######################################################################
+### SM handling
+######################################################################
+proc CheckSM {} {
+    global SM G
+    set master 3
+    if {![info exists SM($master)]} {
+	inform "-I-ibdiagnet:bad.sm.header"
+	inform "-E-ibdiagnet:SM.none"
+    } else {
+	if {[llength $SM($master)] != 1} {
+	    inform "-I-ibdiagnet:bad.sm.header"
+            inform "-E-ibdiagnet:SM.multiple.master"
+	    foreach element $SM($master) {
+		set tmpDirectPath [lindex $element 0]
+		set nodeName [DrPath2Name $tmpDirectPath -port [GetEntryPort $tmpDirectPath]]
+		if { $tmpDirectPath == "" } {
+		    set nodeName "$G(var:desc.local.dev) : $nodeName"
+		}
+		inform "-I-ibdiagnet:SM.report.body" $nodeName [lindex $element 1]
+	    }
+	}
+    }
+    return 0
+}
+
+proc DumpSMReport { {_fileName stdout} }  {
+    global SM G
+    set tmpStateList "not-active dicovering standby master"
+    for {set i 3} {$i > -1} {incr i -1} {
+	if {[info exists SM($i)]} {
+	    set SMList [lsort -index 1 -decreasing $SM($i)]
+	    set msg "\n  SM - [lindex $tmpStateList $i]"
+	    if {$_fileName == "stdout"} {
+		inform "-I-ibdiagnet:SM.report.head" [lindex $tmpStateList $i]
+	    } else {
+		puts $_fileName $msg
+	    }
+	    foreach element $SMList {
+		set tmpDirectPath [lindex $element 0]
+		set nodeName [DrPath2Name $tmpDirectPath -port [GetEntryPort $tmpDirectPath] -fullName]
+		if { $tmpDirectPath == "" } {
+		    set nodeName "$G(var:desc.local.dev) : $nodeName"
+		}
+		set msg "    $nodeName priority:[lindex $element 1]"
+		if {$_fileName == "stdout"} {
+		    inform "-I-ibdiagnet:SM.report.body" $nodeName [lindex $element 1]
+		} else {
+		    puts $_fileName $msg
+		}
+	    }
+	}
+    }
+    return 0
+}
+##############################
+
+######################################################################
+### Partitions Checking and Reporting
+######################################################################
+# return the list of all pkeys from the given port
+proc GetPortPkeys {drPath portNum numPKeys} {
+    set numBlocks [expr ($numPKeys + 31) / 32]
+    set pkeys {}
+    # get the pkey table of the port
+    for {set block 0} {$block < $numBlocks} {incr block} {
+	if {[catch {
+	    set pkeyTable [SmMadGetByDr PkeyTable dump "$drPath" $portNum $block]
+	} e]} {
+	    inform "-E-ibdiagnet:PKeys.getPkey" $drPath $portNum $block
+	    continue
+	}
+	foreach pkey $pkeyTable {
+	    if {[regexp {^0x[0-9a-fA-F]$} $pkey]} {
+		lappend pkeys $pkey
+	    }
+	}
+    }
+    return $pkeys
+}
+
+# check the rules of partition enforcement on the fabric and report
+# Define the G(data:CAPortPKeys:<nodeGuid>:<PN>)
+# and G(data:PKeyNodePorts:<pkey-base>) {{<nodeGuid> <PN>} ....}
+proc CheckPartitions {} {
+    global G Neighbor
+    inform "-I-ibdiagnet:PKeys.report.header"
+
+    if {[CheckSkipStatus part]} {
+        inform "-I-reporting:skip.set.no.report"
+        return 1
+    }
+
+    # go over all HCA ports and get their PKey tables
+    foreach nodeGuidPortNum [array names G data:PortGuid.*:*] {
+	regexp {PortGuid.([^:]+):([^:]+)} $nodeGuidPortNum d1 nodeGuid portNum
+	set portGuid $G($nodeGuidPortNum)
+
+	# we need to examine the NodeInfo to see CA and how many PKey blocks
+	if {[catch {set nodeInfo $G(data:NodeInfo.$nodeGuid)}]} {
+	    inform "-W-ibdiagnet:PKeys.noNodeInfo" $nodeGuid
+	    continue
+	}
+
+	# ignore switches
+	set nodeType [GetWordAfterFlag $nodeInfo -node_type]
+	if {$nodeType == 2} {continue}
+
+	set drPath $G(data:dr.path.to.guid.$portGuid)
+
+	set numPKeys [GetWordAfterFlag $nodeInfo -partition_cap]
+	set pkeys [GetPortPkeys $drPath $portNum $numPKeys]
+	set G(data:CAPortPKeys:$nodeGuid:$portNum) $pkeys
+
+	# we might have direct enforcement by the neighbor switch
+	set neighNodeNPort $Neighbor($nodeGuid:$portNum)
+	set remPKeys {}
+
+	foreach {remNodeGuid remPortNum} [split $neighNodeNPort :] {break}
+	if {[catch {set remNodeInfo $G(data:NodeInfo.$remNodeGuid)}]} {
+	    inform "-W-ibdiagnet:PKeys.noNodeInfo" $remNodeGuid
+	} else {
+	    if {[GetWordAfterFlag $remNodeInfo -node_type] == 2} {
+		# is the remote PortInfo enforcing pkeys:
+		set portInfo $G(data:PortInfo.$remNodeGuid:$remPortNum)
+		set opvl_enforce [GetWordAfterFlag $portInfo -vl_enforce]
+		set outEnforce [expr $opvl_enforce & 0x4]
+		set inEnforce  [expr $opvl_enforce & 0x8]
+
+		set remDrPath $G(data:dr.path.to.node.$remNodeGuid)
+		if {$outEnforce || $inEnforce} {
+		    if {! ($outEnforce && $inEnforce)} {
+			set swNodeName [DrPath2Name $remDrPath -port [GetEntryPort $remDrPath] -fullName]
+			inform "-W-ibdiagnet:PKeys.in.out.not.same" $swNodeName $inEnforce $outEnforce
+		    }
+		    # the switch info to see how many pkeys:
+		    if {[catch {set partcap [SmMadGetByDr SwitchInfo -enforce_cap "$remDrPath"]}]} {
+			inform "-W-ibdiagnet:PKeys.noSwitchInfo" $remNodeGuid $remDrPath
+			set remPKeys {}
+		    } else {
+			set remPKeys [GetPortPkeys $remDrPath $remPortNum $partcap]
+			if {[llength $remPKeys] == 0} {
+			    set remPKeys 0x0
+			}
+		    }
+		}
+	    }
+	}
+
+	# filter pkeys by remote port if exist
+	if {[info exists REM_PKEY]} {unset REM_PKEY}
+	if {[llength $remPKeys]} {
+	    foreach pkey $remPKeys {
+		set base [expr $pkey & 0x7fff]
+		set REM_PKEY($base) [expr $pkey & 0x8000]
+	    }
+	}
+
+	foreach pkey $pkeys {
+	    set base [expr $pkey & 0x7fff]
+
+	    if {$pkey != 0} {
+		if {$base != $pkey} {
+		    set isPartial 0
+		} else {
+		    set isPartial 1
+		}
+
+		# see that remote pkeys do not filter
+		if {[llength $remPKeys]} {
+		    if {![info exists REM_PKEY($base)]} {
+			set nodeName [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+			inform "-W-ibdiagnet:PKeys.switch.missing.pkey" $nodeName $pkey
+			continue
+		    } else {
+			if {!$REM_PKEY($base) && !$isPartial} {
+			    set nodeName [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+			    inform "-W-ibdiagnet:PKeys.switch.part.pkey" $nodeName $pkey
+			    set isPartial 1
+			}
+		    }
+		}
+		if {![info exists PKEY_HOSTS($base)]} {
+		    set PKEY_HOSTS($base) "{$portGuid $isPartial}"
+		} else {
+		    lappend PKEY_HOSTS($base) "$portGuid $isPartial"
+		}
+		if {![info exists G(data:PKeyNodePorts:$base)]} {
+		    set G(data:PKeyNodePorts:$base) [list [list $nodeGuid $portNum]]
+		} else {
+		    lappend G(data:PKeyNodePorts:$base) [list $nodeGuid $portNum]
+		}
+	    }
+	}
+	# If remote port is SW and PKey enforcement is ON on that port get it
+    }
+
+    # report partitions:
+    set FileID [InitializeOutputFile $G(var:tool.name).pkey]
+    foreach pkey [lsort -integer [array names PKEY_HOSTS]] {
+	set full 0
+	set part 0
+	set num [llength $PKEY_HOSTS($pkey)]
+	puts $FileID "GROUP PKey:[format 0x%04x $pkey] Hosts:$num"
+	# report each host port of the group
+	foreach portGuidNPartial $PKEY_HOSTS($pkey) {
+	    set portGuid [lindex $portGuidNPartial 0]
+	    set isPartial [lindex $portGuidNPartial 1]
+
+	    set drPath $G(data:dr.path.to.guid.$portGuid)
+	    set nodeName [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+	    if {$isPartial} {
+		incr part
+		puts $FileID "   Part $nodeName"
+	    } else {
+		incr full
+		puts $FileID "   Full $nodeName"
+	    }
+	}
+	inform "-I-ibdiagnet:PKeys.Group" $pkey $num $full $part
+	puts $FileID [Bar - 80]
+    }
+    close $FileID
+    return 0
+}
+
+# return the list of all pkeys from the given port
+# return "Not-Enforced" if no enforcement on switch port
+proc GetPortPkeysByDRPortNumAndDirection {drPath portNum dir} {
+
+    # we need to examine the NodeInfo to see CA and how many PKey blocks
+    if {[catch {set nodeInfo [SmMadGetByDr NodeInfo dump "$drPath"]}]} {
+	puts "-E- failed to get src port guid for path:$drPath"
+	return ""
+    }
+
+    set nodeType [GetWordAfterFlag $nodeInfo -node_type]
+    if {$nodeType == 2} {
+
+	# check it has partition enforcement on this port
+	set nodeGuid [GetWordAfterFlag $nodeInfo -node_guid]
+	# is a switch - use switch info ...
+	if {[catch {set portInfo [SmMadGetByDr PortInfo dump "$drPath" $portNum]}]} {
+	    inform "-W-ibdiagnet:PKeys.noPortInfo" $drPath $portNum
+	    return ""
+	}
+	set opvl_enforce [GetWordAfterFlag $portInfo -vl_enforce]
+	set outEnforce [expr $opvl_enforce & 0x4]
+	set inEnforce  [expr $opvl_enforce & 0x8]
+
+	if {$outEnforce || $inEnforce} {
+	    if {! ($outEnforce && $inEnforce)} {
+		set nodeName [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+		inform "-W-ibdiagnet:PKeys.in.out.not.same" $nodeName $inEnforce $outEnforce
+	    }
+	    if {($dir == "in" && !$inEnforce) || ($dir == "out" && !$outEnforce)} {
+		return "Not-Enforced"
+	    }
+	} else {
+	    return "Not-Enforced"
+	}
+
+	# the switch info to see how many pkeys:
+	if {[catch {set numPKeys [SmMadGetByDr SwitchInfo -enforce_cap "$drPath"]}]} {
+	    inform "-W-ibdiagnet:PKeys.noSwitchInfo" $nodeGuid $drPath
+	    return ""
+	}
+    } else {
+	set numPKeys [GetWordAfterFlag $nodeInfo -partition_cap]
+    }
+
+    return [GetPortPkeys $drPath $portNum $numPKeys]
+}
+
+# Perform partition analysis of the path
+# store the final path partitions in G(data:path.partitions)
+proc AnalyzePathPartitions {paths} {
+    global G Neighbor
+
+    inform "-I-ibdiagpath:PKeys.report.header"
+
+    # find the source port
+    if {[llength $paths] > 1} {
+	set srcPath [lindex $paths 0]
+    } else {
+	set srcPath ""
+    }
+    set dstPath [lindex $paths end]
+
+    if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$srcPath"]}]} {
+	"-E-ibdiagpath:PKeys.FailNodeInfo" $srcPath
+	return 1
+    }
+    set srcNodeGuid [GetWordAfterFlag $NodeInfo "-node_guid"]
+    set srcPortGuid [GetWordAfterFlag $NodeInfo "-port_guid"]
+    set srcPortNum  [GetEntryPort $srcPath -byNodeInfo $NodeInfo]
+
+    set pkeys [GetPortPkeysByDRPortNumAndDirection $srcPath $srcPortNum "out"]
+    foreach pkey $pkeys {
+	if {$pkey == "Not-Enforced"} {continue}
+	set base [expr $pkey & 0x7fff]
+	set SRC_PKEYS($base) $pkey
+    }
+    set nodeName [DrPath2Name $srcPath -port [GetEntryPort $srcPath] -fullName]
+    inform "-I-ibdiagpath:PKeys.src.pkeys" $nodeName $srcPortNum $pkeys
+
+    # get the remote port of the SRC
+    set neighNodeNPort $Neighbor($srcNodeGuid:$srcPortNum)
+    foreach {remNodeGuid remPortNum} [split $neighNodeNPort :] {break}
+
+    # Now go over the rest of the path:
+    if {[llength $srcPath]} {
+	set startIdx [expr [llength $srcPath] - 2]
+    } else {
+	set startIdx 0
+    }
+    for {set idx $startIdx} {$idx < [llength $dstPath]} {incr idx} {
+	set drPath [lrange $dstPath 0 $idx]
+	if {$idx + 1 < [llength $dstPath]} {
+	} else {
+	    set nextPortNum 0
+	}
+
+	set stagePaths "in $remPortNum "
+	if {$idx + 1 < [llength $dstPath]} {
+	    set    nextPortNum [lindex  $dstPath [expr $idx + 1]]
+	    append stagePaths "out $nextPortNum"
+	}
+
+	# loop on in/out
+	foreach {dir portNum} $stagePaths {
+	    if {$portNum == 0} {continue}
+
+	    if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$drPath"]}]} {
+		inform "-E-ibdiagpath:PKeys.FailNodeInfo" $drPath
+		return 1
+	    }
+	    set nodeGuid [GetWordAfterFlag $NodeInfo "-node_guid"]
+	    set portGuid [GetWordAfterFlag $NodeInfo "-port_guid"]
+	    set pkeys [GetPortPkeysByDRPortNumAndDirection $drPath $portNum $dir]
+	    set nodeName [DrPath2Name $drPath -fullName]
+	    inform "-V-ibdiagpath:PKeys.portPkeys" $nodeName $portNum $dir $pkeys
+	    # must get some pkeys and make sure not to filter if not enforced
+	    if {[llength $pkeys] && ([lindex $pkeys 0] != "Not-Enforced")} {
+		if {[info exist PKEYS]} {unset PKEYS}
+		foreach pkey $pkeys {
+		    set base [expr $pkey & 0x7fff]
+		    set PKEYS($base) $pkey
+		}
+		foreach base [array names SRC_PKEYS] {
+		    if {![info exists PKEYS($base)]} {
+			inform "-W-ibdiagpath:PKeys.blockOnPath" $nodeName $dir $SRC_PKEYS($base)
+			unset SRC_PKEYS($base)
+		    }
+		}
+	    }
+	}
+
+	if {$dir == "out"} {
+	    # get the remote node info by DR and extract input port
+	    lappend drPath $portNum
+	    if {[catch {set remPortNum [SmMadGetByDr PortInfo -local_port_num "$drPath" 1]}]} {
+		inform "-E-ibdiagpath:PKeys.FailPortInfo" $drPath
+		return 1
+	    }
+	}
+    }
+    inform "-I-ibdiagpath:PKeys.dst.pkeys" $nodeName $pkeys
+
+    # make sure we have some shared PKeys left:
+    set shared {}
+    foreach base [array names SRC_PKEYS] {
+	if {[info exists PKEYS($base)]} {
+	    set isSrcFull [expr 0x8000 & $SRC_PKEYS($base)]
+	    set isPathFull [expr 0x8000 & $PKEYS($base)]
+	    if { $isSrcFull || $isPathFull} {
+		lappend shared $SRC_PKEYS($base)
+	    }
+	}
+    }
+
+    set G(data:path.partitions) $shared
+    if {[llength $shared]} {
+	inform "-I-ibdiagpath:PKeys.path.shared" $shared
+    } else {
+	inform "-E-ibdiagpath:PKeys.path.noShared"
+    }
+    return 0
+}
+##############################
+
+######################################################################
+### IPoIB Checking and Reporting
+######################################################################
+
+# obtain the rate (code and Gbps) of the given portInfo
+proc GetPortInfoRateCodeAndGbps {portInfo} {
+    set width [GetWordAfterFlag $portInfo -link_width_active]
+    set speed [expr ([GetWordAfterFlag $portInfo -link_speed] & 0xf0) >> 4]
+
+    if {[lsearch -exact {1 2 4 8} $width] < 0} {
+	puts "Error: unrecognized link width code:$width"
+	return ""
+    }
+
+    # coding
+    # speed 1=2.5G 2=5G 4=10G
+    # width 1=1X 2=4X 4=8X 8=12X
+    switch $speed {
+	1 {
+	    switch $width {
+		1 {set rate 2; set gbps 2.5}
+		2 {set rate 3; set gbps 10 }
+		4 {set rate 6; set gbps 20 }
+		8 {set rate 4; set gbps 30 }
+	    }
+	}
+	2 {
+	    switch $width {
+		1 {set rate 5; set gbps 5}
+		2 {set rate 6; set gbps 20 }
+		4 {set rate 7; set gbps 40 }
+		8 {set rate 8; set gbps 60 }
+	    }
+	}
+	4 {
+	    switch $width {
+		1 {set rate 3; set gbps 10 }
+		2 {set rate 7; set gbps 40 }
+		4 {set rate 9; set gbps 80 }
+		8 {set rate 10; set gbps 120 }
+	    }
+	}
+	default {
+	    puts "Error: unrecognized link speed code:$speed"
+	    return ""
+	}
+    }
+    return [list $rate $gbps]
+}
+
+proc GetRateGbps {rate} {
+    switch $rate {
+	2 {set gbps 2.5}
+	3 {set gbps 10}
+	4 {set gbps 30}
+	5 {set gbps 5}
+	6 {set gbps 20}
+	7 {set gbps 40}
+	8 {set gbps 60}
+	9 {set gbps 80}
+	10 {set gbps 120}
+	default {set gbps 0}
+    }
+    return $gbps
+}
+
+proc GetGbpsRate {gbps} {
+    switch $gbps {
+	2.5 {set rate 2}
+	5   {set rate 5}
+	10  {set rate 3}
+	20  {set rate 6}
+	30  {set rate 4}
+	40  {set rate 7}
+	60  {set rate 8}
+	80  {set rate 9}
+	120 {set rate 10}
+	default {set rate 0}
+    }
+    return $rate
+}
+
+# perform a subnet global check of IPoIB subnets
+proc CheckIPoIB {} {
+    global G
+
+    inform "-I-ibdiagnet:ipoib.header"
+
+    if {[CheckSkipStatus ipoib]} {
+        inform "-I-reporting:skip.set.no.report"
+        return 1
+    }
+
+    # obtain the list of IPoIB MCGs from the SA
+    set pKeyRex {[0-9a-fA-F]:4}
+    foreach mcg [sacMCMQuery getTable 0] {
+	set mgid [sacMCMRec_mgid_get $mcg]
+	# check to see if IPoIB mcg
+	if {[regexp {0xff12401b([0-9a-fA-F]{4})0000:0x00000000ffffffff} $mgid d1 p]} {
+	    set pkey [expr 0x$p & 0x7fff]
+	    set IPoIB_MCGS($mcg) "$pkey 4"
+	    set IPV4_MCGS($pkey) $mcg
+	} elseif {[regexp {0xff12601b([0-9a-fA-F]{4})0000:0x00000000ffffffff} $mgid d1 p]} {
+	    set pkey [expr 0x$p & 0x7fff]
+	    set IPoIB_MCGS($mcg) "$pkey 6"
+	    set IPV6_MCGS($pkey) $mcg
+	}
+    }
+
+    # no go over all subnets and check their rules:
+    foreach mcg [array names IPoIB_MCGS] {
+	set gMtu  [expr [sacMCMRec_mtu_get $mcg]& 0x3f]
+	set gRate [expr [sacMCMRec_rate_get $mcg]& 0x3f]
+	set gSL   [expr ([sacMCMRec_sl_flow_hop_get $mcg] & 0xf000) >> 24]
+	set gPKey [sacMCMRec_pkey_get $mcg]
+	set gQKey [sacMCMRec_qkey_get $mcg]
+	foreach {pkey IPVersion} $IPoIB_MCGS($mcg) {break}
+
+	inform "-I-ibdiagnet:ipoib.subnet" $IPVersion $pkey $gMtu $gRate $gSL $gPKey $gQKey
+
+	if {[expr 0x7fff & $gPKey] != $pkey} {
+	    inform "-W-ibdiagnet:ipoib.bad.pkey" $gPKey $pkey
+	}
+
+	# go over all the members of the partition and see if they can join
+	# collecting their minimal rate
+	if {[catch {set pkeyMembers $G(data:PKeyNodePorts:$pkey)}]} {
+	    inform "-W-ibdiagnet:ipoib.noMemers"
+	    continue
+	}
+
+	# obtain the rate of the port and track min rate
+	set gGbps [GetRateGbps $gRate]
+	set minGbps 120
+	foreach nodeNPort $pkeyMembers {
+	    foreach {nodeGuid portNum} $nodeNPort {break}
+	    set portInfo $G(data:PortInfo.$nodeGuid:$portNum)
+
+	    set rateNGbps [GetPortInfoRateCodeAndGbps $portInfo]
+	    if {[llength $rateNGbps] != 2} {
+		set drPath $G(data:dr.path.to.node.$nodeGuid)
+		set name [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+		inform "-E-ibdiagnet:ipoib.ilegalRate" $name
+	    }
+	    foreach {rate gbps} $rateNGbps {break}
+	    if {$gbps < $gGbps} {
+		set drPath $G(data:dr.path.to.node.$nodeGuid)
+		set name [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+		inform "-W-ibdiagnet:ipoib.cantJoin" $name $rate $gRate
+	    } else {
+		if {$minGbps > $gbps} {
+		    set minGbps $gbps
+		}
+	    }
+	}
+	if {$minGbps > $gGbps} {
+	    set minRate [GetGbpsRate $minGbps]
+	    inform "-W-ibdiagnet:ipoib.rateToLow" $minRate $gRate
+	}
+    }
+}
+
+# perform a path based check of IPoIB subnets
+proc CheckPathIPoIB {paths} {
+    global G
+
+    inform "-I-ibdiagpath:ipoib.header"
+
+    # find the source port
+    if {[llength $paths] > 1} {
+	set srcPath [lindex $paths 0]
+    } else {
+	set srcPath ""
+    }
+    if {[catch {set srcNodeInfo [SmMadGetByDr NodeInfo dump "$srcPath"]}]} {
+	"-E-ibdiagpath:PKeys.FailNodeInfo" $srcPath
+	return 1
+    }
+    set srcNodeGuid [GetWordAfterFlag $srcNodeInfo "-node_guid"]
+    set srcPortGuid [GetWordAfterFlag $srcNodeInfo "-port_guid"]
+    set srcPortNum  [GetEntryPort $srcPath -byNodeInfo $srcNodeInfo]
+
+    set dstPath [lindex $paths end]
+    if {[catch {set dstNodeInfo [SmMadGetByDr NodeInfo dump "$dstPath"]}]} {
+	"-E-ibdiagpath:PKeys.FailNodeInfo" $dstPath
+	return 1
+    }
+    set dstNodeGuid [GetWordAfterFlag $dstNodeInfo "-node_guid"]
+    set dstPortGuid [GetWordAfterFlag $dstNodeInfo "-port_guid"]
+    set dstPortNum  [GetEntryPort $dstPath -byNodeInfo $dstNodeInfo]
+
+    set pkeyMembers [list \
+			 [list $srcNodeGuid $srcPath $srcPortNum] \
+			 [list $dstNodeGuid $dstPath $dstPortNum]]
+
+    # provied by AnalyzePathPartitions
+    set pathBasePkeys {}
+    foreach pkey $G(data:path.partitions) {
+	lappend pathBasePkeys [expr $pkey & 0x7fff]
+    }
+
+    # obtain the list of IPoIB MCGs from the SA
+    set pKeyRex {[0-9a-fA-F]:4}
+    foreach mcg [sacMCMQuery getTable 0] {
+	set mgid [sacMCMRec_mgid_get $mcg]
+	# check to see if IPoIB mcg
+	if {[regexp {0xff12401b([0-9a-fA-F]{4})0000:0x00000000ffffffff} $mgid d1 p]} {
+	    set pkey [expr 0x$p & 0x7fff]
+	    set IPoIB_MCGS($mcg) "$pkey 4"
+	    set IPV4_MCGS($pkey) $mcg
+	} elseif {[regexp {0xff12601b([0-9a-fA-F]{4})0000:0x00000000ffffffff} $mgid d1 p]} {
+	    set pkey [expr 0x$p & 0x7fff]
+	    set IPoIB_MCGS($mcg) "$pkey 6"
+	    set IPV6_MCGS($pkey) $mcg
+	}
+    }
+
+    # no go over all subnets and check their rules:
+    set anyGroup 0
+    foreach mcg [array names IPoIB_MCGS] {
+	foreach {pkey IPVersion} $IPoIB_MCGS($mcg) {break}
+
+	if {[lsearch -exact $pathBasePkeys $pkey] < 0} {continue}
+
+	set gMtu  [expr [sacMCMRec_mtu_get $mcg]& 0x3f]
+	set gRate [expr [sacMCMRec_rate_get $mcg]& 0x3f]
+	set gSL   [expr ([sacMCMRec_sl_flow_hop_get $mcg] & 0xf000) >> 24]
+	set gPKey [sacMCMRec_pkey_get $mcg]
+	set gQKey [sacMCMRec_qkey_get $mcg]
+
+	inform "-I-ibdiagnet:ipoib.subnet" $IPVersion $pkey $gMtu $gRate $gSL $gPKey $gQKey
+
+	if {[expr 0x7fff & $gPKey] != $pkey} {
+	    inform "-W-ibdiagnet:ipoib.bad.pkey" $gPKey $pkey
+	}
+
+	# go over all the members of the partition and see if they can join
+
+	# obtain the rate of the port and track min rate
+	set gGbps [GetRateGbps $gRate]
+	set anyFail 0
+	foreach nodeGuidPortGuidNPort $pkeyMembers {
+	    foreach {nodeGuid drPath portNum} $nodeGuidPortGuidNPort {break}
+	    if {[catch {set portInfo [SmMadGetByDr PortInfo dump "$drPath" 1]}]} {
+		inform "-E-ibdiagpath:PKeys.FailPortInfo" $drPath
+		return 1
+	    }
+
+	    set rateNGbps [GetPortInfoRateCodeAndGbps $portInfo]
+	    if {[llength $rateNGbps] != 2} {
+		set name [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+		inform "-E-ibdiagnet:ipoib.ilegalRate" $name
+	    }
+	    foreach {rate gbps} $rateNGbps {break}
+	    if {$gbps < $gGbps} {
+		set name [DrPath2Name $drPath -port [GetEntryPort $drPath] -fullName]
+		inform "-W-ibdiagnet:ipoib.cantJoin" $name $rate $gRate
+		incr anyFail
+	    }
+	}
+	if {$anyFail == 0} {
+	    incr anyGroup
+	}
+    }
+    if {$anyGroup == 0} {
+	inform "-E-ibdiagpath:ipoib.noGroups"
+    }
+    return 0
+}
+######################################################################
+
+######################################################################
+### QoS Checking and Reporting
+######################################################################
+
+# perform the QoS check over a path
+proc CheckPathQoS {paths} {
+    global G Neighbor
+
+    inform "-I-ibdiagpath:qos.report.header"
+
+    # we track SLs that are OK in this array:
+    for {set sl 0} {$sl < 16} {incr sl} {
+	set BLOCKED_SL($sl) 0
+    }
+
+    # find the source port
+    if {[llength $paths] > 1} {
+	set srcPath [lindex $paths 0]
+    } else {
+	set srcPath ""
+    }
+    set dstPath [lindex $paths end]
+    if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$srcPath"]}]} {
+	"-E-ibdiagpath:Qos.FailNodeInfo" $srcPath
+	return 1
+    }
+    set nodeGuid [GetWordAfterFlag $NodeInfo "-node_guid"]
+    set portGuid [GetWordAfterFlag $NodeInfo "-port_guid"]
+    set outPortNum [GetEntryPort $srcPath -byNodeInfo $NodeInfo]
+    # don't care for CA and assume path from a switch starts at port 0
+    set inPortNum 0
+    set drPath $srcPath
+
+    # Now go over the rest of the path:
+    if {[llength $srcPath]} {
+	set idx [expr [llength $srcPath] - 2]
+    } else {
+	set idx 0
+    }
+
+    set done 0
+
+    while {!$done} {
+	# report stage
+	set name [DrPath2Name $drPath -fullName]
+	inform "-V-ibdiagpath:qos.atNode" $name $inPortNum $outPortNum
+
+	# obtain OPVLs and VLA Cap from PortInfo for the outPort
+	if {[catch {set portInfo [SmMadGetByDr PortInfo dump "$drPath" $outPortNum]}]} {
+	    inform "-E-ibdiagpath:qos.FailPortInfoOpVLs" $drPath
+	    return 1
+	}
+	set vlEnforce [GetWordAfterFlag $portInfo "-vl_enforce"]
+	set opVLs [expr ($vlEnforce & 0xf0) >> 4 - 1]
+	set vlaHighCap [GetWordAfterFlag $portInfo "-vl_arb_high_cap"]
+	set vlaLowCap  [GetWordAfterFlag $portInfo "-vl_arb_high_cap"]
+
+	# get the SL2VL (inPort,outPort)
+	if {[catch {set SL2VL [SmMadGetByDr SlVlTable dump "$drPath" $inPortNum $outPortNum]}]} {
+	    inform "-E-ibdiagpath:qos.FailSL2VL" $drPath
+	    return 1
+	}
+	# get VLA(outPort) both High and Low
+	set VLArbLow {}
+	for {set i 0} {$i < ($vlaLowCap + 31)/32} {incr i} {
+	    if {[catch {set vlaBlock [SmMadGetByDr VlArbTable dump "$drPath" $outPortNum [expr $i + 1]]} e]} {
+		inform "-E-ibdiagpath:qos.FailVLArb" $drPath
+		return 1
+	    }
+	    foreach entry $vlaBlock {
+		lappend VLArbLow $entry
+	    }
+	}
+	set VLArbHigh {}
+	for {set i 0} {$i < ($vlaLowCap + 31)/32} {incr i} {
+	    if {[catch {set vlaBlock [SmMadGetByDr VlArbTable dump "$drPath" $outPortNum [expr $i + 3]]}]} {
+		inform "-E-ibdiagpath:qos.FailVLArb" $drPath
+		return 1
+	    }
+	    foreach entry $vlaBlock {
+		lappend VLArbHigh $entry
+	    }
+	}
+	# report VLA VLs > OPVLs
+	# report and track blocked VLs in VLA
+	set lowHighCtrl [list Low $vlaLowCap $VLArbLow High $vlaHighCap $VLArbHigh]
+	if {[info exist VL_WEIGHT]} {unset VL_WEIGHT}
+	foreach {tbl numEntries values} $lowHighCtrl {
+	    set overRangeVLs {}
+	    for {set i 0} {$i < $numEntries} {incr i} {
+		set entry [lindex $values $i]
+		set vl [expr [lindex $entry 0]]
+		set weight [lindex $entry 1]
+		if {$vl >= $opVLs} {
+		    lappend overRangeVLs $i
+		} else {
+		    if {$weight > 0} {
+			set VL_WEIGHT($vl) $weight
+		    }
+		}
+	    }
+	    if {[llength $overRangeVLs]} {
+		inform "-W-ibdiagpath:qos.vlaOverOpVLs" $name $outPortNum $overRangeVLs $opVLs $tbl
+	    }
+	}
+
+	set blockedVLs {}
+	for {set vl 0} {$vl < $opVLs} {incr vl} {
+	    if {![info exists VL_WEIGHT($vl)]} {
+		lappend blockedVLs $vl
+	    }
+	}
+	if {[llength $blockedVLs]} {
+	    inform "-W-ibdiagpath:qos.blockedVLs" $name $outPortNum $blockedVLs
+	}
+
+	# report SLs that map to VL > OPVL
+	# report and track SLs that blocked by blocked VLs
+	set outOfRangeVLsSLs {}
+	set blockedSLs {}
+	for {set i 0} {$i < 8} {incr i} {
+	    set sl0 [expr 2*$i]
+	    set sl1 [expr 2*$i + 1]
+	    set vl0 [expr ([lindex $SL2VL $i] & 0xf0) >> 4]
+	    set vl1 [expr [lindex $SL2VL $i] & 0xf]
+	    if {($vl0 >= $opVLs) || ($vl0 == 15)} {
+		set BLOCKED_SL($sl0) 1
+		lappend outOfRangeVLsSLs $sl0
+	    }
+	    if {($vl1 >= $opVLs) || ($vl1 == 15)} {
+		set BLOCKED_SL($sl1) 1
+		lappend outOfRangeVLsSLs $sl1
+	    }
+
+	    if {[lsearch -exact $blockedVLs $vl0] >= 0} {
+		set BLOCKED_SL($sl0) 1
+		lappend blockedSLs $sl0
+	    }
+	    if {[lsearch -exact $blockedVLs $vl1] >= 0} {
+		set BLOCKED_SL($sl1) 1
+		lappend blockedSLs $sl1
+	    }
+	}
+	if {[llength $outOfRangeVLsSLs]} {
+	    inform "-W-ibdiagpath:qos.sl2vlOORange" $name $inPortNum $outPortNum $opVLs \
+		[lsort -integer $outOfRangeVLsSLs]
+	}
+	if {[llength $blockedSLs]} {
+	    inform "-W-ibdiagpath:qos.blockedSL" $name $inPortNum $outPortNum \
+		[lsort -integer $blockedSLs]
+	}
+
+	# obtain next path
+	set drPath [lrange $dstPath 0 $idx]
+
+	if {$idx + 1 == [llength $dstPath]} {
+	    set done 1
+	    continue
+	}
+
+	# get the next nodeGuid
+	if {[catch {set NodeInfo [SmMadGetByDr NodeInfo dump "$drPath"]}]} {
+	    "-E-ibdiagpath:Qos.FailNodeInfo" $drPath
+	    return 1
+	}
+	set nodeGuid [GetWordAfterFlag $NodeInfo "-node_guid"]
+	set portGuid [GetWordAfterFlag $NodeInfo "-port_guid"]
+	set inPortNum [GetEntryPort $drPath -byNodeInfo $NodeInfo]
+	set outPortNum [lindex $dstPath [expr $idx + 1]]
+	incr idx
+    }
+
+    set pathSLs {}
+    foreach sl [lsort -integer [array names BLOCKED_SL]] {
+	if {$BLOCKED_SL($sl) == 0} {
+	    lappend pathSLs $sl
+	}
+    }
+    if {[llength $pathSLs]} {
+	inform "-I-ibdiagpath:qos.pathSLs" $pathSLs
+    } else {
+	inform "-E-ibdiagpath:qos.noPathSLs"
+    }
+    return 0
+}
+######################################################################
+
+######################################################################
+### If a topology file is given
+######################################################################
+
+proc MatchTopology { lstFile args } {
+    global G
+
+    if {[info exists G(lst.failed)]} {
+	inform "-F-crash:failed.build.lst"
+	return 1
+    }
+    if {[CheckSkipStatus load_ibdm]} {
+	return 1
+    }
+    if { [info exists G(argv:report)] || [info exists G(argv:topo.file)] } {
+	set G(IBfabric:.lst) [new_IBFabric]
+	if {[IBFabric_parseSubnetLinks $G(IBfabric:.lst) $lstFile]} {
+	    inform "-F-crash:failed.parse.lst"
+	}
+    }
+    if { ! [info exists G(argv:topo.file)] } {
+	return 1
+    }
+
+    # Matching defined and discovered fabric
+    if { [info exists G(LocalDeviceDuplicated)] } {
+	if {[info exists G(argv:topo.file)] && $G(bool:sys.name.guessed)} {
+	    inform "-E-topology:localDevice.Duplicated"
+	    return 1
+	}
+    }
+    set MatchingResult \
+	[ibdmMatchFabrics $G(IBfabric:.topo) $G(IBfabric:.lst) \
+	     $G(argv:sys.name) $G(argv:port.num) $G(data:root.port.guid) ]
+
+    switch -- [lrange $MatchingResult 0 4] {
+	"Fail to find anchor port" -
+	"Even starting ports do not" {
+	    inform "-W-topology:Critical.mismatch" -massage [join $MatchingResult]
+	    return 1
+	}
+    }
+
+    set G(MatchingResult) ""
+    set old_line ""
+    set G(missing.links) ""
+    foreach line [split $MatchingResult \n] {
+	if { [regexp {[^ ]} $line] || [regexp {[^ ]} $old_line] } {
+	    lappend G(MatchingResult) "  $line"
+	}
+	# $G(missing.links) is the list of links found to be missing by topology
+	# matching;
+	# a pair of entries (0 & 1 , 2 & 3 etc.) are ports at the link's end
+	set missingSysExp \
+	    {^ *Missing System:([^ \(]+).*from port: *([^ ]+) to: *([^ ]+) *$}
+	set missingLinkExp \
+	    {^ *Missing internal Link connecting: *([^ ]+) to: *([^ ]+) *$}
+	if { [regsub $missingSysExp "$old_line $line" {\1/\2 \3} link] || \
+		 [regsub $missingLinkExp  "$line" {\1 \2} link] } {
+	    set G(missing.links) [concat $G(missing.links) $link]
+	}
+	set old_line $line
+    }
+
+    set G(IBfabric:merged) [new_IBFabric]
+    if [catch {ibdmBuildMergedFabric \
+		   $G(IBfabric:.topo) $G(IBfabric:.lst) $G(IBfabric:merged)} ] {
+	return 1
+    }
+
+    # need to copy the min lid
+    IBFabric_minLid_set $G(IBfabric:merged) [IBFabric_minLid_get $G(IBfabric:.lst)]
+
+    return 0
+}
+##############################
+
+##############################
+proc DumpTopologyMatching { args } {
+    global G
+    if {$G(bool:topology.matched) == 0} { return }
+    set noheader [BoolWordInList "-noheader" $args]
+    if { ! $noheader } { inform "-I-topology:matching.header" }
+
+    set MatchingResultLen [llength $G(MatchingResult)]
+    if { $MatchingResultLen == 0 } {
+	inform "-I-topology:matching.perfect"
+    } else {
+	if { ! $noheader } { inform "-I-topology:matching.note" }
+	if { $MatchingResultLen > $G(var:warn.long.matching.results) } {
+	    inform "-W-topology:matching.bad"
+	}
+    }
+    if {[string is space [lindex $G(MatchingResult) end]]} {
+	set G(MatchingResult) [lrange $G(MatchingResult) 0 end-1]
+    }
+    PutsIn80Chars [join $G(MatchingResult) \n]
+    return 0
+}
+##############################
+
+proc ArrangeDR {_dr} {
+    set res ""
+    foreach drEntry $_dr {
+	append res $drEntry,
+    }
+    return [string range $res 0 end-1]
+}
+
+##############################
+# support LID , PortGUID , NodeGUID , EntryPort , Type , DevID ,Name
+proc DrPath2Name { DirectPath args } {
+    global G
+    set fullName [BoolWordInList "-fullName" $args]
+    set nameOnly [BoolWordInList "-nameOnly" $args]
+    set nameLast [BoolWordInList "-nameLast" $args]
+    if {[BoolWordInList "-byDr" $args]} {
+	set byDr "-byDr"
+    } else {
+	set byDr ""
+    }
+    if {[set addPort [BoolWordInList "-port" $args]]} {
+	set port [GetWordAfterFlag $args "-port"]
+	set EntryPort $port
+	if {$EntryPort == ""} {
+	    set EntryPort 0
+	}
+    } elseif {[catch {set EntryPort [GetEntryPort $DirectPath]}]} {
+	set EntryPort 0
+    } else {
+	if {$EntryPort == ""} {
+	    set EntryPort 0
+	}
+    }
+    if { $fullName && [PathIsBad $DirectPath] < 2} {
+	set PortGUID   [GetParamValue PortGUID $DirectPath]
+	set NodeDevID  [expr [GetParamValue DevID $DirectPath]]
+	set NodePorts  [GetParamValue Ports $DirectPath]
+	set NodeLid [GetParamValue LID $DirectPath -port $EntryPort]
+	set lidGuidDev "lid=$NodeLid guid=$PortGUID dev=$NodeDevID"
+    } else {
+	set lidGuidDev ""
+    }
+    if { ($G(bool:topology.matched)==0) } {
+	if {![catch {set deviceType [GetParamValue Type $DirectPath $byDr]}]} {
+	    if {$deviceType == "CA"} {
+		if {![catch {set nodeDesc [GetParamValue NodeDesc $DirectPath $byDr]}]} {
+		    if {($nodeDesc == "") && ($addPort)} {
+			set res "Port=$port"
+		    } else {
+			set res ""
+			set hca_idx ""
+			scan $nodeDesc {%s %s} res hca_idx
+			if {$hca_idx != ""} {
+			    set hca_idx [string range $hca_idx 4 end]
+			    if {([string is integer $hca_idx]) && ($hca_idx != 1)} {
+				append res "/U$hca_idx"
+			    }
+			}
+			if {($addPort)} {
+			    append res "/P$port"
+			}
+		    }
+		    if {([llength $lidGuidDev] != 0) && !$nameOnly} {
+			if {$nameLast} {
+			    set res "$lidGuidDev $res"
+			} else {
+			    set res "$res $lidGuidDev"
+			}
+		    }
+		    return $res
+		}
+	    }
+	}
+	if {($addPort)} {
+	    set res "Port=$port"
+	} else {
+	    set res ""
+	}
+	if {([llength $lidGuidDev] != 0) && !$nameOnly} {
+	    if {$nameLast} {
+		set res "$lidGuidDev $res"
+	    } else {
+		set res "$res $lidGuidDev"
+	    }
+	}
+	return $res
+    }
+    set path $DirectPath
+    set topoNodesList [join [IBFabric_NodeByName_get $G(IBfabric:.topo)]]
+    if { [set nodePointer [GetWordAfterFlag $topoNodesList $G(argv:sys.name)]] == "" } {
+	if {($addPort)} {
+	    return "$lidGuidDev port=$port"
+	} else {
+	    return "$lidGuidDev"
+	}
+    }
+    while { [llength $path] > 0 } {
+	set port [lindex $path 0]
+	set path [lrange $path 1 end]
+
+	set nodePorts  [IBNode_Ports_get $nodePointer]
+	set portPointer [IBNode_getPort $nodePointer $port]
+
+	if {$portPointer != ""} {
+	    if {[catch {set remPortPointer [IBPort_p_remotePort_get $portPointer]} msg]} {
+		return "$lidGuidDev port=$EntryPort"
+	    } elseif { $remPortPointer == "" } {
+		return "$lidGuidDev port=$EntryPort"
+	    } elseif {[catch {set nodePointer [IBPort_p_node_get $remPortPointer]}]} {
+		return "$lidGuidDev port=$EntryPort"
+	    } elseif { $nodePointer == "" } {
+		return "$lidGuidDev port=$EntryPort"
+	    }
+	}
+    }
+    if {[catch {set nodeName [IBNode_name_get $nodePointer]}]} {
+	return "$lidGuidDev port=$EntryPort"
+    } elseif { $nodeName == "" } {
+	return "$lidGuidDev port=$EntryPort"
+    } else {
+	if {$addPort} {append nodeName "/P$EntryPort"}
+	if { $fullName } {
+	    return "\"$nodeName\" $lidGuidDev"
+	} else {
+	    return "$nodeName"
+	}
+    }
+}
+##############################
+
+##############################
+proc linkNamesGet { DirectPath args } {
+    global G
+    if {$G(bool:topology.matched)==0} { return;}
+
+    set DirectPath [join $DirectPath]
+    if { [set Port0 [lindex $DirectPath end]] == "" } {
+	set Port0 $G(argv:port.num)
+    }
+
+    set PortGuid $G(data:guid.by.dr.path.[lreplace $DirectPath end end])
+    set NodeGuid $G(data:NodeGuid.$PortGuid)
+    if { [set Pointer(node0) \
+	      [IBFabric_getNodeByGuid $G(IBfabric:.topo) $NodeGuid]] == "" } {
+	return ;
+    }
+    set node0Ports [IBNode_Ports_get $Pointer(node0)]
+    set Pointer(port0)   [lindex $node0Ports [lsearch -regexp $node0Ports "/$Port0$"]]
+    catch { set Pointer(port1) [IBPort_p_remotePort_get $Pointer(port0)] }
+
+    set linkKind "external"
+    foreach I { 0 1 } {
+	if { $Pointer(port${I}) == "" } { continue; }
+
+	set Name(port${I}) [IBPort_getName $Pointer(port${I})]
+	set Pointer(sysport${I}) [IBPort_p_sysPort_get $Pointer(port${I})]
+	if {[BoolWordInList "-node" $args]} {
+	    set Pointer(node${I}) [IBPort_p_node_get $Pointer(port${I})]
+	    set Name(node${I})  [IBNode_name_get   $Pointer(node${I})]
+	    lappend link "$Name(node${I})"
+	} elseif { $Pointer(sysport${I}) == "" } {
+	    lappend link $Name(port${I})
+	    set linkKind "internal"
+	} else {
+	    set Pointer(node${I}) [IBPort_p_node_get $Pointer(port${I})]
+	    set Num(port${I})   [IBPort_num_get    $Pointer(port${I})]
+	    set Name(node${I})     [IBNode_name_get   $Pointer(node${I})]
+	    lappend link "$Name(port${I})($Name(node${I})/P$Num(port${I}))"
+	}
+    }
+
+    # processing the result
+    switch -exact [llength $link] {
+	0 {;# just to be on the safe side: if both link ends are UNKNOWN
+	    return
+	}
+	1 {;# look for the info of the other side of the link in the
+	    # "missing links" of topo matching
+	    # lsearch ^ 1 = the index of the other-in-pair
+	    # (note: if lsearch = -1 then index = -2)
+	    # TODO: should I not report these links,
+	    # as the topology matching already reported abo
+	    set index [expr [lsearch -exact $G(missing.links) $link] ^ 1]
+	    lappend link [lindex $G(missing.links) $index]
+	}
+    }
+    return "names:$linkKind [list $link]"
+}
+##############################
+
+##############################
+# extract the name(s) of the port(s) from the -n flag
+proc GetArgvPortNames {} {
+    global G argv
+    if { ![info exists G(argv:by-name.route)] || [CheckSkipStatus load_ibdm]} {
+	return
+    }
+    set flag "-n"
+    array set topoNodesArray [join [IBFabric_NodeByName_get $G(IBfabric:.topo)]]
+    array set topoSysArray   [join [IBFabric_SystemByName_get $G(IBfabric:.topo)]]
+    foreach nodeName [array names topoNodesArray] {
+	foreach portPtr [join [IBNode_Ports_get $topoNodesArray($nodeName)]] {
+	    set portName [IBPort_getName $portPtr]
+	    set portNum  [IBPort_num_get $portPtr]
+	    array set topoPortsArray   "$portName $portPtr"
+	    array set topoPortsArray   "$nodeName/P${portNum} $portPtr"
+	}
+    }
+
+    foreach name [split $G(argv:by-name.route) ,] {
+	catch { unset portPointer portPointers }
+	if {[catch { set portPointer $topoPortsArray($name) }]} {
+	    if { ! [catch { set nodePointer $topoNodesArray($name) }] } {
+		if { [IBNode_type_get $nodePointer] == 1 } { ; # 1=SW 2=CA 3=Rt
+		    set portPointer [lindex [IBNode_Ports_get $nodePointer] 0]
+		}
+	    } elseif { ! [catch { set sysPointer $topoSysArray($name) }] } {
+		if { [llength [set sys2node [IBSystem_NodeByName_get $sysPointer]]] == 1 } {
+		    set nodePointer [lindex [join $sys2node] end]
+		}
+	    } else {
+		inform "-E-argv:bad.node.name" -flag $flag -value "$name" \
+		    -names [lsort -dictionary [array names topoNodesArray]]
+	    }
+	}
+	if {[info exists portPointer]} {
+	    if { [IBPort_p_remotePort_get $portPointer] == "" } {
+		inform "-E-argv:specified.port.not.connected" \
+		    -flag $flag -value "$name"
+	    }
+	} else {
+	    if {[info exists nodePointer]} {
+		set W0 "node [IBNode_name_get $nodePointer]"
+		foreach pointer [IBNode_Ports_get $nodePointer] {
+		    if { [IBPort_p_remotePort_get $pointer] != "" } {
+			lappend portPointers $pointer
+		    }
+		}
+	    } else {
+		set W0 "system [IBSystem_name_get $sysPointer]"
+		foreach sysPortNPtr [IBSystem_PortByName_get $sysPointer] {
+		    set sysPointer [lindex $sysPortNPtr 1]
+		    set pointer [IBSysPort_p_nodePort_get $sysPointer]
+		    if { [IBPort_p_remotePort_get $pointer] != "" } {
+			lappend portPointers $pointer
+		    }
+		}
+	    }
+	    if { ! [info exists portPointers] } {
+		inform "-E-argv:hca.no.port.is.connected" -flag $flag -type [lindex $W0 0] -value $name
+	    } elseif { [llength $portPointers] > 1 } {
+		inform "-W-argv:hca.many.ports.connected" -flag $flag -type [lindex $W0 0] -value $name \
+		    -port [IBPort_num_get [lindex $portPointers 0]]
+	    }
+	    set portPointer [lindex $portPointers 0]
+	}
+	lappend portNames $portPointer
+    }
+    return $portNames
+}
+##############################
+
+##############################
+proc Name2Lid {localPortPtr destPortPtr exitPort} {
+    global G
+    if {[CheckSkipStatus load_ibdm]} {
+	return -1
+    }
+    set Dr $exitPort
+    set listPorts $localPortPtr
+    set index 0
+    set Nodes($exitPort) $localPortPtr
+    set destNodePtr [IBPort_p_node_get $destPortPtr]
+    while { $index < [llength $Dr] } {
+	set DirectPath      [lindex $Dr $index]
+	set localPortPtr    $Nodes($DirectPath)
+	incr index
+	set localNodePtr    [IBPort_p_node_get  $localPortPtr]
+	set localNodetype   [IBNode_type_get    $localNodePtr]
+	set destNodePtr     [IBPort_p_node_get  $destPortPtr]
+
+	if {$destPortPtr == $localPortPtr} {
+	    if {$localNodetype == 1} {
+		return "$DirectPath 0"
+	    } else {
+		return $DirectPath
+	    }
+	}
+	if {($localNodetype != 1) } {continue;}
+	if {(($localNodetype == 1) && ($localNodePtr == $destNodePtr))|| ($index == 1) } {
+	    # in the current switch check if it's any of the switch ports
+	    for {set i 1} {$i <= [IBNode_numPorts_get $localNodePtr]} {incr i} {
+		set tmpPort [IBNode_getPort $localNodePtr $i]
+
+		if {$tmpPort == $destPortPtr} {
+		    return "$DirectPath 0"
+		}
+	    }
+	}
+
+	# build a list of new ports
+	for {set i 1} {$i <= [IBNode_numPorts_get $localNodePtr]} {incr i} {
+	    set tmpPort [IBNode_getPort $localNodePtr $i]
+	    if {$tmpPort == ""} { continue; }
+	    if { [catch {set tmpRemotePtr [IBPort_p_remotePort_get $tmpPort]} e] } {
+		continue;
+	    }
+	    if {($tmpRemotePtr != "")} {
+		if {[lsearch $listPorts $tmpRemotePtr] != -1} {continue;}
+		lappend listPorts $tmpRemotePtr
+		lappend Dr "$DirectPath $i"
+		set newDr "$DirectPath $i"
+		set Nodes($newDr) $tmpRemotePtr
+	    }
+	}
+    }
+    return -1
+}
+##############################
+
+##############################
+proc PathRecSelCodeText {sel} {
+    switch $sel {
+	0 { return ">" }
+	1 { return "<" }
+	2 { return "=" }
+    }
+    return "?"
+}
+
+proc PathRecMTUCodeText {prMTU} {
+    set mtu [expr $prMTU & 0x3f]
+    set sel [expr ($prMTU & 0xC0)>>6]
+    switch $mtu {
+	1 { set mtuStr 256 }
+	2 { set mtuStr 512 }
+	3 { set mtuStr 1024}
+	4 { set mtuStr 2048}
+	5 { set mtuStr 4096}
+	default {
+	    return "ERR"
+	}
+    }
+    return "[PathRecSelCodeText $sel]$mtuStr"
+}
+
+proc PathRecRateCodeText {prRate} {
+    set rate [expr $prRate & 0x3f]
+    set sel [expr ($prRate & 0xC0)>>6]
+    switch $rate {
+	2 { set rateStr 2.5 }
+	3 { set rateStr 10 }
+	4 { set rateStr 30 }
+	5 { set rateStr 5 }
+	6 { set rateStr 20 }
+	7 { set rateStr 40 }
+	8 { set rateStr 60 }
+	9 { set rateStr 80 }
+	10 { set rateStr 120 }
+	default {
+	    return "ERR"
+	}
+    }
+    return "[PathRecSelCodeText $sel]$rateStr"
+}
+##############################
+
+##############################
+proc DumpFabQualities {} {
+    global G SM
+    if {[info exists G(lst.failed)] || ![info exists G(argv:report)] || [CheckSkipStatus load_ibdm]} {
+	return 1
+    }
+
+    set nodesNum [llength [array names G "data:NodeInfo.*"]]
+    set swNum [llength [array names G "data:PortInfo.*:0"]]
+    if { [set hcaNum [expr $nodesNum - $swNum]] == 1 } {
+	inform "-W-reporting:one.hca.in.fabric"
+	return 1
+    }
+    if {$G(bool:topology.matched)==1} {
+	set fabric $G(IBfabric:merged)
+    } else {
+	set fabric $G(IBfabric:.lst)
+    }
+
+    # SM report
+    set totalSM [llength [array names SM]]
+    if {$totalSM != 0} {
+	inform "-I-ibdiagnet:SM.header"
+	DumpSMReport
+    }
+
+    inform "-I-ibdiagnet:report.fab.qualities.header"
+
+    # general reports
+    if {[IBFabric_parseFdbFile $fabric $G(outfiles,.fdbs)]} {
+	inform "-F-crash:failed.parse.fdbs"
+    }
+
+    if {[IBFabric_parseMCFdbFile $fabric $G(outfiles,.mcfdbs)]} {
+	inform "-F-crash:failed.parse.mcfdbs"
+    }
+
+    if {![file exists $G(outfiles,.lst)]} {
+	inform "-E-ibdiagnet:no.lst.file" -fileName $G(outfiles,.lst)
+	return 1
+    }
+
+    # verifying CA to CA routes
+    ibdmUseInternalLog
+    ibdmVerifyCAtoCARoutes $fabric
+    ibdmCheckMulticastGroups $fabric
+    set report [ibdmGetAndClearInternalLog]
+    inform "-I-ibdiagnet:report.fab.qualities.report" $report
+    set nErrs [regexp -all -- {-E-} $report]
+    if {$nErrs} {
+	inform "-E-ibdiagnet:report.fab.qualities.errors" $nErrs
+    }
+    set nWarns [regexp -all -- {-W-} $report]
+    if {$nWarns} {
+	inform "-W-ibdiagnet:report.fab.qualities.warnings" $nWarns
+    }
+
+    inform "-I-ibdiagnet:check.credit.loops.header"
+
+    # report credit loops
+    ibdmCalcMinHopTables $fabric
+    set roots [ibdmFindRootNodesByMinHop $fabric]
+    # just flush out any logs
+    set report [ibdmGetAndClearInternalLog]
+    if {[llength $roots]} {
+	inform "-I-reporting:found.roots" $roots
+	ibdmReportNonUpDownCa2CaPaths $fabric $roots
+    } else {
+	ibdmAnalyzeLoops $fabric
+    }
+    set report [ibdmGetAndClearInternalLog]
+    inform "-I-ibdiagnet:report.fab.credit.loop.report" $report
+
+    set nErrs [regexp -all -- {-E-} $report]
+    if {$nErrs} {
+	inform "-E-ibdiagnet:report.fab.credit.loop.errors" $nErrs
+    }
+    set nWarns [regexp -all -- {-W-} $report]
+    if {$nWarns} {
+	inform "-W-ibdiagnet:report.fab.credit.loop.warnings" $nWarns
+    }
+
+    # back to send ibdm messages to cout
+    ibdmUseCoutLog
+
+    # Multicast mlid-guid-hcas report
+    set mcPtrList [sacMCMQuery getTable 0]
+
+    if { [llength $mcPtrList] > 0 } {
+	inform "-I-ibdiagnet:mgid.mlid.hca.header"
+	set mcgFile [InitializeOutputFile $G(var:tool.name).mcgs]
+	set preGuid ""
+	puts "mgid [Bar " " 32] | mlid   | PKey   | QKey       | MTU   | rate     | HCAs"
+	foreach mcPtr $mcPtrList {
+	    if {[catch {sacMCMRec OBJECT -this $mcPtr} msg]} {
+		puts $msg
+	    } else {
+		catch {OBJECT cget} attributes
+		foreach attr [lindex $attributes 0] {
+		    set [string range $attr 1 end] [OBJECT cget $attr]
+		}
+		rename OBJECT ""
+	    }
+	    set mlidHex 0x[format %lx $mlid]
+	    if {[info exists G(mclid2DrPath,$mlidHex)]} {
+		set mlidHcas $G(mclid2DrPath,$mlidHex)
+	    } else {
+		set mlidHcas NONE
+	    }
+	    set mtuStr [PathRecMTUCodeText $mtu]
+	    set rateStr "[PathRecRateCodeText $rate]Gbps"
+	    set msg "$mgid | [format 0x%lx $mlid] | [format 0x%04x $pkey] | [format 0x%08x $qkey] | [format %-5s $mtuStr] | [format %-8s $rateStr] | [llength $mlidHcas]"
+	    puts $msg
+	    puts $mcgFile "GROUP: $msg"
+	    foreach hca $mlidHcas {
+		puts $mcgFile "  $hca"
+	    }
+	}
+	close $mcgFile
+    }
+
+    return 0
+}
+######################################################################
+
+######################################################################
+### format fabric info
+######################################################################
+# The pocedure GetParamValue needs the database $G(data:list.direct.path)
+# returns the value of a parameter of a port in .lst file format
+
+##############################
+proc GetDeviceFullType {_name} {
+    array set deviceNames { SW "Switch" CA "HCA" Rt "Router" }
+    if {[lsearch [array names deviceNames] $_name] == -1} {
+	return $_name
+    } else {
+	return $deviceNames($_name)
+    }
+}
+##############################
+
+##############################
+proc GetEntryPort { _directPath args} {
+    global G INFO_LST Neighbor
+    if {$_directPath == ""} {
+        if {[lsearch -exac $args "-byNodeInfo"]!=-1} {
+	    set nodeInfo [GetWordAfterFlag $args "-byNodeInfo"]
+	} else {
+	    set nodeInfo [SmMadGetByDr NodeInfo dump ""]
+	}
+	set _port_num_vendor_id [GetWordAfterFlag $nodeInfo "-port_num_vendor_id"]
+        return [format %d [FormatInfo $_port_num_vendor_id PortNum NONE]]
+    }
+
+    if {[info exists G(data:guid.by.dr.path.$_directPath)]} {
+        set tmpGuid $G(data:guid.by.dr.path.[lrange $_directPath 0 end-1])
+	set tmpGuid $G(data:NodeGuid.$tmpGuid)
+	if {[info exists Neighbor($tmpGuid:[lindex $_directPath end])]} {
+	    set entryPort $Neighbor($tmpGuid:[lindex $_directPath end])
+            return [lindex [split $entryPort :] end ]
+	}
+    }
+
+    if {[lsearch -exac $args "-byNodeInfo"]!=-1} {
+	set nodeInfo [GetWordAfterFlag $args "-byNodeInfo"]
+	set _port_num_vendor_id [GetWordAfterFlag $nodeInfo "-port_num_vendor_id"]
+        return [format %d [FormatInfo $_port_num_vendor_id PortNum NONE]]
+    } elseif {$_directPath == ""} {
+        return -code 1 -errorinfo "Can't retrive entry port"
+    }
+
+    if {[catch {set tmpGuid [GetParamValue NodeGUID [lrange $_directPath 0 end-1] -byDr]}]} {
+        return ""
+    } else {
+	if {[info exists Neighbor($tmpGuid:[lindex $_directPath end])]} {
+	    set entryPort $Neighbor($tmpGuid:[lindex $_directPath end])
+	    return [lindex [split $entryPort :] end ]
+	} else {
+            return ""
+	}
+    }
+}
+##############################
+
+##############################
+proc GetParamValue { parameter DirectPath args } {
+    global G INFO_LST
+    set DirectPath "[join $DirectPath]"
+    # noread - if info doesn't exists don't try to get it by dr
+    set byDr 0
+    set noread 0
+    if {[lsearch -exac $args "-byDr"] != -1} { set byDr 1 }
+    if {[lsearch -exac $args "-noread"] != -1} { set noread 1}
+    if {[BoolWordInList $parameter "PortGuid"]} { set byDr 1 }
+    if { ! [BoolWordInList $DirectPath $G(data:list.direct.path)] && (![BoolWordInList $DirectPath $G(data:list.bad.paths)]) && (!$byDr)} {
+	return -code 1 -errorinfo "Direct Path \"$DirectPath\" not in $G(data:list.direct.path)\n and not in $G(data:list.bad.paths)"
+    }
+    ## Setting the parameter flags
+    ParseOptionsList $INFO_LST($parameter)
+
+    ## Setting the port number
+    if {[lsearch -exac $args "-port"] != -1} {
+	set port [GetWordAfterFlag $args "-port"]
+    }
+    if {[info exists cfg(fromport0)]} {
+	if {$byDr} {
+	    if { [catch {set tmpType [GetParamValue Type $DirectPath -byDr] }]} {
+		return -code 1 -errorinfo "6.Direct Path \"$DirectPath\" is bad"
+	    }
+	} else {
+	    if { [catch {set tmpType [GetParamValue Type $DirectPath] }]} {
+		return -code 1 -errorinfo "6.Direct Path \"$DirectPath\" is bad"
+	    }
+	}
+	if {$tmpType == "SW" }  {
+	    set port 0
+	}
+    }
+
+    # Check if the provided port is legal (bigger then zero, less or equal to Ports)
+    if {[info exists port]} {
+	if {$port < 0} {
+	    return -code 1 -errorinfo "Node at end of Direct Path \"$DirectPath\" Does not have port $port"
+	}
+	if {$byDr} {
+	    if { [catch {set maxPorts [GetParamValue Ports $DirectPath -byDr] }]} {
+		return -code 1 -errorinfo "6.Direct Path \"$DirectPath\" is bad"
+	    }
+	} else {
+	    if { [catch {set maxPorts [GetParamValue Ports $DirectPath] }]} {
+		return -code 1 -errorinfo "6.Direct Path \"$DirectPath\" is bad"
+	    }
+	}
+	if {$port > $maxPorts} {
+	    return -code 1 -errorinfo "Node at end of Direct Path \"$DirectPath\" Does not have port $port"
+	}
+    }
+
+    ## setting port/node guids
+    if {[info exists G(data:guid.by.dr.path.$DirectPath)]} {
+	set PortGuid $G(data:guid.by.dr.path.$DirectPath)
+	if {[info exists G(data:NodeGuid.$PortGuid)]} {
+	    set NodeGuid $G(data:NodeGuid.$PortGuid)
+	} else {
+	    set byDr 1
+	}
+    } else {
+	set byDr 1
+    }
+    ### Getting the parameter value
+    set value "DannyZarko"
+    switch -exact -- $parameter {
+	"PN" { return [FormatInfo $port PN $DirectPath] }
+	"PortGUID" {
+	    set addPort2Cmd [regexp {(Port|Lft)} $cfg(source)]
+	    if {[info exists PortGuid]} {
+		return [FormatInfo $PortGuid $parameter $DirectPath]
+	    } else {
+		set Cmd [list SmMadGetByDr $cfg(source) -$cfg(flag) "$DirectPath"]
+		if {$addPort2Cmd} { append Cmd " $port" }
+		if {[catch { set value [eval $Cmd]}]} { return -code 1 }
+	    }
+	}
+	default {
+	    set addPort2Cmd [regexp {(Port|Lft)} $cfg(source)]
+	    if {[info exists NodeGuid]} {
+		set InfoSource "data:$cfg(source).$NodeGuid"
+		if {$addPort2Cmd} { append InfoSource ":$port" }
+	    } else {
+		set InfoSource "DannyZarko"
+	    }
+	    if {$byDr} {
+		if {$noread} { return -code 1 -errorinfo "1.Direct Path \"$DirectPath\" is bad"}
+		if { [PathIsBad $DirectPath] > 1 } {
+		    return -code 1 -errorinfo "2.Direct Path \"$DirectPath\" is bad"
+		}
+		set Cmd [list SmMadGetByDr $cfg(source) -$cfg(flag) "$DirectPath"]
+		if {$addPort2Cmd} { append Cmd " $port" }
+		if {[catch { set value [eval $Cmd]}]} { return -code 1 -errorinfo "5.Direct Path \"$DirectPath\" is bad"}
+	    } else {
+		if {[info exists G($InfoSource)]} {
+		    if {$parameter == "NodeDesc"} {
+			return [FormatInfo $G(data:NodeDesc.$NodeGuid) NodeDesc $DirectPath]
+		    }
+		    return [FormatInfo [GetWordAfterFlag $G($InfoSource) -$cfg(flag)] $parameter $DirectPath]
+		} else {
+		    if { [PathIsBad $DirectPath] > 1 } {
+			return -code 1 -errorinfo "3.Direct Path \"$DirectPath\" is bad"
+		    }
+		    if {$noread} { return -code 1 -errorinfo "4.DannyZarko Direct Path \"$DirectPath\" is bad"}
+		    set Cmd [list SmMadGetByDr $cfg(source) -$cfg(flag) "$DirectPath"]
+		    if {$addPort2Cmd} { append Cmd " $port" }
+		    if {[catch { set value [eval $Cmd]}]} { return -code 1 }
+		}
+	    }
+	}
+    }
+    return [FormatInfo $value $parameter $DirectPath]
+}
+##############################
+
+##############################
+proc FormatInfo {_value _parameter _directRoute} {
+    global G INFO_LST MASK
+    set value $_value
+    ParseOptionsList $INFO_LST($_parameter)
+    ## Formatting $value
+    catch { set value [format %lx $value] }
+    regsub {^0x} $value {} value
+
+    # bits -> bytes
+    if {[catch { set width [expr $cfg(width) / 4] }]} { set width "" }
+
+    if {!(( $width == 0 ) || ( ! [regexp {^[0-9]+} $width] )) } {
+	if {[info exists cfg(offset)]} {
+	    scan $cfg(offset) {%d%[:]%d} offset D bigwidth
+	    set bigwidth [expr $bigwidth / 4]
+	    set offset [expr $offset / 4]
+	    set value [AddZeroes $value $bigwidth]
+	    set value [string range $value $offset [expr $offset + $width -1]]
+	} else {
+	    set value [AddZeroes $value $width]
+	}
+    }
+
+    if {[info exists cfg(substitution)]} {
+	regsub -all { *= *} [join $cfg(substitution)] {= } substitution
+	set value [RemoveZeroes $value]
+	set value [GetWordAfterFlag $substitution "$value="]
+    }
+    if { ! [info exists cfg(string)] } {
+	set value "0x$value"
+    }
+    return $value
+}
+##############################
+
+######################################################################
+### ouput fabric info
+######################################################################
+proc linkAtPathEnd { Path } {
+    if { [catch { set port1 [GetEntryPort $Path] } ] } {
+	return -code 1
+    }
+
+    uplevel  1 set path0 \"[lreplace $Path end end]\"
+    uplevel  1 set port0 [lindex $Path end]
+    uplevel  1 set path1 \"$Path\"
+    uplevel  1 set port1 $port1
+}
+##############################
+
+##############################
+#  NAME         lstInfo
+#  SYNOPSIS     lstInfo type{port|link} DirectPath port
+#  FUNCTION     returns either the info of one of a port in .lst format
+#                       or the info regarding the links : SPD,PHY,LOG
+#  INPUTS       NULL
+#  OUTPUT       returns the info of one of a port in .lst format
+proc lstInfo { type DirectPath port } {
+    global G MASK SM
+    set DirectPath [join $DirectPath]
+    set Info ""
+    set Vals ""
+    ## The lists of parameters
+    switch -exact -- $type {
+	"csv_mode" {
+	    set sep ,
+	    append lstItems "PortGUID PN NodeGUID SystemGUID"
+            append lstItems " systemType systemName systemPortName boardName"
+            append lstItems " NodeDesc Type DevID VenID LID PHY SPD"
+
+	}
+	"port" {
+	    set sep ":"
+	    append lstItems "Type Ports SystemGUID NodeGUID PortGUID VenID"
+	    append lstItems " DevID Rev NodeDesc LID PN"
+	}
+        "link" {
+	    set sep "="
+	    append lstItems "PHY LOG SPD"
+	}
+    }
+
+    foreach parameter $lstItems {
+	# The following may fail - then the procedure will return with error
+	# Known Issue - GetParamValue will return
+
+        if {$type == "csv_mode"} {
+            if {![BoolWordInList $parameter "systemType systemName systemPortName boardName"]} {
+                set value [GetParamValue $parameter $DirectPath -port $port]
+            }
+        } else {
+            regsub {^0x} [GetParamValue $parameter $DirectPath -port $port] {} value
+            # .lst formatting of parameters and their values
+            if {[BoolWordInList $parameter "VenID DevID Rev LID PN"]} {
+	       set value [string toupper $value]
+	    }
+        }
+
+	switch -exact -- $parameter {
+	    "Ports"     { set tmpPorts  $value }
+	    "PN"        { set tmpPN     $value }
+            "NodeGUID"  { set tmpNG     $value }
+	}
+	switch -exact -- $type {
+	    "csv_mode" {
+                switch -exact -- $parameter {
+                    "PN" -
+                    "DevID" {
+                        set value [expr $value]
+                    }
+                    "systemType" -
+                    "systemName" -
+                    "systemPortName" -
+                    "boardName" {
+                        set value [returnCVS_params $tmpNG $tmpPN $parameter]
+                    }
+                }
+                append Info "$value,"
+                continue;
+	    }
+	    default {
+	    }
+	}
+
+	switch -exact -- $parameter {
+	    "Type"   {
+		# Replace CA with CA-SM
+		if {$value == "CA"} {
+		    set master 3
+		    if {[info exists SM($master)]} {
+			foreach element $SM($master) {
+			    set tmpDirectPath [lindex $element 0]
+			    if {$DirectPath == $tmpDirectPath} {
+				set value "CA-SM"
+			    }
+			}
+		    }
+		}
+		lappend Info "$value"
+	    }
+	    "SystemGUID" {
+		# use node guid instead for zero system image guid
+		if {$value == "0x0000000000000000"} {
+		    regsub {^0x} [GetParamValue NodeGUID $DirectPath -port $port] {} value
+		}
+		lappend Info "${parameter}${sep}${value}"
+	    }
+	    "NodeDesc"  {
+                if {$G(bool:topology.matched)} {
+		    lappend Info "\{[DrPath2Name $DirectPath -port $port]\}"
+                } else {
+		    lappend Info "\{$value\}"
+                }
+	    }
+	    "DevID"  { lappend Info "${parameter}${sep}${value}0000" }
+	    "VenID"  { lappend Info "${parameter}${sep}00${value}" }
+	    default  { lappend Info "${parameter}${sep}${value}" }
+	}
+    }
+    if {$type == "port"} {
+	if {[info exists tmpPorts] && [info exists tmpPN]} {
+	    if {$tmpPorts < $tmpPN} {
+		set G(lst.failed) 1
+	    }
+	}
+    }
+    return [join $Info]
+}
+##############################
+
+##############################
+#  NAME         writeDBFile
+#  SYNOPSIS     writeDBFile
+#  FUNCTION     writes a dump of the G Array
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeDBFile {} {
+    global G Neighbor
+
+    if {[info exists G(argv:ibdiag.db)]} {
+        return 1
+    }
+
+    set FileID [InitializeOutputFile $G(var:tool.name).db]
+
+    foreach {array_name data} {G data* Neighbor *} {
+        puts $FileID "array set $array_name {"
+
+        set tmp_list [array get $array_name $data]
+        foreach {key val} $tmp_list {
+            set line "{$key} {$val}"
+            puts $FileID $line
+        }
+        puts $FileID "}"
+    }
+
+    close $FileID
+    return 0
+}
+##############################
+
+##############################
+#  NAME         writeLstFile
+#  SYNOPSIS     writeLstFile
+#  FUNCTION     writes a dump of the fabric links
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeLstFile {} {
+    global G
+
+    set FileID [InitializeOutputFile $G(var:tool.name).lst]
+    foreach DirectPath $G(data:list.direct.path) {
+	# seperate the next 3 logical expr to avoid extra work
+	if {![llength $DirectPath]  } {continue; }
+	if {[PathIsBad $DirectPath] > 1 } {continue; }
+	if {[catch {linkAtPathEnd $DirectPath}] } {continue; }
+	set lstLine ""
+
+	append lstLine "\{ [lstInfo port $path0 $port0] \} "
+	append lstLine "\{ [lstInfo port $path1 $port1] \} "
+	append lstLine "[lstInfo link $path0 $port0]"
+	puts $FileID "$lstLine"
+	unset path0
+	unset path1
+	unset port0
+	unset port1
+    }
+    close $FileID
+    return 0
+}
+
+proc writeCSVInventoryFile {} {
+    global G
+
+    if {![info exists G(argv:csv.dump)]} {
+        return 0
+    }
+
+    set FileID [InitializeOutputFile $G(var:tool.name).inv_csv]
+    set header_line "PortGUID PN NodeGUID SystemGUID systemType systemName systemPortName boardName NodeDesc Type DevID VenID LID PHY SPD"
+    puts $FileID [join $header_line ,]
+    foreach DirectPath $G(data:list.direct.path) {
+	# seperate the next 3 logical expr to avoid extra work
+	if {![llength $DirectPath]  } {continue; }
+	if {[PathIsBad $DirectPath] > 1 } {continue; }
+	if {[catch {linkAtPathEnd $DirectPath}] } {continue; }
+	set lstLine ""
+
+        puts $FileID [string range [lstInfo csv_mode $path0 $port0] 0 end-1]
+        puts $FileID [string range [lstInfo csv_mode $path1 $port1] 0 end-1]
+	unset path0
+	unset path1
+	unset port0
+	unset port1
+    }
+    close $FileID
+    return 0
+}
+
+
+##############################
+#  NAME         writeLinksCSVFile
+#  SYNOPSIS     writeLinksCSVFile
+#  FUNCTION
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeCSVLinksFile {} {
+    global G
+
+    if {![info exists G(argv:csv.dump)]} {
+        return 0
+    }
+
+    set FileID [InitializeOutputFile $G(var:tool.name).links_csv]
+    set header_line "PortGUID1 PortNum1 PortGUID2 PortNum2"
+    puts $FileID [join $header_line ,]
+    foreach DirectPath $G(data:list.direct.path) {
+	if {$DirectPath == ""} {continue;}
+	set dr_0 [lreplace $DirectPath end end ]
+	set pn_0 [lindex $DirectPath end]
+	set dr_1 $DirectPath
+        set pn_1 [GetEntryPort $DirectPath]
+	set guid_0 [GetParamValue PortGUID $dr_0 -port $pn_0]
+	set guid_1 [GetParamValue PortGUID $dr_1 -port $pn_1]
+
+        puts $FileID $guid_0,$pn_0,$guid_1,$pn_1
+    }
+    close $FileID
+    return 0
+}
+
+proc writeCSVErrorsFile {} {
+    global CSV_ERRORS G
+
+    if {(![info exists G(argv:csv.dump)]) || ![info exists CSV_ERRORS]} {
+        return 0
+    }
+
+    set FileID [InitializeOutputFile $G(var:tool.name).err_csv]
+    set header_line "Scope NodeGUID PortGUID PortNumber EventName Summary Severity exid type"
+    puts $FileID [join $header_line ,]
+
+    foreach line $CSV_ERRORS {
+        puts $FileID $line
+    }
+    close $FileID
+    return 0
+}
+
+
+##############################
+
+##############################
+#  NAME         writeNeighborFile
+#  SYNOPSIS     writeNeighborFile
+#  FUNCTION     writes a dump of the ports pairs in the discovered fabric
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeNeighborFile { args } {
+    global Neighbor G
+
+    set FileID [InitializeOutputFile $G(var:tool.name).neighbor]
+    set preGuid ""
+    foreach neighbor [lsort -dictionary [array names Neighbor]] {
+	if {($preGuid != [string range $neighbor 0 17]) && ($preGuid != "")} {
+	    puts $FileID ""
+	}
+	puts $FileID "$neighbor\t$Neighbor($neighbor)"
+	set preGuid [string range $neighbor 0 17]
+    }
+    close $FileID
+    return 0
+}
+##############################
+
+##############################
+#  NAME         writeMasksFile
+#  SYNOPSIS     writeMasksFile
+#  FUNCTION     writes a map for duplicate GUIDs <-> New assgiened GUIDs
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeMasksFile { args } {
+    global MASK G
+    if {[llength [array names MASK *Guid,*]] == 0 } {
+	return 0
+    }
+    set FileID [InitializeOutputFile $G(var:tool.name).masks]
+    foreach mask [lsort -dictionary [array names MASK *Guid,*]] {
+	puts $FileID "$mask\t$MASK($mask)"
+    }
+    close $FileID
+    return 0
+}
+##############################
+
+##############################
+#  NAME         writeSMFile
+#  SYNOPSIS     writeSMFile
+#  FUNCTION     writes a dump of SM query
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeSMFile {} {
+    global SM G
+    set SMFound 0
+    for {set i 3} {$i > -1} {incr i -1} {
+	if {[info exists SM($i)]} {
+	    set SMFound 1
+	}
+    }
+
+    if {!$SMFound} {return 0}
+    set FileID [InitializeOutputFile $G(var:tool.name).sm]
+
+    puts $FileID "ibdiagnet fabric SM report"
+
+    DumpSMReport $FileID
+    close $FileID
+    return 0
+}
+
+##############################
+#  NAME         writePMFile
+#  SYNOPSIS     writePMFile
+#  FUNCTION     writes a dump of Port Counter query
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writePMFile {} {
+    global G PM_DUMP
+
+    if {![info exists PM_DUMP]} {return 0}
+
+    set FileID_0 [InitializeOutputFile $G(var:tool.name).pm]
+
+    set header 1
+    if {[info exists G(argv:csv.dump)]} {
+        set header 0
+        set FileID_1 [InitializeOutputFile $G(var:tool.name).pm_csv]
+    }
+
+    foreach pair $PM_DUMP(list_dr_port) {
+	regexp {^([^:]*):([^:]+)$} $pair . dr pn
+	set name [DrPath2Name "$dr" -fullName -port $pn]
+	set tmpPmCounterList $PM_DUMP($pair,pmCounterList)
+        set listOfPMValues $PM_DUMP($pair,pmCounterValue)
+
+	puts $FileID_0 [string repeat "-" 80]
+        puts $FileID_0 $name
+        puts $FileID_0 [string repeat "-" 80]
+
+	if {!$header} {
+	    puts $FileID_1 NodeGUID,PortGUID,PortNumber,[join $tmpPmCounterList ,]
+  	    incr header
+	}
+	set portGuid $G(data:guid.by.dr.path.$dr)
+	set nodeGuid $G(data:NodeGuid.$portGuid)
+
+        set tmp_csv_line $nodeGuid,$portGuid,$pn
+	foreach pmCounter $tmpPmCounterList {
+            set pmCounterValue "0x[format %lx [GetWordAfterFlag $listOfPMValues $pmCounter]]"
+            puts $FileID_0 "$pmCounter = $pmCounterValue"
+	    append tmp_csv_line ",[expr $pmCounterValue]"
+	}
+
+        if {[info exists G(argv:csv.dump)]} {
+            puts $FileID_1 $tmp_csv_line
+        }
+    }
+
+    close $FileID_0
+    if {[info exists G(argv:csv.dump)]} {
+        close $FileID_1
+    }
+    return 0
+}
+
+##############################
+
+##############################
+#  NAME         writeTopologyFileAndIBNLs
+#  SYNOPSIS     writeTopologyFileAndIBNLs
+#  FUNCTION     Write out teh topoly fiel if requested
+#  INPUTS       NULL
+#  OUTPUT       NULL
+proc writeTopologyFileAndIBNLs {} {
+    global G
+    # we might be asked to dump out the topology
+    if {[info exists G(argv:write.topology)]} {
+	inform "-I-write.topology:writing"
+	set ibnlDir [file join $G(argv:out.dir) ibdiag_ibnl]
+	if {![file exists $ibnlDir]} {
+	    file mkdir $ibnlDir
+	}
+
+	# we might be teh only reason to get a topology ...
+	if {![info exists G(IBfabric:merged)] } {
+	    set f [new_IBFabric]
+	    if {[IBFabric_parseSubnetLinks $f  $G(outfiles,.lst)]} {
+		inform "-F-crash:failed.parse.lst"
+	    }
+	} else {
+	    set f $G(IBfabric:merged)
+	}
+	if {[IBFabric_dumpTopology $f $G(argv:write.topology) $ibnlDir]} {
+	    inform "-E-write.topology:failed"
+	}
+    }
+    return 0
+}
+
+##############################
+#  SYNOPSIS write.fdbsFile
+#  FUNCTION
+#  writes the $G(var:tool.name).fdbs file, which lists the Linear Forwarding Tables
+#  of all the switches in the discovered faric.
+#  Writing this file is part of the flow of ibdiagnet.
+#  The data is obtained by sending LftBlock MADs to read all the entires
+#  of the Linear Forwarding Tables to all the switches.
+#  The file has the following format for each switch of the IB fabric:
+#     Switch <NodeGuid>
+#     LID    : Out Port(s)
+#     0xc000   0x002 0x00f
+#     ...
+#  INPUTS   NULL
+#  OUTPUT   the file $G(var:tool.name).mcfdbs
+#  DATAMODEL
+#  the procedure uses the global arrays
+#  $G(data:PortInfo.<NodeGuid>:0) - as a list of all the switches
+#  and $G(Guid2DrPath,<NodeGuid>) - to translate node-guids to direct paths
+#  it sets the global array $G(mclid2DrPath,<mcLid>) - a list of (direct
+#  paths to) HCAs belonging to a multicast-lid - to be used later by
+#  DumpFabQualities.
+proc writeFdbsFile { args } {
+    global G
+
+    set FileID [InitializeOutputFile $G(var:tool.name).fdbs]
+    foreach entry [array names G "data:dr.path.to.guid.*"] {
+
+	set DirectPath $G($entry)
+	if {[PathIsBad $DirectPath] > 1} { continue; }
+	set NodeType [GetParamValue Type $G($entry)]
+	if {$NodeType != "SW"} { continue; }
+
+	set PortGuid [lindex [split $entry .] end]
+	set NodeGuid $G(data:NodeGuid.$PortGuid)
+
+	set thisSwLid [GetParamValue LID $DirectPath X -noread]
+	if {[PathIsBad $DirectPath] > 1} { continue; }
+	if [catch {set LinFDBTop \
+		       [SmMadGetByDr SwitchInfo -lin_top "$DirectPath"]}] {
+	    continue;
+	}
+	set FDBs ""
+	for { set I 0 } { [expr $I *64] <= $LinFDBTop } { incr I } {
+	    # Note "<=" - because LinFDBTop indicates the INDEX of the last
+	    # valid entry
+	    if [catch {set NewFDBs \
+			   [SmMadGetByDr LftBlock dump "$DirectPath" $I] }] {
+		set FDBs [concat $FDBs [Bar "0xff " 64]]
+	    } else {
+		set FDBs [concat $FDBs $NewFDBs]
+	    }
+	}
+	puts -nonewline $FileID "osm_ucast_mgr_dump_ucast_routes: "
+	puts $FileID "Switch $NodeGuid"
+	puts $FileID "LID    : Port : Hops : Optimal"
+	for { set lid 1 } { $lid <= $LinFDBTop } { incr lid 1 } {
+	    scan [lindex $FDBs $lid] %x port
+	    puts -nonewline $FileID "0x[string toupper [format %04x $lid]] : "
+	    if { $port == "0xff" } {
+		puts $FileID "UNREACHABLE"
+	    } elseif { ( $port == "0x00" ) && ( $lid != $thisSwLid ) } {
+		puts $FileID "UNREACHABLE"
+	    } else {
+		puts $FileID "[AddZeroes $port 3]  : 00   : yes"
+	    }
+	}
+	puts $FileID ""
+    }
+    close $FileID
+    return 0
+}
+##############################
+
+##############################
+#  SYNOPSIS write.mcfdbsFile
+#  FUNCTION
+#  writes the $G(var:tool.name).mcfdbs file, which lists the Multicast Forwarding
+#  Tables of all the switches in the discovered faric.
+#  Writing this file is part of the flow of ibdiagnet.
+#  The data is obtained by sending MftBlock MADs to read all the entires
+#  of the MC Forwarding Tables. Note the tables are read in blocks of
+#  16 ports x 64 mcLids blocks, thus if a deviec has more than 16 ports
+#  then reading its mc table is a bit tricky...
+#  The file has the following format for each switch of the IB fabric:
+#     Switch <NodeGuid>
+#     LID    : Out Port(s)
+#     0xc000   0x002 0x00f
+#     ...
+#  INPUTS   NULL
+#  OUTPUT   the file $G(var:tool.name).mcfdbs
+#  DATAMODEL
+#  the procedure uses the global arrays
+#  $G(data:PortInfo.<NodeGuid>:0) - as a list of all the switches
+#  and $G(Guid2DrPath,<NodeGuid>) - to translate node-guids to direct paths
+#  it sets the global array $G(mclid2DrPath,<mcLid>) - a list of (direct
+#  paths to) HCAs belonging to a multicast-lid - to be used later by
+#  DumpFabQualities.
+proc writeMcfdbsFile { } {
+    global G
+
+    set FileID [InitializeOutputFile $G(var:tool.name).mcfdbs]
+
+    foreach entry [array names G "data:dr.path.to.guid.*"] {
+	set DirectPath $G($entry)
+	if {[PathIsBad $DirectPath] > 1} {
+	    continue;
+	}
+	set NodeType [GetParamValue Type $G($entry)]
+	if {$NodeType != "SW"} { continue; }
+	set PortGuid [lindex [split $entry .] end]
+	set NodeGuid $G(data:NodeGuid.$PortGuid)
+
+	if {[catch { set McFDBCap [SmMadGetByDr SwitchInfo -mcast_cap "$DirectPath"] }]} {
+	    continue;
+	}
+	set NumPorts [GetParamValue Ports $DirectPath]
+	puts $FileID "\nSwitch $NodeGuid\nLID    : Out Port(s) "
+	for {set LidGrp 0xc000} {$LidGrp < 0xc000 + $McFDBCap} {incr LidGrp 0x20} {
+	    set McFDBs ""
+	    set LidGroup "0x[format %lx $LidGrp]"
+	    # read the entire McFDBs data for Lids $LidGroup .. $LidGroup + 0x1f
+	    for {set PortGroup 0} {$PortGroup <= $NumPorts} {incr PortGroup 16} {
+		if {[catch { set newBlock [SmMadGetByDr MftBlock dump "$DirectPath" $LidGroup $PortGroup] }]} { break; }
+		if {[lindex $newBlock 0] == "-mft"} {
+		    append McFDBs " " [Hex2Bin [lrange $newBlock 1 end]]
+		} else {
+		    append McFDBs " " [Hex2Bin $newBlock]
+		}
+	    }
+	    # figure out - and print to file - the mc ports for each Lid
+	    # in the lid group
+	    for { set lidIndx 0 } { $lidIndx < 0x20 } { incr lidIndx } {
+		set mask ""
+		for { set PortGroup 0; set idx 0 } { $PortGroup <= $NumPorts } { incr PortGroup 16; incr idx 32 } {
+		    set mask "[lindex $McFDBs [expr $lidIndx + $idx]]$mask"
+		}
+		if { ! [regexp "1" $mask] } { continue; }
+		set mcLid [format %04x [expr $lidIndx + $LidGroup]]
+		set outputLine "0x[string toupper $mcLid] :"
+		for { set Port 0; set maskIndx [expr [string length $mask]-1] } { $Port <= $NumPorts } { incr Port 1 ; incr maskIndx -1 } {
+		    if { [string index $mask $maskIndx] == 1 } {
+			append outputLine " 0x[string toupper [format %03x $Port]] "
+			set LongPath [join "$DirectPath $Port"]
+			set tmp_badLinksDetectionValue $G(bool:bad.links.detected)
+			set G(bool:bad.links.detected) 0
+			if {[catch {SmMadGetByDr NodeInfo dump $LongPath} e]} {
+			    set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+			    continue;
+			}
+			set G(bool:bad.links.detected) $tmp_badLinksDetectionValue
+			catch { if { [GetParamValue Type $LongPath -byDr] != "SW" } {
+			    set directPathName [DrPath2Name $LongPath -byDr]
+			    if {$directPathName !=""} {
+				lappend G(mclid2DrPath,0x$mcLid) $directPathName
+			    } else {
+				lappend G(mclid2DrPath,0x$mcLid) $LongPath
+			    }
+			}
+			}
+		    }
+		}
+		puts $FileID "$outputLine"
+	    }
+	}
+    }
+    close $FileID
+    return 0
+}
+######################################################################
+
+proc CheckAllinksSettings {} {
+    global G LINK_SPD LINK_PHY
+    set checkList ""
+    set spd ""
+    set phy ""
+    if {[info exists G(argv:link.width)]} {
+	lappend checkList "PHY"
+	set phy $G(argv:link.width)
+    }
+    if {[info exists G(argv:link.speed)]} {
+	lappend checkList "SPD"
+	set spd $G(argv:link.speed)
+    }
+
+    foreach DirectPath $G(data:list.direct.path) {
+	if {$DirectPath == ""} {
+	    continue;
+	}
+	if {[lsearch $checkList "SPD"] != -1} {
+	    set tmpLinkspeed [GetParamValue "SPD" $DirectPath -port [GetEntryPort $DirectPath]]
+	    if {$tmpLinkspeed != $spd} {
+		lappend LINK_SPD($DirectPath) $tmpLinkspeed
+	    }
+	}
+	if {[lsearch $checkList "PHY"] != -1} {
+	    set tmpLinkWidth [GetParamValue "PHY" $DirectPath -port [GetEntryPort $DirectPath]]
+	    if {$tmpLinkWidth != $phy} {
+		lappend LINK_PHY($DirectPath) $tmpLinkWidth
+	    }
+	}
+    }
+
+    if {[lsearch $checkList "PHY"] != -1} {
+	inform "-I-ibdiagnet:bad.link.width.header"
+	if {[llength [array names LINK_PHY]]} {
+	    foreach link [lsort [array names LINK_PHY]] {
+		if {[PathIsBad $link] > 1} {continue;}
+		set paramlist "-DirectPath0 \{[lrange $link 0 end-1]\} -DirectPath1 \{$link\}"
+		eval inform "-W-ibdiagnet:report.links.width.state" -phy $LINK_PHY($link) $paramlist
+	    }
+	} else {
+	    inform "-I-ibdiagnet:no.bad.link.width"
+	}
+    }
+
+    if {[lsearch $checkList "SPD"] != -1} {
+	inform "-I-ibdiagnet:bad.link.speed.header"
+	if {[llength [array names LINK_SPD]]} {
+	    foreach link [lsort [array names LINK_SPD]] {
+		if {[PathIsBad $link] > 1} {continue;}
+		set paramlist "-DirectPath0 \{[lrange $link 0 end-1]\} -DirectPath1 \{$link\}"
+		eval inform "-W-ibdiagnet:report.links.speed.state" -spd $LINK_SPD($link) $paramlist
+	    }
+	} else {
+	    inform "-I-ibdiagnet:no.bad.link.speed"
+	}
+    }
+    return 0
+}
+
+proc SL_2_VL {_paths _targets} {
+    global G
+    for {set i 0} {$i < 16} {incr i} {
+	set SL_VL($i,VL) -1
+    }
+    set path [lindex $_paths end]
+    for {set i 0} {$i < [llength $path]} {incr i} {
+	set tmpPath [lrange $path 0 $i]
+	set smallPath [lreplace $tmpPath end end ]
+	set entryPort [GetParamValue PortNum $tmpPath -byDr]
+
+	set inPort [GetParamValue PortNum $smallPath -byDr]
+	set outPort [lindex $tmpPath end]
+	set slVlTable [SmMadGetByDr SlVlTable dump "$smallPath" $inPort $outPort]
+	set slVlString ""
+	foreach item $slVlTable  {
+	    append slVlString [string range $item 2 end]
+	}
+	set tmpOpVL [GetParamValue OpVL "$tmpPath" -port $entryPort -byDr]
+	set slVlString $slVlString
+	for {set j 0} {$j < 16} {incr j} {
+	    if {$SL_VL($j,VL) != -1} { continue}
+	    if {$tmpOpVL < [string index $slVlString $j]} {
+		set SL_VL($j,VL) [string index $slVlString $j]
+		set SL_VL($j,directPath) $tmpPath
+		set SL_VL($j,opVL) $tmpOpVL
+	    }
+	}
+    }
+
+    for {set i 0} {$i < 16} {incr i} {
+	if {$SL_VL($i,VL) == -1} {
+	    lappend suitableSl $i
+	}
+    }
+
+    set directPath ""
+    set opVL ""
+    set VL -1
+    if {[info exists G(argv:lid.route)]} {
+	set lidRoute ""
+	foreach lid [split $G(argv:lid.route) ,] {
+	    lappend lidRoute "0x[format %x $lid]"
+	}
+	if {[llength $_targets] > 1} {
+	    set route "path From lid: [lindex $lidRoute 0] To lid: [lindex $lidRoute 1]"
+	} else {
+	    set route "path From lid: $G(data:root.port.lid) To lid: [lindex $lidRoute 0]"
+	}
+    }
+    if {[info exists G(argv:by-name.route)]} {
+	set nameRoute [split $G(argv:by-name.route) ,]
+	if {[llength $_targets] > 1} {
+	    set route "path From: [lindex $nameRoute 0] To: [lindex $nameRoute 1]"
+	} else {
+	    set route "path From: [DrPath2Name ""] To: [lindex $nameRoute 0]"
+	}
+    }
+
+    if {[info exists G(argv:direct.route)]} {
+	set route "direct route: $G(argv:direct.route)"
+    }
+
+    if {[info exists G(argv:service.level)]} {
+	if {$SL_VL($G(argv:service.level),VL) != -1 } {
+	    set directPath "$SL_VL($G(argv:service.level),directPath)"
+	    set opVL [Hex2Dec $SL_VL($G(argv:service.level),opVL)]
+	    set VL [Hex2Dec $SL_VL($G(argv:service.level),VL)]
+	}
+    }
+
+    inform "-I-ibdiagpath:service.level.header"
+    inform "-I-ibdiagpath:service.level.report" -suitableSl $suitableSl -DirectPath0 $directPath -DirectPath1 [lreplace  $directPath end end] -opVL $opVL -VL $VL -route $route
+    return 0
+}
+
+proc Hex2Dec {hexaNum} {
+    scan $hexaNum "%x" dec
+    return $dec
+}
+
+proc CheckSkipStatus {_step} {
+    global G
+    if {[BoolWordInList $_step $G(argv:skip.checks)]} {
+        return 1
+    }
+    if {$_step == "load_ibdm"} {
+        return 0
+    }
+    if {[BoolWordInList all $G(argv:skip.checks)]} {
+        return 1
+    }
+    return 0
+}
+
+proc returnCVS_params {_nodeGuid _pn _reg} {
+    global G TopoGUIDtoNode
+
+    if { ![info exists G(argv:topo.file)] || [CheckSkipStatus load_ibdm] || ![info exists G(IBfabric:merged)]} {
+	return 0
+    }
+
+    if {![info exists TopoGUIDtoNode]} {
+        array set TopoGUIDtoNode [join [IBFabric_NodeByGuid_get $G(IBfabric:merged)]]
+    }
+
+    if {![info exists TopoGUIDtoNode($_nodeGuid)]} {
+        return ""
+    }
+    set nodePtr $TopoGUIDtoNode($_nodeGuid)
+    set sysPtr [IBNode_p_system_get $nodePtr]
+    if {$sysPtr == ""} {
+        return ""
+    }
+    set systemName [IBSystem_name_get $sysPtr]
+    set systemType [IBSystem_type_get $sysPtr]
+    ### query if not ""
+    set port [IBNode_getPort $nodePtr $_pn]
+    set systemPortName ""
+    if {$port != ""} {
+        set sysPort  [IBPort_p_sysPort_get $port]
+        if {$sysPort != ""} {
+            set systemPortName [IBSysPort_name_get $sysPort]
+        }
+    }
+    set boardName ""
+
+    if {[info exists $_reg]} {
+        return [subst $$_reg]
+    } else {
+        return ""
+    }
+    return "$systemType,$systemName,$systemPortName,$BoardName"
+}
diff --git a/ibdiag/src/ibdebug_if.tcl b/ibdiag/src/ibdebug_if.tcl
new file mode 100644
index 0000000..cf311c1
--- /dev/null
+++ b/ibdiag/src/ibdebug_if.tcl
@@ -0,0 +1,2801 @@
+######################################################################
+### Procs:
+# PutsIn80Chars
+# toolsFlags
+# ParseArgv
+# inform
+# showHelpPage
+######################################################################
+
+######################################################################
+## varoius definitions for the command-line arguments:
+# name:     the name to be used when refering to the flag (e.g., topo.file for -t)
+# default:  the default value (if exists)
+# param:    a string describing the value given to the flag - to be written in the tool's synopsys
+#           (e.g., the "count" in: [-c <count>])
+# -deafult  "" means that the parameter does have a default value, but it will set later
+#           (after ibis is ran, in procedure StartIBDIAG).
+## TODO: sm_key is a 64-bit integer - will it be correctly cheked in ParseArgv ?
+proc SetInfoArgv {} {
+    global InfoArgv G
+    array set InfoArgv {
+        -csv,name     "csv.dump"
+        -csv,desc     "Create an additional, csv based, reports"
+        -csv,arglen   "0"
+
+        -load_db,name     "ibdiag.db"
+	-load_db,desc     "Load subnet data from the given .db file. Skip subnet discovery stage"
+	-load_db,param    "db_file"
+	-load_db,arglen   "1"
+	-load_db,regexp   "file.exists.readable"
+
+	-skip,name     "skip.checks"
+	-skip,desc     "Skip the executions of the given check. Applicable skip checks: dup_guids|zero_guids|pm|logical_state|part|ipoib|all"
+	-skip,param    "ibdiag check"
+	-skip,regexp   {^(dup_guids|zero_guids|pm|logical_state|part|ipoib|all)$}
+	-skip,error    "-E-argv:not.legal.skip"
+	-skip,default  "None"
+	-skip,arglen   "1.."
+
+	-smp,name   "symmetric.multi.processing"
+	-smp,desc   "Instructs the tool to run in smp mode"
+	-smp,arglen 0
+	-smp,default 0
+
+	-sl,name    "service.level"
+	-sl,desc    "Determine if the provided sl is legit for the route"
+	-sl,param   "service level"
+	-sl,regexp  "integer.nonneg.==1"
+	-sl,error   "-E-argv:not.pos.integer"
+	-sl,maxvalue "15"
+
+	-P,name     "query.performance.monitors"
+	-P,desc     "If any of the provided pm is greater then its provided value, print it to screen"
+	-P,param "<PM>=<Value>"
+	-P,error "-E-argv:not.legal.PM"
+	-P,arglen   "1.."
+
+	-pc,name    "reset.performance.monitors"
+	-pc,desc    "reset all the fabric links pmCounters"
+	-pc,arglen  0
+
+	-pm,name    "performance.monitors"
+	-pm,desc "Dumps all pmCounters values into .pm file"
+	-pm,arglen  0
+
+	-wt,name    "write.topology"
+	-wt,desc "Write out the discovered topology into the given file name. Required IBNL files are created in the ibdiag_ibnl dir."
+	-wt,arglen  1
+
+	-lw,name    "link.width"
+	-lw,param   "1x|4x|12x"
+	-lw,error   "-E-argv:not.legal.link.width"
+	-lw,regexp  {^((1x)|(4x)|(12x))$}
+	-lw,desc    "Specifies the expected link width"
+
+	-ls,name    "link.speed"
+	-ls,param   "2.5|5|10"
+	-ls,error   "-E-argv:not.legal.link.speed"
+	-ls,regexp  {^((2\.5)|(5)|(10))$}
+	-ls,desc    "Specifies the expected link speed"
+
+	-a,name  "attribute"
+	-a,param "attr"
+	-a,optional "-field1 val1 -field2 val2 ..."
+	-a,desc  "defines the attribute to query or send"
+
+	-c,name  "count"
+	-c,default  10
+	-c,param "count"
+	-c,regexp   "integer.nonneg.==1"
+	-c,error "-E-argv:not.nonneg.integer"
+	-c,maxvalue "1000000"
+
+	-d,name  "direct.route"
+	-d,param "p1,p2,p3,..."
+	-d,desc  "Directed route from the local node to the destination node"
+	-d,regexp   "integer.pos.>=0"
+	-d,error "-E-argv:bad.path"
+	-d,maxvalue "0xff"
+
+	-f,name  "failed.retry"
+	-f,default  1
+	-f,param "fail-rtry"
+	-f,desc  "number of retries of sending a specific packet"
+
+	-i,name  "dev.idx"
+	-i,default  ""
+	-i,param "dev-index"
+	-i,desc  "Specifies the index of the device of the port used to connect to the IB fabric (in case of multiple devices on the local system)"
+	-i,regexp   "integer.pos.==1"
+	-i,error "-E-argv:not.pos.integer"
+	-i,maxvalue "0xff"
+
+	-k,name  "sm.key"
+	-k,desc  "in order to generate \"trusted\" queries the user needs to provide the SM_key"
+	-k,regexp   "integer:nonneg:==1"
+	-k,error "-E-argv:not.nonneg.integer"
+
+	-l,name  "lid.route"
+	-l,param "lid"
+	-l,desc "The LID of destination port"
+	-l,regexp "integer.pos.==1"
+	-l,error "-E-argv:not.pos.integer"
+	-l,maxvalue "0xffff"
+
+	-m,name  "method"
+	-m,param "meth"
+	-m,desc  "send the mad using the given method"
+
+	-n,name  "by-name.route"
+	-n,param "name"
+	-n,desc  "the name of the destination port"
+	-n,regexp   {^[^ ,]+$}
+	-n,error "-E-argv:bad.node.name"
+
+	-o,name  "out.dir"
+	-o,default  "/tmp"
+	-o,param "out-dir"
+	-o,desc  "Specifies the directory where the output files will be placed"
+
+	-p,name  "port.num"
+	-p,default  ""
+	-p,param "port-num"
+	-p,desc  "Specifies the local device's port number used to connect to the IB fabric"
+	-p,regexp   "integer.pos.==1"
+	-p,error "-E-argv:not.pos.integer"
+	-p,maxvalue "0xff"
+
+	-q,name  "query.mode"
+	-q,desc  "starts a \"query mode\""
+	-q,arglen   0
+
+	-r,name  "report"
+	-r,desc  "Provides a report of the fabric qualities"
+	-r,arglen   0
+
+	-s,name  "sys.name"
+	-s,default  ""
+	-s,param "sys-name"
+	-s,desc  "Specifies the local system name. Meaningful only if a topology file is specified"
+
+	-t,name  "topo.file"
+	-t,param "topo-file"
+	-t,desc  "Specifies the topology file name"
+
+	-v,name  "verbose"
+	-v,desc  "Instructs the tool to run in verbose mode"
+	-v,arglen   0
+
+	## Support verbosity with verbose levels
+	#   -v,name "verbose"
+	#   -v,desc "Instructs the tool to run in verbose mode"
+	#   -v,arglen  0..1
+	#   -v,regexp  "integer.nonneg.<=1"
+	#   -v,error   "-E-argv:not.nonneg.integer"
+	#   -v,save     "-v,arglen 0..1"
+	#   -v,default  0
+	#   -v,maxvalue "0xffff"
+
+	-w,name  "wait.time"
+	-w,default  0
+	-w,param "wait-ms"
+	-w,desc  "the time in msec to wait from receiving the response to the next send"
+	-w,regexp   "integer.nonneg.==1"
+	-w,error "-E-argv:not.nonneg.integer"
+	-w,maxvalue "1000000"
+
+	-h,name  "help"
+	-h,desc  "Prints this help information"
+	-h,longflag "--help"
+
+	-V,name  "version"
+	-V,desc  "Prints the version of the tool"
+	-V,longflag "--version"
+
+	--vars,name "version"
+	--vars,desc "Prints the tool's environment variables and their values"
+    }
+
+    ### Edit InfoArgv with params
+    set InfoArgv(-skip,regexp) ^(([join $G(var:list.skip.steps) )|(]))$
+    set tmpReg "=(0x)?0*\[a-fA-F0-9\]+"
+    set InfoArgv(-P,regexp) "^(([ join $G(var:list.pm.counter) $tmpReg)|( ])$tmpReg)$"
+
+    ### Some changes from the default definitions
+    # (e.g., for ibdiagpath, since it recieves addresses of two ports...)
+    switch -exact -- $G(var:tool.name) {
+	"ibdiagui"  -
+	"ibdiagnet" {
+	    array set InfoArgv {
+		-c,desc     "The minimal number of packets to be sent across each link"
+
+		-pm,desc "Dumps all pmCounters values into ibdiagnet.pm"
+		-wt,desc "Write out a topology file for the discovered topology"
+	    }
+	}
+	"ibdiagpath" {
+	    array set InfoArgv {
+		-d,desc "directed route from the local node (which is the source) and the destination node"
+
+		-pm,desc "Dumps all pmCounters values into ibdiagpath.pm"
+
+		-l,param "\[src-lid,\]dst-lid"
+		-l,desc  "Source and destination LIDs (source may be omitted -> local port is assumed to be the source)"
+		-l,regexp   "integer.pos.>=1&<=2"
+		-l,error "-E-argv:not.pos.integers"
+
+		-n,param "\[src-name,\]dst-name"
+		-n,regexp   {^([^ ,]+,)?[^ ,]+$}
+
+		-v,desc  "Provide full verbosity about the checks performed on every port"
+
+		-c,default  100
+		-c,desc  "The number of packets to be sent from source to destination nodes"
+	    }
+	    set InfoArgv(-n,desc)    "Names of the source and destination ports "
+	    append InfoArgv(-n,desc) "(as defined in the topology file; source may be omitted "
+	    append InfoArgv(-n,desc) "-> local port is assumed to be the source)"
+	}
+	"ibsac" {
+	    set InfoArgv(-m,desc) "method to be used - either get or gettable"
+	    set InfoArgv(-a,desc) "the specific attribute to send"
+	}
+	"ibcfg"     {
+	    array set InfoArgv {
+		-c,name "config.mode"
+		-c,default ""
+		-c,param "cmd"
+		-c,desc  "defines the command to be executed"
+		-c,regexp "cmd.name"
+		-c,arglen "1.."
+		-c,error  "cmd"
+	    }
+	}
+	"ibping"    {
+	    set InfoArgv(-c,desc) "the total number of packets to be sent"
+	    set InfoArgv(-c,default) 100
+	}
+	default {
+	}
+    }
+}
+
+proc UpdateInfoArgv_Win {} {
+    ### Define here new directory path, when installing for windows
+    global tcl_platform env InfoArgv
+    if {[info exists tcl_platform(platform)] } {
+	switch -exact -- $tcl_platform(platform) {
+	    "windows" {
+		if {[info exists env(Temp)]} {
+		    set InfoArgv(-o,default) $env(Temp)
+		} elseif {[info exists env(Tmp)]} {
+		    set InfoArgv(-o,default) $env(Tmp)
+		} else {
+		    set InfoArgv(-o,default) "\tmp"
+		}
+	    }
+	}
+    }
+    return 0
+}
+
+proc UpdateInfoArgv_Pkg {_flagInfo _flag} {
+    global G InfoArgv TOOLS_FLAGS
+
+    set toolNameIndx [lsearch  $_flagInfo "*,tool.name *"]
+    if {$toolNameIndx == -1} {
+	return -1
+    }
+    set listOfTools [lrange [lindex $_flagInfo $toolNameIndx] 1 end]
+    set flag [string trimleft $_flag -]
+    foreach toolName $listOfTools {
+	if {![info exists TOOLS_FLAGS($toolName)]} {
+	    return -1
+	}
+    }
+
+    set res 1
+    foreach listEntry $_flagInfo {
+	if {[llength $listEntry] < 2} {
+	    continue
+	}
+	set arrayEntry [lindex $listEntry 0]
+	if {($arrayEntry == "$_flag,tool.name") || ($arrayEntry == "$_flag,proc.info")} {
+	    continue
+	}
+	set arrayInfo [lrange $listEntry 1 end]
+
+	if {[info exists InfoArgv($arrayEntry)]} {
+	    continue
+	}
+	set res 0
+	set InfoArgv($arrayEntry) $arrayInfo
+    }
+    return $res
+}
+
+proc SetToolsFlags {} {
+    # Flags encompassed in ( ) are mandatory.
+    # If a few flags are thus encompassed, then they are mutex
+    global TOOLS_FLAGS
+    array set TOOLS_FLAGS {
+	ibping     "(n|l|d) . c w v o     . t s i p "
+	ibdiagpath "(n|l|d) . c   v o smp . t s i p    . pm pc P . lw ls sl ."
+	ibdiagui   "          c   v r o   . t s i p    . pm pc P . lw ls ."
+	ibdiagnet  "          c   v r o   . t s i p wt . pm pc P . lw ls    . skip load_db csv"
+	ibcfg    "(n|l|d) (c|q)       . t s i p o"
+	ibmad    "(m) (a) (n|l|d)     . t s i p o ; (q) a"
+	ibsac    "(m) (a) k           . t s i p o ; (q) a"
+
+	envVars     "t s i p o load_db"
+	general     "h V -vars"
+    }
+}
+
+proc UpToolsFlags {_flag _tool} {
+    global TOOLS_FLAGS
+    if {![info exists TOOLS_FLAGS($_tool)]} {
+	return 1
+    } else {
+	append TOOLS_FLAGS($_tool) " $_flag"
+	return 0
+    }
+}
+
+proc GetToolsFlags { tool } {
+    global TOOLS_FLAGS
+    if {[info exists TOOLS_FLAGS($tool)]} {
+	return $TOOLS_FLAGS($tool)
+    }
+    return ""
+}
+
+proc HighPriortyFlag {} {
+    global argv
+    ### If help is needed ...
+    if { [BoolWordInList "-h" $argv] || [BoolWordInList "--help" $argv] } {
+	inform "-H-help"
+    }
+    ### Output the application version
+    if { [BoolWordInList "-V" $argv] || [BoolWordInList "--version" $argv] } {
+	inform "-H-version"
+    }
+    ### List all env-var names
+    if { [BoolWordInList "--vars" $argv] } {
+	inform "-H-vars"
+    }
+}
+
+proc SetDefaultValues {} {
+    global G argv env InfoArgv
+    foreach entry [array names InfoArgv "*,default"] {
+	set flag [lindex [split $entry ,] 0]
+	if {[catch { set name $InfoArgv($flag,name)}]} { continue; }
+	if { $InfoArgv($entry) != "" } {
+	    set G(argv:$name) $InfoArgv($entry)
+	}
+    }
+}
+
+proc SetEnvValues {} {
+    global G argv env InfoArgv
+    foreach flag [GetToolsFlags envVars]  {
+	set name $InfoArgv(-$flag,name)
+	set envVarName "IBDIAG_[string toupper [join [split $name .] _]]"
+	if { ! [info exists env($envVarName)] } { continue; }
+	if { $env($envVarName) == "" } { continue; }
+	set G(argv:$name) $env($envVarName)
+    }
+}
+
+######################################################################
+### parsing the command-line arguments
+######################################################################
+proc ParseArgv {} {
+    global G argv env InfoArgv
+
+    ### For help/version/vars requests
+    HighPriortyFlag
+
+    ### Setting default values for command-line arguments
+    SetDefaultValues
+
+    ### Define flags values by means of environment variables
+    SetEnvValues
+
+    ## Command line check - Test1.0: for the case when there are two different operatinal
+    # modes of the tool like the case is for ibmad,ibsac
+    set toolsFlags [join [split [GetToolsFlags $G(var:tool.name)] "." ]]
+
+    foreach section [split $toolsFlags ";" ] {
+	foreach item $section {
+	    if { ! [regexp {\(} $item] } { continue; }
+	    if { [regsub -all " $item " " $argv " {} .] == 0 } {
+		catch { unset infoFlags }
+		break;
+	    }
+	    if {[info exists infoFlags]} {
+		if { $infoFlags != $section } {
+		    set tmpFlags [list [join [lindex $infoFlags 0] [lindex $section 0]]]
+		    inform "-E-argv:nonmutex.flags" -flags $tmpFlags
+		}
+	    }
+	    set infoFlags $section
+	}
+    }
+
+    if { ! [info exists infoFlags] } {
+	set infoFlags [lindex [split $toolsFlags ";" ] 0]
+    }
+
+    ## Command line check - Test2.0: for duplicated flags, and mandetory option
+    foreach item $infoFlags {
+	set mandatory [regsub -all {[()]} $item "" item]
+	set litem "-[join [split $item |] " -"]"
+	set mutexList ""
+	foreach arg $argv {
+	    append mutexList " " [lindex $litem [lsearch -exact $litem $arg]]
+	}
+	set mutexList [lsort $mutexList]
+	for { set i 0 } { $i < [llength $mutexList] } { incr i } {
+	    if { [lindex $mutexList $i] == [lindex $mutexList [expr $i+1]] } {
+		inform "-E-argv:flag.twice.specified" -flag [lindex $mutexList $i]
+	    }
+	}
+	if { [llength $mutexList] > 1 } {
+	    inform "-E-argv:nonmutex.flags" -flags $mutexList
+	}
+	if { ( [llength $mutexList] == 0 ) && $mandatory } {
+	    inform "-E-argv:missing.mandatory.flag" -flag [list $litem]
+	}
+    }
+
+    set argvList $argv
+
+    regsub -all {[()|]} $infoFlags " " allLegalFlags
+    set allLegalFlags "-[join $allLegalFlags { -}]"
+
+    while { [llength $argvList] > 0 } {
+	set flag  [lindex $argvList 0]
+	set value [lindex $argvList 1]
+
+	if { ! [BoolWordInList $flag $allLegalFlags] } {
+	    inform "-E-argv:unknown.flag" -flag $flag
+	}
+	set argvList [lreplace $argvList 0 0]
+	if {[BoolWordInList $flag $argvList]} {
+	    inform "-E-argv:flag.twice.specified" -flag $flag
+	}
+
+	set arglen 1
+	catch { set arglen $InfoArgv($flag,arglen) }
+	if { [llength $argvList] == 0 && ![regexp {^0} $arglen] } {
+	    inform "-E-argv:flag.without.value" -flag $flag
+	}
+
+	### Checking values validity and setting G(argv:$name) - the flag's value
+	set regexp 1
+	if { [regexp {^0} $arglen] && [regexp {^\-} $value] } {
+	    set value ""
+	} elseif {[info exists InfoArgv($flag,regexp)]} {
+	    scan [split $InfoArgv($flag,regexp) .] {%s %s %s} regType sign len
+	    switch $regType {
+		"file" {
+		    scan [split $InfoArgv($flag,regexp) .] {%s %s %s} regType state attributes
+		    set attributes [split $attributes ,]
+		    set fn $value
+		    #set fn [file normalize $value]
+		    if {$state == "exists"} {
+			if { ! [file isfile $fn] } {
+			    inform "-E-argv:file.not.found" -flag $flag -value $fn
+			}
+		    }
+		    foreach attribute $attributes {
+			switch $attribute {
+			    "readable" -
+			    "writable" {
+				if {![file $attribute $fn]} {
+				    inform "-E-argv:file.not.$attribute" -flag $flag -value $fn
+				}
+			    }
+			    "not_readable" -
+			    "not_writable" {
+				set attribute [lindex [split $attribute _] end]
+				if {![file $attribute $fn]} {
+				    inform "-E-argv:file.not.$attribute" -flag $flag -value $fn
+				}
+			    }
+			}
+		    }
+		}
+		"integer" {
+		    ### Turn values like 010 into 10 (instead of the tcl value - 8)
+		    set int "(0x)?0*(\[a-fA-F0-9\]+)"
+		    set valuesList [split $value ","]
+		    ### Checking if length of integers list is OK
+		    foreach condition [split $len &] {
+			if { ! [expr [llength $valuesList] $condition] } {
+			    inform "$InfoArgv($flag,error)" -flag $flag -value $value
+			}
+		    }
+		    ### Checking that all items in list are integers
+		    set formattedValue ""
+		    if {[catch { set maxValue $InfoArgv($flag,maxvalue) }]} {
+			set maxValue $G(var:maximal.integer)
+		    }
+		    if {[catch { set minValue $InfoArgv($flag,minvalue) }]} {
+			set minValue $G(var:minimal.integer)
+		    }
+		    foreach item $valuesList {
+			### Special case: I allow the command -d ""
+			if { ( [llength [join $item]] == 0 ) && ( [llength $valuesList] == 1 ) } {
+			    break;
+			}
+			if {[catch {format %x $item} err]} {
+			    if {[regexp "integer value too large to represent" $err]} {
+				inform "-E-argv:too.large.integer" -flag $flag -value $value
+			    } else {
+				inform "$InfoArgv($flag,error)" -flag $flag -value $value
+			    }
+			}
+			if {[string length $item] > [string length $G(var:maximal.integer)]} {
+			    inform "-E-argv:too.large.integer" -flag $flag -value $value
+			}
+			if { ! [regsub "^$int$" $item {\1\2} item] } {
+			    inform "$InfoArgv($flag,error)" -flag $flag -value $value
+			}
+			if { $sign == "pos" && $item == 0 } {
+			    inform "$InfoArgv($flag,error)" -flag $flag -value $value
+			}
+			if {$item > $maxValue} {
+			    inform "-E-argv:too.large.value" -flag $flag -value $value -maxValue $maxValue
+			}
+			if {$item < $minValue} {
+			    inform "-E-argv:too.small.value" -flag $flag -value $value -minValue $minValue
+			}
+			lappend formattedValue [format %d $item]
+		    }
+		    set value [join $formattedValue ,]
+		}
+		default {
+		    set regexp [regexp $InfoArgv($flag,regexp) "$value"]
+		    if {!$regexp} {
+			inform "$InfoArgv($flag,error)" -flag $flag -value $value
+		    }
+		}
+	    }
+	}
+	set name $InfoArgv($flag,name)
+	# DZ: bug remove it :set G(argv:$name) ""
+	if { ($arglen == "1..") || ($arglen > 1) } {
+	    if { [set next_flagIndx [lsearch -regexp $argvList {^\-}]] == -1 } {
+		set next_flagIndx [llength $argvList]
+	    }
+	    append G(argv:$name) " " [lindex $argvList 0]
+	    set argvList [lreplace $argvList 0 0]
+	    if {$next_flagIndx > 1} {
+		set argvList [concat $flag $argvList]
+	    }
+	} elseif { $arglen == "0" || ( ( $arglen == "0..1" ) && ( ( $regexp==0 ) || ( $value=="" ) ) ) } {
+	    set G(argv:$name) 1
+	} elseif { $regexp } {
+	    set G(argv:$name) "$value"
+	    set argvList [lreplace $argvList 0 0]
+	} else {
+	    inform "$InfoArgv($flag,error)" -flag $flag -value $value
+	}
+    }
+
+    ## Command line check - Test3.0: If we are using direct-route addressing,
+    # the output port of the direct route must not disagree with the
+    # local port number (if specified).
+    # If the latter was not specified, it is set to be the former.
+    # Need to check for -i flag also, however those two still need to match
+    if {[info exists G(argv:direct.route)]} {
+	set drOutPort [lindex [split $G(argv:direct.route) ","] 0]
+	if { $drOutPort == "" } {
+	    # do nothing
+	} elseif {[info exists G(argv:port.num)]} {
+	    if { $drOutPort != $G(argv:port.num) } {
+		inform "-E-argv:disagrees.with.dir.route" -value $G(argv:port.num) -port $drOutPort
+	    }
+	} else {
+	    set G(argv:port.num) $drOutPort
+	    set G(-p.set.by.-d) 1
+	}
+    }
+
+    ## Command line check - Test4.0: directories and files
+    if {[info exists G(argv:out.dir)]} {
+	set dir $G(argv:out.dir)
+	### Special deal for windows
+	global tcl_platform
+	if {[info exists tcl_platform(platform)] } {
+	    switch -exact -- $tcl_platform(platform) {
+		"windows" {
+		    regsub -all \"  $dir "" dir
+		}
+	    }
+	}
+	if { ! [file isdirectory $dir] } {
+	    if {[catch {file mkdir $dir} msg] } {
+		inform "-E-argv:could.not.create.dir" -flag "-o" -value $dir -errMsg [list $msg]
+	    }
+	} elseif { ! [file writable $dir] } {
+	    inform "-E-argv:dir.not.writable" -flag "-o" -value $dir
+	}
+	foreach extention $G(var:list.files.extention) {
+	    set G(outfiles,.${extention}) [file join $dir $G(var:tool.name).${extention}]
+	}
+    }
+
+    ## Command line check - Test5.0: log file
+    if {[catch {set G(logFileID) [open $G(outfiles,.log) w]} errMsg]} {
+	inform "-E-loading:cannot.open.file" $G(outfiles,.log) -fn $G(outfiles,.log) -errMsg $errMsg
+    }
+
+    ## Command line check - Test6.0: If topology is not given and -s/-n  flags are specified
+    if { ! [info exists G(argv:topo.file)]  } {
+	if {[info exists G(argv:sys.name)]} {
+	    inform "-W-argv:-s.without.-t"
+	}
+	if {[info exists G(argv:by-name.route)]} {
+	    inform "-E-argv:nodename.without.topology" -value $G(argv:by-name.route)
+	}
+	inform "-W-argv:no.topology.file"
+	## Command line check - Test7.0: If topology is given, check that $G(argv:by-name.route)
+	# are names of existing nodes we do the same for G(argv:sys.name),
+	# after ibis_init - to search for sys.name in the description of the source node.
+    } else {
+	set topoFile $G(argv:topo.file)
+	if { ! [file isfile $topoFile] } {
+	    inform "-E-argv:file.not.found" -flag "-t" -value $topoFile
+	} elseif { ! [file readable $topoFile] } {
+	    inform "-E-argv:file.not.readable" -flag "-t" -value $topoFile
+	}
+    }
+
+    return
+}
+##############################
+
+######################################################################
+### User messages
+######################################################################
+
+proc SummaryMessage {} {
+    global G
+    if {$G(status:summary.headr) != 0} {
+	set prevHeadr $G(status:summary.headr)
+	set warns $G(status:summary.warn)
+	set errs  $G(status:summary.errs)
+	append G(status:summary.text) \
+	    [format "    %-40s %-6d %-6d\n" $prevHeadr $errs $warns]
+	set G(status:summary.errs) 0
+	set G(status:summary.warn) 0
+    }
+    puts "----------------------------------------------------------------"
+    puts "-I- Stages Status Report:"
+    puts [format "    %-40s %-6s %-6s" STAGE Errors Warnings]
+    puts $G(status:summary.text)
+    puts "Please see $G(outfiles,.log) for complete log"
+    puts "----------------------------------------------------------------"
+}
+
+##############################
+proc PutsIn80Chars { string args } {
+    global G
+    set maxLen 80
+    set indent ""
+    if { [llength $args] == 1 } { set args [join $args] }
+    set chars       [GetWordAfterFlag $args "-chars"]
+    set nonewline   [BoolWordInList "-nonewline" $args]
+    if {[BoolWordInList "-length" $args]} {
+	set maxLen [GetWordAfterFlag $args "-length"]
+    }
+    foreach line [split $string \n] {
+	if { $chars != "" } {
+	    if { [set idx [string first $chars $line]] >= 0 } {
+		set indent "[string range $line 0 [expr $idx -1]]$chars"
+		set line [string range $line [expr $idx+[string length $chars]] end]
+	    }
+	} else {
+	    regexp {^(-[A-Z]- ?| +)(.*)$} $line . indent line
+	}
+	set outline "$indent"
+	set indent [Bar " " [string length $indent]]
+	set len80 [expr $maxLen - [string length $indent]]
+	while { [string length $line] > 0 } {
+	    set interval [string range $line 0 $len80]
+	    if { [BoolWordInList "-origlen" $args] \
+		     || ( [string length $line] <= $len80 ) \
+		     || ( [set spcIndx [string last " " $interval]] == -1 ) } {
+		append outline "$line"
+		break;
+	    } else {
+		append outline "[string range $line 0 [expr $spcIndx -1]]\n$indent"
+		set line [string range $line [expr $spcIndx +1] end]
+	    }
+	}
+	if { ![BoolWordInList "-NoStdout" $args] } {
+	    if {$nonewline} {
+		puts -nonewline $outline
+	    } else {
+		puts $outline
+	    }
+	}
+	if { ![BoolWordInList "-NoLogFile" $args] } {
+	    if {$nonewline} {
+		catch { puts -nonewline $G(logFileID) $outline }
+	    } else {
+		catch { puts $G(logFileID) $outline }
+	    }
+	}
+    }
+}
+##############################
+
+##############################
+proc retriveEntryFromArray {_arrayName _entry {_defMsg "UNKNOWN"}} {
+    upvar 1 $_arrayName tmpArray
+    if {[info exists tmpArray($_entry)]} {
+	set res $tmpArray($_entry)
+	return $res
+    } else {
+	return $_defMsg
+    }
+}
+##############################
+
+##############################
+proc inform { msgCode args } {
+    global G InfoArgv argv env ibdiagSourceVersion CSV_ERRORS
+    regexp {^(\-[A-Z]\-)?([^:]+):?(.+)?$} $msgCode . msgType msgSource msgDesc
+
+    if { $msgType == "-V-" } {
+	if { ![info exists G(argv:verbose)] } {
+	    return
+	}
+	set dontShowMads \
+	    [expr ( \"[ProcName 1]\" == \"DiscoverFabric\" ) \
+		 && ( \"$G(var:tool.name)\" != \"ibdiagnet\" ) \
+		 && ( ![info exists G(argv:verbose)] ) ]
+    }
+
+    catch {unset CSV_scope}
+    catch {unset CSV_severity}
+
+    if {! [info exist G(status:high.priorty)]} {
+	### Setting Error Codes
+	set G(status:high.priorty)       0
+	set G(status:discovery.failed)   1
+	set G(status:illegal.flag.value) 2
+	set G(status:ibis.init)          3
+	set G(status:root.port.get)      4
+	set G(status:topology.failed)    5
+	set G(status:loading)            6
+	set G(status:crash)              7
+	# Summary generation
+	set G(status:summary.text) ""
+	set G(status:summary.errs) 0
+	set G(status:summary.warn) 0
+	set G(status:summary.headr) 0
+    }
+
+    ##################################################
+    ### When general tool's info is requested (help page, version num etc.)
+    if { $msgType == "-H-" } {
+	switch -exact -- $msgCode {
+	    "-H-help" {
+		showHelpPage
+	    } "-H-version" {
+		append msgText "-I- $G(var:tool.name) version $G(var:version.num) source $ibdiagSourceVersion"
+	    } "-H-vars" {
+		append msgText "-I- $G(var:tool.name) environment variabls:"
+		foreach flag [GetToolsFlags envVars]  {
+		    set name $InfoArgv(-$flag,name)
+		    set envVarName  IBDIAG_[string toupper [join [split $name .] _]]
+		    append msgText "\n    $envVarName \t"
+		    if {[catch {append msgText "$env($envVarName)"}]} {
+			append msgText "not set"
+		    }
+		}
+	    }
+	}
+	catch { PutsIn80Chars $msgText }
+	exit $G(status:high.priorty)
+    }
+    set argsList $args
+
+    array set msgF {}
+    while { [llength $argsList] > 0 } {
+	if {[regsub "^-" [lindex $argsList 0] "" param]} {
+	    set value [lindex $argsList 1]
+	    ### Not [join $value] - because of -I-ibdiagnet:bad.link
+	    set msgF($param) $value ;
+	    set argsList  [lreplace $argsList 0 1]
+	} else {
+	    set argsList  [lreplace $argsList 0 0]
+	}
+    }
+    set listOfNames ""
+    set listOfNames_Ports ""
+    set listOfNames_EntryPorts ""
+
+    set maxType 6
+    set total 0
+    set localDevice 0
+    array set deviceNames { SW "Switch" CA "HCA" Rt "Router" }
+    foreach entry [lsort [array names msgF DirectPath*]] {
+	set i $total
+	incr total
+	if {[catch {set NODE($i,Type) [GetParamValue Type $msgF($entry)]}]} {
+	    set NODE($i,Type) ""
+	    set NODE($i,FullType) ""
+	} else {
+	    set NODE($i,FullType) [GetDeviceFullType $NODE($i,Type)]
+	}
+	if {[catch {set NODE($i,PortGUID) [GetParamValue PortGUID $msgF($entry)]}]} {
+	    set NODE($i,PortGUID) ""
+	}
+	set PATH($i) [ArrangeDR $msgF($entry)]
+	set NODE($i,EntryPort) [GetEntryPort $msgF($entry)]
+	if {[info exists msgF(port${i})]} {
+	    set NODE($i,EntryPort) $msgF(port${i})
+	}
+
+	set DrPath2Name_1 [DrPath2Name $msgF($entry) -fullName]
+	set DrPath2Name_2 [DrPath2Name $msgF($entry)]
+
+	if {$NODE($i,Type) == "SW"} {
+	    set DrPath2Name_3 [DrPath2Name $msgF($entry) -port 0]
+	} else {
+	    set DrPath2Name_3 [DrPath2Name $msgF($entry) -port $NODE($i,EntryPort)]
+	}
+
+	set DrPath2Name_4 [DrPath2Name $msgF($entry) -port $NODE($i,EntryPort)]
+	set DrPath2Name_5 [DrPath2Name $msgF($entry) -nameLast -fullName -port $NODE($i,EntryPort)]
+	set DrPath2Name_6 [DrPath2Name $msgF($entry) -nameLast -fullName]
+
+	if { $msgF($entry) == "" } {
+	    set NODE($i,FullName)       "$G(var:desc.local.dev) $DrPath2Name_1"
+	    set NODE($i,Name)           "$G(var:desc.local.dev) \"$DrPath2Name_2\""
+	    set NODE($i,Name_Port)      "$G(var:desc.local.dev) \"$DrPath2Name_3\""
+	    set NODE($i,Name_EntryPort) "$G(var:desc.local.dev) \"$DrPath2Name_4\""
+	    set NODE($i,FullNamePort_Last)  "$DrPath2Name_5"
+	    set NODE($i,FullName_Last)  "$DrPath2Name_6"
+	    set localDevice 1
+	} else {
+	    set NODE($i,FullName)       "$DrPath2Name_1"
+	    set NODE($i,Name)           "\"$DrPath2Name_2\""
+	    set NODE($i,Name_Port)      "\"$DrPath2Name_3\""
+	    set NODE($i,Name_EntryPort) "\"$DrPath2Name_4\""
+	    set NODE($i,FullNamePort_Last)  "$DrPath2Name_5"
+	    set NODE($i,FullName_Last)  "$DrPath2Name_6"
+	}
+
+	if {$DrPath2Name_2 == ""} {
+	    set NODE($i,Name) ""
+	    if {$NODE($i,Type) != "SW"} {
+		set NODE($i,Name_Port) "$DrPath2Name_3"
+	    } else {
+		set NODE($i,Name_Port) ""
+	    }
+	}
+
+	lappend listOfNames $NODE($i,Name)
+	lappend listOfNames_Ports $NODE($i,Name_Port)
+	lappend listOfNames_EntryPorts $NODE($i,Name_EntryPort)
+    }
+    set maxName [GetLengthMaxWord $listOfNames]
+    if {[info exists msgF(maxName)]} {
+	set maxName  $msgF(maxName)
+    }
+    set maxName_Port [GetLengthMaxWord $listOfNames_Ports]
+    if {[info exists msgF(maxName_Port)]} {
+	set maxName_Port  $msgF(maxName_Port)
+    }
+    set maxName_EntryPort [GetLengthMaxWord $listOfNames_EntryPorts]
+
+    for {set i 0} {$i < $total } {incr i} {
+	set NODE($i,FullType,Spaces)        [AddSpaces $NODE($i,FullType) $maxType]
+	set NODE($i,Name,Spaces)            [AddSpaces $NODE($i,Name) $maxName]
+	set NODE($i,Name_Port,Spaces)       [AddSpaces $NODE($i,Name_Port) $maxName_Port]
+	set NODE($i,Name_EntryPort,Spaces)  [AddSpaces $NODE($i,Name_EntryPort) $maxName_EntryPort]
+    }
+    if {[info exists msgF(flag)]} {
+	set name  ""
+	catch { set name $InfoArgv($msgF(flag),name) }
+	set envVarName "IBDIAG_[string toupper [join [split $name .] _]]"
+	if {[BoolWordInList "$msgF(flag)" $argv]} {
+	    set llegalValMsg "llegal value for $msgF(flag) option"
+	} elseif {[info exists env($envVarName)]} {
+	    set llegalValMsg "llegal value for environment variable $envVarName"
+	} elseif { ( $msgCode == "-E-localPort:port.not.found" ) && \
+		       [info exists G(argv:direct.route)] } {
+	    set msgCode "-E-localPort:illegal.dr.path.out.port"
+	} elseif { ( $msgCode == "-E-localPort:port.not.found.in.device" ) && \
+		       [info exists G(argv:direct.route)] } {
+	    set msgCode "-E-localPort:illegal.dr.path.out.port"
+	} else {
+	    set llegalValMsg ""
+	}
+    }
+    set validNames ""
+    if {[info exists msgF(names)]} {
+	set validNames "[lsort -dictionary $msgF(names)]"
+	if { [llength $validNames] > 0 } {
+	    set validNames "Valid %s names are:\n${validNames}"
+	}
+    }
+    if {[info exists G(argv:failed.retry)] && [info exists G(var:badpath.maxnErrors)]} {
+	set numOfRetries [expr $G(argv:failed.retry) + $G(var:badpath.maxnErrors)]
+    } else {
+	set numOfRetries "DannyZarko"
+    }
+    set rumSMmsg "To use lid-routing, an SM should be ran on the fabric."
+    set bar "${msgType}[Bar - 50]"
+    set putsFlags ""
+    set msgText "$msgType "
+    set headerText ""
+
+    ### Decoding msgCode
+    switch -exact -- $msgCode {
+	"-E-argv:unknown.flag" {
+	    append msgText "Illegal argument: Unknown option $msgF(flag)."
+	}
+	"-E-argv:missing.mandatory.flag" {
+	    if { [llength [join $msgF(flag)]] > 1 } {
+		append msgText "Illegal argument: Missing one of the mandatory options: [join [join $msgF(flag)] ,]."
+	    } else {
+		append msgText "Illegal argument: Missing a mandatory option $msgF(flag)."
+	    }
+	}
+	"-E-argv:flag.without.value" {
+	    append msgText "Illegal argument: Option $msgF(flag) requires an argument."
+	}
+	"-E-argv:flag.twice.specified" {
+	    append msgText "Illegal argument: Option $msgF(flag) is specified twice."
+	}
+	"-E-argv:nonmutex.flags" {
+	    append msgText "Illegal argument: Options are mutually exclusive [join [join $msgF(flags)] ,]."
+	}
+	"-E-argv:nonmutex.modes" {
+	    append msgText "Bad arguments; could not figure out the run mode."
+	}
+	"-E-argv:too.large.integer" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "Integer value too large to represent."
+	}
+	"-E-argv:not.nonneg.integer" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: a non negative integer number)."
+	}
+	"-E-argv:not.pos.integer" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: a positive integer number)."
+	}
+	"-E-argv:not.pos.integers" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: one or two positive integer numbers, separated by a comma)."
+	}
+	"-E-argv:too.large.value" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    switch -exact -- $msgF(flag) {
+		"-d"    { append msgText "(Legal value: maximal legal port number is [expr $msgF(maxValue)])." }
+		"-l"    { append msgText "(Legal value: maximal legal LID is $msgF(maxValue))." }
+		default { append msgText "(Legal value: maximal legal value is $msgF(maxValue))." }
+	    }
+	}
+	"-E-argv:too.small.value" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    switch -exact -- $msgF(flag) {
+		default { append msgText "(Legal value: minimal legal value is $msgF(minValue))." }
+	    }
+	}
+	"-E-argv:bad.path" {
+	    append msgText "Illegal argument: I${llegalValMsg}: \"$msgF(value)\"%n"
+	    append msgText "(Legal value: a direct path, positive integers separated by commas)."
+	}
+	"-E-argv:dir.not.found" {
+	    # TODO: do I ever use this ???
+	    append msgText "$msgF(value) - no such directory.%n"
+	    append msgText "I${llegalValMsg} (must be an existing directory)."
+	}
+	"-E-argv:could.not.create.dir" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "Failed to create directory: $msgF(value) (for output files).%n"
+	    append msgText "Error message:%n\"$msgF(errMsg)\""
+	}
+	"-E-argv:file.not.found" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "No such file."
+	}
+	"-E-argv:dir.not.writable" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "Directory is write protected."
+	    if { $llegalValMsg == "" } {
+		append msgText "%n(Use the -o option to use a different directory"
+		append msgText " for the output files)"
+	    }
+	}
+	"-E-argv:file.not.readable" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "File is read protected."
+	}
+	"-E-argv:file.not.writable" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "File is write protected."
+	}
+	"-E-argv:bad.sys.name" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "No such system in the specified topology file : $G(argv:topo.file)%n"
+	    if {$validNames == ""} {
+		append msgText "The topology file : \"$G(argv:topo.file)\" may be currupted."
+	    } else {
+		append msgText "[format $validNames system]"
+	    }
+	}
+	"-E-argv:unknown.sys.name" {
+	    append msgText "Illegal argument: Local system name was not specified.%n"
+	    append msgText "It must be specified when using a topology file.%n"
+	    if {$validNames == ""} {
+		append msgText "the topology file : \"$G(argv:topo.file)\" may be currupted."
+	    } else {
+		append msgText "[format $validNames system]"
+	    }
+	}
+	"-E-argv:bad.node.name" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Lagel value: one or two Nodes names separated by a comma)."
+	    if {[format $validNames node] != ""} {
+		append msgText "%n[format $validNames node]"
+	    }
+	}
+	"-E-argv:nodename.without.topology" {
+	    append msgText "Illegal argument: If node(s) are specified by name :\"$msgF(value)\""
+	    append msgText " then a topology file must be given."
+	}
+	"-E-argv:disagrees.with.dir.route" {
+	    append msgText "Illegal argument: Conflicting route source ports ($msgF(port) != $msgF(value))%n"
+	    append msgText "MADs may be sent only through the local port."
+	}
+	"-E-argv:not.legal.link.width" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: 1x | 4x | 12x)."
+	}
+	"-E-argv:not.legal.link.speed" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: 2.5 | 5 | 10)."
+	}
+	"-E-argv:not.legal.PM" {
+	    set pmCounterList "\t[join $G(var:list.pm.counter) %n\t]"
+
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    if {[info exists msgF(duplicatePM)]} {
+		append msgText "PM: \"$msgF(duplicatePM)\" is specified twice.%n"
+		append msgText "(Legal value: one or more \"<PM counter>=<Thresh Limit>\" )."
+	    } else {
+		append msgText "(Legal value: one or more \"<PM counter>=<Thresh Limit>\" ).%n"
+		append msgText "Legal PM Counter names are: %n$pmCounterList."
+	    }
+	}
+	"-E-argv:not.legal.skip" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "(Legal value: dup_guids | zero_guids | pm | logical_state | part | ipoib | all)."
+	}
+        "-E-argv:specified.port.not.connected" {
+	    append msgText "Topology parsing: Invalid value for $msgF(flag) : $msgF(value)%n"
+	    append msgText "The specified port is not connected to The IBFabric.%n"
+	    append msgText "(described in : $G(argv:topo.file))"
+	}
+	"-E-argv:hca.no.port.is.connected" {
+	    append msgText "Topology parsing: Invalid value for $msgF(flag) : $msgF(value)%n"
+	    append msgText "None of the ports of $msgF(type) : \"$msgF(value)\" "
+	    append msgText "is connected to The IBFabric.%n(described in : $G(argv:topo.file))"
+	}
+        "-E-argv:bad.port.name" {
+	    append msgText "$msgF(value) - no such port. I${llegalValMsg}.%n"
+	    append msgText "[format $validNames port]"
+	}
+	"-E-argv:no.such.command" {
+	    append msgText "\"$msgF(command)\" - no such command."
+	}
+	"-E-argv:command.not.valid.for.device" {
+	    append msgText "Command \"$msgF(command)\" is not valid for device $msgF(device)."
+	}
+	"-E-argv:no.such.field" {
+	    append msgText "\"$msgF(errorCode)\" - illegal field for command \"$msgF(command)\"."
+	}
+	"-E-argv:illegal.field.value" {
+	    append msgText "\"$msgF(value)\" - illegal value for field "
+	    append msgText "\"$msgF(field)\" (must be $msgF(legal))."
+	}
+	"-E-argv:illegal.integer.value" {
+	    append msgText "\"$msgF(value)\" - illegal value for field "
+	    append msgText "\"$msgF(field)\" (must be an integer)."
+	}
+	"-E-argv:illegal.port.value" {
+	    append msgText "$msgF(value) - illegal port value "
+	    append msgText "(must be an integer 1..$msgF(ports))."
+	}
+	"-E-argv:missing.fields" {
+	    append msgText "The field(s) -[join $msgF(field) ,-] "
+	    append msgText "must be specified for the command $msgF(command)."
+	}
+	"-E-argv:fail.to.parse.flag" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(cmdLine)%n"
+	    append msgText "Flag is provided by external package"
+	}
+        "-W-argv:-s.without.-t" {
+	    append msgText "Local system name is specified, but topology "
+	    append msgText "is not given. The former is ignored."
+	}
+	"-W-argv:no.topology.file" {
+	    append msgText "Topology file is not specified.%n"
+	    append msgText "Reports regarding cluster links will use direct routes."
+	}
+        "-W-argv:hca.many.ports.connected" {
+	    append msgText "Topology parsing: A few ports of $msgF(type) : \"$msgF(value)\" "
+	    append msgText "are connected to the IBFabric (described in : $G(argv:topo.file))%n"
+	    append msgText "Port number : $msgF(port) will be used."
+	}
+
+
+	"-E-ibis:ibis_init.failed" {
+	    append msgText "IBIS: Error from ibis_init: \"$msgF(errMsg)\""
+	}
+	"-E-ibis:ibis_get_local_ports_info.failed" {
+	    append msgText "IBIS: Error from ibis_get_local_ports_info: \"$msgF(errMsg)\""
+	}
+	"-E-ibis:no.hca" {
+	    append msgText "IBIS: No HCA was found on local machine."
+	}
+	"-E-ibis:could.not.create.directory" {
+	    append msgText "IBIS: Failed to create directory (for ibis log file): $msgF(value).%n"
+	    append msgText "Error message:%n\"$msgF(errMsg)\""
+	}
+	"-E-ibis:directory.not.writable" {
+	    append msgText "IBIS: The following directory (for ibis log file) is write protected: $msgF(value)."
+	}
+	"-E-ibis:file.not.writable" {
+	    append msgText "IBIS: The following file is write protected: $msgF(value)%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
+	"-V-ibis:ibis_get_local_ports_info" {
+	    append msgText "IBIS: ibis_get_local_ports_info:%n$msgF(value)"
+	}
+	"-V-ibis.ibis.log.file" {
+	    append msgText "IBIS: ibis log file: $msgF(value)"
+	}
+
+
+	"-E-loading:cannot.use.current.tcl.package" {
+	    append msgText "The current Tcl version is: Tcl$msgF(version). "
+	    append msgText "$G(var:tool.name) requires Tcl8.4 or newer."
+	}
+	"-E-parse.topology" {
+	    append msgText "Failed to parse topology file $G(argv:topo.file)"
+	}
+	"-E-loading:cannot.load.package.ibdm" {
+	    append msgText "Package Loading: Could not load the following package : ibdm.%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
+        "-E-loading:cannot.use.current.ibdm.package" {
+	    append msgText "Package Loading: The current IBDM version is: IBDM$msgF(version).%n"
+	    append msgText "$G(var:tool.name) requires IBDM1.1 or newer."
+	}
+	"-E-loading:cannot.open.file" {
+	    append msgText "The following file is write protected: $msgF(fn)%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
+        "-E-loading:old.ibdiag.db" {
+	    append msgText "Failed to load ibdiag external DB from: $msgF(fn)%n"
+	    append msgText "Error message: \"$msgF(errMsg)\""
+	}
+        "-W-loading:old.osm.version" {
+	    append msgText "OSM: The current OSM version is not up-to-date"
+	}
+	"-W-loading:old.ibis.version" {
+	    append msgText "IBIS: The current IBIS version is not up-to-date"
+	}
+	"-W-loading:external.ibdiag.db" {
+	    append msgText "Loading external ibdiag DB from: $msgF(fn)"
+	}
+        "-W-loading:cannot.load.package.ibdm" {
+	    append msgText "Package Loading: Could not load the following package : ibdm.%n"
+	    append msgText "Some options and checks will not be executed"
+	}
+        "-W-loading:cannot.load.package" {
+            append msgText "Internal Package Error: $msgF(package)%n"
+	    append msgText "$msgF(error)"
+	}
+	"-I-loading:load.package" {
+	    set msgText "Loading $msgF(package)"
+	}
+
+
+	"-E-localPort:all.ports.down" {
+	    if { $G(var:tool.name) == "ibdiagpath" } {
+		append msgText "None of the local device ports is in ACTIVE state."
+	    } else {
+		append msgText "All the local device ports are in DOWN state."
+	    }
+	}
+	"-E-localPort:all.ports.down.mulitple.devices" {
+	    if { $G(var:tool.name) == "ibdiagpath" } {
+		append msgText "None of the local devices ports is in ACTIVE state."
+	    } else {
+		append msgText "All the local devices ports are in DOWN state."
+	    }
+	}
+	"-E-localPort:all.ports.of.device.down" {
+	    if { $G(var:tool.name) == "ibdiagpath" } {
+		append msgText "None of device: $msgF(device) ports is in ACTIVE state."
+	    } else {
+		append msgText "All of device: $msgF(device) ports are in DOWN state."
+	    }
+	}
+	"-E-localPort:dev.not.found" {
+	    append msgText "Local host does not have device number $msgF(value).%n"
+	    if {$msgF(maxDevices) == 1} {
+		append msgText "Only device number: $msgF(maxDevices) is available"
+	    } else {
+		append msgText "Only devices: 1-$msgF(maxDevices) are available"
+	    }
+	}
+	"-E-localPort:port.not.found" {
+	    append msgText "Local device does not have port number: $value."
+	}
+	"-E-localPort:port.not.found.in.device" {
+	    append msgText "Device number: $msgF(device) does not have port number: $msgF(port)."
+	}
+	"-E-localPort:local.port.down" {
+	    append msgText "Local device port number: $msgF(port) is in DOWN state."
+	}
+	"-E-localPort:local.port.of.device.down" {
+	    append msgText "Device $msgF(device) port number: $msgF(port) is in DOWN state."
+	}
+	"-E-localPort:local.port.not.active" {
+	    append msgText "Local link (port $msgF(port) of local device) is "
+	    append msgText "in $msgF(state) state.%n"
+	    append msgText "(PortCounters may be queried only over ACTIVE links)."
+	}
+	"-E-localPort:local.port.of.device.not.active" {
+	    append msgText "Local link (port $msgF(port) of device $msgF(device)) is "
+	    append msgText "in $msgF(state) state.%n"
+	    append msgText "(PortCounters may be queried only over ACTIVE links)."
+	}
+        "-E-localPort:illegal.dr.path.out.port" {
+	    append msgText "Illegal value for -d option: "
+	    append msgText "Local device does not have port number $value.%n"
+	    append msgText "No such direct route."
+	}
+	"-E-localPort:local.port.crashed" {
+	    append msgText "Discovery at local link failed: "
+	    if {![catch {set portState [GetParamValue LOG $msgF(DirectPath0) -port $NODE(0,EntryPort) -byDr]}]} {
+		if {$portState == "DWN"} {
+		    append msgText "[DrPath2Name "" -port $NODE(0,EntryPort)] is DOWN%n"
+		}
+	    }
+	    append msgText "$msgF(command) - failed $numOfRetries consecutive times."
+	}
+	"-E-localPort:local.port.failed" {
+	    append msgText "Local link is bad: $msgF(command) - failed $msgF(fails) "
+	    append msgText "times during $msgF(attempts) attempts."
+	}
+	"-E-localPort:port.guid.zero" {
+	    append msgText "Unable to use PortGUID = $G(data:root.port.guid) as the local port."
+	}
+	"-E-localPort:enable.ibis.set.port" {
+	    append msgText "Failed running : \"ibis_set_port $G(data:root.port.guid)\""
+	}
+        "-W-localPort:few.ports.up" {
+	    append msgText "A few ports of local device are up.%n"
+	    append msgText "Since port-num was not specified (-p option), "
+	    #append msgText "port $G(argv:port.num) of device $G(argv:dev.idx) "
+	    append msgText "port $msgF(port) of device $msgF(device) "
+	    append msgText "will be used as the local port."
+	}
+	"-W-localPort:few.devices.up" {
+	    append msgText "A few devices on the local machine have an active port $msgF(port).%n"
+	    #append msgText "A few devices on the local machine have an active port $G(argv:port.num).%n"
+	    append msgText "Since device-index was not specified (-i option), "
+	    #append msgText "port $G(argv:port.num) of device $G(argv:dev.idx) "
+	    append msgText "port $msgF(port) of device $msgF(device) "
+	    append msgText "will be used as the local port."
+	}
+	"-W-localPort:node.intelligently.guessed" {
+	    append msgText "Local system name was not specified (-s option).%n"
+	    append msgText "\"$G(argv:sys.name)\" will be used as the local system name."
+	}
+        "-I-localPort:one.port.up" {
+	    append msgText "Using port $msgF(port) as the local port."
+	}
+	"-I-localPort:is.dr.path.out.port" {
+	    append msgText "Using port $msgF(port) as the local port%n"
+	    append msgText "(since that is the output port based on the provided direct route)."
+	}
+	"-I-localPort:using.dev.index" {
+	    append msgText "Using device $msgF(device) as the local device."
+	}
+
+
+
+	"-E-outfile:not.valid" {
+	    append msgText "Output file $msgF(file0) is illegal value for $G(var:tool.name).%n"
+	}
+	"-W-outfile:not.writable" {
+	    append msgText "Output file $msgF(file0) is write protected.%n"
+	    append msgText "Writing info into $msgF(file1)."
+	}
+
+
+	"-E-discover:broken.func" {
+	    append msgText "Could not complete discovering the fabric.%n"
+	    append msgText "Reports will includes only the discovered part.%n"
+	    set noExiting 1
+	}
+	"-E-discover:zero/duplicate.IDs.found" {
+	    if {($msgF(ID) == "SystemGUID") && ($msgF(value) == 0)} {
+                set CSV_severity 4
+                set msgText "-W- "
+	    }
+	    append msgText "Found "
+	    set dontTrimLine 1
+	    if {$localDevice} {set G(LocalDeviceDuplicated) 1}
+	    if {$total > 1} {
+		append msgText "$total Devices with "
+	    } else {
+		append msgText "Device with "
+	    }
+            if { $msgF(value) != 0 } {
+                append msgText "identical "
+                set CSV_scope "subnet"
+            } else {
+                set CSV_scope "port"
+            }
+	    append msgText "$msgF(ID)=$msgF(value):"
+
+	    for {set i 0} {$i < $total} {incr i} {
+		append msgText "%n"
+		append msgText "a $NODE($i,FullType,Spaces) $NODE($i,Name_Port,Spaces)"
+		if {$msgF(ID) != "PortGUID"} {
+		    append msgText " PortGUID=$NODE($i,PortGUID)"
+		}
+		append msgText " at direct path=\"$PATH($i)\""
+		if {[BoolIsMaked $NODE($i,PortGUID)]} {
+		    if {$msgF(ID) != "PortGUID"} {
+			append msgText " (duplicate portGUID)"
+		    } else {
+			append msgText " (masked to PortGUID=$NODE($i,PortGUID))"
+		    }
+		}
+	    }
+	    set noExiting 1
+	}
+	"-I-discover:discovery.status" {
+	    append putsFlags " -nonewline"
+	    if {![info exists msgF(log)]} {
+		append putsFlags " -NoLogFile"
+	    }
+	    if { [info exists G(argv:verbose)] } { return }
+	    set nodesNum [expr $G(data:counter.SW) + $G(data:counter.CA)]
+	    append msgText "Discovering ... $nodesNum nodes "
+	    append msgText "($G(data:counter.SW) Switches & $G(data:counter.CA) CA-s) "
+	    append msgText "discovered.\r"
+
+	}
+	"-V-discover:discovery.status" {
+	    append msgText "Discovering DirectPath (no. $msgF(index)) \{[ArrangeDR $msgF(path)]\}"
+	}
+
+
+        "-W-reporting:one.hca.in.fabric" {
+	    append msgText "The fabric has only one HCA. No fabric qualities report is issued."
+	}
+	"-I-reporting:found.roots" {
+	    set roots [lindex $args 0]
+	    append msgText "Found [llength $roots] Roots:%n"
+	    foreach r $roots {
+		append msgText "[IBNode_name_get $r]%n"
+	    }
+	}
+	"-I-reporting:skip.set.no.report" {
+	    append msgText "skip option set. no report will be issued"
+	}
+
+
+
+	"-E-topology:bad.path.in.name.tracing" {
+	    append msgText "Direct Path \"[ArrangeDR $msgF(path)]\" to \"$msgF(name)\" is bad.%n"
+	    append msgText "Try running ibdiagpath again byDr with the provided route."
+	}
+	"-E-topology:bad.sysName.or.bad.topoFile" {
+	    append msgText "Unable to retrive a route from the local host to \"$msgF(name)\".%n"
+	    append msgText "Either the given topology file is bad "
+	    append msgText "or the local sys name is incorrect."
+	}
+	"-E-topology:no.route.to.host.in.topo.file" {
+	    append msgText "Unable to retrive a route from the local host to \"$msgF(name)\".%n"
+	    append msgText "based on the topology given in:$msgF(topo.file)"
+	}
+	"-E-topology:lid.by.name.failed" {
+	    append msgText "Couldn't retrive $msgF(name) LID%n"
+	    append msgText "Please check your topology file and given sys name."
+	}
+	"-E-topology:lid.by.name.zero" {
+	    append msgText "Zero LID Retrived. for $msgF(name).%n"
+	    append msgText "at the end of direct route \"[ArrangeDR $msgF(path)]\""
+	}
+        "-E-topology:localDevice.Duplicated" {
+	    append msgText "Local Device Guid was duplicated. "
+	    append msgText "Since local system name was guessed, "
+	    append msgText "Topology Matching May Failed."
+	}
+        "-W-topology:matching.bad" {
+	    append msgText "Many mismatches between the topology defined in "
+	    append msgText "$G(argv:topo.file) and the discovered fabric:%n"
+	}
+	"-W-topology:Critical.mismatch" {
+	    append msgText "Critical mismatch. between the topology defined in "
+	    append msgText "$G(argv:topo.file) and the discovered fabric:%n"
+	    append msgText "Topology file names will not be used.%n"
+	    append msgText "\"$msgF(massage)\""
+	}
+        "-I-topology:matching.note" {
+	    append msgText "Note that some \"bad\" links and the part of the fabric "
+	    append msgText "to which they led (in the BFS discovery of the fabric, "
+	    append msgText "starting at the local node) are not discovered and "
+	    append msgText "therefore will be reported as \"missing\"."
+	    if { [llength [array names G bad,paths,*]] == 0 } {
+		set msgText ""
+                # <- this means don't print the "-I-" prefix
+	    }
+	}
+        "-I-topology:matching.header" {
+            append msgText "Topology matching results"
+            set headerText "Topology Matching Check"
+        }
+
+        "-I-topology:matching.perfect" {
+	    append msgText "The topology defined in $G(argv:topo.file) "
+	    append msgText "perfectly matches the discovered fabric."
+	}
+
+
+
+
+        "-E-ibdiagpath:direct.route.deadend" {
+	    ### TODO: check the phrasing ...
+	    append msgText "Illegal direct route was issued.%n"
+	    append msgText "The provided direct route passes through a HCA:%n"
+	    append msgText "$NODE(0,FullName)%n"
+	    append msgText "(which cannot forward direct route mads)."
+	}
+	"-E-ibdiagpath:direct.path.no.such.port" {
+	    append msgText "Illegal direct route was issued.%n"
+	    append msgText "The following device: $NODE(0,FullName)%n"
+	    append msgText "does not have port number $msgF(port)."
+	}
+	"-E-ibdiagpath:link.not.active" {
+	    append msgText "$NODE(0,FullName) Port=$msgF(port) is in INIT state."
+	}
+	"-E-ibdiagpath:link.down" {
+	    append msgText "Illegal route was issued.%n"
+	    append msgText "Port \#$msgF(port) of:$NODE(0,FullName), is DOWN."
+	}
+	"-E-ibdiagpath:route.failed" {
+	    append msgText "Illegal route was issued.%n"
+	    append msgText "Can not exit through Port \#$msgF(port)"
+	    append msgText "of the following device:%n$NODE(0,FullName)"
+	}
+	"-E-ibdiagpath:reached.lid.0" {
+	    #set noExiting 1
+	    append msgText "Bad LID: the following device has LID = 0x0000.%n"
+	    append msgText "$NODE(0,FullName)%n"
+	    if {[BoolWordInList "+cannotRdPM" $args]} {
+		append msgText "Cannot send pmGetPortCounters mads.%n"
+	    }
+	    append msgText "$rumSMmsg."
+	}
+	"-E-ibdiagpath:lid.route.deadend" {
+	    set port $msgF(port)
+	    set switchname $NODE(0,FullName)
+	    append msgText "LID-route deadend was detected.%n"
+	    append msgText "Entry $msgF(lid) of LFT of the following switch%n"
+	    append msgText "$switchname%n"
+	    append msgText "is $port, but port $port leads to%n"
+	    append msgText "HCA $NODE(0,FullName)."
+	}
+	"-E-ibdiagpath:lid.route.loop" {
+	    append msgText "Lid route loop detected: "
+	    append msgText "when following the LID-route for LID $msgF(lid) from device%n"
+	    append msgText "$NODE(0,FullName)%n"
+	}
+	"-E-ibdiagpath:lid.route.dead.end" {
+	    append msgText "Reached a dead end.: "
+	    append msgText "when reading LID $msgF(lid) from Fdb table of device%n"
+	    append msgText "$NODE(0,FullName)."
+	}
+	"-E-ibdiagpath:read.lft.failure" {
+	    append msgText "[join $args] - failed $numOfRetries consecutive times."
+	    # Text ended with "Aborting ibdiagpath."
+	}
+	"-E-ibdiagpath:fdb.block.unreachable" {
+	    append msgText "Could not read FDB table: \"$msgF(command)\" "
+	    append msgText "terminated with errorcode $msgF(errorcode)."
+	}
+	"-E-ibdiagpath:fdb.bad.value" {
+	    append msgText "Dead-end trying to reach Lid $msgF(lid)"
+	}
+	"-E-ibdiagpath:pmGet.failed" {
+	    set noExiting 1
+	    append msgText "Could not get PM info:%n"
+	    append msgText "\"pmGetPortCounters [join $args]\" failed $numOfRetries consecutive times."
+	}
+        "-E-ibdiagpath:PKeys.path.noShared" {
+	    append msgText "No shared PKeys found on Path! Nodes can not communicate!"
+	}
+        "-E-ibdiagpath:PKeys.FailNodeInfo" {
+	    append msgText "Failed to obtain NodeInfo for directed route:[lindex $args 0]. Abortig PKeys Check."
+	}
+	"-E-ibdiagpath:PKeys.FailPortInfo" {
+	    append msgText "Failed to obtain PortInfo for directed route:[lindex $args 0]. Abortig PKeys Check."
+	}
+        "-E-ibdiagpath:ipoib.noGroups" {
+	    set noExiting 1
+	    append msgText "No IPoIB Subnets found on Path! Nodes can not communicate via IPoIB!"
+	}
+        "-E-ibdiagpath:qos.FailPortInfoOpVLs" {
+	    append msgText "Failed to get PortInfo for path:$args"
+	}
+	"-E-ibdiagpath:qos.FailSL2VL" {
+	    append msgText "Failed to get SL2VLTable for path:$args"
+	}
+	"-E-ibdiagpath:qos.FailVLArb" {
+	    append msgText "Failed to get VLArbTable for path:$args"
+	}
+        "-E-ibdiagpath:qos.noPathSLs" {
+	    append msgText "No SLs can be used. No communication from source to destination possible !"
+	}
+        "-W-ibdiagpath:ardessing.local.node" {
+	    append msgText "Addressing local node. Only local port will be checked."
+	}
+        "-W-ibdiagpath:PKeys.blockOnPath" {
+	    foreach {nodeName dir pkey} $args {break}
+	    append msgText "PKey:[format 0x%04x $pkey] was blocked on $dir pin of $nodeName"
+	}
+        "-W-ibdiagpath:qos.vlaOverOpVLs" {
+	    foreach {name port entries opVLs HL} $args {break}
+	    set lastVL [expr $opVLs - 1]
+	    if {$lastVL == 15} {set lastVL 14}
+	    append msgText "VLArbTable$HL Entries:$entries VL > $lastVL at node:$name port:$port"
+	}
+	"-W-ibdiagpath:qos.blockedVLs" {
+	    foreach {name outPort blocked} $args {break}
+	    append msgText "Blocked VLs:$blocked at node:$name port:$outPort"
+	}
+	"-W-ibdiagpath:qos.sl2vlOORange" {
+	    foreach {name inPort outPort opVLs sls} $args {break}
+	    set lastVL [expr $opVLs - 1]
+	    if {$lastVL == 15} {set lastVL 14}
+	    append msgText "SLs:$sls mapped to VL > $lastVL at node:$name in-port:$inPort out-port:$outPort"
+	}
+	"-W-ibdiagpath:qos.blockedSL" {
+	    foreach {name inPort outPort sls} $args {break}
+	    append msgText "SLs:$sls are blocked due to VLArb node:$name in-port:$inPort out-port:$outPort"
+	}
+        "-I-ibdiagpath:read.lft.header" {
+	    set from [lindex $args 0]
+	    set to   [lindex $args 1]
+	    append msgText "Traversing the path from $from to $to"
+	    set headerText "LFT Traversal: $from to $to"
+	}
+	"-I-ibdiagpath:obtain.src.and.dst.lids" {
+	    append msgText "Obtaining source and destination LIDs:%n"
+	    append msgText "$msgF(name0) \tLID=$msgF(lid0)%n"
+	    append msgText "$msgF(name1) \tLID=$msgF(lid1)"
+	}
+	"-I-ibdiagpath:read.lft.from" {
+	    append msgText "From: [join $args]"
+	}
+	"-I-ibdiagpath:read.lft.to" {
+	    append msgText "To:   [join $args]%n"
+	}
+	"-I-ibdiagpath:read.pm.header" {
+	    append msgText "Validating path health"
+	    set headerText "Path Health Check"
+	}
+        "-I-ibdiagpath:service.level.header" {
+	    append msgText "Service Level check"
+	    set headerText "Service Level Check"
+	}
+	"-I-ibdiagpath:service.level.report" {
+	    if {[info exists G(argv:service.level)]} {
+		if {[lsearch $msgF(suitableSl) $G(argv:service.level)] != -1} {
+		    append msgText "The provided Service Level: $G(argv:service.level) can be used%n"
+		} else {
+		    for {set i 0} {$i < 2} {incr i} {
+			set name${i} $NODE($i,Name)
+			if {$NODE($i,Name) == ""} {
+			    set name${i} $NODE($i,FullName)
+			}
+		    }
+		    append msgText "SL${G(argv:service.level)} can not be used in a $msgF(route)%n"
+		    append msgText "Path is broken between: $name0%nand: $NODE(0,FullName)%n"
+		    append msgText "SL${G(argv:service.level)} is mapped to VL${msgF(VL)} "
+		    append msgText "but the maximum VL allowed is VL${msgF(opVL)}"
+		}
+	    } else {
+		append msgText "The following SL can be used : $msgF(suitableSl)"
+	    }
+	}
+        "-I-ibdiagpath:PKeys.report.header" {
+	    append msgText "Path Partitions Report"
+	    set headerText "Path Partitions Check"
+	}
+	"-I-ibdiagpath:PKeys.src.pkeys" {
+	    foreach {nodeName portNum pkeys} $args {break}
+	    append msgText "Source $nodeName Port $portNum PKeys:$pkeys"
+	}
+	"-I-ibdiagpath:PKeys.dst.pkeys" {
+	    set node [lindex $args 0]
+	    set pkeys [lindex $args 1]
+	    append msgText "Destination $node PKeys:$pkeys"
+	}
+        "-I-ibdiagpath:PKeys.path.shared" {
+	    append msgText "Path shared PKeys: [lindex $args 0]"
+	}
+        "-I-ibdiagpath:ipoib.header" {
+	    append msgText "IPoIB Path Check"
+	    set headerText "Path IPoIB Check"
+	}
+        "-I-ibdiagpath:qos.report.header" {
+	    append msgText "QoS on Path Check"
+	    set headerText "QoS on Path Check"
+	}
+        "-I-ibdiagpath:qos.pathSLs" {
+	    append msgText "The following SLs can be used:[lindex $args 0]"
+	}
+        "-V-ibdiagpath:pm.value" {
+	    append msgText "PM [join $args]"
+	}
+        "-V-ibdiagpath:PKeys.portPkeys" {
+	    foreach {nodeName portNum dir pkeys} $args {break}
+	    if {$dir == "in"} {
+		set x "to"
+	    } else {
+		set x "from"
+	    }
+	    append msgText "going:$dir $x node:$nodeName port:$portNum PKeys:$pkeys"
+	}
+        "-V-ibdiagpath:qos.atNode" {
+	    foreach {name inPort outPort} $args {break}
+	    append msgText "At node:$name from-port:$inPort out-port:$outPort"
+	}
+
+
+
+        "-E-write.topology:failed" {
+	    append msgText "Failed to write Topology File $G(argv:write.topology)"
+	}
+	"-I-write.topology:writing" {
+	    append msgText "Writing Topology File $G(argv:write.topology)"
+	}
+
+
+
+	"-E-ibdiagnet:report.fab.qualities.errors" {
+	    set noExiting 1
+	    set errs [lindex $args 0]
+	    incr G(status:summary.errs) [expr $errs -1]
+	    append msgText "Total Qualities Check Errors:$errs"
+	}
+        "-E-ibdiagnet:report.fab.credit.loop.errors" {
+            set noExiting 1
+            set errs [lindex $args 0]
+            incr G(status:summary.errs) [expr $errs -1]
+            append msgText "Total Credit Loop Check Errors:$errs"
+        }
+        "-W-ibdiagnet:report.fab.credit.loop.warnings" {
+            set warns [lindex $args 0]
+            incr G(status:summary.warn) [expr $warns -1]
+            append msgText "Total Credit Loop Check Warnings:$warns"
+        }
+	"-W-ibdiagnet:report.fab.qualities.warnings" {
+	    set warns [lindex $args 0]
+	    incr G(status:summary.warn) [expr $warns -1]
+	    append msgText "Total Qualities Check Warnings:$warns"
+	}
+        "-I-ibdiagnet:report.fab.credit.loop.report" {
+            append msgText "%n[lindex $args 0]"
+        }
+	"-I-ibdiagnet:report.fab.qualities.header" {
+	    append msgText "Fabric qualities report"
+	    set headerText "Fabric Qualities Report"
+	}
+	"-I-ibdiagnet:report.fab.qualities.report" {
+	    append msgText "%n[lindex $args 0]"
+	}
+        "-I-ibdiagnet:check.credit.loops.header" {
+	    append msgText "Checking credit loops"
+	    set headerText "Credit Loops Check"
+	}
+        "-I-ibdiagnet:mgid.mlid.hca.header" {
+	    append msgText "mgid-mlid-HCAs table"
+	    set headerText "Multicast Groups Report"
+	}
+
+
+	"-E-ibdiagnet:SM.none" {
+	    append msgText "Missing master SM in the discover fabric"
+	    set noExiting 1
+	}
+	"-E-ibdiagnet:SM.multiple.master" {
+            append msgText "Found more then one master SM in the discover fabric"
+	    set noExiting 1
+	}
+        "-I-ibdiagnet:SM.header" {
+	    append msgText "Summary Fabric SM-state-priority"
+	    set headerText "Subnet Manager Check"
+	}
+        "-I-ibdiagnet:SM.report.head" {
+	    set msgText "  "
+	    set SMstate [lindex $args 0]
+	    append msgText "SM - $SMstate"
+	}
+	"-I-ibdiagnet:SM.report.body" {
+	    set msgText "    "
+	    set nodeName [lindex $args 0]
+	    set priority [lindex $args 1]
+	    append msgText "$nodeName  priority:$priority"
+	}
+
+        "-E-ibdiagnet:no.lst.file" {
+	    set noExiting 1
+	    append msgText "Fail to find \"$msgF(fileName)\""
+	}
+
+        "-I-ibdiagnet:bad.guids.header" {
+	    append msgText "Bad Guids/LIDs Info"
+	    set headerText "Bad GUIDs/LIDs Check"
+	}
+	"-I-ibdiagnet:no.bad.guids" {
+	    append msgText "No bad Guids were found"
+	}
+	"-I-ibdiagnet:bad.sm.header" {
+	    append msgText "Bad Fabric SM Info"
+	    set headerText "SM Info Check"
+	}
+	"-I-ibdiagnet:bad.links.header" {
+	    append msgText "Bad Links Info%n"
+	    append msgText "-I- Errors have occurred on the following links%n"
+	    append msgText "(for errors details, look in log file $G(outfiles,.log)):"
+	    set headerText "Link Errors Check"
+	}
+	"-I-ibdiagnet:no.bad.paths.header" {
+	    append msgText "Bad Links Info%n"
+	    append msgText "-I- No bad link were found"
+	}
+	"-I-ibdiagnet:bad.link" {
+	    append putsFlags " -origlen"
+	    set msgText ""
+	    append msgText $msgF(link)
+	}
+	"-I-ibdiagnet:bad.link.errors" {
+	    append putsFlags " -NoStdout"
+	    set msgText ""
+	    append msgText $msgF(errors)
+	}
+	"-I-ibdiagnet:bad.links.err.types" {
+	    append putsFlags " -NoStdout -chars \": \""
+	    set msgText ""
+	    append msgText "%n Errors types explanation:%n"
+	    append msgText "   \"noInfo\"  : the link was ACTIVE during discovery "
+	    append msgText "but, sending MADs across it failed $numOfRetries consecutive times%n"
+	    append msgText "   \"badPMs\"  : one of the Error Counters of the link "
+	    append msgText "has values higher than predefined thresholds.%n"
+	    append msgText "   \"madsLost\": $G(var:badpath.maxnErrors) MADs were "
+	    append msgText "dropped on the link (drop ratio is given).%n"
+	}
+
+        "-W-ibdiagnet:report.links.width.state" {
+            set CSV_scope "port"
+            set CSV_severity 3
+            set dontTrimLine 1
+	    append msgText "link with PHY=$msgF(phy) found at direct path \"$PATH(1)\"%n"
+	    append msgText "From: a $NODE(0,FullType,Spaces) $NODE(0,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(0,PortGUID) Port=[lindex [split $PATH(1) ,] end]%n"
+	    append msgText "To:   a $NODE(1,FullType,Spaces) $NODE(1,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(1,PortGUID) Port=$NODE(1,EntryPort)"
+	}
+        "-I-ibdiagnet:bad.link.width.header" {
+	    append msgText "Links With links width != $G(argv:link.width) (as set by -lw option)"
+	    set headerText "Specific Link Width Check"
+	}
+	"-I-ibdiagnet:no.bad.link.width" {
+	    append msgText "No unmatched Links (with width != $G(argv:link.width)) were found"
+	}
+
+        "-W-ibdiagnet:report.links.speed.state" {
+            set CSV_scope "port"
+            set CSV_severity 3
+            set dontTrimLine 1
+	    append msgText "link with SPD=$msgF(spd) found at direct path \"$PATH(1)\"%n"
+	    append msgText "From: a $NODE(0,FullType,Spaces) $NODE(0,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(0,PortGUID) Port=[lindex [split $PATH(1) ,] end]%n"
+	    append msgText "To:   a $NODE(1,FullType,Spaces) $NODE(1,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(1,PortGUID) Port=$NODE(1,EntryPort)"
+	}
+        "-I-ibdiagnet:bad.link.speed.header" {
+	    append msgText "Links With links speed != $G(argv:link.speed) (as set by -ls option)"
+	    set headerText "Specific Link Speed Check"
+	}
+	"-I-ibdiagnet:no.bad.link.speed" {
+	    append msgText "No unmatched Links (with speed != $G(argv:link.speed)) were found"
+	}
+
+	"-I-ibdiagnet:bad.link.logic.header" {
+	    append msgText "Links With Logical State = INIT"
+	    set headerText "Link State Active Check"
+	}
+	"-I-ibdiagnet:no.bad.link.logic" {
+	    append msgText "No bad Links (with logical state = INIT) were found"
+	}
+
+        "-W-ibdiagnet:bad.pm.counter.report" {
+	    append msgText "$NODE(0,FullNamePort_Last)%n"
+	    append msgText "      Performance Monitor counter"
+	    append msgText "[string repeat " " [expr [GetLengthMaxWord $G(var:list.pm.counter)] - 27]] : "
+	    append msgText "Value"
+
+	    foreach err $msgF(listOfErrors) {
+		append msgText %n
+		regexp {([^ =]*)=(.*)} $err . pmCounter pmTrash
+		append msgText "      $pmCounter"
+		append msgText "[string repeat " " [expr [GetLengthMaxWord $G(var:list.pm.counter)] - [string length $pmCounter]]] : "
+		append msgText $pmTrash
+	    }
+	}
+        "-I-ibdiagnet:pm.counter.report.header" {
+	    append msgText "PM Counters Info"
+	    set headerText "Performance Counters Report"
+	}
+	"-I-ibdiagnet:no.pm.counter.report" {
+	    append msgText "No illegal PM counters values were found"
+	}
+
+        "-I-ibdiagnet:external.flag.execute.header" {
+	    append msgText "Executing external option: $msgF(flag)"
+	    set headerText "External Options"
+	}
+	"-I-ibdiagnet:external.flag.execute.node.report" {
+	    append msgText "$NODE(0,FullName_Last)%n"
+	    append msgText "      [join $msgF(report) %n]"
+	}
+	"-I-ibdiagnet:external.flag.execute.no.report" {
+	    append msgText "Nothing to report"
+	}
+        "-W-ibdiagnet:local.link.in.init.state" {
+            set CSV_scope "port"
+            set CSV_severity 5
+            append msgText "The local link is in INIT state, no PM counter reading could take place"
+	}
+	"-W-ibdiagnet:report.links.init.state" {
+            set CSV_scope "port"
+            set CSV_severity 5
+            set dontTrimLine 1
+	    append msgText "link with LOG=INI found at direct path \"$PATH(1)\"%n"
+	    append msgText "From: a $NODE(0,FullType,Spaces) $NODE(0,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(0,PortGUID) Port=[lindex [split $PATH(1) ,] end]%n"
+	    append msgText "To:   a $NODE(1,FullType,Spaces) $NODE(1,Name,Spaces)"
+	    append msgText " PortGUID=$NODE(1,PortGUID) Port=$NODE(1,EntryPort)"
+	}
+
+        "-E-ibdiagnet:PKeys.getPkey" {
+	    set drPath  [lindex $args 0]
+	    set portNum [lindex $args 1]
+	    set block   [lindex $args 2]
+	    append msgText "failed to get PKeyTable for drPath:$drPath port:$portNum block:$block"
+	}
+        "-E-ibdiagnet:PKeys.noSwitchInfo" {
+	    set guid    [lindex $args 0]
+	    set drPath  [lindex $args 1]
+	    append msgText "failed to get SwitchInfo from drPath:$drPath node:$guid"
+	}
+        "-W-ibdiagnet:PKeys.noNodeInfo" {
+	    append msgText "failed to get node info for node:[lindex $args 0]"
+	}
+        "-W-ibdiagnet:PKeys.in.out.not.same" {
+	    set nodeName  [lindex $args 0]
+	    set inb    [lindex $args 1]
+	    set outb   [lindex $args 2]
+	    append msgText "Missmatching In-Bound ($inb) and Out-Bound ($outb) PKey enforcement on switch $nodeName"
+	}
+        "-W-ibdiagnet:PKeys.switch.missing.pkey" {
+	    set name   [lindex $args 0]
+	    set pkey   [lindex $args 1]
+	    append msgText "Missing PKey:[format 0x%04x $pkey] on remote switch of node:$name"
+	}
+	"-W-ibdiagnet:PKeys.switch.part.pkey" {
+	    set name   [lindex $args 0]
+	    set pkey   [lindex $args 1]
+	    append msgText "Only partial PKey:[format 0x%04x $pkey] allowed by remote switch of node:$name"
+	}
+	"-I-ibdiagnet:PKeys.report.header" {
+	    append msgText "Fabric Partitions Report (see $G(var:tool.name).pkey for a full hosts list)"
+	    set headerText "Partitions Check"
+	}
+	"-I-ibdiagnet:PKeys.Group" {
+	    set base [format 0x%04x [lindex $args 0]]
+	    set hosts [lindex $args 1]
+	    set full  [lindex $args 2]
+	    set part  [lindex $args 3]
+	    append msgText "   PKey:$base Hosts:$hosts full:$full partial:$part"
+	}
+
+
+	"-E-ibdiagnet:ipoib.ilegalRate" {
+	    set name [lindex $args 0]
+	    append msgText "Illegal speed/width on port:$name"
+	}
+        "-I-ibdiagnet:ipoib.header" {
+	    append msgText "IPoIB Subnets Check"
+	    set headerText "IPoIB Subnets Check"
+	}
+        "-W-ibdiagnet:ipoib.noMemers" {
+	    append msgText "No members found for group"
+	}
+	"-W-ibdiagnet:ipoib.bad.pkey" {
+	    foreach {gPKey pkey} $args {break}
+	    set pk1 [format 0x%04x $gPKey]
+	    set pk2 [format 0x%04x $pKey]
+	    append msgText "Missmatching Multicast Group PKey:$pk1 and MGID Pkey:$pk2"
+	}
+        "-W-ibdiagnet:ipoib.cantJoin" {
+	    foreach {name rate gRate} $args {break}
+	    set rateStr [string range [PathRecRateCodeText $rate] 1 end]
+	    set gRateStr [string range [PathRecRateCodeText $gRate] 1 end]
+	    append msgText "Port $name can not join due to rate:${rateStr}Gbps < group:${gRateStr}Gbps"
+	}
+        "-W-ibdiagnet:ipoib.rateToLow" {
+            foreach {minRate gRate} $args {break}
+            set minRateStr [string range [PathRecRateCodeText $minRate] 1 end]
+            set gRateStr [string range [PathRecRateCodeText $gRate] 1 end]
+            append msgText "Suboptimal rate for group. Lowest member rate:${minRateStr}Gbps > group-rate:${gRateStr}Gbps"
+        }
+        "-I-ibdiagnet:ipoib.subnet" {
+	    foreach {IPV pkey gMtu gRate gSL gPKey gQKey} $args {break}
+	    set pkey [format 0x%04x $pkey]
+	    set mtu [string range "[PathRecMTUCodeText $gMtu]Byte" 1 end]
+	    set rate [string range "[PathRecRateCodeText $gRate]Gbps" 1 end]
+	    set qkey [format 0x%08x $gQKey]
+	    set sl   [format 0x%02x $gSL]
+	    append msgText "Subnet: IPv$IPV PKey:$pkey QKey:$qkey MTU:$mtu rate:$rate SL:$sl"
+	}
+        "-V-ibdiagnet:bad.links.info" {
+	    foreach entry [array names G bad,paths,*] {
+		append msgText "%nFailure(s) for direct route [lindex [split $entry ,] end] : "
+		if { [llength $G($entry)] == 1 } {
+		    append msgText "[join $G($entry)]"
+		} else {
+		    append msgText "%n      [join $G($entry) "%n      "]"
+		}
+	    }
+	}
+        "-V-ibdiagnet:bad.links.detected" {
+            PutsIn80Chars " "
+            append msgText "Searching for bad link(s) on direct route \{[ArrangeDR $msgF(path)]\} ..."
+        }
+        "-V-ibdiagnet:incremental.bad.links" {
+            append msgText "Sending MADs over increments of the direct route \{[ArrangeDR $msgF(path)]\}"
+        }
+
+
+
+        "-V-mad:sent"  {
+	    if {$dontShowMads} { return }
+	    append putsFlags " -nonewline"
+	    append msgText "running $msgF(command) ..."
+	}
+	"-V-mad:received" {
+	    if {$dontShowMads} { return }
+	    set msgText ""
+	    if {[info exists msgF(status)]} {
+		append msgText "status = $msgF(status) (after $msgF(attempts) attempts)"
+	    } else {
+		append msgText "done (after $msgF(attempts) attempts)"
+	    }
+	}
+
+
+        "-V-badPathRegister" {
+	    append msgText "Bad path found: failure = $msgF(error). "
+	    append msgText "When running: $msgF(command)."
+	}
+
+
+        "-V-discover:start.discovery.header"   {
+	    append msgText "Starting subnet discovery"
+	}
+	"-V-discover:end.discovery.header"  {
+	    set nodesNum [llength [array names G "NodeInfo,*"]]
+	    set swNum    [llength [array names G "PortInfo,*:0"]]
+	    append msgText "Subnet discovery finished.%n"
+	    append msgText "$nodesNum nodes ($swNum Switches & [expr $nodesNum - $swNum] CA-s) discovered"
+	}
+        "-V-discover:long.paths" {
+	    PutsIn80Chars " "
+	    append msgText "Retrying discovery multiple times (according to the -c flag) ... "
+	}
+
+
+	"-V-outfiles:.lst"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.lst) "
+	    append msgText " (a listing of all the links in the fabric)"
+	}
+	"-V-outfiles:.fdbs"  {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.fdbs)"
+	    append msgText " (a dump of the unicast forwarding tables of the fabric switches)"
+	}
+	"-V-outfiles:.mcfdbs"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.mcfdbs)"
+	    append msgText " (a dump of the multicast forwarding tables of the fabric switches)"
+	}
+	"-V-outfiles:.db"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.db)"
+	    append msgText " (a dump of the tool internal database)"
+	}
+	"-V-outfiles:.pkey"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.pkey)"
+	    append msgText " (a dump of the partitions in the IB fabric and their members)"
+	}
+	"-V-outfiles:.sm"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.sm)"
+	    append msgText " (a dump of SMs in the fabric)"
+	}
+	"-V-outfiles:.mcgs"   {
+	    PutsIn80Chars " "
+	    append msgText "Writing file $G(outfiles,.mcgs)"
+	    append msgText " (a dump of the Multicast groups in the fabric)"
+	}
+
+	"-I-ibping:results" {
+	    set pktFailures   $msgF(failures)
+	    set pktTotal   $G(argv:count)
+	    set pktSucces  [expr $pktTotal - $pktFailures]
+	    set pktSuccesPrc  [expr ( round ( ($pktSucces / $pktTotal)*10000 ) ) / 100.0 ]
+	    set pktFailuresPrc   [expr 100 - $pktSuccesPrc]
+	    set avrgRoundTrip $msgF(time)
+	    PutsIn80Chars " "
+	    append msgText "ibping: pass:  $pktSucces $pktSuccesPrc%, "
+	    append msgText "failed: $pktFailures $pktFailuresPrc%, "
+	    append msgText "average round trip: $avrgRoundTrip ms"
+	}
+	"-V-ibping:ping.result" {
+	    # "12:38:16 010020 lid=2: seq=1 time=0.365 ms"
+
+	    set cc [clock clicks]
+	    set us [string range $cc [expr [string length $cc] - 6] end]
+
+	    catch { set address "lid=$G(argv:lid.route)" }
+	    catch { set address "name=$G(argv:by-name.route)" }
+	    catch { set address "direct_route=\"[split $G(argv:direct.route) ,]\"" }
+
+	    set seqLen [string length $G(argv:count)]
+	    if { $msgF(retry) == 1 } { puts "%n$bar%n-V- ibping pinging details%n$bar" }
+	    set seq [string range "$msgF(retry)[Bar " " $seqLen]" 0 [expr $seqLen -1] ]
+
+	    if { $msgF(time) == "failed" } {
+		set result "failed"
+	    } else {
+		set result "time=[string range "[expr $msgF(time) / 1000.0]0000" 0 4] ms"
+	    }
+
+	    append msgText "[clock format [clock seconds] -format %H:%M:%S] "
+	    append msgText "$us $address seq=$seq $result"
+	}
+
+	"-F-crash:failed.build.lst" {
+	    set noExiting 1
+	    append msgText "IBdiagnet Failed to build $G(outfiles,.lst). Contact Mellanox officials"
+	}
+	"-F-crash:failed.parse.lst" {
+	    append msgText "IBFabric_parseSubnetLinks Failed to parse $G(outfiles,.lst)"
+	}
+	"-F-crash:failed.parse.fdbs" {
+	    append msgText "IBFabric_parseFdbFile Failed to parse $G(outfiles,.fdbs)"
+	}
+	"-F-crash:failed.parse.mcfdbs" {
+	    append msgText "IBFabric_parseMCFdbFile Failed to parse $G(outfiles,.mcfdbs)"
+	}
+        "-I-exit:\\r" {
+            set msgText ""
+            # <- this means don't print the "-I-" prefix
+            append msgText "%n"
+        }
+        "-I-done" {
+            SummaryMessage
+            PutsIn80Chars " "
+            append msgText "Done. Run time was [expr [clock seconds] - $args] seconds."
+        }
+        "-F-Fatal.header" {
+            append msgText "Fatal fabric condition found.%n-F- Please fix the above errors and rerun."
+        }
+        "-E-argv.pkg.external.flag" {
+	    append msgText "Illegal argument: I${llegalValMsg}: $msgF(value)%n"
+	    append msgText "For legal value please contact package owner"
+	}
+	default {
+	    set msgType "-E-"
+	    set msgText "-E- Internal error: bad message code: $msgCode"
+	    set noExiting 1
+	}
+    }
+
+    ##################################################
+    ## Summary generation
+    if {$msgType == "-E-"} {
+	incr G(status:summary.errs)
+    } elseif {$msgType == "-W-"} {
+	incr G(status:summary.warn)
+    }
+
+    if {[regexp ".header" $msgCode] && $headerText != ""} {
+	if {$G(status:summary.headr) != 0} {
+	    set prevHeadr $G(status:summary.headr)
+	    set warns $G(status:summary.warn)
+	    set errs  $G(status:summary.errs)
+	    append G(status:summary.text) \
+		[format "    %-40s %-6d %-6d\n" $prevHeadr $errs $warns]
+	}
+	set G(status:summary.errs) 0
+	set G(status:summary.warn) 0
+	set G(status:summary.headr) $headerText
+    }
+
+    ### Writing out the message
+    set msgText [split $msgText \n]
+    if {[regexp ".header" $msgCode]} {
+	set msgText [concat [list ""] [list $bar] [linsert $msgText 1 $bar]]
+    }
+
+    if { ($msgType == "-E-") || ($msgType == "-F-") } {
+	if { ! [info exists noExiting] } {
+	    puts ""
+	    switch $msgSource {
+		"discover" {
+		    set Exiting "Aborting discovery"
+		}
+		"ibdiagpath" {
+		    set Exiting "Aborting route tracing"
+		}
+		default {
+		    set Exiting "Exiting"
+		}
+	    }
+	    switch -exact -- $msgSource {
+		"ibis" {
+		    set exitStatus $G(status:ibis.init)
+		}
+		"argv" {
+		    set showSynopsys 1
+		    set exitStatus $G(status:illegal.flag.value)
+		}
+		"localPort" {
+		    set exitStatus $G(status:root.port.get)
+		}
+		"discover" {
+		    set exitStatus $G(status:discovery.failed)
+		}
+		"ibdiagpath" {
+		    set exitStatus $G(status:discovery.failed)
+		}
+		"topology" {
+		    set exitStatus $G(status:topology.failed)
+		}
+		"loading" {
+		    set exitStatus $G(status:topology.failed)
+		}
+		"crash" {
+		    set exitStatus $G(status:crash)
+		}
+		default {
+		    set exitStatus $G(status:illegal.flag.value)
+		}
+	    }
+	}
+    }
+
+    if { ($msgType == "-E-") || ($msgType == "-F-") } {
+        switch -exact -- $msgSource {
+            "ibis" -
+            "argv" -
+            "loading" -
+            "crash" -
+            "discover" {
+                set tmp_CSV_scope "general"
+                set tmp_CSV_severity 5
+            }
+            "localPort" {
+                set tmp_CSV_scope "port"
+                set tmp_CSV_severity 5
+            }
+            "topology" {
+                set tmp_CSV_scope "subnet"
+                set tmp_CSV_severity 5
+            }
+            default {
+                set tmp_CSV_scope "general"
+                set tmp_CSV_severity 3
+	    }
+        }
+        if {![info exists CSV_scope]} {
+            set CSV_scope $tmp_CSV_scope
+        }
+        if {![info exists CSV_severity]} {
+            set CSV_severity $tmp_CSV_severity
+        }
+    }
+
+    if {[info exists CSV_scope]} {
+        set desc ""
+        foreach word [split $msgDesc ./] {
+            append desc [string totitle $word 0 0]
+        }
+        set portGuid ""
+        set portNum ""
+        set nodeGuid ""
+        set msgBody ""
+        set exid ""
+        set err_type 1
+        regsub -all {%n} $msgText " " msgBody
+        regsub -all {,} $msgBody " " msgBody
+        for {set h 0} {$h < 3} {incr h} {
+            set msgBody [join $msgBody]
+        }
+	set msgBody [string range $msgBody 4 end]
+        if {[info exists NODE]} {
+            for {set i 0} {$i < [llength [array names NODE *,PortGUID]]} {incr i} {
+                set portGuid $NODE($i,PortGUID)
+                set nodeGuid $G(data:NodeGuid.$portGuid)
+                if {$i % 2} {
+                set portNum $NODE($i,EntryPort)
+                } else {
+                    set portNum [lindex [split $PATH([expr $i + 1]) ,] end]
+                }
+                lappend CSV_ERRORS $CSV_scope,$nodeGuid,$portGuid,$portNum,$desc,$msgBody,$CSV_severity,$exid,$err_type
+            }
+        } else {
+            lappend CSV_ERRORS $CSV_scope,$nodeGuid,$portGuid,$portNum,$desc,$msgBody,$CSV_severity,$exid,$err_type
+        }
+    }
+
+    regsub -all {%n} "[join $msgText \n]" "\n" msgText
+
+    ### DontTrimLine
+    if {[info exists dontTrimLine]} {
+	PutsIn80Chars $msgText $putsFlags -length 160
+    } else {
+	PutsIn80Chars $msgText $putsFlags
+    }
+    if {[info exists exitStatus]} {
+	puts "    $Exiting.\n"
+	if {[info exists showSynopsys]} {
+	    showHelpPage -sysnopsys
+	    puts ""
+	}
+	catch { close $G(logFileID) }
+	exit $exitStatus
+    }
+    return
+}
+##############################
+
+##############################
+#  NAME         RequirePackage
+#  FUNCTION require the available packages for device specific crRead/crWrite
+#  RESULT       ammm... the available packages are required
+proc RequirePackage {} {
+    global G PKG_FLAGS InfoArgv
+    ### Require Tcl and ibdm packages
+    if {[string compare [package provide Tcl] 8.4] < 0} {
+	inform "-E-loading:cannot.use.current.tcl.package" -version [package provide Tcl]
+    }
+
+    set pkgList [lsearch -inline -all [package names] ibdiag_*]
+
+    foreach pkg $pkgList {
+	scan [split $pkg _] {%s %s} . pkgName
+	## Package - Test1.0: package name
+	if {![info exists pkgName]} {
+	    inform "-W-loading:cannot.load.package" -package $pkg -error "Illegal name"
+	    continue
+	} else {
+	    package require $pkg
+	}
+
+	set listProcs [info procs ${pkg}::*]
+	set criticalErr 0
+	## Package - Test2.0: package must include: ::${pkg}::GetPkg_Flags/GetPkg_FlagInfo
+	foreach procName "::${pkg}::GetPkg_Flags ::${pkg}::GetPkg_FlagInfo" {
+	    if {[lsearch $listProcs $procName] == -1} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following procedure is missing: $procName"
+		set criticalErr 1
+		break
+	    }
+	}
+	if {$criticalErr} {
+	    continue
+	}
+
+	## Package - Test3-Test4: each package flags
+	set listOfFlags [::${pkg}::GetPkg_Flags]
+	foreach tmpFlag $listOfFlags {
+	    # Package - Test3: Deal with duplicate flags
+	    if {[info exists PKG_FLAGS(data:list.flags)] } {
+		if {[lsearch $PKG_FLAGS(data:list.flags) $tmpFlag] != -1} {
+		    inform "-W-loading:cannot.load.package" -package $pkg \
+			-error "The following flag: $tmpFlag allready provided"
+		    set $criticalErr 1
+		}
+	    }
+	    if {$criticalErr} {
+		break
+	    }
+	    # Package - Test3.0-Test3.1: Flag name format
+	    set flgName [string trimleft $tmpFlag -]
+	    set tmpPkgName [string range $flgName 0 [expr [string length $pkgName] - 1 ]]
+	    if {$tmpPkgName != $pkgName} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag is illegal: $tmpFlag"
+		set criticalErr 1
+		continue
+	    }
+
+	    # Package - Test4.0: each flag must return 1 for illegal flags
+	    set tmpFlagInfo [${pkg}::GetPkg_FlagInfo $tmpFlag]
+	    if {$tmpFlagInfo == 1} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag: $tmpFlag return with 0 from GetPkg_FlagInfo"
+		set criticalErr 1
+		continue
+	    }
+
+	    # Package - Test4.0.1-Test4.1: Try to add a package flag
+	    switch [UpdateInfoArgv_Pkg [${pkg}::GetPkg_FlagInfo $tmpFlag] $tmpFlag] {
+		0 {
+		}
+		-1 {
+		    inform "-W-loading:cannot.load.package" -package $pkg \
+			-error "The following flag: $tmpFlag unsupported tools were given"
+		    set criticalErr 1
+		    continue
+		}
+		1 {
+		    ### DZ: no entries are given
+		}
+	    }
+
+	    # Package - Test4.2: each flag must have procedure.info entry in GetPkg_FlagInfo
+	    set procInfoIndx [lsearch -regexp $tmpFlagInfo "$tmpFlag,proc.info" ]
+	    if {$procInfoIndx == -1} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag: $tmpFlag doesn't have a matching proc"
+		set criticalErr 1
+		continue
+	    }
+
+	    # Package - Test4.3: run/check/dump procedures
+	    set procsNames [lindex [lindex $tmpFlagInfo $procInfoIndx] end]
+	    regexp {^([^.]*).([^.]*).([^.]*).([^.]*)} $procsNames . run check dump parse
+	    if {[llength $run] == 0} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag: $tmpFlag doesn't have a running procedure"
+		set criticalErr 1
+		continue
+	    }
+	    foreach procName "run check dump parse" {
+		if {[subst $$procName] == ""} {
+		    continue
+		}
+		if {[lsearch $listProcs ::${pkg}::[subst $$procName]] == -1} {
+		    inform "-W-loading:cannot.load.package" -package $pkg \
+			-error "The following flag: $tmpFlag support a proc which doesn't exists: ::${pkg}::[subst $$procName]"
+		    set criticalErr 1
+		    continue
+		}
+	    }
+	    if {$criticalErr} {
+		continue
+	    }
+	    set PKG_FLAGS(data:$tmpFlag.run) ::${pkg}::$run
+	    set PKG_FLAGS(data:$tmpFlag.check) ::${pkg}::$check
+	    set PKG_FLAGS(data:$tmpFlag.dump) ::${pkg}::$dump
+	    set PKG_FLAGS(data:$tmpFlag.parse) ::${pkg}::$parse
+
+	    # Package - Test4.4: legal flag,error message
+	    set errorInfoIndx [lsearch -regexp $tmpFlagInfo "$tmpFlag,error" ]
+	    if {$errorInfoIndx == -1} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag: $tmpFlag doesn't have an error message"
+		set criticalErr 1
+		continue
+	    } else {
+		set errorMassage [lrange [lindex $tmpFlagInfo $errorInfoIndx] 1 end]
+		if {![string equal $errorMassage -E-argv.pkg.external.flag]} {
+		    inform "-W-loading:cannot.load.package" -package $pkg \
+			-error "The following flag: $tmpFlag have an illegal error message: $errorMassage"
+		    set criticalErr 1
+		    continue
+		}
+	    }
+
+	    # Package - Test4.5: legal flag,name val
+	    set nameInfoIndx [lsearch -regexp $tmpFlagInfo "$tmpFlag,name" ]
+	    if {$nameInfoIndx == -1} {
+		inform "-W-loading:cannot.load.package" -package $pkg \
+		    -error "The following flag: $tmpFlag doesn't have a name entry"
+		set criticalErr 1
+		continue
+	    } else {
+		set nameVal [lrange [lindex $tmpFlagInfo $nameInfoIndx] 1 end]
+		if {![string equal $nameVal $flgName]} {
+		    inform "-W-loading:cannot.load.package" -package $pkg \
+			-error "The following flag: $tmpFlag have an illegal name val: $nameVal"
+		    set criticalErr 1
+		    continue
+		}
+	    }
+
+	    set toolNameIndx [lsearch $tmpFlagInfo "*,tool.name *"]
+	    set listOfTools [lrange [lindex $tmpFlagInfo $toolNameIndx] 1 end]
+	    foreach toolName $listOfTools {
+		UpToolsFlags [string trimleft $tmpFlag -] $toolName
+	    }
+	    lappend PKG_FLAGS(data:list.flags) $tmpFlag
+	}
+	if {$criticalErr} {
+	    continue
+	}
+	foreach toolName $listOfTools {
+	    UpToolsFlags . $toolName
+	}
+    }
+}
+
+proc RequireIBDM {} {
+    global G env
+    if {![BoolWordInList load_ibdm $G(argv:skip.checks)]} {
+	if {[catch { package require ibdm } errMsg]} {
+	    inform "-E-loading:cannot.load.package.ibdm" -errMsg $errMsg
+	}
+
+	if {[info commands ibdmFindRootNodesByMinHop] == ""} {
+	    inform "-E-loading:cannot.use.current.ibdm.package" -version [package provide ibdm]
+	}
+
+	if {[info commands ibdmUseInternalLog] == ""} {
+	    inform "-E-loading:cannot.use.current.ibdm.package" -version [package provide ibdm]
+	}
+
+	set env(IBDM_IBNL_PATH) [file join $G(argv:out.dir) ibdiag_ibnl]
+
+	if {[info exists G(argv:topo.file)] && (![BoolWordInList load_ibdm $G(argv:skip.checks)])} {
+	    set G(IBfabric:.topo) [new_IBFabric]
+	    if {[IBFabric_parseTopology $G(IBfabric:.topo) $G(argv:topo.file)]} {
+		inform "-E-parse.topology"
+	    }
+	}
+    } else {
+	inform "-W-loading:cannot.load.package.ibdm"
+    }
+
+    return
+}
+##############################
+
+##############################
+proc showHelpPage { args } {
+    global G InfoArgv
+
+    ##############################
+    ### ibdiagnet help page
+    ##############################
+    set helpPage(ibdiagnet) \
+	"DESCRIPTION
+      ibdiagnet scans the fabric using directed route packets and extracts all the
+      available information regarding its connectivity and devices.
+      It then produces the following files in the output directory defined by the
+      -o option (see below):
+            ibdiagnet.lst    - A list of all the nodes, ports and links in the fabric
+            ibdiagnet.fdbs   - A dump of the unicast forwarding tables of the fabric
+                               switches
+            ibdiagnet.mcfdbs - A dump of the multicast forwarding tables of the fabric
+                               switches
+            ibdiagnet.masks  - In case of duplicate port/node Guids, these file include
+                               the map between masked Guid and real Guids
+            ibdiagnet.sm     - A dump of all the SM (state and priority) in the fabric
+            ibdiagnet.pm     - In case -pm option was provided, this file contain a dump
+                               of all the nodes PM counters
+            ibdiagnet.pkey   - A list of the partitions in the IB fabric and their members
+            ibdiagnet.db     - A dump of the internal subnet database. This file can be loaded
+                               in later runs using the -load_db option
+            In addition to generating the files above, the discovery phase also checks for
+            duplicate node/port GUIDs in the IB fabric. If such an error is detected, it
+            is displayed on the standard output.
+            After the discovery phase is completed, directed route packets are sent
+            multiple times (according to the -c option) to detect possible problematic
+            paths on which packets may be lost. Such paths are explored, and a report of
+            the suspected bad links is displayed on the standard output.
+            After scanning the fabric, if the -r option is provided, a full report of the
+            fabric qualities is displayed.
+            This report includes:
+            SM report
+            Number of nodes and systems
+            Hop-count information:
+            maximal hop-count, an example path, and a hop-count histogram
+            All CA-to-CA paths traced
+            Credit loop report
+            mgid-mlid-HCAs matching table
+            Note: In case the IB fabric includes only one CA, then CA-to-CA paths are not
+            reported.
+            Furthermore, if a topology file is provided, ibdiagnet uses the names defined
+            in it for the output reports.
+
+            ERROR CODES
+            1 - Failed to fully discover the fabric
+            2 - Failed to parse command line options
+            3 - Failed to interact with IB fabric
+            4 - Failed to use local device or local port
+            5 - Failed to use Topology File
+            6 - Failed to load required Package"
+
+    #   The number of retries of sending a specific packet is given by the -f option (default = 3).
+    ##############################
+    ### ibdiagpath help page
+    ##############################
+    set helpPage(ibdiagpath) \
+	"DESCRIPTION
+            ibdiagpath traces a path between two end-points and provides information
+            regarding the nodes and ports traversed along the path. It utilizes device
+            specific health queries for the different devices along the traversed path.
+            The way ibdiagpath operates depends on the addressing mode used on the command
+            line. If directed route adressing is used, the local node is the source node
+            and the route to the destination port is known apriori.
+            On the other hand, if LID route (or by-name) addressing is imployed,
+         then the source and destination ports of a route are specified by their LIDs
+            (or by the names defined in the topology file). In this case, the actual path
+            from the local port to the source port, and from the source port to the
+            destination port, is defined by means of Subnet Management Linear Forwarding
+            Table queries of the switch nodes along those paths. Therefore, the path
+            cannot be predicted as it may change.
+            The tool allows omitting the source node, in which case the local port on the
+            machine running the tool is assumed to be the source.
+            Note: When ibdiagpath queries for the performance counters along the path between
+            the source and destination ports, it always traverses the LID route, even if a
+            directed route is specified. If along the LID route one or more links are not
+            in the ACTIVE state, ibdiagpath reports an error.
+
+            ERROR CODES
+            1 - The path traced is un-healthy
+            2 - Failed to parse command line options
+            3 - More then 64 hops are required for traversing the local port to the \"Source\" port and then to the \"Destination\" port.
+            4 - Unable to traverse the LFT data from source to destination
+            5 - Failed to use Topology File
+            6 - Failed to load required Package"
+    #   The number of retries of sending a specific packet is given by the -f option (default = 3).
+
+    ##############################
+    ### ibping help page
+    ##############################
+    set helpPage(ibping) \
+	"DESCRIPTION
+            ibping pings a target port by sending SM_PortInfo mad request to the target port.
+            The target port is specified by means of either its LID,
+         a direct route to it - a sequence of a output ports through which the packet should be forwarded,
+         or its name (the latter - provided that the fabric's topoloy is given).
+            If the target node is specified by a direct route, the packets will be sent by direct route,
+         otherwise (lid or name addressing) they will be sent by LID route.
+            The total number of packets sent is defined by the -c option (100 by default).
+            After sending the desired number of packets ibping reports back
+            the accumulated number of failures and successful responses.
+            If the -v option is defined a verbose line is printed for each packet sent,
+         containing the time sent, and the trip total time or failure.
+
+            ERROR CODES
+            1 - Some packets failed to return
+            2 - Failed to parse command line options
+            3 - Given name does not exist or some topology required parameters were not provided
+            4 - Failed to bind to the driver"
+
+    ##############################
+    ### ibcfg help page
+    ##############################
+    set helpPage(ibcfg) \
+	"DESCRIPTION
+            ibcfg provides user interface for device level configuration.
+            It runs in two modes: query mode (-q) or configuration mode (-c).
+            The query mode provides back a list of the specific device commands and their parameters.
+            The configuration mode requires the name of the command to be executed and its parameters.
+            To support \"Device Specific\" configuration options the implementation of this command
+            relies on vendor provided modules.
+            With this architecture each device has its own set of commands provided by the device manufacturer.
+            Please see the set of commands that will be available for each Mellanox device at appendix A.
+            This utility also supports controlling local devices accessible through the local PCI bus or I2C.
+            To configure a local device the -m flag should be provided following an MST device designator.
+
+            ERROR CODES
+            1 - Fail to execute the command
+            2 - No such command for the given device
+            3 - Fail to find the given device"
+
+    ##############################
+    ### ibmad help page
+    ##############################
+    set helpPage(ibmad) \
+	"DESCRIPTION
+            ibmad is a generic mad injector supporting many types of attributes.
+            It works in two modes: query and injection.
+            The query mode denoted by the -q option provides the list of attributes supported
+            and their detailed list of fields or required modifier values:
+            if an attribute is provided then the list of the attribute fields and modifiers is printed.
+               Otherwise the list of attributes is printed.
+                  The injection mode requires a method and an attribute options and optional list
+                  of field name and values to fill into the mad.
+                  All fields not being provided are filled with zeros.
+
+                  ATTRRIBUTES:
+                  The following attributes are supported:
+                  SMPs:
+                  SM_NodeInfo, SM_PortInfo, SM_SwitchInfo, SM_NodeDescription,
+                  SM_LFTBlock, SM_MFTBlock, SM_GUIDInfo, SM_PKeyTable,
+         SM_SLVLTable and SM_VLArbTable, SM_Notice.
+            Performance Monitoring Queries:
+            PM_PortCounters
+            Vendor Specific:
+            VS_CfgReg, VS_CfgRegVL15
+
+            ERROR CODES
+            -1 - Fail to find target device
+            -2 - Fail to parse command line (might be wrong attribute method field...)
+            <1-N> - Remote mad status"
+
+    ##############################
+    ### ibsac help page
+    ##############################
+    set helpPage(ibsac) \
+	"DESCRIPTION
+            ibsac sends SA queries.
+            The supported attributes and their fields
+            are provided in the \"query\" mode (-q).
+
+            ERROR CODES
+            -1 - Fail to find target device
+            -2 - Fail to parse command line (might be wrong attribute method field
)
+            <1-N> - Remote mad status"
+
+    ##############################
+    ### ibdiagui help page
+    ##############################
+    set helpPage(ibdiagui) \
+	"DESCRIPTION
+            ibdiagui is a GUI wrapper for ibdiagnet.
+            Its main features:
+            1. Display a graph of teh discovered fabric (with optional names annotattion)
+            2. Hyperlink the ibdiagnet log to the graph objects
+            3. Show each object properties and object type specific actions
+            on a properties pannel."
+
+    # OPTIONS
+    # -<field-i> <val-i>: specific attribute field and value. Automatically sets the component mask bit.
+    ##############################
+
+    set onlySynopsys [BoolWordInList "-sysnopsys" $args]
+    # NAME
+    if { ! $onlySynopsys } {
+	puts "NAME\n  $G(var:tool.name)"
+    }
+
+    # SYNOPSIS
+    set SYNOPSYS "SYNOPSYS\n  $G(var:tool.name)"
+    set OPTIONS "OPTIONS"
+    foreach item [GetToolsFlags $G(var:tool.name)] {
+	if { $item == ";" } {
+	    append SYNOPSYS "\n\n  $G(var:tool.name)"
+	    continue;
+	}
+	if { $item == "." } {
+	    append SYNOPSYS "\n    "
+	    continue;
+	}
+
+	set synopsysFlags ""
+	set mandatory [regsub -all {[()]} $item "" item]
+	foreach flag [split $item |] {
+	    set flagNparam "-$flag"
+	    catch { append flagNparam " <$InfoArgv(-$flag,param)>" }
+	    set flagNdesc "$flagNparam:"
+	    if {[catch { append flagNdesc " $InfoArgv(-$flag,desc)" }]} {
+		append flagNdesc " "
+	    }
+	    catch {
+		if { ( [set defVal $InfoArgv(-$flag,default)] != "" ) \
+			 && ( ! [BoolWordInList $flag "i v"] ) } {
+		    append flagNdesc " (default = $defVal)"
+		}
+	    }
+	    if {[regexp {\(} $item]} { ; # only mandatory flags have optional flags
+		catch { append flagNparam " \[$InfoArgv(-$flag,optional)\]" }
+	    }
+	    lappend synopsysFlags $flagNparam
+	    lappend OPTIONS $flagNdesc
+	    lappend lcol [string first ":" $flagNdesc]
+	}
+
+	if { [string length "[lindex [split $SYNOPSYS \n] end] $synopsysFlags "] > 80 } {
+	    append SYNOPSYS "\n    "
+	}
+	if { ! $mandatory } {
+	    append SYNOPSYS " \[[join $synopsysFlags]\]"
+	} elseif { [llength $synopsysFlags] == 1 } {
+	    append SYNOPSYS " [join $synopsysFlags |]"
+	} else {
+	    append SYNOPSYS " \{[join $synopsysFlags |]\}"
+	}
+    }
+    lappend OPTIONS ""
+    foreach flag [GetToolsFlags general] {
+	set flagNparam "-$flag"
+	if {[regexp {^\-} $flag]} {
+	    set flagNparam "   -$flag"
+	}
+	catch { append flagNparam " <$InfoArgv(-$flag,param)>" }
+	catch { append flagNparam "|$InfoArgv(-$flag,longflag)" }
+	set flagNdesc "$flagNparam:"
+	catch { append flagNdesc " $InfoArgv(-$flag,desc)" }
+	lappend OPTIONS $flagNdesc
+	lappend lcol [string first ":" $flagNdesc]
+    }
+
+    puts "$SYNOPSYS"
+    if {$onlySynopsys} { return }
+
+    # OPTIONS
+    regsub -all "<>" $OPTIONS "" newOPTIONS
+    set colIndent [lindex [lsort -integer $lcol] end]
+    set OPTIONS ""
+    foreach option $newOPTIONS {
+	set colIndx [string first ":" $option]
+	regsub ":" $option "[Bar " " [expr $colIndent - $colIndx]]:" option
+	lappend OPTIONS $option
+    }
+    lappend lcol [string first ":" $option]
+
+    set text [split $helpPage($G(var:tool.name)) \n]
+    set index 0
+    set read 0
+    foreach line $text {
+	incr index
+	if { [incr read [expr [regexp "DESCRIPTION" $line] + ( $read && ! [regexp {[^ ]} $line] ) ]] > 1 } {
+	    break;
+	}
+    }
+
+    puts "\n[join [lrange $text 0 [expr $index -1]] \n]"
+    PutsIn80Chars "[join $OPTIONS "\n  "]" -chars ": "
+    PutsIn80Chars "\n[join [lrange $text $index end ] \n]" -chars "-"
+
+    return
+}
+######################################################################
+
diff --git a/ibdiag/src/ibdiagnet.in b/ibdiag/src/ibdiagnet.in
new file mode 100644
index 0000000..f20695f
--- /dev/null
+++ b/ibdiag/src/ibdiagnet.in
@@ -0,0 +1,10 @@
+#!/bin/sh -f
+
+export TCLLIBPATH="%with_ibdm_lib% %ibdiag_libdir%"; \
+export PATH="%with_ibis%":"%with_ibis_bindir%":$PATH; \
+exec ibis "$@" <<EOF
+
+set argv0 ibdiagnet
+package require ibdiagnet
+
+EOF
diff --git a/ibdiag/src/ibdiagnet.pkg b/ibdiag/src/ibdiagnet.pkg
new file mode 100644
index 0000000..ea5df64
--- /dev/null
+++ b/ibdiag/src/ibdiagnet.pkg
@@ -0,0 +1,6 @@
+
+proc ibdiagnet-load {dir} {
+   puts "Loading IBDIAGNET from: $dir"
+   uplevel #0 source [file join $dir ibdiagnet.tcl]
+}
+package ifneeded ibdiagnet 1.0 [list ibdiagnet-load $dir]
diff --git a/ibdiag/src/ibdiagnet.tcl b/ibdiag/src/ibdiagnet.tcl
new file mode 100644
index 0000000..ab536df
--- /dev/null
+++ b/ibdiag/src/ibdiagnet.tcl
@@ -0,0 +1,139 @@
+### This script is running over ibis (/usr/bin/ibis)
+source [file join [file dirname [info script]] ibdebug.tcl]
+
+######################################################################
+#  IB Debug Tools
+#  NAME
+#     ibdiagnet
+#
+#  COPYRIGHT
+#
+#     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.
+#
+# * Copyright (c) 2005 Mellanox Technologies. All rights reserved.
+#
+# DATAMODEL
+#     Note: all global variables are placed in the array G
+#
+#  FUNCTION
+#     ibdiagnet discovers the entire network. providing text display of the result as well as subnet.lst,
+#     LFT dump (same format as osm.fdbs) and Multicast dump (same as osm.mcfdbs).
+#     The discovery exhaustively routes through all the fabric links multiple times,
+#     tracking and reporting packet drop statistics - indicating bad links if any.
+#
+#  AUTHOR
+#  Danny Zarko. Mellanox Technologies LTD.
+#
+#  CREATION DATE
+#  04/Aug/05
+#
+#  MODIFICATION HISTORY
+#  $Revision: 2608 $
+#  Initial Revision.
+#
+#  NOTES
+#
+#******
+######################################################################
+
+######################################################################
+### Action
+######################################################################
+### Initialize ibis and pre-setting for ibdiag
+InitializeIBDIAG
+InitializeINFO_LST
+StartIBDIAG
+
+set G(bool:bad.links.detected) 1
+
+### Discover the cluster
+if {[catch {DiscoverFabric 0} e]} {
+   puts <$e:$errorInfo>
+   ### Discover the hidden cluster
+   if {[catch {DiscoverHiddenFabric} e]} {
+      inform "-I-discover:discovery.status"
+      inform "-I-exit:\\r"
+      inform "-V-discover:end.discovery.header"
+      writeCSVErrorsFile
+      inform "-E-discover:broken.func" $errorInfo $e
+   }
+}
+
+writeDBFile
+
+### Write the .lst and .mask files
+writeMasksFile
+writeLstFile
+
+writeCSVLinksFile
+
+### match topology (if topology was given)
+set G(bool:topology.matched) [expr ([MatchTopology $G(outfiles,.lst)] == 0)]
+if {$G(bool:topology.matched)} {
+    file delete $G(outfiles,.lst)
+    writeLstFile
+}
+writeCSVInventoryFile
+
+DumpBadLidsGuids
+DumpBadLinksLogic
+CheckSM
+PMCounterQuery
+CheckAllinksSettings
+CheckPartitions
+CheckIPoIB
+
+### Write the .fdbs, .mcfdbs, and .sm files
+writeFdbsFile
+writeMcfdbsFile
+writeSMFile
+
+### output info about bad/broken links
+DumpBadLinks
+
+### report the results of topology matching (after bad links report)
+DumpTopologyMatching
+
+### Dump out Topology if requested
+writeTopologyFileAndIBNLs
+
+### run packages provided procs
+catch {RunPkgProcs} e
+
+### report fabric qualities
+if {[catch {DumpFabQualities} e]} { puts "\n\nERROR $errorInfo $e" ; exit 1}
+
+### Report CSV errors
+writeCSVErrorsFile
+
+### Finishing
+FinishIBDIAG
+######################################################################
+package provide $G(var:tool.name)
+
diff --git a/ibdiag/src/ibdiagpath.in b/ibdiag/src/ibdiagpath.in
new file mode 100644
index 0000000..99b572f
--- /dev/null
+++ b/ibdiag/src/ibdiagpath.in
@@ -0,0 +1,10 @@
+#!/bin/sh -f
+
+export TCLLIBPATH="%with_ibdm_lib% %ibdiag_libdir%"; \
+export PATH="%with_ibis%":"%with_ibis_bindir%":$PATH; \
+exec ibis "$@" <<EOF
+
+set argv0 ibdiagpath
+package require ibdiagpath
+
+EOF
diff --git a/ibdiag/src/ibdiagpath.pkg b/ibdiag/src/ibdiagpath.pkg
new file mode 100644
index 0000000..09bab94
--- /dev/null
+++ b/ibdiag/src/ibdiagpath.pkg
@@ -0,0 +1,6 @@
+proc ibdiagpath-load {dir} {
+   puts "Loading IBDIAGPATH from: $dir"
+   uplevel #0 source [file join $dir ibdiagpath.tcl]
+}
+package ifneeded ibdiagpath 1.0 [list ibdiagpath-load $dir]
+
diff --git a/ibdiag/src/ibdiagpath.tcl b/ibdiag/src/ibdiagpath.tcl
new file mode 100644
index 0000000..5988c41
--- /dev/null
+++ b/ibdiag/src/ibdiagpath.tcl
@@ -0,0 +1,218 @@
+### This script is running over ibis (/usr/bin/ibis)
+source [file join [file dirname [info script]] ibdebug.tcl]
+
+######################################################################
+#  IB Debug Tools
+#  NAME
+#     ibdiagpath
+#
+#  COPYRIGHT
+#
+#     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.
+#
+# * Copyright (c) 2005 Mellanox Technologies. All rights reserved.
+#
+# DATAMODEL
+#     Note: all global variables are placed in the array G
+#
+#  FUNCTION
+#     ibdiagpath traces a path between two LIDs/GUIDs
+#     and provides information regarding the nodes and ports passed and their health.
+#     ibdiagpath utilizes device-specific health queries for the different devices on the path.
+#
+#  AUTHOR
+#     Danny Zarko. Mellanox Technologies LTD.
+#
+#  CREATION DATE
+#     04/Aug/05
+#
+#  MODIFICATION HISTORY
+#  $Revision: 2622 $
+#  Initial Revision.
+#
+#  NOTES
+#
+#******
+######################################################################
+
+######################################################################
+proc ibdiagpathMain {} {
+   # previously, consisted of 2 procs, ibdiagpathGetPaths & readPerfCountres
+   global G errorInfo
+   set addressingLocalPort 0
+   # So we could use topology file names
+   set G(bool:topology.matched) [info exists G(argv:topo.file)]
+   # lid routing
+   if {[info exists G(argv:lid.route)]} {
+      set targets [split $G(argv:lid.route) ","]
+      if { $G(argv:lid.route) == $G(data:root.port.lid) } {
+         set addressingLocalPort 1
+      }
+      if {[llength $targets] == 2} {
+         if {[lindex $targets 0] == [lindex $targets 1]} {
+            set targets [lindex $targets 0]
+         }
+      }
+   }
+
+   # direct routing
+   if [info exists G(argv:direct.route)] {
+      set targets [list [split $G(argv:direct.route) ","]]
+      if { $G(argv:direct.route) == "" } {
+         set addressingLocalPort 1
+      }
+   }
+
+   ## for the special case when addressing the local node
+   if $addressingLocalPort {
+      inform "-W-ibdiagpath:ardessing.local.node"
+      set paths $G(argv:port.num)
+   }
+
+   # CHECK some Where that the names are legal
+   if [info exists G(argv:by-name.route)] {
+      array set mergedNodesArray [join [IBFabric_NodeByName_get $G(IBfabric:.topo)]]
+
+      set localNodePtr  [IBFabric_getNode $G(IBfabric:.topo) $G(argv:sys.name)]
+      set localPortPtr  [IBNode_getPort $localNodePtr $G(argv:port.num)]
+      set localPortName [IBPort_getName $localPortPtr]
+      if {[catch {set tmpRemote [IBPort_p_remotePort_get $localPortPtr]}]} {
+         continue
+      }
+      foreach portPtr [GetArgvPortNames] {
+         if { $portPtr == $localPortPtr } {
+            lappend targets $G(data:root.port.lid)
+         } else {
+            if {[catch {set tmpDR [Name2Lid $tmpRemote $portPtr $G(argv:port.num)]} e]} {
+               inform "-E-topology:bad.sysName.or.bad.topoFile" -name [IBPort_getName $portPtr]
+            }
+            if {$tmpDR == -1} {
+               inform "-E-topology:no.route.to.host.in.topo.file" -name [IBPort_getName $portPtr] -topo.file $G(argv:topo.file)
+            }
+            if {[lindex $tmpDR end ] == 0} {
+               if {[catch {set newTarget [GetParamValue LID [lrange $tmpDR 0 end-1] -port 0 -byDr]} e]} {
+                  inform "-E-topology:bad.path.in.name.tracing" -path $tmpDR -name [IBPort_getName $portPtr]
+               }
+            } else {
+               if {[catch {set newTarget [GetParamValue LID "$tmpDR" -port [IBPort_num_get $portPtr] -byDr]} e]} {
+                  inform "-E-topology:bad.path.in.name.tracing" -path $tmpDR -name [IBPort_getName $portPtr]
+               }
+            }
+            if {($newTarget == -1)} {
+               inform "-E-topology:lid.by.name.failed" -name [IBPort_getName $portPtr]
+            }
+            if {($newTarget == 0)} {
+               inform "-E-topology:lid.by.name.zero" -path $tmpDR -name [IBPort_getName $portPtr]
+            }
+            lappend targets $newTarget
+            lappend targetsNames
+         }
+         lappend targetsNames [IBPort_getName $portPtr]
+         if { "$targets" == $G(data:root.port.lid) } {
+            set addressingLocalPort 1
+         }
+      }
+      if {[llength $targets] == 2} {
+         inform "-I-ibdiagpath:obtain.src.and.dst.lids" -name0 [lindex $targetsNames 0] \
+            -name1 [lindex $targetsNames 1] -lid0 [lindex $targets 0] -lid1 [lindex $targets 1]
+      } else {
+         inform "-I-ibdiagpath:obtain.src.and.dst.lids" -name0 $localPortName \
+            -name1 [lindex $targetsNames 0] -lid0 $G(data:root.port.lid) -lid1 [lindex $targets 0]
+      }
+   }
+   set paths ""
+   set G(bool:bad.links.detected) 1
+   for {set i 0} {$i < [llength $targets]} {incr i} {
+      set address [lindex $targets $i]
+      if { !$addressingLocalPort} {
+         if {!$i } {
+            if {[llength $targets] < 2} {
+               inform "-I-ibdiagpath:read.lft.header" local destination
+            } else {
+               inform "-I-ibdiagpath:read.lft.header" local source
+            }
+         } else {
+            inform "-I-ibdiagpath:read.lft.header" source destination
+         }
+      }
+      set paths [concat $paths [DiscoverPath [lindex $paths end] $address]]
+   }
+
+   set G(bool:bad.links.detected) 0
+
+   # Translating $src2trgtPath (starting at node at index $startIndex) into a list of LIDs and ports
+   set local2srcPath   [lindex [lreplace $paths end end] end]
+   set src2trgtPath    [lindex $paths end]
+   set startIdx        [llength $local2srcPath]
+
+   # For the case when the source node is a remote HCA
+   if { ( $startIdx != 0 ) && [GetParamValue Type $local2srcPath -byDr] != "SW" } {
+      set sourceIsHca [lindex $local2srcPath end]
+      incr startIdx -2
+   }
+   # the following loop is only for pretty-priting...
+   set llen ""
+   for { set i $startIdx } { $i < [llength $src2trgtPath] } { incr i } {
+      set portNames [lindex [linkNamesGet [lrange $src2trgtPath 0 $i]] end]
+      lappend llen [string length [lindex $portNames 0]] [string length [lindex $portNames 1]]
+   }
+   set maxLen [lindex [lsort -integer $llen] end]
+   # preparing the list of lid-s and ports for reading the PM counters
+   PMCounterQuery
+   AnalyzePathPartitions $paths
+   CheckPathIPoIB $paths
+   CheckPathQoS $paths
+   #SL_2_VL $paths $targets
+   #foreach path $paths {
+   #    puts DZ:[join $path ,]
+   #}
+   return
+}
+######################################################################
+
+######################################################################
+### Action
+######################################################################
+### Initialize ibis
+InitializeIBDIAG
+InitializeINFO_LST
+StartIBDIAG
+
+### Figuring out the paths to take and Reading Performance Counters
+set G(bool:bad.links.detected) 1
+ibdiagpathMain
+set G(bool:bad.links.detected) 0
+CheckAllinksSettings
+
+### run packages provided procs
+RunPkgProcs
+
+### Finishing
+FinishIBDIAG
+######################################################################
diff --git a/ibdiag/src/ibdiagui.in b/ibdiag/src/ibdiagui.in
new file mode 100644
index 0000000..3a4d55a
--- /dev/null
+++ b/ibdiag/src/ibdiagui.in
@@ -0,0 +1,11 @@
+#!/bin/sh -f
+
+export TCLLIBPATH="%with_ibdm_lib% %ibdiag_libdir% %with_tk_lib% %with_graphviz_lib%"; \
+export TK_LIBRARY="%with_tk_lib%"; \
+export PATH="%with_ibis%":"%with_ibis_bindir%":$PATH; \
+exec ibis "$@" <<EOF
+
+set argv0 ibdiagui
+package require ibdiagui
+
+EOF
diff --git a/ibdiag/src/ibdiagui.pkg b/ibdiag/src/ibdiagui.pkg
new file mode 100644
index 0000000..22d0edd
--- /dev/null
+++ b/ibdiag/src/ibdiagui.pkg
@@ -0,0 +1,6 @@
+
+proc ibdiagui-load {dir} {
+   puts "Loading IBDIAGUI from: $dir"
+   uplevel #0 source [file join $dir ibdiagui.tcl]
+}
+package ifneeded ibdiagui 1.0 [list ibdiagui-load $dir]
diff --git a/ibdiag/src/ibdiagui.tcl b/ibdiag/src/ibdiagui.tcl
new file mode 100644
index 0000000..607e73e
--- /dev/null
+++ b/ibdiag/src/ibdiagui.tcl
@@ -0,0 +1,2772 @@
+# This code should be sourced into ibis through ibdiagui wrapper
+source [file join [file dirname [info script]] ibdebug.tcl]
+
+if {[catch {package require ibdm} e]} {
+   puts "-E- ibdiagui depends on a 'IBDM' installation"
+   puts "    Your ib_utils installation must be broken. Please reinstall"
+   puts "    Error: $e"
+   exit 1
+}
+
+if {[catch {package require ibis} e]} {
+   puts "-E- ibdiagui depends on a 'ibis' installation"
+   puts "    Your ib_utils installation must be broken. Please reinstall"
+   puts "    Error: $e"
+   exit 1
+}
+
+##############################################################################
+#
+# GENERIC CANVAS ZOOMING UTILITIES
+#
+##############################################################################
+
+#--------------------------------------------------------
+#
+#  zoomMark
+#
+#  Mark the first (x,y) coordinate for zooming.
+#
+#--------------------------------------------------------
+proc zoomMark {c x y} {
+   global zoomArea
+   set zoomArea(x0) [$c canvasx $x]
+   set zoomArea(y0) [$c canvasy $y]
+   $c create rectangle $x $y $x $y -outline black -tag zoomArea
+}
+
+#--------------------------------------------------------
+#
+#  zoomStroke
+#
+#  Zoom in to the area selected by itemMark and
+#  itemStroke.
+#
+#--------------------------------------------------------
+proc zoomStroke {c x y} {
+   global zoomArea
+   set zoomArea(x1) [$c canvasx $x]
+   set zoomArea(y1) [$c canvasy $y]
+   $c coords zoomArea $zoomArea(x0) $zoomArea(y0) $zoomArea(x1) $zoomArea(y1)
+}
+
+#--------------------------------------------------------
+#
+#  zoomArea
+#
+#  Zoom in to the area selected by itemMark and
+#  itemStroke.
+#
+#--------------------------------------------------------
+proc zoomArea {c x y} {
+   global zoomArea
+
+   #--------------------------------------------------------
+   #  Get the final coordinates.
+   #  Remove area selection rectangle
+   #--------------------------------------------------------
+   set zoomArea(x1) [$c canvasx $x]
+   set zoomArea(y1) [$c canvasy $y]
+   $c delete zoomArea
+
+   #--------------------------------------------------------
+   #  Check for zero-size area
+   #--------------------------------------------------------
+   if {($zoomArea(x0)==$zoomArea(x1)) || ($zoomArea(y0)==$zoomArea(y1))} {
+      return
+   }
+
+   #--------------------------------------------------------
+   #  Determine size and center of selected area
+   #--------------------------------------------------------
+   set areaxlength [expr {abs($zoomArea(x1)-$zoomArea(x0))}]
+   set areaylength [expr {abs($zoomArea(y1)-$zoomArea(y0))}]
+   set xcenter [expr {($zoomArea(x0)+$zoomArea(x1))/2.0}]
+   set ycenter [expr {($zoomArea(y0)+$zoomArea(y1))/2.0}]
+
+   #--------------------------------------------------------
+   #  Determine size of current window view
+   #  Note that canvas scaling always changes the coordinates
+   #  into pixel coordinates, so the size of the current
+   #  viewport is always the canvas size in pixels.
+   #  Since the canvas may have been resized, ask the
+   #  window manager for the canvas dimensions.
+   #--------------------------------------------------------
+   set winxlength [winfo width $c]
+   set winylength [winfo height $c]
+
+   #--------------------------------------------------------
+   #  Calculate scale factors, and choose smaller
+   #--------------------------------------------------------
+   set xscale [expr {$winxlength/$areaxlength}]
+   set yscale [expr {$winylength/$areaylength}]
+   if { $xscale > $yscale } {
+      set factor $yscale
+   } else {
+      set factor $xscale
+   }
+
+   #--------------------------------------------------------
+   #  Perform zoom operation
+   #--------------------------------------------------------
+   zoom $c $factor $xcenter $ycenter $winxlength $winylength
+}
+
+#--------------------------------------------------------
+#
+#  fit
+#
+#  Fit to all objects
+#--------------------------------------------------------
+proc fit { canvas } {
+   set bbox [$canvas bbox all]
+   # provided view is the start and end of the viewed window in 0.0-1.0 of the
+   # entire region.
+   set xv [$canvas xview]
+   set yv [$canvas yview]
+   set xf [expr [lindex $xv 1] - [lindex $xv 0]]
+   set yf [expr [lindex $yv 1] - [lindex $yv 0]]
+   if {$yf < $xf} {
+      set scale $yf
+   } else {
+      set scale $xf
+   }
+   # we want to set the center of the canvas to the bbox / 2
+   foreach {x0 y0 x1 y1} $bbox {break}
+   set x [expr ($x0 + $x1)/2.0]
+   set y [expr ($y0 + $y1)/2.0]
+   zoom $canvas $scale $x $y
+}
+
+#--------------------------------------------------------
+#
+#  zoom
+#
+#  Zoom the canvas view, based on scale factor
+#  and centerpoint and size of new viewport.
+#  If the center point is not provided, zoom
+#  in/out on the current window center point.
+#
+#  This procedure uses the canvas scale function to
+#  change coordinates of all objects in the canvas.
+#
+#--------------------------------------------------------
+proc zoom { canvas factor \
+               {xcenter ""} {ycenter ""} \
+               {winxlength ""} {winylength ""} } {
+
+   #--------------------------------------------------------
+   #  If (xcenter,ycenter) were not supplied,
+   #  get the canvas coordinates of the center
+   #  of the current view.  Note that canvas
+   #  size may have changed, so ask the window
+   #  manager for its size
+   #--------------------------------------------------------
+   if { [string equal $winxlength ""] } {
+      set winxlength [winfo width $canvas]
+   }
+   if { [string equal $winylength ""] } {
+      set winylength [winfo height $canvas]
+   }
+   if { [string equal $xcenter ""] } {
+      set xcenter [$canvas canvasx [expr {$winxlength/2.0}]]
+   }
+   if { [string equal $ycenter ""] } {
+      set ycenter [$canvas canvasy [expr {$winylength/2.0}]]
+   }
+
+   #--------------------------------------------------------
+   #  Scale all objects in the canvas
+   #  Adjust our viewport center point
+   #--------------------------------------------------------
+   $canvas scale all 0 0 $factor $factor
+   set xcenter [expr {$xcenter * $factor}]
+   set ycenter [expr {$ycenter * $factor}]
+
+   #--------------------------------------------------------
+   #  Get the size of all the items on the canvas.
+   #
+   #  This is *really easy* using
+   #      $canvas bbox all
+   #  but it is also wrong.  Non-scalable canvas
+   #  items like text and windows now have a different
+   #  relative size when compared to all the lines and
+   #  rectangles that were uniformly scaled with the
+   #  [$canvas scale] command.
+   #
+   #  It would be better to tag all scalable items,
+   #  and make a single call to [bbox].
+   #  Instead, we iterate through all canvas items and
+   #  their coordinates to compute our own bbox.
+   #--------------------------------------------------------
+   set x0 1.0e30; set x1 -1.0e30 ;
+   set y0 1.0e30; set y1 -1.0e30 ;
+   foreach item [$canvas find all] {
+      switch -exact [$canvas type $item] {
+         "arc" -
+         "line" -
+         "oval" -
+         "polygon" -
+         "rectangle" {
+            set coords [$canvas coords $item]
+            foreach {x y} $coords {
+               if { $x < $x0 } {set x0 $x}
+               if { $x > $x1 } {set x1 $x}
+               if { $y < $y0 } {set y0 $y}
+               if { $y > $y0 } {set y1 $y}
+            }
+         }
+      }
+   }
+
+   #--------------------------------------------------------
+   #  Now figure the size of the bounding box
+   #--------------------------------------------------------
+   set xlength [expr {$x1-$x0}]
+   set ylength [expr {$y1-$y0}]
+
+   #--------------------------------------------------------
+   #  But ... if we set the scrollregion and xview/yview
+   #  based on only the scalable items, then it is not
+   #  possible to zoom in on one of the non-scalable items
+   #  that is outside of the boundary of the scalable items.
+   #
+   #  So expand the [bbox] of scaled items until it is
+   #  larger than [bbox all], but do so uniformly.
+   #--------------------------------------------------------
+   foreach {ax0 ay0 ax1 ay1} [$canvas bbox all] {break}
+
+   while { ($ax0<$x0) || ($ay0<$y0) || ($ax1>$x1) || ($ay1>$y1) } {
+      # triple the scalable area size
+      set x0 [expr {$x0-$xlength}]
+      set x1 [expr {$x1+$xlength}]
+      set y0 [expr {$y0-$ylength}]
+      set y1 [expr {$y1+$ylength}]
+      set xlength [expr {$xlength*3.0}]
+      set ylength [expr {$ylength*3.0}]
+   }
+
+   #--------------------------------------------------------
+   #  Now that we've finally got a region defined with
+   #  the proper aspect ratio (of only the scalable items)
+   #  but large enough to include all items, we can compute
+   #  the xview/yview fractions and set our new viewport
+   #  correctly.
+   #--------------------------------------------------------
+   set newxleft [expr {($xcenter-$x0-($winxlength/2.0))/$xlength}]
+   set newytop  [expr {($ycenter-$y0-($winylength/2.0))/$ylength}]
+   $canvas configure -scrollregion [list $x0 $y0 $x1 $y1]
+   $canvas xview moveto $newxleft
+   $canvas yview moveto $newytop
+
+   #--------------------------------------------------------
+   #  Change the scroll region one last time, to fit the
+   #  items on the canvas.
+   #--------------------------------------------------------
+   $canvas configure -scrollregion [$canvas bbox all]
+}
+
+##############################################################################
+#
+# NETWORK GRAPH UTILITIES
+#
+##############################################################################
+
+# provide back color based on port speed / speed
+proc portColor {port} {
+   set width [IBPort_width_get $port]
+   set speed [IBPort_speed_get $port]
+
+   set color [getColor $width${speed}G]
+
+   return $color
+}
+
+proc LoadAnnotationsFile {} {
+   global ANNOTATIONS
+   global ANNOTATION_FILE P
+
+   if {![info exists ANNOTATION_FILE]} {
+      return
+   }
+   if {![file readable $ANNOTATION_FILE]} {
+      return
+   }
+
+   set f [open $ANNOTATION_FILE r]
+
+   if {[info exists ANNOTATIONS]} {unset ANNOTATIONS}
+
+   while {[gets $f sLine] >= 0} {
+      # TODO: Support not only sysPort annotations
+      if {![regexp {(\S+)\s+(.+)} $sLine d1 name anno]} {
+         puts "-W- Skipping annotation file line:$sLine"
+         continue
+      }
+      set ANNOTATIONS(sysport:$name) $anno
+   }
+}
+
+proc DrawAnnotationFromFile {} {
+   global ANNOTATIONS
+   global C gFabric
+
+   # clear all annotations
+   $C delete withtag anno
+
+   # TODO: Support not only sysPort annotations
+   foreach e [array names ANNOTATIONS sysport:*] {
+      set sysPortName [string range $e [string length sysport:] end]
+      set anno $ANNOTATIONS($e)
+
+      # find the sys port
+      set sysPort [findSysPortByName $sysPortName]
+      if {$sysPort == ""} {
+         puts "-W- failed to find sys port:$sysPortName"
+         continue
+      }
+
+      set sysName [IBSystem_name_get [IBSysPort_p_system_get $sysPort]]
+      set portName [IBSysPort_name_get $sysPort]
+      # get the items of this port
+      set items [$C find withtag ${portName}&&sysport&&of:$sysName]
+      if {[llength $items] == 0} {
+         puts "-W- No items for sys port:$sysPortName"
+         continue
+      }
+
+      set bbox [$C bbox $items]
+      set outCoords [bboxCenter $bbox [expr rand()*0.95]]
+      $C create text $outCoords -tags anno -fill red \
+         -text $anno
+      puts "-I- Annotated $sysPortName with $anno"
+   }
+}
+
+
+# draw a single node
+proc drawNode {node graph} {
+   global NODE
+   global IB_CA_NODE
+   set nodeName [IBNode_name_get $node]
+
+   if {[regexp {^node:(.*)} $nodeName d1 n]} {
+      set nodeName "0x$n"
+   }
+
+   set nodeLabel "\{$nodeName|"
+   set numPorts [IBNode_numPorts_get $node]
+   switch  $numPorts {
+      1 {append nodeLabel "{<f1> P1}\}"}
+      2 {append nodeLabel "{<f1> P1|<f2> P2}\}"}
+      8 {
+         append nodeLabel "{<f1> P1|<f2> P2|<f3> P3|<f4> P4}|"
+         append nodeLabel "{<f5> P5|<f6> P6|<f7> P7|<f8> P8}\}"
+      }
+      24 {
+         append nodeLabel "{<f1> P1|<f2> P2|<f3> P3|<f4> P4}|"
+         append nodeLabel "{<f5> P5|<f6> P6|<f7> P7|<f8> P8}|"
+         append nodeLabel "{<f9> P9|<f10> P10|<f11> P11|<f12> P12}|"
+         append nodeLabel "{<f13> P13|<f14> P14|<f15> P15|<f16> P16}|"
+         append nodeLabel "{<f17> P17|<f18> P18|<f19> P19|<f20> P20}|"
+         append nodeLabel "{<f21> P21|<f22> P22|<f23> P23|<f24> P24}\}"
+      }
+      default {
+         puts "-E- Fail to handle $nodeName with $numPorts ports"
+      }
+   }
+   set NODE($node) \
+      [$graph addnode $nodeName shape record \
+          fontsize 7 label $nodeLabel \
+          fillcolor lightblue2 style filled \
+         ]
+
+   if {[IBNode_type_get $node] == $IB_CA_NODE} {
+      $NODE($node) setattributes fillcolor lightgrey
+   }
+}
+
+proc drawSystem {sys graph} {
+   global SYSTEM
+   global SYS_PORT_IDX_BY_NAME
+   global EXPAND_SYSTEMS
+   global ANNOTATIONS
+
+   # puts "-I- Drawing system $sys"
+   set sysName [IBSystem_name_get $sys]
+
+   # remove extra "system" from auto systems
+   if {[regexp {^system:(.*)} $sysName d1 n]} {
+      set sysName "0x$n"
+   }
+
+   # the system might be expanded
+   if {[info exists EXPAND_SYSTEMS($sysName)]} {
+      set subGraph [$graph addsubgraph \
+                       cluster_$sysName label $sysName labelfontsize 7 \
+                       bgcolor wheat color black]
+      foreach nameNNode [IBSystem_NodeByName_get $sys] {
+         set node [lindex $nameNNode 1]
+         drawNode $node $subGraph
+      }
+      return
+   }
+
+   set sysLabel "\{$sysName|"
+
+   # we only draw system ports that are connected
+   set connSysPorts {}
+   set prevPrefix "-"
+   set first 1
+   set sysPortIdx 0
+   set numInLine 0
+   set sysPorts [IBSystem_PortByName_get $sys]
+   foreach sysNameNPort [lsort -dictionary -index 0 $sysPorts] {
+      foreach {portName sysPort} $sysNameNPort {break}
+
+      set fullName "$sysName/$portName"
+      set isAnnotated [info exists ANNOTATIONS(sysport:$fullName)]
+      set remSysPort [IBSysPort_p_remoteSysPort_get $sysPort]
+      if {$isAnnotated == 0 && $remSysPort == ""} {continue}
+
+      # we use heuristic to know when to break the ports line
+      if {![regexp {(.*)/[^/]+$} $portName d1 prefix]} {
+         set prefix ""
+      }
+
+      if {$prefix != $prevPrefix || $numInLine == 6} {
+         set numInLine 0
+         if {$first} {
+            append sysLabel "\{"
+            set first 0
+         } else {
+            append sysLabel "\}|\{"
+         }
+         set prevPrefix $prefix
+      } else {
+         if {$first == 0} {
+            append sysLabel "|"
+         } else {
+            set first 0
+         }
+      }
+      incr numInLine
+      append sysLabel "<f$sysPortIdx> $portName"
+      set SYS_PORT_IDX_BY_NAME($sys,$portName) $sysPortIdx
+      incr sysPortIdx
+   }
+   if {$first == 0} {
+      append sysLabel "\}\}"
+   } else {
+      append sysLabel "\}"
+   }
+
+   if {[regexp {^S[0-9a-fA-F]+$} $sysName]} {
+      set fillColor lightgrey
+   } else {
+      set fillColor lightyellow
+   }
+
+   global SYSTEM_ORDER
+   if {[info exist SYSTEM_ORDER] && [lsearch $SYSTEM_ORDER $sysName] >= 0} {
+      set SYSTEM($sys) \
+         [$graph addnode $sysName shape record \
+             fontsize 7 label $sysLabel labelfontcolor red \
+             fillcolor $fillColor style filled \
+             pos 10,10 ]
+   } else {
+      set SYSTEM($sys) \
+         [$graph addnode $sysName shape record \
+             fontsize 7 label $sysLabel labelfontcolor red \
+             fillcolor $fillColor style filled \
+            ]
+   }
+}
+
+# draw a single node connections
+proc drawNodeConns {node graph} {
+   global SYS_PORT_IDX_BY_NAME
+   global NODE SYSTEM
+   global EXPAND_SYSTEMS
+   global CONN
+
+   #  puts "-V- Drawing connections of node:[IBNode_name_get $node]"
+   set sys [IBNode_p_system_get $node]
+   set sysName [IBSystem_name_get $sys]
+   set isExpanded [info exists EXPAND_SYSTEMS($sysName)]
+   for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {$port == ""} {continue}
+      set portName [IBPort_getName $port]
+
+      set remPort [IBPort_p_remotePort_get $port]
+      if {$remPort == ""} {continue}
+
+      set remPortName [IBPort_getName $remPort]
+      if {[info exists CONN($remPortName)] } {continue}
+
+      set toNode [IBPort_p_node_get $remPort]
+      set toPortNum [IBPort_num_get $remPort]
+      set toSys  [IBNode_p_system_get $toNode]
+      set toSysName [IBSystem_name_get $toSys]
+
+      # we can skip connections within same system if it
+      # is not expanded
+      if {($sys == $toSys) && !$isExpanded} {continue}
+
+      # now we need to figure out if we are connecting
+      # system ports or not
+      set sysPort [IBPort_p_sysPort_get $port]
+      if {$sysPort == "" || $isExpanded} {
+         set isDrawn [info exists NODE($node)]
+         if {$isDrawn == 0} {continue}
+         set fromRec $NODE($node)
+         set fromPort f$pn
+      } else {
+         if {![info exists SYSTEM($sys)]} {
+            puts "-W- System $sys is not drawn???"
+            continue
+         }
+         set fromRec $SYSTEM($sys)
+         set fromPortName [IBSysPort_name_get $sysPort]
+         if {![info exists SYS_PORT_IDX_BY_NAME($sys,$fromPortName)]} {
+            puts "-W- System $sys port $fromPortName is not drawn???"
+            continue
+         }
+         set fromPort "f$SYS_PORT_IDX_BY_NAME($sys,$fromPortName)"
+      }
+
+      set remSysPort [IBPort_p_sysPort_get $remPort]
+      set isRemExpanded [info exists EXPAND_SYSTEMS($toSysName)]
+      if {$remSysPort == "" || $isRemExpanded} {
+         set toRec $NODE($toNode)
+         set toPort f$toPortNum
+      } else {
+         set toRec $SYSTEM($toSys)
+         set toPortName [IBSysPort_name_get $remSysPort]
+         set toPort "f$SYS_PORT_IDX_BY_NAME($toSys,$toPortName)"
+      }
+
+      #     puts  "-V- Connecting from:$fromRec / $fromPort -> $toRec / $toPort ... "
+      set conn \
+         [$graph addedge "$toRec" "$fromRec" \
+             tailport $toPort headport $fromPort \
+             arrowhead normal arrowtail normal \
+            ]
+
+      set CONN($portName) $conn
+
+      # use coloring for link speed/width
+      $conn setattributes color [portColor $port]
+   }
+}
+
+# process the code generated by graphviz
+proc tagGraphVizCode {fabric code} {
+   global NODE SYSTEM
+   set newCode {}
+
+   # We scan through the code for text and on the first
+   # appearence of a node tag. Then try matching against known
+   # systems and nodes
+   set newCode ""
+   set numSystems 0
+   set numNodes 0
+   set numPorts 0
+   set prevNode ""
+   foreach sLine [split $code "\n"] {
+      if {[regexp {^(.*-text.*-tags\s+)(.*graph.*)} $sLine d1 pf tags]} {
+         append newCode "$pf {$tags system}\n"
+         incr numSystems
+      } elseif {[regexp {^(.*-text\s+(\S+).*-tags\s+)(.*node.*)} \
+                    $sLine d1 pf txt tags]} {
+         # we can be on a new node -
+         if {$prevNode != $tags} {
+            # new node tag is it a system or node?
+            set sys [IBFabric_getSystem $fabric $txt]
+            if {$sys != ""} {
+               #              puts "-V- TAGS: new sys $tags txt:$txt"
+               # a system
+               append newCode "$pf {$tags system}\n"
+               incr numSystems
+               set portTagType sysport
+               set parent $txt
+            } else {
+               #              puts "-V- TAGS: new node $tags txt:$txt"
+               set portTagType port
+               append newCode "$pf {$tags node}\n"
+               incr numNodes
+               set parent $txt
+            }
+            set prevNode $tags
+         } else {
+            #           puts "-V- TAGS: new $portTagType $tags txt:$txt"
+
+            # it must be a port
+            append newCode "$pf {$tags $portTagType of:$parent}\n"
+            incr numPorts
+         }
+      } else {
+         append newCode "$sLine\n"
+      }
+   }
+   # avoid the disabling of the widgets
+   regsub -all -- {-disabled} $newCode {} newCode
+   puts "-I- Marked $numSystems systems $numNodes nodes $numPorts ports"
+   return $newCode
+}
+
+# create selection box for each object type and assign bindings
+proc bindMenusToTags {c} {
+
+   set objNHdl {
+      system  showSysMenu
+      node    showNodeMenu
+      port    showPortMenu
+      sysport showSysPortMenu
+   }
+
+   foreach {type hdlFunc} $objNHdl {
+      foreach item [$c find withtag $type] {
+         foreach {x0 y0 x1 y1} [$c bbox $item] {break}
+         set dy [expr $y1 - $y0]
+         if {[catch {set name [$c itemcget $item -text]}]} {continue}
+         set tags [$c itemcget $item -tags]
+         $c addtag $name withtag $item
+         lappend tags name:$name
+         lappend tags ${type}Handle
+         set handleItem [$c create rectangle $x0 \
+                            [expr $y0 - $dy] $x1 [expr $y1 + $dy] \
+                            -outline {} -tags $tags]
+
+         $c bind $handleItem <1> [list $hdlFunc %W %x %y]
+      }
+   }
+}
+
+# provide a system list in the order stored by system names
+# return a list of {name id} pairs
+proc getSysList {fabric} {
+   global SYSTEM_ORDER
+
+   # first get all the systems sorted by name
+   set sysList {}
+   set nameList {}
+   if {[info exists SYSTEM_ORDER]} {
+      foreach sysName $SYSTEM_ORDER {
+         set sys [IBFabric_getSystem $fabric $sysName]
+         if {$sys != ""} {
+            puts "-I- Adding root $sysName"
+            lappend sysList [list $sysName $sys]
+            lappend nameList $sysName
+         }
+      }
+   }
+
+   # now build the name list not including the
+   foreach nameNSys [lsort -index 0 [IBFabric_SystemByName_get $fabric]] {
+      set name [lindex $nameNSys 0]
+      set sys  [lindex $nameNSys 1]
+      if {[lsearch -exact $nameList $name] < 0} {
+         lappend sysList [list $name $sys]
+         lappend nameList $name
+      }
+   }
+   return $sysList
+}
+
+# take a canvans and a fabric and draw the fabric on the canvas
+proc drawFabric {fabric c} {
+   global NODE SYSTEM CONN SYS_PORT_IDX_BY_NAME
+   global EXPAND_SYSTEMS
+
+   foreach g {CONN NODE SYSTEM SYS_PORT_IDX_BY_NAME} {
+      if {[info exists $g]} {
+         unset $g
+      }
+   }
+
+   # cleanup the canvas
+   $c delete all
+
+   #   set graph [dotnew graph mode hier rankdir TB fontsize 7 \
+      #                 ranksep equaly labelfontsize 7 size 300,300]
+   set cbg [option get $c background *]
+   set graph [dotnew graph mode hier fontsize 7 \
+                 ranksep equaly labelfontsize 7 bgcolor $cbg]
+
+   # we add each system as a subgraph and then
+   foreach nameNSys [getSysList $fabric] {
+      set sys [lindex $nameNSys 1]
+      drawSystem $sys $graph
+   }
+
+   # go over all nodes and connect them
+   foreach nameNNode [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nameNNode 1]
+      drawNodeConns $node $graph
+   }
+
+   SetStatus "-I- Calculating graph layout ..."
+   $graph layout NEATO
+   SetStatus "-I- Packing graph ..."
+   set code [$graph render]
+   SetStatus "-I- Packing graph ... done"
+
+   set newCode [tagGraphVizCode $fabric $code]
+   eval $newCode
+   bindMenusToTags $c
+
+   # fit the canvas
+   # fit $c
+}
+
+#assume there is a name:* tag in teh list return the name
+proc getNameTag {tags} {
+   set idx [lsearch -glob $tags name:*]
+   if {$idx < 0} {
+      return ""
+   }
+   return [string range [lindex $tags $idx] 5 end]
+}
+
+proc getOfTag {tags} {
+   set idx [lsearch -glob $tags of:*]
+   if {$idx < 0} {
+      return ""
+   }
+   return [string range [lindex $tags $idx] 3 end]
+}
+
+# set the EXPANDED for the system under the cursor and
+# call redraw
+proc expand {c x y} {
+   global EXPAND_SYSTEMS
+   global gFabric C
+   set tags [$c itemcget current -tags]
+   if {[llength $tags] == 0} {return}
+   set sysName [getNameTag $tags]
+
+   SetStatus "-I- Expanding System: $sysName ..."
+   puts "-I- Expanding System: $sysName ..."
+
+   set EXPAND_SYSTEMS($sysName) 1
+
+   after 100 drawFabric $gFabric $C
+}
+
+# set the EXPANDED for the system under the cursor and
+# call redraw
+proc deExpand {c x y} {
+   global EXPAND_SYSTEMS
+   global gFabric C
+   set tags [$c itemcget current -tags]
+   if {[llength $tags] == 0} {return}
+   set sysName [getNameTag $tags]
+
+   SetStatus "-I- De-Expanding System: $sysName ..."
+   puts "-I- De-Expanding System: $sysName ..."
+
+   if {[info exists EXPAND_SYSTEMS($sysName)]} {
+      unset EXPAND_SYSTEMS($sysName)
+   }
+
+   after 100 drawFabric $gFabric $C
+}
+
+proc showSysMenu {c x y} {
+   global gFabric
+   set tags [$c itemcget current -tags]
+   set sysName [getNameTag $tags]
+   puts "System: $sysName"
+   # find the port
+   set sys [IBFabric_getSystem $gFabric $sysName]
+   if {$sys == ""} {
+      puts "-E- fail to find system $sysName in the fabric"
+      return
+   }
+   PropsUpdate system $sys
+}
+
+proc showNodeMenu {c x y} {
+   global gFabric
+   set tags [$c itemcget current -tags]
+   set nodeName [getNameTag $tags]
+   # add node: if guid:
+   if {[regexp {0x([0-9a-fA-F]{16})} $nodeName d1 n]} {
+      set nodeName "node:$n"
+   }
+   puts "Node: $nodeName"
+
+   set node [IBFabric_getNode $gFabric $nodeName]
+   if {$node == ""} {
+      puts "-E- fail to find node $nodeName in the fabric"
+      puts "    [IBFabric_NodeByName_get $gFabric]"
+      return
+   }
+
+   PropsUpdate node $node
+}
+
+proc showPortMenu {c x y} {
+   global gPort gFabric
+   set tags [$c itemcget current -tags]
+   #  puts "-V- $tags"
+   set ntag [getOfTag $tags]
+   set node [$c find withtag ${ntag}&&node ]
+   set nodeName [$c itemcget $node -text]
+   set portName [getNameTag $tags]
+   puts "Port: $nodeName $portName"
+
+   # find the port
+   set node [IBFabric_getNode $gFabric $nodeName]
+   if {$node == ""} {
+      puts "-E- fail to find node $nodeName in the fabric"
+      puts "    [IBFabric_NodeByName_get $gFabric]"
+      return
+   }
+
+   regexp {[0-9]+} $portName portNum
+   set port [IBNode_getPort $node $portNum]
+   if {$port == ""} {
+      puts "-E- fail to find port $nodeName/$portName in the fabric"
+      return
+   }
+
+   PropsUpdate port $port
+}
+
+proc showSysPortMenu {c x y} {
+   global gPort gFabric
+   set tags [$c itemcget current -tags]
+   set ntag [getOfTag $tags]
+   set systag [$c find withtag ${ntag}&&system ]
+   set sysName [$c itemcget $systag -text]
+   # add node: if guid:
+   if {[regexp {0x([0-9a-fA-F]{16})} $sysName d1 n]} {
+      set nodeName "system:$n"
+   }
+   set portName [getNameTag $tags]
+   puts "SysPort: $sysName $portName"
+
+   # find the port
+   set sys [IBFabric_getSystem $gFabric $sysName]
+   if {$sys == ""} {
+      puts "-E- fail to find system $sysName in the fabric"
+      return
+   }
+
+   set sysPort [IBSystem_getSysPort $sys $portName]
+   if {$sysPort == ""} {
+      puts "-E- fail to find system port $sysName/$portName in the fabric"
+      return
+   }
+
+   PropsUpdate sysport $sysPort
+}
+
+# Perform the fabric update based on the availability of a topology
+# and the LST file
+proc GraphUpdate {lstFile} {
+   global G
+   global gTopoFabric
+   global gLstFabric
+   global gFabric
+   global C
+
+   # cleanup
+   foreach fType {gFabric gTopoFabric gLstFabric} {
+      if {[info exists $fType]} {
+         delete_IBFabric [set $fType]
+      }
+   }
+
+   set gFabric [new_IBFabric]
+
+   if {![info exists G(argv:topo.file)]} {
+      puts "-I- Parsing subnet lst: $lstFile"
+      IBFabric_parseSubnetLinks $gFabric $lstFile
+   } else {
+      # load the topo
+      set gTopoFabric [new_IBFabric]
+      IBFabric_parseTopology $gTopoFabric $G(argv:topo.file)
+
+      # load the lst
+      set gLstFabric [new_IBFabric]
+      IBFabric_parseSubnetLinks $gLstFabric $lstFile
+
+      # compare and merge
+      set m [ibdmMatchFabrics $gTopoFabric $gLstFabric \
+                $G(argv:sys.name) $G(argv:port.num) $G(data:root.port.guid)]
+      puts $m
+
+      ibdmBuildMergedFabric $gTopoFabric $gLstFabric $gFabric
+      puts "-I- Topo merged"
+   }
+
+   drawFabric $gFabric $C
+}
+
+# clear all highlights
+proc guiClearAllMarking {} {
+   global C
+
+   set items [$C find withtag mark]
+   puts "-I- Clearing mark on $items"
+   foreach item $items {
+      if {[llength [$C gettags $item]] == 1} {
+         $C delete $item
+      } else {
+         $C dtag $item mark
+         $C itemconfigure $item -fill black -activefill black
+      }
+   }
+}
+
+proc SetStatus {msg} {
+   global S O StatusLine
+   $S configure -state normal
+   set StatusLine $msg
+   $S configure -state readonly
+   set color $O(color:txtDef)
+   if {[regexp {^-([WEI])-} $msg d1 type]} {
+      switch $type {
+         E {set color $O(color:txtErr)}
+         W {set color $O(color:txtWarn)}
+         I {set color $O(color:txtInfo)}
+      }
+   }
+   $S configure -foreground [lindex $color 2]
+   update
+}
+
+# zoom to object by ibdm id
+proc zoomToObjByIbdmId {type obj} {
+   global C
+
+   switch $type {
+      system {
+         set name [IBSystem_name_get $obj]
+         set items [$C find withtag ${name}&&system]
+      }
+      node {
+         set name [IBNode_name_get $obj]
+         set items [$C find withtag ${name}&&node]
+      }
+      sysport {
+         set sys [IBSysPort_p_system_get $obj]
+         set sysName [IBSystem_name_get $sys]
+         set name [IBSysPort_name_get $obj]
+         set items [$C find withtag ${name}&&sysport&&of:$sysName]
+      }
+      port {
+         set node [IBPort_p_node_get $obj]
+         set nodeName [IBNode_name_get $node]
+         set name "P[IBPort_num_get $obj]"
+         set items [$C find withtag ${name}&&port&&of:$nodeName]
+      }
+   }
+   if {[llength $items]} {
+      set bbox [$C bbox $items]
+      set xy [bboxCenter $bbox]
+      zoom $C 1.0 [lindex $xy 0] [lindex $xy 1]
+      puts "-I- Zooming on $bbox"
+   } else {
+      puts "-I- No items for $type $obj"
+   }
+}
+
+# find and highlight a system by name
+proc guiHighLightByName {objType name} {
+   global gFabric C
+   set items ""
+   switch $objType {
+      system {
+         set sys [IBFabric_getSystem $gFabric $name]
+         if {$sys == ""} {
+            SetStatus "-W- Fail to find system by name:$name"
+            return
+         }
+         PropsUpdate system $sys
+
+         set items [$C find withtag ${name}&&system]
+      }
+      sysport {
+         # we need to try each hier sep
+         set sysName ""
+         set sys ""
+         set subNames [split $name /]
+
+         while {[llength $subNames]} {
+            set n [lindex $subNames 0]
+            set subNames [lrange $subNames 1 end]
+            if {$sysName != ""} { append sysName / }
+            append sysName $n
+            set sys [IBFabric_getSystem $gFabric $sysName]
+            if {$sys != ""} { break }
+         }
+
+         if {$sys == ""} {
+            SetStatus "-W- Fail to find system for port by name:\"$name\""
+            return
+         }
+
+         set portName [join $subNames /]
+         set sysPort [IBSystem_getSysPort $sys $portName]
+         if {$sysPort == ""} {
+            SetStatus "-W- Fail to find system port by name:\"$name\""
+            return
+         }
+         PropsUpdate sysport $sysPort
+         set items [$C find withtag ${portName}&&sysport&&of:$sysName]
+      }
+      node {
+         set node [IBFabric_getNode $gFabric $name]
+         if {$node == ""} {
+            SetStatus "-W- Fail to find node by name:$name"
+            return
+         }
+         PropsUpdate node $node
+         set items [$C find withtag ${name}&&node]
+         # we might need to look for a system...
+         if {[llength $items] == 0} {
+            set sys [IBNode_p_system_get $node]
+            set sysName [IBSystem_name_get $sys]
+            return [guiHighLightByName system $sysName]
+         }
+      }
+      port {
+         if {![regexp {(.*)/P([0-9]+)} $name d1 nodeName portNum]} {
+            SetStatus "-W- Fail to find node for port by name:\"$name\""
+            return
+         }
+         set node [IBFabric_getNode $gFabric $nodeName]
+         if {$node == ""} {
+            SetStatus "-W- Fail to find node for port by name:\"$name\""
+            return
+         }
+
+         set port [IBNode_getPort $node $portNum]
+         if {$port == ""} {
+            SetStatus "-W- Fail to find port by name:\"$name\""
+            return
+         }
+         PropsUpdate port $port
+         set portName "P$portNum"
+
+         set items [$C find withtag ${portName}&&port&&of:$nodeName]
+
+         if {[llength $items] == 0} {
+            set sysPort [IBPort_p_sysPort_get $port]
+            set sys [IBNode_p_system_get $node]
+            set sysName [IBSystem_name_get $sys]
+            if {$sysPort == ""} {
+               # it is internal - just highlight the sys
+               return [guiHighLightByName system $sysName]
+            } else {
+               set sysPortName "$sysName/[IBSysPort_name_get $sysPort]"
+               return [guiHighLightByName sysport $sysPortName]
+            }
+         }
+
+      }
+   }
+
+   if {![llength $items]} {
+      SetStatus "-W- Fail to find any displayed obejct for $objType name:\"$name\""
+      return
+   }
+
+   set bbox [$C bbox $items]
+   zoom $C 1.0 [lindex $bbox 0] [lindex $bbox 1]
+   foreach item $items {
+      $C itemconfigure $item -fill [getColor mark] -activefill [getColor mark]
+      $C addtag mark withtag $item
+   }
+
+   return $items
+}
+
+# find and highlight a system by name
+proc guiHighLightByGuid {objType guid} {
+   global gFabric C
+
+   # we try getting by system/node/port
+   set sys [IBFabric_getSystemByGuid $gFabric $guid]
+   set node [IBFabric_getNodeByGuid $gFabric $guid]
+   set port [IBFabric_getPortByGuid $gFabric $guid]
+
+   switch $objType {
+      system {
+         if {$sys != ""} {
+            set name [IBSystem_name_get $sys]
+         } elseif {$node != ""} {
+            set sys [IBNode_p_system_get $node]
+            set name [IBSystem_name_get $sys]
+         } elseif {$port != ""} {
+            set node [IBPort_p_node_get $port]
+            set sys [IBNode_p_system_get $node]
+            set name [IBSystem_name_get $sys]
+         } else {
+            SetStatus "-W- Fail to find system by guid:$guid"
+            return
+         }
+
+         set obj $sys
+         set items [$C find withtag ${name}&&system]
+      }
+      node {
+         if {$node != ""} {
+            set name [IBNode_name_get $node]
+         } elseif {$port != ""} {
+            set node [IBPort_p_node_get $port]
+            set name [IBNode_name_get $node]
+         } else {
+            SetStatus "-W- Fail to find node by guid:$guid"
+            return
+         }
+         set obj $node
+         set items [$C find withtag ${name}&&node]
+      }
+      port {
+         if {$port == ""} {
+            SetStatus "-W- Fail to find port by guid:$guid"
+            return
+         }
+         set obj $port
+
+         set nodeName [IBNode_name_get [IBPort_p_node_get $port]]
+         set name "P[IBPort_num_get $port]"
+         set items [$C find withtag ${name}&&port&&of:$nodeName]
+      }
+      sysport {
+         if {$port == ""} {
+            SetStatus "-W- Fail to find system port by guid:$guid"
+            return
+         }
+
+         set sysPort [IBPort_p_sysPort_get $port]
+         if {$sysPort == ""} {
+            SetStatus "-W- Fail to find system port for port with guid:$guid"
+            return
+         }
+
+         set sys [IBSysPort_p_system_get $sysPort]
+         set sysName [IBSystem_name_get $sys]
+         set name [IBSysPort_name_get $sysPort]
+         set obj $sysPort
+         set items [$C find withtag ${name}&&sysport&&of:$sysName]
+      }
+   }
+
+   if {![llength $items]} {
+      SetStatus "-W- Fail to find any displayed obejct for $objType name:\"$name\""
+      return
+   }
+
+   PropsUpdate $objType $obj
+   set bbox [$C bbox $items]
+   zoom $C 1.0 [lindex $bbox 0] [lindex $bbox 1]
+   foreach item $items {
+      $C itemconfigure $item -fill [getColor mark] -activefill [getColor mark]
+      $C addtag mark withtag $item
+   }
+   return $items
+}
+
+# find and highlight a system by name
+proc guiHighLightByLid {objType lid} {
+   global gFabric C
+
+   # we try getting port by lid:
+   set port [IBFabric_getPortByLid $gFabric $lid]
+   if {$port == ""} {
+      SetStatus "-W- Fail to find port by lid:$lid"
+      return
+   }
+
+   switch $objType {
+      system {
+         set node [IBPort_p_node_get $port]
+         set sys [IBNode_p_system_get $node]
+         set name [IBSystem_name_get $sys]
+         set items [$C find withtag ${name}&&system]
+      }
+      node {
+         set node [IBPort_p_node_get $port]
+         set name [IBNode_name_get $node]
+         set items [$C find withtag ${name}&&node]
+      }
+      port {
+         set nodeName [IBNode_name_get [IBPort_p_node_get $port]]
+         set name "P[IBPort_num_get $port]"
+         set items [$C find withtag ${name}&&port&&of:$nodeName]
+      }
+      sysport {
+         set sysPort [IBPort_p_sysPort_get $port]
+         if {$sysPort == ""} {
+            SetStatus "-W- Fail to find system port for port with lid:$lid"
+            return
+         }
+
+         set sys [IBSysPort_p_system_get $sysPort]
+         set sysName [IBSystem_name_get $sys]
+         set name [IBSysPort_name_get $sysPort]
+         set items [$C find withtag ${name}&&sysport&&of:$sysName]
+      }
+   }
+
+   if {![llength $items]} {
+      SetStatus "-W- Fail to find any displayed obejct for $objType lid:$lid"
+      return
+   }
+
+   set bbox [$C bbox $items]
+   zoom $C 1.0 [lindex $bbox 0] [lindex $bbox 1]
+   foreach item $items {
+      $C itemconfigure $item -fill [getColor mark] -activefill [getColor mark]
+      $C addtag mark withtag $item
+   }
+   return $items
+}
+
+# return a sys port if exists
+proc findSysPortByName {name} {
+   global gFabric
+   # we need to try each hier sep
+   set sysName ""
+   set sys ""
+   set subNames [split $name /]
+   set sysPort ""
+   while {[llength $subNames]} {
+      set n [lindex $subNames 0]
+      set subNames [lrange $subNames 1 end]
+      if {$sysName != ""} { append sysName / }
+      append sysName $n
+      set sys [IBFabric_getSystem $gFabric $sysName]
+      if {$sys != ""} { break }
+   }
+
+   if {$sys != ""} {
+      set portName [join $subNames /]
+      set sysPort [IBSystem_getSysPort $sys $portName]
+   }
+   return $sysPort
+}
+
+# simpler as we know the node ports end with P[0-9]+
+proc findPortByName {name} {
+   global gFabric
+
+   if {![regexp {(.*)/P([0-9]+)$} $name d1 nodeName portNum]} {
+      return ""
+   }
+
+   set node [IBFabric_getNode $gFabric $nodeName]
+   if {$node == ""} {
+      return ""
+   }
+
+   return [IBNode_getPort $node $portNum]
+}
+
+proc bboxCenter {bbox {xScale 0.5} {yScale 0.5}} {
+   foreach {x0 y0 x1 y1} $bbox {break}
+   return [list [expr ($x0*(1-$xScale) + $x1*$xScale)] \
+              [expr ($y0*(1-$yScale) + $y1*$yScale)] ]
+}
+
+# highlight all objects accross the directed route
+proc guiHighLightByDR {startPort route} {
+   global C
+   # first we try to get the given start port
+   set allItems {}
+
+   set sysPort [findSysPortByName $startPort]
+   if {$sysPort == ""} {
+      # try to get a port by that name
+      set port [findPortByName $startPort]
+      if {$port == ""} {
+         SetStatus "-W- Fail to find system port or port with name:\"$startPort\""
+         return
+      }
+   } else {
+      set port [IBSysPort_p_nodePort_get $sysPort]
+   }
+
+   # need to traverse from that port/sysport
+   # if the given path is made of [] we need to convert hex to dec
+   if {[regexp {^\s*([[][0-9a-fA-F][]])+\s*$} $route]} {
+      set dr {}
+      foreach h [split $route {[]}] {
+         if {$h != ""} {
+            lappend dr [expr 0x$h]
+         }
+      }
+   } else {
+      set dr [split $route ", "]
+   }
+
+   if {[lindex $dr 0] == 0} {
+      set dr [lrange $dr 1 end]
+   }
+
+   # traverse the path
+   set hop 0
+   foreach p $dr {
+      set items ""
+      set node [IBPort_p_node_get $port]
+      set outPort [IBNode_getPort $node $p]
+      if {$outPort == ""} {
+         SetStatus "-W- Got dead end on path at node:\"[IBNode_name_get $node]\" port:$p\""
+         break
+      }
+
+      # highlight outgoing port and sysport
+      set nodeName [IBNode_name_get [IBPort_p_node_get $outPort]]
+      set name "P[IBPort_num_get $outPort]"
+      set iItems [$C find withtag ${name}&&port&&of:$nodeName]
+      set allItems [concat $allItems $iItems]
+
+      set sysPort [IBPort_p_sysPort_get $outPort]
+      if {$sysPort != ""} {
+         set sys [IBSysPort_p_system_get $sysPort]
+         set sysName [IBSystem_name_get $sys]
+         set name [IBSysPort_name_get $sysPort]
+         set items [$C find withtag ${name}&&sysport&&of:$sysName]
+         set iItems [concat $iItems $items]
+      }
+      set allItems [concat $allItems $iItems]
+
+      if {[llength $iItems]} {
+         set outCoords [bboxCenter [$C bbox [lindex $iItems 0]] [expr rand()*0.95]]
+      }
+
+      set port [IBPort_p_remotePort_get $outPort]
+      if {$port == ""} {
+         SetStatus "-W- No remote port on path at node:\"[IBNode_name_get $node]\" port:$p\""
+         $C create text $outCoords -tags mark -fill [getColor mark] -text "DEAD END ($p)"
+         break
+      }
+
+      # highlight input port and sysport
+      set items ""
+      set nodeName [IBNode_name_get [IBPort_p_node_get $port]]
+      set name "P[IBPort_num_get $port]"
+      set items [$C find withtag ${name}&&port&&of:$nodeName]
+      set allItems [concat $allItems $items]
+      set oItems $items
+
+      set sysPort [IBPort_p_sysPort_get $port]
+      if {$sysPort != ""} {
+         set sys [IBSysPort_p_system_get $sysPort]
+         set sysName [IBSystem_name_get $sys]
+         set name [IBSysPort_name_get $sysPort]
+         set items [$C find withtag ${name}&&sysport&&of:$sysName]
+         set oItems [concat $oItems $items]
+      }
+      set allItems [concat $allItems $oItems]
+
+      if {[llength $oItems]} {
+         set inCoords [bboxCenter [$C bbox [lindex $oItems 0]] [expr rand()*0.95]]
+
+         # create a marker
+         $C create line [concat $outCoords $inCoords] \
+            -tags mark -fill [getColor mark] -arrow last
+         set x [expr ([lindex $outCoords 0] + [lindex $inCoords 0]) / 2.0]
+         set y [expr ([lindex $outCoords 1] + [lindex $inCoords 1]) / 2.0]
+         $C create text $x $y -anchor w -text $hop -tags mark -fill [getColor mtxt]
+      }
+
+      incr hop
+   }
+
+   foreach item $allItems {
+      $C itemconfigure $item -fill [getColor mark] -activefill [getColor mark]
+      $C addtag mark withtag $item
+   }
+   return $allItems
+}
+
+##############################################################################
+#
+# PROPS Widget Commands
+#
+##############################################################################
+proc PropsUpdate {objType ibdmHandle {zoom 0}} {
+   global P
+   # prevents recursion loop
+   global _PropsUpdate_inside
+   if {$ibdmHandle == ""} {return}
+
+   if {[info exists _PropsUpdate_inside] && $_PropsUpdate_inside} {return}
+   set _PropsUpdate_inside 1
+
+   if {$ibdmHandle == ""} { return }
+
+   foreach c [winfo child $P] {
+      pack forget $c
+   }
+
+   switch $objType {
+      system  {PropsSystem  $ibdmHandle}
+      node    {PropsNode    $ibdmHandle}
+      port    {PropsPort    $ibdmHandle}
+      sysport {PropsSysPort $ibdmHandle}
+   }
+
+   # zoom to that object
+   if {$zoom} {
+      zoomToObjByIbdmId $objType $ibdmHandle
+   }
+   set _PropsUpdate_inside 0
+}
+
+proc PropsSystem {sys} {
+   global P PROPS
+   set PROPS(sys,id)   $sys
+   set PROPS(sys,name) [IBSystem_name_get $sys]
+   set PROPS(sys,type) [IBSystem_type_get $sys]
+   set PROPS(sys,guid) [IBSystem_guid_get $sys]
+   set PROPS(sys,nodes,id) [IBSystem_NodeByName_get $sys]
+   set PROPS(sys,nodes) [llength $PROPS(sys,nodes,id)]
+   set b $PROPS(sys,nodes,menu)
+   $b delete 0 end
+   set i 0
+   foreach nameNNode $PROPS(sys,nodes,id) {
+      $b insert $i command -label [lindex $nameNNode 0] \
+         -command "PropsUpdate node [lindex $nameNNode 1]"
+      incr i
+   }
+   pack $P.sys -expand yes -fill x -anchor nw
+}
+
+proc PropsNode {node} {
+   global P PROPS
+   pack $P.node -expand yes -fill x -anchor nw
+   set PROPS(node,id)     $node
+   set PROPS(node,name)   [IBNode_name_get $node]
+   set PROPS(node,guid)   [IBNode_guid_get $node]
+   set PROPS(node,ports)  [IBNode_numPorts_get $node]
+   set PROPS(node,dev)    [IBNode_devId_get $node]
+   set PROPS(node,rev)    [IBNode_revId_get $node]
+   set PROPS(node,vend)   [IBNode_vendId_get $node]
+   set PROPS(node,sys,id) [IBNode_p_system_get $node]
+   set PROPS(node,sys)    [IBSystem_name_get $PROPS(node,sys,id)]
+   set PROPS(node,dr)     [getDrToNode $node]
+   set b $PROPS(node,ports,menu)
+   $b delete 0 end
+   set i 0
+   for {set pn 1} {$pn <= $PROPS(node,ports)} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {$port != ""} {
+         $b insert $i command -label "P$pn" \
+            -command "PropsUpdate port $port 1"
+         incr i
+      }
+   }
+}
+
+proc PropsPort {port} {
+   global P PROPS
+   pack $P.port -expand yes -fill x -anchor nw
+   set PROPS(port,id)    $port
+   set PROPS(port,name)  [IBPort_getName $port]
+   set PROPS(port,guid)  [IBPort_guid_get $port]
+   set PROPS(port,lid)   [IBPort_base_lid_get $port]
+   set PROPS(port,speed) [IBPort_speed_get $port]
+   set PROPS(port,width) [IBPort_width_get $port]
+   set node [IBPort_p_node_get $port]
+   set PROPS(port,node,id) $node
+   set PROPS(port,node)  [IBNode_name_get $node]
+   set remPort [IBPort_p_remotePort_get $port]
+   set PROPS(port,rem,id) $remPort
+   if {$remPort != ""} {
+      set PROPS(port,rem) [IBPort_getName $remPort]
+   } else {
+      set PROPS(port,rem) "NOT CONNECTED"
+   }
+   set sysPort [IBPort_p_sysPort_get $port]
+   set PROPS(port,sysp,id) $sysPort
+   if {$sysPort != ""} {
+      set sys [IBSysPort_p_system_get $sysPort]
+      set PROPS(port,sysp) \
+         "[IBSystem_name_get $sys]/[IBSysPort_name_get $sysPort]"
+   } else {
+      set PROPS(port,sysp) "NONE"
+   }
+}
+
+proc PropsSysPort {sysPort} {
+   global P PROPS ANNOTATIONS
+   pack $P.sysport -expand yes -fill x -anchor nw
+   set PROPS(sysport,id)    $sysPort
+   set PROPS(sysport,name)   [IBSysPort_name_get $sysPort]
+   set PROPS(sysport,sys,id) [IBSysPort_p_system_get $sysPort]
+   set PROPS(sysport,sys)    [IBSystem_name_get $PROPS(sysport,sys,id)]
+   set port [IBSysPort_p_nodePort_get $sysPort]
+   set PROPS(sysport,width) [IBPort_width_get $port]
+   set PROPS(sysport,speed) [IBPort_speed_get $port]
+   set node [IBPort_p_node_get $port]
+   set PROPS(sysport,port,id) $port
+   set PROPS(sysport,port) \
+      "[IBNode_name_get $node]/P[IBPort_num_get $port]"
+   set remSysPort [IBSysPort_p_remoteSysPort_get $sysPort]
+   set PROPS(sysport,rem,id) $remSysPort
+   if {$remSysPort != ""} {
+      set remSys [IBSysPort_p_system_get $remSysPort]
+      set PROPS(sysport,rem) \
+         "[IBSystem_name_get $remSys]/[IBSysPort_name_get $remSysPort]"
+   } else {
+      set PROPS(sysport,rem) "NOT CONNECTED"
+   }
+   set fullName "$PROPS(sysport,sys)/$PROPS(sysport,name)"
+   if {[info exists ANNOTATIONS(sysport:$fullName)]} {
+      set PROPS(sysport,anno) $ANNOTATIONS(sysport:$fullName)
+   } else {
+      set PROPS(sysport,anno) ""
+   }
+}
+
+# get a DR to a port by its ID
+# BFS untill finding it ...
+proc getDrToNode {targetNode} {
+   global G
+   global gFabric
+
+   set startPort [IBFabric_getPortByGuid $gFabric $G(data:root.port.guid)]
+   if {$startPort == ""} {
+      puts "-E- Fail to find start port !"
+      return -1
+   }
+
+   set Q [list [list [IBPort_p_node_get $startPort] "0"]]
+   while {[llength $Q]} {
+      set nodeNPath [lindex $Q 0]
+      set Q [lreplace $Q 0 0]
+
+      set node [lindex $nodeNPath 0]
+      set path [lindex $nodeNPath 1]
+
+      if {$node == $targetNode} {
+         puts "-I- Found node [IBNode_name_get $targetNode] at path:$path"
+         return $path
+      }
+
+      set VISITED($node) 1
+
+      for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set remPort [IBPort_p_remotePort_get $port]
+         if {$remPort == ""} {continue}
+         set remNode [IBPort_p_node_get $remPort]
+         if {[info exists VISITED($remNode)]} {continue}
+         lappend Q [list $remNode "$path,$pn"]
+      }
+   }
+   puts "-W- Failed to find node [IBNode_name_get $targetNode]"
+   return -1
+}
+
+# select a port number gui
+proc numSelector {maxNum title} {
+   global numSelectorVal
+   if {![winfo exists .num_select]} {
+      set t [toplevel .num_select]
+      wm withdraw $t
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+      label $t.l -text $title
+      pack $t.l -side top -expand yes -fill x
+      set o [tk_optionMenu $f.b numSelectorVal 1]
+      for {set i 2} {$i < $maxNum} {incr i} {
+         $o insert $i command -label $i \
+            -command "global numSelectorVal; update;set numSelectorVal $i"
+      }
+      set numSelectorVal 1
+      pack $f.b -side left -padx 2 -pady 2
+      pack $f
+   }
+   wm title .num_select $title
+   wm deiconify .num_select
+   update
+   tkwait variable numSelectorVal
+   destroy .num_select
+   return $numSelectorVal
+}
+
+# we rely on the current PROP for
+proc setPortState {state {port 0}} {
+   global PROPS
+
+   if {$port == 0} {
+      set port $PROPS(port,id)
+   }
+
+   set node [IBPort_p_node_get $port]
+
+   set drPath [getDrToNode $node]
+   if {$drPath == -1} {
+      return
+   }
+
+   set portNum [IBPort_num_get $port]
+   if {[catch {set res [exec ibportstate -D $drPath $portNum $state]} e]} {
+      LogAppend "\n-E---------------------------------------------------\n$e"
+   } else {
+      LogAppend "\n-I---------------------------------------------------\n$res"
+   }
+}
+
+proc setNodePortState {state} {
+   global PROPS
+   set node $PROPS(node,id)
+
+   set drPath [getDrToNode $node]
+   if {$drPath == -1} {
+      return
+   }
+
+   set portNum [numSelector [IBNode_numPorts_get $node] \
+                   "Select a port number"]
+   if {$portNum == ""} { return }
+
+   if {[catch {set res [exec ibportstate -D $drPath $portNum $state]} e]} {
+      LogAppend "\n-E---------------------------------------------------\n$e"
+   } else {
+      LogAppend "\n-I---------------------------------------------------\n$res"
+   }
+}
+
+proc setSysPortState {state} {
+   global PROPS
+
+   set sysPort $PROPS(sysport,id)
+   set port [IBSysPort_p_nodePort_get $sysPort]
+   setPortState $state $port
+}
+
+proc portCounters {op {port 0}} {
+   global PROPS
+
+   if {$port == 0} {
+      set port $PROPS(port,id)
+   }
+
+   set lid [IBPort_base_lid_get $port]
+   if {$lid == 0} {
+   }
+   set portNum [IBPort_num_get $port]
+   if {$op == "clr"} {
+      set opt -R
+   } else {
+      set opt ""
+   }
+
+   set cmd "perfquery $opt $lid $portNum"
+   if {[catch {eval "set res \[exec $cmd\]"} e]} {
+      LogAppend "\n-E---------------------------------------------------\n$cmd\n$e"
+   } else {
+      LogAppend "\n-I---------------------------------------------------\n$cmd\n$res"
+   }
+}
+
+# when port counters are queries from Node
+# NOTE: we can not rely on the existance of the port
+proc nodePortCounters {op} {
+   global PROPS
+   set node $PROPS(node,id)
+
+   set portNum [numSelector [IBNode_numPorts_get $node] \
+                   "Select a port number"]
+   if {$portNum == ""} { return }
+
+   # find first port that match
+   set port ""
+   for {set pn 1} {$pn < [IBNode_numPorts_get $node]} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {$port != ""} {break}
+   }
+   if {$port == ""} {return}
+
+   set lid [IBPort_base_lid_get $port]
+   if {$op == "clr"} {
+      set opt -R
+   } else {
+      set opt ""
+   }
+
+   if {[catch {eval "set res [exec perfquery $opt $lid $portNum]"} e]} {
+      LogAppend "\n-E---------------------------------------------------\n$e"
+   } else {
+      LogAppend "\n-I---------------------------------------------------\n$res"
+   }
+}
+
+proc sysPortCounters {op} {
+   global PROPS
+
+   set sysPort $PROPS(sysport,id)
+   set port [IBSysPort_p_nodePort_get $sysPort]
+   portCounters $op $port
+}
+
+##############################################################################
+#
+# LOG WIDGET COMMANDS
+#
+##############################################################################
+
+# perform log analysis from the given index
+proc LogAnalyze {{startIndex 0.0}} {
+   global L
+   set text [$L get $startIndex end]
+   # loop through the text for sections:
+   set startChar 0
+   set numErrs 0
+   set numWarnings 0
+   set numInfos 0
+
+   set rex "\n-(\[IWE\])-\[^\n\]*(\n\[^-\]\[^\n\]*)*"
+   while {[regexp -start $startChar -indices -- $rex $text all type]} {
+      set start [lindex $all 0]
+      set type [string range $text [lindex $type 0] [lindex $type 1]]
+      set sIdx [lindex $all 0]
+      set eIdx [expr [lindex $all 1] + 1]
+      switch $type {
+         E { set tagName errors; incr numErrs }
+         W { set tagName warnings; incr numWarnings }
+         I { set tagName infos; incr numInfos }
+      }
+      $L tag add $tagName "$startIndex + $sIdx chars" "$startIndex + $eIdx chars"
+      set startChar [lindex $all 1]
+   }
+   puts "-I- Found $numErrs errors $numWarnings warnings $numInfos infos"
+
+   # Now scan for names guids and routes...
+   set startChar 0
+   set numNames 0
+
+   set rex "\\s+\"(\[^0-9\]\[^\"\]+)\"\\s+"
+   while {[regexp -start $startChar -indices -- $rex $text all name]} {
+      set sIdx [lindex $name 0]
+      set eIdx [expr [lindex $name 1] + 1]
+      $L tag add NAME "$startIndex + $sIdx chars" "$startIndex + $eIdx chars"
+      set startChar [lindex $all 1]
+      incr numNames
+   }
+
+   set startChar 0
+   set numLids 0
+   set rex {(lid|LID)[\s:=]*(0x[0-9a-fA-F]+|[0-9]+)}
+   while {[regexp -start $startChar -indices -- $rex $text all pre lid]} {
+      set sIdx [lindex $lid 0]
+      set eIdx [expr [lindex $lid 1] + 1]
+      $L tag add LID "$startIndex + $sIdx chars" "$startIndex + $eIdx chars"
+      set startChar [lindex $all 1]
+      incr numLids
+   }
+
+   set startChar 0
+   set numGuids 0
+   set rex {[Gg][Uu][Ii][Dd]=*(0x[0-9a-fA-F]+)}
+   while {[regexp -start $startChar -indices -- $rex $text all guid]} {
+      set sIdx [lindex $guid 0]
+      set eIdx [expr [lindex $guid 1] + 1]
+      $L tag add GUID "$startIndex + $sIdx chars" "$startIndex + $eIdx chars"
+      set startChar [lindex $all 1]
+      incr numGuids
+   }
+
+   set startChar 0
+   set numRoutes 0
+   set rex {\"([0-9]+(,[0-9]+)*)\"}
+   while {[regexp -start $startChar -indices -- $rex $text all route]} {
+      set sIdx [lindex $route 0]
+      set eIdx [expr [lindex $route 1] + 1]
+      $L tag add ROUTE "$startIndex + $sIdx chars" "$startIndex + $eIdx chars"
+      set startChar [lindex $all 1]
+      incr numRoutes
+   }
+
+   puts "-I- Found $numNames names $numLids LIDS $numGuids GUIDs $numRoutes Directed-Routes"
+}
+
+proc LogUpdate {log} {
+   global L
+
+   #puts $log
+
+   # Filter out any "discovring" message
+   set nlog $log
+   set discRex  "-I- Discovering the subnet ... \[0-9\]+ nodes .\[0-9\]+ Switches & \[0-9\]+ CA-s. discovered.\\s*\n"
+   regsub -all -- $discRex $log "" nlog
+
+   # perform the log area update
+   $L configure -state normal
+   $L delete 0.0 end
+   $L insert 0.0 $nlog
+
+   # Do some hypertexting
+   LogAnalyze
+   $L configure -state disabled
+}
+
+proc LogAppend {log {scrollToPos 1}} {
+   global L
+   set start [$L index end]
+   $L configure -state normal
+   $L insert end "$log\n"
+   $L configure -state disabled
+   if {$scrollToPos} {
+      $L see end
+   }
+   LogAnalyze $start
+   update
+}
+
+# an object tag was selected
+proc LogObjSelect {log type w x y} {
+   global G
+   # get the tag text under the x y
+   set startNEnd [$log tag prevrange $type @$x,$y]
+   set val [$log get [lindex $startNEnd 0] [lindex $startNEnd 1]]
+   switch $type {
+      NAME {
+         if {[guiHighLightByName port $val] != ""} {
+            SetStatus "-I- Found Port $val"
+         } elseif {[guiHighLightByName node $val] != ""} {
+            SetStatus "-I- Found Node $val"
+         } elseif {[guiHighLightByName system $val] != ""} {
+            SetStatus "-I- Found System $val"
+         } elseif {[guiHighLightByName sysport $val] != ""} {
+            SetStatus "-I- Found System Port $val"
+         } else {
+            SetStatus "-I- Failed to find object with name $val"
+         }
+      }
+      LID {
+         set x [guiHighLightByLid sysport $val]
+         set y [guiHighLightByLid port $val]
+         if {$x != "" || $y != ""} {
+            SetStatus "-I- Find by LID succeeded"
+         }
+      }
+      ROUTE {
+         guiHighLightByDR  "$G(argv:sys.name)/P$G(argv:port.num)" $val
+      }
+      GUID {
+         set x [guiHighLightByGuid system $val]
+         set y [guiHighLightByGuid sysport $val]
+         if {$x != "" || $y != ""} {
+            SetStatus "-I- Find by GUID succeeded"
+         }
+      }
+   }
+}
+
+# initialize the props guid such that we have a pannel
+# for each object type
+proc initPropsGui {p} {
+   global PROPS O
+
+   set props {
+      {sys SYSTEM
+         {
+            name Name ""
+            type Type ""
+            guid GUID ""
+            nodes "\#Node" {PropsUpdate node $PROPS(sys,node,id) 1}
+         }
+      }
+      {node NODE
+         {
+            name Name ""
+            guid GUID ""
+            dr   "Directed Route" ""
+            sys  System     {PropsUpdate system $PROPS(node,sys,id) 1}
+            ports "\#Ports" {PropsUpdate port  $PROPS(node,port,id) 1}
+            dev "Device ID" ""
+            rev "Revision ID" ""
+            vend "Vendor ID"
+         }
+      }
+      {port PORT
+         {
+            name Name ""
+            guid GUID ""
+            lid LID ""
+            speed Speed ""
+            width Width ""
+            node Node    {PropsUpdate node    $PROPS(port,node,id) 1}
+            rem Conn     {PropsUpdate port    $PROPS(port,rem,id)  1}
+            sysp SysPort {PropsUpdate sysport $PROPS(port,sysp,id) 1}
+         }
+      }
+      {sysport "FRONT PANEL PORT"
+         {
+            name Name ""
+            sys System         {PropsUpdate system  $PROPS(sysport,sys,id)  1}
+            port "Node Port"   {PropsUpdate port    $PROPS(sysport,port,id) 1}
+            rem "Connected to" {PropsUpdate sysport $PROPS(sysport,rem,id)  1}
+            width Width ""
+            speed Speed ""
+            anno Annotation ""
+         }
+      }
+   }
+
+   set cmds {
+      {sys}
+      {node
+         {{UP "setNodePortState enable"} {DOWN "setNodePortState disable"}}
+         {{"PM Get" "nodePortCounters get"} {"PM Clr" "nodePortCounters clr"}}
+      }
+      {port
+         {{UP "setPortState enable"} {DOWN "setPortState disable"}}
+         {{"PM Get" "portCounters get"} {"PM Clr" "portCounters clr"}}
+      }
+      {sysport
+         {{UP "setSysPortState enable"} {DOWN "setSysPortState disable"}}
+         {{"PM Get" "sysPortCounters get"} {"PM Clr" "sysPortCounters clr"}}
+      }
+   }
+
+   foreach propSet $props {
+      set obj [lindex $propSet 0]
+      frame $p.$obj -background [lindex $O(color:$obj) 2] -padx 2 -pady 2
+      set f $p.$obj.f
+      frame $f
+      set header [lindex $propSet 1]
+      label $f.l -text $header
+      pack $f.l -side top
+      foreach {attr lbl cmd} [lindex $propSet 2] {
+         frame $f.$attr -borderwidth 2 -relief ridge
+         label $f.$attr.l -text "$lbl:"
+
+         if {[string range $lbl 0 0] == "\#"} {
+            label $f.$attr.v -textvariable PROPS($obj,$attr)
+            set PROPS($obj,$attr,menu) \
+               [tk_optionMenu $f.$attr.m PROPS($obj,$attr,sel) \
+                   "Select a [string range $lbl 1 end]"]
+            pack $f.$attr.l -side top -anchor w
+            pack $f.$attr.m -side right -anchor e -expand yes -fill x
+            pack $f.$attr.v -side left -anchor w
+            set PROPS($obj,$attr,cb) $cmd
+            set cmd ""
+         } else {
+            entry $f.$attr.v -textvariable PROPS($obj,$attr) \
+               -exportselection 1 -state readonly -relief flat
+            pack $f.$attr.l $f.$attr.v -side top -anchor nw \
+               -expand true -fill x
+         }
+         pack $f.$attr -side top -fill x -anchor nw
+         if {$cmd != ""} {
+            bind $f.$attr.l <ButtonPress-2> $cmd
+            bind $f.$attr.v <ButtonPress-2> $cmd
+         }
+      }
+      pack $f -side top -expand yes -fill both
+   }
+
+   foreach cmdSet $cmds {
+      set lineIdx 0
+      set obj [lindex $cmdSet 0]
+      foreach lineDef [lrange $cmdSet 1 end] {
+         set f $p.$obj.f
+         incr lineIdx
+         frame $f.cmds$lineIdx
+         set bIdx 0
+         foreach bnc $lineDef {
+            set b [lindex $bnc 0]
+            set c [lindex $bnc 1]
+            incr bIdx
+            button $f.cmds$lineIdx.$bIdx -text $b -command $c
+            pack $f.cmds$lineIdx.$bIdx -side left -anchor w
+         }
+         pack $f.cmds$lineIdx -side top -anchor w
+      }
+   }
+}
+
+##############################################################################
+#
+# MAIN MENU COMMANDS
+#
+##############################################################################
+proc getNodeLid {node} {
+   set port ""
+   for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {$port != ""} {
+         set remPort [IBPort_p_remotePort_get $port]
+         if {$remPort != ""} {break}
+      }
+   }
+   if {$remPort == ""} {return 0}
+   set lid [IBPort_base_lid_get $port]
+   return $lid
+}
+
+# given a key and a list of ley/value pairs get the pair
+proc assoc {key key_list} {
+   foreach kv $key_list {
+      if {[lindex $kv 0] == $key} {return [lindex $kv 1]}
+   }
+
+   return ""
+}
+
+proc SetVL0Statics {} {
+   global gFabric
+
+   set staticCredits 0x68
+   foreach nNNode [IBFabric_NodeByName_get $gFabric] {
+      set node [lindex $nNNode 1]
+      set sys [IBNode_p_system_get $node]
+      set name "[IBSystem_name_get $sys]/[lindex $nNNode 0]"
+      set devId [IBNode_devId_get $node]
+      set lid [getNodeLid $node]
+      if {$lid == 0} {
+         puts "-W- Ignoring node $name with zero LID"
+         continue
+      }
+
+      # differet treatment for switches and HCAs
+      switch $devId {
+         23108 -
+         25204 -
+         25208 -
+         25218 {
+            # port 1 0x100A0.24 (len 7)
+            set v [crRead $lid 0x100A0]
+            set d [assoc data $v]
+            if {$d == ""} {
+               puts "-W- Failed to obtain data from $name lid:$lid"
+               continue
+            }
+
+            set nd [format 0x%x [expr $d & 0x8fffffff | ($staticCredits << 24)]]
+            if {$d != $nd} {
+               puts "-I- Updating $name P1 $d -> $nd"
+               crWrite $lid $nd 0x100A0
+            }
+            if {$devId != 25208} {
+               # port 2 0x108A0.24
+               set v [crRead $lid 0x108A0]
+               set d [assoc data $v]
+               if {$d == ""} {
+                  puts "-W- Failed to obtain data from $name lid:$lid"
+                  continue
+               }
+
+               set nd [format 0x%x [expr $d & 0x8fffffff | ($staticCredits << 24)]]
+               if {$d != $nd} {
+                  puts "-I- Updating $name P2 $d -> $nd"
+                  crWrite $lid $nd 0x108A0
+               }
+            }
+         }
+         47396 {
+            set addr 0x101280
+            for {set i 0} {$i < 24} {incr i} {
+               # IB port 1 101280.16
+               # CR 0  101280.16 (len 16)
+               # CR 1  102280.16
+               # CR 23 118280.16
+               set v [crRead $lid $addr]
+               set d [assoc data $v]
+               if {$d == ""} {
+                  puts "-W- Failed to obtain data from $name lid:$lid"
+                  continue
+               }
+               set nd [format 0x%x [expr $d & 0xffff | ($staticCredits << 16)]]
+               if {$d != $nd} {
+                  puts "-I- Updating $name P[expr $i + 1] $d -> $nd"
+                  crWrite $lid $nd $addr
+               }
+
+               incr addr 0x1000
+            }
+         }
+         default {
+            puts "-W- Ignoring node $name with devId:$devId"
+         }
+      }
+   }
+
+}
+
+proc DiagNet {} {
+   global G
+   global testModeDir
+   global IBDIAGNET_FLAGS
+
+   # can we just load existing files?
+   if {$testModeDir != 0} {
+      set f [open [file join $testModeDir ibdiagnet.stdout.log] r]
+      set res [read $f]
+      close $f
+      set lstFile [file join $testModeDir ibdiagnet.lst]
+   } else {
+      set lstFile /tmp/ibdiagnet.lst
+      set r ""
+      LogAppend "-I-Invoking ibdiagnet ...."
+      # puts "-I- Invoking ibdiagnet ...."
+      if {[catch {set r [eval "exec ibdiagnet $IBDIAGNET_FLAGS"]} e]} {
+         set res "-E- Error calling ibdiagnet:$e\n"
+         append res $r
+      } else {
+         set res $r
+      }
+   }
+
+   LogUpdate $res
+
+   GraphUpdate $lstFile
+}
+
+# reread the annotations file and enforce DISABLED state
+# and UP for the rest
+proc EnforceAnnotations {} {
+   global ANNOTATIONS
+   LoadAnnotationsFile
+   set numEn 0
+   set numDis 0
+   foreach e [array names ANNOTATIONS sysport:*] {
+      set sysPortName [string range $e [string length sysport:] end]
+      set anno $ANNOTATIONS($e)
+
+      # find the sys port
+      set sysPort [findSysPortByName $sysPortName]
+      if {$sysPort == ""} {
+         puts "-W- failed to find sys port:$sysPortName"
+         continue
+      }
+
+      set port [IBSysPort_p_nodePort_get $sysPort]
+      set node [IBPort_p_node_get $port]
+
+      if {[regexp DISABLED $anno]} {
+         SetStatus "-I- Disabling $sysPortName"
+         set state disable
+         incr numDis
+      } else {
+         SetStatus "-I- Enabling $sysPortName"
+         set state enable
+         incr numEn
+      }
+
+      set drPath [getDrToNode $node]
+      if {$drPath == -1} {
+         return
+      }
+
+      set portNum [IBPort_num_get $port]
+      catch {set res [exec ibportstate -D $drPath $portNum $state]}
+   }
+   SetStatus "-I- Annotation Enforced: Enabled:$numEn Disbled:$numDis"
+
+}
+
+proc FindByName {} {
+   global FindByName
+   if {![winfo exists .find_by_name]} {
+      set t [toplevel .find_by_name]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+
+      labelframe $f.e -text "Name:" -padx 2 -pady 2 -borderwidth 2
+      entry $f.e.e -textvariable FindByName(name)
+      pack $f.e.e -side left -fill x -expand yes
+
+      labelframe $f.b -text "Object Type:" -padx 2 -pady 2 -borderwidth 2
+      foreach {type name} {system System sysport "System Port" node Node port Port} {
+         radiobutton $f.b.b$type -text "$name" -variable FindByName(type) \
+            -relief flat -value $type
+         pack $f.b.b$type -side top -pady 2 -anchor w
+      }
+      pack $f.e $f.b -side top -expand yes -fill both
+      frame $f.x
+      button $f.x.f -text FIND \
+         -command {guiHighLightByName $FindByName(type) $FindByName(name)}
+      button $f.x.c -text CLEAR -command guiClearAllMarking
+      pack $f.x.f $f.x.c -side left -fill x -expand yes
+      pack $f.x -side bottom -fill x -expand yes
+      pack $f
+      wm title .find_by_name "IBDiagUI - Find object by name"
+      set FindByName(type) system
+
+   }
+   wm deiconify .find_by_name
+}
+
+proc FindByGUID {} {
+   global FindByGuid
+   if {![winfo exists .find_by_guid]} {
+      set t [toplevel .find_by_guid]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+
+      labelframe $f.e -text "GUID:" -padx 2 -pady 2 -borderwidth 2
+      entry $f.e.e -textvariable FindByGuid(guid)
+      pack $f.e.e -side left -fill x -expand yes
+
+      labelframe $f.b -text "Object Type:" -padx 2 -pady 2 -borderwidth 2
+      foreach {type name} {system "System" sysport "System Port" node "Node" port "Port"} {
+         radiobutton $f.b.b$type -text "$name" -variable FindByGuid(type) \
+            -relief flat -value $type
+         pack $f.b.b$type -side top -pady 2 -anchor w
+      }
+      pack $f.e $f.b -side top -expand yes -fill both
+      frame $f.x
+      button $f.x.f -text FIND \
+         -command {guiHighLightByGuid $FindByGuid(type) $FindByGuid(guid)}
+      button $f.x.c -text CLEAR -command guiClearAllMarking
+      pack $f.x.f $f.x.c -side left -fill x -expand yes
+      pack $f.x -side bottom -fill x -expand yes
+      pack $f
+      wm title .find_by_guid "IBDiagUI - Find object by GUID"
+      set FindByGuid(type) system
+
+   }
+   wm deiconify .find_by_guid
+}
+
+proc FindByLID {} {
+   global FindByLid
+   if {![winfo exists .find_by_lid]} {
+      set t [toplevel .find_by_lid]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+
+      labelframe $f.e -text "LID:" -padx 2 -pady 2 -borderwidth 2
+      entry $f.e.e -textvariable FindByLid(lid)
+      pack $f.e.e -side left -fill x -expand yes
+
+      labelframe $f.b -text "Object Type:" -padx 2 -pady 2 -borderwidth 2
+      foreach {type name} {system "System" sysport "System Port" node "Node" port "Port"} {
+         radiobutton $f.b.b$type -text "$name" -variable FindByLid(type) \
+            -relief flat -value $type
+         pack $f.b.b$type -side top -pady 2 -anchor w
+      }
+      pack $f.e $f.b -side top -expand yes -fill both
+      frame $f.x
+      button $f.x.f -text FIND \
+         -command {guiHighLightByLid $FindByLid(type) $FindByLid(lid)}
+      button $f.x.c -text CLEAR -command guiClearAllMarking
+      pack $f.x.f $f.x.c -side left -fill x -expand yes
+      pack $f.x -side bottom -fill x -expand yes
+      pack $f
+      wm title .find_by_lid "IBDiagUI - Find object holding a LID"
+      set FindByLid(type) system
+
+   }
+   wm deiconify .find_by_lid
+}
+
+proc FindByDR {} {
+   global FindByDR G
+   if {![winfo exists .find_by_dr]} {
+      set t [toplevel .find_by_dr]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+
+      labelframe $f.e -text "Directed Route:" -padx 2 -pady 2 -borderwidth 2
+      entry $f.e.e -textvariable FindByDR(DR)
+      pack $f.e.e -side left -fill x -expand yes
+
+      labelframe $f.p -text "Start Port:" -padx 2 -pady 2 -borderwidth 2
+      entry $f.p.e -textvariable FindByDR(port)
+      pack $f.p.e -side left -fill x -expand yes
+      pack $f.e $f.p -side top -expand yes -fill both
+      frame $f.x
+      button $f.x.f -text FIND \
+         -command {guiHighLightByDR $FindByDR(port) $FindByDR(DR)}
+      button $f.x.c -text CLEAR -command guiClearAllMarking
+      pack $f.x.f $f.x.c -side left -fill x -expand yes
+      pack $f.x -side bottom -fill x -expand yes
+      pack $f
+      wm title .find_by_dr "IBDiagUI - Find objects on a Directed Route"
+      set FindByDR(port) "$G(argv:sys.name)/P$G(argv:port.num)"
+   }
+   wm deiconify .find_by_dr
+}
+
+
+proc setColor {b opt} {
+   global O
+   foreach {w desc val} $O($opt) {break}
+   set color [tk_chooseColor -title "Choose a $desc color" -initialcolor $val]
+   if {$color != ""} {
+      set O($opt) [list $w $desc $color]
+      $b configure -background $color
+   }
+}
+
+proc getColor {col} {
+   global O
+   if {[info exists O(color:$col)]} {
+      return [lindex $O(color:$col) 2]
+   } else {
+      puts "-W- could not find color $col"
+      return black
+   }
+   setLogColors
+}
+
+# Display a form for setting fabric roots
+proc SetRoots {} {
+   global C gFabric
+   if {![winfo exists .set_roots_opts]} {
+      set t [toplevel .set_roots_opts]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+      label $f.l -text "Root systems names:"
+      entry $f.e -textvariable SYSTEM_ORDER
+      button $f.b -text REDRAW -command "drawFabric $gFabric $C"
+      pack $f.l $f.e $f.b -side top -expand true -fill x
+      pack $f
+      wm title .set_roots_opts "IBDiagUI - Set Roots Options"
+   }
+   wm deiconify .set_roots_opts
+}
+
+# Display a form for setting colors
+proc SetColorOpts {} {
+   global O
+   if {![winfo exists .set_color_opts]} {
+      set t [toplevel .set_color_opts]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+      set prevFirstWord ""
+      foreach opt [lsort [array name O color:*]] {
+         foreach {w desc val} $O($opt) {break}
+         set firstWord [lindex $desc 0]
+         if {$firstWord != $prevFirstWord} {
+            set wName [string tolower $firstWord]
+            set wf [labelframe $f.$wName -text "$firstWord:" \
+                       -padx 2 -pady 2 -borderwidth 2]
+            pack $wf -side top -expand yes -fill x
+            set prevFirstWord $firstWord
+         }
+         button $wf.$w -text [lrange $desc 1 end] \
+            -command "setColor $wf.$w $opt" \
+            -background $val
+         pack $wf.$w -side left -pady 2 -anchor w -fill x
+      }
+      pack $f
+      wm title .set_color_opts "IBDiagUI - Set Color Options"
+   }
+   wm deiconify .set_color_opts
+}
+
+proc SetAnnotationsFile {} {
+   global O
+   if {![winfo exists .load_annos]} {
+      set t [toplevel .load_annos]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+      label $f.l -text "Annotation File Name"
+      entry $f.e -textvariable ANNOTATION_FILE
+      button $f.b -text LOAD -command LoadAnnotationsFile
+      pack $f.l $f.e $f.b -side top -expand yes -fill x
+      pack $f
+
+      wm title .load_annos "IBDiagUI - Set Color Options"
+
+      if {![info exists ANNOTATION_FILE]} {
+         set ANNOTATION_FILE ""
+      }
+   }
+   wm deiconify .load_annos
+}
+
+proc SetIBDiagFlags {} {
+   global O
+   if {![winfo exists .ibdiag_flags]} {
+      set t [toplevel .ibdiag_flags]
+      wm withdraw $t
+
+      set f [frame $t.f -padx 2 -pady 2 -borderwidth 2]
+      label $f.l -text "IBDiagNet Flags:"
+      entry $f.e -textvariable IBDIAGNET_FLAGS
+      pack $f.l $f.e -side top -expand yes -fill x
+      pack $f
+
+      wm title .ibdiag_flags "IBDiagUI - Set IBDiagNet Flags"
+   }
+   wm deiconify .ibdiag_flags
+}
+
+
+proc HelpAbout {} {
+   catch {destroy .help_about}
+   set tl [toplevel  .help_about]
+   label $tl.l -text {
+      IBDIAG GUI
+
+      Version: 1.0
+      Date: Sep 2006
+      Author: Eitan Zahavi <eitan at mellanox.co.il>
+   }
+   pack $tl.l
+}
+
+##############################################################################
+#
+# GUI INITIALIZATION
+#
+##############################################################################
+
+# save as much as possible in .ibdiagui
+proc guiQuit {} {
+   global PANES O
+   global ANNOTATION_FILE
+
+   if {[catch {set f [open .ibdiagui w]} ]} {
+      return
+   }
+
+   puts $f "wm geometry . [wm geometry .]"
+   puts $f "update"
+   foreach w [array names PANES] {
+      foreach idx $PANES($w) {
+         set coords [$w sash coord $idx]
+         puts $f "$w sash place $idx [lindex $coords 0] [lindex $coords 1]"
+      }
+   }
+
+   foreach opt [array names O] {
+      puts $f "set O($opt) {$O($opt)}"
+   }
+
+   puts $f "set ANNOTATION_FILE \"$ANNOTATION_FILE\""
+   close $f
+   exit
+}
+
+# init the menu bar
+proc initMenuBar {m} {
+   menubutton $m.file -text File -underline 0 -menu $m.file.menu
+   menubutton $m.refresh -text Refresh -underline 0 -menu $m.refresh.menu
+   menubutton $m.find -text Find -underline 0 -menu $m.find.menu
+   menubutton $m.opts -text Options -underline 0 -menu $m.opts.menu
+
+   menu $m.file.menu -tearoff no
+   $m.file.menu add command -label Quit -command guiQuit
+
+   menu $m.refresh.menu -tearoff no
+   $m.refresh.menu add command -label Network -command DiagNet
+   $m.refresh.menu add command -label "Enforce Annotations" \
+      -command EnforceAnnotations
+   $m.refresh.menu add command -label "Add Statics to VL0" \
+      -command SetVL0Statics
+
+   menu $m.find.menu -tearoff no
+   $m.find.menu add command -label Name -command FindByName
+   $m.find.menu add command -label GUID -command FindByGUID
+   $m.find.menu add command -label LID -command FindByLID
+   $m.find.menu add command -label Route -command FindByDR
+
+   menu $m.opts.menu -tearoff no
+   $m.opts.menu add command -label Colors -command SetColorOpts
+   $m.opts.menu add command -label "Set Roots" -command SetRoots
+   $m.opts.menu add command -label "Set Annotation File" \
+      -command SetAnnotationsFile
+   $m.opts.menu add command -label "Set IBDiagNet Options" \
+      -command SetIBDiagFlags
+
+   menubutton $m.help -text Help -underline 0 -menu $m.help.menu
+   menu $m.help.menu -tearoff no
+   $m.help.menu add command -label About -command HelpAbout
+
+   pack $m.file $m.refresh $m.find $m.opts -side left
+
+   pack $m.help -side right
+}
+
+#--------------------------------------------------------
+#  Init the main windows and provide their ids in globals:
+#  G - the graphic canvas widget id
+#  P - the props frame
+#  L - the LOG text widget
+#--------------------------------------------------------
+proc initMainFrame {f} {
+   global C P L PANES
+
+   #--------------------------------------------------------
+   #  The hierarchy of widgets we build is defined below
+   #  f
+   #   pw1 - the main pane split vertically
+   #    tf - the top frame
+   #     pw2 - the second pane - this time horizontal
+   #      gf - graphic frame
+   #       gg - graphic grid
+   #       chs - canvas horizonal scroll
+   #       cvs - canvas vertical scroll
+   #       c - canvas
+   #      pf - props frame
+   #    bf - the bottom frame
+   #     tg - text grid
+   #     ths - text horizonal srcolll
+   #     tvs - text vertical srcolll
+   #     t - text widget
+   #--------------------------------------------------------
+
+   #   pw1 - the main pane split vertically
+   set pw1 [panedwindow $f.pw1 -orient vertical -showhandle yes]
+   set PANES($pw1) 0
+
+   #    tf - the top frame
+   set tf [frame $pw1.tf]
+   #     pw2 - the second pane - this time horizontal
+   set pw2 [panedwindow $tf.pw2 -showhandle yes]
+   set PANES($pw2) 0
+
+   #      gf - graphic frame
+   set gf [frame $tf.gf]
+   #       gg - graphic grid
+   set gg [frame $gf.g]
+   #       chs - canvas horizonal scroll
+   set chs [scrollbar $gf.chs -orient horiz -command "$gf.c xview"]
+   #       cvs - canvas vertical scroll
+   set cvs [scrollbar $gf.cvs -orient vertical -command "$gf.c yview"]
+   #       c - canvas
+   set c [canvas $gf.c -relief sunken -borderwidth 2 \
+             -scrollregion {-11c -11c 11c 11c} \
+             -xscrollcommand "$chs set" \
+             -yscrollcommand "$cvs set" ]
+   #      pf - props frame
+   set pf [frame $tf.pf]
+   #    bf - the bottom frame
+   set bf [frame $pw1.bf]
+   #     tg - text grid
+   set tg [frame $bf.g]
+   #     ths - text horizonal srcolll
+   set ths [scrollbar $bf.ths -orient horiz -command "$bf.t xview"]
+   #     tvs - text vertical srcolll
+   set tvs [scrollbar $bf.tvs -orient vertical -command "$bf.t yview"]
+   #     t - text widget
+   set t [text $bf.t \
+             -yscrollcommand "$tvs set" \
+             -xscrollcommand "$ths set" \
+             -state disabled]
+
+   #--------------------------------------------------------
+   # Packing...
+   #--------------------------------------------------------
+
+   # Graphic area
+   pack $gg -expand yes -fill both -padx 1 -pady 1
+   grid rowconfig    $gg 0 -weight 1 -minsize 0
+   grid columnconfig $gg 0 -weight 1 -minsize 0
+   grid $c -padx 1 -in $gg -pady 1 \
+      -row 0 -column 0 -rowspan 1 -columnspan 1 -sticky news
+   grid $cvs -in $gg -padx 1 -pady 1 \
+      -row 0 -column 1 -rowspan 1 -columnspan 1 -sticky news
+   grid $chs -in $gg -padx 1 -pady 1 \
+      -row 1 -column 0 -rowspan 1 -columnspan 1 -sticky news
+
+   # graphic / prop pane
+   $pw2 add $pf
+   $pw2 add $gf
+
+   pack $pw2 -side top -expand yes -fill both -pady 2 -padx 2m
+   $pw2 paneconfigure $gf -sticky news -width 10c
+   $pw2 paneconfigure $pf -sticky news -minsize 4c
+
+   # the frame holding it
+   # pack $tf -side top -expand yes -fill both
+   pack $tf -side top -fill both
+
+   # log text area
+   pack $tg -expand yes -fill both -padx 1 -pady 1
+   grid rowconfig    $tg 0 -weight 1 -minsize 0
+   grid columnconfig $tg 0 -weight 1 -minsize 0
+   grid $t -padx 1 -in $tg -pady 1 \
+      -row 0 -column 0 -rowspan 1 -columnspan 1 -sticky news
+   grid $tvs -in $tg -padx 1 -pady 1 \
+      -row 0 -column 1 -rowspan 1 -columnspan 1 -sticky news
+   grid $ths -in $tg -padx 1 -pady 1 \
+      -row 1 -column 0 -rowspan 1 -columnspan 1 -sticky news
+
+   # the frame holding it
+   #   pack $bf -side top -expand yes -fill x
+   pack $bf -side top -fill x
+
+   # the main pane window
+   $pw1 add $tf $bf
+   pack $pw1 -side top -expand yes -fill both -pady 2 -padx 2m
+   # $pw1 paneconfigure $tf -minsize 15c
+   # $pw1 paneconfigure $bf
+
+   bind $c <3> "zoomMark $c %x %y"
+   bind $c <B3-Motion> "zoomStroke $c %x %y"
+   bind $c <ButtonRelease-3> "zoomArea $c %x %y"
+   bind $c <KeyPress-z> "zoom $c 1.25"
+   bind $c <KeyPress-Z> "zoom $c 0.8"
+   bind $c <KeyPress-f> "fit $c"
+   bind . <3> "zoomMark $c %x %y"
+   bind . <B3-Motion> "zoomStroke $c %x %y"
+   bind . <ButtonRelease-3> "zoomArea $c %x %y"
+   bind . <KeyPress-z> "zoom $c 1.25"
+   bind . <KeyPress-Z> "zoom $c 0.8"
+   bind . <KeyPress-f> "fit $c"
+   bind . <KeyPress-e> "expand $c %x %y"
+   bind . <KeyPress-d> "deExpand $c %x %y"
+   bind . <KeyPress-c> "guiClearAllMarking"
+
+   set C $c
+   set L $t
+   set P $pf
+
+   $L tag bind NAME  <Button-1> "LogObjSelect $L NAME %W %x %y"
+   $L tag bind LID   <Button-1> "LogObjSelect $L LID  %W %x %y"
+   $L tag bind GUID  <Button-1> "LogObjSelect $L GUID %W %x %y"
+   $L tag bind ROUTE <Button-1> "LogObjSelect $L ROUTE %W %x %y"
+}
+
+proc setLogColors {} {
+   global L
+   $L tag configure errors   -foreground [getColor txtErr]
+   $L tag configure warnings -foreground [getColor txtWarn]
+   $L tag configure infos    -foreground [getColor txtInfo]
+   $L tag configure NAME   -background   [getColor txtName]
+   $L tag configure LID    -background   [getColor txtLid]
+   $L tag configure GUID   -background   [getColor txtGuid]
+   $L tag configure ROUTE  -background   [getColor txtRoute]
+}
+
+proc initGui {} {
+   global O L S StatusLine P
+   global ANNOTATION_FILE
+   # . configure -background white -width 10i -height 10i
+
+   # menu is a separate line at the top
+   frame .m -relief raised -padx 2 -pady 2
+   pack .m -side top -expand no -fill x -anchor nw
+   initMenuBar .m
+
+   # the  pane structure
+   frame .r -relief ridge -height 10i -width 10i
+   pack .r -side top -expand yes -fill both
+
+   # status line
+   frame .s
+   entry .s.e -relief flat -state readonly -textvariable StatusLine
+   pack .s.e -fill x -expand true -side bottom
+   pack .s -side bottom -fill x
+   set S .s.e
+
+   # the main frame
+   initMainFrame .r
+
+   set O(color:txtDef)   {ld "Log Msg Default"  black}
+   set O(color:txtErr)   {le "Log Msg Error"    red }
+   set O(color:txtWarn)  {lw "Log Msg Warning" "#704000"}
+   set O(color:txtInfo)  {li "Log Msg Info"     darkgreen }
+   set O(color:txtName)  {ln "Log Tag Name"  "#909000" }
+   set O(color:txtLid)   {ll "Log Tag LID"   "#fb9933" }
+   set O(color:txtGuid)  {lg "Log Tag GUID"  "#906070" }
+   set O(color:txtRoute) {lr "Log Tag Route" "#aa40a0"}
+
+   set O(color:1x2.5G)    {p1x25g "Link 1x 2.5G"   "#ff0000"}
+   set O(color:1x5G)      {p1x5g  "Link 1x 5G"     "#c80000"}
+   set O(color:1x10G)     {p1x10g "Link 1x 10G"    "#960000"}
+   set O(color:4x2.5G)    {p4x25g "Link 4x 2.5G"   "#00ff00"}
+   set O(color:4x5G)      {p4x5g  "Link 4x 5G"     "#00c800"}
+   set O(color:4x10G)     {p4x10g "Link 4x 10G"    "#009600"}
+   set O(color:12x2.5G)   {p12x25g "Link 12x 2.5G" "#0000ff"}
+   set O(color:12x5G)     {p12x5g  "Link 12x 5G"   "#00ff40"}
+   set O(color:12x10G)    {p12x10g "Link 12x 10G"  "#00ff80"}
+
+   set O(color:sys)       {sys  "Props System"      "#ff5e1b"}
+   set O(color:node)      {node "Props Node"        "#00beff"}
+   set O(color:port)      {port "Props Port"        "#00ff96"}
+   set O(color:sysport)   {sysp "Props System Port" "#f400cc"}
+
+   set O(color:mark)      {mark "Marking Selected"  "#f400f1"}
+   set O(color:mtxt)      {mtxt "Marking Text"      "#0000ff"}
+
+   if {[file exists .ibdiagui]} {
+      source .ibdiagui
+   }
+
+   # actuall set the colors on the text tags
+   setLogColors
+   initPropsGui $P
+   LoadAnnotationsFile
+   SetStatus "Initializing ... "
+}
+
+##############################################################################
+#
+# Main flow
+#
+
+# we provide a way to load the results of ibdiagnet for testing
+# to do this provide -D <dir name> that dir needs to have:
+# ibdiagnet.stdout.log
+# ibdiahnet.lst
+# OPTIONAL: ibdiagnet.topo
+set testModeDirIdx [lsearch $argv "-D"]
+if {$testModeDirIdx >= 0} {
+   set testModeDir [lindex $argv [expr $testModeDirIdx + 1]]
+   if {![file exists [file join $testModeDir ibdiagnet.lst]]} {
+      puts "-E- No [file join $testModeDir ibdiagnet.lst]"
+      exit 1
+   }
+   if {![file exists [file join $testModeDir ibdiagnet.stdout.log]]} {
+      puts "-E- No [file join $testModeDir ibdiagnet.stdout.log]"
+      exit 1
+   }
+   set argv [lreplace $argv $testModeDirIdx [expr $testModeDirIdx + 1]]
+} else {
+   set testModeDir 0
+}
+
+set IBDIAGNET_FLAGS $argv
+
+InitializeIBDIAG
+StartIBDIAG
+if {! [info exists G(argv:sys.name)]} {
+   set G(argv:sys.name) [lindex [split [info hostname] .] 0]
+}
+
+# We init the Tk only after parsing the command line
+# to avoid the interpretation of args by Tk.
+if {[catch {package require Tk} e]} {
+   puts "-E- ibdiagui depends on a Tk installation"
+   puts "    Please download and install tk8.4"
+   puts "    Error: $e"
+   exit 1
+}
+
+if {[catch {package require Tcldot} e]} {
+   puts "-E- ibdiagui depends on a Tcldot installation"
+   puts "    Please download and install Graphviz"
+   puts "    Error: $e"
+   exit 1
+}
+
+if {[catch {initGui} e]} {
+   puts "-E- $e"
+   puts "    $errorInfo"
+   exit
+}
+
+if {[catch {DiagNet} e]} {
+   puts "-E- $e"
+   puts "    $errorInfo"
+}
+
+package provide ibdiagui 1.0
+
diff --git a/ibdm/AUTHORS b/ibdm/AUTHORS
new file mode 100644
index 0000000..3c379fb
--- /dev/null
+++ b/ibdm/AUTHORS
@@ -0,0 +1 @@
+Eitan Zahvai, Mellanox Technologies LTD. <eitan at mellanox.co.il>
diff --git a/ibdm/COPYING b/ibdm/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/ibdm/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+

+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+

+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+

+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+

+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ibdm/ChangeLog b/ibdm/ChangeLog
new file mode 100644
index 0000000..53abf22
--- /dev/null
+++ b/ibdm/ChangeLog
@@ -0,0 +1,24 @@
+2004-09-21  Eitan Zahavi  <eitan at mellanox.co.il>
+
+	* IBNL: Major change in how Systems are defined. Instead of having
+	a C++ module for each of the systems we now provide a netlist
+	format called IBNL and a set of predefined IB netlists for the
+	Mellanox provided systems.
+
+2004-08-25  Eitan Zahavi  <eitan at mellanox.co.il>
+
+	* TopoMatch : new capability to compare a discovered fabric (read
+	from OpenSM subnet file) and a spec topology (read using
+	parseTopology). Also build a merged fabric taking all matching
+	names from the spec topoloy.
+
+2004-06-30  Eitan Zahavi  <eitan at mellanox.co.il>
+
+	* conifgure.in : rearrange the file according to the autotools
+	book
+
+	* datamodel (new dir) : Rearrange the package by separating the
+	datamodel from the applications.
+
+
+
diff --git a/ibdm/Clusters/Buffalo8.topo b/ibdm/Clusters/Buffalo8.topo
new file mode 100644
index 0000000..423c727
--- /dev/null
+++ b/ibdm/Clusters/Buffalo8.topo
@@ -0,0 +1,59 @@
+# A topology with 14 CAs and 6 Buffalos
+
+Buffalo SL1-1
+  P1 -> Cougar H01 P1
+  P2 -> Cougar H02 P1
+  P3 -> Cougar H03 P1
+  P4 -> Cougar H04 P1
+  P5 -> Buffalo SL2-1 P1
+  P6 -> Buffalo SL2-1 P2
+  P7 -> Buffalo SL2-2 P1
+  P8 -> Buffalo SL2-2 P2
+
+Buffalo SL1-2
+  P1 -> Cougar H05 P1
+  P2 -> Cougar H06 P1
+  P3 -> Cougar H07 P1
+  P4 -> Cougar H08 P1
+  P5 -> Buffalo SL2-1 P3
+  P6 -> Buffalo SL2-1 P4
+  P7 -> Buffalo SL2-2 P3
+  P8 -> Buffalo SL2-2 P4
+
+Buffalo SL1-3
+  P1 -> Cougar H09 P1
+  P2 -> Cougar H10 P1
+  P3 -> Cougar H11 P1
+  P4 -> Cougar H12 P1
+  P5 -> Buffalo SL2-1 P5
+  P6 -> Buffalo SL2-1 P6
+  P7 -> Buffalo SL2-2 P5
+  P8 -> Buffalo SL2-2 P6
+
+Buffalo SL1-4
+  P1 -> Cougar H13 P1
+  P2 -> Cougar H14 P1
+  P5 -> Buffalo SL2-1 P7
+  P6 -> Buffalo SL2-1 P8
+  P7 -> Buffalo SL2-2 P7
+  P8 -> Buffalo SL2-2 P8
+
+Buffalo SL2-1
+  P1 -> Buffalo SL1-1 P5
+  P2 -> Buffalo SL1-1 P6
+  P3 -> Buffalo SL1-2 P5
+  P4 -> Buffalo SL1-2 P6
+  P5 -> Buffalo SL1-3 P5
+  P6 -> Buffalo SL1-3 P6
+  P7 -> Buffalo SL1-4 P5
+  P8 -> Buffalo SL1-4 P6
+
+Buffalo SL2-2
+  P1 -> Buffalo SL1-1 P7
+  P2 -> Buffalo SL1-1 P8
+  P3 -> Buffalo SL1-2 P7
+  P4 -> Buffalo SL1-2 P8
+  P5 -> Buffalo SL1-3 P7
+  P6 -> Buffalo SL1-3 P8
+  P7 -> Buffalo SL1-4 P7
+  P8 -> Buffalo SL1-4 P8
diff --git a/ibdm/Clusters/CreditLoopDemo.cables b/ibdm/Clusters/CreditLoopDemo.cables
new file mode 100644
index 0000000..733dc07
--- /dev/null
+++ b/ibdm/Clusters/CreditLoopDemo.cables
@@ -0,0 +1,9 @@
+
+Cougar	OSM	P1	Reindeer	RD1	P1
+Cougar	H2	   P1	Reindeer	RD2	P1
+Cougar	H3	   P1	Reindeer	RD3	P1
+Cougar	H4	   P1	Reindeer	RD4	P1
+Reindeer	RD1	P2 Reindeer	RD4	P3
+Reindeer	RD2	P2 Reindeer	RD1	P3
+Reindeer	RD3	P2	Reindeer	RD2	P3
+Reindeer	RD4	P2	Reindeer	RD3	P3
diff --git a/ibdm/Clusters/FullCbbReindeer.cables b/ibdm/Clusters/FullCbbReindeer.cables
new file mode 100644
index 0000000..1999f6d
--- /dev/null
+++ b/ibdm/Clusters/FullCbbReindeer.cables
@@ -0,0 +1,385 @@
+# <SysType> <sysName> <portName>
+Cougar	OSM	P1	Reindeer	RD1	P1
+Cougar	H2	P1	Reindeer	RD1	P2
+Cougar	H3	P1	Reindeer	RD1	P3
+Cougar	H4	P1	Reindeer	RD1	P4
+Cougar	H5	P1	Reindeer	RD1	P5
+Cougar	H6	P1	Reindeer	RD1	P6
+Cougar	H7	P1	Reindeer	RD1	P7
+Cougar	H8	P1	Reindeer	RD1	P8
+Cougar	H9	P1	Reindeer	RD1	P9
+Cougar	H10	P1	Reindeer	RD1	P10
+Cougar	H11	P1	Reindeer	RD1	P11
+Cougar	H12	P1	Reindeer	RD1	P12
+Cougar	H13	P1	Reindeer	RD2	P1
+Cougar	H14	P1	Reindeer	RD2	P2
+Cougar	H15	P1	Reindeer	RD2	P3
+Cougar	H16	P1	Reindeer	RD2	P4
+Cougar	H17	P1	Reindeer	RD2	P5
+Cougar	H18	P1	Reindeer	RD2	P6
+Cougar	H19	P1	Reindeer	RD2	P7
+Cougar	H20	P1	Reindeer	RD2	P8
+Cougar	H21	P1	Reindeer	RD2	P9
+Cougar	H22	P1	Reindeer	RD2	P10
+Cougar	H23	P1	Reindeer	RD2	P11
+Cougar	H24	P1	Reindeer	RD2	P12
+Cougar	H25	P1	Reindeer	RD3	P1
+Cougar	H26	P1	Reindeer	RD3	P2
+Cougar	H27	P1	Reindeer	RD3	P3
+Cougar	H28	P1	Reindeer	RD3	P4
+Cougar	H29	P1	Reindeer	RD3	P5
+Cougar	H30	P1	Reindeer	RD3	P6
+Cougar	H31	P1	Reindeer	RD3	P7
+Cougar	H32	P1	Reindeer	RD3	P8
+Cougar	H33	P1	Reindeer	RD3	P9
+Cougar	H34	P1	Reindeer	RD3	P10
+Cougar	H35	P1	Reindeer	RD3	P11
+Cougar	H36	P1	Reindeer	RD3	P12
+Cougar	H37	P1	Reindeer	RD4	P1
+Cougar	H38	P1	Reindeer	RD4	P2
+Cougar	H39	P1	Reindeer	RD4	P3
+Cougar	H40	P1	Reindeer	RD4	P4
+Cougar	H41	P1	Reindeer	RD4	P5
+Cougar	H42	P1	Reindeer	RD4	P6
+Cougar	H43	P1	Reindeer	RD4	P7
+Cougar	H44	P1	Reindeer	RD4	P8
+Cougar	H45	P1	Reindeer	RD4	P9
+Cougar	H46	P1	Reindeer	RD4	P10
+Cougar	H47	P1	Reindeer	RD4	P11
+Cougar	H48	P1	Reindeer	RD4	P12
+Cougar	H49	P1	Reindeer	RD5	P1
+Cougar	H50	P1	Reindeer	RD5	P2
+Cougar	H51	P1	Reindeer	RD5	P3
+Cougar	H52	P1	Reindeer	RD5	P4
+Cougar	H53	P1	Reindeer	RD5	P5
+Cougar	H54	P1	Reindeer	RD5	P6
+Cougar	H55	P1	Reindeer	RD5	P7
+Cougar	H56	P1	Reindeer	RD5	P8
+Cougar	H57	P1	Reindeer	RD5	P9
+Cougar	H58	P1	Reindeer	RD5	P10
+Cougar	H59	P1	Reindeer	RD5	P11
+Cougar	H60	P1	Reindeer	RD5	P12
+Cougar	H61	P1	Reindeer	RD6	P1
+Cougar	H62	P1	Reindeer	RD6	P2
+Cougar	H63	P1	Reindeer	RD6	P3
+Cougar	H64	P1	Reindeer	RD6	P4
+Cougar	H65	P1	Reindeer	RD6	P5
+Cougar	H66	P1	Reindeer	RD6	P6
+Cougar	H67	P1	Reindeer	RD6	P7
+Cougar	H68	P1	Reindeer	RD6	P8
+Cougar	H69	P1	Reindeer	RD6	P9
+Cougar	H70	P1	Reindeer	RD6	P10
+Cougar	H71	P1	Reindeer	RD6	P11
+Cougar	H72	P1	Reindeer	RD6	P12
+Cougar	H73	P1	Reindeer	RD7	P1
+Cougar	H74	P1	Reindeer	RD7	P2
+Cougar	H75	P1	Reindeer	RD7	P3
+Cougar	H76	P1	Reindeer	RD7	P4
+Cougar	H77	P1	Reindeer	RD7	P5
+Cougar	H78	P1	Reindeer	RD7	P6
+Cougar	H79	P1	Reindeer	RD7	P7
+Cougar	H80	P1	Reindeer	RD7	P8
+Cougar	H81	P1	Reindeer	RD7	P9
+Cougar	H82	P1	Reindeer	RD7	P10
+Cougar	H83	P1	Reindeer	RD7	P11
+Cougar	H84	P1	Reindeer	RD7	P12
+Cougar	H85	P1	Reindeer	RD8	P1
+Cougar	H86	P1	Reindeer	RD8	P2
+Cougar	H87	P1	Reindeer	RD8	P3
+Cougar	H88	P1	Reindeer	RD8	P4
+Cougar	H89	P1	Reindeer	RD8	P5
+Cougar	H90	P1	Reindeer	RD8	P6
+Cougar	H91	P1	Reindeer	RD8	P7
+Cougar	H92	P1	Reindeer	RD8	P8
+Cougar	H93	P1	Reindeer	RD8	P9
+Cougar	H94	P1	Reindeer	RD8	P10
+Cougar	H95	P1	Reindeer	RD8	P11
+Cougar	H96	P1	Reindeer	RD8	P12
+Cougar	H97	P1	Reindeer	RD9	P1
+Cougar	H98	P1	Reindeer	RD9	P2
+Cougar	H99	P1	Reindeer	RD9	P3
+Cougar	H100	P1	Reindeer	RD9	P4
+Cougar	H101	P1	Reindeer	RD9	P5
+Cougar	H102	P1	Reindeer	RD9	P6
+Cougar	H103	P1	Reindeer	RD9	P7
+Cougar	H104	P1	Reindeer	RD9	P8
+Cougar	H105	P1	Reindeer	RD9	P9
+Cougar	H106	P1	Reindeer	RD9	P10
+Cougar	H107	P1	Reindeer	RD9	P11
+Cougar	H108	P1	Reindeer	RD9	P12
+Cougar	H109	P1	Reindeer	RD10	P1
+Cougar	H110	P1	Reindeer	RD10	P2
+Cougar	H111	P1	Reindeer	RD10	P3
+Cougar	H112	P1	Reindeer	RD10	P4
+Cougar	H113	P1	Reindeer	RD10	P5
+Cougar	H114	P1	Reindeer	RD10	P6
+Cougar	H115	P1	Reindeer	RD10	P7
+Cougar	H116	P1	Reindeer	RD10	P8
+Cougar	H117	P1	Reindeer	RD10	P9
+Cougar	H118	P1	Reindeer	RD10	P10
+Cougar	H119	P1	Reindeer	RD10	P11
+Cougar	H120	P1	Reindeer	RD10	P12
+Cougar	H121	P1	Reindeer	RD11	P1
+Cougar	H122	P1	Reindeer	RD11	P2
+Cougar	H123	P1	Reindeer	RD11	P3
+Cougar	H124	P1	Reindeer	RD11	P4
+Cougar	H125	P1	Reindeer	RD11	P5
+Cougar	H126	P1	Reindeer	RD11	P6
+Cougar	H127	P1	Reindeer	RD11	P7
+Cougar	H128	P1	Reindeer	RD11	P8
+Cougar	H129	P1	Reindeer	RD11	P9
+Cougar	H130	P1	Reindeer	RD11	P10
+Cougar	H131	P1	Reindeer	RD11	P11
+Cougar	H132	P1	Reindeer	RD11	P12
+Cougar	H133	P1	Reindeer	RD12	P1
+Cougar	H134	P1	Reindeer	RD12	P2
+Cougar	H135	P1	Reindeer	RD12	P3
+Cougar	H136	P1	Reindeer	RD12	P4
+Cougar	H137	P1	Reindeer	RD12	P5
+Cougar	H138	P1	Reindeer	RD12	P6
+Cougar	H139	P1	Reindeer	RD12	P7
+Cougar	H140	P1	Reindeer	RD12	P8
+Cougar	H141	P1	Reindeer	RD12	P9
+Cougar	H142	P1	Reindeer	RD12	P10
+Cougar	H143	P1	Reindeer	RD12	P11
+Cougar	H144	P1	Reindeer	RD12	P12
+Cougar	H145	P1	Reindeer	RD13	P1
+Cougar	H146	P1	Reindeer	RD13	P2
+Cougar	H147	P1	Reindeer	RD13	P3
+Cougar	H148	P1	Reindeer	RD13	P4
+Cougar	H149	P1	Reindeer	RD13	P5
+Cougar	H150	P1	Reindeer	RD13	P6
+Cougar	H151	P1	Reindeer	RD13	P7
+Cougar	H152	P1	Reindeer	RD13	P8
+Cougar	H153	P1	Reindeer	RD13	P9
+Cougar	H154	P1	Reindeer	RD13	P10
+Cougar	H155	P1	Reindeer	RD13	P11
+Cougar	H156	P1	Reindeer	RD13	P12
+Cougar	H157	P1	Reindeer	RD14	P1
+Cougar	H158	P1	Reindeer	RD14	P2
+Cougar	H159	P1	Reindeer	RD14	P3
+Cougar	H160	P1	Reindeer	RD14	P4
+Cougar	H161	P1	Reindeer	RD14	P5
+Cougar	H162	P1	Reindeer	RD14	P6
+Cougar	H163	P1	Reindeer	RD14	P7
+Cougar	H164	P1	Reindeer	RD14	P8
+Cougar	H165	P1	Reindeer	RD14	P9
+Cougar	H166	P1	Reindeer	RD14	P10
+Cougar	H167	P1	Reindeer	RD14	P11
+Cougar	H168	P1	Reindeer	RD14	P12
+Cougar	H169	P1	Reindeer	RD15	P1
+Cougar	H170	P1	Reindeer	RD15	P2
+Cougar	H171	P1	Reindeer	RD15	P3
+Cougar	H172	P1	Reindeer	RD15	P4
+Cougar	H173	P1	Reindeer	RD15	P5
+Cougar	H174	P1	Reindeer	RD15	P6
+Cougar	H175	P1	Reindeer	RD15	P7
+Cougar	H176	P1	Reindeer	RD15	P8
+Cougar	H177	P1	Reindeer	RD15	P9
+Cougar	H178	P1	Reindeer	RD15	P10
+Cougar	H179	P1	Reindeer	RD15	P11
+Cougar	H180	P1	Reindeer	RD15	P12
+Cougar	H181	P1	Reindeer	RD16	P1
+Cougar	H182	P1	Reindeer	RD16	P2
+Cougar	H183	P1	Reindeer	RD16	P3
+Cougar	H184	P1	Reindeer	RD16	P4
+Cougar	H185	P1	Reindeer	RD16	P5
+Cougar	H186	P1	Reindeer	RD16	P6
+Cougar	H187	P1	Reindeer	RD16	P7
+Cougar	H188	P1	Reindeer	RD16	P8
+Cougar	H189	P1	Reindeer	RD16	P9
+Cougar	H190	P1	Reindeer	RD16	P10
+Cougar	H191	P1	Reindeer	RD16	P11
+Cougar	H192	P1	Reindeer	RD16	P12
+Reindeer	RD1	P13	Gazelle	GZS1	L1/P1
+Reindeer	RD1	P14	Gazelle	GZS2	L1/P1
+Reindeer	RD1	P15	Gazelle	GZS1	L1/P2
+Reindeer	RD1	P16	Gazelle	GZS2	L1/P2
+Reindeer	RD1	P17	Gazelle	GZS1	L1/P3
+Reindeer	RD1	P18	Gazelle	GZS2	L1/P3
+Reindeer	RD1	P19	Gazelle	GZS1	L1/P4
+Reindeer	RD1	P20	Gazelle	GZS2	L1/P4
+Reindeer	RD1	P21	Gazelle	GZS1	L1/P5
+Reindeer	RD1	P22	Gazelle	GZS2	L1/P5
+Reindeer	RD1	P23	Gazelle	GZS1	L1/P6
+Reindeer	RD1	P24	Gazelle	GZS2	L1/P6
+Reindeer	RD2	P13	Gazelle	GZS1	L1/P7
+Reindeer	RD2	P14	Gazelle	GZS2	L1/P7
+Reindeer	RD2	P15	Gazelle	GZS1	L1/P8
+Reindeer	RD2	P16	Gazelle	GZS2	L1/P8
+Reindeer	RD2	P17	Gazelle	GZS1	L1/P9
+Reindeer	RD2	P18	Gazelle	GZS2	L1/P9
+Reindeer	RD2	P19	Gazelle	GZS1	L1/P10
+Reindeer	RD2	P20	Gazelle	GZS2	L1/P10
+Reindeer	RD2	P21	Gazelle	GZS1	L1/P11
+Reindeer	RD2	P22	Gazelle	GZS2	L1/P11
+Reindeer	RD2	P23	Gazelle	GZS1	L1/P12
+Reindeer	RD2	P24	Gazelle	GZS2	L1/P12
+Reindeer	RD3	P13	Gazelle	GZS1	L2/P1
+Reindeer	RD3	P14	Gazelle	GZS2	L2/P1
+Reindeer	RD3	P15	Gazelle	GZS1	L2/P2
+Reindeer	RD3	P16	Gazelle	GZS2	L2/P2
+Reindeer	RD3	P17	Gazelle	GZS1	L2/P3
+Reindeer	RD3	P18	Gazelle	GZS2	L2/P3
+Reindeer	RD3	P19	Gazelle	GZS1	L2/P4
+Reindeer	RD3	P20	Gazelle	GZS2	L2/P4
+Reindeer	RD3	P21	Gazelle	GZS1	L2/P5
+Reindeer	RD3	P22	Gazelle	GZS2	L2/P5
+Reindeer	RD3	P23	Gazelle	GZS1	L2/P6
+Reindeer	RD3	P24	Gazelle	GZS2	L2/P6
+Reindeer	RD4	P13	Gazelle	GZS1	L2/P7
+Reindeer	RD4	P14	Gazelle	GZS2	L2/P7
+Reindeer	RD4	P15	Gazelle	GZS1	L2/P8
+Reindeer	RD4	P16	Gazelle	GZS2	L2/P8
+Reindeer	RD4	P17	Gazelle	GZS1	L2/P9
+Reindeer	RD4	P18	Gazelle	GZS2	L2/P9
+Reindeer	RD4	P19	Gazelle	GZS1	L2/P10
+Reindeer	RD4	P20	Gazelle	GZS2	L2/P10
+Reindeer	RD4	P21	Gazelle	GZS1	L2/P11
+Reindeer	RD4	P22	Gazelle	GZS2	L2/P11
+Reindeer	RD4	P23	Gazelle	GZS1	L2/P12
+Reindeer	RD4	P24	Gazelle	GZS2	L2/P12
+Reindeer	RD5	P13	Gazelle	GZS1	L3/P1
+Reindeer	RD5	P14	Gazelle	GZS2	L3/P1
+Reindeer	RD5	P15	Gazelle	GZS1	L3/P2
+Reindeer	RD5	P16	Gazelle	GZS2	L3/P2
+Reindeer	RD5	P17	Gazelle	GZS1	L3/P3
+Reindeer	RD5	P18	Gazelle	GZS2	L3/P3
+Reindeer	RD5	P19	Gazelle	GZS1	L3/P4
+Reindeer	RD5	P20	Gazelle	GZS2	L3/P4
+Reindeer	RD5	P21	Gazelle	GZS1	L3/P5
+Reindeer	RD5	P22	Gazelle	GZS2	L3/P5
+Reindeer	RD5	P23	Gazelle	GZS1	L3/P6
+Reindeer	RD5	P24	Gazelle	GZS2	L3/P6
+Reindeer	RD6	P13	Gazelle	GZS1	L3/P7
+Reindeer	RD6	P14	Gazelle	GZS2	L3/P7
+Reindeer	RD6	P15	Gazelle	GZS1	L3/P8
+Reindeer	RD6	P16	Gazelle	GZS2	L3/P8
+Reindeer	RD6	P17	Gazelle	GZS1	L3/P9
+Reindeer	RD6	P18	Gazelle	GZS2	L3/P9
+Reindeer	RD6	P19	Gazelle	GZS1	L3/P10
+Reindeer	RD6	P20	Gazelle	GZS2	L3/P10
+Reindeer	RD6	P21	Gazelle	GZS1	L3/P11
+Reindeer	RD6	P22	Gazelle	GZS2	L3/P11
+Reindeer	RD6	P23	Gazelle	GZS1	L3/P12
+Reindeer	RD6	P24	Gazelle	GZS2	L3/P12
+Reindeer	RD7	P13	Gazelle	GZS1	L4/P1
+Reindeer	RD7	P14	Gazelle	GZS2	L4/P1
+Reindeer	RD7	P15	Gazelle	GZS1	L4/P2
+Reindeer	RD7	P16	Gazelle	GZS2	L4/P2
+Reindeer	RD7	P17	Gazelle	GZS1	L4/P3
+Reindeer	RD7	P18	Gazelle	GZS2	L4/P3
+Reindeer	RD7	P19	Gazelle	GZS1	L4/P4
+Reindeer	RD7	P20	Gazelle	GZS2	L4/P4
+Reindeer	RD7	P21	Gazelle	GZS1	L4/P5
+Reindeer	RD7	P22	Gazelle	GZS2	L4/P5
+Reindeer	RD7	P23	Gazelle	GZS1	L4/P6
+Reindeer	RD7	P24	Gazelle	GZS2	L4/P6
+Reindeer	RD8	P13	Gazelle	GZS1	L4/P7
+Reindeer	RD8	P14	Gazelle	GZS2	L4/P7
+Reindeer	RD8	P15	Gazelle	GZS1	L4/P8
+Reindeer	RD8	P16	Gazelle	GZS2	L4/P8
+Reindeer	RD8	P17	Gazelle	GZS1	L4/P9
+Reindeer	RD8	P18	Gazelle	GZS2	L4/P9
+Reindeer	RD8	P19	Gazelle	GZS1	L4/P10
+Reindeer	RD8	P20	Gazelle	GZS2	L4/P10
+Reindeer	RD8	P21	Gazelle	GZS1	L4/P11
+Reindeer	RD8	P22	Gazelle	GZS2	L4/P11
+Reindeer	RD8	P23	Gazelle	GZS1	L4/P12
+Reindeer	RD8	P24	Gazelle	GZS2	L4/P12
+Reindeer	RD9	P13	Gazelle	GZS1	L5/P1
+Reindeer	RD9	P14	Gazelle	GZS2	L5/P1
+Reindeer	RD9	P15	Gazelle	GZS1	L5/P2
+Reindeer	RD9	P16	Gazelle	GZS2	L5/P2
+Reindeer	RD9	P17	Gazelle	GZS1	L5/P3
+Reindeer	RD9	P18	Gazelle	GZS2	L5/P3
+Reindeer	RD9	P19	Gazelle	GZS1	L5/P4
+Reindeer	RD9	P20	Gazelle	GZS2	L5/P4
+Reindeer	RD9	P21	Gazelle	GZS1	L5/P5
+Reindeer	RD9	P22	Gazelle	GZS2	L5/P5
+Reindeer	RD9	P23	Gazelle	GZS1	L5/P6
+Reindeer	RD9	P24	Gazelle	GZS2	L5/P6
+Reindeer	RD10	P13	Gazelle	GZS1	L5/P7
+Reindeer	RD10	P14	Gazelle	GZS2	L5/P7
+Reindeer	RD10	P15	Gazelle	GZS1	L5/P8
+Reindeer	RD10	P16	Gazelle	GZS2	L5/P8
+Reindeer	RD10	P17	Gazelle	GZS1	L5/P9
+Reindeer	RD10	P18	Gazelle	GZS2	L5/P9
+Reindeer	RD10	P19	Gazelle	GZS1	L5/P10
+Reindeer	RD10	P20	Gazelle	GZS2	L5/P10
+Reindeer	RD10	P21	Gazelle	GZS1	L5/P11
+Reindeer	RD10	P22	Gazelle	GZS2	L5/P11
+Reindeer	RD10	P23	Gazelle	GZS1	L5/P12
+Reindeer	RD10	P24	Gazelle	GZS2	L5/P12
+Reindeer	RD11	P13	Gazelle	GZS1	L6/P1
+Reindeer	RD11	P14	Gazelle	GZS2	L6/P1
+Reindeer	RD11	P15	Gazelle	GZS1	L6/P2
+Reindeer	RD11	P16	Gazelle	GZS2	L6/P2
+Reindeer	RD11	P17	Gazelle	GZS1	L6/P3
+Reindeer	RD11	P18	Gazelle	GZS2	L6/P3
+Reindeer	RD11	P19	Gazelle	GZS1	L6/P4
+Reindeer	RD11	P20	Gazelle	GZS2	L6/P4
+Reindeer	RD11	P21	Gazelle	GZS1	L6/P5
+Reindeer	RD11	P22	Gazelle	GZS2	L6/P5
+Reindeer	RD11	P23	Gazelle	GZS1	L6/P6
+Reindeer	RD11	P24	Gazelle	GZS2	L6/P6
+Reindeer	RD12	P13	Gazelle	GZS1	L6/P7
+Reindeer	RD12	P14	Gazelle	GZS2	L6/P7
+Reindeer	RD12	P15	Gazelle	GZS1	L6/P8
+Reindeer	RD12	P16	Gazelle	GZS2	L6/P8
+Reindeer	RD12	P17	Gazelle	GZS1	L6/P9
+Reindeer	RD12	P18	Gazelle	GZS2	L6/P9
+Reindeer	RD12	P19	Gazelle	GZS1	L6/P10
+Reindeer	RD12	P20	Gazelle	GZS2	L6/P10
+Reindeer	RD12	P21	Gazelle	GZS1	L6/P11
+Reindeer	RD12	P22	Gazelle	GZS2	L6/P11
+Reindeer	RD12	P23	Gazelle	GZS1	L6/P12
+Reindeer	RD12	P24	Gazelle	GZS2	L6/P12
+Reindeer	RD13	P13	Gazelle	GZS1	L7/P1
+Reindeer	RD13	P14	Gazelle	GZS2	L7/P1
+Reindeer	RD13	P15	Gazelle	GZS1	L7/P2
+Reindeer	RD13	P16	Gazelle	GZS2	L7/P2
+Reindeer	RD13	P17	Gazelle	GZS1	L7/P3
+Reindeer	RD13	P18	Gazelle	GZS2	L7/P3
+Reindeer	RD13	P19	Gazelle	GZS1	L7/P4
+Reindeer	RD13	P20	Gazelle	GZS2	L7/P4
+Reindeer	RD13	P21	Gazelle	GZS1	L7/P5
+Reindeer	RD13	P22	Gazelle	GZS2	L7/P5
+Reindeer	RD13	P23	Gazelle	GZS1	L7/P6
+Reindeer	RD13	P24	Gazelle	GZS2	L7/P6
+Reindeer	RD14	P13	Gazelle	GZS1	L7/P7
+Reindeer	RD14	P14	Gazelle	GZS2	L7/P7
+Reindeer	RD14	P15	Gazelle	GZS1	L7/P8
+Reindeer	RD14	P16	Gazelle	GZS2	L7/P8
+Reindeer	RD14	P17	Gazelle	GZS1	L7/P9
+Reindeer	RD14	P18	Gazelle	GZS2	L7/P9
+Reindeer	RD14	P19	Gazelle	GZS1	L7/P10
+Reindeer	RD14	P20	Gazelle	GZS2	L7/P10
+Reindeer	RD14	P21	Gazelle	GZS1	L7/P11
+Reindeer	RD14	P22	Gazelle	GZS2	L7/P11
+Reindeer	RD14	P23	Gazelle	GZS1	L7/P12
+Reindeer	RD14	P24	Gazelle	GZS2	L7/P12
+Reindeer	RD15	P13	Gazelle	GZS1	L8/P1
+Reindeer	RD15	P14	Gazelle	GZS2	L8/P1
+Reindeer	RD15	P15	Gazelle	GZS1	L8/P2
+Reindeer	RD15	P16	Gazelle	GZS2	L8/P2
+Reindeer	RD15	P17	Gazelle	GZS1	L8/P3
+Reindeer	RD15	P18	Gazelle	GZS2	L8/P3
+Reindeer	RD15	P19	Gazelle	GZS1	L8/P4
+Reindeer	RD15	P20	Gazelle	GZS2	L8/P4
+Reindeer	RD15	P21	Gazelle	GZS1	L8/P5
+Reindeer	RD15	P22	Gazelle	GZS2	L8/P5
+Reindeer	RD15	P23	Gazelle	GZS1	L8/P6
+Reindeer	RD15	P24	Gazelle	GZS2	L8/P6
+Reindeer	RD16	P13	Gazelle	GZS1	L8/P7
+Reindeer	RD16	P14	Gazelle	GZS2	L8/P7
+Reindeer	RD16	P15	Gazelle	GZS1	L8/P8
+Reindeer	RD16	P16	Gazelle	GZS2	L8/P8
+Reindeer	RD16	P17	Gazelle	GZS1	L8/P9
+Reindeer	RD16	P18	Gazelle	GZS2	L8/P9
+Reindeer	RD16	P19	Gazelle	GZS1	L8/P10
+Reindeer	RD16	P20	Gazelle	GZS2	L8/P10
+Reindeer	RD16	P21	Gazelle	GZS1	L8/P11
+Reindeer	RD16	P22	Gazelle	GZS2	L8/P11
+Reindeer	RD16	P23	Gazelle	GZS1	L8/P12
+Reindeer	RD16	P24	Gazelle	GZS2	L8/P12
diff --git a/ibdm/Clusters/FullCbbReindeer.xls b/ibdm/Clusters/FullCbbReindeer.xls
new file mode 100755
index 0000000..54aecc4
Binary files /dev/null and b/ibdm/Clusters/FullCbbReindeer.xls differ
diff --git a/ibdm/Clusters/FullCbbTwoSpines.cables b/ibdm/Clusters/FullCbbTwoSpines.cables
new file mode 100644
index 0000000..4a2e047
--- /dev/null
+++ b/ibdm/Clusters/FullCbbTwoSpines.cables
@@ -0,0 +1,385 @@
+# <SysType> <sysName> <portName>
+Cougar   H1		P1	Gazelle	GZL1	L1/P1
+Cougar	H2		P1	Gazelle	GZL1	L1/P2
+Cougar	H3		P1	Gazelle	GZL1	L1/P5
+Cougar	H4		P1	Gazelle	GZL1	L1/P6
+Cougar	H5		P1	Gazelle	GZL1	L1/P9
+Cougar	H6		P1	Gazelle	GZL1	L1/P10
+Cougar	H7		P1	Gazelle	GZL1	L2/P1
+Cougar	H8		P1	Gazelle	GZL1	L2/P2
+Cougar	H9		P1	Gazelle	GZL1	L2/P5
+Cougar	H10	P1	Gazelle	GZL1	L2/P6
+Cougar	H11	P1	Gazelle	GZL1	L2/P9
+Cougar	H12	P1	Gazelle	GZL1	L2/P10
+Cougar	H13	P1	Gazelle	GZL1	L3/P1
+Cougar	H14	P1	Gazelle	GZL1	L3/P2
+Cougar	H15	P1	Gazelle	GZL1	L3/P5
+Cougar	H16	P1	Gazelle	GZL1	L3/P6
+Cougar	H17	P1	Gazelle	GZL1	L3/P9
+Cougar	H18	P1	Gazelle	GZL1	L3/P10
+Cougar	H19	P1	Gazelle	GZL1	L4/P1
+Cougar	H20	P1	Gazelle	GZL1	L4/P2
+Cougar	H21	P1	Gazelle	GZL1	L4/P5
+Cougar	H22	P1	Gazelle	GZL1	L4/P6
+Cougar	H23	P1	Gazelle	GZL1	L4/P9
+Cougar	H24	P1	Gazelle	GZL1	L4/P10
+Cougar	H25	P1	Gazelle	GZL1	L5/P1
+Cougar	H26	P1	Gazelle	GZL1	L5/P2
+Cougar	H27	P1	Gazelle	GZL1	L5/P5
+Cougar	H28	P1	Gazelle	GZL1	L5/P6
+Cougar	H29	P1	Gazelle	GZL1	L5/P9
+Cougar	H30	P1	Gazelle	GZL1	L5/P10
+Cougar	H31	P1	Gazelle	GZL1	L6/P1
+Cougar	H32	P1	Gazelle	GZL1	L6/P2
+Cougar	H33	P1	Gazelle	GZL1	L6/P5
+Cougar	H34	P1	Gazelle	GZL1	L6/P6
+Cougar	H35	P1	Gazelle	GZL1	L6/P9
+Cougar	H36	P1	Gazelle	GZL1	L6/P10
+Cougar	H37	P1	Gazelle	GZL1	L7/P1
+Cougar	H38	P1	Gazelle	GZL1	L7/P2
+Cougar	H39	P1	Gazelle	GZL1	L7/P5
+Cougar	H40	P1	Gazelle	GZL1	L7/P6
+Cougar	H41	P1	Gazelle	GZL1	L7/P9
+Cougar	H42	P1	Gazelle	GZL1	L7/P10
+Cougar	H43	P1	Gazelle	GZL1	L8/P1
+Cougar	H44	P1	Gazelle	GZL1	L8/P2
+Cougar	H45	P1	Gazelle	GZL1	L8/P5
+Cougar	H46	P1	Gazelle	GZL1	L8/P6
+Cougar	H47	P1	Gazelle	GZL1	L8/P9
+Cougar	H48	P1	Gazelle	GZL1	L8/P10
+Cougar	H49	P1	Gazelle	GZL2	L1/P1
+Cougar	H50	P1	Gazelle	GZL2	L1/P2
+Cougar	H51	P1	Gazelle	GZL2	L1/P5
+Cougar	H52	P1	Gazelle	GZL2	L1/P6
+Cougar	H53	P1	Gazelle	GZL2	L1/P9
+Cougar	H54	P1	Gazelle	GZL2	L1/P10
+Cougar	H55	P1	Gazelle	GZL2	L2/P1
+Cougar	H56	P1	Gazelle	GZL2	L2/P2
+Cougar	H57	P1	Gazelle	GZL2	L2/P5
+Cougar	H58	P1	Gazelle	GZL2	L2/P6
+Cougar	H59	P1	Gazelle	GZL2	L2/P9
+Cougar	H60	P1	Gazelle	GZL2	L2/P10
+Cougar	H61	P1	Gazelle	GZL2	L3/P1
+Cougar	H62	P1	Gazelle	GZL2	L3/P2
+Cougar	H63	P1	Gazelle	GZL2	L3/P5
+Cougar	H64	P1	Gazelle	GZL2	L3/P6
+Cougar	H65	P1	Gazelle	GZL2	L3/P9
+Cougar	H66	P1	Gazelle	GZL2	L3/P10
+Cougar	H67	P1	Gazelle	GZL2	L4/P1
+Cougar	H68	P1	Gazelle	GZL2	L4/P2
+Cougar	H69	P1	Gazelle	GZL2	L4/P5
+Cougar	H70	P1	Gazelle	GZL2	L4/P6
+Cougar	H71	P1	Gazelle	GZL2	L4/P9
+Cougar	H72	P1	Gazelle	GZL2	L4/P10
+Cougar	H73	P1	Gazelle	GZL2	L5/P1
+Cougar	H74	P1	Gazelle	GZL2	L5/P2
+Cougar	H75	P1	Gazelle	GZL2	L5/P5
+Cougar	H76	P1	Gazelle	GZL2	L5/P6
+Cougar	H77	P1	Gazelle	GZL2	L5/P9
+Cougar	H78	P1	Gazelle	GZL2	L5/P10
+Cougar	H79	P1	Gazelle	GZL2	L6/P1
+Cougar	H80	P1	Gazelle	GZL2	L6/P2
+Cougar	H81	P1	Gazelle	GZL2	L6/P5
+Cougar	H82	P1	Gazelle	GZL2	L6/P6
+Cougar	H83	P1	Gazelle	GZL2	L6/P9
+Cougar	H84	P1	Gazelle	GZL2	L6/P10
+Cougar	H85	P1	Gazelle	GZL2	L7/P1
+Cougar	H86	P1	Gazelle	GZL2	L7/P2
+Cougar	H87	P1	Gazelle	GZL2	L7/P5
+Cougar	H88	P1	Gazelle	GZL2	L7/P6
+Cougar	H89	P1	Gazelle	GZL2	L7/P9
+Cougar	H90	P1	Gazelle	GZL2	L7/P10
+Cougar	H91	P1	Gazelle	GZL2	L8/P1
+Cougar	H92	P1	Gazelle	GZL2	L8/P2
+Cougar	H93	P1	Gazelle	GZL2	L8/P5
+Cougar	H94	P1	Gazelle	GZL2	L8/P6
+Cougar	H95	P1	Gazelle	GZL2	L8/P9
+Cougar	H96	P1	Gazelle	GZL2	L8/P10
+Cougar	H97	P1	Gazelle	GZL3	L1/P1
+Cougar	H98	P1	Gazelle	GZL3	L1/P2
+Cougar	H99	P1	Gazelle	GZL3	L1/P5
+Cougar	H100	P1	Gazelle	GZL3	L1/P6
+Cougar	H101	P1	Gazelle	GZL3	L1/P9
+Cougar	H102	P1	Gazelle	GZL3	L1/P10
+Cougar	H103	P1	Gazelle	GZL3	L2/P1
+Cougar	H104	P1	Gazelle	GZL3	L2/P2
+Cougar	H105	P1	Gazelle	GZL3	L2/P5
+Cougar	H106	P1	Gazelle	GZL3	L2/P6
+Cougar	H107	P1	Gazelle	GZL3	L2/P9
+Cougar	H108	P1	Gazelle	GZL3	L2/P10
+Cougar	H109	P1	Gazelle	GZL3	L3/P1
+Cougar	H110	P1	Gazelle	GZL3	L3/P2
+Cougar	H111	P1	Gazelle	GZL3	L3/P5
+Cougar	H112	P1	Gazelle	GZL3	L3/P6
+Cougar	H113	P1	Gazelle	GZL3	L3/P9
+Cougar	H114	P1	Gazelle	GZL3	L3/P10
+Cougar	H115	P1	Gazelle	GZL3	L4/P1
+Cougar	H116	P1	Gazelle	GZL3	L4/P2
+Cougar	H117	P1	Gazelle	GZL3	L4/P5
+Cougar	H118	P1	Gazelle	GZL3	L4/P6
+Cougar	H119	P1	Gazelle	GZL3	L4/P9
+Cougar	H120	P1	Gazelle	GZL3	L4/P10
+Cougar	H121	P1	Gazelle	GZL3	L5/P1
+Cougar	H122	P1	Gazelle	GZL3	L5/P2
+Cougar	H123	P1	Gazelle	GZL3	L5/P5
+Cougar	H124	P1	Gazelle	GZL3	L5/P6
+Cougar	H125	P1	Gazelle	GZL3	L5/P9
+Cougar	H126	P1	Gazelle	GZL3	L5/P10
+Cougar	H127	P1	Gazelle	GZL3	L6/P1
+Cougar	H128	P1	Gazelle	GZL3	L6/P2
+Cougar	H129	P1	Gazelle	GZL3	L6/P5
+Cougar	H130	P1	Gazelle	GZL3	L6/P6
+Cougar	H131	P1	Gazelle	GZL3	L6/P9
+Cougar	H132	P1	Gazelle	GZL3	L6/P10
+Cougar	H133	P1	Gazelle	GZL3	L7/P1
+Cougar	H134	P1	Gazelle	GZL3	L7/P2
+Cougar	H135	P1	Gazelle	GZL3	L7/P5
+Cougar	H136	P1	Gazelle	GZL3	L7/P6
+Cougar	H137	P1	Gazelle	GZL3	L7/P9
+Cougar	H138	P1	Gazelle	GZL3	L7/P10
+Cougar	H139	P1	Gazelle	GZL3	L8/P1
+Cougar	H140	P1	Gazelle	GZL3	L8/P2
+Cougar	H141	P1	Gazelle	GZL3	L8/P5
+Cougar	H142	P1	Gazelle	GZL3	L8/P6
+Cougar	H143	P1	Gazelle	GZL3	L8/P9
+Cougar	H144	P1	Gazelle	GZL3	L8/P10
+Cougar	H145	P1	Gazelle	GZL4	L1/P1
+Cougar	H146	P1	Gazelle	GZL4	L1/P2
+Cougar	H147	P1	Gazelle	GZL4	L1/P5
+Cougar	H148	P1	Gazelle	GZL4	L1/P6
+Cougar	H149	P1	Gazelle	GZL4	L1/P9
+Cougar	H150	P1	Gazelle	GZL4	L1/P10
+Cougar	H151	P1	Gazelle	GZL4	L2/P1
+Cougar	H152	P1	Gazelle	GZL4	L2/P2
+Cougar	H153	P1	Gazelle	GZL4	L2/P5
+Cougar	H154	P1	Gazelle	GZL4	L2/P6
+Cougar	H155	P1	Gazelle	GZL4	L2/P9
+Cougar	H156	P1	Gazelle	GZL4	L2/P10
+Cougar	H157	P1	Gazelle	GZL4	L3/P1
+Cougar	H158	P1	Gazelle	GZL4	L3/P2
+Cougar	H159	P1	Gazelle	GZL4	L3/P5
+Cougar	H160	P1	Gazelle	GZL4	L3/P6
+Cougar	H161	P1	Gazelle	GZL4	L3/P9
+Cougar	H162	P1	Gazelle	GZL4	L3/P10
+Cougar	H163	P1	Gazelle	GZL4	L4/P1
+Cougar	H164	P1	Gazelle	GZL4	L4/P2
+Cougar	H165	P1	Gazelle	GZL4	L4/P5
+Cougar	H166	P1	Gazelle	GZL4	L4/P6
+Cougar	H167	P1	Gazelle	GZL4	L4/P9
+Cougar	H168	P1	Gazelle	GZL4	L4/P10
+Cougar	H169	P1	Gazelle	GZL4	L5/P1
+Cougar	H170	P1	Gazelle	GZL4	L5/P2
+Cougar	H171	P1	Gazelle	GZL4	L5/P5
+Cougar	H172	P1	Gazelle	GZL4	L5/P6
+Cougar	H173	P1	Gazelle	GZL4	L5/P9
+Cougar	H174	P1	Gazelle	GZL4	L5/P10
+Cougar	H175	P1	Gazelle	GZL4	L6/P1
+Cougar	H176	P1	Gazelle	GZL4	L6/P2
+Cougar	H177	P1	Gazelle	GZL4	L6/P5
+Cougar	H178	P1	Gazelle	GZL4	L6/P6
+Cougar	H179	P1	Gazelle	GZL4	L6/P9
+Cougar	H180	P1	Gazelle	GZL4	L6/P10
+Cougar	H181	P1	Gazelle	GZL4	L7/P1
+Cougar	H182	P1	Gazelle	GZL4	L7/P2
+Cougar	H183	P1	Gazelle	GZL4	L7/P5
+Cougar	H184	P1	Gazelle	GZL4	L7/P6
+Cougar	H185	P1	Gazelle	GZL4	L7/P9
+Cougar	H186	P1	Gazelle	GZL4	L7/P10
+Cougar	H187	P1	Gazelle	GZL4	L8/P1
+Cougar	H188	P1	Gazelle	GZL4	L8/P2
+Cougar	H189	P1	Gazelle	GZL4	L8/P5
+Cougar	H190	P1	Gazelle	GZL4	L8/P6
+Cougar	H191	P1	Gazelle	GZL4	L8/P9
+Cougar	H192	P1	Gazelle	GZL4	L8/P10
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L1/P1
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L1/P1
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L1/P2
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L1/P2
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L1/P3
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L1/P3
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L1/P4
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L1/P4
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L1/P5
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L1/P5
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L1/P6
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L1/P6
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L1/P7
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L1/P7
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L1/P8
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L1/P8
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L1/P9
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L1/P9
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L1/P10
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L1/P10
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L1/P11
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L1/P11
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L1/P12
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L1/P12
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L2/P1
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L2/P1
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L2/P2
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L2/P2
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L2/P3
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L2/P3
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L2/P4
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L2/P4
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L2/P5
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L2/P5
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L2/P6
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L2/P6
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L2/P7
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L2/P7
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L2/P8
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L2/P8
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L2/P9
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L2/P9
+Gazelle	GZL1	L1/P3		Gazelle	GZS1	L2/P10
+Gazelle	GZL1	L1/P4		Gazelle	GZS2	L2/P10
+Gazelle	GZL1	L1/P7		Gazelle	GZS1	L2/P11
+Gazelle	GZL1	L1/P8		Gazelle	GZS2	L2/P11
+Gazelle	GZL1	L1/P11	Gazelle	GZS1	L2/P12
+Gazelle	GZL1	L1/P12	Gazelle	GZS2	L2/P12
+Gazelle	GZL2	L1/P3		Gazelle	GZS1	L3/P1
+Gazelle	GZL2	L1/P4		Gazelle	GZS2	L3/P1
+Gazelle	GZL2	L1/P7		Gazelle	GZS1	L3/P2
+Gazelle	GZL2	L1/P8		Gazelle	GZS2	L3/P2
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L3/P3
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L3/P3
+Gazelle	GZL2	L1/P3		Gazelle	GZS1	L3/P4
+Gazelle	GZL2	L1/P4		Gazelle	GZS2	L3/P4
+Gazelle	GZL2	L1/P7		Gazelle	GZS1	L3/P5
+Gazelle	GZL2	L1/P8		Gazelle	GZS2	L3/P5
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L3/P6
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L3/P6
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L3/P7
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L3/P7
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L3/P8
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L3/P8
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L3/P9
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L3/P9
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L3/P10
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L3/P10
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L3/P11
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L3/P11
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L3/P12
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L3/P12
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L4/P1
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L4/P1
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L4/P2
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L4/P2
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L4/P3
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L4/P3
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L4/P4
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L4/P4
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L4/P5
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L4/P5
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L4/P6
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L4/P6
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L4/P7
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L4/P7
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L4/P8
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L4/P8
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L4/P9
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L4/P9
+Gazelle	GZL2	L1/P3	Gazelle	GZS1	L4/P10
+Gazelle	GZL2	L1/P4	Gazelle	GZS2	L4/P10
+Gazelle	GZL2	L1/P7	Gazelle	GZS1	L4/P11
+Gazelle	GZL2	L1/P8	Gazelle	GZS2	L4/P11
+Gazelle	GZL2	L1/P11	Gazelle	GZS1	L4/P12
+Gazelle	GZL2	L1/P12	Gazelle	GZS2	L4/P12
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L5/P1
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L5/P1
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L5/P2
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L5/P2
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L5/P3
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L5/P3
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L5/P4
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L5/P4
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L5/P5
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L5/P5
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L5/P6
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L5/P6
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L5/P7
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L5/P7
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L5/P8
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L5/P8
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L5/P9
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L5/P9
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L5/P10
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L5/P10
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L5/P11
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L5/P11
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L5/P12
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L5/P12
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L6/P1
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L6/P1
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L6/P2
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L6/P2
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L6/P3
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L6/P3
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L6/P4
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L6/P4
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L6/P5
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L6/P5
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L6/P6
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L6/P6
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L6/P7
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L6/P7
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L6/P8
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L6/P8
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L6/P9
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L6/P9
+Gazelle	GZL3	L1/P3	Gazelle	GZS1	L6/P10
+Gazelle	GZL3	L1/P4	Gazelle	GZS2	L6/P10
+Gazelle	GZL3	L1/P7	Gazelle	GZS1	L6/P11
+Gazelle	GZL3	L1/P8	Gazelle	GZS2	L6/P11
+Gazelle	GZL3	L1/P11	Gazelle	GZS1	L6/P12
+Gazelle	GZL3	L1/P12	Gazelle	GZS2	L6/P12
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L7/P1
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L7/P1
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L7/P2
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L7/P2
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L7/P3
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L7/P3
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L7/P4
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L7/P4
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L7/P5
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L7/P5
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L7/P6
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L7/P6
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L7/P7
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L7/P7
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L7/P8
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L7/P8
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L7/P9
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L7/P9
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L7/P10
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L7/P10
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L7/P11
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L7/P11
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L7/P12
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L7/P12
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L8/P1
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L8/P1
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L8/P2
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L8/P2
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L8/P3
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L8/P3
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L8/P4
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L8/P4
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L8/P5
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L8/P5
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L8/P6
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L8/P6
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L8/P7
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L8/P7
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L8/P8
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L8/P8
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L8/P9
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L8/P9
+Gazelle	GZL4	L1/P3	Gazelle	GZS1	L8/P10
+Gazelle	GZL4	L1/P4	Gazelle	GZS2	L8/P10
+Gazelle	GZL4	L1/P7	Gazelle	GZS1	L8/P11
+Gazelle	GZL4	L1/P8	Gazelle	GZS2	L8/P11
+Gazelle	GZL4	L1/P11	Gazelle	GZS1	L8/P12
+Gazelle	GZL4	L1/P12	Gazelle	GZS2	L8/P12
diff --git a/ibdm/Clusters/FullCbbTwoSpines.stat b/ibdm/Clusters/FullCbbTwoSpines.stat
new file mode 100644
index 0000000..4095647
--- /dev/null
+++ b/ibdm/Clusters/FullCbbTwoSpines.stat
@@ -0,0 +1,270 @@
+-I- Registering System Factory for:Generic
+-I- Registering System Factory for:Reindeer
+-I- Registering System Factory for:Gazelle
+-I- Registering System Factory for:Cougar
+-I- Parsing cabling definition:Clusters/FullCbbTwoSpines.cables
+-I- Building Gazelle: GZL1...
+-I- Building Gazelle: GZL2...
+-I- Building Gazelle: GZL3...
+-I- Building Gazelle: GZL4...
+-I- Building Gazelle: GZS1...
+-I- Building Gazelle: GZS2...
+-I- Defined 198/600 systems/nodes
+-I- Assigned 1199 LIDs (lmc=1) in 13 steps
+-I- Init Min Hops Tables in:9 steps
+---- CA to CA MIN HOP HISTOGRAM ----
+HOPS NUM-CA-CA-PAIRS
+  1   382
+  3   764
+  5   8022
+  7   432
+ 11   6030
+ 15   21042
+------------------------------------
+-I- Found worst min hops:15 at node:GZL1/leaf2/U2000 to node:H168/U1000
+-I- Tracing by Min Hops from lid:315 to lid:949
+[  0] FROM Node:GZL1/leaf2/U2000 Port:8
+      TO   Node:GZL1/leaf2/U7000 Port:3
+[  1] FROM Node:GZL1/leaf2/U7000 Port:5
+      TO   Node:GZL1/spine3/U1000 Port:2
+[  2] FROM Node:GZL1/spine3/U1000 Port:7
+      TO   Node:GZL1/leaf1/U5000 Port:7
+[  3] FROM Node:GZL1/leaf1/U5000 Port:2
+      TO   Node:GZL1/leaf1/U3000 Port:6
+[  4] FROM Host:GZL1 Plug:L1/P12
+           Node:GZL1/leaf1/U3000 Port:1
+      TO   Host:GZS2 Plug:L2/P12
+           Node:GZS2/leaf2/U3000 Port:1
+[  5] FROM Node:GZS2/leaf2/U3000 Port:5
+      TO   Node:GZS2/leaf2/U4000 Port:2
+[  6] FROM Node:GZS2/leaf2/U4000 Port:5
+      TO   Node:GZS2/spine4/U3000 Port:8
+[  7] FROM Node:GZS2/spine4/U3000 Port:2
+      TO   Node:GZS2/leaf8/U6000 Port:7
+[  8] FROM Node:GZS2/leaf8/U6000 Port:2
+      TO   Node:GZS2/leaf8/U3000 Port:7
+[  9] FROM Host:GZS2 Plug:L8/P12
+           Node:GZS2/leaf8/U3000 Port:1
+      TO   Host:GZL4 Plug:L1/P12
+           Node:GZL4/leaf1/U3000 Port:1
+[ 10] FROM Node:GZL4/leaf1/U3000 Port:5
+      TO   Node:GZL4/leaf1/U4000 Port:2
+[ 11] FROM Node:GZL4/leaf1/U4000 Port:5
+      TO   Node:GZL4/spine2/U3000 Port:8
+[ 12] FROM Node:GZL4/spine2/U3000 Port:1
+      TO   Node:GZL4/leaf4/U7000 Port:7
+[ 13] FROM Node:GZL4/leaf4/U7000 Port:2
+      TO   Node:GZL4/leaf4/U3000 Port:8
+[ 14] FROM Host:GZL4 Plug:L4/P10
+           Node:GZL4/leaf4/U3000 Port:3
+      TO   Host:H168 Plug:P1
+           Node:H168/U1000 Port:1
+----------------------------------------------------
+-I- Using Enhanced OpenSM Routing
+---- LINK SUBSCRIPTIONS HISTOGRAM ----
+NUM-LIDS COUNT
+      0   552
+      2   192
+     14   336
+     29   288
+     30   48
+     54   3
+     55   45
+     62   16
+     63   32
+     90   16
+     91   80
+     93   12
+     94   84
+    118   8
+    119   32
+    120   8
+    122   24
+    123   48
+    125   48
+    126   24
+    137   48
+    153   96
+    156   48
+    205   36
+    206   60
+    208   32
+    209   64
+    274   72
+    276   24
+    277   48
+    280   32
+    281   16
+    298   168
+    299   168
+    336   16
+    337   32
+    385   224
+    386   112
+    487   21
+    488   3
+    994   48
+------------------------------------
+-I- Enhanced selection by Sys:259336 Node:191720 Subscription:37728
+---- CA to CA LFT ROUTE HOP HISTOGRAM ----
+HOPS NUM-CA-CA-PAIRS
+  1   762
+  2   18
+  3   1573
+  5   15889
+  7   864
+ 11   12024
+ 15   41832
+------------------------------------
+---- COMMON NODES HISTOGRAM ----
+COMMON-NODES NUM-CA-CA-PAIRS
+PATH DPT|     1|     2|     3|     4|     5|     6|     7|     8|     9|    10|    11|    12|    13|    14|    15|
+COMM=  1|     0|     0|    53|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0| 29392|
+COMM=  2|     0|     0|   760|     0|  7909|     0|   432|     0|     0|     0|  5178|     0|     0|     0| 21750|
+COMM=  3|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|   834|     0|     0|     0|  5803|
+COMM=  4|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|
+------------------------------------
+---- COMMON SYSTEMS HISTOGRAM ----
+COMMON-SYSTEM NUM-CA-CA-PAIRS
+PATH DPT|     1|     2|     3|     4|     5|     6|     7|     8|     9|    10|    11|    12|    13|    14|    15|
+COMM=  1|     0|     0|   813|     0|  7909|     0|     0|     0|     0|     0|     0|     0|     0|     0| 27360|
+COMM=  2|     0|     0|     0|     0|     0|     0|   432|     0|     0|     0|  6012|     0|     0|     0| 20916|
+COMM=  3|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|
+------------------------------------
+-I- Scanned:72962 CA to CA paths
+-I- Registering System Factory for:Generic
+-I- Registering System Factory for:Reindeer
+-I- Registering System Factory for:Gazelle
+-I- Registering System Factory for:Cougar
+-I- Parsing cabling definition:Clusters/FullCbbTwoSpines.cables
+-I- Building Gazelle: GZL1...
+-I- Building Gazelle: GZL2...
+-I- Building Gazelle: GZL3...
+-I- Building Gazelle: GZL4...
+-I- Building Gazelle: GZS1...
+-I- Building Gazelle: GZS2...
+-I- Defined 198/600 systems/nodes
+-I- Assigned 1199 LIDs (lmc=1) in 13 steps
+-I- Init Min Hops Tables in:9 steps
+---- CA to CA MIN HOP HISTOGRAM ----
+HOPS NUM-CA-CA-PAIRS
+  1   382
+  3   764
+  5   8022
+  7   432
+ 11   6030
+ 15   21042
+------------------------------------
+-I- Found worst min hops:15 at node:GZL1/leaf2/U2000 to node:H168/U1000
+-I- Tracing by Min Hops from lid:315 to lid:949
+[  0] FROM Node:GZL1/leaf2/U2000 Port:8
+      TO   Node:GZL1/leaf2/U7000 Port:3
+[  1] FROM Node:GZL1/leaf2/U7000 Port:5
+      TO   Node:GZL1/spine3/U1000 Port:2
+[  2] FROM Node:GZL1/spine3/U1000 Port:7
+      TO   Node:GZL1/leaf1/U5000 Port:7
+[  3] FROM Node:GZL1/leaf1/U5000 Port:2
+      TO   Node:GZL1/leaf1/U3000 Port:6
+[  4] FROM Host:GZL1 Plug:L1/P12
+           Node:GZL1/leaf1/U3000 Port:1
+      TO   Host:GZS2 Plug:L2/P12
+           Node:GZS2/leaf2/U3000 Port:1
+[  5] FROM Node:GZS2/leaf2/U3000 Port:5
+      TO   Node:GZS2/leaf2/U4000 Port:2
+[  6] FROM Node:GZS2/leaf2/U4000 Port:5
+      TO   Node:GZS2/spine4/U3000 Port:8
+[  7] FROM Node:GZS2/spine4/U3000 Port:2
+      TO   Node:GZS2/leaf8/U6000 Port:7
+[  8] FROM Node:GZS2/leaf8/U6000 Port:2
+      TO   Node:GZS2/leaf8/U3000 Port:7
+[  9] FROM Host:GZS2 Plug:L8/P12
+           Node:GZS2/leaf8/U3000 Port:1
+      TO   Host:GZL4 Plug:L1/P12
+           Node:GZL4/leaf1/U3000 Port:1
+[ 10] FROM Node:GZL4/leaf1/U3000 Port:5
+      TO   Node:GZL4/leaf1/U4000 Port:2
+[ 11] FROM Node:GZL4/leaf1/U4000 Port:5
+      TO   Node:GZL4/spine2/U3000 Port:8
+[ 12] FROM Node:GZL4/spine2/U3000 Port:1
+      TO   Node:GZL4/leaf4/U7000 Port:7
+[ 13] FROM Node:GZL4/leaf4/U7000 Port:2
+      TO   Node:GZL4/leaf4/U3000 Port:8
+[ 14] FROM Host:GZL4 Plug:L4/P10
+           Node:GZL4/leaf4/U3000 Port:3
+      TO   Host:H168 Plug:P1
+           Node:H168/U1000 Port:1
+----------------------------------------------------
+-I- Using standard OpenSM Routing
+---- LINK SUBSCRIPTIONS HISTOGRAM ----
+NUM-LIDS COUNT
+      0   552
+      2   192
+     14   336
+     29   288
+     30   48
+     55   4
+     56   26
+     57   18
+     62   16
+     63   32
+     90   16
+     91   80
+     93   24
+     94   72
+    118   8
+    119   32
+    120   8
+    122   24
+    123   48
+    125   48
+    126   24
+    137   48
+    153   96
+    156   48
+    205   36
+    206   48
+    207   12
+    208   32
+    209   64
+    274   72
+    276   24
+    277   48
+    280   32
+    281   16
+    298   168
+    299   168
+    336   16
+    337   32
+    385   224
+    386   112
+    484   18
+    485   2
+    486   4
+    994   48
+------------------------------------
+---- CA to CA LFT ROUTE HOP HISTOGRAM ----
+HOPS NUM-CA-CA-PAIRS
+  1   762
+  2   18
+  3   1573
+  5   15889
+  7   864
+ 11   12024
+ 15   41832
+------------------------------------
+---- COMMON NODES HISTOGRAM ----
+COMMON-NODES NUM-CA-CA-PAIRS
+PATH DPT|     1|     2|     3|     4|     5|     6|     7|     8|     9|    10|    11|    12|    13|    14|    15|
+COMM=  1|     0|     0|    53|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0| 28944|
+COMM=  2|     0|     0|   760|     0|  7909|     0|   432|     0|     0|     0|  5010|     0|     0|     0| 21918|
+COMM=  3|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|  1002|     0|     0|     0|  6083|
+COMM=  4|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|
+------------------------------------
+---- COMMON SYSTEMS HISTOGRAM ----
+COMMON-SYSTEM NUM-CA-CA-PAIRS
+PATH DPT|     1|     2|     3|     4|     5|     6|     7|     8|     9|    10|    11|    12|    13|    14|    15|
+COMM=  1|     0|     0|   813|     0|  7909|     0|     0|     0|     0|     0|     0|     0|     0|     0| 27360|
+COMM=  2|     0|     0|     0|     0|     0|     0|   432|     0|     0|     0|  6012|     0|     0|     0| 20916|
+COMM=  3|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|     0|
+------------------------------------
+-I- Scanned:72962 CA to CA paths
diff --git a/ibdm/Clusters/FullCbbTwoSpines.xls b/ibdm/Clusters/FullCbbTwoSpines.xls
new file mode 100755
index 0000000..c8d35d5
Binary files /dev/null and b/ibdm/Clusters/FullCbbTwoSpines.xls differ
diff --git a/ibdm/Clusters/FullGnu.topo b/ibdm/Clusters/FullGnu.topo
new file mode 100644
index 0000000..ed60e4b
--- /dev/null
+++ b/ibdm/Clusters/FullGnu.topo
@@ -0,0 +1,19 @@
+# A complete Gnu
+
+Gnu GNU1
+  M/P1 -> Cougar H01 P1
+  M/P2 -> Cougar H02 P2
+  M/P3 -> Cougar H03 P1
+  M/P4 -> Cougar H04 P2
+  M/P5 -> Cougar H05 P2
+  M/P6 -> Cougar H06 P1
+  M/P7 -> Cougar H07 P2
+  M/P8 -> Cougar H08 P1
+  L1/P1 -> Cougar H09 P1
+  L1/P2 -> Cougar H10 P2
+  L1/P3 -> Cougar H13 P1
+  L1/P4 -> Cougar H14 P2
+  L2/P1 -> Cougar H15 P1
+  L2/P2 -> Cougar H12 P2
+  L2/P3 -> Cougar H11 P1
+  L2/P4 -> Cougar H16 P2
diff --git a/ibdm/Clusters/Makefile b/ibdm/Clusters/Makefile
new file mode 100644
index 0000000..18b2930
--- /dev/null
+++ b/ibdm/Clusters/Makefile
@@ -0,0 +1,371 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Clusters/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = Clusters
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+
+# We only want to distriute these files
+pkgdata_DATA = $(wildcard $(srcdir)/*.topo) $(wildcard $(srcdir)/*.lst)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(pkgdata_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Clusters/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Clusters/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(pkgdata_DATA); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/Clusters/Makefile.am b/ibdm/Clusters/Makefile.am
new file mode 100644
index 0000000..137dec5
--- /dev/null
+++ b/ibdm/Clusters/Makefile.am
@@ -0,0 +1,10 @@
+
+# We only want to distriute these files
+pkgdata_DATA = $(wildcard $(srcdir)/*.topo) $(wildcard $(srcdir)/*.lst)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(pkgdata_DATA)
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(pkgdata_DATA); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
diff --git a/ibdm/Clusters/Makefile.in b/ibdm/Clusters/Makefile.in
new file mode 100644
index 0000000..b34177c
--- /dev/null
+++ b/ibdm/Clusters/Makefile.in
@@ -0,0 +1,371 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = Clusters
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+
+# We only want to distriute these files
+pkgdata_DATA = $(wildcard $(srcdir)/*.topo) $(wildcard $(srcdir)/*.lst)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(pkgdata_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Clusters/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Clusters/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(pkgdata_DATA); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/Clusters/PartialGazelle.topo b/ibdm/Clusters/PartialGazelle.topo
new file mode 100644
index 0000000..f8a4a33
--- /dev/null
+++ b/ibdm/Clusters/PartialGazelle.topo
@@ -0,0 +1,74 @@
+# Topology file for a single Gazelle
+Gazelle GZ1 CFG: leaf1=R,leaf7=R,spine1=R
+   L2/P1 -> Cougar  H01 P1
+   L2/P2 -> Cougar  H14 P1
+   L2/P3 -> Cougar  H15 P1
+   L2/P4 -> Cougar  H16 P1
+   L2/P5 -> Lion  H17 P1
+   L2/P6 -> Cougar  H18 P1
+   L2/P7 -> Cougar  H19 P1
+   L2/P8 -> Cougar  H20 P1
+   L2/P9 -> Cougar  H21 P1
+   L2/P10 -> Cougar  H22 P1
+   L2/P11 -> Cougar  H23 P1
+   L2/P12 -> Cougar  H24 P1
+   L3/P1 -> Cougar  H25 P1
+   L3/P2 -> Cougar  H26 P1
+   L3/P3 -> Cougar  H27 P1
+   L3/P4 -> Cougar  H28 P1
+   L3/P5 -> Cougar  H29 P1
+   L3/P6 -> Cougar  H30 P1
+   L3/P7 -> Cougar  H31 P1
+   L3/P8 -> Cougar  H32 P1
+   L3/P9 -> Cougar  H33 P1
+   L3/P10 -> Cougar  H34 P1
+   L3/P11 -> Cougar  H35 P1
+   L3/P12 -> Cougar  H36 P1
+   L4/P1 -> Cougar  H37 P1
+   L4/P2 -> Cougar  H38 P1
+   L4/P3 -> Cougar  H39 P1
+   L4/P4 -> Cougar  H40 P1
+   L4/P5 -> Cougar  H41 P1
+   L4/P6 -> Cougar  H42 P1
+   L4/P7 -> Cougar  H43 P1
+   L4/P8 -> Cougar  H44 P1
+   L4/P9 -> Cougar  H45 P1
+   L4/P10 -> Cougar  H46 P1
+   L4/P11 -> Cougar  H47 P1
+   L4/P12 -> Cougar  H48 P1
+   L5/P1 -> Cougar  H49 P1
+   L5/P2 -> Cougar  H50 P1
+   L5/P3 -> Cougar  H51 P1
+   L5/P4 -> Cougar  H52 P1
+   L5/P5 -> Cougar  H53 P1
+   L5/P6 -> Cougar  H54 P1
+   L5/P7 -> Cougar  H55 P1
+   L5/P8 -> Cougar  H56 P1
+   L5/P9 -> Cougar  H57 P1
+   L5/P10 -> Cougar  H58 P1
+   L5/P11 -> Cougar  H59 P1
+   L5/P12 -> Cougar  H60 P1
+   L6/P1 -> Cougar  H61 P1
+   L6/P2 -> Cougar  H62 P1
+   L6/P3 -> Cougar  H63 P1
+   L6/P4 -> Cougar  H64 P1
+   L6/P5 -> Cougar  H65 P1
+   L6/P6 -> Cougar  H66 P1
+   L6/P7 -> Cougar  H67 P1
+   L6/P8 -> Cougar  H68 P1
+   L6/P9 -> Cougar  H69 P1
+   L6/P10 -> Cougar  H70 P1
+   L6/P11 -> Cougar  H71 P1
+   L6/P12 -> Cougar  H72 P1
+   L8/P1 -> Cougar  H85 P1
+   L8/P2 -> Cougar  H86 P1
+   L8/P3 -> Cougar  H87 P1
+   L8/P4 -> Cougar  H88 P1
+   L8/P5 -> Cougar  H89 P1
+   L8/P6 -> Cougar  H90 P1
+   L8/P7 -> Cougar  H91 P1
+   L8/P8 -> Cougar  H92 P1
+   L8/P9 -> Cougar  H93 P1
+   L8/P10 -> Cougar  H94 P1
+   L8/P11 -> Cougar  H95 P1
+   L8/P12 -> Cougar  H96 P1
diff --git a/ibdm/Clusters/RhinoBased512.lst b/ibdm/Clusters/RhinoBased512.lst
new file mode 100644
index 0000000..02dd3af
--- /dev/null
+++ b/ibdm/Clusters/RhinoBased512.lst
@@ -0,0 +1,5504 @@
+{ CA Ports:02 SystemGUID:0002c90000000002 NodeGUID:0002c90000000002 PortGUID:0002c90000000002 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-1 MT23108 Infinihost-II Mellanox Technologies} LID:0001 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:01 } PHY=8x LOG=ACT SPD=5
+{ CA Ports:02 SystemGUID:0002c90000000005 NodeGUID:0002c90000000005 PortGUID:0002c90000000005 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-10 MT23108 Infinihost-II Mellanox Technologies} LID:0003 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000008 NodeGUID:0002c90000000008 PortGUID:0002c90000000008 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-100 MT23108 Infinihost-II Mellanox Technologies} LID:0005 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000000b NodeGUID:0002c9000000000b PortGUID:0002c9000000000b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-101 MT23108 Infinihost-II Mellanox Technologies} LID:0007 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000000e NodeGUID:0002c9000000000e PortGUID:0002c9000000000e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-102 MT23108 Infinihost-II Mellanox Technologies} LID:0009 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000011 NodeGUID:0002c90000000011 PortGUID:0002c90000000011 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-103 MT23108 Infinihost-II Mellanox Technologies} LID:000b PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000014 NodeGUID:0002c90000000014 PortGUID:0002c90000000014 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-104 MT23108 Infinihost-II Mellanox Technologies} LID:000d PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000017 NodeGUID:0002c90000000017 PortGUID:0002c90000000017 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-105 MT23108 Infinihost-II Mellanox Technologies} LID:000f PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000001a NodeGUID:0002c9000000001a PortGUID:0002c9000000001a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-106 MT23108 Infinihost-II Mellanox Technologies} LID:0011 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000001d NodeGUID:0002c9000000001d PortGUID:0002c9000000001d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-107 MT23108 Infinihost-II Mellanox Technologies} LID:0013 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000020 NodeGUID:0002c90000000020 PortGUID:0002c90000000020 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-108 MT23108 Infinihost-II Mellanox Technologies} LID:0015 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000023 NodeGUID:0002c90000000023 PortGUID:0002c90000000023 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-109 MT23108 Infinihost-II Mellanox Technologies} LID:0017 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000026 NodeGUID:0002c90000000026 PortGUID:0002c90000000026 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-11 MT23108 Infinihost-II Mellanox Technologies} LID:0019 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000029 NodeGUID:0002c90000000029 PortGUID:0002c90000000029 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-110 MT23108 Infinihost-II Mellanox Technologies} LID:001b PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000002c NodeGUID:0002c9000000002c PortGUID:0002c9000000002c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-111 MT23108 Infinihost-II Mellanox Technologies} LID:001d PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000002f NodeGUID:0002c9000000002f PortGUID:0002c9000000002f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-112 MT23108 Infinihost-II Mellanox Technologies} LID:001f PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000032 NodeGUID:0002c90000000032 PortGUID:0002c90000000032 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-113 MT23108 Infinihost-II Mellanox Technologies} LID:0021 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000035 NodeGUID:0002c90000000035 PortGUID:0002c90000000035 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-114 MT23108 Infinihost-II Mellanox Technologies} LID:0023 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000038 NodeGUID:0002c90000000038 PortGUID:0002c90000000038 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-115 MT23108 Infinihost-II Mellanox Technologies} LID:0025 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000003b NodeGUID:0002c9000000003b PortGUID:0002c9000000003b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-116 MT23108 Infinihost-II Mellanox Technologies} LID:0027 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000003e NodeGUID:0002c9000000003e PortGUID:0002c9000000003e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-117 MT23108 Infinihost-II Mellanox Technologies} LID:0029 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000041 NodeGUID:0002c90000000041 PortGUID:0002c90000000041 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-118 MT23108 Infinihost-II Mellanox Technologies} LID:002b PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000044 NodeGUID:0002c90000000044 PortGUID:0002c90000000044 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-119 MT23108 Infinihost-II Mellanox Technologies} LID:002d PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000047 NodeGUID:0002c90000000047 PortGUID:0002c90000000047 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-12 MT23108 Infinihost-II Mellanox Technologies} LID:002f PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000004a NodeGUID:0002c9000000004a PortGUID:0002c9000000004a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-120 MT23108 Infinihost-II Mellanox Technologies} LID:0031 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000004d NodeGUID:0002c9000000004d PortGUID:0002c9000000004d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-121 MT23108 Infinihost-II Mellanox Technologies} LID:0033 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000050 NodeGUID:0002c90000000050 PortGUID:0002c90000000050 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-122 MT23108 Infinihost-II Mellanox Technologies} LID:0035 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000053 NodeGUID:0002c90000000053 PortGUID:0002c90000000053 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-123 MT23108 Infinihost-II Mellanox Technologies} LID:0037 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000056 NodeGUID:0002c90000000056 PortGUID:0002c90000000056 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-124 MT23108 Infinihost-II Mellanox Technologies} LID:0039 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000059 NodeGUID:0002c90000000059 PortGUID:0002c90000000059 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-125 MT23108 Infinihost-II Mellanox Technologies} LID:003b PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000005c NodeGUID:0002c9000000005c PortGUID:0002c9000000005c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-126 MT23108 Infinihost-II Mellanox Technologies} LID:003d PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000005f NodeGUID:0002c9000000005f PortGUID:0002c9000000005f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-127 MT23108 Infinihost-II Mellanox Technologies} LID:003f PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000062 NodeGUID:0002c90000000062 PortGUID:0002c90000000062 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-128 MT23108 Infinihost-II Mellanox Technologies} LID:0041 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000065 NodeGUID:0002c90000000065 PortGUID:0002c90000000065 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-129 MT23108 Infinihost-II Mellanox Technologies} LID:0043 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000068 NodeGUID:0002c90000000068 PortGUID:0002c90000000068 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-13 MT23108 Infinihost-II Mellanox Technologies} LID:0045 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000006b NodeGUID:0002c9000000006b PortGUID:0002c9000000006b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-130 MT23108 Infinihost-II Mellanox Technologies} LID:0047 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000006e NodeGUID:0002c9000000006e PortGUID:0002c9000000006e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-131 MT23108 Infinihost-II Mellanox Technologies} LID:0049 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000071 NodeGUID:0002c90000000071 PortGUID:0002c90000000071 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-132 MT23108 Infinihost-II Mellanox Technologies} LID:004b PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000074 NodeGUID:0002c90000000074 PortGUID:0002c90000000074 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-133 MT23108 Infinihost-II Mellanox Technologies} LID:004d PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000077 NodeGUID:0002c90000000077 PortGUID:0002c90000000077 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-134 MT23108 Infinihost-II Mellanox Technologies} LID:004f PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000007a NodeGUID:0002c9000000007a PortGUID:0002c9000000007a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-135 MT23108 Infinihost-II Mellanox Technologies} LID:0051 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000007d NodeGUID:0002c9000000007d PortGUID:0002c9000000007d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-136 MT23108 Infinihost-II Mellanox Technologies} LID:0053 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000080 NodeGUID:0002c90000000080 PortGUID:0002c90000000080 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-137 MT23108 Infinihost-II Mellanox Technologies} LID:0055 PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000083 NodeGUID:0002c90000000083 PortGUID:0002c90000000083 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-138 MT23108 Infinihost-II Mellanox Technologies} LID:0057 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000086 NodeGUID:0002c90000000086 PortGUID:0002c90000000086 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-139 MT23108 Infinihost-II Mellanox Technologies} LID:0059 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000089 NodeGUID:0002c90000000089 PortGUID:0002c90000000089 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-14 MT23108 Infinihost-II Mellanox Technologies} LID:005b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000008c NodeGUID:0002c9000000008c PortGUID:0002c9000000008c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-140 MT23108 Infinihost-II Mellanox Technologies} LID:005d PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000008f NodeGUID:0002c9000000008f PortGUID:0002c9000000008f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-141 MT23108 Infinihost-II Mellanox Technologies} LID:005f PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000092 NodeGUID:0002c90000000092 PortGUID:0002c90000000092 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-142 MT23108 Infinihost-II Mellanox Technologies} LID:0061 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000095 NodeGUID:0002c90000000095 PortGUID:0002c90000000095 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-143 MT23108 Infinihost-II Mellanox Technologies} LID:0063 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000098 NodeGUID:0002c90000000098 PortGUID:0002c90000000098 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-144 MT23108 Infinihost-II Mellanox Technologies} LID:0065 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000009b NodeGUID:0002c9000000009b PortGUID:0002c9000000009b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-145 MT23108 Infinihost-II Mellanox Technologies} LID:0067 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000009e NodeGUID:0002c9000000009e PortGUID:0002c9000000009e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-146 MT23108 Infinihost-II Mellanox Technologies} LID:0069 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a1 NodeGUID:0002c900000000a1 PortGUID:0002c900000000a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-147 MT23108 Infinihost-II Mellanox Technologies} LID:006b PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a4 NodeGUID:0002c900000000a4 PortGUID:0002c900000000a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-148 MT23108 Infinihost-II Mellanox Technologies} LID:006d PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a7 NodeGUID:0002c900000000a7 PortGUID:0002c900000000a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-149 MT23108 Infinihost-II Mellanox Technologies} LID:006f PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000aa NodeGUID:0002c900000000aa PortGUID:0002c900000000aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-15 MT23108 Infinihost-II Mellanox Technologies} LID:0071 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ad NodeGUID:0002c900000000ad PortGUID:0002c900000000ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-150 MT23108 Infinihost-II Mellanox Technologies} LID:0073 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b0 NodeGUID:0002c900000000b0 PortGUID:0002c900000000b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-151 MT23108 Infinihost-II Mellanox Technologies} LID:0075 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b3 NodeGUID:0002c900000000b3 PortGUID:0002c900000000b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-152 MT23108 Infinihost-II Mellanox Technologies} LID:0077 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b6 NodeGUID:0002c900000000b6 PortGUID:0002c900000000b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-153 MT23108 Infinihost-II Mellanox Technologies} LID:0079 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b9 NodeGUID:0002c900000000b9 PortGUID:0002c900000000b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-154 MT23108 Infinihost-II Mellanox Technologies} LID:007b PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000bc NodeGUID:0002c900000000bc PortGUID:0002c900000000bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-155 MT23108 Infinihost-II Mellanox Technologies} LID:007d PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000bf NodeGUID:0002c900000000bf PortGUID:0002c900000000bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-156 MT23108 Infinihost-II Mellanox Technologies} LID:007f PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c2 NodeGUID:0002c900000000c2 PortGUID:0002c900000000c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-157 MT23108 Infinihost-II Mellanox Technologies} LID:0081 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c5 NodeGUID:0002c900000000c5 PortGUID:0002c900000000c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-158 MT23108 Infinihost-II Mellanox Technologies} LID:0083 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c8 NodeGUID:0002c900000000c8 PortGUID:0002c900000000c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-159 MT23108 Infinihost-II Mellanox Technologies} LID:0085 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000cb NodeGUID:0002c900000000cb PortGUID:0002c900000000cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-16 MT23108 Infinihost-II Mellanox Technologies} LID:0087 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ce NodeGUID:0002c900000000ce PortGUID:0002c900000000ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-160 MT23108 Infinihost-II Mellanox Technologies} LID:0089 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d1 NodeGUID:0002c900000000d1 PortGUID:0002c900000000d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-161 MT23108 Infinihost-II Mellanox Technologies} LID:008b PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d4 NodeGUID:0002c900000000d4 PortGUID:0002c900000000d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-162 MT23108 Infinihost-II Mellanox Technologies} LID:008d PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d7 NodeGUID:0002c900000000d7 PortGUID:0002c900000000d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-163 MT23108 Infinihost-II Mellanox Technologies} LID:008f PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000da NodeGUID:0002c900000000da PortGUID:0002c900000000da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-164 MT23108 Infinihost-II Mellanox Technologies} LID:0091 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000dd NodeGUID:0002c900000000dd PortGUID:0002c900000000dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-165 MT23108 Infinihost-II Mellanox Technologies} LID:0093 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e0 NodeGUID:0002c900000000e0 PortGUID:0002c900000000e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-166 MT23108 Infinihost-II Mellanox Technologies} LID:0095 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e3 NodeGUID:0002c900000000e3 PortGUID:0002c900000000e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-167 MT23108 Infinihost-II Mellanox Technologies} LID:0097 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e6 NodeGUID:0002c900000000e6 PortGUID:0002c900000000e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-168 MT23108 Infinihost-II Mellanox Technologies} LID:0099 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e9 NodeGUID:0002c900000000e9 PortGUID:0002c900000000e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-169 MT23108 Infinihost-II Mellanox Technologies} LID:009b PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ec NodeGUID:0002c900000000ec PortGUID:0002c900000000ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-17 MT23108 Infinihost-II Mellanox Technologies} LID:009d PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ef NodeGUID:0002c900000000ef PortGUID:0002c900000000ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-170 MT23108 Infinihost-II Mellanox Technologies} LID:009f PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f2 NodeGUID:0002c900000000f2 PortGUID:0002c900000000f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-171 MT23108 Infinihost-II Mellanox Technologies} LID:00a1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f5 NodeGUID:0002c900000000f5 PortGUID:0002c900000000f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-172 MT23108 Infinihost-II Mellanox Technologies} LID:00a3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f8 NodeGUID:0002c900000000f8 PortGUID:0002c900000000f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-173 MT23108 Infinihost-II Mellanox Technologies} LID:00a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000fb NodeGUID:0002c900000000fb PortGUID:0002c900000000fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-174 MT23108 Infinihost-II Mellanox Technologies} LID:00a7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000fe NodeGUID:0002c900000000fe PortGUID:0002c900000000fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-175 MT23108 Infinihost-II Mellanox Technologies} LID:00a9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000101 NodeGUID:0002c90000000101 PortGUID:0002c90000000101 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-176 MT23108 Infinihost-II Mellanox Technologies} LID:00ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000104 NodeGUID:0002c90000000104 PortGUID:0002c90000000104 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-177 MT23108 Infinihost-II Mellanox Technologies} LID:00ad PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000107 NodeGUID:0002c90000000107 PortGUID:0002c90000000107 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-178 MT23108 Infinihost-II Mellanox Technologies} LID:00af PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000010a NodeGUID:0002c9000000010a PortGUID:0002c9000000010a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-179 MT23108 Infinihost-II Mellanox Technologies} LID:00b1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000010d NodeGUID:0002c9000000010d PortGUID:0002c9000000010d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-18 MT23108 Infinihost-II Mellanox Technologies} LID:00b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000110 NodeGUID:0002c90000000110 PortGUID:0002c90000000110 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-180 MT23108 Infinihost-II Mellanox Technologies} LID:00b5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000113 NodeGUID:0002c90000000113 PortGUID:0002c90000000113 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-181 MT23108 Infinihost-II Mellanox Technologies} LID:00b7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000116 NodeGUID:0002c90000000116 PortGUID:0002c90000000116 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-182 MT23108 Infinihost-II Mellanox Technologies} LID:00b9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000119 NodeGUID:0002c90000000119 PortGUID:0002c90000000119 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-183 MT23108 Infinihost-II Mellanox Technologies} LID:00bb PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000011c NodeGUID:0002c9000000011c PortGUID:0002c9000000011c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-184 MT23108 Infinihost-II Mellanox Technologies} LID:00bd PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000011f NodeGUID:0002c9000000011f PortGUID:0002c9000000011f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-185 MT23108 Infinihost-II Mellanox Technologies} LID:00bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000122 NodeGUID:0002c90000000122 PortGUID:0002c90000000122 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-186 MT23108 Infinihost-II Mellanox Technologies} LID:00c1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000125 NodeGUID:0002c90000000125 PortGUID:0002c90000000125 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-187 MT23108 Infinihost-II Mellanox Technologies} LID:00c3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000128 NodeGUID:0002c90000000128 PortGUID:0002c90000000128 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-188 MT23108 Infinihost-II Mellanox Technologies} LID:00c5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000012b NodeGUID:0002c9000000012b PortGUID:0002c9000000012b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-189 MT23108 Infinihost-II Mellanox Technologies} LID:00c7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000012e NodeGUID:0002c9000000012e PortGUID:0002c9000000012e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-19 MT23108 Infinihost-II Mellanox Technologies} LID:00c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000131 NodeGUID:0002c90000000131 PortGUID:0002c90000000131 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-190 MT23108 Infinihost-II Mellanox Technologies} LID:00cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000134 NodeGUID:0002c90000000134 PortGUID:0002c90000000134 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-191 MT23108 Infinihost-II Mellanox Technologies} LID:00cd PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000137 NodeGUID:0002c90000000137 PortGUID:0002c90000000137 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-192 MT23108 Infinihost-II Mellanox Technologies} LID:00cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000013a NodeGUID:0002c9000000013a PortGUID:0002c9000000013a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-193 MT23108 Infinihost-II Mellanox Technologies} LID:00d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000013d NodeGUID:0002c9000000013d PortGUID:0002c9000000013d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-194 MT23108 Infinihost-II Mellanox Technologies} LID:00d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000140 NodeGUID:0002c90000000140 PortGUID:0002c90000000140 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-195 MT23108 Infinihost-II Mellanox Technologies} LID:00d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000143 NodeGUID:0002c90000000143 PortGUID:0002c90000000143 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-196 MT23108 Infinihost-II Mellanox Technologies} LID:00d7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000146 NodeGUID:0002c90000000146 PortGUID:0002c90000000146 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-197 MT23108 Infinihost-II Mellanox Technologies} LID:00d9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000149 NodeGUID:0002c90000000149 PortGUID:0002c90000000149 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-198 MT23108 Infinihost-II Mellanox Technologies} LID:00db PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000014c NodeGUID:0002c9000000014c PortGUID:0002c9000000014c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-199 MT23108 Infinihost-II Mellanox Technologies} LID:00dd PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000014f NodeGUID:0002c9000000014f PortGUID:0002c9000000014f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-2 MT23108 Infinihost-II Mellanox Technologies} LID:00df PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:01 } PHY=12x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000152 NodeGUID:0002c90000000152 PortGUID:0002c90000000152 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-20 MT23108 Infinihost-II Mellanox Technologies} LID:00e1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000155 NodeGUID:0002c90000000155 PortGUID:0002c90000000155 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-200 MT23108 Infinihost-II Mellanox Technologies} LID:00e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000158 NodeGUID:0002c90000000158 PortGUID:0002c90000000158 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-201 MT23108 Infinihost-II Mellanox Technologies} LID:00e5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000015b NodeGUID:0002c9000000015b PortGUID:0002c9000000015b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-202 MT23108 Infinihost-II Mellanox Technologies} LID:00e7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000015e NodeGUID:0002c9000000015e PortGUID:0002c9000000015e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-203 MT23108 Infinihost-II Mellanox Technologies} LID:00e9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000161 NodeGUID:0002c90000000161 PortGUID:0002c90000000161 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-204 MT23108 Infinihost-II Mellanox Technologies} LID:00eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000164 NodeGUID:0002c90000000164 PortGUID:0002c90000000164 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-205 MT23108 Infinihost-II Mellanox Technologies} LID:00ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000167 NodeGUID:0002c90000000167 PortGUID:0002c90000000167 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-206 MT23108 Infinihost-II Mellanox Technologies} LID:00ef PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000016a NodeGUID:0002c9000000016a PortGUID:0002c9000000016a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-207 MT23108 Infinihost-II Mellanox Technologies} LID:00f1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000016d NodeGUID:0002c9000000016d PortGUID:0002c9000000016d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-208 MT23108 Infinihost-II Mellanox Technologies} LID:00f3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000170 NodeGUID:0002c90000000170 PortGUID:0002c90000000170 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-209 MT23108 Infinihost-II Mellanox Technologies} LID:00f5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000173 NodeGUID:0002c90000000173 PortGUID:0002c90000000173 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-21 MT23108 Infinihost-II Mellanox Technologies} LID:00f7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000176 NodeGUID:0002c90000000176 PortGUID:0002c90000000176 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-210 MT23108 Infinihost-II Mellanox Technologies} LID:00f9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000179 NodeGUID:0002c90000000179 PortGUID:0002c90000000179 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-211 MT23108 Infinihost-II Mellanox Technologies} LID:00fb PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000017c NodeGUID:0002c9000000017c PortGUID:0002c9000000017c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-212 MT23108 Infinihost-II Mellanox Technologies} LID:00fd PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000017f NodeGUID:0002c9000000017f PortGUID:0002c9000000017f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-213 MT23108 Infinihost-II Mellanox Technologies} LID:00ff PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000182 NodeGUID:0002c90000000182 PortGUID:0002c90000000182 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-214 MT23108 Infinihost-II Mellanox Technologies} LID:0101 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000185 NodeGUID:0002c90000000185 PortGUID:0002c90000000185 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-215 MT23108 Infinihost-II Mellanox Technologies} LID:0103 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000188 NodeGUID:0002c90000000188 PortGUID:0002c90000000188 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-216 MT23108 Infinihost-II Mellanox Technologies} LID:0105 PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000018b NodeGUID:0002c9000000018b PortGUID:0002c9000000018b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-217 MT23108 Infinihost-II Mellanox Technologies} LID:0107 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000018e NodeGUID:0002c9000000018e PortGUID:0002c9000000018e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-218 MT23108 Infinihost-II Mellanox Technologies} LID:0109 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000191 NodeGUID:0002c90000000191 PortGUID:0002c90000000191 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-219 MT23108 Infinihost-II Mellanox Technologies} LID:010b PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000194 NodeGUID:0002c90000000194 PortGUID:0002c90000000194 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-22 MT23108 Infinihost-II Mellanox Technologies} LID:010d PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000197 NodeGUID:0002c90000000197 PortGUID:0002c90000000197 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-220 MT23108 Infinihost-II Mellanox Technologies} LID:010f PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000019a NodeGUID:0002c9000000019a PortGUID:0002c9000000019a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-221 MT23108 Infinihost-II Mellanox Technologies} LID:0111 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000019d NodeGUID:0002c9000000019d PortGUID:0002c9000000019d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-222 MT23108 Infinihost-II Mellanox Technologies} LID:0113 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a0 NodeGUID:0002c900000001a0 PortGUID:0002c900000001a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-223 MT23108 Infinihost-II Mellanox Technologies} LID:0115 PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a3 NodeGUID:0002c900000001a3 PortGUID:0002c900000001a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-224 MT23108 Infinihost-II Mellanox Technologies} LID:0117 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a6 NodeGUID:0002c900000001a6 PortGUID:0002c900000001a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-225 MT23108 Infinihost-II Mellanox Technologies} LID:0119 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a9 NodeGUID:0002c900000001a9 PortGUID:0002c900000001a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-226 MT23108 Infinihost-II Mellanox Technologies} LID:011b PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ac NodeGUID:0002c900000001ac PortGUID:0002c900000001ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-227 MT23108 Infinihost-II Mellanox Technologies} LID:011d PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001af NodeGUID:0002c900000001af PortGUID:0002c900000001af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-228 MT23108 Infinihost-II Mellanox Technologies} LID:011f PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b2 NodeGUID:0002c900000001b2 PortGUID:0002c900000001b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-229 MT23108 Infinihost-II Mellanox Technologies} LID:0121 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b5 NodeGUID:0002c900000001b5 PortGUID:0002c900000001b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-23 MT23108 Infinihost-II Mellanox Technologies} LID:0123 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b8 NodeGUID:0002c900000001b8 PortGUID:0002c900000001b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-230 MT23108 Infinihost-II Mellanox Technologies} LID:0125 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001bb NodeGUID:0002c900000001bb PortGUID:0002c900000001bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-231 MT23108 Infinihost-II Mellanox Technologies} LID:0127 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001be NodeGUID:0002c900000001be PortGUID:0002c900000001be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-232 MT23108 Infinihost-II Mellanox Technologies} LID:0129 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c1 NodeGUID:0002c900000001c1 PortGUID:0002c900000001c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-233 MT23108 Infinihost-II Mellanox Technologies} LID:012b PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c4 NodeGUID:0002c900000001c4 PortGUID:0002c900000001c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-234 MT23108 Infinihost-II Mellanox Technologies} LID:012d PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c7 NodeGUID:0002c900000001c7 PortGUID:0002c900000001c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-235 MT23108 Infinihost-II Mellanox Technologies} LID:012f PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ca NodeGUID:0002c900000001ca PortGUID:0002c900000001ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-236 MT23108 Infinihost-II Mellanox Technologies} LID:0131 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001cd NodeGUID:0002c900000001cd PortGUID:0002c900000001cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-237 MT23108 Infinihost-II Mellanox Technologies} LID:0133 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d0 NodeGUID:0002c900000001d0 PortGUID:0002c900000001d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-238 MT23108 Infinihost-II Mellanox Technologies} LID:0135 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d3 NodeGUID:0002c900000001d3 PortGUID:0002c900000001d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-239 MT23108 Infinihost-II Mellanox Technologies} LID:0137 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d6 NodeGUID:0002c900000001d6 PortGUID:0002c900000001d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-24 MT23108 Infinihost-II Mellanox Technologies} LID:0139 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d9 NodeGUID:0002c900000001d9 PortGUID:0002c900000001d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-240 MT23108 Infinihost-II Mellanox Technologies} LID:013b PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001dc NodeGUID:0002c900000001dc PortGUID:0002c900000001dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-241 MT23108 Infinihost-II Mellanox Technologies} LID:013d PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001df NodeGUID:0002c900000001df PortGUID:0002c900000001df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-242 MT23108 Infinihost-II Mellanox Technologies} LID:013f PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e2 NodeGUID:0002c900000001e2 PortGUID:0002c900000001e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-243 MT23108 Infinihost-II Mellanox Technologies} LID:0141 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e5 NodeGUID:0002c900000001e5 PortGUID:0002c900000001e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-244 MT23108 Infinihost-II Mellanox Technologies} LID:0143 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e8 NodeGUID:0002c900000001e8 PortGUID:0002c900000001e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-245 MT23108 Infinihost-II Mellanox Technologies} LID:0145 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001eb NodeGUID:0002c900000001eb PortGUID:0002c900000001eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-246 MT23108 Infinihost-II Mellanox Technologies} LID:0147 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ee NodeGUID:0002c900000001ee PortGUID:0002c900000001ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-247 MT23108 Infinihost-II Mellanox Technologies} LID:0149 PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f1 NodeGUID:0002c900000001f1 PortGUID:0002c900000001f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-248 MT23108 Infinihost-II Mellanox Technologies} LID:014b PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f4 NodeGUID:0002c900000001f4 PortGUID:0002c900000001f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-249 MT23108 Infinihost-II Mellanox Technologies} LID:014d PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f7 NodeGUID:0002c900000001f7 PortGUID:0002c900000001f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-25 MT23108 Infinihost-II Mellanox Technologies} LID:014f PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001fa NodeGUID:0002c900000001fa PortGUID:0002c900000001fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-250 MT23108 Infinihost-II Mellanox Technologies} LID:0151 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001fd NodeGUID:0002c900000001fd PortGUID:0002c900000001fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-251 MT23108 Infinihost-II Mellanox Technologies} LID:0153 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000200 NodeGUID:0002c90000000200 PortGUID:0002c90000000200 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-252 MT23108 Infinihost-II Mellanox Technologies} LID:0155 PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000203 NodeGUID:0002c90000000203 PortGUID:0002c90000000203 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-253 MT23108 Infinihost-II Mellanox Technologies} LID:0157 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000206 NodeGUID:0002c90000000206 PortGUID:0002c90000000206 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-254 MT23108 Infinihost-II Mellanox Technologies} LID:0159 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000209 NodeGUID:0002c90000000209 PortGUID:0002c90000000209 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-255 MT23108 Infinihost-II Mellanox Technologies} LID:015b PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000020c NodeGUID:0002c9000000020c PortGUID:0002c9000000020c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-256 MT23108 Infinihost-II Mellanox Technologies} LID:015d PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000020f NodeGUID:0002c9000000020f PortGUID:0002c9000000020f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-257 MT23108 Infinihost-II Mellanox Technologies} LID:015f PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000212 NodeGUID:0002c90000000212 PortGUID:0002c90000000212 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-258 MT23108 Infinihost-II Mellanox Technologies} LID:0161 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000215 NodeGUID:0002c90000000215 PortGUID:0002c90000000215 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-259 MT23108 Infinihost-II Mellanox Technologies} LID:0163 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000218 NodeGUID:0002c90000000218 PortGUID:0002c90000000218 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-26 MT23108 Infinihost-II Mellanox Technologies} LID:0165 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000021b NodeGUID:0002c9000000021b PortGUID:0002c9000000021b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-260 MT23108 Infinihost-II Mellanox Technologies} LID:0167 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000021e NodeGUID:0002c9000000021e PortGUID:0002c9000000021e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-261 MT23108 Infinihost-II Mellanox Technologies} LID:0169 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000221 NodeGUID:0002c90000000221 PortGUID:0002c90000000221 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-262 MT23108 Infinihost-II Mellanox Technologies} LID:016b PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000224 NodeGUID:0002c90000000224 PortGUID:0002c90000000224 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-263 MT23108 Infinihost-II Mellanox Technologies} LID:016d PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000227 NodeGUID:0002c90000000227 PortGUID:0002c90000000227 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-264 MT23108 Infinihost-II Mellanox Technologies} LID:016f PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000022a NodeGUID:0002c9000000022a PortGUID:0002c9000000022a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-265 MT23108 Infinihost-II Mellanox Technologies} LID:0171 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000022d NodeGUID:0002c9000000022d PortGUID:0002c9000000022d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-266 MT23108 Infinihost-II Mellanox Technologies} LID:0173 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000230 NodeGUID:0002c90000000230 PortGUID:0002c90000000230 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-267 MT23108 Infinihost-II Mellanox Technologies} LID:0175 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000233 NodeGUID:0002c90000000233 PortGUID:0002c90000000233 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-268 MT23108 Infinihost-II Mellanox Technologies} LID:0177 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000236 NodeGUID:0002c90000000236 PortGUID:0002c90000000236 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-269 MT23108 Infinihost-II Mellanox Technologies} LID:0179 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000239 NodeGUID:0002c90000000239 PortGUID:0002c90000000239 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-27 MT23108 Infinihost-II Mellanox Technologies} LID:017b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000023c NodeGUID:0002c9000000023c PortGUID:0002c9000000023c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-270 MT23108 Infinihost-II Mellanox Technologies} LID:017d PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000023f NodeGUID:0002c9000000023f PortGUID:0002c9000000023f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-271 MT23108 Infinihost-II Mellanox Technologies} LID:017f PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000242 NodeGUID:0002c90000000242 PortGUID:0002c90000000242 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-272 MT23108 Infinihost-II Mellanox Technologies} LID:0181 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000245 NodeGUID:0002c90000000245 PortGUID:0002c90000000245 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-273 MT23108 Infinihost-II Mellanox Technologies} LID:0183 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000248 NodeGUID:0002c90000000248 PortGUID:0002c90000000248 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-274 MT23108 Infinihost-II Mellanox Technologies} LID:0185 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000024b NodeGUID:0002c9000000024b PortGUID:0002c9000000024b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-275 MT23108 Infinihost-II Mellanox Technologies} LID:0187 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000024e NodeGUID:0002c9000000024e PortGUID:0002c9000000024e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-276 MT23108 Infinihost-II Mellanox Technologies} LID:0189 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000251 NodeGUID:0002c90000000251 PortGUID:0002c90000000251 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-277 MT23108 Infinihost-II Mellanox Technologies} LID:018b PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000254 NodeGUID:0002c90000000254 PortGUID:0002c90000000254 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-278 MT23108 Infinihost-II Mellanox Technologies} LID:018d PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000257 NodeGUID:0002c90000000257 PortGUID:0002c90000000257 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-279 MT23108 Infinihost-II Mellanox Technologies} LID:018f PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000025a NodeGUID:0002c9000000025a PortGUID:0002c9000000025a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-28 MT23108 Infinihost-II Mellanox Technologies} LID:0191 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000025d NodeGUID:0002c9000000025d PortGUID:0002c9000000025d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-280 MT23108 Infinihost-II Mellanox Technologies} LID:0193 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000260 NodeGUID:0002c90000000260 PortGUID:0002c90000000260 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-281 MT23108 Infinihost-II Mellanox Technologies} LID:0195 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000263 NodeGUID:0002c90000000263 PortGUID:0002c90000000263 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-282 MT23108 Infinihost-II Mellanox Technologies} LID:0197 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000266 NodeGUID:0002c90000000266 PortGUID:0002c90000000266 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-283 MT23108 Infinihost-II Mellanox Technologies} LID:0199 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000269 NodeGUID:0002c90000000269 PortGUID:0002c90000000269 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-284 MT23108 Infinihost-II Mellanox Technologies} LID:019b PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000026c NodeGUID:0002c9000000026c PortGUID:0002c9000000026c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-285 MT23108 Infinihost-II Mellanox Technologies} LID:019d PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000026f NodeGUID:0002c9000000026f PortGUID:0002c9000000026f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-286 MT23108 Infinihost-II Mellanox Technologies} LID:019f PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000272 NodeGUID:0002c90000000272 PortGUID:0002c90000000272 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-287 MT23108 Infinihost-II Mellanox Technologies} LID:01a1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000275 NodeGUID:0002c90000000275 PortGUID:0002c90000000275 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-288 MT23108 Infinihost-II Mellanox Technologies} LID:01a3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000278 NodeGUID:0002c90000000278 PortGUID:0002c90000000278 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-289 MT23108 Infinihost-II Mellanox Technologies} LID:01a5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000027b NodeGUID:0002c9000000027b PortGUID:0002c9000000027b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-29 MT23108 Infinihost-II Mellanox Technologies} LID:01a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000027e NodeGUID:0002c9000000027e PortGUID:0002c9000000027e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-290 MT23108 Infinihost-II Mellanox Technologies} LID:01a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000281 NodeGUID:0002c90000000281 PortGUID:0002c90000000281 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-291 MT23108 Infinihost-II Mellanox Technologies} LID:01ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000284 NodeGUID:0002c90000000284 PortGUID:0002c90000000284 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-292 MT23108 Infinihost-II Mellanox Technologies} LID:01ad PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000287 NodeGUID:0002c90000000287 PortGUID:0002c90000000287 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-293 MT23108 Infinihost-II Mellanox Technologies} LID:01af PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000028a NodeGUID:0002c9000000028a PortGUID:0002c9000000028a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-294 MT23108 Infinihost-II Mellanox Technologies} LID:01b1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000028d NodeGUID:0002c9000000028d PortGUID:0002c9000000028d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-295 MT23108 Infinihost-II Mellanox Technologies} LID:01b3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000290 NodeGUID:0002c90000000290 PortGUID:0002c90000000290 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-296 MT23108 Infinihost-II Mellanox Technologies} LID:01b5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000293 NodeGUID:0002c90000000293 PortGUID:0002c90000000293 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-297 MT23108 Infinihost-II Mellanox Technologies} LID:01b7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000296 NodeGUID:0002c90000000296 PortGUID:0002c90000000296 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-298 MT23108 Infinihost-II Mellanox Technologies} LID:01b9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000299 NodeGUID:0002c90000000299 PortGUID:0002c90000000299 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-299 MT23108 Infinihost-II Mellanox Technologies} LID:01bb PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000029c NodeGUID:0002c9000000029c PortGUID:0002c9000000029c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-3 MT23108 Infinihost-II Mellanox Technologies} LID:01bd PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000029f NodeGUID:0002c9000000029f PortGUID:0002c9000000029f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-30 MT23108 Infinihost-II Mellanox Technologies} LID:01bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a2 NodeGUID:0002c900000002a2 PortGUID:0002c900000002a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-300 MT23108 Infinihost-II Mellanox Technologies} LID:01c1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a5 NodeGUID:0002c900000002a5 PortGUID:0002c900000002a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-301 MT23108 Infinihost-II Mellanox Technologies} LID:01c3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a8 NodeGUID:0002c900000002a8 PortGUID:0002c900000002a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-302 MT23108 Infinihost-II Mellanox Technologies} LID:01c5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ab NodeGUID:0002c900000002ab PortGUID:0002c900000002ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-303 MT23108 Infinihost-II Mellanox Technologies} LID:01c7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ae NodeGUID:0002c900000002ae PortGUID:0002c900000002ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-304 MT23108 Infinihost-II Mellanox Technologies} LID:01c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b1 NodeGUID:0002c900000002b1 PortGUID:0002c900000002b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-305 MT23108 Infinihost-II Mellanox Technologies} LID:01cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b4 NodeGUID:0002c900000002b4 PortGUID:0002c900000002b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-306 MT23108 Infinihost-II Mellanox Technologies} LID:01cd PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b7 NodeGUID:0002c900000002b7 PortGUID:0002c900000002b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-307 MT23108 Infinihost-II Mellanox Technologies} LID:01cf PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ba NodeGUID:0002c900000002ba PortGUID:0002c900000002ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-308 MT23108 Infinihost-II Mellanox Technologies} LID:01d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002bd NodeGUID:0002c900000002bd PortGUID:0002c900000002bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-309 MT23108 Infinihost-II Mellanox Technologies} LID:01d3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c0 NodeGUID:0002c900000002c0 PortGUID:0002c900000002c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-31 MT23108 Infinihost-II Mellanox Technologies} LID:01d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c3 NodeGUID:0002c900000002c3 PortGUID:0002c900000002c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-310 MT23108 Infinihost-II Mellanox Technologies} LID:01d7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c6 NodeGUID:0002c900000002c6 PortGUID:0002c900000002c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-311 MT23108 Infinihost-II Mellanox Technologies} LID:01d9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c9 NodeGUID:0002c900000002c9 PortGUID:0002c900000002c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-312 MT23108 Infinihost-II Mellanox Technologies} LID:01db PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002cc NodeGUID:0002c900000002cc PortGUID:0002c900000002cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-313 MT23108 Infinihost-II Mellanox Technologies} LID:01dd PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002cf NodeGUID:0002c900000002cf PortGUID:0002c900000002cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-314 MT23108 Infinihost-II Mellanox Technologies} LID:01df PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d2 NodeGUID:0002c900000002d2 PortGUID:0002c900000002d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-315 MT23108 Infinihost-II Mellanox Technologies} LID:01e1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d5 NodeGUID:0002c900000002d5 PortGUID:0002c900000002d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-316 MT23108 Infinihost-II Mellanox Technologies} LID:01e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d8 NodeGUID:0002c900000002d8 PortGUID:0002c900000002d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-317 MT23108 Infinihost-II Mellanox Technologies} LID:01e5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002db NodeGUID:0002c900000002db PortGUID:0002c900000002db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-318 MT23108 Infinihost-II Mellanox Technologies} LID:01e7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002de NodeGUID:0002c900000002de PortGUID:0002c900000002de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-319 MT23108 Infinihost-II Mellanox Technologies} LID:01e9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e1 NodeGUID:0002c900000002e1 PortGUID:0002c900000002e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-32 MT23108 Infinihost-II Mellanox Technologies} LID:01eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e4 NodeGUID:0002c900000002e4 PortGUID:0002c900000002e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-320 MT23108 Infinihost-II Mellanox Technologies} LID:01ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e7 NodeGUID:0002c900000002e7 PortGUID:0002c900000002e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-321 MT23108 Infinihost-II Mellanox Technologies} LID:01ef PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ea NodeGUID:0002c900000002ea PortGUID:0002c900000002ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-322 MT23108 Infinihost-II Mellanox Technologies} LID:01f1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ed NodeGUID:0002c900000002ed PortGUID:0002c900000002ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-323 MT23108 Infinihost-II Mellanox Technologies} LID:01f3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f0 NodeGUID:0002c900000002f0 PortGUID:0002c900000002f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-324 MT23108 Infinihost-II Mellanox Technologies} LID:01f5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f3 NodeGUID:0002c900000002f3 PortGUID:0002c900000002f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-325 MT23108 Infinihost-II Mellanox Technologies} LID:01f7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f6 NodeGUID:0002c900000002f6 PortGUID:0002c900000002f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-326 MT23108 Infinihost-II Mellanox Technologies} LID:01f9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f9 NodeGUID:0002c900000002f9 PortGUID:0002c900000002f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-327 MT23108 Infinihost-II Mellanox Technologies} LID:01fb PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002fc NodeGUID:0002c900000002fc PortGUID:0002c900000002fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-328 MT23108 Infinihost-II Mellanox Technologies} LID:01fd PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ff NodeGUID:0002c900000002ff PortGUID:0002c900000002ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-329 MT23108 Infinihost-II Mellanox Technologies} LID:01ff PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000302 NodeGUID:0002c90000000302 PortGUID:0002c90000000302 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-33 MT23108 Infinihost-II Mellanox Technologies} LID:0201 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000305 NodeGUID:0002c90000000305 PortGUID:0002c90000000305 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-330 MT23108 Infinihost-II Mellanox Technologies} LID:0203 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000308 NodeGUID:0002c90000000308 PortGUID:0002c90000000308 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-331 MT23108 Infinihost-II Mellanox Technologies} LID:0205 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000030b NodeGUID:0002c9000000030b PortGUID:0002c9000000030b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-332 MT23108 Infinihost-II Mellanox Technologies} LID:0207 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000030e NodeGUID:0002c9000000030e PortGUID:0002c9000000030e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-333 MT23108 Infinihost-II Mellanox Technologies} LID:0209 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000311 NodeGUID:0002c90000000311 PortGUID:0002c90000000311 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-334 MT23108 Infinihost-II Mellanox Technologies} LID:020b PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000314 NodeGUID:0002c90000000314 PortGUID:0002c90000000314 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-335 MT23108 Infinihost-II Mellanox Technologies} LID:020d PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000317 NodeGUID:0002c90000000317 PortGUID:0002c90000000317 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-336 MT23108 Infinihost-II Mellanox Technologies} LID:020f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000031a NodeGUID:0002c9000000031a PortGUID:0002c9000000031a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-337 MT23108 Infinihost-II Mellanox Technologies} LID:0211 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000031d NodeGUID:0002c9000000031d PortGUID:0002c9000000031d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-338 MT23108 Infinihost-II Mellanox Technologies} LID:0213 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000320 NodeGUID:0002c90000000320 PortGUID:0002c90000000320 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-339 MT23108 Infinihost-II Mellanox Technologies} LID:0215 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000323 NodeGUID:0002c90000000323 PortGUID:0002c90000000323 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-34 MT23108 Infinihost-II Mellanox Technologies} LID:0217 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000326 NodeGUID:0002c90000000326 PortGUID:0002c90000000326 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-340 MT23108 Infinihost-II Mellanox Technologies} LID:0219 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000329 NodeGUID:0002c90000000329 PortGUID:0002c90000000329 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-341 MT23108 Infinihost-II Mellanox Technologies} LID:021b PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000032c NodeGUID:0002c9000000032c PortGUID:0002c9000000032c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-342 MT23108 Infinihost-II Mellanox Technologies} LID:021d PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000032f NodeGUID:0002c9000000032f PortGUID:0002c9000000032f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-343 MT23108 Infinihost-II Mellanox Technologies} LID:021f PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000332 NodeGUID:0002c90000000332 PortGUID:0002c90000000332 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-344 MT23108 Infinihost-II Mellanox Technologies} LID:0221 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000335 NodeGUID:0002c90000000335 PortGUID:0002c90000000335 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-345 MT23108 Infinihost-II Mellanox Technologies} LID:0223 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000338 NodeGUID:0002c90000000338 PortGUID:0002c90000000338 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-346 MT23108 Infinihost-II Mellanox Technologies} LID:0225 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000033b NodeGUID:0002c9000000033b PortGUID:0002c9000000033b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-347 MT23108 Infinihost-II Mellanox Technologies} LID:0227 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000033e NodeGUID:0002c9000000033e PortGUID:0002c9000000033e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-348 MT23108 Infinihost-II Mellanox Technologies} LID:0229 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000341 NodeGUID:0002c90000000341 PortGUID:0002c90000000341 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-349 MT23108 Infinihost-II Mellanox Technologies} LID:022b PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000344 NodeGUID:0002c90000000344 PortGUID:0002c90000000344 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-35 MT23108 Infinihost-II Mellanox Technologies} LID:022d PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000347 NodeGUID:0002c90000000347 PortGUID:0002c90000000347 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-350 MT23108 Infinihost-II Mellanox Technologies} LID:022f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000034a NodeGUID:0002c9000000034a PortGUID:0002c9000000034a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-351 MT23108 Infinihost-II Mellanox Technologies} LID:0231 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000034d NodeGUID:0002c9000000034d PortGUID:0002c9000000034d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-352 MT23108 Infinihost-II Mellanox Technologies} LID:0233 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000350 NodeGUID:0002c90000000350 PortGUID:0002c90000000350 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-353 MT23108 Infinihost-II Mellanox Technologies} LID:0235 PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000353 NodeGUID:0002c90000000353 PortGUID:0002c90000000353 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-354 MT23108 Infinihost-II Mellanox Technologies} LID:0237 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000356 NodeGUID:0002c90000000356 PortGUID:0002c90000000356 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-355 MT23108 Infinihost-II Mellanox Technologies} LID:0239 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000359 NodeGUID:0002c90000000359 PortGUID:0002c90000000359 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-356 MT23108 Infinihost-II Mellanox Technologies} LID:023b PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000035c NodeGUID:0002c9000000035c PortGUID:0002c9000000035c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-357 MT23108 Infinihost-II Mellanox Technologies} LID:023d PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000035f NodeGUID:0002c9000000035f PortGUID:0002c9000000035f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-358 MT23108 Infinihost-II Mellanox Technologies} LID:023f PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000362 NodeGUID:0002c90000000362 PortGUID:0002c90000000362 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-359 MT23108 Infinihost-II Mellanox Technologies} LID:0241 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000365 NodeGUID:0002c90000000365 PortGUID:0002c90000000365 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-36 MT23108 Infinihost-II Mellanox Technologies} LID:0243 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000368 NodeGUID:0002c90000000368 PortGUID:0002c90000000368 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-360 MT23108 Infinihost-II Mellanox Technologies} LID:0245 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000036b NodeGUID:0002c9000000036b PortGUID:0002c9000000036b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-361 MT23108 Infinihost-II Mellanox Technologies} LID:0247 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000036e NodeGUID:0002c9000000036e PortGUID:0002c9000000036e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-362 MT23108 Infinihost-II Mellanox Technologies} LID:0249 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000371 NodeGUID:0002c90000000371 PortGUID:0002c90000000371 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-363 MT23108 Infinihost-II Mellanox Technologies} LID:024b PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000374 NodeGUID:0002c90000000374 PortGUID:0002c90000000374 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-364 MT23108 Infinihost-II Mellanox Technologies} LID:024d PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000377 NodeGUID:0002c90000000377 PortGUID:0002c90000000377 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-365 MT23108 Infinihost-II Mellanox Technologies} LID:024f PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000037a NodeGUID:0002c9000000037a PortGUID:0002c9000000037a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-366 MT23108 Infinihost-II Mellanox Technologies} LID:0251 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000037d NodeGUID:0002c9000000037d PortGUID:0002c9000000037d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-367 MT23108 Infinihost-II Mellanox Technologies} LID:0253 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000380 NodeGUID:0002c90000000380 PortGUID:0002c90000000380 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-368 MT23108 Infinihost-II Mellanox Technologies} LID:0255 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000383 NodeGUID:0002c90000000383 PortGUID:0002c90000000383 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-369 MT23108 Infinihost-II Mellanox Technologies} LID:0257 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000386 NodeGUID:0002c90000000386 PortGUID:0002c90000000386 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-37 MT23108 Infinihost-II Mellanox Technologies} LID:0259 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000389 NodeGUID:0002c90000000389 PortGUID:0002c90000000389 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-370 MT23108 Infinihost-II Mellanox Technologies} LID:025b PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000038c NodeGUID:0002c9000000038c PortGUID:0002c9000000038c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-371 MT23108 Infinihost-II Mellanox Technologies} LID:025d PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000038f NodeGUID:0002c9000000038f PortGUID:0002c9000000038f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-372 MT23108 Infinihost-II Mellanox Technologies} LID:025f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000392 NodeGUID:0002c90000000392 PortGUID:0002c90000000392 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-373 MT23108 Infinihost-II Mellanox Technologies} LID:0261 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000395 NodeGUID:0002c90000000395 PortGUID:0002c90000000395 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-374 MT23108 Infinihost-II Mellanox Technologies} LID:0263 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000398 NodeGUID:0002c90000000398 PortGUID:0002c90000000398 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-375 MT23108 Infinihost-II Mellanox Technologies} LID:0265 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000039b NodeGUID:0002c9000000039b PortGUID:0002c9000000039b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-376 MT23108 Infinihost-II Mellanox Technologies} LID:0267 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000039e NodeGUID:0002c9000000039e PortGUID:0002c9000000039e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-377 MT23108 Infinihost-II Mellanox Technologies} LID:0269 PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a1 NodeGUID:0002c900000003a1 PortGUID:0002c900000003a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-378 MT23108 Infinihost-II Mellanox Technologies} LID:026b PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a4 NodeGUID:0002c900000003a4 PortGUID:0002c900000003a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-379 MT23108 Infinihost-II Mellanox Technologies} LID:026d PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a7 NodeGUID:0002c900000003a7 PortGUID:0002c900000003a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-38 MT23108 Infinihost-II Mellanox Technologies} LID:026f PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003aa NodeGUID:0002c900000003aa PortGUID:0002c900000003aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-380 MT23108 Infinihost-II Mellanox Technologies} LID:0271 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ad NodeGUID:0002c900000003ad PortGUID:0002c900000003ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-381 MT23108 Infinihost-II Mellanox Technologies} LID:0273 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b0 NodeGUID:0002c900000003b0 PortGUID:0002c900000003b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-382 MT23108 Infinihost-II Mellanox Technologies} LID:0275 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b3 NodeGUID:0002c900000003b3 PortGUID:0002c900000003b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-383 MT23108 Infinihost-II Mellanox Technologies} LID:0277 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b6 NodeGUID:0002c900000003b6 PortGUID:0002c900000003b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-384 MT23108 Infinihost-II Mellanox Technologies} LID:0279 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b9 NodeGUID:0002c900000003b9 PortGUID:0002c900000003b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-385 MT23108 Infinihost-II Mellanox Technologies} LID:027b PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003bc NodeGUID:0002c900000003bc PortGUID:0002c900000003bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-386 MT23108 Infinihost-II Mellanox Technologies} LID:027d PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003bf NodeGUID:0002c900000003bf PortGUID:0002c900000003bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-387 MT23108 Infinihost-II Mellanox Technologies} LID:027f PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c2 NodeGUID:0002c900000003c2 PortGUID:0002c900000003c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-388 MT23108 Infinihost-II Mellanox Technologies} LID:0281 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c5 NodeGUID:0002c900000003c5 PortGUID:0002c900000003c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-389 MT23108 Infinihost-II Mellanox Technologies} LID:0283 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c8 NodeGUID:0002c900000003c8 PortGUID:0002c900000003c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-39 MT23108 Infinihost-II Mellanox Technologies} LID:0285 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003cb NodeGUID:0002c900000003cb PortGUID:0002c900000003cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-390 MT23108 Infinihost-II Mellanox Technologies} LID:0287 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ce NodeGUID:0002c900000003ce PortGUID:0002c900000003ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-391 MT23108 Infinihost-II Mellanox Technologies} LID:0289 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d1 NodeGUID:0002c900000003d1 PortGUID:0002c900000003d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-392 MT23108 Infinihost-II Mellanox Technologies} LID:028b PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d4 NodeGUID:0002c900000003d4 PortGUID:0002c900000003d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-393 MT23108 Infinihost-II Mellanox Technologies} LID:028d PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d7 NodeGUID:0002c900000003d7 PortGUID:0002c900000003d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-394 MT23108 Infinihost-II Mellanox Technologies} LID:028f PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003da NodeGUID:0002c900000003da PortGUID:0002c900000003da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-395 MT23108 Infinihost-II Mellanox Technologies} LID:0291 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003dd NodeGUID:0002c900000003dd PortGUID:0002c900000003dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-396 MT23108 Infinihost-II Mellanox Technologies} LID:0293 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e0 NodeGUID:0002c900000003e0 PortGUID:0002c900000003e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-397 MT23108 Infinihost-II Mellanox Technologies} LID:0295 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e3 NodeGUID:0002c900000003e3 PortGUID:0002c900000003e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-398 MT23108 Infinihost-II Mellanox Technologies} LID:0297 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e6 NodeGUID:0002c900000003e6 PortGUID:0002c900000003e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-399 MT23108 Infinihost-II Mellanox Technologies} LID:0299 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e9 NodeGUID:0002c900000003e9 PortGUID:0002c900000003e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-4 MT23108 Infinihost-II Mellanox Technologies} LID:029b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ec NodeGUID:0002c900000003ec PortGUID:0002c900000003ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-40 MT23108 Infinihost-II Mellanox Technologies} LID:029d PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ef NodeGUID:0002c900000003ef PortGUID:0002c900000003ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-400 MT23108 Infinihost-II Mellanox Technologies} LID:029f PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f2 NodeGUID:0002c900000003f2 PortGUID:0002c900000003f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-401 MT23108 Infinihost-II Mellanox Technologies} LID:02a1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f5 NodeGUID:0002c900000003f5 PortGUID:0002c900000003f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-402 MT23108 Infinihost-II Mellanox Technologies} LID:02a3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f8 NodeGUID:0002c900000003f8 PortGUID:0002c900000003f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-403 MT23108 Infinihost-II Mellanox Technologies} LID:02a5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003fb NodeGUID:0002c900000003fb PortGUID:0002c900000003fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-404 MT23108 Infinihost-II Mellanox Technologies} LID:02a7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003fe NodeGUID:0002c900000003fe PortGUID:0002c900000003fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-405 MT23108 Infinihost-II Mellanox Technologies} LID:02a9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000401 NodeGUID:0002c90000000401 PortGUID:0002c90000000401 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-406 MT23108 Infinihost-II Mellanox Technologies} LID:02ab PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000404 NodeGUID:0002c90000000404 PortGUID:0002c90000000404 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-407 MT23108 Infinihost-II Mellanox Technologies} LID:02ad PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000407 NodeGUID:0002c90000000407 PortGUID:0002c90000000407 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-408 MT23108 Infinihost-II Mellanox Technologies} LID:02af PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000040a NodeGUID:0002c9000000040a PortGUID:0002c9000000040a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-409 MT23108 Infinihost-II Mellanox Technologies} LID:02b1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000040d NodeGUID:0002c9000000040d PortGUID:0002c9000000040d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-41 MT23108 Infinihost-II Mellanox Technologies} LID:02b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000410 NodeGUID:0002c90000000410 PortGUID:0002c90000000410 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-410 MT23108 Infinihost-II Mellanox Technologies} LID:02b5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000413 NodeGUID:0002c90000000413 PortGUID:0002c90000000413 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-411 MT23108 Infinihost-II Mellanox Technologies} LID:02b7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000416 NodeGUID:0002c90000000416 PortGUID:0002c90000000416 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-412 MT23108 Infinihost-II Mellanox Technologies} LID:02b9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000419 NodeGUID:0002c90000000419 PortGUID:0002c90000000419 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-413 MT23108 Infinihost-II Mellanox Technologies} LID:02bb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000041c NodeGUID:0002c9000000041c PortGUID:0002c9000000041c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-414 MT23108 Infinihost-II Mellanox Technologies} LID:02bd PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000041f NodeGUID:0002c9000000041f PortGUID:0002c9000000041f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-415 MT23108 Infinihost-II Mellanox Technologies} LID:02bf PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000422 NodeGUID:0002c90000000422 PortGUID:0002c90000000422 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-416 MT23108 Infinihost-II Mellanox Technologies} LID:02c1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000425 NodeGUID:0002c90000000425 PortGUID:0002c90000000425 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-417 MT23108 Infinihost-II Mellanox Technologies} LID:02c3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000428 NodeGUID:0002c90000000428 PortGUID:0002c90000000428 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-418 MT23108 Infinihost-II Mellanox Technologies} LID:02c5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000042b NodeGUID:0002c9000000042b PortGUID:0002c9000000042b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-419 MT23108 Infinihost-II Mellanox Technologies} LID:02c7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000042e NodeGUID:0002c9000000042e PortGUID:0002c9000000042e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-42 MT23108 Infinihost-II Mellanox Technologies} LID:02c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000431 NodeGUID:0002c90000000431 PortGUID:0002c90000000431 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-420 MT23108 Infinihost-II Mellanox Technologies} LID:02cb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000434 NodeGUID:0002c90000000434 PortGUID:0002c90000000434 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-421 MT23108 Infinihost-II Mellanox Technologies} LID:02cd PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000437 NodeGUID:0002c90000000437 PortGUID:0002c90000000437 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-422 MT23108 Infinihost-II Mellanox Technologies} LID:02cf PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000043a NodeGUID:0002c9000000043a PortGUID:0002c9000000043a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-423 MT23108 Infinihost-II Mellanox Technologies} LID:02d1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000043d NodeGUID:0002c9000000043d PortGUID:0002c9000000043d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-424 MT23108 Infinihost-II Mellanox Technologies} LID:02d3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000440 NodeGUID:0002c90000000440 PortGUID:0002c90000000440 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-425 MT23108 Infinihost-II Mellanox Technologies} LID:02d5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000443 NodeGUID:0002c90000000443 PortGUID:0002c90000000443 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-426 MT23108 Infinihost-II Mellanox Technologies} LID:02d7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000446 NodeGUID:0002c90000000446 PortGUID:0002c90000000446 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-427 MT23108 Infinihost-II Mellanox Technologies} LID:02d9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000449 NodeGUID:0002c90000000449 PortGUID:0002c90000000449 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-428 MT23108 Infinihost-II Mellanox Technologies} LID:02db PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000044c NodeGUID:0002c9000000044c PortGUID:0002c9000000044c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-429 MT23108 Infinihost-II Mellanox Technologies} LID:02dd PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000044f NodeGUID:0002c9000000044f PortGUID:0002c9000000044f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-43 MT23108 Infinihost-II Mellanox Technologies} LID:02df PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000452 NodeGUID:0002c90000000452 PortGUID:0002c90000000452 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-430 MT23108 Infinihost-II Mellanox Technologies} LID:02e1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000455 NodeGUID:0002c90000000455 PortGUID:0002c90000000455 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-431 MT23108 Infinihost-II Mellanox Technologies} LID:02e3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000458 NodeGUID:0002c90000000458 PortGUID:0002c90000000458 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-432 MT23108 Infinihost-II Mellanox Technologies} LID:02e5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000045b NodeGUID:0002c9000000045b PortGUID:0002c9000000045b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-433 MT23108 Infinihost-II Mellanox Technologies} LID:02e7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000045e NodeGUID:0002c9000000045e PortGUID:0002c9000000045e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-434 MT23108 Infinihost-II Mellanox Technologies} LID:02e9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000461 NodeGUID:0002c90000000461 PortGUID:0002c90000000461 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-435 MT23108 Infinihost-II Mellanox Technologies} LID:02eb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000464 NodeGUID:0002c90000000464 PortGUID:0002c90000000464 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-436 MT23108 Infinihost-II Mellanox Technologies} LID:02ed PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000467 NodeGUID:0002c90000000467 PortGUID:0002c90000000467 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-437 MT23108 Infinihost-II Mellanox Technologies} LID:02ef PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000046a NodeGUID:0002c9000000046a PortGUID:0002c9000000046a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-438 MT23108 Infinihost-II Mellanox Technologies} LID:02f1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000046d NodeGUID:0002c9000000046d PortGUID:0002c9000000046d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-439 MT23108 Infinihost-II Mellanox Technologies} LID:02f3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000470 NodeGUID:0002c90000000470 PortGUID:0002c90000000470 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-44 MT23108 Infinihost-II Mellanox Technologies} LID:02f5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000473 NodeGUID:0002c90000000473 PortGUID:0002c90000000473 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-440 MT23108 Infinihost-II Mellanox Technologies} LID:02f7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000476 NodeGUID:0002c90000000476 PortGUID:0002c90000000476 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-441 MT23108 Infinihost-II Mellanox Technologies} LID:02f9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000479 NodeGUID:0002c90000000479 PortGUID:0002c90000000479 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-442 MT23108 Infinihost-II Mellanox Technologies} LID:02fb PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000047c NodeGUID:0002c9000000047c PortGUID:0002c9000000047c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-443 MT23108 Infinihost-II Mellanox Technologies} LID:02fd PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000047f NodeGUID:0002c9000000047f PortGUID:0002c9000000047f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-444 MT23108 Infinihost-II Mellanox Technologies} LID:02ff PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000482 NodeGUID:0002c90000000482 PortGUID:0002c90000000482 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-445 MT23108 Infinihost-II Mellanox Technologies} LID:0301 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000485 NodeGUID:0002c90000000485 PortGUID:0002c90000000485 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-446 MT23108 Infinihost-II Mellanox Technologies} LID:0303 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000488 NodeGUID:0002c90000000488 PortGUID:0002c90000000488 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-447 MT23108 Infinihost-II Mellanox Technologies} LID:0305 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000048b NodeGUID:0002c9000000048b PortGUID:0002c9000000048b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-448 MT23108 Infinihost-II Mellanox Technologies} LID:0307 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000048e NodeGUID:0002c9000000048e PortGUID:0002c9000000048e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-449 MT23108 Infinihost-II Mellanox Technologies} LID:0309 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000491 NodeGUID:0002c90000000491 PortGUID:0002c90000000491 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-45 MT23108 Infinihost-II Mellanox Technologies} LID:030b PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000494 NodeGUID:0002c90000000494 PortGUID:0002c90000000494 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-450 MT23108 Infinihost-II Mellanox Technologies} LID:030d PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000497 NodeGUID:0002c90000000497 PortGUID:0002c90000000497 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-451 MT23108 Infinihost-II Mellanox Technologies} LID:030f PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000049a NodeGUID:0002c9000000049a PortGUID:0002c9000000049a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-452 MT23108 Infinihost-II Mellanox Technologies} LID:0311 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000049d NodeGUID:0002c9000000049d PortGUID:0002c9000000049d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-453 MT23108 Infinihost-II Mellanox Technologies} LID:0313 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a0 NodeGUID:0002c900000004a0 PortGUID:0002c900000004a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-454 MT23108 Infinihost-II Mellanox Technologies} LID:0315 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a3 NodeGUID:0002c900000004a3 PortGUID:0002c900000004a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-455 MT23108 Infinihost-II Mellanox Technologies} LID:0317 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a6 NodeGUID:0002c900000004a6 PortGUID:0002c900000004a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-456 MT23108 Infinihost-II Mellanox Technologies} LID:0319 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a9 NodeGUID:0002c900000004a9 PortGUID:0002c900000004a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-457 MT23108 Infinihost-II Mellanox Technologies} LID:031b PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ac NodeGUID:0002c900000004ac PortGUID:0002c900000004ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-458 MT23108 Infinihost-II Mellanox Technologies} LID:031d PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004af NodeGUID:0002c900000004af PortGUID:0002c900000004af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-459 MT23108 Infinihost-II Mellanox Technologies} LID:031f PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b2 NodeGUID:0002c900000004b2 PortGUID:0002c900000004b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-46 MT23108 Infinihost-II Mellanox Technologies} LID:0321 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b5 NodeGUID:0002c900000004b5 PortGUID:0002c900000004b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-460 MT23108 Infinihost-II Mellanox Technologies} LID:0323 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b8 NodeGUID:0002c900000004b8 PortGUID:0002c900000004b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-461 MT23108 Infinihost-II Mellanox Technologies} LID:0325 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004bb NodeGUID:0002c900000004bb PortGUID:0002c900000004bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-462 MT23108 Infinihost-II Mellanox Technologies} LID:0327 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004be NodeGUID:0002c900000004be PortGUID:0002c900000004be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-463 MT23108 Infinihost-II Mellanox Technologies} LID:0329 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c1 NodeGUID:0002c900000004c1 PortGUID:0002c900000004c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-464 MT23108 Infinihost-II Mellanox Technologies} LID:032b PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c4 NodeGUID:0002c900000004c4 PortGUID:0002c900000004c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-465 MT23108 Infinihost-II Mellanox Technologies} LID:032d PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c7 NodeGUID:0002c900000004c7 PortGUID:0002c900000004c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-466 MT23108 Infinihost-II Mellanox Technologies} LID:032f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ca NodeGUID:0002c900000004ca PortGUID:0002c900000004ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-467 MT23108 Infinihost-II Mellanox Technologies} LID:0331 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004cd NodeGUID:0002c900000004cd PortGUID:0002c900000004cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-468 MT23108 Infinihost-II Mellanox Technologies} LID:0333 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d0 NodeGUID:0002c900000004d0 PortGUID:0002c900000004d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-469 MT23108 Infinihost-II Mellanox Technologies} LID:0335 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d3 NodeGUID:0002c900000004d3 PortGUID:0002c900000004d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-47 MT23108 Infinihost-II Mellanox Technologies} LID:0337 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d6 NodeGUID:0002c900000004d6 PortGUID:0002c900000004d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-470 MT23108 Infinihost-II Mellanox Technologies} LID:0339 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d9 NodeGUID:0002c900000004d9 PortGUID:0002c900000004d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-471 MT23108 Infinihost-II Mellanox Technologies} LID:033b PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004dc NodeGUID:0002c900000004dc PortGUID:0002c900000004dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-472 MT23108 Infinihost-II Mellanox Technologies} LID:033d PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004df NodeGUID:0002c900000004df PortGUID:0002c900000004df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-473 MT23108 Infinihost-II Mellanox Technologies} LID:033f PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e2 NodeGUID:0002c900000004e2 PortGUID:0002c900000004e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-474 MT23108 Infinihost-II Mellanox Technologies} LID:0341 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e5 NodeGUID:0002c900000004e5 PortGUID:0002c900000004e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-475 MT23108 Infinihost-II Mellanox Technologies} LID:0343 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e8 NodeGUID:0002c900000004e8 PortGUID:0002c900000004e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-476 MT23108 Infinihost-II Mellanox Technologies} LID:0345 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004eb NodeGUID:0002c900000004eb PortGUID:0002c900000004eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-477 MT23108 Infinihost-II Mellanox Technologies} LID:0347 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ee NodeGUID:0002c900000004ee PortGUID:0002c900000004ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-478 MT23108 Infinihost-II Mellanox Technologies} LID:0349 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f1 NodeGUID:0002c900000004f1 PortGUID:0002c900000004f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-479 MT23108 Infinihost-II Mellanox Technologies} LID:034b PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f4 NodeGUID:0002c900000004f4 PortGUID:0002c900000004f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-48 MT23108 Infinihost-II Mellanox Technologies} LID:034d PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f7 NodeGUID:0002c900000004f7 PortGUID:0002c900000004f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-480 MT23108 Infinihost-II Mellanox Technologies} LID:034f PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004fa NodeGUID:0002c900000004fa PortGUID:0002c900000004fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-481 MT23108 Infinihost-II Mellanox Technologies} LID:0351 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004fd NodeGUID:0002c900000004fd PortGUID:0002c900000004fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-482 MT23108 Infinihost-II Mellanox Technologies} LID:0353 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000500 NodeGUID:0002c90000000500 PortGUID:0002c90000000500 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-483 MT23108 Infinihost-II Mellanox Technologies} LID:0355 PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000503 NodeGUID:0002c90000000503 PortGUID:0002c90000000503 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-484 MT23108 Infinihost-II Mellanox Technologies} LID:0357 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000506 NodeGUID:0002c90000000506 PortGUID:0002c90000000506 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-485 MT23108 Infinihost-II Mellanox Technologies} LID:0359 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000509 NodeGUID:0002c90000000509 PortGUID:0002c90000000509 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-486 MT23108 Infinihost-II Mellanox Technologies} LID:035b PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000050c NodeGUID:0002c9000000050c PortGUID:0002c9000000050c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-487 MT23108 Infinihost-II Mellanox Technologies} LID:035d PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000050f NodeGUID:0002c9000000050f PortGUID:0002c9000000050f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-488 MT23108 Infinihost-II Mellanox Technologies} LID:035f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000512 NodeGUID:0002c90000000512 PortGUID:0002c90000000512 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-489 MT23108 Infinihost-II Mellanox Technologies} LID:0361 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000515 NodeGUID:0002c90000000515 PortGUID:0002c90000000515 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-49 MT23108 Infinihost-II Mellanox Technologies} LID:0363 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000518 NodeGUID:0002c90000000518 PortGUID:0002c90000000518 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-490 MT23108 Infinihost-II Mellanox Technologies} LID:0365 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000051b NodeGUID:0002c9000000051b PortGUID:0002c9000000051b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-491 MT23108 Infinihost-II Mellanox Technologies} LID:0367 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000051e NodeGUID:0002c9000000051e PortGUID:0002c9000000051e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-492 MT23108 Infinihost-II Mellanox Technologies} LID:0369 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000521 NodeGUID:0002c90000000521 PortGUID:0002c90000000521 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-493 MT23108 Infinihost-II Mellanox Technologies} LID:036b PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000524 NodeGUID:0002c90000000524 PortGUID:0002c90000000524 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-494 MT23108 Infinihost-II Mellanox Technologies} LID:036d PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000527 NodeGUID:0002c90000000527 PortGUID:0002c90000000527 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-495 MT23108 Infinihost-II Mellanox Technologies} LID:036f PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000052a NodeGUID:0002c9000000052a PortGUID:0002c9000000052a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-496 MT23108 Infinihost-II Mellanox Technologies} LID:0371 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000052d NodeGUID:0002c9000000052d PortGUID:0002c9000000052d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-497 MT23108 Infinihost-II Mellanox Technologies} LID:0373 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000530 NodeGUID:0002c90000000530 PortGUID:0002c90000000530 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-498 MT23108 Infinihost-II Mellanox Technologies} LID:0375 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000533 NodeGUID:0002c90000000533 PortGUID:0002c90000000533 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-499 MT23108 Infinihost-II Mellanox Technologies} LID:0377 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000536 NodeGUID:0002c90000000536 PortGUID:0002c90000000536 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-5 MT23108 Infinihost-II Mellanox Technologies} LID:0379 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000539 NodeGUID:0002c90000000539 PortGUID:0002c90000000539 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-50 MT23108 Infinihost-II Mellanox Technologies} LID:037b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000053c NodeGUID:0002c9000000053c PortGUID:0002c9000000053c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-500 MT23108 Infinihost-II Mellanox Technologies} LID:037d PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000053f NodeGUID:0002c9000000053f PortGUID:0002c9000000053f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-501 MT23108 Infinihost-II Mellanox Technologies} LID:037f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000542 NodeGUID:0002c90000000542 PortGUID:0002c90000000542 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-502 MT23108 Infinihost-II Mellanox Technologies} LID:0381 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000545 NodeGUID:0002c90000000545 PortGUID:0002c90000000545 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-503 MT23108 Infinihost-II Mellanox Technologies} LID:0383 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000548 NodeGUID:0002c90000000548 PortGUID:0002c90000000548 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-504 MT23108 Infinihost-II Mellanox Technologies} LID:0385 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000054b NodeGUID:0002c9000000054b PortGUID:0002c9000000054b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-505 MT23108 Infinihost-II Mellanox Technologies} LID:0387 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000054e NodeGUID:0002c9000000054e PortGUID:0002c9000000054e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-506 MT23108 Infinihost-II Mellanox Technologies} LID:0389 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000551 NodeGUID:0002c90000000551 PortGUID:0002c90000000551 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-507 MT23108 Infinihost-II Mellanox Technologies} LID:038b PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000554 NodeGUID:0002c90000000554 PortGUID:0002c90000000554 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-508 MT23108 Infinihost-II Mellanox Technologies} LID:038d PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000557 NodeGUID:0002c90000000557 PortGUID:0002c90000000557 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-509 MT23108 Infinihost-II Mellanox Technologies} LID:038f PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000055a NodeGUID:0002c9000000055a PortGUID:0002c9000000055a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-51 MT23108 Infinihost-II Mellanox Technologies} LID:0391 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000055d NodeGUID:0002c9000000055d PortGUID:0002c9000000055d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-510 MT23108 Infinihost-II Mellanox Technologies} LID:0393 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000560 NodeGUID:0002c90000000560 PortGUID:0002c90000000560 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-511 MT23108 Infinihost-II Mellanox Technologies} LID:0395 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000563 NodeGUID:0002c90000000563 PortGUID:0002c90000000563 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-512 MT23108 Infinihost-II Mellanox Technologies} LID:0397 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000566 NodeGUID:0002c90000000566 PortGUID:0002c90000000566 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-52 MT23108 Infinihost-II Mellanox Technologies} LID:0399 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000569 NodeGUID:0002c90000000569 PortGUID:0002c90000000569 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-53 MT23108 Infinihost-II Mellanox Technologies} LID:039b PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000056c NodeGUID:0002c9000000056c PortGUID:0002c9000000056c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-54 MT23108 Infinihost-II Mellanox Technologies} LID:039d PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000056f NodeGUID:0002c9000000056f PortGUID:0002c9000000056f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-55 MT23108 Infinihost-II Mellanox Technologies} LID:039f PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000572 NodeGUID:0002c90000000572 PortGUID:0002c90000000572 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-56 MT23108 Infinihost-II Mellanox Technologies} LID:03a1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000575 NodeGUID:0002c90000000575 PortGUID:0002c90000000575 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-57 MT23108 Infinihost-II Mellanox Technologies} LID:03a3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000578 NodeGUID:0002c90000000578 PortGUID:0002c90000000578 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-58 MT23108 Infinihost-II Mellanox Technologies} LID:03a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000057b NodeGUID:0002c9000000057b PortGUID:0002c9000000057b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-59 MT23108 Infinihost-II Mellanox Technologies} LID:03a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000057e NodeGUID:0002c9000000057e PortGUID:0002c9000000057e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-6 MT23108 Infinihost-II Mellanox Technologies} LID:03a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000581 NodeGUID:0002c90000000581 PortGUID:0002c90000000581 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-60 MT23108 Infinihost-II Mellanox Technologies} LID:03ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000584 NodeGUID:0002c90000000584 PortGUID:0002c90000000584 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-61 MT23108 Infinihost-II Mellanox Technologies} LID:03ad PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000587 NodeGUID:0002c90000000587 PortGUID:0002c90000000587 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-62 MT23108 Infinihost-II Mellanox Technologies} LID:03af PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000058a NodeGUID:0002c9000000058a PortGUID:0002c9000000058a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-63 MT23108 Infinihost-II Mellanox Technologies} LID:03b1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000058d NodeGUID:0002c9000000058d PortGUID:0002c9000000058d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-64 MT23108 Infinihost-II Mellanox Technologies} LID:03b3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000590 NodeGUID:0002c90000000590 PortGUID:0002c90000000590 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-65 MT23108 Infinihost-II Mellanox Technologies} LID:03b5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000593 NodeGUID:0002c90000000593 PortGUID:0002c90000000593 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-66 MT23108 Infinihost-II Mellanox Technologies} LID:03b7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000596 NodeGUID:0002c90000000596 PortGUID:0002c90000000596 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-67 MT23108 Infinihost-II Mellanox Technologies} LID:03b9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000599 NodeGUID:0002c90000000599 PortGUID:0002c90000000599 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-68 MT23108 Infinihost-II Mellanox Technologies} LID:03bb PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000059c NodeGUID:0002c9000000059c PortGUID:0002c9000000059c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-69 MT23108 Infinihost-II Mellanox Technologies} LID:03bd PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000059f NodeGUID:0002c9000000059f PortGUID:0002c9000000059f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-7 MT23108 Infinihost-II Mellanox Technologies} LID:03bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a2 NodeGUID:0002c900000005a2 PortGUID:0002c900000005a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-70 MT23108 Infinihost-II Mellanox Technologies} LID:03c1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a5 NodeGUID:0002c900000005a5 PortGUID:0002c900000005a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-71 MT23108 Infinihost-II Mellanox Technologies} LID:03c3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a8 NodeGUID:0002c900000005a8 PortGUID:0002c900000005a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-72 MT23108 Infinihost-II Mellanox Technologies} LID:03c5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ab NodeGUID:0002c900000005ab PortGUID:0002c900000005ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-73 MT23108 Infinihost-II Mellanox Technologies} LID:03c7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ae NodeGUID:0002c900000005ae PortGUID:0002c900000005ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-74 MT23108 Infinihost-II Mellanox Technologies} LID:03c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b1 NodeGUID:0002c900000005b1 PortGUID:0002c900000005b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-75 MT23108 Infinihost-II Mellanox Technologies} LID:03cb PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b4 NodeGUID:0002c900000005b4 PortGUID:0002c900000005b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-76 MT23108 Infinihost-II Mellanox Technologies} LID:03cd PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b7 NodeGUID:0002c900000005b7 PortGUID:0002c900000005b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-77 MT23108 Infinihost-II Mellanox Technologies} LID:03cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ba NodeGUID:0002c900000005ba PortGUID:0002c900000005ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-78 MT23108 Infinihost-II Mellanox Technologies} LID:03d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005bd NodeGUID:0002c900000005bd PortGUID:0002c900000005bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-79 MT23108 Infinihost-II Mellanox Technologies} LID:03d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c0 NodeGUID:0002c900000005c0 PortGUID:0002c900000005c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-8 MT23108 Infinihost-II Mellanox Technologies} LID:03d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c3 NodeGUID:0002c900000005c3 PortGUID:0002c900000005c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-80 MT23108 Infinihost-II Mellanox Technologies} LID:03d7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c6 NodeGUID:0002c900000005c6 PortGUID:0002c900000005c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-81 MT23108 Infinihost-II Mellanox Technologies} LID:03d9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c9 NodeGUID:0002c900000005c9 PortGUID:0002c900000005c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-82 MT23108 Infinihost-II Mellanox Technologies} LID:03db PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005cc NodeGUID:0002c900000005cc PortGUID:0002c900000005cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-83 MT23108 Infinihost-II Mellanox Technologies} LID:03dd PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005cf NodeGUID:0002c900000005cf PortGUID:0002c900000005cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-84 MT23108 Infinihost-II Mellanox Technologies} LID:03df PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d2 NodeGUID:0002c900000005d2 PortGUID:0002c900000005d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-85 MT23108 Infinihost-II Mellanox Technologies} LID:03e1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d5 NodeGUID:0002c900000005d5 PortGUID:0002c900000005d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-86 MT23108 Infinihost-II Mellanox Technologies} LID:03e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d8 NodeGUID:0002c900000005d8 PortGUID:0002c900000005d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-87 MT23108 Infinihost-II Mellanox Technologies} LID:03e5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005db NodeGUID:0002c900000005db PortGUID:0002c900000005db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-88 MT23108 Infinihost-II Mellanox Technologies} LID:03e7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005de NodeGUID:0002c900000005de PortGUID:0002c900000005de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-89 MT23108 Infinihost-II Mellanox Technologies} LID:03e9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e1 NodeGUID:0002c900000005e1 PortGUID:0002c900000005e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-9 MT23108 Infinihost-II Mellanox Technologies} LID:03eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e4 NodeGUID:0002c900000005e4 PortGUID:0002c900000005e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-90 MT23108 Infinihost-II Mellanox Technologies} LID:03ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e7 NodeGUID:0002c900000005e7 PortGUID:0002c900000005e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-91 MT23108 Infinihost-II Mellanox Technologies} LID:03ef PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ea NodeGUID:0002c900000005ea PortGUID:0002c900000005ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-92 MT23108 Infinihost-II Mellanox Technologies} LID:03f1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ed NodeGUID:0002c900000005ed PortGUID:0002c900000005ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-93 MT23108 Infinihost-II Mellanox Technologies} LID:03f3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f0 NodeGUID:0002c900000005f0 PortGUID:0002c900000005f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-94 MT23108 Infinihost-II Mellanox Technologies} LID:03f5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f3 NodeGUID:0002c900000005f3 PortGUID:0002c900000005f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-95 MT23108 Infinihost-II Mellanox Technologies} LID:03f7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f6 NodeGUID:0002c900000005f6 PortGUID:0002c900000005f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-96 MT23108 Infinihost-II Mellanox Technologies} LID:03f9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f9 NodeGUID:0002c900000005f9 PortGUID:0002c900000005f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-97 MT23108 Infinihost-II Mellanox Technologies} LID:03fb PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005fc NodeGUID:0002c900000005fc PortGUID:0002c900000005fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-98 MT23108 Infinihost-II Mellanox Technologies} LID:03fd PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ff NodeGUID:0002c900000005ff PortGUID:0002c900000005ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-99 MT23108 Infinihost-II Mellanox Technologies} LID:03ff PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:01 } { CA Ports:02 SystemGUID:0002c90000000002 NodeGUID:0002c90000000002 PortGUID:0002c90000000002 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-1 MT23108 Infinihost-II Mellanox Technologies} LID:0001 PN:01 } PHY=8x LOG=ACT SPD=5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:02 } { CA Ports:02 SystemGUID:0002c90000000068 NodeGUID:0002c90000000068 PortGUID:0002c90000000068 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-13 MT23108 Infinihost-II Mellanox Technologies} LID:0045 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:03 } { CA Ports:02 SystemGUID:0002c900000001f7 NodeGUID:0002c900000001f7 PortGUID:0002c900000001f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-25 MT23108 Infinihost-II Mellanox Technologies} LID:014f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:04 } { CA Ports:02 SystemGUID:0002c90000000386 NodeGUID:0002c90000000386 PortGUID:0002c90000000386 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-37 MT23108 Infinihost-II Mellanox Technologies} LID:0259 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:05 } { CA Ports:02 SystemGUID:0002c90000000515 NodeGUID:0002c90000000515 PortGUID:0002c90000000515 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-49 MT23108 Infinihost-II Mellanox Technologies} LID:0363 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:06 } { CA Ports:02 SystemGUID:0002c90000000584 NodeGUID:0002c90000000584 PortGUID:0002c90000000584 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-61 MT23108 Infinihost-II Mellanox Technologies} LID:03ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0a } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:01 } { CA Ports:02 SystemGUID:0002c90000000005 NodeGUID:0002c90000000005 PortGUID:0002c90000000005 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-10 MT23108 Infinihost-II Mellanox Technologies} LID:0003 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:02 } { CA Ports:02 SystemGUID:0002c90000000194 NodeGUID:0002c90000000194 PortGUID:0002c90000000194 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-22 MT23108 Infinihost-II Mellanox Technologies} LID:010d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:03 } { CA Ports:02 SystemGUID:0002c90000000323 NodeGUID:0002c90000000323 PortGUID:0002c90000000323 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-34 MT23108 Infinihost-II Mellanox Technologies} LID:0217 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:04 } { CA Ports:02 SystemGUID:0002c900000004b2 NodeGUID:0002c900000004b2 PortGUID:0002c900000004b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-46 MT23108 Infinihost-II Mellanox Technologies} LID:0321 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:05 } { CA Ports:02 SystemGUID:0002c90000000578 NodeGUID:0002c90000000578 PortGUID:0002c90000000578 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-58 MT23108 Infinihost-II Mellanox Technologies} LID:03a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:01 } { CA Ports:02 SystemGUID:0002c90000000026 NodeGUID:0002c90000000026 PortGUID:0002c90000000026 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-11 MT23108 Infinihost-II Mellanox Technologies} LID:0019 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:02 } { CA Ports:02 SystemGUID:0002c900000001b5 NodeGUID:0002c900000001b5 PortGUID:0002c900000001b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-23 MT23108 Infinihost-II Mellanox Technologies} LID:0123 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:03 } { CA Ports:02 SystemGUID:0002c90000000344 NodeGUID:0002c90000000344 PortGUID:0002c90000000344 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-35 MT23108 Infinihost-II Mellanox Technologies} LID:022d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:04 } { CA Ports:02 SystemGUID:0002c900000004d3 NodeGUID:0002c900000004d3 PortGUID:0002c900000004d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-47 MT23108 Infinihost-II Mellanox Technologies} LID:0337 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:05 } { CA Ports:02 SystemGUID:0002c9000000057b NodeGUID:0002c9000000057b PortGUID:0002c9000000057b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-59 MT23108 Infinihost-II Mellanox Technologies} LID:03a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:01 } { CA Ports:02 SystemGUID:0002c90000000047 NodeGUID:0002c90000000047 PortGUID:0002c90000000047 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-12 MT23108 Infinihost-II Mellanox Technologies} LID:002f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:02 } { CA Ports:02 SystemGUID:0002c900000001d6 NodeGUID:0002c900000001d6 PortGUID:0002c900000001d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-24 MT23108 Infinihost-II Mellanox Technologies} LID:0139 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:03 } { CA Ports:02 SystemGUID:0002c90000000365 NodeGUID:0002c90000000365 PortGUID:0002c90000000365 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-36 MT23108 Infinihost-II Mellanox Technologies} LID:0243 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:04 } { CA Ports:02 SystemGUID:0002c900000004f4 NodeGUID:0002c900000004f4 PortGUID:0002c900000004f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-48 MT23108 Infinihost-II Mellanox Technologies} LID:034d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:05 } { CA Ports:02 SystemGUID:0002c90000000581 NodeGUID:0002c90000000581 PortGUID:0002c90000000581 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-60 MT23108 Infinihost-II Mellanox Technologies} LID:03ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:01 } { CA Ports:02 SystemGUID:0002c9000000014f NodeGUID:0002c9000000014f PortGUID:0002c9000000014f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-2 MT23108 Infinihost-II Mellanox Technologies} LID:00df PN:01 } PHY=12x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:02 } { CA Ports:02 SystemGUID:0002c90000000089 NodeGUID:0002c90000000089 PortGUID:0002c90000000089 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-14 MT23108 Infinihost-II Mellanox Technologies} LID:005b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:03 } { CA Ports:02 SystemGUID:0002c90000000218 NodeGUID:0002c90000000218 PortGUID:0002c90000000218 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-26 MT23108 Infinihost-II Mellanox Technologies} LID:0165 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:04 } { CA Ports:02 SystemGUID:0002c900000003a7 NodeGUID:0002c900000003a7 PortGUID:0002c900000003a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-38 MT23108 Infinihost-II Mellanox Technologies} LID:026f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:05 } { CA Ports:02 SystemGUID:0002c90000000539 NodeGUID:0002c90000000539 PortGUID:0002c90000000539 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-50 MT23108 Infinihost-II Mellanox Technologies} LID:037b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:06 } { CA Ports:02 SystemGUID:0002c90000000587 NodeGUID:0002c90000000587 PortGUID:0002c90000000587 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-62 MT23108 Infinihost-II Mellanox Technologies} LID:03af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0a } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:01 } { CA Ports:02 SystemGUID:0002c9000000029c NodeGUID:0002c9000000029c PortGUID:0002c9000000029c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-3 MT23108 Infinihost-II Mellanox Technologies} LID:01bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:02 } { CA Ports:02 SystemGUID:0002c900000000aa NodeGUID:0002c900000000aa PortGUID:0002c900000000aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-15 MT23108 Infinihost-II Mellanox Technologies} LID:0071 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:03 } { CA Ports:02 SystemGUID:0002c90000000239 NodeGUID:0002c90000000239 PortGUID:0002c90000000239 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-27 MT23108 Infinihost-II Mellanox Technologies} LID:017b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:04 } { CA Ports:02 SystemGUID:0002c900000003c8 NodeGUID:0002c900000003c8 PortGUID:0002c900000003c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-39 MT23108 Infinihost-II Mellanox Technologies} LID:0285 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:05 } { CA Ports:02 SystemGUID:0002c9000000055a NodeGUID:0002c9000000055a PortGUID:0002c9000000055a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-51 MT23108 Infinihost-II Mellanox Technologies} LID:0391 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:06 } { CA Ports:02 SystemGUID:0002c9000000058a NodeGUID:0002c9000000058a PortGUID:0002c9000000058a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-63 MT23108 Infinihost-II Mellanox Technologies} LID:03b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0a } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:01 } { CA Ports:02 SystemGUID:0002c900000003e9 NodeGUID:0002c900000003e9 PortGUID:0002c900000003e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-4 MT23108 Infinihost-II Mellanox Technologies} LID:029b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:02 } { CA Ports:02 SystemGUID:0002c900000000cb NodeGUID:0002c900000000cb PortGUID:0002c900000000cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-16 MT23108 Infinihost-II Mellanox Technologies} LID:0087 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:03 } { CA Ports:02 SystemGUID:0002c9000000025a NodeGUID:0002c9000000025a PortGUID:0002c9000000025a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-28 MT23108 Infinihost-II Mellanox Technologies} LID:0191 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:04 } { CA Ports:02 SystemGUID:0002c900000003ec NodeGUID:0002c900000003ec PortGUID:0002c900000003ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-40 MT23108 Infinihost-II Mellanox Technologies} LID:029d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:05 } { CA Ports:02 SystemGUID:0002c90000000566 NodeGUID:0002c90000000566 PortGUID:0002c90000000566 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-52 MT23108 Infinihost-II Mellanox Technologies} LID:0399 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:06 } { CA Ports:02 SystemGUID:0002c9000000058d NodeGUID:0002c9000000058d PortGUID:0002c9000000058d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-64 MT23108 Infinihost-II Mellanox Technologies} LID:03b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:01 } { CA Ports:02 SystemGUID:0002c90000000536 NodeGUID:0002c90000000536 PortGUID:0002c90000000536 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-5 MT23108 Infinihost-II Mellanox Technologies} LID:0379 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:02 } { CA Ports:02 SystemGUID:0002c900000000ec NodeGUID:0002c900000000ec PortGUID:0002c900000000ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-17 MT23108 Infinihost-II Mellanox Technologies} LID:009d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:03 } { CA Ports:02 SystemGUID:0002c9000000027b NodeGUID:0002c9000000027b PortGUID:0002c9000000027b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-29 MT23108 Infinihost-II Mellanox Technologies} LID:01a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:04 } { CA Ports:02 SystemGUID:0002c9000000040d NodeGUID:0002c9000000040d PortGUID:0002c9000000040d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-41 MT23108 Infinihost-II Mellanox Technologies} LID:02b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:05 } { CA Ports:02 SystemGUID:0002c90000000569 NodeGUID:0002c90000000569 PortGUID:0002c90000000569 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-53 MT23108 Infinihost-II Mellanox Technologies} LID:039b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:01 } { CA Ports:02 SystemGUID:0002c9000000057e NodeGUID:0002c9000000057e PortGUID:0002c9000000057e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-6 MT23108 Infinihost-II Mellanox Technologies} LID:03a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:02 } { CA Ports:02 SystemGUID:0002c9000000010d NodeGUID:0002c9000000010d PortGUID:0002c9000000010d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-18 MT23108 Infinihost-II Mellanox Technologies} LID:00b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:03 } { CA Ports:02 SystemGUID:0002c9000000029f NodeGUID:0002c9000000029f PortGUID:0002c9000000029f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-30 MT23108 Infinihost-II Mellanox Technologies} LID:01bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:04 } { CA Ports:02 SystemGUID:0002c9000000042e NodeGUID:0002c9000000042e PortGUID:0002c9000000042e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-42 MT23108 Infinihost-II Mellanox Technologies} LID:02c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:05 } { CA Ports:02 SystemGUID:0002c9000000056c NodeGUID:0002c9000000056c PortGUID:0002c9000000056c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-54 MT23108 Infinihost-II Mellanox Technologies} LID:039d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:01 } { CA Ports:02 SystemGUID:0002c9000000059f NodeGUID:0002c9000000059f PortGUID:0002c9000000059f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-7 MT23108 Infinihost-II Mellanox Technologies} LID:03bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:02 } { CA Ports:02 SystemGUID:0002c9000000012e NodeGUID:0002c9000000012e PortGUID:0002c9000000012e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-19 MT23108 Infinihost-II Mellanox Technologies} LID:00c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:03 } { CA Ports:02 SystemGUID:0002c900000002c0 NodeGUID:0002c900000002c0 PortGUID:0002c900000002c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-31 MT23108 Infinihost-II Mellanox Technologies} LID:01d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:04 } { CA Ports:02 SystemGUID:0002c9000000044f NodeGUID:0002c9000000044f PortGUID:0002c9000000044f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-43 MT23108 Infinihost-II Mellanox Technologies} LID:02df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:05 } { CA Ports:02 SystemGUID:0002c9000000056f NodeGUID:0002c9000000056f PortGUID:0002c9000000056f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-55 MT23108 Infinihost-II Mellanox Technologies} LID:039f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:01 } { CA Ports:02 SystemGUID:0002c900000005c0 NodeGUID:0002c900000005c0 PortGUID:0002c900000005c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-8 MT23108 Infinihost-II Mellanox Technologies} LID:03d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:02 } { CA Ports:02 SystemGUID:0002c90000000152 NodeGUID:0002c90000000152 PortGUID:0002c90000000152 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-20 MT23108 Infinihost-II Mellanox Technologies} LID:00e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:03 } { CA Ports:02 SystemGUID:0002c900000002e1 NodeGUID:0002c900000002e1 PortGUID:0002c900000002e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-32 MT23108 Infinihost-II Mellanox Technologies} LID:01eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:04 } { CA Ports:02 SystemGUID:0002c90000000470 NodeGUID:0002c90000000470 PortGUID:0002c90000000470 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-44 MT23108 Infinihost-II Mellanox Technologies} LID:02f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:05 } { CA Ports:02 SystemGUID:0002c90000000572 NodeGUID:0002c90000000572 PortGUID:0002c90000000572 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-56 MT23108 Infinihost-II Mellanox Technologies} LID:03a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:01 } { CA Ports:02 SystemGUID:0002c900000005e1 NodeGUID:0002c900000005e1 PortGUID:0002c900000005e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-9 MT23108 Infinihost-II Mellanox Technologies} LID:03eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:02 } { CA Ports:02 SystemGUID:0002c90000000173 NodeGUID:0002c90000000173 PortGUID:0002c90000000173 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-21 MT23108 Infinihost-II Mellanox Technologies} LID:00f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:03 } { CA Ports:02 SystemGUID:0002c90000000302 NodeGUID:0002c90000000302 PortGUID:0002c90000000302 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-33 MT23108 Infinihost-II Mellanox Technologies} LID:0201 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:04 } { CA Ports:02 SystemGUID:0002c90000000491 NodeGUID:0002c90000000491 PortGUID:0002c90000000491 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-45 MT23108 Infinihost-II Mellanox Technologies} LID:030b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:05 } { CA Ports:02 SystemGUID:0002c90000000575 NodeGUID:0002c90000000575 PortGUID:0002c90000000575 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-57 MT23108 Infinihost-II Mellanox Technologies} LID:03a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:01 } { CA Ports:02 SystemGUID:0002c90000000590 NodeGUID:0002c90000000590 PortGUID:0002c90000000590 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-65 MT23108 Infinihost-II Mellanox Technologies} LID:03b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:02 } { CA Ports:02 SystemGUID:0002c900000005b7 NodeGUID:0002c900000005b7 PortGUID:0002c900000005b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-77 MT23108 Infinihost-II Mellanox Technologies} LID:03cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:03 } { CA Ports:02 SystemGUID:0002c900000005de NodeGUID:0002c900000005de PortGUID:0002c900000005de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-89 MT23108 Infinihost-II Mellanox Technologies} LID:03e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:04 } { CA Ports:02 SystemGUID:0002c9000000000b NodeGUID:0002c9000000000b PortGUID:0002c9000000000b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-101 MT23108 Infinihost-II Mellanox Technologies} LID:0007 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:05 } { CA Ports:02 SystemGUID:0002c90000000032 NodeGUID:0002c90000000032 PortGUID:0002c90000000032 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-113 MT23108 Infinihost-II Mellanox Technologies} LID:0021 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:06 } { CA Ports:02 SystemGUID:0002c90000000059 NodeGUID:0002c90000000059 PortGUID:0002c90000000059 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-125 MT23108 Infinihost-II Mellanox Technologies} LID:003b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0a } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:01 } { CA Ports:02 SystemGUID:0002c900000005ae NodeGUID:0002c900000005ae PortGUID:0002c900000005ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-74 MT23108 Infinihost-II Mellanox Technologies} LID:03c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:02 } { CA Ports:02 SystemGUID:0002c900000005d5 NodeGUID:0002c900000005d5 PortGUID:0002c900000005d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-86 MT23108 Infinihost-II Mellanox Technologies} LID:03e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:03 } { CA Ports:02 SystemGUID:0002c900000005fc NodeGUID:0002c900000005fc PortGUID:0002c900000005fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-98 MT23108 Infinihost-II Mellanox Technologies} LID:03fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:04 } { CA Ports:02 SystemGUID:0002c90000000029 NodeGUID:0002c90000000029 PortGUID:0002c90000000029 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-110 MT23108 Infinihost-II Mellanox Technologies} LID:001b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:05 } { CA Ports:02 SystemGUID:0002c90000000050 NodeGUID:0002c90000000050 PortGUID:0002c90000000050 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-122 MT23108 Infinihost-II Mellanox Technologies} LID:0035 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:01 } { CA Ports:02 SystemGUID:0002c900000005b1 NodeGUID:0002c900000005b1 PortGUID:0002c900000005b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-75 MT23108 Infinihost-II Mellanox Technologies} LID:03cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:02 } { CA Ports:02 SystemGUID:0002c900000005d8 NodeGUID:0002c900000005d8 PortGUID:0002c900000005d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-87 MT23108 Infinihost-II Mellanox Technologies} LID:03e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:03 } { CA Ports:02 SystemGUID:0002c900000005ff NodeGUID:0002c900000005ff PortGUID:0002c900000005ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-99 MT23108 Infinihost-II Mellanox Technologies} LID:03ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:04 } { CA Ports:02 SystemGUID:0002c9000000002c NodeGUID:0002c9000000002c PortGUID:0002c9000000002c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-111 MT23108 Infinihost-II Mellanox Technologies} LID:001d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:05 } { CA Ports:02 SystemGUID:0002c90000000053 NodeGUID:0002c90000000053 PortGUID:0002c90000000053 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-123 MT23108 Infinihost-II Mellanox Technologies} LID:0037 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:01 } { CA Ports:02 SystemGUID:0002c900000005b4 NodeGUID:0002c900000005b4 PortGUID:0002c900000005b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-76 MT23108 Infinihost-II Mellanox Technologies} LID:03cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:02 } { CA Ports:02 SystemGUID:0002c900000005db NodeGUID:0002c900000005db PortGUID:0002c900000005db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-88 MT23108 Infinihost-II Mellanox Technologies} LID:03e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:03 } { CA Ports:02 SystemGUID:0002c90000000008 NodeGUID:0002c90000000008 PortGUID:0002c90000000008 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-100 MT23108 Infinihost-II Mellanox Technologies} LID:0005 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:04 } { CA Ports:02 SystemGUID:0002c9000000002f NodeGUID:0002c9000000002f PortGUID:0002c9000000002f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-112 MT23108 Infinihost-II Mellanox Technologies} LID:001f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:05 } { CA Ports:02 SystemGUID:0002c90000000056 NodeGUID:0002c90000000056 PortGUID:0002c90000000056 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-124 MT23108 Infinihost-II Mellanox Technologies} LID:0039 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:01 } { CA Ports:02 SystemGUID:0002c90000000593 NodeGUID:0002c90000000593 PortGUID:0002c90000000593 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-66 MT23108 Infinihost-II Mellanox Technologies} LID:03b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:02 } { CA Ports:02 SystemGUID:0002c900000005ba NodeGUID:0002c900000005ba PortGUID:0002c900000005ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-78 MT23108 Infinihost-II Mellanox Technologies} LID:03d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:03 } { CA Ports:02 SystemGUID:0002c900000005e4 NodeGUID:0002c900000005e4 PortGUID:0002c900000005e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-90 MT23108 Infinihost-II Mellanox Technologies} LID:03ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:04 } { CA Ports:02 SystemGUID:0002c9000000000e NodeGUID:0002c9000000000e PortGUID:0002c9000000000e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-102 MT23108 Infinihost-II Mellanox Technologies} LID:0009 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:05 } { CA Ports:02 SystemGUID:0002c90000000035 NodeGUID:0002c90000000035 PortGUID:0002c90000000035 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-114 MT23108 Infinihost-II Mellanox Technologies} LID:0023 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:06 } { CA Ports:02 SystemGUID:0002c9000000005c NodeGUID:0002c9000000005c PortGUID:0002c9000000005c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-126 MT23108 Infinihost-II Mellanox Technologies} LID:003d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:01 } { CA Ports:02 SystemGUID:0002c90000000596 NodeGUID:0002c90000000596 PortGUID:0002c90000000596 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-67 MT23108 Infinihost-II Mellanox Technologies} LID:03b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:02 } { CA Ports:02 SystemGUID:0002c900000005bd NodeGUID:0002c900000005bd PortGUID:0002c900000005bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-79 MT23108 Infinihost-II Mellanox Technologies} LID:03d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:03 } { CA Ports:02 SystemGUID:0002c900000005e7 NodeGUID:0002c900000005e7 PortGUID:0002c900000005e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-91 MT23108 Infinihost-II Mellanox Technologies} LID:03ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:04 } { CA Ports:02 SystemGUID:0002c90000000011 NodeGUID:0002c90000000011 PortGUID:0002c90000000011 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-103 MT23108 Infinihost-II Mellanox Technologies} LID:000b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:05 } { CA Ports:02 SystemGUID:0002c90000000038 NodeGUID:0002c90000000038 PortGUID:0002c90000000038 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-115 MT23108 Infinihost-II Mellanox Technologies} LID:0025 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:06 } { CA Ports:02 SystemGUID:0002c9000000005f NodeGUID:0002c9000000005f PortGUID:0002c9000000005f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-127 MT23108 Infinihost-II Mellanox Technologies} LID:003f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:01 } { CA Ports:02 SystemGUID:0002c90000000599 NodeGUID:0002c90000000599 PortGUID:0002c90000000599 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-68 MT23108 Infinihost-II Mellanox Technologies} LID:03bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:02 } { CA Ports:02 SystemGUID:0002c900000005c3 NodeGUID:0002c900000005c3 PortGUID:0002c900000005c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-80 MT23108 Infinihost-II Mellanox Technologies} LID:03d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:03 } { CA Ports:02 SystemGUID:0002c900000005ea NodeGUID:0002c900000005ea PortGUID:0002c900000005ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-92 MT23108 Infinihost-II Mellanox Technologies} LID:03f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:04 } { CA Ports:02 SystemGUID:0002c90000000014 NodeGUID:0002c90000000014 PortGUID:0002c90000000014 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-104 MT23108 Infinihost-II Mellanox Technologies} LID:000d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:05 } { CA Ports:02 SystemGUID:0002c9000000003b NodeGUID:0002c9000000003b PortGUID:0002c9000000003b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-116 MT23108 Infinihost-II Mellanox Technologies} LID:0027 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:06 } { CA Ports:02 SystemGUID:0002c90000000062 NodeGUID:0002c90000000062 PortGUID:0002c90000000062 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-128 MT23108 Infinihost-II Mellanox Technologies} LID:0041 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:01 } { CA Ports:02 SystemGUID:0002c9000000059c NodeGUID:0002c9000000059c PortGUID:0002c9000000059c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-69 MT23108 Infinihost-II Mellanox Technologies} LID:03bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:02 } { CA Ports:02 SystemGUID:0002c900000005c6 NodeGUID:0002c900000005c6 PortGUID:0002c900000005c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-81 MT23108 Infinihost-II Mellanox Technologies} LID:03d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:03 } { CA Ports:02 SystemGUID:0002c900000005ed NodeGUID:0002c900000005ed PortGUID:0002c900000005ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-93 MT23108 Infinihost-II Mellanox Technologies} LID:03f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:04 } { CA Ports:02 SystemGUID:0002c90000000017 NodeGUID:0002c90000000017 PortGUID:0002c90000000017 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-105 MT23108 Infinihost-II Mellanox Technologies} LID:000f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:05 } { CA Ports:02 SystemGUID:0002c9000000003e NodeGUID:0002c9000000003e PortGUID:0002c9000000003e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-117 MT23108 Infinihost-II Mellanox Technologies} LID:0029 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:01 } { CA Ports:02 SystemGUID:0002c900000005a2 NodeGUID:0002c900000005a2 PortGUID:0002c900000005a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-70 MT23108 Infinihost-II Mellanox Technologies} LID:03c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:02 } { CA Ports:02 SystemGUID:0002c900000005c9 NodeGUID:0002c900000005c9 PortGUID:0002c900000005c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-82 MT23108 Infinihost-II Mellanox Technologies} LID:03db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:03 } { CA Ports:02 SystemGUID:0002c900000005f0 NodeGUID:0002c900000005f0 PortGUID:0002c900000005f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-94 MT23108 Infinihost-II Mellanox Technologies} LID:03f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:04 } { CA Ports:02 SystemGUID:0002c9000000001a NodeGUID:0002c9000000001a PortGUID:0002c9000000001a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-106 MT23108 Infinihost-II Mellanox Technologies} LID:0011 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:05 } { CA Ports:02 SystemGUID:0002c90000000041 NodeGUID:0002c90000000041 PortGUID:0002c90000000041 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-118 MT23108 Infinihost-II Mellanox Technologies} LID:002b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:01 } { CA Ports:02 SystemGUID:0002c900000005a5 NodeGUID:0002c900000005a5 PortGUID:0002c900000005a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-71 MT23108 Infinihost-II Mellanox Technologies} LID:03c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:02 } { CA Ports:02 SystemGUID:0002c900000005cc NodeGUID:0002c900000005cc PortGUID:0002c900000005cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-83 MT23108 Infinihost-II Mellanox Technologies} LID:03dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:03 } { CA Ports:02 SystemGUID:0002c900000005f3 NodeGUID:0002c900000005f3 PortGUID:0002c900000005f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-95 MT23108 Infinihost-II Mellanox Technologies} LID:03f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:04 } { CA Ports:02 SystemGUID:0002c9000000001d NodeGUID:0002c9000000001d PortGUID:0002c9000000001d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-107 MT23108 Infinihost-II Mellanox Technologies} LID:0013 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:05 } { CA Ports:02 SystemGUID:0002c90000000044 NodeGUID:0002c90000000044 PortGUID:0002c90000000044 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-119 MT23108 Infinihost-II Mellanox Technologies} LID:002d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:01 } { CA Ports:02 SystemGUID:0002c900000005a8 NodeGUID:0002c900000005a8 PortGUID:0002c900000005a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-72 MT23108 Infinihost-II Mellanox Technologies} LID:03c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:02 } { CA Ports:02 SystemGUID:0002c900000005cf NodeGUID:0002c900000005cf PortGUID:0002c900000005cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-84 MT23108 Infinihost-II Mellanox Technologies} LID:03df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:03 } { CA Ports:02 SystemGUID:0002c900000005f6 NodeGUID:0002c900000005f6 PortGUID:0002c900000005f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-96 MT23108 Infinihost-II Mellanox Technologies} LID:03f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:04 } { CA Ports:02 SystemGUID:0002c90000000020 NodeGUID:0002c90000000020 PortGUID:0002c90000000020 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-108 MT23108 Infinihost-II Mellanox Technologies} LID:0015 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:05 } { CA Ports:02 SystemGUID:0002c9000000004a NodeGUID:0002c9000000004a PortGUID:0002c9000000004a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-120 MT23108 Infinihost-II Mellanox Technologies} LID:0031 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:01 } { CA Ports:02 SystemGUID:0002c900000005ab NodeGUID:0002c900000005ab PortGUID:0002c900000005ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-73 MT23108 Infinihost-II Mellanox Technologies} LID:03c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:02 } { CA Ports:02 SystemGUID:0002c900000005d2 NodeGUID:0002c900000005d2 PortGUID:0002c900000005d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-85 MT23108 Infinihost-II Mellanox Technologies} LID:03e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:03 } { CA Ports:02 SystemGUID:0002c900000005f9 NodeGUID:0002c900000005f9 PortGUID:0002c900000005f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-97 MT23108 Infinihost-II Mellanox Technologies} LID:03fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:04 } { CA Ports:02 SystemGUID:0002c90000000023 NodeGUID:0002c90000000023 PortGUID:0002c90000000023 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-109 MT23108 Infinihost-II Mellanox Technologies} LID:0017 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:05 } { CA Ports:02 SystemGUID:0002c9000000004d NodeGUID:0002c9000000004d PortGUID:0002c9000000004d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-121 MT23108 Infinihost-II Mellanox Technologies} LID:0033 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:01 } { CA Ports:02 SystemGUID:0002c90000000065 NodeGUID:0002c90000000065 PortGUID:0002c90000000065 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-129 MT23108 Infinihost-II Mellanox Technologies} LID:0043 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:02 } { CA Ports:02 SystemGUID:0002c9000000008f NodeGUID:0002c9000000008f PortGUID:0002c9000000008f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-141 MT23108 Infinihost-II Mellanox Technologies} LID:005f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:03 } { CA Ports:02 SystemGUID:0002c900000000b6 NodeGUID:0002c900000000b6 PortGUID:0002c900000000b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-153 MT23108 Infinihost-II Mellanox Technologies} LID:0079 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:04 } { CA Ports:02 SystemGUID:0002c900000000dd NodeGUID:0002c900000000dd PortGUID:0002c900000000dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-165 MT23108 Infinihost-II Mellanox Technologies} LID:0093 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:05 } { CA Ports:02 SystemGUID:0002c90000000104 NodeGUID:0002c90000000104 PortGUID:0002c90000000104 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-177 MT23108 Infinihost-II Mellanox Technologies} LID:00ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:06 } { CA Ports:02 SystemGUID:0002c9000000012b NodeGUID:0002c9000000012b PortGUID:0002c9000000012b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-189 MT23108 Infinihost-II Mellanox Technologies} LID:00c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0a } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:01 } { CA Ports:02 SystemGUID:0002c90000000083 NodeGUID:0002c90000000083 PortGUID:0002c90000000083 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-138 MT23108 Infinihost-II Mellanox Technologies} LID:0057 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:02 } { CA Ports:02 SystemGUID:0002c900000000ad NodeGUID:0002c900000000ad PortGUID:0002c900000000ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-150 MT23108 Infinihost-II Mellanox Technologies} LID:0073 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d4 NodeGUID:0002c900000000d4 PortGUID:0002c900000000d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-162 MT23108 Infinihost-II Mellanox Technologies} LID:008d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:04 } { CA Ports:02 SystemGUID:0002c900000000fb NodeGUID:0002c900000000fb PortGUID:0002c900000000fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-174 MT23108 Infinihost-II Mellanox Technologies} LID:00a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:05 } { CA Ports:02 SystemGUID:0002c90000000122 NodeGUID:0002c90000000122 PortGUID:0002c90000000122 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-186 MT23108 Infinihost-II Mellanox Technologies} LID:00c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:01 } { CA Ports:02 SystemGUID:0002c90000000086 NodeGUID:0002c90000000086 PortGUID:0002c90000000086 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-139 MT23108 Infinihost-II Mellanox Technologies} LID:0059 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:02 } { CA Ports:02 SystemGUID:0002c900000000b0 NodeGUID:0002c900000000b0 PortGUID:0002c900000000b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-151 MT23108 Infinihost-II Mellanox Technologies} LID:0075 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d7 NodeGUID:0002c900000000d7 PortGUID:0002c900000000d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-163 MT23108 Infinihost-II Mellanox Technologies} LID:008f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:04 } { CA Ports:02 SystemGUID:0002c900000000fe NodeGUID:0002c900000000fe PortGUID:0002c900000000fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-175 MT23108 Infinihost-II Mellanox Technologies} LID:00a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:05 } { CA Ports:02 SystemGUID:0002c90000000125 NodeGUID:0002c90000000125 PortGUID:0002c90000000125 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-187 MT23108 Infinihost-II Mellanox Technologies} LID:00c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:01 } { CA Ports:02 SystemGUID:0002c9000000008c NodeGUID:0002c9000000008c PortGUID:0002c9000000008c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-140 MT23108 Infinihost-II Mellanox Technologies} LID:005d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:02 } { CA Ports:02 SystemGUID:0002c900000000b3 NodeGUID:0002c900000000b3 PortGUID:0002c900000000b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-152 MT23108 Infinihost-II Mellanox Technologies} LID:0077 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:03 } { CA Ports:02 SystemGUID:0002c900000000da NodeGUID:0002c900000000da PortGUID:0002c900000000da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-164 MT23108 Infinihost-II Mellanox Technologies} LID:0091 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:04 } { CA Ports:02 SystemGUID:0002c90000000101 NodeGUID:0002c90000000101 PortGUID:0002c90000000101 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-176 MT23108 Infinihost-II Mellanox Technologies} LID:00ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:05 } { CA Ports:02 SystemGUID:0002c90000000128 NodeGUID:0002c90000000128 PortGUID:0002c90000000128 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-188 MT23108 Infinihost-II Mellanox Technologies} LID:00c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:01 } { CA Ports:02 SystemGUID:0002c9000000006b NodeGUID:0002c9000000006b PortGUID:0002c9000000006b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-130 MT23108 Infinihost-II Mellanox Technologies} LID:0047 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:02 } { CA Ports:02 SystemGUID:0002c90000000092 NodeGUID:0002c90000000092 PortGUID:0002c90000000092 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-142 MT23108 Infinihost-II Mellanox Technologies} LID:0061 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:03 } { CA Ports:02 SystemGUID:0002c900000000b9 NodeGUID:0002c900000000b9 PortGUID:0002c900000000b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-154 MT23108 Infinihost-II Mellanox Technologies} LID:007b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:04 } { CA Ports:02 SystemGUID:0002c900000000e0 NodeGUID:0002c900000000e0 PortGUID:0002c900000000e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-166 MT23108 Infinihost-II Mellanox Technologies} LID:0095 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:05 } { CA Ports:02 SystemGUID:0002c90000000107 NodeGUID:0002c90000000107 PortGUID:0002c90000000107 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-178 MT23108 Infinihost-II Mellanox Technologies} LID:00af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:06 } { CA Ports:02 SystemGUID:0002c90000000131 NodeGUID:0002c90000000131 PortGUID:0002c90000000131 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-190 MT23108 Infinihost-II Mellanox Technologies} LID:00cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0a } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:01 } { CA Ports:02 SystemGUID:0002c9000000006e NodeGUID:0002c9000000006e PortGUID:0002c9000000006e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-131 MT23108 Infinihost-II Mellanox Technologies} LID:0049 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:02 } { CA Ports:02 SystemGUID:0002c90000000095 NodeGUID:0002c90000000095 PortGUID:0002c90000000095 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-143 MT23108 Infinihost-II Mellanox Technologies} LID:0063 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:03 } { CA Ports:02 SystemGUID:0002c900000000bc NodeGUID:0002c900000000bc PortGUID:0002c900000000bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-155 MT23108 Infinihost-II Mellanox Technologies} LID:007d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:04 } { CA Ports:02 SystemGUID:0002c900000000e3 NodeGUID:0002c900000000e3 PortGUID:0002c900000000e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-167 MT23108 Infinihost-II Mellanox Technologies} LID:0097 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:05 } { CA Ports:02 SystemGUID:0002c9000000010a NodeGUID:0002c9000000010a PortGUID:0002c9000000010a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-179 MT23108 Infinihost-II Mellanox Technologies} LID:00b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:06 } { CA Ports:02 SystemGUID:0002c90000000134 NodeGUID:0002c90000000134 PortGUID:0002c90000000134 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-191 MT23108 Infinihost-II Mellanox Technologies} LID:00cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0a } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:01 } { CA Ports:02 SystemGUID:0002c90000000071 NodeGUID:0002c90000000071 PortGUID:0002c90000000071 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-132 MT23108 Infinihost-II Mellanox Technologies} LID:004b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:02 } { CA Ports:02 SystemGUID:0002c90000000098 NodeGUID:0002c90000000098 PortGUID:0002c90000000098 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-144 MT23108 Infinihost-II Mellanox Technologies} LID:0065 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:03 } { CA Ports:02 SystemGUID:0002c900000000bf NodeGUID:0002c900000000bf PortGUID:0002c900000000bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-156 MT23108 Infinihost-II Mellanox Technologies} LID:007f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:04 } { CA Ports:02 SystemGUID:0002c900000000e6 NodeGUID:0002c900000000e6 PortGUID:0002c900000000e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-168 MT23108 Infinihost-II Mellanox Technologies} LID:0099 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:05 } { CA Ports:02 SystemGUID:0002c90000000110 NodeGUID:0002c90000000110 PortGUID:0002c90000000110 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-180 MT23108 Infinihost-II Mellanox Technologies} LID:00b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:06 } { CA Ports:02 SystemGUID:0002c90000000137 NodeGUID:0002c90000000137 PortGUID:0002c90000000137 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-192 MT23108 Infinihost-II Mellanox Technologies} LID:00cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0a } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:01 } { CA Ports:02 SystemGUID:0002c90000000074 NodeGUID:0002c90000000074 PortGUID:0002c90000000074 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-133 MT23108 Infinihost-II Mellanox Technologies} LID:004d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:02 } { CA Ports:02 SystemGUID:0002c9000000009b NodeGUID:0002c9000000009b PortGUID:0002c9000000009b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-145 MT23108 Infinihost-II Mellanox Technologies} LID:0067 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:03 } { CA Ports:02 SystemGUID:0002c900000000c2 NodeGUID:0002c900000000c2 PortGUID:0002c900000000c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-157 MT23108 Infinihost-II Mellanox Technologies} LID:0081 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:04 } { CA Ports:02 SystemGUID:0002c900000000e9 NodeGUID:0002c900000000e9 PortGUID:0002c900000000e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-169 MT23108 Infinihost-II Mellanox Technologies} LID:009b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:05 } { CA Ports:02 SystemGUID:0002c90000000113 NodeGUID:0002c90000000113 PortGUID:0002c90000000113 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-181 MT23108 Infinihost-II Mellanox Technologies} LID:00b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:01 } { CA Ports:02 SystemGUID:0002c90000000077 NodeGUID:0002c90000000077 PortGUID:0002c90000000077 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-134 MT23108 Infinihost-II Mellanox Technologies} LID:004f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:02 } { CA Ports:02 SystemGUID:0002c9000000009e NodeGUID:0002c9000000009e PortGUID:0002c9000000009e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-146 MT23108 Infinihost-II Mellanox Technologies} LID:0069 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:03 } { CA Ports:02 SystemGUID:0002c900000000c5 NodeGUID:0002c900000000c5 PortGUID:0002c900000000c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-158 MT23108 Infinihost-II Mellanox Technologies} LID:0083 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:04 } { CA Ports:02 SystemGUID:0002c900000000ef NodeGUID:0002c900000000ef PortGUID:0002c900000000ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-170 MT23108 Infinihost-II Mellanox Technologies} LID:009f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:05 } { CA Ports:02 SystemGUID:0002c90000000116 NodeGUID:0002c90000000116 PortGUID:0002c90000000116 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-182 MT23108 Infinihost-II Mellanox Technologies} LID:00b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:01 } { CA Ports:02 SystemGUID:0002c9000000007a NodeGUID:0002c9000000007a PortGUID:0002c9000000007a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-135 MT23108 Infinihost-II Mellanox Technologies} LID:0051 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:02 } { CA Ports:02 SystemGUID:0002c900000000a1 NodeGUID:0002c900000000a1 PortGUID:0002c900000000a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-147 MT23108 Infinihost-II Mellanox Technologies} LID:006b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:03 } { CA Ports:02 SystemGUID:0002c900000000c8 NodeGUID:0002c900000000c8 PortGUID:0002c900000000c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-159 MT23108 Infinihost-II Mellanox Technologies} LID:0085 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:04 } { CA Ports:02 SystemGUID:0002c900000000f2 NodeGUID:0002c900000000f2 PortGUID:0002c900000000f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-171 MT23108 Infinihost-II Mellanox Technologies} LID:00a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:05 } { CA Ports:02 SystemGUID:0002c90000000119 NodeGUID:0002c90000000119 PortGUID:0002c90000000119 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-183 MT23108 Infinihost-II Mellanox Technologies} LID:00bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:01 } { CA Ports:02 SystemGUID:0002c9000000007d NodeGUID:0002c9000000007d PortGUID:0002c9000000007d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-136 MT23108 Infinihost-II Mellanox Technologies} LID:0053 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:02 } { CA Ports:02 SystemGUID:0002c900000000a4 NodeGUID:0002c900000000a4 PortGUID:0002c900000000a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-148 MT23108 Infinihost-II Mellanox Technologies} LID:006d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:03 } { CA Ports:02 SystemGUID:0002c900000000ce NodeGUID:0002c900000000ce PortGUID:0002c900000000ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-160 MT23108 Infinihost-II Mellanox Technologies} LID:0089 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:04 } { CA Ports:02 SystemGUID:0002c900000000f5 NodeGUID:0002c900000000f5 PortGUID:0002c900000000f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-172 MT23108 Infinihost-II Mellanox Technologies} LID:00a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:05 } { CA Ports:02 SystemGUID:0002c9000000011c NodeGUID:0002c9000000011c PortGUID:0002c9000000011c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-184 MT23108 Infinihost-II Mellanox Technologies} LID:00bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:01 } { CA Ports:02 SystemGUID:0002c90000000080 NodeGUID:0002c90000000080 PortGUID:0002c90000000080 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-137 MT23108 Infinihost-II Mellanox Technologies} LID:0055 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:02 } { CA Ports:02 SystemGUID:0002c900000000a7 NodeGUID:0002c900000000a7 PortGUID:0002c900000000a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-149 MT23108 Infinihost-II Mellanox Technologies} LID:006f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d1 NodeGUID:0002c900000000d1 PortGUID:0002c900000000d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-161 MT23108 Infinihost-II Mellanox Technologies} LID:008b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:04 } { CA Ports:02 SystemGUID:0002c900000000f8 NodeGUID:0002c900000000f8 PortGUID:0002c900000000f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-173 MT23108 Infinihost-II Mellanox Technologies} LID:00a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:05 } { CA Ports:02 SystemGUID:0002c9000000011f NodeGUID:0002c9000000011f PortGUID:0002c9000000011f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-185 MT23108 Infinihost-II Mellanox Technologies} LID:00bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:01 } { CA Ports:02 SystemGUID:0002c9000000013a NodeGUID:0002c9000000013a PortGUID:0002c9000000013a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-193 MT23108 Infinihost-II Mellanox Technologies} LID:00d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:02 } { CA Ports:02 SystemGUID:0002c90000000164 NodeGUID:0002c90000000164 PortGUID:0002c90000000164 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-205 MT23108 Infinihost-II Mellanox Technologies} LID:00ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:03 } { CA Ports:02 SystemGUID:0002c9000000018b NodeGUID:0002c9000000018b PortGUID:0002c9000000018b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-217 MT23108 Infinihost-II Mellanox Technologies} LID:0107 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:04 } { CA Ports:02 SystemGUID:0002c900000001b2 NodeGUID:0002c900000001b2 PortGUID:0002c900000001b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-229 MT23108 Infinihost-II Mellanox Technologies} LID:0121 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:05 } { CA Ports:02 SystemGUID:0002c900000001dc NodeGUID:0002c900000001dc PortGUID:0002c900000001dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-241 MT23108 Infinihost-II Mellanox Technologies} LID:013d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:06 } { CA Ports:02 SystemGUID:0002c90000000203 NodeGUID:0002c90000000203 PortGUID:0002c90000000203 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-253 MT23108 Infinihost-II Mellanox Technologies} LID:0157 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0a } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:01 } { CA Ports:02 SystemGUID:0002c9000000015b NodeGUID:0002c9000000015b PortGUID:0002c9000000015b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-202 MT23108 Infinihost-II Mellanox Technologies} LID:00e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:02 } { CA Ports:02 SystemGUID:0002c90000000182 NodeGUID:0002c90000000182 PortGUID:0002c90000000182 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-214 MT23108 Infinihost-II Mellanox Technologies} LID:0101 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a9 NodeGUID:0002c900000001a9 PortGUID:0002c900000001a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-226 MT23108 Infinihost-II Mellanox Technologies} LID:011b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:04 } { CA Ports:02 SystemGUID:0002c900000001d0 NodeGUID:0002c900000001d0 PortGUID:0002c900000001d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-238 MT23108 Infinihost-II Mellanox Technologies} LID:0135 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:05 } { CA Ports:02 SystemGUID:0002c900000001fa NodeGUID:0002c900000001fa PortGUID:0002c900000001fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-250 MT23108 Infinihost-II Mellanox Technologies} LID:0151 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:01 } { CA Ports:02 SystemGUID:0002c9000000015e NodeGUID:0002c9000000015e PortGUID:0002c9000000015e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-203 MT23108 Infinihost-II Mellanox Technologies} LID:00e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:02 } { CA Ports:02 SystemGUID:0002c90000000185 NodeGUID:0002c90000000185 PortGUID:0002c90000000185 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-215 MT23108 Infinihost-II Mellanox Technologies} LID:0103 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:03 } { CA Ports:02 SystemGUID:0002c900000001ac NodeGUID:0002c900000001ac PortGUID:0002c900000001ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-227 MT23108 Infinihost-II Mellanox Technologies} LID:011d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:04 } { CA Ports:02 SystemGUID:0002c900000001d3 NodeGUID:0002c900000001d3 PortGUID:0002c900000001d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-239 MT23108 Infinihost-II Mellanox Technologies} LID:0137 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:05 } { CA Ports:02 SystemGUID:0002c900000001fd NodeGUID:0002c900000001fd PortGUID:0002c900000001fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-251 MT23108 Infinihost-II Mellanox Technologies} LID:0153 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:01 } { CA Ports:02 SystemGUID:0002c90000000161 NodeGUID:0002c90000000161 PortGUID:0002c90000000161 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-204 MT23108 Infinihost-II Mellanox Technologies} LID:00eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:02 } { CA Ports:02 SystemGUID:0002c90000000188 NodeGUID:0002c90000000188 PortGUID:0002c90000000188 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-216 MT23108 Infinihost-II Mellanox Technologies} LID:0105 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:03 } { CA Ports:02 SystemGUID:0002c900000001af NodeGUID:0002c900000001af PortGUID:0002c900000001af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-228 MT23108 Infinihost-II Mellanox Technologies} LID:011f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:04 } { CA Ports:02 SystemGUID:0002c900000001d9 NodeGUID:0002c900000001d9 PortGUID:0002c900000001d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-240 MT23108 Infinihost-II Mellanox Technologies} LID:013b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:05 } { CA Ports:02 SystemGUID:0002c90000000200 NodeGUID:0002c90000000200 PortGUID:0002c90000000200 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-252 MT23108 Infinihost-II Mellanox Technologies} LID:0155 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:01 } { CA Ports:02 SystemGUID:0002c9000000013d NodeGUID:0002c9000000013d PortGUID:0002c9000000013d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-194 MT23108 Infinihost-II Mellanox Technologies} LID:00d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:02 } { CA Ports:02 SystemGUID:0002c90000000167 NodeGUID:0002c90000000167 PortGUID:0002c90000000167 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-206 MT23108 Infinihost-II Mellanox Technologies} LID:00ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:03 } { CA Ports:02 SystemGUID:0002c9000000018e NodeGUID:0002c9000000018e PortGUID:0002c9000000018e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-218 MT23108 Infinihost-II Mellanox Technologies} LID:0109 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:04 } { CA Ports:02 SystemGUID:0002c900000001b8 NodeGUID:0002c900000001b8 PortGUID:0002c900000001b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-230 MT23108 Infinihost-II Mellanox Technologies} LID:0125 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:05 } { CA Ports:02 SystemGUID:0002c900000001df NodeGUID:0002c900000001df PortGUID:0002c900000001df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-242 MT23108 Infinihost-II Mellanox Technologies} LID:013f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:06 } { CA Ports:02 SystemGUID:0002c90000000206 NodeGUID:0002c90000000206 PortGUID:0002c90000000206 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-254 MT23108 Infinihost-II Mellanox Technologies} LID:0159 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0a } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:01 } { CA Ports:02 SystemGUID:0002c90000000140 NodeGUID:0002c90000000140 PortGUID:0002c90000000140 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-195 MT23108 Infinihost-II Mellanox Technologies} LID:00d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:02 } { CA Ports:02 SystemGUID:0002c9000000016a NodeGUID:0002c9000000016a PortGUID:0002c9000000016a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-207 MT23108 Infinihost-II Mellanox Technologies} LID:00f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:03 } { CA Ports:02 SystemGUID:0002c90000000191 NodeGUID:0002c90000000191 PortGUID:0002c90000000191 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-219 MT23108 Infinihost-II Mellanox Technologies} LID:010b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:04 } { CA Ports:02 SystemGUID:0002c900000001bb NodeGUID:0002c900000001bb PortGUID:0002c900000001bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-231 MT23108 Infinihost-II Mellanox Technologies} LID:0127 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:05 } { CA Ports:02 SystemGUID:0002c900000001e2 NodeGUID:0002c900000001e2 PortGUID:0002c900000001e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-243 MT23108 Infinihost-II Mellanox Technologies} LID:0141 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:06 } { CA Ports:02 SystemGUID:0002c90000000209 NodeGUID:0002c90000000209 PortGUID:0002c90000000209 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-255 MT23108 Infinihost-II Mellanox Technologies} LID:015b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0a } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:01 } { CA Ports:02 SystemGUID:0002c90000000143 NodeGUID:0002c90000000143 PortGUID:0002c90000000143 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-196 MT23108 Infinihost-II Mellanox Technologies} LID:00d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:02 } { CA Ports:02 SystemGUID:0002c9000000016d NodeGUID:0002c9000000016d PortGUID:0002c9000000016d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-208 MT23108 Infinihost-II Mellanox Technologies} LID:00f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:03 } { CA Ports:02 SystemGUID:0002c90000000197 NodeGUID:0002c90000000197 PortGUID:0002c90000000197 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-220 MT23108 Infinihost-II Mellanox Technologies} LID:010f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:04 } { CA Ports:02 SystemGUID:0002c900000001be NodeGUID:0002c900000001be PortGUID:0002c900000001be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-232 MT23108 Infinihost-II Mellanox Technologies} LID:0129 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:05 } { CA Ports:02 SystemGUID:0002c900000001e5 NodeGUID:0002c900000001e5 PortGUID:0002c900000001e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-244 MT23108 Infinihost-II Mellanox Technologies} LID:0143 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:06 } { CA Ports:02 SystemGUID:0002c9000000020c NodeGUID:0002c9000000020c PortGUID:0002c9000000020c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-256 MT23108 Infinihost-II Mellanox Technologies} LID:015d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:01 } { CA Ports:02 SystemGUID:0002c90000000146 NodeGUID:0002c90000000146 PortGUID:0002c90000000146 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-197 MT23108 Infinihost-II Mellanox Technologies} LID:00d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:02 } { CA Ports:02 SystemGUID:0002c90000000170 NodeGUID:0002c90000000170 PortGUID:0002c90000000170 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-209 MT23108 Infinihost-II Mellanox Technologies} LID:00f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:03 } { CA Ports:02 SystemGUID:0002c9000000019a NodeGUID:0002c9000000019a PortGUID:0002c9000000019a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-221 MT23108 Infinihost-II Mellanox Technologies} LID:0111 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:04 } { CA Ports:02 SystemGUID:0002c900000001c1 NodeGUID:0002c900000001c1 PortGUID:0002c900000001c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-233 MT23108 Infinihost-II Mellanox Technologies} LID:012b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:05 } { CA Ports:02 SystemGUID:0002c900000001e8 NodeGUID:0002c900000001e8 PortGUID:0002c900000001e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-245 MT23108 Infinihost-II Mellanox Technologies} LID:0145 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:01 } { CA Ports:02 SystemGUID:0002c90000000149 NodeGUID:0002c90000000149 PortGUID:0002c90000000149 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-198 MT23108 Infinihost-II Mellanox Technologies} LID:00db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:02 } { CA Ports:02 SystemGUID:0002c90000000176 NodeGUID:0002c90000000176 PortGUID:0002c90000000176 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-210 MT23108 Infinihost-II Mellanox Technologies} LID:00f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:03 } { CA Ports:02 SystemGUID:0002c9000000019d NodeGUID:0002c9000000019d PortGUID:0002c9000000019d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-222 MT23108 Infinihost-II Mellanox Technologies} LID:0113 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:04 } { CA Ports:02 SystemGUID:0002c900000001c4 NodeGUID:0002c900000001c4 PortGUID:0002c900000001c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-234 MT23108 Infinihost-II Mellanox Technologies} LID:012d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:05 } { CA Ports:02 SystemGUID:0002c900000001eb NodeGUID:0002c900000001eb PortGUID:0002c900000001eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-246 MT23108 Infinihost-II Mellanox Technologies} LID:0147 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:01 } { CA Ports:02 SystemGUID:0002c9000000014c NodeGUID:0002c9000000014c PortGUID:0002c9000000014c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-199 MT23108 Infinihost-II Mellanox Technologies} LID:00dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:02 } { CA Ports:02 SystemGUID:0002c90000000179 NodeGUID:0002c90000000179 PortGUID:0002c90000000179 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-211 MT23108 Infinihost-II Mellanox Technologies} LID:00fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a0 NodeGUID:0002c900000001a0 PortGUID:0002c900000001a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-223 MT23108 Infinihost-II Mellanox Technologies} LID:0115 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:04 } { CA Ports:02 SystemGUID:0002c900000001c7 NodeGUID:0002c900000001c7 PortGUID:0002c900000001c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-235 MT23108 Infinihost-II Mellanox Technologies} LID:012f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:05 } { CA Ports:02 SystemGUID:0002c900000001ee NodeGUID:0002c900000001ee PortGUID:0002c900000001ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-247 MT23108 Infinihost-II Mellanox Technologies} LID:0149 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:01 } { CA Ports:02 SystemGUID:0002c90000000155 NodeGUID:0002c90000000155 PortGUID:0002c90000000155 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-200 MT23108 Infinihost-II Mellanox Technologies} LID:00e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:02 } { CA Ports:02 SystemGUID:0002c9000000017c NodeGUID:0002c9000000017c PortGUID:0002c9000000017c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-212 MT23108 Infinihost-II Mellanox Technologies} LID:00fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a3 NodeGUID:0002c900000001a3 PortGUID:0002c900000001a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-224 MT23108 Infinihost-II Mellanox Technologies} LID:0117 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:04 } { CA Ports:02 SystemGUID:0002c900000001ca NodeGUID:0002c900000001ca PortGUID:0002c900000001ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-236 MT23108 Infinihost-II Mellanox Technologies} LID:0131 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:05 } { CA Ports:02 SystemGUID:0002c900000001f1 NodeGUID:0002c900000001f1 PortGUID:0002c900000001f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-248 MT23108 Infinihost-II Mellanox Technologies} LID:014b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:01 } { CA Ports:02 SystemGUID:0002c90000000158 NodeGUID:0002c90000000158 PortGUID:0002c90000000158 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-201 MT23108 Infinihost-II Mellanox Technologies} LID:00e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:02 } { CA Ports:02 SystemGUID:0002c9000000017f NodeGUID:0002c9000000017f PortGUID:0002c9000000017f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-213 MT23108 Infinihost-II Mellanox Technologies} LID:00ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a6 NodeGUID:0002c900000001a6 PortGUID:0002c900000001a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-225 MT23108 Infinihost-II Mellanox Technologies} LID:0119 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:04 } { CA Ports:02 SystemGUID:0002c900000001cd NodeGUID:0002c900000001cd PortGUID:0002c900000001cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-237 MT23108 Infinihost-II Mellanox Technologies} LID:0133 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:05 } { CA Ports:02 SystemGUID:0002c900000001f4 NodeGUID:0002c900000001f4 PortGUID:0002c900000001f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-249 MT23108 Infinihost-II Mellanox Technologies} LID:014d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:01 } { CA Ports:02 SystemGUID:0002c9000000020f NodeGUID:0002c9000000020f PortGUID:0002c9000000020f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-257 MT23108 Infinihost-II Mellanox Technologies} LID:015f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:02 } { CA Ports:02 SystemGUID:0002c90000000236 NodeGUID:0002c90000000236 PortGUID:0002c90000000236 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-269 MT23108 Infinihost-II Mellanox Technologies} LID:0179 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:03 } { CA Ports:02 SystemGUID:0002c90000000260 NodeGUID:0002c90000000260 PortGUID:0002c90000000260 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-281 MT23108 Infinihost-II Mellanox Technologies} LID:0195 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:04 } { CA Ports:02 SystemGUID:0002c90000000287 NodeGUID:0002c90000000287 PortGUID:0002c90000000287 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-293 MT23108 Infinihost-II Mellanox Technologies} LID:01af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:05 } { CA Ports:02 SystemGUID:0002c900000002b1 NodeGUID:0002c900000002b1 PortGUID:0002c900000002b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-305 MT23108 Infinihost-II Mellanox Technologies} LID:01cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:06 } { CA Ports:02 SystemGUID:0002c900000002d8 NodeGUID:0002c900000002d8 PortGUID:0002c900000002d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-317 MT23108 Infinihost-II Mellanox Technologies} LID:01e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0a } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:01 } { CA Ports:02 SystemGUID:0002c9000000022d NodeGUID:0002c9000000022d PortGUID:0002c9000000022d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-266 MT23108 Infinihost-II Mellanox Technologies} LID:0173 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:02 } { CA Ports:02 SystemGUID:0002c90000000254 NodeGUID:0002c90000000254 PortGUID:0002c90000000254 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-278 MT23108 Infinihost-II Mellanox Technologies} LID:018d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:03 } { CA Ports:02 SystemGUID:0002c9000000027e NodeGUID:0002c9000000027e PortGUID:0002c9000000027e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-290 MT23108 Infinihost-II Mellanox Technologies} LID:01a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:04 } { CA Ports:02 SystemGUID:0002c900000002a8 NodeGUID:0002c900000002a8 PortGUID:0002c900000002a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-302 MT23108 Infinihost-II Mellanox Technologies} LID:01c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:05 } { CA Ports:02 SystemGUID:0002c900000002cf NodeGUID:0002c900000002cf PortGUID:0002c900000002cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-314 MT23108 Infinihost-II Mellanox Technologies} LID:01df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:01 } { CA Ports:02 SystemGUID:0002c90000000230 NodeGUID:0002c90000000230 PortGUID:0002c90000000230 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-267 MT23108 Infinihost-II Mellanox Technologies} LID:0175 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:02 } { CA Ports:02 SystemGUID:0002c90000000257 NodeGUID:0002c90000000257 PortGUID:0002c90000000257 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-279 MT23108 Infinihost-II Mellanox Technologies} LID:018f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:03 } { CA Ports:02 SystemGUID:0002c90000000281 NodeGUID:0002c90000000281 PortGUID:0002c90000000281 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-291 MT23108 Infinihost-II Mellanox Technologies} LID:01ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:04 } { CA Ports:02 SystemGUID:0002c900000002ab NodeGUID:0002c900000002ab PortGUID:0002c900000002ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-303 MT23108 Infinihost-II Mellanox Technologies} LID:01c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:05 } { CA Ports:02 SystemGUID:0002c900000002d2 NodeGUID:0002c900000002d2 PortGUID:0002c900000002d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-315 MT23108 Infinihost-II Mellanox Technologies} LID:01e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:01 } { CA Ports:02 SystemGUID:0002c90000000233 NodeGUID:0002c90000000233 PortGUID:0002c90000000233 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-268 MT23108 Infinihost-II Mellanox Technologies} LID:0177 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:02 } { CA Ports:02 SystemGUID:0002c9000000025d NodeGUID:0002c9000000025d PortGUID:0002c9000000025d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-280 MT23108 Infinihost-II Mellanox Technologies} LID:0193 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:03 } { CA Ports:02 SystemGUID:0002c90000000284 NodeGUID:0002c90000000284 PortGUID:0002c90000000284 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-292 MT23108 Infinihost-II Mellanox Technologies} LID:01ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:04 } { CA Ports:02 SystemGUID:0002c900000002ae NodeGUID:0002c900000002ae PortGUID:0002c900000002ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-304 MT23108 Infinihost-II Mellanox Technologies} LID:01c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:05 } { CA Ports:02 SystemGUID:0002c900000002d5 NodeGUID:0002c900000002d5 PortGUID:0002c900000002d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-316 MT23108 Infinihost-II Mellanox Technologies} LID:01e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:01 } { CA Ports:02 SystemGUID:0002c90000000212 NodeGUID:0002c90000000212 PortGUID:0002c90000000212 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-258 MT23108 Infinihost-II Mellanox Technologies} LID:0161 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:02 } { CA Ports:02 SystemGUID:0002c9000000023c NodeGUID:0002c9000000023c PortGUID:0002c9000000023c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-270 MT23108 Infinihost-II Mellanox Technologies} LID:017d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:03 } { CA Ports:02 SystemGUID:0002c90000000263 NodeGUID:0002c90000000263 PortGUID:0002c90000000263 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-282 MT23108 Infinihost-II Mellanox Technologies} LID:0197 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:04 } { CA Ports:02 SystemGUID:0002c9000000028a NodeGUID:0002c9000000028a PortGUID:0002c9000000028a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-294 MT23108 Infinihost-II Mellanox Technologies} LID:01b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:05 } { CA Ports:02 SystemGUID:0002c900000002b4 NodeGUID:0002c900000002b4 PortGUID:0002c900000002b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-306 MT23108 Infinihost-II Mellanox Technologies} LID:01cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:06 } { CA Ports:02 SystemGUID:0002c900000002db NodeGUID:0002c900000002db PortGUID:0002c900000002db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-318 MT23108 Infinihost-II Mellanox Technologies} LID:01e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0a } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:01 } { CA Ports:02 SystemGUID:0002c90000000215 NodeGUID:0002c90000000215 PortGUID:0002c90000000215 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-259 MT23108 Infinihost-II Mellanox Technologies} LID:0163 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:02 } { CA Ports:02 SystemGUID:0002c9000000023f NodeGUID:0002c9000000023f PortGUID:0002c9000000023f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-271 MT23108 Infinihost-II Mellanox Technologies} LID:017f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:03 } { CA Ports:02 SystemGUID:0002c90000000266 NodeGUID:0002c90000000266 PortGUID:0002c90000000266 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-283 MT23108 Infinihost-II Mellanox Technologies} LID:0199 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:04 } { CA Ports:02 SystemGUID:0002c9000000028d NodeGUID:0002c9000000028d PortGUID:0002c9000000028d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-295 MT23108 Infinihost-II Mellanox Technologies} LID:01b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:05 } { CA Ports:02 SystemGUID:0002c900000002b7 NodeGUID:0002c900000002b7 PortGUID:0002c900000002b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-307 MT23108 Infinihost-II Mellanox Technologies} LID:01cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:06 } { CA Ports:02 SystemGUID:0002c900000002de NodeGUID:0002c900000002de PortGUID:0002c900000002de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-319 MT23108 Infinihost-II Mellanox Technologies} LID:01e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0a } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:01 } { CA Ports:02 SystemGUID:0002c9000000021b NodeGUID:0002c9000000021b PortGUID:0002c9000000021b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-260 MT23108 Infinihost-II Mellanox Technologies} LID:0167 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:02 } { CA Ports:02 SystemGUID:0002c90000000242 NodeGUID:0002c90000000242 PortGUID:0002c90000000242 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-272 MT23108 Infinihost-II Mellanox Technologies} LID:0181 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:03 } { CA Ports:02 SystemGUID:0002c90000000269 NodeGUID:0002c90000000269 PortGUID:0002c90000000269 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-284 MT23108 Infinihost-II Mellanox Technologies} LID:019b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:04 } { CA Ports:02 SystemGUID:0002c90000000290 NodeGUID:0002c90000000290 PortGUID:0002c90000000290 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-296 MT23108 Infinihost-II Mellanox Technologies} LID:01b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:05 } { CA Ports:02 SystemGUID:0002c900000002ba NodeGUID:0002c900000002ba PortGUID:0002c900000002ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-308 MT23108 Infinihost-II Mellanox Technologies} LID:01d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:06 } { CA Ports:02 SystemGUID:0002c900000002e4 NodeGUID:0002c900000002e4 PortGUID:0002c900000002e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-320 MT23108 Infinihost-II Mellanox Technologies} LID:01ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0a } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:01 } { CA Ports:02 SystemGUID:0002c9000000021e NodeGUID:0002c9000000021e PortGUID:0002c9000000021e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-261 MT23108 Infinihost-II Mellanox Technologies} LID:0169 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:02 } { CA Ports:02 SystemGUID:0002c90000000245 NodeGUID:0002c90000000245 PortGUID:0002c90000000245 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-273 MT23108 Infinihost-II Mellanox Technologies} LID:0183 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:03 } { CA Ports:02 SystemGUID:0002c9000000026c NodeGUID:0002c9000000026c PortGUID:0002c9000000026c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-285 MT23108 Infinihost-II Mellanox Technologies} LID:019d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:04 } { CA Ports:02 SystemGUID:0002c90000000293 NodeGUID:0002c90000000293 PortGUID:0002c90000000293 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-297 MT23108 Infinihost-II Mellanox Technologies} LID:01b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:05 } { CA Ports:02 SystemGUID:0002c900000002bd NodeGUID:0002c900000002bd PortGUID:0002c900000002bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-309 MT23108 Infinihost-II Mellanox Technologies} LID:01d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:01 } { CA Ports:02 SystemGUID:0002c90000000221 NodeGUID:0002c90000000221 PortGUID:0002c90000000221 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-262 MT23108 Infinihost-II Mellanox Technologies} LID:016b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:02 } { CA Ports:02 SystemGUID:0002c90000000248 NodeGUID:0002c90000000248 PortGUID:0002c90000000248 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-274 MT23108 Infinihost-II Mellanox Technologies} LID:0185 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:03 } { CA Ports:02 SystemGUID:0002c9000000026f NodeGUID:0002c9000000026f PortGUID:0002c9000000026f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-286 MT23108 Infinihost-II Mellanox Technologies} LID:019f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:04 } { CA Ports:02 SystemGUID:0002c90000000296 NodeGUID:0002c90000000296 PortGUID:0002c90000000296 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-298 MT23108 Infinihost-II Mellanox Technologies} LID:01b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c3 NodeGUID:0002c900000002c3 PortGUID:0002c900000002c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-310 MT23108 Infinihost-II Mellanox Technologies} LID:01d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:01 } { CA Ports:02 SystemGUID:0002c90000000224 NodeGUID:0002c90000000224 PortGUID:0002c90000000224 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-263 MT23108 Infinihost-II Mellanox Technologies} LID:016d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:02 } { CA Ports:02 SystemGUID:0002c9000000024b NodeGUID:0002c9000000024b PortGUID:0002c9000000024b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-275 MT23108 Infinihost-II Mellanox Technologies} LID:0187 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:03 } { CA Ports:02 SystemGUID:0002c90000000272 NodeGUID:0002c90000000272 PortGUID:0002c90000000272 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-287 MT23108 Infinihost-II Mellanox Technologies} LID:01a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:04 } { CA Ports:02 SystemGUID:0002c90000000299 NodeGUID:0002c90000000299 PortGUID:0002c90000000299 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-299 MT23108 Infinihost-II Mellanox Technologies} LID:01bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c6 NodeGUID:0002c900000002c6 PortGUID:0002c900000002c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-311 MT23108 Infinihost-II Mellanox Technologies} LID:01d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:01 } { CA Ports:02 SystemGUID:0002c90000000227 NodeGUID:0002c90000000227 PortGUID:0002c90000000227 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-264 MT23108 Infinihost-II Mellanox Technologies} LID:016f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:02 } { CA Ports:02 SystemGUID:0002c9000000024e NodeGUID:0002c9000000024e PortGUID:0002c9000000024e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-276 MT23108 Infinihost-II Mellanox Technologies} LID:0189 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:03 } { CA Ports:02 SystemGUID:0002c90000000275 NodeGUID:0002c90000000275 PortGUID:0002c90000000275 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-288 MT23108 Infinihost-II Mellanox Technologies} LID:01a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:04 } { CA Ports:02 SystemGUID:0002c900000002a2 NodeGUID:0002c900000002a2 PortGUID:0002c900000002a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-300 MT23108 Infinihost-II Mellanox Technologies} LID:01c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c9 NodeGUID:0002c900000002c9 PortGUID:0002c900000002c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-312 MT23108 Infinihost-II Mellanox Technologies} LID:01db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:01 } { CA Ports:02 SystemGUID:0002c9000000022a NodeGUID:0002c9000000022a PortGUID:0002c9000000022a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-265 MT23108 Infinihost-II Mellanox Technologies} LID:0171 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:02 } { CA Ports:02 SystemGUID:0002c90000000251 NodeGUID:0002c90000000251 PortGUID:0002c90000000251 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-277 MT23108 Infinihost-II Mellanox Technologies} LID:018b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:03 } { CA Ports:02 SystemGUID:0002c90000000278 NodeGUID:0002c90000000278 PortGUID:0002c90000000278 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-289 MT23108 Infinihost-II Mellanox Technologies} LID:01a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:04 } { CA Ports:02 SystemGUID:0002c900000002a5 NodeGUID:0002c900000002a5 PortGUID:0002c900000002a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-301 MT23108 Infinihost-II Mellanox Technologies} LID:01c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:05 } { CA Ports:02 SystemGUID:0002c900000002cc NodeGUID:0002c900000002cc PortGUID:0002c900000002cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-313 MT23108 Infinihost-II Mellanox Technologies} LID:01dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:01 } { CA Ports:02 SystemGUID:0002c900000002e7 NodeGUID:0002c900000002e7 PortGUID:0002c900000002e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-321 MT23108 Infinihost-II Mellanox Technologies} LID:01ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:02 } { CA Ports:02 SystemGUID:0002c9000000030e NodeGUID:0002c9000000030e PortGUID:0002c9000000030e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-333 MT23108 Infinihost-II Mellanox Technologies} LID:0209 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:03 } { CA Ports:02 SystemGUID:0002c90000000335 NodeGUID:0002c90000000335 PortGUID:0002c90000000335 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-345 MT23108 Infinihost-II Mellanox Technologies} LID:0223 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:04 } { CA Ports:02 SystemGUID:0002c9000000035c NodeGUID:0002c9000000035c PortGUID:0002c9000000035c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-357 MT23108 Infinihost-II Mellanox Technologies} LID:023d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:05 } { CA Ports:02 SystemGUID:0002c90000000383 NodeGUID:0002c90000000383 PortGUID:0002c90000000383 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-369 MT23108 Infinihost-II Mellanox Technologies} LID:0257 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:06 } { CA Ports:02 SystemGUID:0002c900000003ad NodeGUID:0002c900000003ad PortGUID:0002c900000003ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-381 MT23108 Infinihost-II Mellanox Technologies} LID:0273 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0a } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:01 } { CA Ports:02 SystemGUID:0002c90000000305 NodeGUID:0002c90000000305 PortGUID:0002c90000000305 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-330 MT23108 Infinihost-II Mellanox Technologies} LID:0203 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:02 } { CA Ports:02 SystemGUID:0002c9000000032c NodeGUID:0002c9000000032c PortGUID:0002c9000000032c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-342 MT23108 Infinihost-II Mellanox Technologies} LID:021d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:03 } { CA Ports:02 SystemGUID:0002c90000000353 NodeGUID:0002c90000000353 PortGUID:0002c90000000353 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-354 MT23108 Infinihost-II Mellanox Technologies} LID:0237 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:04 } { CA Ports:02 SystemGUID:0002c9000000037a NodeGUID:0002c9000000037a PortGUID:0002c9000000037a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-366 MT23108 Infinihost-II Mellanox Technologies} LID:0251 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:05 } { CA Ports:02 SystemGUID:0002c900000003a1 NodeGUID:0002c900000003a1 PortGUID:0002c900000003a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-378 MT23108 Infinihost-II Mellanox Technologies} LID:026b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:01 } { CA Ports:02 SystemGUID:0002c90000000308 NodeGUID:0002c90000000308 PortGUID:0002c90000000308 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-331 MT23108 Infinihost-II Mellanox Technologies} LID:0205 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:02 } { CA Ports:02 SystemGUID:0002c9000000032f NodeGUID:0002c9000000032f PortGUID:0002c9000000032f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-343 MT23108 Infinihost-II Mellanox Technologies} LID:021f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:03 } { CA Ports:02 SystemGUID:0002c90000000356 NodeGUID:0002c90000000356 PortGUID:0002c90000000356 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-355 MT23108 Infinihost-II Mellanox Technologies} LID:0239 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:04 } { CA Ports:02 SystemGUID:0002c9000000037d NodeGUID:0002c9000000037d PortGUID:0002c9000000037d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-367 MT23108 Infinihost-II Mellanox Technologies} LID:0253 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:05 } { CA Ports:02 SystemGUID:0002c900000003a4 NodeGUID:0002c900000003a4 PortGUID:0002c900000003a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-379 MT23108 Infinihost-II Mellanox Technologies} LID:026d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:07 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:01 } { CA Ports:02 SystemGUID:0002c9000000030b NodeGUID:0002c9000000030b PortGUID:0002c9000000030b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-332 MT23108 Infinihost-II Mellanox Technologies} LID:0207 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:02 } { CA Ports:02 SystemGUID:0002c90000000332 NodeGUID:0002c90000000332 PortGUID:0002c90000000332 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-344 MT23108 Infinihost-II Mellanox Technologies} LID:0221 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:03 } { CA Ports:02 SystemGUID:0002c90000000359 NodeGUID:0002c90000000359 PortGUID:0002c90000000359 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-356 MT23108 Infinihost-II Mellanox Technologies} LID:023b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:04 } { CA Ports:02 SystemGUID:0002c90000000380 NodeGUID:0002c90000000380 PortGUID:0002c90000000380 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-368 MT23108 Infinihost-II Mellanox Technologies} LID:0255 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:05 } { CA Ports:02 SystemGUID:0002c900000003aa NodeGUID:0002c900000003aa PortGUID:0002c900000003aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-380 MT23108 Infinihost-II Mellanox Technologies} LID:0271 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:07 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:01 } { CA Ports:02 SystemGUID:0002c900000002ea NodeGUID:0002c900000002ea PortGUID:0002c900000002ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-322 MT23108 Infinihost-II Mellanox Technologies} LID:01f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:02 } { CA Ports:02 SystemGUID:0002c90000000311 NodeGUID:0002c90000000311 PortGUID:0002c90000000311 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-334 MT23108 Infinihost-II Mellanox Technologies} LID:020b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:03 } { CA Ports:02 SystemGUID:0002c90000000338 NodeGUID:0002c90000000338 PortGUID:0002c90000000338 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-346 MT23108 Infinihost-II Mellanox Technologies} LID:0225 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:04 } { CA Ports:02 SystemGUID:0002c9000000035f NodeGUID:0002c9000000035f PortGUID:0002c9000000035f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-358 MT23108 Infinihost-II Mellanox Technologies} LID:023f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:05 } { CA Ports:02 SystemGUID:0002c90000000389 NodeGUID:0002c90000000389 PortGUID:0002c90000000389 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-370 MT23108 Infinihost-II Mellanox Technologies} LID:025b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:06 } { CA Ports:02 SystemGUID:0002c900000003b0 NodeGUID:0002c900000003b0 PortGUID:0002c900000003b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-382 MT23108 Infinihost-II Mellanox Technologies} LID:0275 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0a } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:01 } { CA Ports:02 SystemGUID:0002c900000002ed NodeGUID:0002c900000002ed PortGUID:0002c900000002ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-323 MT23108 Infinihost-II Mellanox Technologies} LID:01f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:02 } { CA Ports:02 SystemGUID:0002c90000000314 NodeGUID:0002c90000000314 PortGUID:0002c90000000314 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-335 MT23108 Infinihost-II Mellanox Technologies} LID:020d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:03 } { CA Ports:02 SystemGUID:0002c9000000033b NodeGUID:0002c9000000033b PortGUID:0002c9000000033b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-347 MT23108 Infinihost-II Mellanox Technologies} LID:0227 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:04 } { CA Ports:02 SystemGUID:0002c90000000362 NodeGUID:0002c90000000362 PortGUID:0002c90000000362 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-359 MT23108 Infinihost-II Mellanox Technologies} LID:0241 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:05 } { CA Ports:02 SystemGUID:0002c9000000038c NodeGUID:0002c9000000038c PortGUID:0002c9000000038c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-371 MT23108 Infinihost-II Mellanox Technologies} LID:025d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:06 } { CA Ports:02 SystemGUID:0002c900000003b3 NodeGUID:0002c900000003b3 PortGUID:0002c900000003b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-383 MT23108 Infinihost-II Mellanox Technologies} LID:0277 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0a } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f0 NodeGUID:0002c900000002f0 PortGUID:0002c900000002f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-324 MT23108 Infinihost-II Mellanox Technologies} LID:01f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:02 } { CA Ports:02 SystemGUID:0002c90000000317 NodeGUID:0002c90000000317 PortGUID:0002c90000000317 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-336 MT23108 Infinihost-II Mellanox Technologies} LID:020f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:03 } { CA Ports:02 SystemGUID:0002c9000000033e NodeGUID:0002c9000000033e PortGUID:0002c9000000033e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-348 MT23108 Infinihost-II Mellanox Technologies} LID:0229 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:04 } { CA Ports:02 SystemGUID:0002c90000000368 NodeGUID:0002c90000000368 PortGUID:0002c90000000368 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-360 MT23108 Infinihost-II Mellanox Technologies} LID:0245 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:05 } { CA Ports:02 SystemGUID:0002c9000000038f NodeGUID:0002c9000000038f PortGUID:0002c9000000038f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-372 MT23108 Infinihost-II Mellanox Technologies} LID:025f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:06 } { CA Ports:02 SystemGUID:0002c900000003b6 NodeGUID:0002c900000003b6 PortGUID:0002c900000003b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-384 MT23108 Infinihost-II Mellanox Technologies} LID:0279 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0a } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f3 NodeGUID:0002c900000002f3 PortGUID:0002c900000002f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-325 MT23108 Infinihost-II Mellanox Technologies} LID:01f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:02 } { CA Ports:02 SystemGUID:0002c9000000031a NodeGUID:0002c9000000031a PortGUID:0002c9000000031a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-337 MT23108 Infinihost-II Mellanox Technologies} LID:0211 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:03 } { CA Ports:02 SystemGUID:0002c90000000341 NodeGUID:0002c90000000341 PortGUID:0002c90000000341 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-349 MT23108 Infinihost-II Mellanox Technologies} LID:022b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:04 } { CA Ports:02 SystemGUID:0002c9000000036b NodeGUID:0002c9000000036b PortGUID:0002c9000000036b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-361 MT23108 Infinihost-II Mellanox Technologies} LID:0247 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:05 } { CA Ports:02 SystemGUID:0002c90000000392 NodeGUID:0002c90000000392 PortGUID:0002c90000000392 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-373 MT23108 Infinihost-II Mellanox Technologies} LID:0261 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f6 NodeGUID:0002c900000002f6 PortGUID:0002c900000002f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-326 MT23108 Infinihost-II Mellanox Technologies} LID:01f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:02 } { CA Ports:02 SystemGUID:0002c9000000031d NodeGUID:0002c9000000031d PortGUID:0002c9000000031d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-338 MT23108 Infinihost-II Mellanox Technologies} LID:0213 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:03 } { CA Ports:02 SystemGUID:0002c90000000347 NodeGUID:0002c90000000347 PortGUID:0002c90000000347 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-350 MT23108 Infinihost-II Mellanox Technologies} LID:022f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:04 } { CA Ports:02 SystemGUID:0002c9000000036e NodeGUID:0002c9000000036e PortGUID:0002c9000000036e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-362 MT23108 Infinihost-II Mellanox Technologies} LID:0249 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:05 } { CA Ports:02 SystemGUID:0002c90000000395 NodeGUID:0002c90000000395 PortGUID:0002c90000000395 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-374 MT23108 Infinihost-II Mellanox Technologies} LID:0263 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f9 NodeGUID:0002c900000002f9 PortGUID:0002c900000002f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-327 MT23108 Infinihost-II Mellanox Technologies} LID:01fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:02 } { CA Ports:02 SystemGUID:0002c90000000320 NodeGUID:0002c90000000320 PortGUID:0002c90000000320 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-339 MT23108 Infinihost-II Mellanox Technologies} LID:0215 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:03 } { CA Ports:02 SystemGUID:0002c9000000034a NodeGUID:0002c9000000034a PortGUID:0002c9000000034a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-351 MT23108 Infinihost-II Mellanox Technologies} LID:0231 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:04 } { CA Ports:02 SystemGUID:0002c90000000371 NodeGUID:0002c90000000371 PortGUID:0002c90000000371 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-363 MT23108 Infinihost-II Mellanox Technologies} LID:024b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:05 } { CA Ports:02 SystemGUID:0002c90000000398 NodeGUID:0002c90000000398 PortGUID:0002c90000000398 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-375 MT23108 Infinihost-II Mellanox Technologies} LID:0265 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:01 } { CA Ports:02 SystemGUID:0002c900000002fc NodeGUID:0002c900000002fc PortGUID:0002c900000002fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-328 MT23108 Infinihost-II Mellanox Technologies} LID:01fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:02 } { CA Ports:02 SystemGUID:0002c90000000326 NodeGUID:0002c90000000326 PortGUID:0002c90000000326 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-340 MT23108 Infinihost-II Mellanox Technologies} LID:0219 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:03 } { CA Ports:02 SystemGUID:0002c9000000034d NodeGUID:0002c9000000034d PortGUID:0002c9000000034d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-352 MT23108 Infinihost-II Mellanox Technologies} LID:0233 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:04 } { CA Ports:02 SystemGUID:0002c90000000374 NodeGUID:0002c90000000374 PortGUID:0002c90000000374 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-364 MT23108 Infinihost-II Mellanox Technologies} LID:024d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:05 } { CA Ports:02 SystemGUID:0002c9000000039b NodeGUID:0002c9000000039b PortGUID:0002c9000000039b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-376 MT23108 Infinihost-II Mellanox Technologies} LID:0267 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:01 } { CA Ports:02 SystemGUID:0002c900000002ff NodeGUID:0002c900000002ff PortGUID:0002c900000002ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-329 MT23108 Infinihost-II Mellanox Technologies} LID:01ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:02 } { CA Ports:02 SystemGUID:0002c90000000329 NodeGUID:0002c90000000329 PortGUID:0002c90000000329 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-341 MT23108 Infinihost-II Mellanox Technologies} LID:021b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:03 } { CA Ports:02 SystemGUID:0002c90000000350 NodeGUID:0002c90000000350 PortGUID:0002c90000000350 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-353 MT23108 Infinihost-II Mellanox Technologies} LID:0235 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:04 } { CA Ports:02 SystemGUID:0002c90000000377 NodeGUID:0002c90000000377 PortGUID:0002c90000000377 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-365 MT23108 Infinihost-II Mellanox Technologies} LID:024f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:05 } { CA Ports:02 SystemGUID:0002c9000000039e NodeGUID:0002c9000000039e PortGUID:0002c9000000039e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-377 MT23108 Infinihost-II Mellanox Technologies} LID:0269 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:01 } { CA Ports:02 SystemGUID:0002c900000003b9 NodeGUID:0002c900000003b9 PortGUID:0002c900000003b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-385 MT23108 Infinihost-II Mellanox Technologies} LID:027b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:02 } { CA Ports:02 SystemGUID:0002c900000003e0 NodeGUID:0002c900000003e0 PortGUID:0002c900000003e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-397 MT23108 Infinihost-II Mellanox Technologies} LID:0295 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:03 } { CA Ports:02 SystemGUID:0002c9000000040a NodeGUID:0002c9000000040a PortGUID:0002c9000000040a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-409 MT23108 Infinihost-II Mellanox Technologies} LID:02b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:04 } { CA Ports:02 SystemGUID:0002c90000000434 NodeGUID:0002c90000000434 PortGUID:0002c90000000434 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-421 MT23108 Infinihost-II Mellanox Technologies} LID:02cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:05 } { CA Ports:02 SystemGUID:0002c9000000045b NodeGUID:0002c9000000045b PortGUID:0002c9000000045b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-433 MT23108 Infinihost-II Mellanox Technologies} LID:02e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:06 } { CA Ports:02 SystemGUID:0002c90000000482 NodeGUID:0002c90000000482 PortGUID:0002c90000000482 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-445 MT23108 Infinihost-II Mellanox Technologies} LID:0301 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0a } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:01 } { CA Ports:02 SystemGUID:0002c900000003d7 NodeGUID:0002c900000003d7 PortGUID:0002c900000003d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-394 MT23108 Infinihost-II Mellanox Technologies} LID:028f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:02 } { CA Ports:02 SystemGUID:0002c90000000401 NodeGUID:0002c90000000401 PortGUID:0002c90000000401 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-406 MT23108 Infinihost-II Mellanox Technologies} LID:02ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:03 } { CA Ports:02 SystemGUID:0002c90000000428 NodeGUID:0002c90000000428 PortGUID:0002c90000000428 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-418 MT23108 Infinihost-II Mellanox Technologies} LID:02c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:04 } { CA Ports:02 SystemGUID:0002c90000000452 NodeGUID:0002c90000000452 PortGUID:0002c90000000452 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-430 MT23108 Infinihost-II Mellanox Technologies} LID:02e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:05 } { CA Ports:02 SystemGUID:0002c90000000479 NodeGUID:0002c90000000479 PortGUID:0002c90000000479 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-442 MT23108 Infinihost-II Mellanox Technologies} LID:02fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:01 } { CA Ports:02 SystemGUID:0002c900000003da NodeGUID:0002c900000003da PortGUID:0002c900000003da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-395 MT23108 Infinihost-II Mellanox Technologies} LID:0291 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:02 } { CA Ports:02 SystemGUID:0002c90000000404 NodeGUID:0002c90000000404 PortGUID:0002c90000000404 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-407 MT23108 Infinihost-II Mellanox Technologies} LID:02ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:03 } { CA Ports:02 SystemGUID:0002c9000000042b NodeGUID:0002c9000000042b PortGUID:0002c9000000042b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-419 MT23108 Infinihost-II Mellanox Technologies} LID:02c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:04 } { CA Ports:02 SystemGUID:0002c90000000455 NodeGUID:0002c90000000455 PortGUID:0002c90000000455 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-431 MT23108 Infinihost-II Mellanox Technologies} LID:02e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:05 } { CA Ports:02 SystemGUID:0002c9000000047c NodeGUID:0002c9000000047c PortGUID:0002c9000000047c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-443 MT23108 Infinihost-II Mellanox Technologies} LID:02fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:01 } { CA Ports:02 SystemGUID:0002c900000003dd NodeGUID:0002c900000003dd PortGUID:0002c900000003dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-396 MT23108 Infinihost-II Mellanox Technologies} LID:0293 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:02 } { CA Ports:02 SystemGUID:0002c90000000407 NodeGUID:0002c90000000407 PortGUID:0002c90000000407 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-408 MT23108 Infinihost-II Mellanox Technologies} LID:02af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:03 } { CA Ports:02 SystemGUID:0002c90000000431 NodeGUID:0002c90000000431 PortGUID:0002c90000000431 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-420 MT23108 Infinihost-II Mellanox Technologies} LID:02cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:04 } { CA Ports:02 SystemGUID:0002c90000000458 NodeGUID:0002c90000000458 PortGUID:0002c90000000458 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-432 MT23108 Infinihost-II Mellanox Technologies} LID:02e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:05 } { CA Ports:02 SystemGUID:0002c9000000047f NodeGUID:0002c9000000047f PortGUID:0002c9000000047f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-444 MT23108 Infinihost-II Mellanox Technologies} LID:02ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:01 } { CA Ports:02 SystemGUID:0002c900000003bc NodeGUID:0002c900000003bc PortGUID:0002c900000003bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-386 MT23108 Infinihost-II Mellanox Technologies} LID:027d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:02 } { CA Ports:02 SystemGUID:0002c900000003e3 NodeGUID:0002c900000003e3 PortGUID:0002c900000003e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-398 MT23108 Infinihost-II Mellanox Technologies} LID:0297 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:03 } { CA Ports:02 SystemGUID:0002c90000000410 NodeGUID:0002c90000000410 PortGUID:0002c90000000410 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-410 MT23108 Infinihost-II Mellanox Technologies} LID:02b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:04 } { CA Ports:02 SystemGUID:0002c90000000437 NodeGUID:0002c90000000437 PortGUID:0002c90000000437 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-422 MT23108 Infinihost-II Mellanox Technologies} LID:02cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:05 } { CA Ports:02 SystemGUID:0002c9000000045e NodeGUID:0002c9000000045e PortGUID:0002c9000000045e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-434 MT23108 Infinihost-II Mellanox Technologies} LID:02e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:06 } { CA Ports:02 SystemGUID:0002c90000000485 NodeGUID:0002c90000000485 PortGUID:0002c90000000485 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-446 MT23108 Infinihost-II Mellanox Technologies} LID:0303 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0a } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:01 } { CA Ports:02 SystemGUID:0002c900000003bf NodeGUID:0002c900000003bf PortGUID:0002c900000003bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-387 MT23108 Infinihost-II Mellanox Technologies} LID:027f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:02 } { CA Ports:02 SystemGUID:0002c900000003e6 NodeGUID:0002c900000003e6 PortGUID:0002c900000003e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-399 MT23108 Infinihost-II Mellanox Technologies} LID:0299 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:03 } { CA Ports:02 SystemGUID:0002c90000000413 NodeGUID:0002c90000000413 PortGUID:0002c90000000413 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-411 MT23108 Infinihost-II Mellanox Technologies} LID:02b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:04 } { CA Ports:02 SystemGUID:0002c9000000043a NodeGUID:0002c9000000043a PortGUID:0002c9000000043a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-423 MT23108 Infinihost-II Mellanox Technologies} LID:02d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:05 } { CA Ports:02 SystemGUID:0002c90000000461 NodeGUID:0002c90000000461 PortGUID:0002c90000000461 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-435 MT23108 Infinihost-II Mellanox Technologies} LID:02eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:06 } { CA Ports:02 SystemGUID:0002c90000000488 NodeGUID:0002c90000000488 PortGUID:0002c90000000488 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-447 MT23108 Infinihost-II Mellanox Technologies} LID:0305 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0a } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:01 } { CA Ports:02 SystemGUID:0002c900000003c2 NodeGUID:0002c900000003c2 PortGUID:0002c900000003c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-388 MT23108 Infinihost-II Mellanox Technologies} LID:0281 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:02 } { CA Ports:02 SystemGUID:0002c900000003ef NodeGUID:0002c900000003ef PortGUID:0002c900000003ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-400 MT23108 Infinihost-II Mellanox Technologies} LID:029f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:03 } { CA Ports:02 SystemGUID:0002c90000000416 NodeGUID:0002c90000000416 PortGUID:0002c90000000416 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-412 MT23108 Infinihost-II Mellanox Technologies} LID:02b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:04 } { CA Ports:02 SystemGUID:0002c9000000043d NodeGUID:0002c9000000043d PortGUID:0002c9000000043d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-424 MT23108 Infinihost-II Mellanox Technologies} LID:02d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:05 } { CA Ports:02 SystemGUID:0002c90000000464 NodeGUID:0002c90000000464 PortGUID:0002c90000000464 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-436 MT23108 Infinihost-II Mellanox Technologies} LID:02ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:06 } { CA Ports:02 SystemGUID:0002c9000000048b NodeGUID:0002c9000000048b PortGUID:0002c9000000048b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-448 MT23108 Infinihost-II Mellanox Technologies} LID:0307 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:01 } { CA Ports:02 SystemGUID:0002c900000003c5 NodeGUID:0002c900000003c5 PortGUID:0002c900000003c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-389 MT23108 Infinihost-II Mellanox Technologies} LID:0283 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f2 NodeGUID:0002c900000003f2 PortGUID:0002c900000003f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-401 MT23108 Infinihost-II Mellanox Technologies} LID:02a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:03 } { CA Ports:02 SystemGUID:0002c90000000419 NodeGUID:0002c90000000419 PortGUID:0002c90000000419 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-413 MT23108 Infinihost-II Mellanox Technologies} LID:02bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:04 } { CA Ports:02 SystemGUID:0002c90000000440 NodeGUID:0002c90000000440 PortGUID:0002c90000000440 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-425 MT23108 Infinihost-II Mellanox Technologies} LID:02d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:05 } { CA Ports:02 SystemGUID:0002c90000000467 NodeGUID:0002c90000000467 PortGUID:0002c90000000467 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-437 MT23108 Infinihost-II Mellanox Technologies} LID:02ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:01 } { CA Ports:02 SystemGUID:0002c900000003cb NodeGUID:0002c900000003cb PortGUID:0002c900000003cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-390 MT23108 Infinihost-II Mellanox Technologies} LID:0287 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f5 NodeGUID:0002c900000003f5 PortGUID:0002c900000003f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-402 MT23108 Infinihost-II Mellanox Technologies} LID:02a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:03 } { CA Ports:02 SystemGUID:0002c9000000041c NodeGUID:0002c9000000041c PortGUID:0002c9000000041c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-414 MT23108 Infinihost-II Mellanox Technologies} LID:02bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:04 } { CA Ports:02 SystemGUID:0002c90000000443 NodeGUID:0002c90000000443 PortGUID:0002c90000000443 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-426 MT23108 Infinihost-II Mellanox Technologies} LID:02d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:05 } { CA Ports:02 SystemGUID:0002c9000000046a NodeGUID:0002c9000000046a PortGUID:0002c9000000046a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-438 MT23108 Infinihost-II Mellanox Technologies} LID:02f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:01 } { CA Ports:02 SystemGUID:0002c900000003ce NodeGUID:0002c900000003ce PortGUID:0002c900000003ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-391 MT23108 Infinihost-II Mellanox Technologies} LID:0289 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f8 NodeGUID:0002c900000003f8 PortGUID:0002c900000003f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-403 MT23108 Infinihost-II Mellanox Technologies} LID:02a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:03 } { CA Ports:02 SystemGUID:0002c9000000041f NodeGUID:0002c9000000041f PortGUID:0002c9000000041f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-415 MT23108 Infinihost-II Mellanox Technologies} LID:02bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:04 } { CA Ports:02 SystemGUID:0002c90000000446 NodeGUID:0002c90000000446 PortGUID:0002c90000000446 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-427 MT23108 Infinihost-II Mellanox Technologies} LID:02d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:05 } { CA Ports:02 SystemGUID:0002c9000000046d NodeGUID:0002c9000000046d PortGUID:0002c9000000046d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-439 MT23108 Infinihost-II Mellanox Technologies} LID:02f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:01 } { CA Ports:02 SystemGUID:0002c900000003d1 NodeGUID:0002c900000003d1 PortGUID:0002c900000003d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-392 MT23108 Infinihost-II Mellanox Technologies} LID:028b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:02 } { CA Ports:02 SystemGUID:0002c900000003fb NodeGUID:0002c900000003fb PortGUID:0002c900000003fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-404 MT23108 Infinihost-II Mellanox Technologies} LID:02a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:03 } { CA Ports:02 SystemGUID:0002c90000000422 NodeGUID:0002c90000000422 PortGUID:0002c90000000422 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-416 MT23108 Infinihost-II Mellanox Technologies} LID:02c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:04 } { CA Ports:02 SystemGUID:0002c90000000449 NodeGUID:0002c90000000449 PortGUID:0002c90000000449 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-428 MT23108 Infinihost-II Mellanox Technologies} LID:02db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:05 } { CA Ports:02 SystemGUID:0002c90000000473 NodeGUID:0002c90000000473 PortGUID:0002c90000000473 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-440 MT23108 Infinihost-II Mellanox Technologies} LID:02f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:01 } { CA Ports:02 SystemGUID:0002c900000003d4 NodeGUID:0002c900000003d4 PortGUID:0002c900000003d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-393 MT23108 Infinihost-II Mellanox Technologies} LID:028d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:02 } { CA Ports:02 SystemGUID:0002c900000003fe NodeGUID:0002c900000003fe PortGUID:0002c900000003fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-405 MT23108 Infinihost-II Mellanox Technologies} LID:02a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:03 } { CA Ports:02 SystemGUID:0002c90000000425 NodeGUID:0002c90000000425 PortGUID:0002c90000000425 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-417 MT23108 Infinihost-II Mellanox Technologies} LID:02c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:04 } { CA Ports:02 SystemGUID:0002c9000000044c NodeGUID:0002c9000000044c PortGUID:0002c9000000044c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-429 MT23108 Infinihost-II Mellanox Technologies} LID:02dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:05 } { CA Ports:02 SystemGUID:0002c90000000476 NodeGUID:0002c90000000476 PortGUID:0002c90000000476 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-441 MT23108 Infinihost-II Mellanox Technologies} LID:02f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:01 } { CA Ports:02 SystemGUID:0002c9000000048e NodeGUID:0002c9000000048e PortGUID:0002c9000000048e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-449 MT23108 Infinihost-II Mellanox Technologies} LID:0309 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:02 } { CA Ports:02 SystemGUID:0002c900000004b8 NodeGUID:0002c900000004b8 PortGUID:0002c900000004b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-461 MT23108 Infinihost-II Mellanox Technologies} LID:0325 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:03 } { CA Ports:02 SystemGUID:0002c900000004df NodeGUID:0002c900000004df PortGUID:0002c900000004df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-473 MT23108 Infinihost-II Mellanox Technologies} LID:033f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:04 } { CA Ports:02 SystemGUID:0002c90000000506 NodeGUID:0002c90000000506 PortGUID:0002c90000000506 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-485 MT23108 Infinihost-II Mellanox Technologies} LID:0359 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:05 } { CA Ports:02 SystemGUID:0002c9000000052d NodeGUID:0002c9000000052d PortGUID:0002c9000000052d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-497 MT23108 Infinihost-II Mellanox Technologies} LID:0373 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:06 } { CA Ports:02 SystemGUID:0002c90000000557 NodeGUID:0002c90000000557 PortGUID:0002c90000000557 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-509 MT23108 Infinihost-II Mellanox Technologies} LID:038f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:09 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0a } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:01 } { CA Ports:02 SystemGUID:0002c900000004ac NodeGUID:0002c900000004ac PortGUID:0002c900000004ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-458 MT23108 Infinihost-II Mellanox Technologies} LID:031d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:02 } { CA Ports:02 SystemGUID:0002c900000004d6 NodeGUID:0002c900000004d6 PortGUID:0002c900000004d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-470 MT23108 Infinihost-II Mellanox Technologies} LID:0339 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:03 } { CA Ports:02 SystemGUID:0002c900000004fd NodeGUID:0002c900000004fd PortGUID:0002c900000004fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-482 MT23108 Infinihost-II Mellanox Technologies} LID:0353 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:04 } { CA Ports:02 SystemGUID:0002c90000000524 NodeGUID:0002c90000000524 PortGUID:0002c90000000524 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-494 MT23108 Infinihost-II Mellanox Technologies} LID:036d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:05 } { CA Ports:02 SystemGUID:0002c9000000054e NodeGUID:0002c9000000054e PortGUID:0002c9000000054e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-506 MT23108 Infinihost-II Mellanox Technologies} LID:0389 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:09 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:01 } { CA Ports:02 SystemGUID:0002c900000004af NodeGUID:0002c900000004af PortGUID:0002c900000004af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-459 MT23108 Infinihost-II Mellanox Technologies} LID:031f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:02 } { CA Ports:02 SystemGUID:0002c900000004d9 NodeGUID:0002c900000004d9 PortGUID:0002c900000004d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-471 MT23108 Infinihost-II Mellanox Technologies} LID:033b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:03 } { CA Ports:02 SystemGUID:0002c90000000500 NodeGUID:0002c90000000500 PortGUID:0002c90000000500 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-483 MT23108 Infinihost-II Mellanox Technologies} LID:0355 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:04 } { CA Ports:02 SystemGUID:0002c90000000527 NodeGUID:0002c90000000527 PortGUID:0002c90000000527 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-495 MT23108 Infinihost-II Mellanox Technologies} LID:036f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:05 } { CA Ports:02 SystemGUID:0002c90000000551 NodeGUID:0002c90000000551 PortGUID:0002c90000000551 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-507 MT23108 Infinihost-II Mellanox Technologies} LID:038b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:09 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:01 } { CA Ports:02 SystemGUID:0002c900000004b5 NodeGUID:0002c900000004b5 PortGUID:0002c900000004b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-460 MT23108 Infinihost-II Mellanox Technologies} LID:0323 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:02 } { CA Ports:02 SystemGUID:0002c900000004dc NodeGUID:0002c900000004dc PortGUID:0002c900000004dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-472 MT23108 Infinihost-II Mellanox Technologies} LID:033d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:03 } { CA Ports:02 SystemGUID:0002c90000000503 NodeGUID:0002c90000000503 PortGUID:0002c90000000503 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-484 MT23108 Infinihost-II Mellanox Technologies} LID:0357 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:04 } { CA Ports:02 SystemGUID:0002c9000000052a NodeGUID:0002c9000000052a PortGUID:0002c9000000052a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-496 MT23108 Infinihost-II Mellanox Technologies} LID:0371 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:05 } { CA Ports:02 SystemGUID:0002c90000000554 NodeGUID:0002c90000000554 PortGUID:0002c90000000554 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-508 MT23108 Infinihost-II Mellanox Technologies} LID:038d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:09 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:01 } { CA Ports:02 SystemGUID:0002c90000000494 NodeGUID:0002c90000000494 PortGUID:0002c90000000494 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-450 MT23108 Infinihost-II Mellanox Technologies} LID:030d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:02 } { CA Ports:02 SystemGUID:0002c900000004bb NodeGUID:0002c900000004bb PortGUID:0002c900000004bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-462 MT23108 Infinihost-II Mellanox Technologies} LID:0327 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e2 NodeGUID:0002c900000004e2 PortGUID:0002c900000004e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-474 MT23108 Infinihost-II Mellanox Technologies} LID:0341 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:04 } { CA Ports:02 SystemGUID:0002c90000000509 NodeGUID:0002c90000000509 PortGUID:0002c90000000509 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-486 MT23108 Infinihost-II Mellanox Technologies} LID:035b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:05 } { CA Ports:02 SystemGUID:0002c90000000530 NodeGUID:0002c90000000530 PortGUID:0002c90000000530 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-498 MT23108 Infinihost-II Mellanox Technologies} LID:0375 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:06 } { CA Ports:02 SystemGUID:0002c9000000055d NodeGUID:0002c9000000055d PortGUID:0002c9000000055d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-510 MT23108 Infinihost-II Mellanox Technologies} LID:0393 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:01 } { CA Ports:02 SystemGUID:0002c90000000497 NodeGUID:0002c90000000497 PortGUID:0002c90000000497 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-451 MT23108 Infinihost-II Mellanox Technologies} LID:030f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:02 } { CA Ports:02 SystemGUID:0002c900000004be NodeGUID:0002c900000004be PortGUID:0002c900000004be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-463 MT23108 Infinihost-II Mellanox Technologies} LID:0329 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e5 NodeGUID:0002c900000004e5 PortGUID:0002c900000004e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-475 MT23108 Infinihost-II Mellanox Technologies} LID:0343 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:04 } { CA Ports:02 SystemGUID:0002c9000000050c NodeGUID:0002c9000000050c PortGUID:0002c9000000050c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-487 MT23108 Infinihost-II Mellanox Technologies} LID:035d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:05 } { CA Ports:02 SystemGUID:0002c90000000533 NodeGUID:0002c90000000533 PortGUID:0002c90000000533 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-499 MT23108 Infinihost-II Mellanox Technologies} LID:0377 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:06 } { CA Ports:02 SystemGUID:0002c90000000560 NodeGUID:0002c90000000560 PortGUID:0002c90000000560 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-511 MT23108 Infinihost-II Mellanox Technologies} LID:0395 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:01 } { CA Ports:02 SystemGUID:0002c9000000049a NodeGUID:0002c9000000049a PortGUID:0002c9000000049a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-452 MT23108 Infinihost-II Mellanox Technologies} LID:0311 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c1 NodeGUID:0002c900000004c1 PortGUID:0002c900000004c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-464 MT23108 Infinihost-II Mellanox Technologies} LID:032b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e8 NodeGUID:0002c900000004e8 PortGUID:0002c900000004e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-476 MT23108 Infinihost-II Mellanox Technologies} LID:0345 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:04 } { CA Ports:02 SystemGUID:0002c9000000050f NodeGUID:0002c9000000050f PortGUID:0002c9000000050f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-488 MT23108 Infinihost-II Mellanox Technologies} LID:035f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:05 } { CA Ports:02 SystemGUID:0002c9000000053c NodeGUID:0002c9000000053c PortGUID:0002c9000000053c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-500 MT23108 Infinihost-II Mellanox Technologies} LID:037d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:06 } { CA Ports:02 SystemGUID:0002c90000000563 NodeGUID:0002c90000000563 PortGUID:0002c90000000563 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-512 MT23108 Infinihost-II Mellanox Technologies} LID:0397 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:09 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0a } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:01 } { CA Ports:02 SystemGUID:0002c9000000049d NodeGUID:0002c9000000049d PortGUID:0002c9000000049d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-453 MT23108 Infinihost-II Mellanox Technologies} LID:0313 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c4 NodeGUID:0002c900000004c4 PortGUID:0002c900000004c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-465 MT23108 Infinihost-II Mellanox Technologies} LID:032d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:03 } { CA Ports:02 SystemGUID:0002c900000004eb NodeGUID:0002c900000004eb PortGUID:0002c900000004eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-477 MT23108 Infinihost-II Mellanox Technologies} LID:0347 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:04 } { CA Ports:02 SystemGUID:0002c90000000512 NodeGUID:0002c90000000512 PortGUID:0002c90000000512 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-489 MT23108 Infinihost-II Mellanox Technologies} LID:0361 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:05 } { CA Ports:02 SystemGUID:0002c9000000053f NodeGUID:0002c9000000053f PortGUID:0002c9000000053f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-501 MT23108 Infinihost-II Mellanox Technologies} LID:037f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:09 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a0 NodeGUID:0002c900000004a0 PortGUID:0002c900000004a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-454 MT23108 Infinihost-II Mellanox Technologies} LID:0315 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c7 NodeGUID:0002c900000004c7 PortGUID:0002c900000004c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-466 MT23108 Infinihost-II Mellanox Technologies} LID:032f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:03 } { CA Ports:02 SystemGUID:0002c900000004ee NodeGUID:0002c900000004ee PortGUID:0002c900000004ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-478 MT23108 Infinihost-II Mellanox Technologies} LID:0349 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:04 } { CA Ports:02 SystemGUID:0002c90000000518 NodeGUID:0002c90000000518 PortGUID:0002c90000000518 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-490 MT23108 Infinihost-II Mellanox Technologies} LID:0365 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:05 } { CA Ports:02 SystemGUID:0002c90000000542 NodeGUID:0002c90000000542 PortGUID:0002c90000000542 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-502 MT23108 Infinihost-II Mellanox Technologies} LID:0381 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a3 NodeGUID:0002c900000004a3 PortGUID:0002c900000004a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-455 MT23108 Infinihost-II Mellanox Technologies} LID:0317 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:02 } { CA Ports:02 SystemGUID:0002c900000004ca NodeGUID:0002c900000004ca PortGUID:0002c900000004ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-467 MT23108 Infinihost-II Mellanox Technologies} LID:0331 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:03 } { CA Ports:02 SystemGUID:0002c900000004f1 NodeGUID:0002c900000004f1 PortGUID:0002c900000004f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-479 MT23108 Infinihost-II Mellanox Technologies} LID:034b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:04 } { CA Ports:02 SystemGUID:0002c9000000051b NodeGUID:0002c9000000051b PortGUID:0002c9000000051b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-491 MT23108 Infinihost-II Mellanox Technologies} LID:0367 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:05 } { CA Ports:02 SystemGUID:0002c90000000545 NodeGUID:0002c90000000545 PortGUID:0002c90000000545 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-503 MT23108 Infinihost-II Mellanox Technologies} LID:0383 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a6 NodeGUID:0002c900000004a6 PortGUID:0002c900000004a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-456 MT23108 Infinihost-II Mellanox Technologies} LID:0319 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:02 } { CA Ports:02 SystemGUID:0002c900000004cd NodeGUID:0002c900000004cd PortGUID:0002c900000004cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-468 MT23108 Infinihost-II Mellanox Technologies} LID:0333 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:03 } { CA Ports:02 SystemGUID:0002c900000004f7 NodeGUID:0002c900000004f7 PortGUID:0002c900000004f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-480 MT23108 Infinihost-II Mellanox Technologies} LID:034f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:04 } { CA Ports:02 SystemGUID:0002c9000000051e NodeGUID:0002c9000000051e PortGUID:0002c9000000051e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-492 MT23108 Infinihost-II Mellanox Technologies} LID:0369 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:05 } { CA Ports:02 SystemGUID:0002c90000000548 NodeGUID:0002c90000000548 PortGUID:0002c90000000548 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-504 MT23108 Infinihost-II Mellanox Technologies} LID:0385 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:01 } { CA Ports:02 SystemGUID:0002c900000004a9 NodeGUID:0002c900000004a9 PortGUID:0002c900000004a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-457 MT23108 Infinihost-II Mellanox Technologies} LID:031b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:02 } { CA Ports:02 SystemGUID:0002c900000004d0 NodeGUID:0002c900000004d0 PortGUID:0002c900000004d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-469 MT23108 Infinihost-II Mellanox Technologies} LID:0335 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:03 } { CA Ports:02 SystemGUID:0002c900000004fa NodeGUID:0002c900000004fa PortGUID:0002c900000004fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-481 MT23108 Infinihost-II Mellanox Technologies} LID:0351 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:04 } { CA Ports:02 SystemGUID:0002c90000000521 NodeGUID:0002c90000000521 PortGUID:0002c90000000521 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-493 MT23108 Infinihost-II Mellanox Technologies} LID:036b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:05 } { CA Ports:02 SystemGUID:0002c9000000054b NodeGUID:0002c9000000054b PortGUID:0002c9000000054b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-505 MT23108 Infinihost-II Mellanox Technologies} LID:0387 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:02 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:07 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0b } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:07 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:02 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0b } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:02 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:03 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:06 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0b } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:02 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:03 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:06 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:02 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:02 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:02 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:06 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0a } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:02 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:06 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0a } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:03 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:07 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:02 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0a } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:02 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:07 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0a } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:02 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:07 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:06 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0a } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:06 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0a } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:02 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:03 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:07 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0b } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:03 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0b } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:03 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:07 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0b } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:07 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0b } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:02 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:03 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:07 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0a } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:02 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:03 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0a } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0b } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:02 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:07 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0a } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:02 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:03 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0a } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:03 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:06 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0b } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:02 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:03 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:06 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:07 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0a } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0b } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:02 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:06 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:07 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0b } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:02 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:07 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0a } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0b } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:03 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:06 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:07 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0a } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0b } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:02 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:03 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:06 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0a } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0b } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:02 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:03 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:06 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:07 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0b } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:02 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0d } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0e } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0f } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:10 } { CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:11 } { CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:12 } { CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:13 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:14 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:15 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:16 } { CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:17 } { CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:02 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:03 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:04 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:05 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:06 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:07 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:08 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0a } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0b } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0d } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0e } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:10 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:11 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:13 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:14 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:16 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:17 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000782 NodeGUID:0002c90000000782 PortGUID:0002c90000000782 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c1 PN:18 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:02 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:03 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:04 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:06 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:07 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:08 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0a } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0b } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0d } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0e } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:10 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:11 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:13 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:14 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:16 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:17 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000784 NodeGUID:0002c90000000784 PortGUID:0002c90000000784 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c2 PN:18 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:02 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:03 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:04 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:05 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:07 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:08 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:09 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0a } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0b } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0d } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0e } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:10 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:11 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:13 } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:14 } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:17 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000786 NodeGUID:0002c90000000786 PortGUID:0002c90000000786 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c3 PN:18 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:01 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:02 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:03 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:04 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:05 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:06 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:07 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:08 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0b } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0d } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0e } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:10 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:11 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:13 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:14 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:16 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:17 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000788 NodeGUID:0002c90000000788 PortGUID:0002c90000000788 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c4 PN:18 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:02 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:03 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:04 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:05 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:06 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:07 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:08 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0b } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0d } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0e } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:10 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:11 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:13 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:14 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:16 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:17 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078a NodeGUID:0002c9000000078a PortGUID:0002c9000000078a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c5 PN:18 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:01 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:02 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:06 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:07 } { CA Ports:18 SystemGUID:0002c90000000774 NodeGUID:0002c90000000774 PortGUID:0002c90000000774 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04ba PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:08 } { CA Ports:18 SystemGUID:0002c90000000772 NodeGUID:0002c90000000772 PortGUID:0002c90000000772 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b9 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:09 } { CA Ports:18 SystemGUID:0002c9000000076a NodeGUID:0002c9000000076a PortGUID:0002c9000000076a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0a } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0b } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0c } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0d } { CA Ports:18 SystemGUID:0002c90000000776 NodeGUID:0002c90000000776 PortGUID:0002c90000000776 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bb PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0e } { CA Ports:18 SystemGUID:0002c90000000778 NodeGUID:0002c90000000778 PortGUID:0002c90000000778 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bc PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:0f } { CA Ports:18 SystemGUID:0002c9000000077a NodeGUID:0002c9000000077a PortGUID:0002c9000000077a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bd PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:10 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:11 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:12 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:13 } { CA Ports:18 SystemGUID:0002c90000000780 NodeGUID:0002c90000000780 PortGUID:0002c90000000780 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:14 } { CA Ports:18 SystemGUID:0002c9000000077e NodeGUID:0002c9000000077e PortGUID:0002c9000000077e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04bf PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:15 } { CA Ports:18 SystemGUID:0002c9000000077c NodeGUID:0002c9000000077c PortGUID:0002c9000000077c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04be PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:16 } { CA Ports:18 SystemGUID:0002c9000000076c NodeGUID:0002c9000000076c PortGUID:0002c9000000076c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:17 } { CA Ports:18 SystemGUID:0002c9000000076e NodeGUID:0002c9000000076e PortGUID:0002c9000000076e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078c NodeGUID:0002c9000000078c PortGUID:0002c9000000078c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04c6 PN:18 } { CA Ports:18 SystemGUID:0002c90000000770 NodeGUID:0002c90000000770 PortGUID:0002c90000000770 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-3 MT47396 Infiniscale-III Mellanox Technologies} LID:04b8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:07 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0b } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:03 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:07 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:02 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:03 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:06 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:07 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0a } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0b } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:02 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:03 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:06 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0a } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0b } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:02 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:03 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:06 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:07 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0a } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0b } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:02 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:06 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0a } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:02 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:06 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0a } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:02 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0a } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:02 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0a } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:03 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:15 } PHY=4x LOG=ACT SPD=2.5
diff --git a/ibdm/Clusters/RhinoBased512.no_sp2-3.lst b/ibdm/Clusters/RhinoBased512.no_sp2-3.lst
new file mode 100644
index 0000000..9203c97
--- /dev/null
+++ b/ibdm/Clusters/RhinoBased512.no_sp2-3.lst
@@ -0,0 +1,4960 @@
+{ CA Ports:02 SystemGUID:0002c90000000002 NodeGUID:0002c90000000002 PortGUID:0002c90000000002 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-1 MT23108 Infinihost-II Mellanox Technologies} LID:0001 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:01 } PHY=8x LOG=ACT SPD=5
+{ CA Ports:02 SystemGUID:0002c90000000005 NodeGUID:0002c90000000005 PortGUID:0002c90000000005 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-10 MT23108 Infinihost-II Mellanox Technologies} LID:0003 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000008 NodeGUID:0002c90000000008 PortGUID:0002c90000000008 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-100 MT23108 Infinihost-II Mellanox Technologies} LID:0005 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000000b NodeGUID:0002c9000000000b PortGUID:0002c9000000000b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-101 MT23108 Infinihost-II Mellanox Technologies} LID:0007 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000000e NodeGUID:0002c9000000000e PortGUID:0002c9000000000e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-102 MT23108 Infinihost-II Mellanox Technologies} LID:0009 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000011 NodeGUID:0002c90000000011 PortGUID:0002c90000000011 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-103 MT23108 Infinihost-II Mellanox Technologies} LID:000b PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000014 NodeGUID:0002c90000000014 PortGUID:0002c90000000014 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-104 MT23108 Infinihost-II Mellanox Technologies} LID:000d PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000017 NodeGUID:0002c90000000017 PortGUID:0002c90000000017 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-105 MT23108 Infinihost-II Mellanox Technologies} LID:000f PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000001a NodeGUID:0002c9000000001a PortGUID:0002c9000000001a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-106 MT23108 Infinihost-II Mellanox Technologies} LID:0011 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000001d NodeGUID:0002c9000000001d PortGUID:0002c9000000001d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-107 MT23108 Infinihost-II Mellanox Technologies} LID:0013 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000020 NodeGUID:0002c90000000020 PortGUID:0002c90000000020 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-108 MT23108 Infinihost-II Mellanox Technologies} LID:0015 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000023 NodeGUID:0002c90000000023 PortGUID:0002c90000000023 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-109 MT23108 Infinihost-II Mellanox Technologies} LID:0017 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000026 NodeGUID:0002c90000000026 PortGUID:0002c90000000026 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-11 MT23108 Infinihost-II Mellanox Technologies} LID:0019 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000029 NodeGUID:0002c90000000029 PortGUID:0002c90000000029 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-110 MT23108 Infinihost-II Mellanox Technologies} LID:001b PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000002c NodeGUID:0002c9000000002c PortGUID:0002c9000000002c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-111 MT23108 Infinihost-II Mellanox Technologies} LID:001d PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000002f NodeGUID:0002c9000000002f PortGUID:0002c9000000002f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-112 MT23108 Infinihost-II Mellanox Technologies} LID:001f PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000032 NodeGUID:0002c90000000032 PortGUID:0002c90000000032 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-113 MT23108 Infinihost-II Mellanox Technologies} LID:0021 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000035 NodeGUID:0002c90000000035 PortGUID:0002c90000000035 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-114 MT23108 Infinihost-II Mellanox Technologies} LID:0023 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000038 NodeGUID:0002c90000000038 PortGUID:0002c90000000038 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-115 MT23108 Infinihost-II Mellanox Technologies} LID:0025 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000003b NodeGUID:0002c9000000003b PortGUID:0002c9000000003b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-116 MT23108 Infinihost-II Mellanox Technologies} LID:0027 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000003e NodeGUID:0002c9000000003e PortGUID:0002c9000000003e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-117 MT23108 Infinihost-II Mellanox Technologies} LID:0029 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000041 NodeGUID:0002c90000000041 PortGUID:0002c90000000041 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-118 MT23108 Infinihost-II Mellanox Technologies} LID:002b PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000044 NodeGUID:0002c90000000044 PortGUID:0002c90000000044 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-119 MT23108 Infinihost-II Mellanox Technologies} LID:002d PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000047 NodeGUID:0002c90000000047 PortGUID:0002c90000000047 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-12 MT23108 Infinihost-II Mellanox Technologies} LID:002f PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000004a NodeGUID:0002c9000000004a PortGUID:0002c9000000004a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-120 MT23108 Infinihost-II Mellanox Technologies} LID:0031 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000004d NodeGUID:0002c9000000004d PortGUID:0002c9000000004d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-121 MT23108 Infinihost-II Mellanox Technologies} LID:0033 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000050 NodeGUID:0002c90000000050 PortGUID:0002c90000000050 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-122 MT23108 Infinihost-II Mellanox Technologies} LID:0035 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000053 NodeGUID:0002c90000000053 PortGUID:0002c90000000053 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-123 MT23108 Infinihost-II Mellanox Technologies} LID:0037 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000056 NodeGUID:0002c90000000056 PortGUID:0002c90000000056 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-124 MT23108 Infinihost-II Mellanox Technologies} LID:0039 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000059 NodeGUID:0002c90000000059 PortGUID:0002c90000000059 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-125 MT23108 Infinihost-II Mellanox Technologies} LID:003b PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000005c NodeGUID:0002c9000000005c PortGUID:0002c9000000005c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-126 MT23108 Infinihost-II Mellanox Technologies} LID:003d PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000005f NodeGUID:0002c9000000005f PortGUID:0002c9000000005f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-127 MT23108 Infinihost-II Mellanox Technologies} LID:003f PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000062 NodeGUID:0002c90000000062 PortGUID:0002c90000000062 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-128 MT23108 Infinihost-II Mellanox Technologies} LID:0041 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000065 NodeGUID:0002c90000000065 PortGUID:0002c90000000065 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-129 MT23108 Infinihost-II Mellanox Technologies} LID:0043 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000068 NodeGUID:0002c90000000068 PortGUID:0002c90000000068 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-13 MT23108 Infinihost-II Mellanox Technologies} LID:0045 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000006b NodeGUID:0002c9000000006b PortGUID:0002c9000000006b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-130 MT23108 Infinihost-II Mellanox Technologies} LID:0047 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000006e NodeGUID:0002c9000000006e PortGUID:0002c9000000006e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-131 MT23108 Infinihost-II Mellanox Technologies} LID:0049 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000071 NodeGUID:0002c90000000071 PortGUID:0002c90000000071 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-132 MT23108 Infinihost-II Mellanox Technologies} LID:004b PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000074 NodeGUID:0002c90000000074 PortGUID:0002c90000000074 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-133 MT23108 Infinihost-II Mellanox Technologies} LID:004d PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000077 NodeGUID:0002c90000000077 PortGUID:0002c90000000077 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-134 MT23108 Infinihost-II Mellanox Technologies} LID:004f PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000007a NodeGUID:0002c9000000007a PortGUID:0002c9000000007a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-135 MT23108 Infinihost-II Mellanox Technologies} LID:0051 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000007d NodeGUID:0002c9000000007d PortGUID:0002c9000000007d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-136 MT23108 Infinihost-II Mellanox Technologies} LID:0053 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000080 NodeGUID:0002c90000000080 PortGUID:0002c90000000080 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-137 MT23108 Infinihost-II Mellanox Technologies} LID:0055 PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000083 NodeGUID:0002c90000000083 PortGUID:0002c90000000083 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-138 MT23108 Infinihost-II Mellanox Technologies} LID:0057 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000086 NodeGUID:0002c90000000086 PortGUID:0002c90000000086 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-139 MT23108 Infinihost-II Mellanox Technologies} LID:0059 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000089 NodeGUID:0002c90000000089 PortGUID:0002c90000000089 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-14 MT23108 Infinihost-II Mellanox Technologies} LID:005b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000008c NodeGUID:0002c9000000008c PortGUID:0002c9000000008c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-140 MT23108 Infinihost-II Mellanox Technologies} LID:005d PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000008f NodeGUID:0002c9000000008f PortGUID:0002c9000000008f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-141 MT23108 Infinihost-II Mellanox Technologies} LID:005f PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000092 NodeGUID:0002c90000000092 PortGUID:0002c90000000092 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-142 MT23108 Infinihost-II Mellanox Technologies} LID:0061 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000095 NodeGUID:0002c90000000095 PortGUID:0002c90000000095 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-143 MT23108 Infinihost-II Mellanox Technologies} LID:0063 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000098 NodeGUID:0002c90000000098 PortGUID:0002c90000000098 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-144 MT23108 Infinihost-II Mellanox Technologies} LID:0065 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000009b NodeGUID:0002c9000000009b PortGUID:0002c9000000009b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-145 MT23108 Infinihost-II Mellanox Technologies} LID:0067 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000009e NodeGUID:0002c9000000009e PortGUID:0002c9000000009e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-146 MT23108 Infinihost-II Mellanox Technologies} LID:0069 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a1 NodeGUID:0002c900000000a1 PortGUID:0002c900000000a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-147 MT23108 Infinihost-II Mellanox Technologies} LID:006b PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a4 NodeGUID:0002c900000000a4 PortGUID:0002c900000000a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-148 MT23108 Infinihost-II Mellanox Technologies} LID:006d PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000a7 NodeGUID:0002c900000000a7 PortGUID:0002c900000000a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-149 MT23108 Infinihost-II Mellanox Technologies} LID:006f PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000aa NodeGUID:0002c900000000aa PortGUID:0002c900000000aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-15 MT23108 Infinihost-II Mellanox Technologies} LID:0071 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ad NodeGUID:0002c900000000ad PortGUID:0002c900000000ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-150 MT23108 Infinihost-II Mellanox Technologies} LID:0073 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b0 NodeGUID:0002c900000000b0 PortGUID:0002c900000000b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-151 MT23108 Infinihost-II Mellanox Technologies} LID:0075 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b3 NodeGUID:0002c900000000b3 PortGUID:0002c900000000b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-152 MT23108 Infinihost-II Mellanox Technologies} LID:0077 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b6 NodeGUID:0002c900000000b6 PortGUID:0002c900000000b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-153 MT23108 Infinihost-II Mellanox Technologies} LID:0079 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000b9 NodeGUID:0002c900000000b9 PortGUID:0002c900000000b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-154 MT23108 Infinihost-II Mellanox Technologies} LID:007b PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000bc NodeGUID:0002c900000000bc PortGUID:0002c900000000bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-155 MT23108 Infinihost-II Mellanox Technologies} LID:007d PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000bf NodeGUID:0002c900000000bf PortGUID:0002c900000000bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-156 MT23108 Infinihost-II Mellanox Technologies} LID:007f PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c2 NodeGUID:0002c900000000c2 PortGUID:0002c900000000c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-157 MT23108 Infinihost-II Mellanox Technologies} LID:0081 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c5 NodeGUID:0002c900000000c5 PortGUID:0002c900000000c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-158 MT23108 Infinihost-II Mellanox Technologies} LID:0083 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000c8 NodeGUID:0002c900000000c8 PortGUID:0002c900000000c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-159 MT23108 Infinihost-II Mellanox Technologies} LID:0085 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000cb NodeGUID:0002c900000000cb PortGUID:0002c900000000cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-16 MT23108 Infinihost-II Mellanox Technologies} LID:0087 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ce NodeGUID:0002c900000000ce PortGUID:0002c900000000ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-160 MT23108 Infinihost-II Mellanox Technologies} LID:0089 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d1 NodeGUID:0002c900000000d1 PortGUID:0002c900000000d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-161 MT23108 Infinihost-II Mellanox Technologies} LID:008b PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d4 NodeGUID:0002c900000000d4 PortGUID:0002c900000000d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-162 MT23108 Infinihost-II Mellanox Technologies} LID:008d PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000d7 NodeGUID:0002c900000000d7 PortGUID:0002c900000000d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-163 MT23108 Infinihost-II Mellanox Technologies} LID:008f PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000da NodeGUID:0002c900000000da PortGUID:0002c900000000da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-164 MT23108 Infinihost-II Mellanox Technologies} LID:0091 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000dd NodeGUID:0002c900000000dd PortGUID:0002c900000000dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-165 MT23108 Infinihost-II Mellanox Technologies} LID:0093 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e0 NodeGUID:0002c900000000e0 PortGUID:0002c900000000e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-166 MT23108 Infinihost-II Mellanox Technologies} LID:0095 PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e3 NodeGUID:0002c900000000e3 PortGUID:0002c900000000e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-167 MT23108 Infinihost-II Mellanox Technologies} LID:0097 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e6 NodeGUID:0002c900000000e6 PortGUID:0002c900000000e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-168 MT23108 Infinihost-II Mellanox Technologies} LID:0099 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000e9 NodeGUID:0002c900000000e9 PortGUID:0002c900000000e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-169 MT23108 Infinihost-II Mellanox Technologies} LID:009b PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ec NodeGUID:0002c900000000ec PortGUID:0002c900000000ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-17 MT23108 Infinihost-II Mellanox Technologies} LID:009d PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000ef NodeGUID:0002c900000000ef PortGUID:0002c900000000ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-170 MT23108 Infinihost-II Mellanox Technologies} LID:009f PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f2 NodeGUID:0002c900000000f2 PortGUID:0002c900000000f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-171 MT23108 Infinihost-II Mellanox Technologies} LID:00a1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f5 NodeGUID:0002c900000000f5 PortGUID:0002c900000000f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-172 MT23108 Infinihost-II Mellanox Technologies} LID:00a3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000f8 NodeGUID:0002c900000000f8 PortGUID:0002c900000000f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-173 MT23108 Infinihost-II Mellanox Technologies} LID:00a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000fb NodeGUID:0002c900000000fb PortGUID:0002c900000000fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-174 MT23108 Infinihost-II Mellanox Technologies} LID:00a7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000000fe NodeGUID:0002c900000000fe PortGUID:0002c900000000fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-175 MT23108 Infinihost-II Mellanox Technologies} LID:00a9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000101 NodeGUID:0002c90000000101 PortGUID:0002c90000000101 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-176 MT23108 Infinihost-II Mellanox Technologies} LID:00ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000104 NodeGUID:0002c90000000104 PortGUID:0002c90000000104 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-177 MT23108 Infinihost-II Mellanox Technologies} LID:00ad PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000107 NodeGUID:0002c90000000107 PortGUID:0002c90000000107 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-178 MT23108 Infinihost-II Mellanox Technologies} LID:00af PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000010a NodeGUID:0002c9000000010a PortGUID:0002c9000000010a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-179 MT23108 Infinihost-II Mellanox Technologies} LID:00b1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000010d NodeGUID:0002c9000000010d PortGUID:0002c9000000010d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-18 MT23108 Infinihost-II Mellanox Technologies} LID:00b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000110 NodeGUID:0002c90000000110 PortGUID:0002c90000000110 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-180 MT23108 Infinihost-II Mellanox Technologies} LID:00b5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000113 NodeGUID:0002c90000000113 PortGUID:0002c90000000113 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-181 MT23108 Infinihost-II Mellanox Technologies} LID:00b7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000116 NodeGUID:0002c90000000116 PortGUID:0002c90000000116 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-182 MT23108 Infinihost-II Mellanox Technologies} LID:00b9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000119 NodeGUID:0002c90000000119 PortGUID:0002c90000000119 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-183 MT23108 Infinihost-II Mellanox Technologies} LID:00bb PN:01 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000011c NodeGUID:0002c9000000011c PortGUID:0002c9000000011c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-184 MT23108 Infinihost-II Mellanox Technologies} LID:00bd PN:01 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000011f NodeGUID:0002c9000000011f PortGUID:0002c9000000011f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-185 MT23108 Infinihost-II Mellanox Technologies} LID:00bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000122 NodeGUID:0002c90000000122 PortGUID:0002c90000000122 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-186 MT23108 Infinihost-II Mellanox Technologies} LID:00c1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000125 NodeGUID:0002c90000000125 PortGUID:0002c90000000125 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-187 MT23108 Infinihost-II Mellanox Technologies} LID:00c3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000128 NodeGUID:0002c90000000128 PortGUID:0002c90000000128 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-188 MT23108 Infinihost-II Mellanox Technologies} LID:00c5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000012b NodeGUID:0002c9000000012b PortGUID:0002c9000000012b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-189 MT23108 Infinihost-II Mellanox Technologies} LID:00c7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000012e NodeGUID:0002c9000000012e PortGUID:0002c9000000012e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-19 MT23108 Infinihost-II Mellanox Technologies} LID:00c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000131 NodeGUID:0002c90000000131 PortGUID:0002c90000000131 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-190 MT23108 Infinihost-II Mellanox Technologies} LID:00cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000134 NodeGUID:0002c90000000134 PortGUID:0002c90000000134 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-191 MT23108 Infinihost-II Mellanox Technologies} LID:00cd PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000137 NodeGUID:0002c90000000137 PortGUID:0002c90000000137 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-192 MT23108 Infinihost-II Mellanox Technologies} LID:00cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000013a NodeGUID:0002c9000000013a PortGUID:0002c9000000013a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-193 MT23108 Infinihost-II Mellanox Technologies} LID:00d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000013d NodeGUID:0002c9000000013d PortGUID:0002c9000000013d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-194 MT23108 Infinihost-II Mellanox Technologies} LID:00d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000140 NodeGUID:0002c90000000140 PortGUID:0002c90000000140 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-195 MT23108 Infinihost-II Mellanox Technologies} LID:00d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000143 NodeGUID:0002c90000000143 PortGUID:0002c90000000143 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-196 MT23108 Infinihost-II Mellanox Technologies} LID:00d7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000146 NodeGUID:0002c90000000146 PortGUID:0002c90000000146 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-197 MT23108 Infinihost-II Mellanox Technologies} LID:00d9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000149 NodeGUID:0002c90000000149 PortGUID:0002c90000000149 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-198 MT23108 Infinihost-II Mellanox Technologies} LID:00db PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000014c NodeGUID:0002c9000000014c PortGUID:0002c9000000014c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-199 MT23108 Infinihost-II Mellanox Technologies} LID:00dd PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000014f NodeGUID:0002c9000000014f PortGUID:0002c9000000014f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-2 MT23108 Infinihost-II Mellanox Technologies} LID:00df PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:01 } PHY=12x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000152 NodeGUID:0002c90000000152 PortGUID:0002c90000000152 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-20 MT23108 Infinihost-II Mellanox Technologies} LID:00e1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000155 NodeGUID:0002c90000000155 PortGUID:0002c90000000155 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-200 MT23108 Infinihost-II Mellanox Technologies} LID:00e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000158 NodeGUID:0002c90000000158 PortGUID:0002c90000000158 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-201 MT23108 Infinihost-II Mellanox Technologies} LID:00e5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000015b NodeGUID:0002c9000000015b PortGUID:0002c9000000015b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-202 MT23108 Infinihost-II Mellanox Technologies} LID:00e7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000015e NodeGUID:0002c9000000015e PortGUID:0002c9000000015e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-203 MT23108 Infinihost-II Mellanox Technologies} LID:00e9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000161 NodeGUID:0002c90000000161 PortGUID:0002c90000000161 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-204 MT23108 Infinihost-II Mellanox Technologies} LID:00eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000164 NodeGUID:0002c90000000164 PortGUID:0002c90000000164 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-205 MT23108 Infinihost-II Mellanox Technologies} LID:00ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000167 NodeGUID:0002c90000000167 PortGUID:0002c90000000167 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-206 MT23108 Infinihost-II Mellanox Technologies} LID:00ef PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000016a NodeGUID:0002c9000000016a PortGUID:0002c9000000016a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-207 MT23108 Infinihost-II Mellanox Technologies} LID:00f1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000016d NodeGUID:0002c9000000016d PortGUID:0002c9000000016d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-208 MT23108 Infinihost-II Mellanox Technologies} LID:00f3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000170 NodeGUID:0002c90000000170 PortGUID:0002c90000000170 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-209 MT23108 Infinihost-II Mellanox Technologies} LID:00f5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000173 NodeGUID:0002c90000000173 PortGUID:0002c90000000173 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-21 MT23108 Infinihost-II Mellanox Technologies} LID:00f7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000176 NodeGUID:0002c90000000176 PortGUID:0002c90000000176 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-210 MT23108 Infinihost-II Mellanox Technologies} LID:00f9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000179 NodeGUID:0002c90000000179 PortGUID:0002c90000000179 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-211 MT23108 Infinihost-II Mellanox Technologies} LID:00fb PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000017c NodeGUID:0002c9000000017c PortGUID:0002c9000000017c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-212 MT23108 Infinihost-II Mellanox Technologies} LID:00fd PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000017f NodeGUID:0002c9000000017f PortGUID:0002c9000000017f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-213 MT23108 Infinihost-II Mellanox Technologies} LID:00ff PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000182 NodeGUID:0002c90000000182 PortGUID:0002c90000000182 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-214 MT23108 Infinihost-II Mellanox Technologies} LID:0101 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000185 NodeGUID:0002c90000000185 PortGUID:0002c90000000185 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-215 MT23108 Infinihost-II Mellanox Technologies} LID:0103 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000188 NodeGUID:0002c90000000188 PortGUID:0002c90000000188 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-216 MT23108 Infinihost-II Mellanox Technologies} LID:0105 PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000018b NodeGUID:0002c9000000018b PortGUID:0002c9000000018b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-217 MT23108 Infinihost-II Mellanox Technologies} LID:0107 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000018e NodeGUID:0002c9000000018e PortGUID:0002c9000000018e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-218 MT23108 Infinihost-II Mellanox Technologies} LID:0109 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000191 NodeGUID:0002c90000000191 PortGUID:0002c90000000191 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-219 MT23108 Infinihost-II Mellanox Technologies} LID:010b PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000194 NodeGUID:0002c90000000194 PortGUID:0002c90000000194 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-22 MT23108 Infinihost-II Mellanox Technologies} LID:010d PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000197 NodeGUID:0002c90000000197 PortGUID:0002c90000000197 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-220 MT23108 Infinihost-II Mellanox Technologies} LID:010f PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000019a NodeGUID:0002c9000000019a PortGUID:0002c9000000019a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-221 MT23108 Infinihost-II Mellanox Technologies} LID:0111 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000019d NodeGUID:0002c9000000019d PortGUID:0002c9000000019d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-222 MT23108 Infinihost-II Mellanox Technologies} LID:0113 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a0 NodeGUID:0002c900000001a0 PortGUID:0002c900000001a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-223 MT23108 Infinihost-II Mellanox Technologies} LID:0115 PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a3 NodeGUID:0002c900000001a3 PortGUID:0002c900000001a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-224 MT23108 Infinihost-II Mellanox Technologies} LID:0117 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a6 NodeGUID:0002c900000001a6 PortGUID:0002c900000001a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-225 MT23108 Infinihost-II Mellanox Technologies} LID:0119 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001a9 NodeGUID:0002c900000001a9 PortGUID:0002c900000001a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-226 MT23108 Infinihost-II Mellanox Technologies} LID:011b PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ac NodeGUID:0002c900000001ac PortGUID:0002c900000001ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-227 MT23108 Infinihost-II Mellanox Technologies} LID:011d PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001af NodeGUID:0002c900000001af PortGUID:0002c900000001af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-228 MT23108 Infinihost-II Mellanox Technologies} LID:011f PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b2 NodeGUID:0002c900000001b2 PortGUID:0002c900000001b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-229 MT23108 Infinihost-II Mellanox Technologies} LID:0121 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b5 NodeGUID:0002c900000001b5 PortGUID:0002c900000001b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-23 MT23108 Infinihost-II Mellanox Technologies} LID:0123 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001b8 NodeGUID:0002c900000001b8 PortGUID:0002c900000001b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-230 MT23108 Infinihost-II Mellanox Technologies} LID:0125 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001bb NodeGUID:0002c900000001bb PortGUID:0002c900000001bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-231 MT23108 Infinihost-II Mellanox Technologies} LID:0127 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001be NodeGUID:0002c900000001be PortGUID:0002c900000001be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-232 MT23108 Infinihost-II Mellanox Technologies} LID:0129 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c1 NodeGUID:0002c900000001c1 PortGUID:0002c900000001c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-233 MT23108 Infinihost-II Mellanox Technologies} LID:012b PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c4 NodeGUID:0002c900000001c4 PortGUID:0002c900000001c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-234 MT23108 Infinihost-II Mellanox Technologies} LID:012d PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001c7 NodeGUID:0002c900000001c7 PortGUID:0002c900000001c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-235 MT23108 Infinihost-II Mellanox Technologies} LID:012f PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ca NodeGUID:0002c900000001ca PortGUID:0002c900000001ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-236 MT23108 Infinihost-II Mellanox Technologies} LID:0131 PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001cd NodeGUID:0002c900000001cd PortGUID:0002c900000001cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-237 MT23108 Infinihost-II Mellanox Technologies} LID:0133 PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d0 NodeGUID:0002c900000001d0 PortGUID:0002c900000001d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-238 MT23108 Infinihost-II Mellanox Technologies} LID:0135 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d3 NodeGUID:0002c900000001d3 PortGUID:0002c900000001d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-239 MT23108 Infinihost-II Mellanox Technologies} LID:0137 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d6 NodeGUID:0002c900000001d6 PortGUID:0002c900000001d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-24 MT23108 Infinihost-II Mellanox Technologies} LID:0139 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001d9 NodeGUID:0002c900000001d9 PortGUID:0002c900000001d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-240 MT23108 Infinihost-II Mellanox Technologies} LID:013b PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001dc NodeGUID:0002c900000001dc PortGUID:0002c900000001dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-241 MT23108 Infinihost-II Mellanox Technologies} LID:013d PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001df NodeGUID:0002c900000001df PortGUID:0002c900000001df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-242 MT23108 Infinihost-II Mellanox Technologies} LID:013f PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e2 NodeGUID:0002c900000001e2 PortGUID:0002c900000001e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-243 MT23108 Infinihost-II Mellanox Technologies} LID:0141 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e5 NodeGUID:0002c900000001e5 PortGUID:0002c900000001e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-244 MT23108 Infinihost-II Mellanox Technologies} LID:0143 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001e8 NodeGUID:0002c900000001e8 PortGUID:0002c900000001e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-245 MT23108 Infinihost-II Mellanox Technologies} LID:0145 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001eb NodeGUID:0002c900000001eb PortGUID:0002c900000001eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-246 MT23108 Infinihost-II Mellanox Technologies} LID:0147 PN:01 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001ee NodeGUID:0002c900000001ee PortGUID:0002c900000001ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-247 MT23108 Infinihost-II Mellanox Technologies} LID:0149 PN:01 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f1 NodeGUID:0002c900000001f1 PortGUID:0002c900000001f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-248 MT23108 Infinihost-II Mellanox Technologies} LID:014b PN:01 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f4 NodeGUID:0002c900000001f4 PortGUID:0002c900000001f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-249 MT23108 Infinihost-II Mellanox Technologies} LID:014d PN:01 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001f7 NodeGUID:0002c900000001f7 PortGUID:0002c900000001f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-25 MT23108 Infinihost-II Mellanox Technologies} LID:014f PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001fa NodeGUID:0002c900000001fa PortGUID:0002c900000001fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-250 MT23108 Infinihost-II Mellanox Technologies} LID:0151 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000001fd NodeGUID:0002c900000001fd PortGUID:0002c900000001fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-251 MT23108 Infinihost-II Mellanox Technologies} LID:0153 PN:01 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000200 NodeGUID:0002c90000000200 PortGUID:0002c90000000200 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-252 MT23108 Infinihost-II Mellanox Technologies} LID:0155 PN:01 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000203 NodeGUID:0002c90000000203 PortGUID:0002c90000000203 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-253 MT23108 Infinihost-II Mellanox Technologies} LID:0157 PN:01 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000206 NodeGUID:0002c90000000206 PortGUID:0002c90000000206 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-254 MT23108 Infinihost-II Mellanox Technologies} LID:0159 PN:01 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000209 NodeGUID:0002c90000000209 PortGUID:0002c90000000209 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-255 MT23108 Infinihost-II Mellanox Technologies} LID:015b PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000020c NodeGUID:0002c9000000020c PortGUID:0002c9000000020c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-256 MT23108 Infinihost-II Mellanox Technologies} LID:015d PN:01 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000020f NodeGUID:0002c9000000020f PortGUID:0002c9000000020f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-257 MT23108 Infinihost-II Mellanox Technologies} LID:015f PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000212 NodeGUID:0002c90000000212 PortGUID:0002c90000000212 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-258 MT23108 Infinihost-II Mellanox Technologies} LID:0161 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000215 NodeGUID:0002c90000000215 PortGUID:0002c90000000215 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-259 MT23108 Infinihost-II Mellanox Technologies} LID:0163 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000218 NodeGUID:0002c90000000218 PortGUID:0002c90000000218 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-26 MT23108 Infinihost-II Mellanox Technologies} LID:0165 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000021b NodeGUID:0002c9000000021b PortGUID:0002c9000000021b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-260 MT23108 Infinihost-II Mellanox Technologies} LID:0167 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000021e NodeGUID:0002c9000000021e PortGUID:0002c9000000021e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-261 MT23108 Infinihost-II Mellanox Technologies} LID:0169 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000221 NodeGUID:0002c90000000221 PortGUID:0002c90000000221 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-262 MT23108 Infinihost-II Mellanox Technologies} LID:016b PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000224 NodeGUID:0002c90000000224 PortGUID:0002c90000000224 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-263 MT23108 Infinihost-II Mellanox Technologies} LID:016d PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000227 NodeGUID:0002c90000000227 PortGUID:0002c90000000227 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-264 MT23108 Infinihost-II Mellanox Technologies} LID:016f PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000022a NodeGUID:0002c9000000022a PortGUID:0002c9000000022a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-265 MT23108 Infinihost-II Mellanox Technologies} LID:0171 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000022d NodeGUID:0002c9000000022d PortGUID:0002c9000000022d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-266 MT23108 Infinihost-II Mellanox Technologies} LID:0173 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000230 NodeGUID:0002c90000000230 PortGUID:0002c90000000230 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-267 MT23108 Infinihost-II Mellanox Technologies} LID:0175 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000233 NodeGUID:0002c90000000233 PortGUID:0002c90000000233 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-268 MT23108 Infinihost-II Mellanox Technologies} LID:0177 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000236 NodeGUID:0002c90000000236 PortGUID:0002c90000000236 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-269 MT23108 Infinihost-II Mellanox Technologies} LID:0179 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000239 NodeGUID:0002c90000000239 PortGUID:0002c90000000239 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-27 MT23108 Infinihost-II Mellanox Technologies} LID:017b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000023c NodeGUID:0002c9000000023c PortGUID:0002c9000000023c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-270 MT23108 Infinihost-II Mellanox Technologies} LID:017d PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000023f NodeGUID:0002c9000000023f PortGUID:0002c9000000023f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-271 MT23108 Infinihost-II Mellanox Technologies} LID:017f PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000242 NodeGUID:0002c90000000242 PortGUID:0002c90000000242 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-272 MT23108 Infinihost-II Mellanox Technologies} LID:0181 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000245 NodeGUID:0002c90000000245 PortGUID:0002c90000000245 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-273 MT23108 Infinihost-II Mellanox Technologies} LID:0183 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000248 NodeGUID:0002c90000000248 PortGUID:0002c90000000248 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-274 MT23108 Infinihost-II Mellanox Technologies} LID:0185 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000024b NodeGUID:0002c9000000024b PortGUID:0002c9000000024b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-275 MT23108 Infinihost-II Mellanox Technologies} LID:0187 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000024e NodeGUID:0002c9000000024e PortGUID:0002c9000000024e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-276 MT23108 Infinihost-II Mellanox Technologies} LID:0189 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000251 NodeGUID:0002c90000000251 PortGUID:0002c90000000251 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-277 MT23108 Infinihost-II Mellanox Technologies} LID:018b PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000254 NodeGUID:0002c90000000254 PortGUID:0002c90000000254 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-278 MT23108 Infinihost-II Mellanox Technologies} LID:018d PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000257 NodeGUID:0002c90000000257 PortGUID:0002c90000000257 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-279 MT23108 Infinihost-II Mellanox Technologies} LID:018f PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000025a NodeGUID:0002c9000000025a PortGUID:0002c9000000025a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-28 MT23108 Infinihost-II Mellanox Technologies} LID:0191 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000025d NodeGUID:0002c9000000025d PortGUID:0002c9000000025d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-280 MT23108 Infinihost-II Mellanox Technologies} LID:0193 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000260 NodeGUID:0002c90000000260 PortGUID:0002c90000000260 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-281 MT23108 Infinihost-II Mellanox Technologies} LID:0195 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000263 NodeGUID:0002c90000000263 PortGUID:0002c90000000263 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-282 MT23108 Infinihost-II Mellanox Technologies} LID:0197 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000266 NodeGUID:0002c90000000266 PortGUID:0002c90000000266 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-283 MT23108 Infinihost-II Mellanox Technologies} LID:0199 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000269 NodeGUID:0002c90000000269 PortGUID:0002c90000000269 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-284 MT23108 Infinihost-II Mellanox Technologies} LID:019b PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000026c NodeGUID:0002c9000000026c PortGUID:0002c9000000026c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-285 MT23108 Infinihost-II Mellanox Technologies} LID:019d PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000026f NodeGUID:0002c9000000026f PortGUID:0002c9000000026f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-286 MT23108 Infinihost-II Mellanox Technologies} LID:019f PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000272 NodeGUID:0002c90000000272 PortGUID:0002c90000000272 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-287 MT23108 Infinihost-II Mellanox Technologies} LID:01a1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000275 NodeGUID:0002c90000000275 PortGUID:0002c90000000275 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-288 MT23108 Infinihost-II Mellanox Technologies} LID:01a3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000278 NodeGUID:0002c90000000278 PortGUID:0002c90000000278 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-289 MT23108 Infinihost-II Mellanox Technologies} LID:01a5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000027b NodeGUID:0002c9000000027b PortGUID:0002c9000000027b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-29 MT23108 Infinihost-II Mellanox Technologies} LID:01a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000027e NodeGUID:0002c9000000027e PortGUID:0002c9000000027e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-290 MT23108 Infinihost-II Mellanox Technologies} LID:01a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000281 NodeGUID:0002c90000000281 PortGUID:0002c90000000281 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-291 MT23108 Infinihost-II Mellanox Technologies} LID:01ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000284 NodeGUID:0002c90000000284 PortGUID:0002c90000000284 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-292 MT23108 Infinihost-II Mellanox Technologies} LID:01ad PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000287 NodeGUID:0002c90000000287 PortGUID:0002c90000000287 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-293 MT23108 Infinihost-II Mellanox Technologies} LID:01af PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000028a NodeGUID:0002c9000000028a PortGUID:0002c9000000028a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-294 MT23108 Infinihost-II Mellanox Technologies} LID:01b1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000028d NodeGUID:0002c9000000028d PortGUID:0002c9000000028d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-295 MT23108 Infinihost-II Mellanox Technologies} LID:01b3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000290 NodeGUID:0002c90000000290 PortGUID:0002c90000000290 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-296 MT23108 Infinihost-II Mellanox Technologies} LID:01b5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000293 NodeGUID:0002c90000000293 PortGUID:0002c90000000293 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-297 MT23108 Infinihost-II Mellanox Technologies} LID:01b7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000296 NodeGUID:0002c90000000296 PortGUID:0002c90000000296 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-298 MT23108 Infinihost-II Mellanox Technologies} LID:01b9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000299 NodeGUID:0002c90000000299 PortGUID:0002c90000000299 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-299 MT23108 Infinihost-II Mellanox Technologies} LID:01bb PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000029c NodeGUID:0002c9000000029c PortGUID:0002c9000000029c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-3 MT23108 Infinihost-II Mellanox Technologies} LID:01bd PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000029f NodeGUID:0002c9000000029f PortGUID:0002c9000000029f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-30 MT23108 Infinihost-II Mellanox Technologies} LID:01bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a2 NodeGUID:0002c900000002a2 PortGUID:0002c900000002a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-300 MT23108 Infinihost-II Mellanox Technologies} LID:01c1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a5 NodeGUID:0002c900000002a5 PortGUID:0002c900000002a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-301 MT23108 Infinihost-II Mellanox Technologies} LID:01c3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002a8 NodeGUID:0002c900000002a8 PortGUID:0002c900000002a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-302 MT23108 Infinihost-II Mellanox Technologies} LID:01c5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ab NodeGUID:0002c900000002ab PortGUID:0002c900000002ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-303 MT23108 Infinihost-II Mellanox Technologies} LID:01c7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ae NodeGUID:0002c900000002ae PortGUID:0002c900000002ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-304 MT23108 Infinihost-II Mellanox Technologies} LID:01c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b1 NodeGUID:0002c900000002b1 PortGUID:0002c900000002b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-305 MT23108 Infinihost-II Mellanox Technologies} LID:01cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b4 NodeGUID:0002c900000002b4 PortGUID:0002c900000002b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-306 MT23108 Infinihost-II Mellanox Technologies} LID:01cd PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002b7 NodeGUID:0002c900000002b7 PortGUID:0002c900000002b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-307 MT23108 Infinihost-II Mellanox Technologies} LID:01cf PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ba NodeGUID:0002c900000002ba PortGUID:0002c900000002ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-308 MT23108 Infinihost-II Mellanox Technologies} LID:01d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002bd NodeGUID:0002c900000002bd PortGUID:0002c900000002bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-309 MT23108 Infinihost-II Mellanox Technologies} LID:01d3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c0 NodeGUID:0002c900000002c0 PortGUID:0002c900000002c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-31 MT23108 Infinihost-II Mellanox Technologies} LID:01d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c3 NodeGUID:0002c900000002c3 PortGUID:0002c900000002c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-310 MT23108 Infinihost-II Mellanox Technologies} LID:01d7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c6 NodeGUID:0002c900000002c6 PortGUID:0002c900000002c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-311 MT23108 Infinihost-II Mellanox Technologies} LID:01d9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002c9 NodeGUID:0002c900000002c9 PortGUID:0002c900000002c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-312 MT23108 Infinihost-II Mellanox Technologies} LID:01db PN:01 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002cc NodeGUID:0002c900000002cc PortGUID:0002c900000002cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-313 MT23108 Infinihost-II Mellanox Technologies} LID:01dd PN:01 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002cf NodeGUID:0002c900000002cf PortGUID:0002c900000002cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-314 MT23108 Infinihost-II Mellanox Technologies} LID:01df PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d2 NodeGUID:0002c900000002d2 PortGUID:0002c900000002d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-315 MT23108 Infinihost-II Mellanox Technologies} LID:01e1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d5 NodeGUID:0002c900000002d5 PortGUID:0002c900000002d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-316 MT23108 Infinihost-II Mellanox Technologies} LID:01e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002d8 NodeGUID:0002c900000002d8 PortGUID:0002c900000002d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-317 MT23108 Infinihost-II Mellanox Technologies} LID:01e5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002db NodeGUID:0002c900000002db PortGUID:0002c900000002db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-318 MT23108 Infinihost-II Mellanox Technologies} LID:01e7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002de NodeGUID:0002c900000002de PortGUID:0002c900000002de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-319 MT23108 Infinihost-II Mellanox Technologies} LID:01e9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e1 NodeGUID:0002c900000002e1 PortGUID:0002c900000002e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-32 MT23108 Infinihost-II Mellanox Technologies} LID:01eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e4 NodeGUID:0002c900000002e4 PortGUID:0002c900000002e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-320 MT23108 Infinihost-II Mellanox Technologies} LID:01ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002e7 NodeGUID:0002c900000002e7 PortGUID:0002c900000002e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-321 MT23108 Infinihost-II Mellanox Technologies} LID:01ef PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ea NodeGUID:0002c900000002ea PortGUID:0002c900000002ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-322 MT23108 Infinihost-II Mellanox Technologies} LID:01f1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ed NodeGUID:0002c900000002ed PortGUID:0002c900000002ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-323 MT23108 Infinihost-II Mellanox Technologies} LID:01f3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f0 NodeGUID:0002c900000002f0 PortGUID:0002c900000002f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-324 MT23108 Infinihost-II Mellanox Technologies} LID:01f5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f3 NodeGUID:0002c900000002f3 PortGUID:0002c900000002f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-325 MT23108 Infinihost-II Mellanox Technologies} LID:01f7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f6 NodeGUID:0002c900000002f6 PortGUID:0002c900000002f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-326 MT23108 Infinihost-II Mellanox Technologies} LID:01f9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002f9 NodeGUID:0002c900000002f9 PortGUID:0002c900000002f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-327 MT23108 Infinihost-II Mellanox Technologies} LID:01fb PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002fc NodeGUID:0002c900000002fc PortGUID:0002c900000002fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-328 MT23108 Infinihost-II Mellanox Technologies} LID:01fd PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000002ff NodeGUID:0002c900000002ff PortGUID:0002c900000002ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-329 MT23108 Infinihost-II Mellanox Technologies} LID:01ff PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000302 NodeGUID:0002c90000000302 PortGUID:0002c90000000302 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-33 MT23108 Infinihost-II Mellanox Technologies} LID:0201 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000305 NodeGUID:0002c90000000305 PortGUID:0002c90000000305 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-330 MT23108 Infinihost-II Mellanox Technologies} LID:0203 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000308 NodeGUID:0002c90000000308 PortGUID:0002c90000000308 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-331 MT23108 Infinihost-II Mellanox Technologies} LID:0205 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000030b NodeGUID:0002c9000000030b PortGUID:0002c9000000030b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-332 MT23108 Infinihost-II Mellanox Technologies} LID:0207 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000030e NodeGUID:0002c9000000030e PortGUID:0002c9000000030e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-333 MT23108 Infinihost-II Mellanox Technologies} LID:0209 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000311 NodeGUID:0002c90000000311 PortGUID:0002c90000000311 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-334 MT23108 Infinihost-II Mellanox Technologies} LID:020b PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000314 NodeGUID:0002c90000000314 PortGUID:0002c90000000314 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-335 MT23108 Infinihost-II Mellanox Technologies} LID:020d PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000317 NodeGUID:0002c90000000317 PortGUID:0002c90000000317 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-336 MT23108 Infinihost-II Mellanox Technologies} LID:020f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000031a NodeGUID:0002c9000000031a PortGUID:0002c9000000031a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-337 MT23108 Infinihost-II Mellanox Technologies} LID:0211 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000031d NodeGUID:0002c9000000031d PortGUID:0002c9000000031d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-338 MT23108 Infinihost-II Mellanox Technologies} LID:0213 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000320 NodeGUID:0002c90000000320 PortGUID:0002c90000000320 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-339 MT23108 Infinihost-II Mellanox Technologies} LID:0215 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000323 NodeGUID:0002c90000000323 PortGUID:0002c90000000323 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-34 MT23108 Infinihost-II Mellanox Technologies} LID:0217 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000326 NodeGUID:0002c90000000326 PortGUID:0002c90000000326 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-340 MT23108 Infinihost-II Mellanox Technologies} LID:0219 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000329 NodeGUID:0002c90000000329 PortGUID:0002c90000000329 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-341 MT23108 Infinihost-II Mellanox Technologies} LID:021b PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000032c NodeGUID:0002c9000000032c PortGUID:0002c9000000032c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-342 MT23108 Infinihost-II Mellanox Technologies} LID:021d PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000032f NodeGUID:0002c9000000032f PortGUID:0002c9000000032f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-343 MT23108 Infinihost-II Mellanox Technologies} LID:021f PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000332 NodeGUID:0002c90000000332 PortGUID:0002c90000000332 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-344 MT23108 Infinihost-II Mellanox Technologies} LID:0221 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000335 NodeGUID:0002c90000000335 PortGUID:0002c90000000335 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-345 MT23108 Infinihost-II Mellanox Technologies} LID:0223 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000338 NodeGUID:0002c90000000338 PortGUID:0002c90000000338 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-346 MT23108 Infinihost-II Mellanox Technologies} LID:0225 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000033b NodeGUID:0002c9000000033b PortGUID:0002c9000000033b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-347 MT23108 Infinihost-II Mellanox Technologies} LID:0227 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000033e NodeGUID:0002c9000000033e PortGUID:0002c9000000033e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-348 MT23108 Infinihost-II Mellanox Technologies} LID:0229 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000341 NodeGUID:0002c90000000341 PortGUID:0002c90000000341 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-349 MT23108 Infinihost-II Mellanox Technologies} LID:022b PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000344 NodeGUID:0002c90000000344 PortGUID:0002c90000000344 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-35 MT23108 Infinihost-II Mellanox Technologies} LID:022d PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000347 NodeGUID:0002c90000000347 PortGUID:0002c90000000347 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-350 MT23108 Infinihost-II Mellanox Technologies} LID:022f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000034a NodeGUID:0002c9000000034a PortGUID:0002c9000000034a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-351 MT23108 Infinihost-II Mellanox Technologies} LID:0231 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000034d NodeGUID:0002c9000000034d PortGUID:0002c9000000034d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-352 MT23108 Infinihost-II Mellanox Technologies} LID:0233 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000350 NodeGUID:0002c90000000350 PortGUID:0002c90000000350 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-353 MT23108 Infinihost-II Mellanox Technologies} LID:0235 PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000353 NodeGUID:0002c90000000353 PortGUID:0002c90000000353 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-354 MT23108 Infinihost-II Mellanox Technologies} LID:0237 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000356 NodeGUID:0002c90000000356 PortGUID:0002c90000000356 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-355 MT23108 Infinihost-II Mellanox Technologies} LID:0239 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000359 NodeGUID:0002c90000000359 PortGUID:0002c90000000359 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-356 MT23108 Infinihost-II Mellanox Technologies} LID:023b PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000035c NodeGUID:0002c9000000035c PortGUID:0002c9000000035c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-357 MT23108 Infinihost-II Mellanox Technologies} LID:023d PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000035f NodeGUID:0002c9000000035f PortGUID:0002c9000000035f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-358 MT23108 Infinihost-II Mellanox Technologies} LID:023f PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000362 NodeGUID:0002c90000000362 PortGUID:0002c90000000362 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-359 MT23108 Infinihost-II Mellanox Technologies} LID:0241 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000365 NodeGUID:0002c90000000365 PortGUID:0002c90000000365 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-36 MT23108 Infinihost-II Mellanox Technologies} LID:0243 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000368 NodeGUID:0002c90000000368 PortGUID:0002c90000000368 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-360 MT23108 Infinihost-II Mellanox Technologies} LID:0245 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000036b NodeGUID:0002c9000000036b PortGUID:0002c9000000036b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-361 MT23108 Infinihost-II Mellanox Technologies} LID:0247 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000036e NodeGUID:0002c9000000036e PortGUID:0002c9000000036e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-362 MT23108 Infinihost-II Mellanox Technologies} LID:0249 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000371 NodeGUID:0002c90000000371 PortGUID:0002c90000000371 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-363 MT23108 Infinihost-II Mellanox Technologies} LID:024b PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000374 NodeGUID:0002c90000000374 PortGUID:0002c90000000374 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-364 MT23108 Infinihost-II Mellanox Technologies} LID:024d PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000377 NodeGUID:0002c90000000377 PortGUID:0002c90000000377 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-365 MT23108 Infinihost-II Mellanox Technologies} LID:024f PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000037a NodeGUID:0002c9000000037a PortGUID:0002c9000000037a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-366 MT23108 Infinihost-II Mellanox Technologies} LID:0251 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000037d NodeGUID:0002c9000000037d PortGUID:0002c9000000037d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-367 MT23108 Infinihost-II Mellanox Technologies} LID:0253 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000380 NodeGUID:0002c90000000380 PortGUID:0002c90000000380 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-368 MT23108 Infinihost-II Mellanox Technologies} LID:0255 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000383 NodeGUID:0002c90000000383 PortGUID:0002c90000000383 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-369 MT23108 Infinihost-II Mellanox Technologies} LID:0257 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000386 NodeGUID:0002c90000000386 PortGUID:0002c90000000386 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-37 MT23108 Infinihost-II Mellanox Technologies} LID:0259 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000389 NodeGUID:0002c90000000389 PortGUID:0002c90000000389 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-370 MT23108 Infinihost-II Mellanox Technologies} LID:025b PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000038c NodeGUID:0002c9000000038c PortGUID:0002c9000000038c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-371 MT23108 Infinihost-II Mellanox Technologies} LID:025d PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000038f NodeGUID:0002c9000000038f PortGUID:0002c9000000038f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-372 MT23108 Infinihost-II Mellanox Technologies} LID:025f PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000392 NodeGUID:0002c90000000392 PortGUID:0002c90000000392 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-373 MT23108 Infinihost-II Mellanox Technologies} LID:0261 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000395 NodeGUID:0002c90000000395 PortGUID:0002c90000000395 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-374 MT23108 Infinihost-II Mellanox Technologies} LID:0263 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000398 NodeGUID:0002c90000000398 PortGUID:0002c90000000398 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-375 MT23108 Infinihost-II Mellanox Technologies} LID:0265 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000039b NodeGUID:0002c9000000039b PortGUID:0002c9000000039b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-376 MT23108 Infinihost-II Mellanox Technologies} LID:0267 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000039e NodeGUID:0002c9000000039e PortGUID:0002c9000000039e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-377 MT23108 Infinihost-II Mellanox Technologies} LID:0269 PN:01 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a1 NodeGUID:0002c900000003a1 PortGUID:0002c900000003a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-378 MT23108 Infinihost-II Mellanox Technologies} LID:026b PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a4 NodeGUID:0002c900000003a4 PortGUID:0002c900000003a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-379 MT23108 Infinihost-II Mellanox Technologies} LID:026d PN:01 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003a7 NodeGUID:0002c900000003a7 PortGUID:0002c900000003a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-38 MT23108 Infinihost-II Mellanox Technologies} LID:026f PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003aa NodeGUID:0002c900000003aa PortGUID:0002c900000003aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-380 MT23108 Infinihost-II Mellanox Technologies} LID:0271 PN:01 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ad NodeGUID:0002c900000003ad PortGUID:0002c900000003ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-381 MT23108 Infinihost-II Mellanox Technologies} LID:0273 PN:01 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b0 NodeGUID:0002c900000003b0 PortGUID:0002c900000003b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-382 MT23108 Infinihost-II Mellanox Technologies} LID:0275 PN:01 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b3 NodeGUID:0002c900000003b3 PortGUID:0002c900000003b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-383 MT23108 Infinihost-II Mellanox Technologies} LID:0277 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b6 NodeGUID:0002c900000003b6 PortGUID:0002c900000003b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-384 MT23108 Infinihost-II Mellanox Technologies} LID:0279 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003b9 NodeGUID:0002c900000003b9 PortGUID:0002c900000003b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-385 MT23108 Infinihost-II Mellanox Technologies} LID:027b PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003bc NodeGUID:0002c900000003bc PortGUID:0002c900000003bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-386 MT23108 Infinihost-II Mellanox Technologies} LID:027d PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003bf NodeGUID:0002c900000003bf PortGUID:0002c900000003bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-387 MT23108 Infinihost-II Mellanox Technologies} LID:027f PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c2 NodeGUID:0002c900000003c2 PortGUID:0002c900000003c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-388 MT23108 Infinihost-II Mellanox Technologies} LID:0281 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c5 NodeGUID:0002c900000003c5 PortGUID:0002c900000003c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-389 MT23108 Infinihost-II Mellanox Technologies} LID:0283 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003c8 NodeGUID:0002c900000003c8 PortGUID:0002c900000003c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-39 MT23108 Infinihost-II Mellanox Technologies} LID:0285 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003cb NodeGUID:0002c900000003cb PortGUID:0002c900000003cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-390 MT23108 Infinihost-II Mellanox Technologies} LID:0287 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ce NodeGUID:0002c900000003ce PortGUID:0002c900000003ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-391 MT23108 Infinihost-II Mellanox Technologies} LID:0289 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d1 NodeGUID:0002c900000003d1 PortGUID:0002c900000003d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-392 MT23108 Infinihost-II Mellanox Technologies} LID:028b PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d4 NodeGUID:0002c900000003d4 PortGUID:0002c900000003d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-393 MT23108 Infinihost-II Mellanox Technologies} LID:028d PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003d7 NodeGUID:0002c900000003d7 PortGUID:0002c900000003d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-394 MT23108 Infinihost-II Mellanox Technologies} LID:028f PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003da NodeGUID:0002c900000003da PortGUID:0002c900000003da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-395 MT23108 Infinihost-II Mellanox Technologies} LID:0291 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003dd NodeGUID:0002c900000003dd PortGUID:0002c900000003dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-396 MT23108 Infinihost-II Mellanox Technologies} LID:0293 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e0 NodeGUID:0002c900000003e0 PortGUID:0002c900000003e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-397 MT23108 Infinihost-II Mellanox Technologies} LID:0295 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e3 NodeGUID:0002c900000003e3 PortGUID:0002c900000003e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-398 MT23108 Infinihost-II Mellanox Technologies} LID:0297 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e6 NodeGUID:0002c900000003e6 PortGUID:0002c900000003e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-399 MT23108 Infinihost-II Mellanox Technologies} LID:0299 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003e9 NodeGUID:0002c900000003e9 PortGUID:0002c900000003e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-4 MT23108 Infinihost-II Mellanox Technologies} LID:029b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ec NodeGUID:0002c900000003ec PortGUID:0002c900000003ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-40 MT23108 Infinihost-II Mellanox Technologies} LID:029d PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003ef NodeGUID:0002c900000003ef PortGUID:0002c900000003ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-400 MT23108 Infinihost-II Mellanox Technologies} LID:029f PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f2 NodeGUID:0002c900000003f2 PortGUID:0002c900000003f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-401 MT23108 Infinihost-II Mellanox Technologies} LID:02a1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f5 NodeGUID:0002c900000003f5 PortGUID:0002c900000003f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-402 MT23108 Infinihost-II Mellanox Technologies} LID:02a3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003f8 NodeGUID:0002c900000003f8 PortGUID:0002c900000003f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-403 MT23108 Infinihost-II Mellanox Technologies} LID:02a5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003fb NodeGUID:0002c900000003fb PortGUID:0002c900000003fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-404 MT23108 Infinihost-II Mellanox Technologies} LID:02a7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000003fe NodeGUID:0002c900000003fe PortGUID:0002c900000003fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-405 MT23108 Infinihost-II Mellanox Technologies} LID:02a9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000401 NodeGUID:0002c90000000401 PortGUID:0002c90000000401 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-406 MT23108 Infinihost-II Mellanox Technologies} LID:02ab PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000404 NodeGUID:0002c90000000404 PortGUID:0002c90000000404 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-407 MT23108 Infinihost-II Mellanox Technologies} LID:02ad PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000407 NodeGUID:0002c90000000407 PortGUID:0002c90000000407 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-408 MT23108 Infinihost-II Mellanox Technologies} LID:02af PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000040a NodeGUID:0002c9000000040a PortGUID:0002c9000000040a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-409 MT23108 Infinihost-II Mellanox Technologies} LID:02b1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000040d NodeGUID:0002c9000000040d PortGUID:0002c9000000040d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-41 MT23108 Infinihost-II Mellanox Technologies} LID:02b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000410 NodeGUID:0002c90000000410 PortGUID:0002c90000000410 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-410 MT23108 Infinihost-II Mellanox Technologies} LID:02b5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000413 NodeGUID:0002c90000000413 PortGUID:0002c90000000413 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-411 MT23108 Infinihost-II Mellanox Technologies} LID:02b7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000416 NodeGUID:0002c90000000416 PortGUID:0002c90000000416 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-412 MT23108 Infinihost-II Mellanox Technologies} LID:02b9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000419 NodeGUID:0002c90000000419 PortGUID:0002c90000000419 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-413 MT23108 Infinihost-II Mellanox Technologies} LID:02bb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000041c NodeGUID:0002c9000000041c PortGUID:0002c9000000041c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-414 MT23108 Infinihost-II Mellanox Technologies} LID:02bd PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000041f NodeGUID:0002c9000000041f PortGUID:0002c9000000041f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-415 MT23108 Infinihost-II Mellanox Technologies} LID:02bf PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000422 NodeGUID:0002c90000000422 PortGUID:0002c90000000422 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-416 MT23108 Infinihost-II Mellanox Technologies} LID:02c1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000425 NodeGUID:0002c90000000425 PortGUID:0002c90000000425 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-417 MT23108 Infinihost-II Mellanox Technologies} LID:02c3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000428 NodeGUID:0002c90000000428 PortGUID:0002c90000000428 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-418 MT23108 Infinihost-II Mellanox Technologies} LID:02c5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000042b NodeGUID:0002c9000000042b PortGUID:0002c9000000042b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-419 MT23108 Infinihost-II Mellanox Technologies} LID:02c7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000042e NodeGUID:0002c9000000042e PortGUID:0002c9000000042e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-42 MT23108 Infinihost-II Mellanox Technologies} LID:02c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000431 NodeGUID:0002c90000000431 PortGUID:0002c90000000431 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-420 MT23108 Infinihost-II Mellanox Technologies} LID:02cb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000434 NodeGUID:0002c90000000434 PortGUID:0002c90000000434 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-421 MT23108 Infinihost-II Mellanox Technologies} LID:02cd PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000437 NodeGUID:0002c90000000437 PortGUID:0002c90000000437 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-422 MT23108 Infinihost-II Mellanox Technologies} LID:02cf PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000043a NodeGUID:0002c9000000043a PortGUID:0002c9000000043a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-423 MT23108 Infinihost-II Mellanox Technologies} LID:02d1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000043d NodeGUID:0002c9000000043d PortGUID:0002c9000000043d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-424 MT23108 Infinihost-II Mellanox Technologies} LID:02d3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000440 NodeGUID:0002c90000000440 PortGUID:0002c90000000440 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-425 MT23108 Infinihost-II Mellanox Technologies} LID:02d5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000443 NodeGUID:0002c90000000443 PortGUID:0002c90000000443 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-426 MT23108 Infinihost-II Mellanox Technologies} LID:02d7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000446 NodeGUID:0002c90000000446 PortGUID:0002c90000000446 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-427 MT23108 Infinihost-II Mellanox Technologies} LID:02d9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000449 NodeGUID:0002c90000000449 PortGUID:0002c90000000449 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-428 MT23108 Infinihost-II Mellanox Technologies} LID:02db PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000044c NodeGUID:0002c9000000044c PortGUID:0002c9000000044c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-429 MT23108 Infinihost-II Mellanox Technologies} LID:02dd PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000044f NodeGUID:0002c9000000044f PortGUID:0002c9000000044f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-43 MT23108 Infinihost-II Mellanox Technologies} LID:02df PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000452 NodeGUID:0002c90000000452 PortGUID:0002c90000000452 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-430 MT23108 Infinihost-II Mellanox Technologies} LID:02e1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000455 NodeGUID:0002c90000000455 PortGUID:0002c90000000455 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-431 MT23108 Infinihost-II Mellanox Technologies} LID:02e3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000458 NodeGUID:0002c90000000458 PortGUID:0002c90000000458 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-432 MT23108 Infinihost-II Mellanox Technologies} LID:02e5 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000045b NodeGUID:0002c9000000045b PortGUID:0002c9000000045b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-433 MT23108 Infinihost-II Mellanox Technologies} LID:02e7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000045e NodeGUID:0002c9000000045e PortGUID:0002c9000000045e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-434 MT23108 Infinihost-II Mellanox Technologies} LID:02e9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000461 NodeGUID:0002c90000000461 PortGUID:0002c90000000461 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-435 MT23108 Infinihost-II Mellanox Technologies} LID:02eb PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000464 NodeGUID:0002c90000000464 PortGUID:0002c90000000464 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-436 MT23108 Infinihost-II Mellanox Technologies} LID:02ed PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000467 NodeGUID:0002c90000000467 PortGUID:0002c90000000467 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-437 MT23108 Infinihost-II Mellanox Technologies} LID:02ef PN:01 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000046a NodeGUID:0002c9000000046a PortGUID:0002c9000000046a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-438 MT23108 Infinihost-II Mellanox Technologies} LID:02f1 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000046d NodeGUID:0002c9000000046d PortGUID:0002c9000000046d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-439 MT23108 Infinihost-II Mellanox Technologies} LID:02f3 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000470 NodeGUID:0002c90000000470 PortGUID:0002c90000000470 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-44 MT23108 Infinihost-II Mellanox Technologies} LID:02f5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000473 NodeGUID:0002c90000000473 PortGUID:0002c90000000473 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-440 MT23108 Infinihost-II Mellanox Technologies} LID:02f7 PN:01 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000476 NodeGUID:0002c90000000476 PortGUID:0002c90000000476 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-441 MT23108 Infinihost-II Mellanox Technologies} LID:02f9 PN:01 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000479 NodeGUID:0002c90000000479 PortGUID:0002c90000000479 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-442 MT23108 Infinihost-II Mellanox Technologies} LID:02fb PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000047c NodeGUID:0002c9000000047c PortGUID:0002c9000000047c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-443 MT23108 Infinihost-II Mellanox Technologies} LID:02fd PN:01 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000047f NodeGUID:0002c9000000047f PortGUID:0002c9000000047f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-444 MT23108 Infinihost-II Mellanox Technologies} LID:02ff PN:01 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000482 NodeGUID:0002c90000000482 PortGUID:0002c90000000482 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-445 MT23108 Infinihost-II Mellanox Technologies} LID:0301 PN:01 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000485 NodeGUID:0002c90000000485 PortGUID:0002c90000000485 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-446 MT23108 Infinihost-II Mellanox Technologies} LID:0303 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000488 NodeGUID:0002c90000000488 PortGUID:0002c90000000488 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-447 MT23108 Infinihost-II Mellanox Technologies} LID:0305 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000048b NodeGUID:0002c9000000048b PortGUID:0002c9000000048b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-448 MT23108 Infinihost-II Mellanox Technologies} LID:0307 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000048e NodeGUID:0002c9000000048e PortGUID:0002c9000000048e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-449 MT23108 Infinihost-II Mellanox Technologies} LID:0309 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000491 NodeGUID:0002c90000000491 PortGUID:0002c90000000491 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-45 MT23108 Infinihost-II Mellanox Technologies} LID:030b PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000494 NodeGUID:0002c90000000494 PortGUID:0002c90000000494 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-450 MT23108 Infinihost-II Mellanox Technologies} LID:030d PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000497 NodeGUID:0002c90000000497 PortGUID:0002c90000000497 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-451 MT23108 Infinihost-II Mellanox Technologies} LID:030f PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000049a NodeGUID:0002c9000000049a PortGUID:0002c9000000049a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-452 MT23108 Infinihost-II Mellanox Technologies} LID:0311 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000049d NodeGUID:0002c9000000049d PortGUID:0002c9000000049d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-453 MT23108 Infinihost-II Mellanox Technologies} LID:0313 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a0 NodeGUID:0002c900000004a0 PortGUID:0002c900000004a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-454 MT23108 Infinihost-II Mellanox Technologies} LID:0315 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a3 NodeGUID:0002c900000004a3 PortGUID:0002c900000004a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-455 MT23108 Infinihost-II Mellanox Technologies} LID:0317 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a6 NodeGUID:0002c900000004a6 PortGUID:0002c900000004a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-456 MT23108 Infinihost-II Mellanox Technologies} LID:0319 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004a9 NodeGUID:0002c900000004a9 PortGUID:0002c900000004a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-457 MT23108 Infinihost-II Mellanox Technologies} LID:031b PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ac NodeGUID:0002c900000004ac PortGUID:0002c900000004ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-458 MT23108 Infinihost-II Mellanox Technologies} LID:031d PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004af NodeGUID:0002c900000004af PortGUID:0002c900000004af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-459 MT23108 Infinihost-II Mellanox Technologies} LID:031f PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b2 NodeGUID:0002c900000004b2 PortGUID:0002c900000004b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-46 MT23108 Infinihost-II Mellanox Technologies} LID:0321 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b5 NodeGUID:0002c900000004b5 PortGUID:0002c900000004b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-460 MT23108 Infinihost-II Mellanox Technologies} LID:0323 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004b8 NodeGUID:0002c900000004b8 PortGUID:0002c900000004b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-461 MT23108 Infinihost-II Mellanox Technologies} LID:0325 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004bb NodeGUID:0002c900000004bb PortGUID:0002c900000004bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-462 MT23108 Infinihost-II Mellanox Technologies} LID:0327 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004be NodeGUID:0002c900000004be PortGUID:0002c900000004be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-463 MT23108 Infinihost-II Mellanox Technologies} LID:0329 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c1 NodeGUID:0002c900000004c1 PortGUID:0002c900000004c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-464 MT23108 Infinihost-II Mellanox Technologies} LID:032b PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c4 NodeGUID:0002c900000004c4 PortGUID:0002c900000004c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-465 MT23108 Infinihost-II Mellanox Technologies} LID:032d PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004c7 NodeGUID:0002c900000004c7 PortGUID:0002c900000004c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-466 MT23108 Infinihost-II Mellanox Technologies} LID:032f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ca NodeGUID:0002c900000004ca PortGUID:0002c900000004ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-467 MT23108 Infinihost-II Mellanox Technologies} LID:0331 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004cd NodeGUID:0002c900000004cd PortGUID:0002c900000004cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-468 MT23108 Infinihost-II Mellanox Technologies} LID:0333 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d0 NodeGUID:0002c900000004d0 PortGUID:0002c900000004d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-469 MT23108 Infinihost-II Mellanox Technologies} LID:0335 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d3 NodeGUID:0002c900000004d3 PortGUID:0002c900000004d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-47 MT23108 Infinihost-II Mellanox Technologies} LID:0337 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d6 NodeGUID:0002c900000004d6 PortGUID:0002c900000004d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-470 MT23108 Infinihost-II Mellanox Technologies} LID:0339 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004d9 NodeGUID:0002c900000004d9 PortGUID:0002c900000004d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-471 MT23108 Infinihost-II Mellanox Technologies} LID:033b PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004dc NodeGUID:0002c900000004dc PortGUID:0002c900000004dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-472 MT23108 Infinihost-II Mellanox Technologies} LID:033d PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004df NodeGUID:0002c900000004df PortGUID:0002c900000004df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-473 MT23108 Infinihost-II Mellanox Technologies} LID:033f PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e2 NodeGUID:0002c900000004e2 PortGUID:0002c900000004e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-474 MT23108 Infinihost-II Mellanox Technologies} LID:0341 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e5 NodeGUID:0002c900000004e5 PortGUID:0002c900000004e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-475 MT23108 Infinihost-II Mellanox Technologies} LID:0343 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004e8 NodeGUID:0002c900000004e8 PortGUID:0002c900000004e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-476 MT23108 Infinihost-II Mellanox Technologies} LID:0345 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004eb NodeGUID:0002c900000004eb PortGUID:0002c900000004eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-477 MT23108 Infinihost-II Mellanox Technologies} LID:0347 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004ee NodeGUID:0002c900000004ee PortGUID:0002c900000004ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-478 MT23108 Infinihost-II Mellanox Technologies} LID:0349 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f1 NodeGUID:0002c900000004f1 PortGUID:0002c900000004f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-479 MT23108 Infinihost-II Mellanox Technologies} LID:034b PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f4 NodeGUID:0002c900000004f4 PortGUID:0002c900000004f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-48 MT23108 Infinihost-II Mellanox Technologies} LID:034d PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004f7 NodeGUID:0002c900000004f7 PortGUID:0002c900000004f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-480 MT23108 Infinihost-II Mellanox Technologies} LID:034f PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004fa NodeGUID:0002c900000004fa PortGUID:0002c900000004fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-481 MT23108 Infinihost-II Mellanox Technologies} LID:0351 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000004fd NodeGUID:0002c900000004fd PortGUID:0002c900000004fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-482 MT23108 Infinihost-II Mellanox Technologies} LID:0353 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000500 NodeGUID:0002c90000000500 PortGUID:0002c90000000500 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-483 MT23108 Infinihost-II Mellanox Technologies} LID:0355 PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000503 NodeGUID:0002c90000000503 PortGUID:0002c90000000503 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-484 MT23108 Infinihost-II Mellanox Technologies} LID:0357 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000506 NodeGUID:0002c90000000506 PortGUID:0002c90000000506 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-485 MT23108 Infinihost-II Mellanox Technologies} LID:0359 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000509 NodeGUID:0002c90000000509 PortGUID:0002c90000000509 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-486 MT23108 Infinihost-II Mellanox Technologies} LID:035b PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000050c NodeGUID:0002c9000000050c PortGUID:0002c9000000050c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-487 MT23108 Infinihost-II Mellanox Technologies} LID:035d PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000050f NodeGUID:0002c9000000050f PortGUID:0002c9000000050f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-488 MT23108 Infinihost-II Mellanox Technologies} LID:035f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000512 NodeGUID:0002c90000000512 PortGUID:0002c90000000512 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-489 MT23108 Infinihost-II Mellanox Technologies} LID:0361 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000515 NodeGUID:0002c90000000515 PortGUID:0002c90000000515 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-49 MT23108 Infinihost-II Mellanox Technologies} LID:0363 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000518 NodeGUID:0002c90000000518 PortGUID:0002c90000000518 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-490 MT23108 Infinihost-II Mellanox Technologies} LID:0365 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000051b NodeGUID:0002c9000000051b PortGUID:0002c9000000051b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-491 MT23108 Infinihost-II Mellanox Technologies} LID:0367 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000051e NodeGUID:0002c9000000051e PortGUID:0002c9000000051e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-492 MT23108 Infinihost-II Mellanox Technologies} LID:0369 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000521 NodeGUID:0002c90000000521 PortGUID:0002c90000000521 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-493 MT23108 Infinihost-II Mellanox Technologies} LID:036b PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000524 NodeGUID:0002c90000000524 PortGUID:0002c90000000524 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-494 MT23108 Infinihost-II Mellanox Technologies} LID:036d PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000527 NodeGUID:0002c90000000527 PortGUID:0002c90000000527 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-495 MT23108 Infinihost-II Mellanox Technologies} LID:036f PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000052a NodeGUID:0002c9000000052a PortGUID:0002c9000000052a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-496 MT23108 Infinihost-II Mellanox Technologies} LID:0371 PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000052d NodeGUID:0002c9000000052d PortGUID:0002c9000000052d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-497 MT23108 Infinihost-II Mellanox Technologies} LID:0373 PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000530 NodeGUID:0002c90000000530 PortGUID:0002c90000000530 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-498 MT23108 Infinihost-II Mellanox Technologies} LID:0375 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000533 NodeGUID:0002c90000000533 PortGUID:0002c90000000533 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-499 MT23108 Infinihost-II Mellanox Technologies} LID:0377 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000536 NodeGUID:0002c90000000536 PortGUID:0002c90000000536 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-5 MT23108 Infinihost-II Mellanox Technologies} LID:0379 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000539 NodeGUID:0002c90000000539 PortGUID:0002c90000000539 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-50 MT23108 Infinihost-II Mellanox Technologies} LID:037b PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000053c NodeGUID:0002c9000000053c PortGUID:0002c9000000053c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-500 MT23108 Infinihost-II Mellanox Technologies} LID:037d PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000053f NodeGUID:0002c9000000053f PortGUID:0002c9000000053f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-501 MT23108 Infinihost-II Mellanox Technologies} LID:037f PN:01 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000542 NodeGUID:0002c90000000542 PortGUID:0002c90000000542 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-502 MT23108 Infinihost-II Mellanox Technologies} LID:0381 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000545 NodeGUID:0002c90000000545 PortGUID:0002c90000000545 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-503 MT23108 Infinihost-II Mellanox Technologies} LID:0383 PN:01 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000548 NodeGUID:0002c90000000548 PortGUID:0002c90000000548 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-504 MT23108 Infinihost-II Mellanox Technologies} LID:0385 PN:01 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000054b NodeGUID:0002c9000000054b PortGUID:0002c9000000054b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-505 MT23108 Infinihost-II Mellanox Technologies} LID:0387 PN:01 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000054e NodeGUID:0002c9000000054e PortGUID:0002c9000000054e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-506 MT23108 Infinihost-II Mellanox Technologies} LID:0389 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000551 NodeGUID:0002c90000000551 PortGUID:0002c90000000551 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-507 MT23108 Infinihost-II Mellanox Technologies} LID:038b PN:01 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000554 NodeGUID:0002c90000000554 PortGUID:0002c90000000554 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-508 MT23108 Infinihost-II Mellanox Technologies} LID:038d PN:01 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000557 NodeGUID:0002c90000000557 PortGUID:0002c90000000557 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-509 MT23108 Infinihost-II Mellanox Technologies} LID:038f PN:01 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000055a NodeGUID:0002c9000000055a PortGUID:0002c9000000055a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-51 MT23108 Infinihost-II Mellanox Technologies} LID:0391 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000055d NodeGUID:0002c9000000055d PortGUID:0002c9000000055d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-510 MT23108 Infinihost-II Mellanox Technologies} LID:0393 PN:01 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000560 NodeGUID:0002c90000000560 PortGUID:0002c90000000560 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-511 MT23108 Infinihost-II Mellanox Technologies} LID:0395 PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000563 NodeGUID:0002c90000000563 PortGUID:0002c90000000563 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-512 MT23108 Infinihost-II Mellanox Technologies} LID:0397 PN:01 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000566 NodeGUID:0002c90000000566 PortGUID:0002c90000000566 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-52 MT23108 Infinihost-II Mellanox Technologies} LID:0399 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000569 NodeGUID:0002c90000000569 PortGUID:0002c90000000569 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-53 MT23108 Infinihost-II Mellanox Technologies} LID:039b PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000056c NodeGUID:0002c9000000056c PortGUID:0002c9000000056c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-54 MT23108 Infinihost-II Mellanox Technologies} LID:039d PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000056f NodeGUID:0002c9000000056f PortGUID:0002c9000000056f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-55 MT23108 Infinihost-II Mellanox Technologies} LID:039f PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000572 NodeGUID:0002c90000000572 PortGUID:0002c90000000572 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-56 MT23108 Infinihost-II Mellanox Technologies} LID:03a1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000575 NodeGUID:0002c90000000575 PortGUID:0002c90000000575 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-57 MT23108 Infinihost-II Mellanox Technologies} LID:03a3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000578 NodeGUID:0002c90000000578 PortGUID:0002c90000000578 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-58 MT23108 Infinihost-II Mellanox Technologies} LID:03a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000057b NodeGUID:0002c9000000057b PortGUID:0002c9000000057b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-59 MT23108 Infinihost-II Mellanox Technologies} LID:03a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000057e NodeGUID:0002c9000000057e PortGUID:0002c9000000057e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-6 MT23108 Infinihost-II Mellanox Technologies} LID:03a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000581 NodeGUID:0002c90000000581 PortGUID:0002c90000000581 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-60 MT23108 Infinihost-II Mellanox Technologies} LID:03ab PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000584 NodeGUID:0002c90000000584 PortGUID:0002c90000000584 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-61 MT23108 Infinihost-II Mellanox Technologies} LID:03ad PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000587 NodeGUID:0002c90000000587 PortGUID:0002c90000000587 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-62 MT23108 Infinihost-II Mellanox Technologies} LID:03af PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000058a NodeGUID:0002c9000000058a PortGUID:0002c9000000058a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-63 MT23108 Infinihost-II Mellanox Technologies} LID:03b1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000058d NodeGUID:0002c9000000058d PortGUID:0002c9000000058d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-64 MT23108 Infinihost-II Mellanox Technologies} LID:03b3 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000590 NodeGUID:0002c90000000590 PortGUID:0002c90000000590 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-65 MT23108 Infinihost-II Mellanox Technologies} LID:03b5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000593 NodeGUID:0002c90000000593 PortGUID:0002c90000000593 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-66 MT23108 Infinihost-II Mellanox Technologies} LID:03b7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000596 NodeGUID:0002c90000000596 PortGUID:0002c90000000596 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-67 MT23108 Infinihost-II Mellanox Technologies} LID:03b9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c90000000599 NodeGUID:0002c90000000599 PortGUID:0002c90000000599 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-68 MT23108 Infinihost-II Mellanox Technologies} LID:03bb PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000059c NodeGUID:0002c9000000059c PortGUID:0002c9000000059c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-69 MT23108 Infinihost-II Mellanox Technologies} LID:03bd PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c9000000059f NodeGUID:0002c9000000059f PortGUID:0002c9000000059f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-7 MT23108 Infinihost-II Mellanox Technologies} LID:03bf PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a2 NodeGUID:0002c900000005a2 PortGUID:0002c900000005a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-70 MT23108 Infinihost-II Mellanox Technologies} LID:03c1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a5 NodeGUID:0002c900000005a5 PortGUID:0002c900000005a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-71 MT23108 Infinihost-II Mellanox Technologies} LID:03c3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005a8 NodeGUID:0002c900000005a8 PortGUID:0002c900000005a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-72 MT23108 Infinihost-II Mellanox Technologies} LID:03c5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ab NodeGUID:0002c900000005ab PortGUID:0002c900000005ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-73 MT23108 Infinihost-II Mellanox Technologies} LID:03c7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ae NodeGUID:0002c900000005ae PortGUID:0002c900000005ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-74 MT23108 Infinihost-II Mellanox Technologies} LID:03c9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b1 NodeGUID:0002c900000005b1 PortGUID:0002c900000005b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-75 MT23108 Infinihost-II Mellanox Technologies} LID:03cb PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b4 NodeGUID:0002c900000005b4 PortGUID:0002c900000005b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-76 MT23108 Infinihost-II Mellanox Technologies} LID:03cd PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005b7 NodeGUID:0002c900000005b7 PortGUID:0002c900000005b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-77 MT23108 Infinihost-II Mellanox Technologies} LID:03cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ba NodeGUID:0002c900000005ba PortGUID:0002c900000005ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-78 MT23108 Infinihost-II Mellanox Technologies} LID:03d1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005bd NodeGUID:0002c900000005bd PortGUID:0002c900000005bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-79 MT23108 Infinihost-II Mellanox Technologies} LID:03d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c0 NodeGUID:0002c900000005c0 PortGUID:0002c900000005c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-8 MT23108 Infinihost-II Mellanox Technologies} LID:03d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c3 NodeGUID:0002c900000005c3 PortGUID:0002c900000005c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-80 MT23108 Infinihost-II Mellanox Technologies} LID:03d7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c6 NodeGUID:0002c900000005c6 PortGUID:0002c900000005c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-81 MT23108 Infinihost-II Mellanox Technologies} LID:03d9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005c9 NodeGUID:0002c900000005c9 PortGUID:0002c900000005c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-82 MT23108 Infinihost-II Mellanox Technologies} LID:03db PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005cc NodeGUID:0002c900000005cc PortGUID:0002c900000005cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-83 MT23108 Infinihost-II Mellanox Technologies} LID:03dd PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005cf NodeGUID:0002c900000005cf PortGUID:0002c900000005cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-84 MT23108 Infinihost-II Mellanox Technologies} LID:03df PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d2 NodeGUID:0002c900000005d2 PortGUID:0002c900000005d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-85 MT23108 Infinihost-II Mellanox Technologies} LID:03e1 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d5 NodeGUID:0002c900000005d5 PortGUID:0002c900000005d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-86 MT23108 Infinihost-II Mellanox Technologies} LID:03e3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005d8 NodeGUID:0002c900000005d8 PortGUID:0002c900000005d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-87 MT23108 Infinihost-II Mellanox Technologies} LID:03e5 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005db NodeGUID:0002c900000005db PortGUID:0002c900000005db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-88 MT23108 Infinihost-II Mellanox Technologies} LID:03e7 PN:01 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005de NodeGUID:0002c900000005de PortGUID:0002c900000005de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-89 MT23108 Infinihost-II Mellanox Technologies} LID:03e9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e1 NodeGUID:0002c900000005e1 PortGUID:0002c900000005e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-9 MT23108 Infinihost-II Mellanox Technologies} LID:03eb PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e4 NodeGUID:0002c900000005e4 PortGUID:0002c900000005e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-90 MT23108 Infinihost-II Mellanox Technologies} LID:03ed PN:01 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005e7 NodeGUID:0002c900000005e7 PortGUID:0002c900000005e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-91 MT23108 Infinihost-II Mellanox Technologies} LID:03ef PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ea NodeGUID:0002c900000005ea PortGUID:0002c900000005ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-92 MT23108 Infinihost-II Mellanox Technologies} LID:03f1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ed NodeGUID:0002c900000005ed PortGUID:0002c900000005ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-93 MT23108 Infinihost-II Mellanox Technologies} LID:03f3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f0 NodeGUID:0002c900000005f0 PortGUID:0002c900000005f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-94 MT23108 Infinihost-II Mellanox Technologies} LID:03f5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f3 NodeGUID:0002c900000005f3 PortGUID:0002c900000005f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-95 MT23108 Infinihost-II Mellanox Technologies} LID:03f7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f6 NodeGUID:0002c900000005f6 PortGUID:0002c900000005f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-96 MT23108 Infinihost-II Mellanox Technologies} LID:03f9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005f9 NodeGUID:0002c900000005f9 PortGUID:0002c900000005f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-97 MT23108 Infinihost-II Mellanox Technologies} LID:03fb PN:01 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005fc NodeGUID:0002c900000005fc PortGUID:0002c900000005fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-98 MT23108 Infinihost-II Mellanox Technologies} LID:03fd PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:02 SystemGUID:0002c900000005ff NodeGUID:0002c900000005ff PortGUID:0002c900000005ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-99 MT23108 Infinihost-II Mellanox Technologies} LID:03ff PN:01 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:01 } { CA Ports:02 SystemGUID:0002c90000000002 NodeGUID:0002c90000000002 PortGUID:0002c90000000002 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-1 MT23108 Infinihost-II Mellanox Technologies} LID:0001 PN:01 } PHY=8x LOG=ACT SPD=5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:02 } { CA Ports:02 SystemGUID:0002c90000000068 NodeGUID:0002c90000000068 PortGUID:0002c90000000068 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-13 MT23108 Infinihost-II Mellanox Technologies} LID:0045 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:03 } { CA Ports:02 SystemGUID:0002c900000001f7 NodeGUID:0002c900000001f7 PortGUID:0002c900000001f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-25 MT23108 Infinihost-II Mellanox Technologies} LID:014f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:04 } { CA Ports:02 SystemGUID:0002c90000000386 NodeGUID:0002c90000000386 PortGUID:0002c90000000386 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-37 MT23108 Infinihost-II Mellanox Technologies} LID:0259 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:05 } { CA Ports:02 SystemGUID:0002c90000000515 NodeGUID:0002c90000000515 PortGUID:0002c90000000515 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-49 MT23108 Infinihost-II Mellanox Technologies} LID:0363 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:06 } { CA Ports:02 SystemGUID:0002c90000000584 NodeGUID:0002c90000000584 PortGUID:0002c90000000584 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-61 MT23108 Infinihost-II Mellanox Technologies} LID:03ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:01 } { CA Ports:02 SystemGUID:0002c90000000005 NodeGUID:0002c90000000005 PortGUID:0002c90000000005 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-10 MT23108 Infinihost-II Mellanox Technologies} LID:0003 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:02 } { CA Ports:02 SystemGUID:0002c90000000194 NodeGUID:0002c90000000194 PortGUID:0002c90000000194 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-22 MT23108 Infinihost-II Mellanox Technologies} LID:010d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:03 } { CA Ports:02 SystemGUID:0002c90000000323 NodeGUID:0002c90000000323 PortGUID:0002c90000000323 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-34 MT23108 Infinihost-II Mellanox Technologies} LID:0217 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:04 } { CA Ports:02 SystemGUID:0002c900000004b2 NodeGUID:0002c900000004b2 PortGUID:0002c900000004b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-46 MT23108 Infinihost-II Mellanox Technologies} LID:0321 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:05 } { CA Ports:02 SystemGUID:0002c90000000578 NodeGUID:0002c90000000578 PortGUID:0002c90000000578 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-58 MT23108 Infinihost-II Mellanox Technologies} LID:03a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:01 } { CA Ports:02 SystemGUID:0002c90000000026 NodeGUID:0002c90000000026 PortGUID:0002c90000000026 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-11 MT23108 Infinihost-II Mellanox Technologies} LID:0019 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:02 } { CA Ports:02 SystemGUID:0002c900000001b5 NodeGUID:0002c900000001b5 PortGUID:0002c900000001b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-23 MT23108 Infinihost-II Mellanox Technologies} LID:0123 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:03 } { CA Ports:02 SystemGUID:0002c90000000344 NodeGUID:0002c90000000344 PortGUID:0002c90000000344 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-35 MT23108 Infinihost-II Mellanox Technologies} LID:022d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:04 } { CA Ports:02 SystemGUID:0002c900000004d3 NodeGUID:0002c900000004d3 PortGUID:0002c900000004d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-47 MT23108 Infinihost-II Mellanox Technologies} LID:0337 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:05 } { CA Ports:02 SystemGUID:0002c9000000057b NodeGUID:0002c9000000057b PortGUID:0002c9000000057b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-59 MT23108 Infinihost-II Mellanox Technologies} LID:03a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:01 } { CA Ports:02 SystemGUID:0002c90000000047 NodeGUID:0002c90000000047 PortGUID:0002c90000000047 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-12 MT23108 Infinihost-II Mellanox Technologies} LID:002f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:02 } { CA Ports:02 SystemGUID:0002c900000001d6 NodeGUID:0002c900000001d6 PortGUID:0002c900000001d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-24 MT23108 Infinihost-II Mellanox Technologies} LID:0139 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:03 } { CA Ports:02 SystemGUID:0002c90000000365 NodeGUID:0002c90000000365 PortGUID:0002c90000000365 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-36 MT23108 Infinihost-II Mellanox Technologies} LID:0243 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:04 } { CA Ports:02 SystemGUID:0002c900000004f4 NodeGUID:0002c900000004f4 PortGUID:0002c900000004f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-48 MT23108 Infinihost-II Mellanox Technologies} LID:034d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:05 } { CA Ports:02 SystemGUID:0002c90000000581 NodeGUID:0002c90000000581 PortGUID:0002c90000000581 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-60 MT23108 Infinihost-II Mellanox Technologies} LID:03ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:01 } { CA Ports:02 SystemGUID:0002c9000000014f NodeGUID:0002c9000000014f PortGUID:0002c9000000014f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-2 MT23108 Infinihost-II Mellanox Technologies} LID:00df PN:01 } PHY=12x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:02 } { CA Ports:02 SystemGUID:0002c90000000089 NodeGUID:0002c90000000089 PortGUID:0002c90000000089 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-14 MT23108 Infinihost-II Mellanox Technologies} LID:005b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:03 } { CA Ports:02 SystemGUID:0002c90000000218 NodeGUID:0002c90000000218 PortGUID:0002c90000000218 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-26 MT23108 Infinihost-II Mellanox Technologies} LID:0165 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:04 } { CA Ports:02 SystemGUID:0002c900000003a7 NodeGUID:0002c900000003a7 PortGUID:0002c900000003a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-38 MT23108 Infinihost-II Mellanox Technologies} LID:026f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:05 } { CA Ports:02 SystemGUID:0002c90000000539 NodeGUID:0002c90000000539 PortGUID:0002c90000000539 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-50 MT23108 Infinihost-II Mellanox Technologies} LID:037b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:06 } { CA Ports:02 SystemGUID:0002c90000000587 NodeGUID:0002c90000000587 PortGUID:0002c90000000587 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-62 MT23108 Infinihost-II Mellanox Technologies} LID:03af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:01 } { CA Ports:02 SystemGUID:0002c9000000029c NodeGUID:0002c9000000029c PortGUID:0002c9000000029c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-3 MT23108 Infinihost-II Mellanox Technologies} LID:01bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:02 } { CA Ports:02 SystemGUID:0002c900000000aa NodeGUID:0002c900000000aa PortGUID:0002c900000000aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-15 MT23108 Infinihost-II Mellanox Technologies} LID:0071 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:03 } { CA Ports:02 SystemGUID:0002c90000000239 NodeGUID:0002c90000000239 PortGUID:0002c90000000239 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-27 MT23108 Infinihost-II Mellanox Technologies} LID:017b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:04 } { CA Ports:02 SystemGUID:0002c900000003c8 NodeGUID:0002c900000003c8 PortGUID:0002c900000003c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-39 MT23108 Infinihost-II Mellanox Technologies} LID:0285 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:05 } { CA Ports:02 SystemGUID:0002c9000000055a NodeGUID:0002c9000000055a PortGUID:0002c9000000055a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-51 MT23108 Infinihost-II Mellanox Technologies} LID:0391 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:06 } { CA Ports:02 SystemGUID:0002c9000000058a NodeGUID:0002c9000000058a PortGUID:0002c9000000058a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-63 MT23108 Infinihost-II Mellanox Technologies} LID:03b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:01 } { CA Ports:02 SystemGUID:0002c900000003e9 NodeGUID:0002c900000003e9 PortGUID:0002c900000003e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-4 MT23108 Infinihost-II Mellanox Technologies} LID:029b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:02 } { CA Ports:02 SystemGUID:0002c900000000cb NodeGUID:0002c900000000cb PortGUID:0002c900000000cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-16 MT23108 Infinihost-II Mellanox Technologies} LID:0087 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:03 } { CA Ports:02 SystemGUID:0002c9000000025a NodeGUID:0002c9000000025a PortGUID:0002c9000000025a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-28 MT23108 Infinihost-II Mellanox Technologies} LID:0191 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:04 } { CA Ports:02 SystemGUID:0002c900000003ec NodeGUID:0002c900000003ec PortGUID:0002c900000003ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-40 MT23108 Infinihost-II Mellanox Technologies} LID:029d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:05 } { CA Ports:02 SystemGUID:0002c90000000566 NodeGUID:0002c90000000566 PortGUID:0002c90000000566 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-52 MT23108 Infinihost-II Mellanox Technologies} LID:0399 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:06 } { CA Ports:02 SystemGUID:0002c9000000058d NodeGUID:0002c9000000058d PortGUID:0002c9000000058d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-64 MT23108 Infinihost-II Mellanox Technologies} LID:03b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:01 } { CA Ports:02 SystemGUID:0002c90000000536 NodeGUID:0002c90000000536 PortGUID:0002c90000000536 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-5 MT23108 Infinihost-II Mellanox Technologies} LID:0379 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:02 } { CA Ports:02 SystemGUID:0002c900000000ec NodeGUID:0002c900000000ec PortGUID:0002c900000000ec VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-17 MT23108 Infinihost-II Mellanox Technologies} LID:009d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:03 } { CA Ports:02 SystemGUID:0002c9000000027b NodeGUID:0002c9000000027b PortGUID:0002c9000000027b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-29 MT23108 Infinihost-II Mellanox Technologies} LID:01a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:04 } { CA Ports:02 SystemGUID:0002c9000000040d NodeGUID:0002c9000000040d PortGUID:0002c9000000040d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-41 MT23108 Infinihost-II Mellanox Technologies} LID:02b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:05 } { CA Ports:02 SystemGUID:0002c90000000569 NodeGUID:0002c90000000569 PortGUID:0002c90000000569 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-53 MT23108 Infinihost-II Mellanox Technologies} LID:039b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:01 } { CA Ports:02 SystemGUID:0002c9000000057e NodeGUID:0002c9000000057e PortGUID:0002c9000000057e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-6 MT23108 Infinihost-II Mellanox Technologies} LID:03a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:02 } { CA Ports:02 SystemGUID:0002c9000000010d NodeGUID:0002c9000000010d PortGUID:0002c9000000010d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-18 MT23108 Infinihost-II Mellanox Technologies} LID:00b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:03 } { CA Ports:02 SystemGUID:0002c9000000029f NodeGUID:0002c9000000029f PortGUID:0002c9000000029f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-30 MT23108 Infinihost-II Mellanox Technologies} LID:01bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:04 } { CA Ports:02 SystemGUID:0002c9000000042e NodeGUID:0002c9000000042e PortGUID:0002c9000000042e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-42 MT23108 Infinihost-II Mellanox Technologies} LID:02c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:05 } { CA Ports:02 SystemGUID:0002c9000000056c NodeGUID:0002c9000000056c PortGUID:0002c9000000056c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-54 MT23108 Infinihost-II Mellanox Technologies} LID:039d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:01 } { CA Ports:02 SystemGUID:0002c9000000059f NodeGUID:0002c9000000059f PortGUID:0002c9000000059f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-7 MT23108 Infinihost-II Mellanox Technologies} LID:03bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:02 } { CA Ports:02 SystemGUID:0002c9000000012e NodeGUID:0002c9000000012e PortGUID:0002c9000000012e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-19 MT23108 Infinihost-II Mellanox Technologies} LID:00c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:03 } { CA Ports:02 SystemGUID:0002c900000002c0 NodeGUID:0002c900000002c0 PortGUID:0002c900000002c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-31 MT23108 Infinihost-II Mellanox Technologies} LID:01d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:04 } { CA Ports:02 SystemGUID:0002c9000000044f NodeGUID:0002c9000000044f PortGUID:0002c9000000044f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-43 MT23108 Infinihost-II Mellanox Technologies} LID:02df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:05 } { CA Ports:02 SystemGUID:0002c9000000056f NodeGUID:0002c9000000056f PortGUID:0002c9000000056f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-55 MT23108 Infinihost-II Mellanox Technologies} LID:039f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:01 } { CA Ports:02 SystemGUID:0002c900000005c0 NodeGUID:0002c900000005c0 PortGUID:0002c900000005c0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-8 MT23108 Infinihost-II Mellanox Technologies} LID:03d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:02 } { CA Ports:02 SystemGUID:0002c90000000152 NodeGUID:0002c90000000152 PortGUID:0002c90000000152 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-20 MT23108 Infinihost-II Mellanox Technologies} LID:00e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:03 } { CA Ports:02 SystemGUID:0002c900000002e1 NodeGUID:0002c900000002e1 PortGUID:0002c900000002e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-32 MT23108 Infinihost-II Mellanox Technologies} LID:01eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:04 } { CA Ports:02 SystemGUID:0002c90000000470 NodeGUID:0002c90000000470 PortGUID:0002c90000000470 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-44 MT23108 Infinihost-II Mellanox Technologies} LID:02f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:05 } { CA Ports:02 SystemGUID:0002c90000000572 NodeGUID:0002c90000000572 PortGUID:0002c90000000572 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-56 MT23108 Infinihost-II Mellanox Technologies} LID:03a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:01 } { CA Ports:02 SystemGUID:0002c900000005e1 NodeGUID:0002c900000005e1 PortGUID:0002c900000005e1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-9 MT23108 Infinihost-II Mellanox Technologies} LID:03eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:02 } { CA Ports:02 SystemGUID:0002c90000000173 NodeGUID:0002c90000000173 PortGUID:0002c90000000173 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-21 MT23108 Infinihost-II Mellanox Technologies} LID:00f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:03 } { CA Ports:02 SystemGUID:0002c90000000302 NodeGUID:0002c90000000302 PortGUID:0002c90000000302 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-33 MT23108 Infinihost-II Mellanox Technologies} LID:0201 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:04 } { CA Ports:02 SystemGUID:0002c90000000491 NodeGUID:0002c90000000491 PortGUID:0002c90000000491 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-45 MT23108 Infinihost-II Mellanox Technologies} LID:030b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:05 } { CA Ports:02 SystemGUID:0002c90000000575 NodeGUID:0002c90000000575 PortGUID:0002c90000000575 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-57 MT23108 Infinihost-II Mellanox Technologies} LID:03a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0d } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0e } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0f } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:10 } { CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:11 } { CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:12 } { CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:13 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:14 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:15 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:16 } { CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:17 } { CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:18 } { CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061a NodeGUID:0002c9000000061a PortGUID:0002c9000000061a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040d PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061c NodeGUID:0002c9000000061c PortGUID:0002c9000000061c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040e PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:02 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:03 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:04 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:05 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:06 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:07 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:08 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:09 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0a } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0b } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0c } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0d } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0e } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:0f } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:10 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:11 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:12 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:13 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:14 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:15 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:16 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:17 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000061e NodeGUID:0002c9000000061e PortGUID:0002c9000000061e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040f PN:18 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000620 NodeGUID:0002c90000000620 PortGUID:0002c90000000620 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0410 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000622 NodeGUID:0002c90000000622 PortGUID:0002c90000000622 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0411 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:03 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:04 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:05 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:06 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:07 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:08 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:09 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0a } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0b } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0c } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0d } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0e } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:0f } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:10 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:11 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:12 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:13 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:14 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:15 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:16 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:17 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000624 NodeGUID:0002c90000000624 PortGUID:0002c90000000624 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0412 PN:18 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:01 } { CA Ports:02 SystemGUID:0002c90000000590 NodeGUID:0002c90000000590 PortGUID:0002c90000000590 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-65 MT23108 Infinihost-II Mellanox Technologies} LID:03b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:02 } { CA Ports:02 SystemGUID:0002c900000005b7 NodeGUID:0002c900000005b7 PortGUID:0002c900000005b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-77 MT23108 Infinihost-II Mellanox Technologies} LID:03cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:03 } { CA Ports:02 SystemGUID:0002c900000005de NodeGUID:0002c900000005de PortGUID:0002c900000005de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-89 MT23108 Infinihost-II Mellanox Technologies} LID:03e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:04 } { CA Ports:02 SystemGUID:0002c9000000000b NodeGUID:0002c9000000000b PortGUID:0002c9000000000b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-101 MT23108 Infinihost-II Mellanox Technologies} LID:0007 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:05 } { CA Ports:02 SystemGUID:0002c90000000032 NodeGUID:0002c90000000032 PortGUID:0002c90000000032 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-113 MT23108 Infinihost-II Mellanox Technologies} LID:0021 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:06 } { CA Ports:02 SystemGUID:0002c90000000059 NodeGUID:0002c90000000059 PortGUID:0002c90000000059 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-125 MT23108 Infinihost-II Mellanox Technologies} LID:003b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:01 } { CA Ports:02 SystemGUID:0002c900000005ae NodeGUID:0002c900000005ae PortGUID:0002c900000005ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-74 MT23108 Infinihost-II Mellanox Technologies} LID:03c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:02 } { CA Ports:02 SystemGUID:0002c900000005d5 NodeGUID:0002c900000005d5 PortGUID:0002c900000005d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-86 MT23108 Infinihost-II Mellanox Technologies} LID:03e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:03 } { CA Ports:02 SystemGUID:0002c900000005fc NodeGUID:0002c900000005fc PortGUID:0002c900000005fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-98 MT23108 Infinihost-II Mellanox Technologies} LID:03fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:04 } { CA Ports:02 SystemGUID:0002c90000000029 NodeGUID:0002c90000000029 PortGUID:0002c90000000029 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-110 MT23108 Infinihost-II Mellanox Technologies} LID:001b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:05 } { CA Ports:02 SystemGUID:0002c90000000050 NodeGUID:0002c90000000050 PortGUID:0002c90000000050 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-122 MT23108 Infinihost-II Mellanox Technologies} LID:0035 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:01 } { CA Ports:02 SystemGUID:0002c900000005b1 NodeGUID:0002c900000005b1 PortGUID:0002c900000005b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-75 MT23108 Infinihost-II Mellanox Technologies} LID:03cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:02 } { CA Ports:02 SystemGUID:0002c900000005d8 NodeGUID:0002c900000005d8 PortGUID:0002c900000005d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-87 MT23108 Infinihost-II Mellanox Technologies} LID:03e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:03 } { CA Ports:02 SystemGUID:0002c900000005ff NodeGUID:0002c900000005ff PortGUID:0002c900000005ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-99 MT23108 Infinihost-II Mellanox Technologies} LID:03ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:04 } { CA Ports:02 SystemGUID:0002c9000000002c NodeGUID:0002c9000000002c PortGUID:0002c9000000002c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-111 MT23108 Infinihost-II Mellanox Technologies} LID:001d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:05 } { CA Ports:02 SystemGUID:0002c90000000053 NodeGUID:0002c90000000053 PortGUID:0002c90000000053 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-123 MT23108 Infinihost-II Mellanox Technologies} LID:0037 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:01 } { CA Ports:02 SystemGUID:0002c900000005b4 NodeGUID:0002c900000005b4 PortGUID:0002c900000005b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-76 MT23108 Infinihost-II Mellanox Technologies} LID:03cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:02 } { CA Ports:02 SystemGUID:0002c900000005db NodeGUID:0002c900000005db PortGUID:0002c900000005db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-88 MT23108 Infinihost-II Mellanox Technologies} LID:03e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:03 } { CA Ports:02 SystemGUID:0002c90000000008 NodeGUID:0002c90000000008 PortGUID:0002c90000000008 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-100 MT23108 Infinihost-II Mellanox Technologies} LID:0005 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:04 } { CA Ports:02 SystemGUID:0002c9000000002f NodeGUID:0002c9000000002f PortGUID:0002c9000000002f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-112 MT23108 Infinihost-II Mellanox Technologies} LID:001f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:05 } { CA Ports:02 SystemGUID:0002c90000000056 NodeGUID:0002c90000000056 PortGUID:0002c90000000056 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-124 MT23108 Infinihost-II Mellanox Technologies} LID:0039 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:01 } { CA Ports:02 SystemGUID:0002c90000000593 NodeGUID:0002c90000000593 PortGUID:0002c90000000593 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-66 MT23108 Infinihost-II Mellanox Technologies} LID:03b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:02 } { CA Ports:02 SystemGUID:0002c900000005ba NodeGUID:0002c900000005ba PortGUID:0002c900000005ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-78 MT23108 Infinihost-II Mellanox Technologies} LID:03d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:03 } { CA Ports:02 SystemGUID:0002c900000005e4 NodeGUID:0002c900000005e4 PortGUID:0002c900000005e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-90 MT23108 Infinihost-II Mellanox Technologies} LID:03ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:04 } { CA Ports:02 SystemGUID:0002c9000000000e NodeGUID:0002c9000000000e PortGUID:0002c9000000000e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-102 MT23108 Infinihost-II Mellanox Technologies} LID:0009 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:05 } { CA Ports:02 SystemGUID:0002c90000000035 NodeGUID:0002c90000000035 PortGUID:0002c90000000035 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-114 MT23108 Infinihost-II Mellanox Technologies} LID:0023 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:06 } { CA Ports:02 SystemGUID:0002c9000000005c NodeGUID:0002c9000000005c PortGUID:0002c9000000005c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-126 MT23108 Infinihost-II Mellanox Technologies} LID:003d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:01 } { CA Ports:02 SystemGUID:0002c90000000596 NodeGUID:0002c90000000596 PortGUID:0002c90000000596 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-67 MT23108 Infinihost-II Mellanox Technologies} LID:03b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:02 } { CA Ports:02 SystemGUID:0002c900000005bd NodeGUID:0002c900000005bd PortGUID:0002c900000005bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-79 MT23108 Infinihost-II Mellanox Technologies} LID:03d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:03 } { CA Ports:02 SystemGUID:0002c900000005e7 NodeGUID:0002c900000005e7 PortGUID:0002c900000005e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-91 MT23108 Infinihost-II Mellanox Technologies} LID:03ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:04 } { CA Ports:02 SystemGUID:0002c90000000011 NodeGUID:0002c90000000011 PortGUID:0002c90000000011 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-103 MT23108 Infinihost-II Mellanox Technologies} LID:000b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:05 } { CA Ports:02 SystemGUID:0002c90000000038 NodeGUID:0002c90000000038 PortGUID:0002c90000000038 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-115 MT23108 Infinihost-II Mellanox Technologies} LID:0025 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:06 } { CA Ports:02 SystemGUID:0002c9000000005f NodeGUID:0002c9000000005f PortGUID:0002c9000000005f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-127 MT23108 Infinihost-II Mellanox Technologies} LID:003f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:01 } { CA Ports:02 SystemGUID:0002c90000000599 NodeGUID:0002c90000000599 PortGUID:0002c90000000599 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-68 MT23108 Infinihost-II Mellanox Technologies} LID:03bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:02 } { CA Ports:02 SystemGUID:0002c900000005c3 NodeGUID:0002c900000005c3 PortGUID:0002c900000005c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-80 MT23108 Infinihost-II Mellanox Technologies} LID:03d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:03 } { CA Ports:02 SystemGUID:0002c900000005ea NodeGUID:0002c900000005ea PortGUID:0002c900000005ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-92 MT23108 Infinihost-II Mellanox Technologies} LID:03f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:04 } { CA Ports:02 SystemGUID:0002c90000000014 NodeGUID:0002c90000000014 PortGUID:0002c90000000014 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-104 MT23108 Infinihost-II Mellanox Technologies} LID:000d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:05 } { CA Ports:02 SystemGUID:0002c9000000003b NodeGUID:0002c9000000003b PortGUID:0002c9000000003b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-116 MT23108 Infinihost-II Mellanox Technologies} LID:0027 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:06 } { CA Ports:02 SystemGUID:0002c90000000062 NodeGUID:0002c90000000062 PortGUID:0002c90000000062 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-128 MT23108 Infinihost-II Mellanox Technologies} LID:0041 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:01 } { CA Ports:02 SystemGUID:0002c9000000059c NodeGUID:0002c9000000059c PortGUID:0002c9000000059c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-69 MT23108 Infinihost-II Mellanox Technologies} LID:03bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:02 } { CA Ports:02 SystemGUID:0002c900000005c6 NodeGUID:0002c900000005c6 PortGUID:0002c900000005c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-81 MT23108 Infinihost-II Mellanox Technologies} LID:03d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:03 } { CA Ports:02 SystemGUID:0002c900000005ed NodeGUID:0002c900000005ed PortGUID:0002c900000005ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-93 MT23108 Infinihost-II Mellanox Technologies} LID:03f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:04 } { CA Ports:02 SystemGUID:0002c90000000017 NodeGUID:0002c90000000017 PortGUID:0002c90000000017 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-105 MT23108 Infinihost-II Mellanox Technologies} LID:000f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:05 } { CA Ports:02 SystemGUID:0002c9000000003e NodeGUID:0002c9000000003e PortGUID:0002c9000000003e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-117 MT23108 Infinihost-II Mellanox Technologies} LID:0029 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:01 } { CA Ports:02 SystemGUID:0002c900000005a2 NodeGUID:0002c900000005a2 PortGUID:0002c900000005a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-70 MT23108 Infinihost-II Mellanox Technologies} LID:03c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:02 } { CA Ports:02 SystemGUID:0002c900000005c9 NodeGUID:0002c900000005c9 PortGUID:0002c900000005c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-82 MT23108 Infinihost-II Mellanox Technologies} LID:03db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:03 } { CA Ports:02 SystemGUID:0002c900000005f0 NodeGUID:0002c900000005f0 PortGUID:0002c900000005f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-94 MT23108 Infinihost-II Mellanox Technologies} LID:03f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:04 } { CA Ports:02 SystemGUID:0002c9000000001a NodeGUID:0002c9000000001a PortGUID:0002c9000000001a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-106 MT23108 Infinihost-II Mellanox Technologies} LID:0011 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:05 } { CA Ports:02 SystemGUID:0002c90000000041 NodeGUID:0002c90000000041 PortGUID:0002c90000000041 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-118 MT23108 Infinihost-II Mellanox Technologies} LID:002b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:01 } { CA Ports:02 SystemGUID:0002c900000005a5 NodeGUID:0002c900000005a5 PortGUID:0002c900000005a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-71 MT23108 Infinihost-II Mellanox Technologies} LID:03c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:02 } { CA Ports:02 SystemGUID:0002c900000005cc NodeGUID:0002c900000005cc PortGUID:0002c900000005cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-83 MT23108 Infinihost-II Mellanox Technologies} LID:03dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:03 } { CA Ports:02 SystemGUID:0002c900000005f3 NodeGUID:0002c900000005f3 PortGUID:0002c900000005f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-95 MT23108 Infinihost-II Mellanox Technologies} LID:03f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:04 } { CA Ports:02 SystemGUID:0002c9000000001d NodeGUID:0002c9000000001d PortGUID:0002c9000000001d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-107 MT23108 Infinihost-II Mellanox Technologies} LID:0013 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:05 } { CA Ports:02 SystemGUID:0002c90000000044 NodeGUID:0002c90000000044 PortGUID:0002c90000000044 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-119 MT23108 Infinihost-II Mellanox Technologies} LID:002d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:01 } { CA Ports:02 SystemGUID:0002c900000005a8 NodeGUID:0002c900000005a8 PortGUID:0002c900000005a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-72 MT23108 Infinihost-II Mellanox Technologies} LID:03c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:02 } { CA Ports:02 SystemGUID:0002c900000005cf NodeGUID:0002c900000005cf PortGUID:0002c900000005cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-84 MT23108 Infinihost-II Mellanox Technologies} LID:03df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:03 } { CA Ports:02 SystemGUID:0002c900000005f6 NodeGUID:0002c900000005f6 PortGUID:0002c900000005f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-96 MT23108 Infinihost-II Mellanox Technologies} LID:03f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:04 } { CA Ports:02 SystemGUID:0002c90000000020 NodeGUID:0002c90000000020 PortGUID:0002c90000000020 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-108 MT23108 Infinihost-II Mellanox Technologies} LID:0015 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:05 } { CA Ports:02 SystemGUID:0002c9000000004a NodeGUID:0002c9000000004a PortGUID:0002c9000000004a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-120 MT23108 Infinihost-II Mellanox Technologies} LID:0031 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:01 } { CA Ports:02 SystemGUID:0002c900000005ab NodeGUID:0002c900000005ab PortGUID:0002c900000005ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-73 MT23108 Infinihost-II Mellanox Technologies} LID:03c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:02 } { CA Ports:02 SystemGUID:0002c900000005d2 NodeGUID:0002c900000005d2 PortGUID:0002c900000005d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-85 MT23108 Infinihost-II Mellanox Technologies} LID:03e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:03 } { CA Ports:02 SystemGUID:0002c900000005f9 NodeGUID:0002c900000005f9 PortGUID:0002c900000005f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-97 MT23108 Infinihost-II Mellanox Technologies} LID:03fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:04 } { CA Ports:02 SystemGUID:0002c90000000023 NodeGUID:0002c90000000023 PortGUID:0002c90000000023 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-109 MT23108 Infinihost-II Mellanox Technologies} LID:0017 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:05 } { CA Ports:02 SystemGUID:0002c9000000004d NodeGUID:0002c9000000004d PortGUID:0002c9000000004d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-121 MT23108 Infinihost-II Mellanox Technologies} LID:0033 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0d } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0e } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0f } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:10 } { CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:11 } { CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:12 } { CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:13 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:14 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:15 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:16 } { CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:17 } { CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:18 } { CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000063e NodeGUID:0002c9000000063e PortGUID:0002c9000000063e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041f PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000640 NodeGUID:0002c90000000640 PortGUID:0002c90000000640 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0420 PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:01 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:04 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:06 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:07 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:09 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0a } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0b } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0c } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0d } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0e } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:0f } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:10 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:11 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:12 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:13 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:14 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:15 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:16 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000642 NodeGUID:0002c90000000642 PortGUID:0002c90000000642 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0421 PN:18 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000644 NodeGUID:0002c90000000644 PortGUID:0002c90000000644 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0422 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000646 NodeGUID:0002c90000000646 PortGUID:0002c90000000646 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0423 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:01 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:04 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:05 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:06 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:07 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:08 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:09 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0a } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0b } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0c } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0d } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0e } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:0f } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:10 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:11 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:12 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:13 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:14 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:15 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:16 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:17 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000648 NodeGUID:0002c90000000648 PortGUID:0002c90000000648 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0424 PN:18 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:01 } { CA Ports:02 SystemGUID:0002c90000000065 NodeGUID:0002c90000000065 PortGUID:0002c90000000065 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-129 MT23108 Infinihost-II Mellanox Technologies} LID:0043 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:02 } { CA Ports:02 SystemGUID:0002c9000000008f NodeGUID:0002c9000000008f PortGUID:0002c9000000008f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-141 MT23108 Infinihost-II Mellanox Technologies} LID:005f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:03 } { CA Ports:02 SystemGUID:0002c900000000b6 NodeGUID:0002c900000000b6 PortGUID:0002c900000000b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-153 MT23108 Infinihost-II Mellanox Technologies} LID:0079 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:04 } { CA Ports:02 SystemGUID:0002c900000000dd NodeGUID:0002c900000000dd PortGUID:0002c900000000dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-165 MT23108 Infinihost-II Mellanox Technologies} LID:0093 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:05 } { CA Ports:02 SystemGUID:0002c90000000104 NodeGUID:0002c90000000104 PortGUID:0002c90000000104 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-177 MT23108 Infinihost-II Mellanox Technologies} LID:00ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:06 } { CA Ports:02 SystemGUID:0002c9000000012b NodeGUID:0002c9000000012b PortGUID:0002c9000000012b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-189 MT23108 Infinihost-II Mellanox Technologies} LID:00c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:01 } { CA Ports:02 SystemGUID:0002c90000000083 NodeGUID:0002c90000000083 PortGUID:0002c90000000083 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-138 MT23108 Infinihost-II Mellanox Technologies} LID:0057 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:02 } { CA Ports:02 SystemGUID:0002c900000000ad NodeGUID:0002c900000000ad PortGUID:0002c900000000ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-150 MT23108 Infinihost-II Mellanox Technologies} LID:0073 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d4 NodeGUID:0002c900000000d4 PortGUID:0002c900000000d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-162 MT23108 Infinihost-II Mellanox Technologies} LID:008d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:04 } { CA Ports:02 SystemGUID:0002c900000000fb NodeGUID:0002c900000000fb PortGUID:0002c900000000fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-174 MT23108 Infinihost-II Mellanox Technologies} LID:00a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:05 } { CA Ports:02 SystemGUID:0002c90000000122 NodeGUID:0002c90000000122 PortGUID:0002c90000000122 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-186 MT23108 Infinihost-II Mellanox Technologies} LID:00c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:01 } { CA Ports:02 SystemGUID:0002c90000000086 NodeGUID:0002c90000000086 PortGUID:0002c90000000086 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-139 MT23108 Infinihost-II Mellanox Technologies} LID:0059 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:02 } { CA Ports:02 SystemGUID:0002c900000000b0 NodeGUID:0002c900000000b0 PortGUID:0002c900000000b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-151 MT23108 Infinihost-II Mellanox Technologies} LID:0075 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d7 NodeGUID:0002c900000000d7 PortGUID:0002c900000000d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-163 MT23108 Infinihost-II Mellanox Technologies} LID:008f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:04 } { CA Ports:02 SystemGUID:0002c900000000fe NodeGUID:0002c900000000fe PortGUID:0002c900000000fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-175 MT23108 Infinihost-II Mellanox Technologies} LID:00a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:05 } { CA Ports:02 SystemGUID:0002c90000000125 NodeGUID:0002c90000000125 PortGUID:0002c90000000125 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-187 MT23108 Infinihost-II Mellanox Technologies} LID:00c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:01 } { CA Ports:02 SystemGUID:0002c9000000008c NodeGUID:0002c9000000008c PortGUID:0002c9000000008c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-140 MT23108 Infinihost-II Mellanox Technologies} LID:005d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:02 } { CA Ports:02 SystemGUID:0002c900000000b3 NodeGUID:0002c900000000b3 PortGUID:0002c900000000b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-152 MT23108 Infinihost-II Mellanox Technologies} LID:0077 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:03 } { CA Ports:02 SystemGUID:0002c900000000da NodeGUID:0002c900000000da PortGUID:0002c900000000da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-164 MT23108 Infinihost-II Mellanox Technologies} LID:0091 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:04 } { CA Ports:02 SystemGUID:0002c90000000101 NodeGUID:0002c90000000101 PortGUID:0002c90000000101 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-176 MT23108 Infinihost-II Mellanox Technologies} LID:00ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:05 } { CA Ports:02 SystemGUID:0002c90000000128 NodeGUID:0002c90000000128 PortGUID:0002c90000000128 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-188 MT23108 Infinihost-II Mellanox Technologies} LID:00c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:01 } { CA Ports:02 SystemGUID:0002c9000000006b NodeGUID:0002c9000000006b PortGUID:0002c9000000006b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-130 MT23108 Infinihost-II Mellanox Technologies} LID:0047 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:02 } { CA Ports:02 SystemGUID:0002c90000000092 NodeGUID:0002c90000000092 PortGUID:0002c90000000092 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-142 MT23108 Infinihost-II Mellanox Technologies} LID:0061 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:03 } { CA Ports:02 SystemGUID:0002c900000000b9 NodeGUID:0002c900000000b9 PortGUID:0002c900000000b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-154 MT23108 Infinihost-II Mellanox Technologies} LID:007b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:04 } { CA Ports:02 SystemGUID:0002c900000000e0 NodeGUID:0002c900000000e0 PortGUID:0002c900000000e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-166 MT23108 Infinihost-II Mellanox Technologies} LID:0095 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:05 } { CA Ports:02 SystemGUID:0002c90000000107 NodeGUID:0002c90000000107 PortGUID:0002c90000000107 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-178 MT23108 Infinihost-II Mellanox Technologies} LID:00af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:06 } { CA Ports:02 SystemGUID:0002c90000000131 NodeGUID:0002c90000000131 PortGUID:0002c90000000131 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-190 MT23108 Infinihost-II Mellanox Technologies} LID:00cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:01 } { CA Ports:02 SystemGUID:0002c9000000006e NodeGUID:0002c9000000006e PortGUID:0002c9000000006e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-131 MT23108 Infinihost-II Mellanox Technologies} LID:0049 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:02 } { CA Ports:02 SystemGUID:0002c90000000095 NodeGUID:0002c90000000095 PortGUID:0002c90000000095 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-143 MT23108 Infinihost-II Mellanox Technologies} LID:0063 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:03 } { CA Ports:02 SystemGUID:0002c900000000bc NodeGUID:0002c900000000bc PortGUID:0002c900000000bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-155 MT23108 Infinihost-II Mellanox Technologies} LID:007d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:04 } { CA Ports:02 SystemGUID:0002c900000000e3 NodeGUID:0002c900000000e3 PortGUID:0002c900000000e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-167 MT23108 Infinihost-II Mellanox Technologies} LID:0097 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:05 } { CA Ports:02 SystemGUID:0002c9000000010a NodeGUID:0002c9000000010a PortGUID:0002c9000000010a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-179 MT23108 Infinihost-II Mellanox Technologies} LID:00b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:06 } { CA Ports:02 SystemGUID:0002c90000000134 NodeGUID:0002c90000000134 PortGUID:0002c90000000134 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-191 MT23108 Infinihost-II Mellanox Technologies} LID:00cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:01 } { CA Ports:02 SystemGUID:0002c90000000071 NodeGUID:0002c90000000071 PortGUID:0002c90000000071 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-132 MT23108 Infinihost-II Mellanox Technologies} LID:004b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:02 } { CA Ports:02 SystemGUID:0002c90000000098 NodeGUID:0002c90000000098 PortGUID:0002c90000000098 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-144 MT23108 Infinihost-II Mellanox Technologies} LID:0065 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:03 } { CA Ports:02 SystemGUID:0002c900000000bf NodeGUID:0002c900000000bf PortGUID:0002c900000000bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-156 MT23108 Infinihost-II Mellanox Technologies} LID:007f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:04 } { CA Ports:02 SystemGUID:0002c900000000e6 NodeGUID:0002c900000000e6 PortGUID:0002c900000000e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-168 MT23108 Infinihost-II Mellanox Technologies} LID:0099 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:05 } { CA Ports:02 SystemGUID:0002c90000000110 NodeGUID:0002c90000000110 PortGUID:0002c90000000110 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-180 MT23108 Infinihost-II Mellanox Technologies} LID:00b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:06 } { CA Ports:02 SystemGUID:0002c90000000137 NodeGUID:0002c90000000137 PortGUID:0002c90000000137 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-192 MT23108 Infinihost-II Mellanox Technologies} LID:00cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:01 } { CA Ports:02 SystemGUID:0002c90000000074 NodeGUID:0002c90000000074 PortGUID:0002c90000000074 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-133 MT23108 Infinihost-II Mellanox Technologies} LID:004d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:02 } { CA Ports:02 SystemGUID:0002c9000000009b NodeGUID:0002c9000000009b PortGUID:0002c9000000009b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-145 MT23108 Infinihost-II Mellanox Technologies} LID:0067 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:03 } { CA Ports:02 SystemGUID:0002c900000000c2 NodeGUID:0002c900000000c2 PortGUID:0002c900000000c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-157 MT23108 Infinihost-II Mellanox Technologies} LID:0081 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:04 } { CA Ports:02 SystemGUID:0002c900000000e9 NodeGUID:0002c900000000e9 PortGUID:0002c900000000e9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-169 MT23108 Infinihost-II Mellanox Technologies} LID:009b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:05 } { CA Ports:02 SystemGUID:0002c90000000113 NodeGUID:0002c90000000113 PortGUID:0002c90000000113 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-181 MT23108 Infinihost-II Mellanox Technologies} LID:00b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:01 } { CA Ports:02 SystemGUID:0002c90000000077 NodeGUID:0002c90000000077 PortGUID:0002c90000000077 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-134 MT23108 Infinihost-II Mellanox Technologies} LID:004f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:02 } { CA Ports:02 SystemGUID:0002c9000000009e NodeGUID:0002c9000000009e PortGUID:0002c9000000009e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-146 MT23108 Infinihost-II Mellanox Technologies} LID:0069 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:03 } { CA Ports:02 SystemGUID:0002c900000000c5 NodeGUID:0002c900000000c5 PortGUID:0002c900000000c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-158 MT23108 Infinihost-II Mellanox Technologies} LID:0083 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:04 } { CA Ports:02 SystemGUID:0002c900000000ef NodeGUID:0002c900000000ef PortGUID:0002c900000000ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-170 MT23108 Infinihost-II Mellanox Technologies} LID:009f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:05 } { CA Ports:02 SystemGUID:0002c90000000116 NodeGUID:0002c90000000116 PortGUID:0002c90000000116 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-182 MT23108 Infinihost-II Mellanox Technologies} LID:00b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:01 } { CA Ports:02 SystemGUID:0002c9000000007a NodeGUID:0002c9000000007a PortGUID:0002c9000000007a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-135 MT23108 Infinihost-II Mellanox Technologies} LID:0051 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:02 } { CA Ports:02 SystemGUID:0002c900000000a1 NodeGUID:0002c900000000a1 PortGUID:0002c900000000a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-147 MT23108 Infinihost-II Mellanox Technologies} LID:006b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:03 } { CA Ports:02 SystemGUID:0002c900000000c8 NodeGUID:0002c900000000c8 PortGUID:0002c900000000c8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-159 MT23108 Infinihost-II Mellanox Technologies} LID:0085 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:04 } { CA Ports:02 SystemGUID:0002c900000000f2 NodeGUID:0002c900000000f2 PortGUID:0002c900000000f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-171 MT23108 Infinihost-II Mellanox Technologies} LID:00a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:05 } { CA Ports:02 SystemGUID:0002c90000000119 NodeGUID:0002c90000000119 PortGUID:0002c90000000119 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-183 MT23108 Infinihost-II Mellanox Technologies} LID:00bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:01 } { CA Ports:02 SystemGUID:0002c9000000007d NodeGUID:0002c9000000007d PortGUID:0002c9000000007d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-136 MT23108 Infinihost-II Mellanox Technologies} LID:0053 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:02 } { CA Ports:02 SystemGUID:0002c900000000a4 NodeGUID:0002c900000000a4 PortGUID:0002c900000000a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-148 MT23108 Infinihost-II Mellanox Technologies} LID:006d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:03 } { CA Ports:02 SystemGUID:0002c900000000ce NodeGUID:0002c900000000ce PortGUID:0002c900000000ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-160 MT23108 Infinihost-II Mellanox Technologies} LID:0089 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:04 } { CA Ports:02 SystemGUID:0002c900000000f5 NodeGUID:0002c900000000f5 PortGUID:0002c900000000f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-172 MT23108 Infinihost-II Mellanox Technologies} LID:00a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:05 } { CA Ports:02 SystemGUID:0002c9000000011c NodeGUID:0002c9000000011c PortGUID:0002c9000000011c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-184 MT23108 Infinihost-II Mellanox Technologies} LID:00bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:01 } { CA Ports:02 SystemGUID:0002c90000000080 NodeGUID:0002c90000000080 PortGUID:0002c90000000080 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-137 MT23108 Infinihost-II Mellanox Technologies} LID:0055 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:02 } { CA Ports:02 SystemGUID:0002c900000000a7 NodeGUID:0002c900000000a7 PortGUID:0002c900000000a7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-149 MT23108 Infinihost-II Mellanox Technologies} LID:006f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:03 } { CA Ports:02 SystemGUID:0002c900000000d1 NodeGUID:0002c900000000d1 PortGUID:0002c900000000d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-161 MT23108 Infinihost-II Mellanox Technologies} LID:008b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:04 } { CA Ports:02 SystemGUID:0002c900000000f8 NodeGUID:0002c900000000f8 PortGUID:0002c900000000f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-173 MT23108 Infinihost-II Mellanox Technologies} LID:00a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:05 } { CA Ports:02 SystemGUID:0002c9000000011f NodeGUID:0002c9000000011f PortGUID:0002c9000000011f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-185 MT23108 Infinihost-II Mellanox Technologies} LID:00bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0d } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0e } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0f } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:10 } { CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:11 } { CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:12 } { CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:13 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:14 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:15 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:16 } { CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:17 } { CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000662 NodeGUID:0002c90000000662 PortGUID:0002c90000000662 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0431 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000664 NodeGUID:0002c90000000664 PortGUID:0002c90000000664 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0432 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:01 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:02 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:05 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:06 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:07 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:08 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:09 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0a } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0b } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0d } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0e } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:10 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:11 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:13 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:14 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:16 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:17 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000666 NodeGUID:0002c90000000666 PortGUID:0002c90000000666 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0433 PN:18 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000668 NodeGUID:0002c90000000668 PortGUID:0002c90000000668 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0434 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066a NodeGUID:0002c9000000066a PortGUID:0002c9000000066a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0435 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:01 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:02 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:05 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:06 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:07 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:08 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:09 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0a } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0b } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0c } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0d } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0e } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:0f } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:10 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:11 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:12 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:13 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:14 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:15 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:16 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:17 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066c NodeGUID:0002c9000000066c PortGUID:0002c9000000066c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0436 PN:18 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:01 } { CA Ports:02 SystemGUID:0002c9000000013a NodeGUID:0002c9000000013a PortGUID:0002c9000000013a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-193 MT23108 Infinihost-II Mellanox Technologies} LID:00d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:02 } { CA Ports:02 SystemGUID:0002c90000000164 NodeGUID:0002c90000000164 PortGUID:0002c90000000164 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-205 MT23108 Infinihost-II Mellanox Technologies} LID:00ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:03 } { CA Ports:02 SystemGUID:0002c9000000018b NodeGUID:0002c9000000018b PortGUID:0002c9000000018b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-217 MT23108 Infinihost-II Mellanox Technologies} LID:0107 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:04 } { CA Ports:02 SystemGUID:0002c900000001b2 NodeGUID:0002c900000001b2 PortGUID:0002c900000001b2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-229 MT23108 Infinihost-II Mellanox Technologies} LID:0121 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:05 } { CA Ports:02 SystemGUID:0002c900000001dc NodeGUID:0002c900000001dc PortGUID:0002c900000001dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-241 MT23108 Infinihost-II Mellanox Technologies} LID:013d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:06 } { CA Ports:02 SystemGUID:0002c90000000203 NodeGUID:0002c90000000203 PortGUID:0002c90000000203 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-253 MT23108 Infinihost-II Mellanox Technologies} LID:0157 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:01 } { CA Ports:02 SystemGUID:0002c9000000015b NodeGUID:0002c9000000015b PortGUID:0002c9000000015b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-202 MT23108 Infinihost-II Mellanox Technologies} LID:00e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:02 } { CA Ports:02 SystemGUID:0002c90000000182 NodeGUID:0002c90000000182 PortGUID:0002c90000000182 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-214 MT23108 Infinihost-II Mellanox Technologies} LID:0101 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a9 NodeGUID:0002c900000001a9 PortGUID:0002c900000001a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-226 MT23108 Infinihost-II Mellanox Technologies} LID:011b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:04 } { CA Ports:02 SystemGUID:0002c900000001d0 NodeGUID:0002c900000001d0 PortGUID:0002c900000001d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-238 MT23108 Infinihost-II Mellanox Technologies} LID:0135 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:05 } { CA Ports:02 SystemGUID:0002c900000001fa NodeGUID:0002c900000001fa PortGUID:0002c900000001fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-250 MT23108 Infinihost-II Mellanox Technologies} LID:0151 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:01 } { CA Ports:02 SystemGUID:0002c9000000015e NodeGUID:0002c9000000015e PortGUID:0002c9000000015e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-203 MT23108 Infinihost-II Mellanox Technologies} LID:00e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:02 } { CA Ports:02 SystemGUID:0002c90000000185 NodeGUID:0002c90000000185 PortGUID:0002c90000000185 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-215 MT23108 Infinihost-II Mellanox Technologies} LID:0103 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:03 } { CA Ports:02 SystemGUID:0002c900000001ac NodeGUID:0002c900000001ac PortGUID:0002c900000001ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-227 MT23108 Infinihost-II Mellanox Technologies} LID:011d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:04 } { CA Ports:02 SystemGUID:0002c900000001d3 NodeGUID:0002c900000001d3 PortGUID:0002c900000001d3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-239 MT23108 Infinihost-II Mellanox Technologies} LID:0137 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:05 } { CA Ports:02 SystemGUID:0002c900000001fd NodeGUID:0002c900000001fd PortGUID:0002c900000001fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-251 MT23108 Infinihost-II Mellanox Technologies} LID:0153 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:01 } { CA Ports:02 SystemGUID:0002c90000000161 NodeGUID:0002c90000000161 PortGUID:0002c90000000161 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-204 MT23108 Infinihost-II Mellanox Technologies} LID:00eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:02 } { CA Ports:02 SystemGUID:0002c90000000188 NodeGUID:0002c90000000188 PortGUID:0002c90000000188 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-216 MT23108 Infinihost-II Mellanox Technologies} LID:0105 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:03 } { CA Ports:02 SystemGUID:0002c900000001af NodeGUID:0002c900000001af PortGUID:0002c900000001af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-228 MT23108 Infinihost-II Mellanox Technologies} LID:011f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:04 } { CA Ports:02 SystemGUID:0002c900000001d9 NodeGUID:0002c900000001d9 PortGUID:0002c900000001d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-240 MT23108 Infinihost-II Mellanox Technologies} LID:013b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:05 } { CA Ports:02 SystemGUID:0002c90000000200 NodeGUID:0002c90000000200 PortGUID:0002c90000000200 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-252 MT23108 Infinihost-II Mellanox Technologies} LID:0155 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:01 } { CA Ports:02 SystemGUID:0002c9000000013d NodeGUID:0002c9000000013d PortGUID:0002c9000000013d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-194 MT23108 Infinihost-II Mellanox Technologies} LID:00d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:02 } { CA Ports:02 SystemGUID:0002c90000000167 NodeGUID:0002c90000000167 PortGUID:0002c90000000167 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-206 MT23108 Infinihost-II Mellanox Technologies} LID:00ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:03 } { CA Ports:02 SystemGUID:0002c9000000018e NodeGUID:0002c9000000018e PortGUID:0002c9000000018e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-218 MT23108 Infinihost-II Mellanox Technologies} LID:0109 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:04 } { CA Ports:02 SystemGUID:0002c900000001b8 NodeGUID:0002c900000001b8 PortGUID:0002c900000001b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-230 MT23108 Infinihost-II Mellanox Technologies} LID:0125 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:05 } { CA Ports:02 SystemGUID:0002c900000001df NodeGUID:0002c900000001df PortGUID:0002c900000001df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-242 MT23108 Infinihost-II Mellanox Technologies} LID:013f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:06 } { CA Ports:02 SystemGUID:0002c90000000206 NodeGUID:0002c90000000206 PortGUID:0002c90000000206 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-254 MT23108 Infinihost-II Mellanox Technologies} LID:0159 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:01 } { CA Ports:02 SystemGUID:0002c90000000140 NodeGUID:0002c90000000140 PortGUID:0002c90000000140 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-195 MT23108 Infinihost-II Mellanox Technologies} LID:00d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:02 } { CA Ports:02 SystemGUID:0002c9000000016a NodeGUID:0002c9000000016a PortGUID:0002c9000000016a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-207 MT23108 Infinihost-II Mellanox Technologies} LID:00f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:03 } { CA Ports:02 SystemGUID:0002c90000000191 NodeGUID:0002c90000000191 PortGUID:0002c90000000191 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-219 MT23108 Infinihost-II Mellanox Technologies} LID:010b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:04 } { CA Ports:02 SystemGUID:0002c900000001bb NodeGUID:0002c900000001bb PortGUID:0002c900000001bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-231 MT23108 Infinihost-II Mellanox Technologies} LID:0127 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:05 } { CA Ports:02 SystemGUID:0002c900000001e2 NodeGUID:0002c900000001e2 PortGUID:0002c900000001e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-243 MT23108 Infinihost-II Mellanox Technologies} LID:0141 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:06 } { CA Ports:02 SystemGUID:0002c90000000209 NodeGUID:0002c90000000209 PortGUID:0002c90000000209 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-255 MT23108 Infinihost-II Mellanox Technologies} LID:015b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:01 } { CA Ports:02 SystemGUID:0002c90000000143 NodeGUID:0002c90000000143 PortGUID:0002c90000000143 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-196 MT23108 Infinihost-II Mellanox Technologies} LID:00d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:02 } { CA Ports:02 SystemGUID:0002c9000000016d NodeGUID:0002c9000000016d PortGUID:0002c9000000016d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-208 MT23108 Infinihost-II Mellanox Technologies} LID:00f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:03 } { CA Ports:02 SystemGUID:0002c90000000197 NodeGUID:0002c90000000197 PortGUID:0002c90000000197 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-220 MT23108 Infinihost-II Mellanox Technologies} LID:010f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:04 } { CA Ports:02 SystemGUID:0002c900000001be NodeGUID:0002c900000001be PortGUID:0002c900000001be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-232 MT23108 Infinihost-II Mellanox Technologies} LID:0129 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:05 } { CA Ports:02 SystemGUID:0002c900000001e5 NodeGUID:0002c900000001e5 PortGUID:0002c900000001e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-244 MT23108 Infinihost-II Mellanox Technologies} LID:0143 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:06 } { CA Ports:02 SystemGUID:0002c9000000020c NodeGUID:0002c9000000020c PortGUID:0002c9000000020c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-256 MT23108 Infinihost-II Mellanox Technologies} LID:015d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:01 } { CA Ports:02 SystemGUID:0002c90000000146 NodeGUID:0002c90000000146 PortGUID:0002c90000000146 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-197 MT23108 Infinihost-II Mellanox Technologies} LID:00d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:02 } { CA Ports:02 SystemGUID:0002c90000000170 NodeGUID:0002c90000000170 PortGUID:0002c90000000170 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-209 MT23108 Infinihost-II Mellanox Technologies} LID:00f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:03 } { CA Ports:02 SystemGUID:0002c9000000019a NodeGUID:0002c9000000019a PortGUID:0002c9000000019a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-221 MT23108 Infinihost-II Mellanox Technologies} LID:0111 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:04 } { CA Ports:02 SystemGUID:0002c900000001c1 NodeGUID:0002c900000001c1 PortGUID:0002c900000001c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-233 MT23108 Infinihost-II Mellanox Technologies} LID:012b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:05 } { CA Ports:02 SystemGUID:0002c900000001e8 NodeGUID:0002c900000001e8 PortGUID:0002c900000001e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-245 MT23108 Infinihost-II Mellanox Technologies} LID:0145 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:01 } { CA Ports:02 SystemGUID:0002c90000000149 NodeGUID:0002c90000000149 PortGUID:0002c90000000149 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-198 MT23108 Infinihost-II Mellanox Technologies} LID:00db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:02 } { CA Ports:02 SystemGUID:0002c90000000176 NodeGUID:0002c90000000176 PortGUID:0002c90000000176 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-210 MT23108 Infinihost-II Mellanox Technologies} LID:00f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:03 } { CA Ports:02 SystemGUID:0002c9000000019d NodeGUID:0002c9000000019d PortGUID:0002c9000000019d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-222 MT23108 Infinihost-II Mellanox Technologies} LID:0113 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:04 } { CA Ports:02 SystemGUID:0002c900000001c4 NodeGUID:0002c900000001c4 PortGUID:0002c900000001c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-234 MT23108 Infinihost-II Mellanox Technologies} LID:012d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:05 } { CA Ports:02 SystemGUID:0002c900000001eb NodeGUID:0002c900000001eb PortGUID:0002c900000001eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-246 MT23108 Infinihost-II Mellanox Technologies} LID:0147 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:01 } { CA Ports:02 SystemGUID:0002c9000000014c NodeGUID:0002c9000000014c PortGUID:0002c9000000014c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-199 MT23108 Infinihost-II Mellanox Technologies} LID:00dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:02 } { CA Ports:02 SystemGUID:0002c90000000179 NodeGUID:0002c90000000179 PortGUID:0002c90000000179 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-211 MT23108 Infinihost-II Mellanox Technologies} LID:00fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a0 NodeGUID:0002c900000001a0 PortGUID:0002c900000001a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-223 MT23108 Infinihost-II Mellanox Technologies} LID:0115 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:04 } { CA Ports:02 SystemGUID:0002c900000001c7 NodeGUID:0002c900000001c7 PortGUID:0002c900000001c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-235 MT23108 Infinihost-II Mellanox Technologies} LID:012f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:05 } { CA Ports:02 SystemGUID:0002c900000001ee NodeGUID:0002c900000001ee PortGUID:0002c900000001ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-247 MT23108 Infinihost-II Mellanox Technologies} LID:0149 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:01 } { CA Ports:02 SystemGUID:0002c90000000155 NodeGUID:0002c90000000155 PortGUID:0002c90000000155 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-200 MT23108 Infinihost-II Mellanox Technologies} LID:00e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:02 } { CA Ports:02 SystemGUID:0002c9000000017c NodeGUID:0002c9000000017c PortGUID:0002c9000000017c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-212 MT23108 Infinihost-II Mellanox Technologies} LID:00fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a3 NodeGUID:0002c900000001a3 PortGUID:0002c900000001a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-224 MT23108 Infinihost-II Mellanox Technologies} LID:0117 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:04 } { CA Ports:02 SystemGUID:0002c900000001ca NodeGUID:0002c900000001ca PortGUID:0002c900000001ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-236 MT23108 Infinihost-II Mellanox Technologies} LID:0131 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:05 } { CA Ports:02 SystemGUID:0002c900000001f1 NodeGUID:0002c900000001f1 PortGUID:0002c900000001f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-248 MT23108 Infinihost-II Mellanox Technologies} LID:014b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:01 } { CA Ports:02 SystemGUID:0002c90000000158 NodeGUID:0002c90000000158 PortGUID:0002c90000000158 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-201 MT23108 Infinihost-II Mellanox Technologies} LID:00e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:02 } { CA Ports:02 SystemGUID:0002c9000000017f NodeGUID:0002c9000000017f PortGUID:0002c9000000017f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-213 MT23108 Infinihost-II Mellanox Technologies} LID:00ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:03 } { CA Ports:02 SystemGUID:0002c900000001a6 NodeGUID:0002c900000001a6 PortGUID:0002c900000001a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-225 MT23108 Infinihost-II Mellanox Technologies} LID:0119 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:04 } { CA Ports:02 SystemGUID:0002c900000001cd NodeGUID:0002c900000001cd PortGUID:0002c900000001cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-237 MT23108 Infinihost-II Mellanox Technologies} LID:0133 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:05 } { CA Ports:02 SystemGUID:0002c900000001f4 NodeGUID:0002c900000001f4 PortGUID:0002c900000001f4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-249 MT23108 Infinihost-II Mellanox Technologies} LID:014d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0d } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0e } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0f } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:10 } { CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:11 } { CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:12 } { CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:13 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:14 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:15 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:16 } { CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:17 } { CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:18 } { CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000686 NodeGUID:0002c90000000686 PortGUID:0002c90000000686 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0443 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000688 NodeGUID:0002c90000000688 PortGUID:0002c90000000688 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0444 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:01 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:02 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:03 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:04 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:07 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:08 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:09 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0a } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0b } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0c } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0d } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0e } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:0f } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:10 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:11 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:12 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:13 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:14 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:15 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:16 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:17 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068a NodeGUID:0002c9000000068a PortGUID:0002c9000000068a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0445 PN:18 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068c NodeGUID:0002c9000000068c PortGUID:0002c9000000068c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0446 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000068e NodeGUID:0002c9000000068e PortGUID:0002c9000000068e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0447 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:01 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:02 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:03 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:04 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:06 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:07 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:08 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:09 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0a } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0b } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0c } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0d } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0e } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:0f } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:10 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:11 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:12 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:13 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:14 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:15 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:16 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:17 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000690 NodeGUID:0002c90000000690 PortGUID:0002c90000000690 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0448 PN:18 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:01 } { CA Ports:02 SystemGUID:0002c9000000020f NodeGUID:0002c9000000020f PortGUID:0002c9000000020f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-257 MT23108 Infinihost-II Mellanox Technologies} LID:015f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:02 } { CA Ports:02 SystemGUID:0002c90000000236 NodeGUID:0002c90000000236 PortGUID:0002c90000000236 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-269 MT23108 Infinihost-II Mellanox Technologies} LID:0179 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:03 } { CA Ports:02 SystemGUID:0002c90000000260 NodeGUID:0002c90000000260 PortGUID:0002c90000000260 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-281 MT23108 Infinihost-II Mellanox Technologies} LID:0195 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:04 } { CA Ports:02 SystemGUID:0002c90000000287 NodeGUID:0002c90000000287 PortGUID:0002c90000000287 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-293 MT23108 Infinihost-II Mellanox Technologies} LID:01af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:05 } { CA Ports:02 SystemGUID:0002c900000002b1 NodeGUID:0002c900000002b1 PortGUID:0002c900000002b1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-305 MT23108 Infinihost-II Mellanox Technologies} LID:01cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:06 } { CA Ports:02 SystemGUID:0002c900000002d8 NodeGUID:0002c900000002d8 PortGUID:0002c900000002d8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-317 MT23108 Infinihost-II Mellanox Technologies} LID:01e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:01 } { CA Ports:02 SystemGUID:0002c9000000022d NodeGUID:0002c9000000022d PortGUID:0002c9000000022d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-266 MT23108 Infinihost-II Mellanox Technologies} LID:0173 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:02 } { CA Ports:02 SystemGUID:0002c90000000254 NodeGUID:0002c90000000254 PortGUID:0002c90000000254 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-278 MT23108 Infinihost-II Mellanox Technologies} LID:018d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:03 } { CA Ports:02 SystemGUID:0002c9000000027e NodeGUID:0002c9000000027e PortGUID:0002c9000000027e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-290 MT23108 Infinihost-II Mellanox Technologies} LID:01a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:04 } { CA Ports:02 SystemGUID:0002c900000002a8 NodeGUID:0002c900000002a8 PortGUID:0002c900000002a8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-302 MT23108 Infinihost-II Mellanox Technologies} LID:01c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:05 } { CA Ports:02 SystemGUID:0002c900000002cf NodeGUID:0002c900000002cf PortGUID:0002c900000002cf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-314 MT23108 Infinihost-II Mellanox Technologies} LID:01df PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:01 } { CA Ports:02 SystemGUID:0002c90000000230 NodeGUID:0002c90000000230 PortGUID:0002c90000000230 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-267 MT23108 Infinihost-II Mellanox Technologies} LID:0175 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:02 } { CA Ports:02 SystemGUID:0002c90000000257 NodeGUID:0002c90000000257 PortGUID:0002c90000000257 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-279 MT23108 Infinihost-II Mellanox Technologies} LID:018f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:03 } { CA Ports:02 SystemGUID:0002c90000000281 NodeGUID:0002c90000000281 PortGUID:0002c90000000281 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-291 MT23108 Infinihost-II Mellanox Technologies} LID:01ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:04 } { CA Ports:02 SystemGUID:0002c900000002ab NodeGUID:0002c900000002ab PortGUID:0002c900000002ab VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-303 MT23108 Infinihost-II Mellanox Technologies} LID:01c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:05 } { CA Ports:02 SystemGUID:0002c900000002d2 NodeGUID:0002c900000002d2 PortGUID:0002c900000002d2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-315 MT23108 Infinihost-II Mellanox Technologies} LID:01e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:01 } { CA Ports:02 SystemGUID:0002c90000000233 NodeGUID:0002c90000000233 PortGUID:0002c90000000233 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-268 MT23108 Infinihost-II Mellanox Technologies} LID:0177 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:02 } { CA Ports:02 SystemGUID:0002c9000000025d NodeGUID:0002c9000000025d PortGUID:0002c9000000025d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-280 MT23108 Infinihost-II Mellanox Technologies} LID:0193 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:03 } { CA Ports:02 SystemGUID:0002c90000000284 NodeGUID:0002c90000000284 PortGUID:0002c90000000284 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-292 MT23108 Infinihost-II Mellanox Technologies} LID:01ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:04 } { CA Ports:02 SystemGUID:0002c900000002ae NodeGUID:0002c900000002ae PortGUID:0002c900000002ae VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-304 MT23108 Infinihost-II Mellanox Technologies} LID:01c9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:05 } { CA Ports:02 SystemGUID:0002c900000002d5 NodeGUID:0002c900000002d5 PortGUID:0002c900000002d5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-316 MT23108 Infinihost-II Mellanox Technologies} LID:01e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:01 } { CA Ports:02 SystemGUID:0002c90000000212 NodeGUID:0002c90000000212 PortGUID:0002c90000000212 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-258 MT23108 Infinihost-II Mellanox Technologies} LID:0161 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:02 } { CA Ports:02 SystemGUID:0002c9000000023c NodeGUID:0002c9000000023c PortGUID:0002c9000000023c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-270 MT23108 Infinihost-II Mellanox Technologies} LID:017d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:03 } { CA Ports:02 SystemGUID:0002c90000000263 NodeGUID:0002c90000000263 PortGUID:0002c90000000263 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-282 MT23108 Infinihost-II Mellanox Technologies} LID:0197 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:04 } { CA Ports:02 SystemGUID:0002c9000000028a NodeGUID:0002c9000000028a PortGUID:0002c9000000028a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-294 MT23108 Infinihost-II Mellanox Technologies} LID:01b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:05 } { CA Ports:02 SystemGUID:0002c900000002b4 NodeGUID:0002c900000002b4 PortGUID:0002c900000002b4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-306 MT23108 Infinihost-II Mellanox Technologies} LID:01cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:06 } { CA Ports:02 SystemGUID:0002c900000002db NodeGUID:0002c900000002db PortGUID:0002c900000002db VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-318 MT23108 Infinihost-II Mellanox Technologies} LID:01e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:01 } { CA Ports:02 SystemGUID:0002c90000000215 NodeGUID:0002c90000000215 PortGUID:0002c90000000215 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-259 MT23108 Infinihost-II Mellanox Technologies} LID:0163 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:02 } { CA Ports:02 SystemGUID:0002c9000000023f NodeGUID:0002c9000000023f PortGUID:0002c9000000023f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-271 MT23108 Infinihost-II Mellanox Technologies} LID:017f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:03 } { CA Ports:02 SystemGUID:0002c90000000266 NodeGUID:0002c90000000266 PortGUID:0002c90000000266 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-283 MT23108 Infinihost-II Mellanox Technologies} LID:0199 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:04 } { CA Ports:02 SystemGUID:0002c9000000028d NodeGUID:0002c9000000028d PortGUID:0002c9000000028d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-295 MT23108 Infinihost-II Mellanox Technologies} LID:01b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:05 } { CA Ports:02 SystemGUID:0002c900000002b7 NodeGUID:0002c900000002b7 PortGUID:0002c900000002b7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-307 MT23108 Infinihost-II Mellanox Technologies} LID:01cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:06 } { CA Ports:02 SystemGUID:0002c900000002de NodeGUID:0002c900000002de PortGUID:0002c900000002de VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-319 MT23108 Infinihost-II Mellanox Technologies} LID:01e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:01 } { CA Ports:02 SystemGUID:0002c9000000021b NodeGUID:0002c9000000021b PortGUID:0002c9000000021b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-260 MT23108 Infinihost-II Mellanox Technologies} LID:0167 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:02 } { CA Ports:02 SystemGUID:0002c90000000242 NodeGUID:0002c90000000242 PortGUID:0002c90000000242 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-272 MT23108 Infinihost-II Mellanox Technologies} LID:0181 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:03 } { CA Ports:02 SystemGUID:0002c90000000269 NodeGUID:0002c90000000269 PortGUID:0002c90000000269 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-284 MT23108 Infinihost-II Mellanox Technologies} LID:019b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:04 } { CA Ports:02 SystemGUID:0002c90000000290 NodeGUID:0002c90000000290 PortGUID:0002c90000000290 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-296 MT23108 Infinihost-II Mellanox Technologies} LID:01b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:05 } { CA Ports:02 SystemGUID:0002c900000002ba NodeGUID:0002c900000002ba PortGUID:0002c900000002ba VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-308 MT23108 Infinihost-II Mellanox Technologies} LID:01d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:06 } { CA Ports:02 SystemGUID:0002c900000002e4 NodeGUID:0002c900000002e4 PortGUID:0002c900000002e4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-320 MT23108 Infinihost-II Mellanox Technologies} LID:01ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:01 } { CA Ports:02 SystemGUID:0002c9000000021e NodeGUID:0002c9000000021e PortGUID:0002c9000000021e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-261 MT23108 Infinihost-II Mellanox Technologies} LID:0169 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:02 } { CA Ports:02 SystemGUID:0002c90000000245 NodeGUID:0002c90000000245 PortGUID:0002c90000000245 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-273 MT23108 Infinihost-II Mellanox Technologies} LID:0183 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:03 } { CA Ports:02 SystemGUID:0002c9000000026c NodeGUID:0002c9000000026c PortGUID:0002c9000000026c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-285 MT23108 Infinihost-II Mellanox Technologies} LID:019d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:04 } { CA Ports:02 SystemGUID:0002c90000000293 NodeGUID:0002c90000000293 PortGUID:0002c90000000293 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-297 MT23108 Infinihost-II Mellanox Technologies} LID:01b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:05 } { CA Ports:02 SystemGUID:0002c900000002bd NodeGUID:0002c900000002bd PortGUID:0002c900000002bd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-309 MT23108 Infinihost-II Mellanox Technologies} LID:01d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:01 } { CA Ports:02 SystemGUID:0002c90000000221 NodeGUID:0002c90000000221 PortGUID:0002c90000000221 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-262 MT23108 Infinihost-II Mellanox Technologies} LID:016b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:02 } { CA Ports:02 SystemGUID:0002c90000000248 NodeGUID:0002c90000000248 PortGUID:0002c90000000248 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-274 MT23108 Infinihost-II Mellanox Technologies} LID:0185 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:03 } { CA Ports:02 SystemGUID:0002c9000000026f NodeGUID:0002c9000000026f PortGUID:0002c9000000026f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-286 MT23108 Infinihost-II Mellanox Technologies} LID:019f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:04 } { CA Ports:02 SystemGUID:0002c90000000296 NodeGUID:0002c90000000296 PortGUID:0002c90000000296 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-298 MT23108 Infinihost-II Mellanox Technologies} LID:01b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c3 NodeGUID:0002c900000002c3 PortGUID:0002c900000002c3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-310 MT23108 Infinihost-II Mellanox Technologies} LID:01d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:01 } { CA Ports:02 SystemGUID:0002c90000000224 NodeGUID:0002c90000000224 PortGUID:0002c90000000224 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-263 MT23108 Infinihost-II Mellanox Technologies} LID:016d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:02 } { CA Ports:02 SystemGUID:0002c9000000024b NodeGUID:0002c9000000024b PortGUID:0002c9000000024b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-275 MT23108 Infinihost-II Mellanox Technologies} LID:0187 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:03 } { CA Ports:02 SystemGUID:0002c90000000272 NodeGUID:0002c90000000272 PortGUID:0002c90000000272 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-287 MT23108 Infinihost-II Mellanox Technologies} LID:01a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:04 } { CA Ports:02 SystemGUID:0002c90000000299 NodeGUID:0002c90000000299 PortGUID:0002c90000000299 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-299 MT23108 Infinihost-II Mellanox Technologies} LID:01bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c6 NodeGUID:0002c900000002c6 PortGUID:0002c900000002c6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-311 MT23108 Infinihost-II Mellanox Technologies} LID:01d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:01 } { CA Ports:02 SystemGUID:0002c90000000227 NodeGUID:0002c90000000227 PortGUID:0002c90000000227 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-264 MT23108 Infinihost-II Mellanox Technologies} LID:016f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:02 } { CA Ports:02 SystemGUID:0002c9000000024e NodeGUID:0002c9000000024e PortGUID:0002c9000000024e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-276 MT23108 Infinihost-II Mellanox Technologies} LID:0189 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:03 } { CA Ports:02 SystemGUID:0002c90000000275 NodeGUID:0002c90000000275 PortGUID:0002c90000000275 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-288 MT23108 Infinihost-II Mellanox Technologies} LID:01a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:04 } { CA Ports:02 SystemGUID:0002c900000002a2 NodeGUID:0002c900000002a2 PortGUID:0002c900000002a2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-300 MT23108 Infinihost-II Mellanox Technologies} LID:01c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:05 } { CA Ports:02 SystemGUID:0002c900000002c9 NodeGUID:0002c900000002c9 PortGUID:0002c900000002c9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-312 MT23108 Infinihost-II Mellanox Technologies} LID:01db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:01 } { CA Ports:02 SystemGUID:0002c9000000022a NodeGUID:0002c9000000022a PortGUID:0002c9000000022a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-265 MT23108 Infinihost-II Mellanox Technologies} LID:0171 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:02 } { CA Ports:02 SystemGUID:0002c90000000251 NodeGUID:0002c90000000251 PortGUID:0002c90000000251 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-277 MT23108 Infinihost-II Mellanox Technologies} LID:018b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:03 } { CA Ports:02 SystemGUID:0002c90000000278 NodeGUID:0002c90000000278 PortGUID:0002c90000000278 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-289 MT23108 Infinihost-II Mellanox Technologies} LID:01a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:04 } { CA Ports:02 SystemGUID:0002c900000002a5 NodeGUID:0002c900000002a5 PortGUID:0002c900000002a5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-301 MT23108 Infinihost-II Mellanox Technologies} LID:01c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:05 } { CA Ports:02 SystemGUID:0002c900000002cc NodeGUID:0002c900000002cc PortGUID:0002c900000002cc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-313 MT23108 Infinihost-II Mellanox Technologies} LID:01dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0d } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0f } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:10 } { CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:11 } { CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:12 } { CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:13 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:14 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:15 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:16 } { CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:17 } { CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006aa NodeGUID:0002c900000006aa PortGUID:0002c900000006aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0455 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ac NodeGUID:0002c900000006ac PortGUID:0002c900000006ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0456 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:01 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:02 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:03 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:04 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:05 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:08 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:09 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0a } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0d } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:10 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:13 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:16 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:17 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ae NodeGUID:0002c900000006ae PortGUID:0002c900000006ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0457 PN:18 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b0 NodeGUID:0002c900000006b0 PortGUID:0002c900000006b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0458 PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b2 NodeGUID:0002c900000006b2 PortGUID:0002c900000006b2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0459 PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:01 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:02 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:03 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:04 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:05 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:08 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:09 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0a } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0b } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0c } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0d } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0e } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:0f } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:10 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:11 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:12 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:13 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:14 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:15 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:16 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:17 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b4 NodeGUID:0002c900000006b4 PortGUID:0002c900000006b4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:045a PN:18 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:01 } { CA Ports:02 SystemGUID:0002c900000002e7 NodeGUID:0002c900000002e7 PortGUID:0002c900000002e7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-321 MT23108 Infinihost-II Mellanox Technologies} LID:01ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:02 } { CA Ports:02 SystemGUID:0002c9000000030e NodeGUID:0002c9000000030e PortGUID:0002c9000000030e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-333 MT23108 Infinihost-II Mellanox Technologies} LID:0209 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:03 } { CA Ports:02 SystemGUID:0002c90000000335 NodeGUID:0002c90000000335 PortGUID:0002c90000000335 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-345 MT23108 Infinihost-II Mellanox Technologies} LID:0223 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:04 } { CA Ports:02 SystemGUID:0002c9000000035c NodeGUID:0002c9000000035c PortGUID:0002c9000000035c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-357 MT23108 Infinihost-II Mellanox Technologies} LID:023d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:05 } { CA Ports:02 SystemGUID:0002c90000000383 NodeGUID:0002c90000000383 PortGUID:0002c90000000383 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-369 MT23108 Infinihost-II Mellanox Technologies} LID:0257 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:06 } { CA Ports:02 SystemGUID:0002c900000003ad NodeGUID:0002c900000003ad PortGUID:0002c900000003ad VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-381 MT23108 Infinihost-II Mellanox Technologies} LID:0273 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:01 } { CA Ports:02 SystemGUID:0002c90000000305 NodeGUID:0002c90000000305 PortGUID:0002c90000000305 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-330 MT23108 Infinihost-II Mellanox Technologies} LID:0203 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:02 } { CA Ports:02 SystemGUID:0002c9000000032c NodeGUID:0002c9000000032c PortGUID:0002c9000000032c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-342 MT23108 Infinihost-II Mellanox Technologies} LID:021d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:03 } { CA Ports:02 SystemGUID:0002c90000000353 NodeGUID:0002c90000000353 PortGUID:0002c90000000353 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-354 MT23108 Infinihost-II Mellanox Technologies} LID:0237 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:04 } { CA Ports:02 SystemGUID:0002c9000000037a NodeGUID:0002c9000000037a PortGUID:0002c9000000037a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-366 MT23108 Infinihost-II Mellanox Technologies} LID:0251 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:05 } { CA Ports:02 SystemGUID:0002c900000003a1 NodeGUID:0002c900000003a1 PortGUID:0002c900000003a1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-378 MT23108 Infinihost-II Mellanox Technologies} LID:026b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:01 } { CA Ports:02 SystemGUID:0002c90000000308 NodeGUID:0002c90000000308 PortGUID:0002c90000000308 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-331 MT23108 Infinihost-II Mellanox Technologies} LID:0205 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:02 } { CA Ports:02 SystemGUID:0002c9000000032f NodeGUID:0002c9000000032f PortGUID:0002c9000000032f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-343 MT23108 Infinihost-II Mellanox Technologies} LID:021f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:03 } { CA Ports:02 SystemGUID:0002c90000000356 NodeGUID:0002c90000000356 PortGUID:0002c90000000356 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-355 MT23108 Infinihost-II Mellanox Technologies} LID:0239 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:04 } { CA Ports:02 SystemGUID:0002c9000000037d NodeGUID:0002c9000000037d PortGUID:0002c9000000037d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-367 MT23108 Infinihost-II Mellanox Technologies} LID:0253 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:05 } { CA Ports:02 SystemGUID:0002c900000003a4 NodeGUID:0002c900000003a4 PortGUID:0002c900000003a4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-379 MT23108 Infinihost-II Mellanox Technologies} LID:026d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:07 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:01 } { CA Ports:02 SystemGUID:0002c9000000030b NodeGUID:0002c9000000030b PortGUID:0002c9000000030b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-332 MT23108 Infinihost-II Mellanox Technologies} LID:0207 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:02 } { CA Ports:02 SystemGUID:0002c90000000332 NodeGUID:0002c90000000332 PortGUID:0002c90000000332 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-344 MT23108 Infinihost-II Mellanox Technologies} LID:0221 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:03 } { CA Ports:02 SystemGUID:0002c90000000359 NodeGUID:0002c90000000359 PortGUID:0002c90000000359 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-356 MT23108 Infinihost-II Mellanox Technologies} LID:023b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:04 } { CA Ports:02 SystemGUID:0002c90000000380 NodeGUID:0002c90000000380 PortGUID:0002c90000000380 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-368 MT23108 Infinihost-II Mellanox Technologies} LID:0255 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:05 } { CA Ports:02 SystemGUID:0002c900000003aa NodeGUID:0002c900000003aa PortGUID:0002c900000003aa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-380 MT23108 Infinihost-II Mellanox Technologies} LID:0271 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:07 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:01 } { CA Ports:02 SystemGUID:0002c900000002ea NodeGUID:0002c900000002ea PortGUID:0002c900000002ea VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-322 MT23108 Infinihost-II Mellanox Technologies} LID:01f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:02 } { CA Ports:02 SystemGUID:0002c90000000311 NodeGUID:0002c90000000311 PortGUID:0002c90000000311 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-334 MT23108 Infinihost-II Mellanox Technologies} LID:020b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:03 } { CA Ports:02 SystemGUID:0002c90000000338 NodeGUID:0002c90000000338 PortGUID:0002c90000000338 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-346 MT23108 Infinihost-II Mellanox Technologies} LID:0225 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:04 } { CA Ports:02 SystemGUID:0002c9000000035f NodeGUID:0002c9000000035f PortGUID:0002c9000000035f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-358 MT23108 Infinihost-II Mellanox Technologies} LID:023f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:05 } { CA Ports:02 SystemGUID:0002c90000000389 NodeGUID:0002c90000000389 PortGUID:0002c90000000389 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-370 MT23108 Infinihost-II Mellanox Technologies} LID:025b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:06 } { CA Ports:02 SystemGUID:0002c900000003b0 NodeGUID:0002c900000003b0 PortGUID:0002c900000003b0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-382 MT23108 Infinihost-II Mellanox Technologies} LID:0275 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:01 } { CA Ports:02 SystemGUID:0002c900000002ed NodeGUID:0002c900000002ed PortGUID:0002c900000002ed VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-323 MT23108 Infinihost-II Mellanox Technologies} LID:01f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:02 } { CA Ports:02 SystemGUID:0002c90000000314 NodeGUID:0002c90000000314 PortGUID:0002c90000000314 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-335 MT23108 Infinihost-II Mellanox Technologies} LID:020d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:03 } { CA Ports:02 SystemGUID:0002c9000000033b NodeGUID:0002c9000000033b PortGUID:0002c9000000033b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-347 MT23108 Infinihost-II Mellanox Technologies} LID:0227 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:04 } { CA Ports:02 SystemGUID:0002c90000000362 NodeGUID:0002c90000000362 PortGUID:0002c90000000362 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-359 MT23108 Infinihost-II Mellanox Technologies} LID:0241 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:05 } { CA Ports:02 SystemGUID:0002c9000000038c NodeGUID:0002c9000000038c PortGUID:0002c9000000038c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-371 MT23108 Infinihost-II Mellanox Technologies} LID:025d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:06 } { CA Ports:02 SystemGUID:0002c900000003b3 NodeGUID:0002c900000003b3 PortGUID:0002c900000003b3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-383 MT23108 Infinihost-II Mellanox Technologies} LID:0277 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f0 NodeGUID:0002c900000002f0 PortGUID:0002c900000002f0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-324 MT23108 Infinihost-II Mellanox Technologies} LID:01f5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:02 } { CA Ports:02 SystemGUID:0002c90000000317 NodeGUID:0002c90000000317 PortGUID:0002c90000000317 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-336 MT23108 Infinihost-II Mellanox Technologies} LID:020f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:03 } { CA Ports:02 SystemGUID:0002c9000000033e NodeGUID:0002c9000000033e PortGUID:0002c9000000033e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-348 MT23108 Infinihost-II Mellanox Technologies} LID:0229 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:04 } { CA Ports:02 SystemGUID:0002c90000000368 NodeGUID:0002c90000000368 PortGUID:0002c90000000368 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-360 MT23108 Infinihost-II Mellanox Technologies} LID:0245 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:05 } { CA Ports:02 SystemGUID:0002c9000000038f NodeGUID:0002c9000000038f PortGUID:0002c9000000038f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-372 MT23108 Infinihost-II Mellanox Technologies} LID:025f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:06 } { CA Ports:02 SystemGUID:0002c900000003b6 NodeGUID:0002c900000003b6 PortGUID:0002c900000003b6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-384 MT23108 Infinihost-II Mellanox Technologies} LID:0279 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f3 NodeGUID:0002c900000002f3 PortGUID:0002c900000002f3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-325 MT23108 Infinihost-II Mellanox Technologies} LID:01f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:02 } { CA Ports:02 SystemGUID:0002c9000000031a NodeGUID:0002c9000000031a PortGUID:0002c9000000031a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-337 MT23108 Infinihost-II Mellanox Technologies} LID:0211 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:03 } { CA Ports:02 SystemGUID:0002c90000000341 NodeGUID:0002c90000000341 PortGUID:0002c90000000341 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-349 MT23108 Infinihost-II Mellanox Technologies} LID:022b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:04 } { CA Ports:02 SystemGUID:0002c9000000036b NodeGUID:0002c9000000036b PortGUID:0002c9000000036b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-361 MT23108 Infinihost-II Mellanox Technologies} LID:0247 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:05 } { CA Ports:02 SystemGUID:0002c90000000392 NodeGUID:0002c90000000392 PortGUID:0002c90000000392 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-373 MT23108 Infinihost-II Mellanox Technologies} LID:0261 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f6 NodeGUID:0002c900000002f6 PortGUID:0002c900000002f6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-326 MT23108 Infinihost-II Mellanox Technologies} LID:01f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:02 } { CA Ports:02 SystemGUID:0002c9000000031d NodeGUID:0002c9000000031d PortGUID:0002c9000000031d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-338 MT23108 Infinihost-II Mellanox Technologies} LID:0213 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:03 } { CA Ports:02 SystemGUID:0002c90000000347 NodeGUID:0002c90000000347 PortGUID:0002c90000000347 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-350 MT23108 Infinihost-II Mellanox Technologies} LID:022f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:04 } { CA Ports:02 SystemGUID:0002c9000000036e NodeGUID:0002c9000000036e PortGUID:0002c9000000036e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-362 MT23108 Infinihost-II Mellanox Technologies} LID:0249 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:05 } { CA Ports:02 SystemGUID:0002c90000000395 NodeGUID:0002c90000000395 PortGUID:0002c90000000395 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-374 MT23108 Infinihost-II Mellanox Technologies} LID:0263 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:01 } { CA Ports:02 SystemGUID:0002c900000002f9 NodeGUID:0002c900000002f9 PortGUID:0002c900000002f9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-327 MT23108 Infinihost-II Mellanox Technologies} LID:01fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:02 } { CA Ports:02 SystemGUID:0002c90000000320 NodeGUID:0002c90000000320 PortGUID:0002c90000000320 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-339 MT23108 Infinihost-II Mellanox Technologies} LID:0215 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:03 } { CA Ports:02 SystemGUID:0002c9000000034a NodeGUID:0002c9000000034a PortGUID:0002c9000000034a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-351 MT23108 Infinihost-II Mellanox Technologies} LID:0231 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:04 } { CA Ports:02 SystemGUID:0002c90000000371 NodeGUID:0002c90000000371 PortGUID:0002c90000000371 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-363 MT23108 Infinihost-II Mellanox Technologies} LID:024b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:05 } { CA Ports:02 SystemGUID:0002c90000000398 NodeGUID:0002c90000000398 PortGUID:0002c90000000398 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-375 MT23108 Infinihost-II Mellanox Technologies} LID:0265 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:01 } { CA Ports:02 SystemGUID:0002c900000002fc NodeGUID:0002c900000002fc PortGUID:0002c900000002fc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-328 MT23108 Infinihost-II Mellanox Technologies} LID:01fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:02 } { CA Ports:02 SystemGUID:0002c90000000326 NodeGUID:0002c90000000326 PortGUID:0002c90000000326 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-340 MT23108 Infinihost-II Mellanox Technologies} LID:0219 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:03 } { CA Ports:02 SystemGUID:0002c9000000034d NodeGUID:0002c9000000034d PortGUID:0002c9000000034d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-352 MT23108 Infinihost-II Mellanox Technologies} LID:0233 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:04 } { CA Ports:02 SystemGUID:0002c90000000374 NodeGUID:0002c90000000374 PortGUID:0002c90000000374 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-364 MT23108 Infinihost-II Mellanox Technologies} LID:024d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:05 } { CA Ports:02 SystemGUID:0002c9000000039b NodeGUID:0002c9000000039b PortGUID:0002c9000000039b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-376 MT23108 Infinihost-II Mellanox Technologies} LID:0267 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:01 } { CA Ports:02 SystemGUID:0002c900000002ff NodeGUID:0002c900000002ff PortGUID:0002c900000002ff VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-329 MT23108 Infinihost-II Mellanox Technologies} LID:01ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:02 } { CA Ports:02 SystemGUID:0002c90000000329 NodeGUID:0002c90000000329 PortGUID:0002c90000000329 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-341 MT23108 Infinihost-II Mellanox Technologies} LID:021b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:03 } { CA Ports:02 SystemGUID:0002c90000000350 NodeGUID:0002c90000000350 PortGUID:0002c90000000350 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-353 MT23108 Infinihost-II Mellanox Technologies} LID:0235 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:04 } { CA Ports:02 SystemGUID:0002c90000000377 NodeGUID:0002c90000000377 PortGUID:0002c90000000377 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-365 MT23108 Infinihost-II Mellanox Technologies} LID:024f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:05 } { CA Ports:02 SystemGUID:0002c9000000039e NodeGUID:0002c9000000039e PortGUID:0002c9000000039e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-377 MT23108 Infinihost-II Mellanox Technologies} LID:0269 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0d } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0e } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:10 } { CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:11 } { CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:13 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:14 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:15 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:16 } { CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:17 } { CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:18 } { CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ce NodeGUID:0002c900000006ce PortGUID:0002c900000006ce VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0467 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d0 NodeGUID:0002c900000006d0 PortGUID:0002c900000006d0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0468 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:01 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:02 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:03 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:04 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:05 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:06 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:09 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0a } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0c } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0d } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:0f } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:10 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:11 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:12 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:13 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:14 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:15 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:16 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:17 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d2 NodeGUID:0002c900000006d2 PortGUID:0002c900000006d2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0469 PN:18 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d4 NodeGUID:0002c900000006d4 PortGUID:0002c900000006d4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046a PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d6 NodeGUID:0002c900000006d6 PortGUID:0002c900000006d6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046b PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:01 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:02 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:03 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:04 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:05 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:06 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:07 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:09 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0a } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0b } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0c } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0d } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0e } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:0f } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:10 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:12 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:13 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:14 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:15 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:16 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:17 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006d8 NodeGUID:0002c900000006d8 PortGUID:0002c900000006d8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:046c PN:18 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:01 } { CA Ports:02 SystemGUID:0002c900000003b9 NodeGUID:0002c900000003b9 PortGUID:0002c900000003b9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-385 MT23108 Infinihost-II Mellanox Technologies} LID:027b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:02 } { CA Ports:02 SystemGUID:0002c900000003e0 NodeGUID:0002c900000003e0 PortGUID:0002c900000003e0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-397 MT23108 Infinihost-II Mellanox Technologies} LID:0295 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:03 } { CA Ports:02 SystemGUID:0002c9000000040a NodeGUID:0002c9000000040a PortGUID:0002c9000000040a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-409 MT23108 Infinihost-II Mellanox Technologies} LID:02b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:04 } { CA Ports:02 SystemGUID:0002c90000000434 NodeGUID:0002c90000000434 PortGUID:0002c90000000434 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-421 MT23108 Infinihost-II Mellanox Technologies} LID:02cd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:05 } { CA Ports:02 SystemGUID:0002c9000000045b NodeGUID:0002c9000000045b PortGUID:0002c9000000045b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-433 MT23108 Infinihost-II Mellanox Technologies} LID:02e7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:06 } { CA Ports:02 SystemGUID:0002c90000000482 NodeGUID:0002c90000000482 PortGUID:0002c90000000482 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-445 MT23108 Infinihost-II Mellanox Technologies} LID:0301 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:07 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0b } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:01 } { CA Ports:02 SystemGUID:0002c900000003d7 NodeGUID:0002c900000003d7 PortGUID:0002c900000003d7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-394 MT23108 Infinihost-II Mellanox Technologies} LID:028f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:02 } { CA Ports:02 SystemGUID:0002c90000000401 NodeGUID:0002c90000000401 PortGUID:0002c90000000401 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-406 MT23108 Infinihost-II Mellanox Technologies} LID:02ab PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:03 } { CA Ports:02 SystemGUID:0002c90000000428 NodeGUID:0002c90000000428 PortGUID:0002c90000000428 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-418 MT23108 Infinihost-II Mellanox Technologies} LID:02c5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:04 } { CA Ports:02 SystemGUID:0002c90000000452 NodeGUID:0002c90000000452 PortGUID:0002c90000000452 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-430 MT23108 Infinihost-II Mellanox Technologies} LID:02e1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:05 } { CA Ports:02 SystemGUID:0002c90000000479 NodeGUID:0002c90000000479 PortGUID:0002c90000000479 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-442 MT23108 Infinihost-II Mellanox Technologies} LID:02fb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:07 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:01 } { CA Ports:02 SystemGUID:0002c900000003da NodeGUID:0002c900000003da PortGUID:0002c900000003da VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-395 MT23108 Infinihost-II Mellanox Technologies} LID:0291 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:02 } { CA Ports:02 SystemGUID:0002c90000000404 NodeGUID:0002c90000000404 PortGUID:0002c90000000404 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-407 MT23108 Infinihost-II Mellanox Technologies} LID:02ad PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:03 } { CA Ports:02 SystemGUID:0002c9000000042b NodeGUID:0002c9000000042b PortGUID:0002c9000000042b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-419 MT23108 Infinihost-II Mellanox Technologies} LID:02c7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:04 } { CA Ports:02 SystemGUID:0002c90000000455 NodeGUID:0002c90000000455 PortGUID:0002c90000000455 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-431 MT23108 Infinihost-II Mellanox Technologies} LID:02e3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:05 } { CA Ports:02 SystemGUID:0002c9000000047c NodeGUID:0002c9000000047c PortGUID:0002c9000000047c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-443 MT23108 Infinihost-II Mellanox Technologies} LID:02fd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:01 } { CA Ports:02 SystemGUID:0002c900000003dd NodeGUID:0002c900000003dd PortGUID:0002c900000003dd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-396 MT23108 Infinihost-II Mellanox Technologies} LID:0293 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:02 } { CA Ports:02 SystemGUID:0002c90000000407 NodeGUID:0002c90000000407 PortGUID:0002c90000000407 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-408 MT23108 Infinihost-II Mellanox Technologies} LID:02af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:03 } { CA Ports:02 SystemGUID:0002c90000000431 NodeGUID:0002c90000000431 PortGUID:0002c90000000431 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-420 MT23108 Infinihost-II Mellanox Technologies} LID:02cb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:04 } { CA Ports:02 SystemGUID:0002c90000000458 NodeGUID:0002c90000000458 PortGUID:0002c90000000458 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-432 MT23108 Infinihost-II Mellanox Technologies} LID:02e5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:05 } { CA Ports:02 SystemGUID:0002c9000000047f NodeGUID:0002c9000000047f PortGUID:0002c9000000047f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-444 MT23108 Infinihost-II Mellanox Technologies} LID:02ff PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:07 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:01 } { CA Ports:02 SystemGUID:0002c900000003bc NodeGUID:0002c900000003bc PortGUID:0002c900000003bc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-386 MT23108 Infinihost-II Mellanox Technologies} LID:027d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:02 } { CA Ports:02 SystemGUID:0002c900000003e3 NodeGUID:0002c900000003e3 PortGUID:0002c900000003e3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-398 MT23108 Infinihost-II Mellanox Technologies} LID:0297 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:03 } { CA Ports:02 SystemGUID:0002c90000000410 NodeGUID:0002c90000000410 PortGUID:0002c90000000410 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-410 MT23108 Infinihost-II Mellanox Technologies} LID:02b5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:04 } { CA Ports:02 SystemGUID:0002c90000000437 NodeGUID:0002c90000000437 PortGUID:0002c90000000437 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-422 MT23108 Infinihost-II Mellanox Technologies} LID:02cf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:05 } { CA Ports:02 SystemGUID:0002c9000000045e NodeGUID:0002c9000000045e PortGUID:0002c9000000045e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-434 MT23108 Infinihost-II Mellanox Technologies} LID:02e9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:06 } { CA Ports:02 SystemGUID:0002c90000000485 NodeGUID:0002c90000000485 PortGUID:0002c90000000485 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-446 MT23108 Infinihost-II Mellanox Technologies} LID:0303 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0b } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:01 } { CA Ports:02 SystemGUID:0002c900000003bf NodeGUID:0002c900000003bf PortGUID:0002c900000003bf VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-387 MT23108 Infinihost-II Mellanox Technologies} LID:027f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:02 } { CA Ports:02 SystemGUID:0002c900000003e6 NodeGUID:0002c900000003e6 PortGUID:0002c900000003e6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-399 MT23108 Infinihost-II Mellanox Technologies} LID:0299 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:03 } { CA Ports:02 SystemGUID:0002c90000000413 NodeGUID:0002c90000000413 PortGUID:0002c90000000413 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-411 MT23108 Infinihost-II Mellanox Technologies} LID:02b7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:04 } { CA Ports:02 SystemGUID:0002c9000000043a NodeGUID:0002c9000000043a PortGUID:0002c9000000043a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-423 MT23108 Infinihost-II Mellanox Technologies} LID:02d1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:05 } { CA Ports:02 SystemGUID:0002c90000000461 NodeGUID:0002c90000000461 PortGUID:0002c90000000461 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-435 MT23108 Infinihost-II Mellanox Technologies} LID:02eb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:06 } { CA Ports:02 SystemGUID:0002c90000000488 NodeGUID:0002c90000000488 PortGUID:0002c90000000488 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-447 MT23108 Infinihost-II Mellanox Technologies} LID:0305 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:07 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0b } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:01 } { CA Ports:02 SystemGUID:0002c900000003c2 NodeGUID:0002c900000003c2 PortGUID:0002c900000003c2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-388 MT23108 Infinihost-II Mellanox Technologies} LID:0281 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:02 } { CA Ports:02 SystemGUID:0002c900000003ef NodeGUID:0002c900000003ef PortGUID:0002c900000003ef VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-400 MT23108 Infinihost-II Mellanox Technologies} LID:029f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:03 } { CA Ports:02 SystemGUID:0002c90000000416 NodeGUID:0002c90000000416 PortGUID:0002c90000000416 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-412 MT23108 Infinihost-II Mellanox Technologies} LID:02b9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:04 } { CA Ports:02 SystemGUID:0002c9000000043d NodeGUID:0002c9000000043d PortGUID:0002c9000000043d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-424 MT23108 Infinihost-II Mellanox Technologies} LID:02d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:05 } { CA Ports:02 SystemGUID:0002c90000000464 NodeGUID:0002c90000000464 PortGUID:0002c90000000464 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-436 MT23108 Infinihost-II Mellanox Technologies} LID:02ed PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:06 } { CA Ports:02 SystemGUID:0002c9000000048b NodeGUID:0002c9000000048b PortGUID:0002c9000000048b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-448 MT23108 Infinihost-II Mellanox Technologies} LID:0307 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:07 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0b } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:01 } { CA Ports:02 SystemGUID:0002c900000003c5 NodeGUID:0002c900000003c5 PortGUID:0002c900000003c5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-389 MT23108 Infinihost-II Mellanox Technologies} LID:0283 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f2 NodeGUID:0002c900000003f2 PortGUID:0002c900000003f2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-401 MT23108 Infinihost-II Mellanox Technologies} LID:02a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:03 } { CA Ports:02 SystemGUID:0002c90000000419 NodeGUID:0002c90000000419 PortGUID:0002c90000000419 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-413 MT23108 Infinihost-II Mellanox Technologies} LID:02bb PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:04 } { CA Ports:02 SystemGUID:0002c90000000440 NodeGUID:0002c90000000440 PortGUID:0002c90000000440 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-425 MT23108 Infinihost-II Mellanox Technologies} LID:02d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:05 } { CA Ports:02 SystemGUID:0002c90000000467 NodeGUID:0002c90000000467 PortGUID:0002c90000000467 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-437 MT23108 Infinihost-II Mellanox Technologies} LID:02ef PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0a } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:01 } { CA Ports:02 SystemGUID:0002c900000003cb NodeGUID:0002c900000003cb PortGUID:0002c900000003cb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-390 MT23108 Infinihost-II Mellanox Technologies} LID:0287 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f5 NodeGUID:0002c900000003f5 PortGUID:0002c900000003f5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-402 MT23108 Infinihost-II Mellanox Technologies} LID:02a3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:03 } { CA Ports:02 SystemGUID:0002c9000000041c NodeGUID:0002c9000000041c PortGUID:0002c9000000041c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-414 MT23108 Infinihost-II Mellanox Technologies} LID:02bd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:04 } { CA Ports:02 SystemGUID:0002c90000000443 NodeGUID:0002c90000000443 PortGUID:0002c90000000443 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-426 MT23108 Infinihost-II Mellanox Technologies} LID:02d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:05 } { CA Ports:02 SystemGUID:0002c9000000046a NodeGUID:0002c9000000046a PortGUID:0002c9000000046a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-438 MT23108 Infinihost-II Mellanox Technologies} LID:02f1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0a } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:01 } { CA Ports:02 SystemGUID:0002c900000003ce NodeGUID:0002c900000003ce PortGUID:0002c900000003ce VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-391 MT23108 Infinihost-II Mellanox Technologies} LID:0289 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:02 } { CA Ports:02 SystemGUID:0002c900000003f8 NodeGUID:0002c900000003f8 PortGUID:0002c900000003f8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-403 MT23108 Infinihost-II Mellanox Technologies} LID:02a5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:03 } { CA Ports:02 SystemGUID:0002c9000000041f NodeGUID:0002c9000000041f PortGUID:0002c9000000041f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-415 MT23108 Infinihost-II Mellanox Technologies} LID:02bf PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:04 } { CA Ports:02 SystemGUID:0002c90000000446 NodeGUID:0002c90000000446 PortGUID:0002c90000000446 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-427 MT23108 Infinihost-II Mellanox Technologies} LID:02d9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:05 } { CA Ports:02 SystemGUID:0002c9000000046d NodeGUID:0002c9000000046d PortGUID:0002c9000000046d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-439 MT23108 Infinihost-II Mellanox Technologies} LID:02f3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0a } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:01 } { CA Ports:02 SystemGUID:0002c900000003d1 NodeGUID:0002c900000003d1 PortGUID:0002c900000003d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-392 MT23108 Infinihost-II Mellanox Technologies} LID:028b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:02 } { CA Ports:02 SystemGUID:0002c900000003fb NodeGUID:0002c900000003fb PortGUID:0002c900000003fb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-404 MT23108 Infinihost-II Mellanox Technologies} LID:02a7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:03 } { CA Ports:02 SystemGUID:0002c90000000422 NodeGUID:0002c90000000422 PortGUID:0002c90000000422 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-416 MT23108 Infinihost-II Mellanox Technologies} LID:02c1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:04 } { CA Ports:02 SystemGUID:0002c90000000449 NodeGUID:0002c90000000449 PortGUID:0002c90000000449 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-428 MT23108 Infinihost-II Mellanox Technologies} LID:02db PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:05 } { CA Ports:02 SystemGUID:0002c90000000473 NodeGUID:0002c90000000473 PortGUID:0002c90000000473 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-440 MT23108 Infinihost-II Mellanox Technologies} LID:02f7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:06 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:01 } { CA Ports:02 SystemGUID:0002c900000003d4 NodeGUID:0002c900000003d4 PortGUID:0002c900000003d4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-393 MT23108 Infinihost-II Mellanox Technologies} LID:028d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:02 } { CA Ports:02 SystemGUID:0002c900000003fe NodeGUID:0002c900000003fe PortGUID:0002c900000003fe VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-405 MT23108 Infinihost-II Mellanox Technologies} LID:02a9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:03 } { CA Ports:02 SystemGUID:0002c90000000425 NodeGUID:0002c90000000425 PortGUID:0002c90000000425 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-417 MT23108 Infinihost-II Mellanox Technologies} LID:02c3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:04 } { CA Ports:02 SystemGUID:0002c9000000044c NodeGUID:0002c9000000044c PortGUID:0002c9000000044c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-429 MT23108 Infinihost-II Mellanox Technologies} LID:02dd PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:05 } { CA Ports:02 SystemGUID:0002c90000000476 NodeGUID:0002c90000000476 PortGUID:0002c90000000476 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-441 MT23108 Infinihost-II Mellanox Technologies} LID:02f9 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:07 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0e } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0f } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:10 } { CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:11 } { CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:12 } { CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:13 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:14 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:15 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:16 } { CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:17 } { CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:18 } { CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f2 NodeGUID:0002c900000006f2 PortGUID:0002c900000006f2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0479 PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f4 NodeGUID:0002c900000006f4 PortGUID:0002c900000006f4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047a PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:01 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:02 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:03 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:04 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:05 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:06 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:07 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:08 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0b } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0c } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0d } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0e } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:0f } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:10 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:11 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:12 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:13 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:14 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:15 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:16 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:17 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f6 NodeGUID:0002c900000006f6 PortGUID:0002c900000006f6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047b PN:18 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006f8 NodeGUID:0002c900000006f8 PortGUID:0002c900000006f8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047c PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fa NodeGUID:0002c900000006fa PortGUID:0002c900000006fa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047d PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:01 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:02 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:03 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:04 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:05 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:06 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:07 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:08 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0a } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0b } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0c } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0d } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0e } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:0f } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:10 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:11 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:12 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:13 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:14 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:15 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:16 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:17 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fc NodeGUID:0002c900000006fc PortGUID:0002c900000006fc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:047e PN:18 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:01 } { CA Ports:02 SystemGUID:0002c9000000048e NodeGUID:0002c9000000048e PortGUID:0002c9000000048e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-449 MT23108 Infinihost-II Mellanox Technologies} LID:0309 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:02 } { CA Ports:02 SystemGUID:0002c900000004b8 NodeGUID:0002c900000004b8 PortGUID:0002c900000004b8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-461 MT23108 Infinihost-II Mellanox Technologies} LID:0325 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:03 } { CA Ports:02 SystemGUID:0002c900000004df NodeGUID:0002c900000004df PortGUID:0002c900000004df VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-473 MT23108 Infinihost-II Mellanox Technologies} LID:033f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:04 } { CA Ports:02 SystemGUID:0002c90000000506 NodeGUID:0002c90000000506 PortGUID:0002c90000000506 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-485 MT23108 Infinihost-II Mellanox Technologies} LID:0359 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:05 } { CA Ports:02 SystemGUID:0002c9000000052d NodeGUID:0002c9000000052d PortGUID:0002c9000000052d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-497 MT23108 Infinihost-II Mellanox Technologies} LID:0373 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:06 } { CA Ports:02 SystemGUID:0002c90000000557 NodeGUID:0002c90000000557 PortGUID:0002c90000000557 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-509 MT23108 Infinihost-II Mellanox Technologies} LID:038f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:07 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:08 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0b } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:01 } { CA Ports:02 SystemGUID:0002c900000004ac NodeGUID:0002c900000004ac PortGUID:0002c900000004ac VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-458 MT23108 Infinihost-II Mellanox Technologies} LID:031d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:02 } { CA Ports:02 SystemGUID:0002c900000004d6 NodeGUID:0002c900000004d6 PortGUID:0002c900000004d6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-470 MT23108 Infinihost-II Mellanox Technologies} LID:0339 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:03 } { CA Ports:02 SystemGUID:0002c900000004fd NodeGUID:0002c900000004fd PortGUID:0002c900000004fd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-482 MT23108 Infinihost-II Mellanox Technologies} LID:0353 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:04 } { CA Ports:02 SystemGUID:0002c90000000524 NodeGUID:0002c90000000524 PortGUID:0002c90000000524 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-494 MT23108 Infinihost-II Mellanox Technologies} LID:036d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:05 } { CA Ports:02 SystemGUID:0002c9000000054e NodeGUID:0002c9000000054e PortGUID:0002c9000000054e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-506 MT23108 Infinihost-II Mellanox Technologies} LID:0389 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:06 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:07 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:08 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0a } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:01 } { CA Ports:02 SystemGUID:0002c900000004af NodeGUID:0002c900000004af PortGUID:0002c900000004af VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-459 MT23108 Infinihost-II Mellanox Technologies} LID:031f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:02 } { CA Ports:02 SystemGUID:0002c900000004d9 NodeGUID:0002c900000004d9 PortGUID:0002c900000004d9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-471 MT23108 Infinihost-II Mellanox Technologies} LID:033b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:03 } { CA Ports:02 SystemGUID:0002c90000000500 NodeGUID:0002c90000000500 PortGUID:0002c90000000500 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-483 MT23108 Infinihost-II Mellanox Technologies} LID:0355 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:04 } { CA Ports:02 SystemGUID:0002c90000000527 NodeGUID:0002c90000000527 PortGUID:0002c90000000527 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-495 MT23108 Infinihost-II Mellanox Technologies} LID:036f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:05 } { CA Ports:02 SystemGUID:0002c90000000551 NodeGUID:0002c90000000551 PortGUID:0002c90000000551 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-507 MT23108 Infinihost-II Mellanox Technologies} LID:038b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:06 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:07 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:08 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0a } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:01 } { CA Ports:02 SystemGUID:0002c900000004b5 NodeGUID:0002c900000004b5 PortGUID:0002c900000004b5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-460 MT23108 Infinihost-II Mellanox Technologies} LID:0323 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:02 } { CA Ports:02 SystemGUID:0002c900000004dc NodeGUID:0002c900000004dc PortGUID:0002c900000004dc VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-472 MT23108 Infinihost-II Mellanox Technologies} LID:033d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:03 } { CA Ports:02 SystemGUID:0002c90000000503 NodeGUID:0002c90000000503 PortGUID:0002c90000000503 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-484 MT23108 Infinihost-II Mellanox Technologies} LID:0357 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:04 } { CA Ports:02 SystemGUID:0002c9000000052a NodeGUID:0002c9000000052a PortGUID:0002c9000000052a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-496 MT23108 Infinihost-II Mellanox Technologies} LID:0371 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:05 } { CA Ports:02 SystemGUID:0002c90000000554 NodeGUID:0002c90000000554 PortGUID:0002c90000000554 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-508 MT23108 Infinihost-II Mellanox Technologies} LID:038d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:07 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:08 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0a } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:01 } { CA Ports:02 SystemGUID:0002c90000000494 NodeGUID:0002c90000000494 PortGUID:0002c90000000494 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-450 MT23108 Infinihost-II Mellanox Technologies} LID:030d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:02 } { CA Ports:02 SystemGUID:0002c900000004bb NodeGUID:0002c900000004bb PortGUID:0002c900000004bb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-462 MT23108 Infinihost-II Mellanox Technologies} LID:0327 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e2 NodeGUID:0002c900000004e2 PortGUID:0002c900000004e2 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-474 MT23108 Infinihost-II Mellanox Technologies} LID:0341 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:04 } { CA Ports:02 SystemGUID:0002c90000000509 NodeGUID:0002c90000000509 PortGUID:0002c90000000509 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-486 MT23108 Infinihost-II Mellanox Technologies} LID:035b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:05 } { CA Ports:02 SystemGUID:0002c90000000530 NodeGUID:0002c90000000530 PortGUID:0002c90000000530 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-498 MT23108 Infinihost-II Mellanox Technologies} LID:0375 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:06 } { CA Ports:02 SystemGUID:0002c9000000055d NodeGUID:0002c9000000055d PortGUID:0002c9000000055d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-510 MT23108 Infinihost-II Mellanox Technologies} LID:0393 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:08 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0b } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:01 } { CA Ports:02 SystemGUID:0002c90000000497 NodeGUID:0002c90000000497 PortGUID:0002c90000000497 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-451 MT23108 Infinihost-II Mellanox Technologies} LID:030f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:02 } { CA Ports:02 SystemGUID:0002c900000004be NodeGUID:0002c900000004be PortGUID:0002c900000004be VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-463 MT23108 Infinihost-II Mellanox Technologies} LID:0329 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e5 NodeGUID:0002c900000004e5 PortGUID:0002c900000004e5 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-475 MT23108 Infinihost-II Mellanox Technologies} LID:0343 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:04 } { CA Ports:02 SystemGUID:0002c9000000050c NodeGUID:0002c9000000050c PortGUID:0002c9000000050c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-487 MT23108 Infinihost-II Mellanox Technologies} LID:035d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:05 } { CA Ports:02 SystemGUID:0002c90000000533 NodeGUID:0002c90000000533 PortGUID:0002c90000000533 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-499 MT23108 Infinihost-II Mellanox Technologies} LID:0377 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:06 } { CA Ports:02 SystemGUID:0002c90000000560 NodeGUID:0002c90000000560 PortGUID:0002c90000000560 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-511 MT23108 Infinihost-II Mellanox Technologies} LID:0395 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0b } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:01 } { CA Ports:02 SystemGUID:0002c9000000049a NodeGUID:0002c9000000049a PortGUID:0002c9000000049a VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-452 MT23108 Infinihost-II Mellanox Technologies} LID:0311 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c1 NodeGUID:0002c900000004c1 PortGUID:0002c900000004c1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-464 MT23108 Infinihost-II Mellanox Technologies} LID:032b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:03 } { CA Ports:02 SystemGUID:0002c900000004e8 NodeGUID:0002c900000004e8 PortGUID:0002c900000004e8 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-476 MT23108 Infinihost-II Mellanox Technologies} LID:0345 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:04 } { CA Ports:02 SystemGUID:0002c9000000050f NodeGUID:0002c9000000050f PortGUID:0002c9000000050f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-488 MT23108 Infinihost-II Mellanox Technologies} LID:035f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:05 } { CA Ports:02 SystemGUID:0002c9000000053c NodeGUID:0002c9000000053c PortGUID:0002c9000000053c VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-500 MT23108 Infinihost-II Mellanox Technologies} LID:037d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:06 } { CA Ports:02 SystemGUID:0002c90000000563 NodeGUID:0002c90000000563 PortGUID:0002c90000000563 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-512 MT23108 Infinihost-II Mellanox Technologies} LID:0397 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:01 } { CA Ports:02 SystemGUID:0002c9000000049d NodeGUID:0002c9000000049d PortGUID:0002c9000000049d VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-453 MT23108 Infinihost-II Mellanox Technologies} LID:0313 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c4 NodeGUID:0002c900000004c4 PortGUID:0002c900000004c4 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-465 MT23108 Infinihost-II Mellanox Technologies} LID:032d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:03 } { CA Ports:02 SystemGUID:0002c900000004eb NodeGUID:0002c900000004eb PortGUID:0002c900000004eb VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-477 MT23108 Infinihost-II Mellanox Technologies} LID:0347 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:04 } { CA Ports:02 SystemGUID:0002c90000000512 NodeGUID:0002c90000000512 PortGUID:0002c90000000512 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-489 MT23108 Infinihost-II Mellanox Technologies} LID:0361 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:05 } { CA Ports:02 SystemGUID:0002c9000000053f NodeGUID:0002c9000000053f PortGUID:0002c9000000053f VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-501 MT23108 Infinihost-II Mellanox Technologies} LID:037f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:06 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:07 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:08 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a0 NodeGUID:0002c900000004a0 PortGUID:0002c900000004a0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-454 MT23108 Infinihost-II Mellanox Technologies} LID:0315 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:02 } { CA Ports:02 SystemGUID:0002c900000004c7 NodeGUID:0002c900000004c7 PortGUID:0002c900000004c7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-466 MT23108 Infinihost-II Mellanox Technologies} LID:032f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:03 } { CA Ports:02 SystemGUID:0002c900000004ee NodeGUID:0002c900000004ee PortGUID:0002c900000004ee VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-478 MT23108 Infinihost-II Mellanox Technologies} LID:0349 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:04 } { CA Ports:02 SystemGUID:0002c90000000518 NodeGUID:0002c90000000518 PortGUID:0002c90000000518 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-490 MT23108 Infinihost-II Mellanox Technologies} LID:0365 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:05 } { CA Ports:02 SystemGUID:0002c90000000542 NodeGUID:0002c90000000542 PortGUID:0002c90000000542 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-502 MT23108 Infinihost-II Mellanox Technologies} LID:0381 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:06 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:07 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a3 NodeGUID:0002c900000004a3 PortGUID:0002c900000004a3 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-455 MT23108 Infinihost-II Mellanox Technologies} LID:0317 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:02 } { CA Ports:02 SystemGUID:0002c900000004ca NodeGUID:0002c900000004ca PortGUID:0002c900000004ca VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-467 MT23108 Infinihost-II Mellanox Technologies} LID:0331 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:03 } { CA Ports:02 SystemGUID:0002c900000004f1 NodeGUID:0002c900000004f1 PortGUID:0002c900000004f1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-479 MT23108 Infinihost-II Mellanox Technologies} LID:034b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:04 } { CA Ports:02 SystemGUID:0002c9000000051b NodeGUID:0002c9000000051b PortGUID:0002c9000000051b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-491 MT23108 Infinihost-II Mellanox Technologies} LID:0367 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:05 } { CA Ports:02 SystemGUID:0002c90000000545 NodeGUID:0002c90000000545 PortGUID:0002c90000000545 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-503 MT23108 Infinihost-II Mellanox Technologies} LID:0383 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:06 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:07 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:08 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:01 } { CA Ports:02 SystemGUID:0002c900000004a6 NodeGUID:0002c900000004a6 PortGUID:0002c900000004a6 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-456 MT23108 Infinihost-II Mellanox Technologies} LID:0319 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:02 } { CA Ports:02 SystemGUID:0002c900000004cd NodeGUID:0002c900000004cd PortGUID:0002c900000004cd VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-468 MT23108 Infinihost-II Mellanox Technologies} LID:0333 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:03 } { CA Ports:02 SystemGUID:0002c900000004f7 NodeGUID:0002c900000004f7 PortGUID:0002c900000004f7 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-480 MT23108 Infinihost-II Mellanox Technologies} LID:034f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:04 } { CA Ports:02 SystemGUID:0002c9000000051e NodeGUID:0002c9000000051e PortGUID:0002c9000000051e VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-492 MT23108 Infinihost-II Mellanox Technologies} LID:0369 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:05 } { CA Ports:02 SystemGUID:0002c90000000548 NodeGUID:0002c90000000548 PortGUID:0002c90000000548 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-504 MT23108 Infinihost-II Mellanox Technologies} LID:0385 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:06 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:07 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:08 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:01 } { CA Ports:02 SystemGUID:0002c900000004a9 NodeGUID:0002c900000004a9 PortGUID:0002c900000004a9 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-457 MT23108 Infinihost-II Mellanox Technologies} LID:031b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:02 } { CA Ports:02 SystemGUID:0002c900000004d0 NodeGUID:0002c900000004d0 PortGUID:0002c900000004d0 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-469 MT23108 Infinihost-II Mellanox Technologies} LID:0335 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:03 } { CA Ports:02 SystemGUID:0002c900000004fa NodeGUID:0002c900000004fa PortGUID:0002c900000004fa VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-481 MT23108 Infinihost-II Mellanox Technologies} LID:0351 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:04 } { CA Ports:02 SystemGUID:0002c90000000521 NodeGUID:0002c90000000521 PortGUID:0002c90000000521 VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-493 MT23108 Infinihost-II Mellanox Technologies} LID:036b PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:05 } { CA Ports:02 SystemGUID:0002c9000000054b NodeGUID:0002c9000000054b PortGUID:0002c9000000054b VenID:000002C9 DevID:5A440000 Rev:000000A1 {H-505 MT23108 Infinihost-II Mellanox Technologies} LID:0387 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:06 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:07 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:08 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0d } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0e } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0f } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:10 } { CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:11 } { CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:12 } { CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:13 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:14 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:15 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:16 } { CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:17 } { CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:18 } { CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000716 NodeGUID:0002c90000000716 PortGUID:0002c90000000716 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048b PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000718 NodeGUID:0002c90000000718 PortGUID:0002c90000000718 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048c PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:01 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:02 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:03 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:04 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:05 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:06 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:07 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:08 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:09 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0c } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0d } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0e } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:0f } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:10 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:11 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:12 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:13 } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:14 } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:15 } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:16 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:17 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071a NodeGUID:0002c9000000071a PortGUID:0002c9000000071a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048d PN:18 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071c NodeGUID:0002c9000000071c PortGUID:0002c9000000071c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048e PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000071e NodeGUID:0002c9000000071e PortGUID:0002c9000000071e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048f PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:01 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:02 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:03 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:04 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:05 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:06 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:07 } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:08 } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:09 } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0c } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0d } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0e } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:0f } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:10 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:11 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:12 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:13 } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:14 } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:15 } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:16 } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:17 } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000720 NodeGUID:0002c90000000720 PortGUID:0002c90000000720 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0490 PN:18 } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:02 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:07 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0b } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:07 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:02 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:03 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0b } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:02 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:03 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:06 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0b } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:02 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:03 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:06 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:07 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0a } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:02 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:02 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:02 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:06 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0a } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:02 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:06 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0a } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:03 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:07 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0d } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0e } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0f } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:10 } { CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:11 } { CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:12 } { CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:13 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:14 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:15 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:16 } { CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:17 } { CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:18 } { CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073a NodeGUID:0002c9000000073a PortGUID:0002c9000000073a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049d PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073c NodeGUID:0002c9000000073c PortGUID:0002c9000000073c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049e PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:01 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:02 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:03 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:04 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:05 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:06 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:07 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:08 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:09 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0a } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0b } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0c } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0d } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0e } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:0f } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:10 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:11 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:12 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:13 } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:14 } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:15 } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:16 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:17 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000073e NodeGUID:0002c9000000073e PortGUID:0002c9000000073e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049f PN:18 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000740 NodeGUID:0002c90000000740 PortGUID:0002c90000000740 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a0 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000742 NodeGUID:0002c90000000742 PortGUID:0002c90000000742 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a1 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:02 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:03 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:04 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:06 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:07 } { CA Ports:18 SystemGUID:0002c9000000072c NodeGUID:0002c9000000072c PortGUID:0002c9000000072c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0496 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:08 } { CA Ports:18 SystemGUID:0002c9000000072a NodeGUID:0002c9000000072a PortGUID:0002c9000000072a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0495 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:09 } { CA Ports:18 SystemGUID:0002c90000000722 NodeGUID:0002c90000000722 PortGUID:0002c90000000722 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0491 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0a } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0b } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0c } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0d } { CA Ports:18 SystemGUID:0002c9000000072e NodeGUID:0002c9000000072e PortGUID:0002c9000000072e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0497 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0e } { CA Ports:18 SystemGUID:0002c90000000730 NodeGUID:0002c90000000730 PortGUID:0002c90000000730 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0498 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:0f } { CA Ports:18 SystemGUID:0002c90000000732 NodeGUID:0002c90000000732 PortGUID:0002c90000000732 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0499 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:10 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:11 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:12 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:13 } { CA Ports:18 SystemGUID:0002c90000000738 NodeGUID:0002c90000000738 PortGUID:0002c90000000738 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049c PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:14 } { CA Ports:18 SystemGUID:0002c90000000736 NodeGUID:0002c90000000736 PortGUID:0002c90000000736 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049b PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:15 } { CA Ports:18 SystemGUID:0002c90000000734 NodeGUID:0002c90000000734 PortGUID:0002c90000000734 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:049a PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:16 } { CA Ports:18 SystemGUID:0002c90000000724 NodeGUID:0002c90000000724 PortGUID:0002c90000000724 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0492 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:17 } { CA Ports:18 SystemGUID:0002c90000000726 NodeGUID:0002c90000000726 PortGUID:0002c90000000726 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0493 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000744 NodeGUID:0002c90000000744 PortGUID:0002c90000000744 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:04a2 PN:18 } { CA Ports:18 SystemGUID:0002c90000000728 NodeGUID:0002c90000000728 PortGUID:0002c90000000728 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0494 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:02 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0a } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:07 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0a } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:02 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:03 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:07 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0a } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:02 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:06 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:07 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0a } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:06 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0a } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:06 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0a } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:02 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:06 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:03 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:07 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0b } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:03 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:07 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0b } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:03 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:07 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0b } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:03 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:07 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0b } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:02 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:03 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:06 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:07 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0a } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0d } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0e } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0f } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:10 } { CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:11 } { CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:12 } { CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:13 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:14 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:15 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:16 } { CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:17 } { CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:18 } { CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000075e NodeGUID:0002c9000000075e PortGUID:0002c9000000075e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04af PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000760 NodeGUID:0002c90000000760 PortGUID:0002c90000000760 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b0 PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:03 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:04 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:06 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:07 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:09 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0a } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0b } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0c } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0d } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0e } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:0f } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:10 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:11 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:12 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:13 } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:14 } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:15 } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:16 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000762 NodeGUID:0002c90000000762 PortGUID:0002c90000000762 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b1 PN:18 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000764 NodeGUID:0002c90000000764 PortGUID:0002c90000000764 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b2 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000766 NodeGUID:0002c90000000766 PortGUID:0002c90000000766 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b3 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:02 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:04 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:05 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:06 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:07 } { CA Ports:18 SystemGUID:0002c90000000750 NodeGUID:0002c90000000750 PortGUID:0002c90000000750 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:08 } { CA Ports:18 SystemGUID:0002c9000000074e NodeGUID:0002c9000000074e PortGUID:0002c9000000074e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:09 } { CA Ports:18 SystemGUID:0002c90000000746 NodeGUID:0002c90000000746 PortGUID:0002c90000000746 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0a } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0b } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0c } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0d } { CA Ports:18 SystemGUID:0002c90000000752 NodeGUID:0002c90000000752 PortGUID:0002c90000000752 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a9 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0e } { CA Ports:18 SystemGUID:0002c90000000754 NodeGUID:0002c90000000754 PortGUID:0002c90000000754 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04aa PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:0f } { CA Ports:18 SystemGUID:0002c90000000756 NodeGUID:0002c90000000756 PortGUID:0002c90000000756 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ab PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:10 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:11 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:12 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:13 } { CA Ports:18 SystemGUID:0002c9000000075c NodeGUID:0002c9000000075c PortGUID:0002c9000000075c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ae PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:14 } { CA Ports:18 SystemGUID:0002c9000000075a NodeGUID:0002c9000000075a PortGUID:0002c9000000075a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ad PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:15 } { CA Ports:18 SystemGUID:0002c90000000758 NodeGUID:0002c90000000758 PortGUID:0002c90000000758 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04ac PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000748 NodeGUID:0002c90000000748 PortGUID:0002c90000000748 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:17 } { CA Ports:18 SystemGUID:0002c9000000074a NodeGUID:0002c9000000074a PortGUID:0002c9000000074a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000768 NodeGUID:0002c90000000768 PortGUID:0002c90000000768 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04b4 PN:18 } { CA Ports:18 SystemGUID:0002c9000000074c NodeGUID:0002c9000000074c PortGUID:0002c9000000074c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-2 MT47396 Infiniscale-III Mellanox Technologies} LID:04a6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000610 NodeGUID:0002c90000000610 PortGUID:0002c90000000610 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0408 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000626 NodeGUID:0002c90000000626 PortGUID:0002c90000000626 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0413 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000660 NodeGUID:0002c90000000660 PortGUID:0002c90000000660 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0430 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:05 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:06 } { CA Ports:18 SystemGUID:0002c9000000067c NodeGUID:0002c9000000067c PortGUID:0002c9000000067c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:07 } { CA Ports:18 SystemGUID:0002c90000000692 NodeGUID:0002c90000000692 PortGUID:0002c90000000692 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0449 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:08 } { CA Ports:18 SystemGUID:0002c900000006cc NodeGUID:0002c900000006cc PortGUID:0002c900000006cc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0466 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0a } { CA Ports:18 SystemGUID:0002c900000006e8 NodeGUID:0002c900000006e8 PortGUID:0002c900000006e8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0474 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0b } { CA Ports:18 SystemGUID:0002c900000006fe NodeGUID:0002c900000006fe PortGUID:0002c900000006fe VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:047f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060a NodeGUID:0002c9000000060a PortGUID:0002c9000000060a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0405 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000628 NodeGUID:0002c90000000628 PortGUID:0002c90000000628 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0414 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065a NodeGUID:0002c9000000065a PortGUID:0002c9000000065a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000676 NodeGUID:0002c90000000676 PortGUID:0002c90000000676 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:06 } { CA Ports:18 SystemGUID:0002c90000000694 NodeGUID:0002c90000000694 PortGUID:0002c90000000694 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c6 NodeGUID:0002c900000006c6 PortGUID:0002c900000006c6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0463 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e2 NodeGUID:0002c900000006e2 PortGUID:0002c900000006e2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0471 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0a } { CA Ports:18 SystemGUID:0002c90000000700 NodeGUID:0002c90000000700 PortGUID:0002c90000000700 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0480 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:01 } { CA Ports:18 SystemGUID:0002c9000000060c NodeGUID:0002c9000000060c PortGUID:0002c9000000060c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0406 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:02 } { CA Ports:18 SystemGUID:0002c9000000062a NodeGUID:0002c9000000062a PortGUID:0002c9000000062a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0415 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:03 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:04 } { CA Ports:18 SystemGUID:0002c9000000065c NodeGUID:0002c9000000065c PortGUID:0002c9000000065c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:05 } { CA Ports:18 SystemGUID:0002c90000000678 NodeGUID:0002c90000000678 PortGUID:0002c90000000678 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:06 } { CA Ports:18 SystemGUID:0002c90000000696 NodeGUID:0002c90000000696 PortGUID:0002c90000000696 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c8 NodeGUID:0002c900000006c8 PortGUID:0002c900000006c8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0464 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e4 NodeGUID:0002c900000006e4 PortGUID:0002c900000006e4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0472 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0a } { CA Ports:18 SystemGUID:0002c90000000702 NodeGUID:0002c90000000702 PortGUID:0002c90000000702 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0481 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:01 } { CA Ports:18 SystemGUID:0002c9000000060e NodeGUID:0002c9000000060e PortGUID:0002c9000000060e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0407 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:02 } { CA Ports:18 SystemGUID:0002c9000000062c NodeGUID:0002c9000000062c PortGUID:0002c9000000062c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0416 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:03 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:04 } { CA Ports:18 SystemGUID:0002c9000000065e NodeGUID:0002c9000000065e PortGUID:0002c9000000065e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:05 } { CA Ports:18 SystemGUID:0002c9000000067a NodeGUID:0002c9000000067a PortGUID:0002c9000000067a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:06 } { CA Ports:18 SystemGUID:0002c90000000698 NodeGUID:0002c90000000698 PortGUID:0002c90000000698 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:07 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:08 } { CA Ports:18 SystemGUID:0002c900000006ca NodeGUID:0002c900000006ca PortGUID:0002c900000006ca VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0465 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:09 } { CA Ports:18 SystemGUID:0002c900000006e6 NodeGUID:0002c900000006e6 PortGUID:0002c900000006e6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0473 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0a } { CA Ports:18 SystemGUID:0002c90000000704 NodeGUID:0002c90000000704 PortGUID:0002c90000000704 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0482 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:09 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:06 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:03 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:01 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:02 } { CA Ports:18 SystemGUID:0002c90000000612 NodeGUID:0002c90000000612 PortGUID:0002c90000000612 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0409 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:03 } { CA Ports:18 SystemGUID:0002c9000000062e NodeGUID:0002c9000000062e PortGUID:0002c9000000062e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0417 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:04 } { CA Ports:18 SystemGUID:0002c9000000064c NodeGUID:0002c9000000064c PortGUID:0002c9000000064c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0426 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:05 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:06 } { CA Ports:18 SystemGUID:0002c9000000067e NodeGUID:0002c9000000067e PortGUID:0002c9000000067e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:07 } { CA Ports:18 SystemGUID:0002c9000000069a NodeGUID:0002c9000000069a PortGUID:0002c9000000069a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:08 } { CA Ports:18 SystemGUID:0002c900000006b8 NodeGUID:0002c900000006b8 PortGUID:0002c900000006b8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:09 } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0a } { CA Ports:18 SystemGUID:0002c900000006ea NodeGUID:0002c900000006ea PortGUID:0002c900000006ea VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0475 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0b } { CA Ports:18 SystemGUID:0002c90000000706 NodeGUID:0002c90000000706 PortGUID:0002c90000000706 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0483 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:02 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:05 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:08 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:01 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:02 } { CA Ports:18 SystemGUID:0002c90000000614 NodeGUID:0002c90000000614 PortGUID:0002c90000000614 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:03 } { CA Ports:18 SystemGUID:0002c90000000630 NodeGUID:0002c90000000630 PortGUID:0002c90000000630 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0418 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:04 } { CA Ports:18 SystemGUID:0002c9000000064e NodeGUID:0002c9000000064e PortGUID:0002c9000000064e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0427 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:05 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:06 } { CA Ports:18 SystemGUID:0002c90000000680 NodeGUID:0002c90000000680 PortGUID:0002c90000000680 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0440 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:07 } { CA Ports:18 SystemGUID:0002c9000000069c NodeGUID:0002c9000000069c PortGUID:0002c9000000069c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044e PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:08 } { CA Ports:18 SystemGUID:0002c900000006ba NodeGUID:0002c900000006ba PortGUID:0002c900000006ba VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:09 } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0a } { CA Ports:18 SystemGUID:0002c900000006ec NodeGUID:0002c900000006ec PortGUID:0002c900000006ec VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0476 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0b } { CA Ports:18 SystemGUID:0002c90000000708 NodeGUID:0002c90000000708 PortGUID:0002c90000000708 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0484 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:01 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:04 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:07 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:01 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:02 } { CA Ports:18 SystemGUID:0002c90000000616 NodeGUID:0002c90000000616 PortGUID:0002c90000000616 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:03 } { CA Ports:18 SystemGUID:0002c90000000632 NodeGUID:0002c90000000632 PortGUID:0002c90000000632 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:0419 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:04 } { CA Ports:18 SystemGUID:0002c90000000650 NodeGUID:0002c90000000650 PortGUID:0002c90000000650 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0428 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:05 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:06 } { CA Ports:18 SystemGUID:0002c90000000682 NodeGUID:0002c90000000682 PortGUID:0002c90000000682 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0441 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:07 } { CA Ports:18 SystemGUID:0002c9000000069e NodeGUID:0002c9000000069e PortGUID:0002c9000000069e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:044f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:08 } { CA Ports:18 SystemGUID:0002c900000006bc NodeGUID:0002c900000006bc PortGUID:0002c900000006bc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:09 } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0a } { CA Ports:18 SystemGUID:0002c900000006ee NodeGUID:0002c900000006ee PortGUID:0002c900000006ee VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0477 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0b } { CA Ports:18 SystemGUID:0002c9000000070a NodeGUID:0002c9000000070a PortGUID:0002c9000000070a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0485 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:01 } { CA Ports:18 SystemGUID:0002c90000000618 NodeGUID:0002c90000000618 PortGUID:0002c90000000618 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:040c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:02 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:03 } { CA Ports:18 SystemGUID:0002c90000000634 NodeGUID:0002c90000000634 PortGUID:0002c90000000634 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:04 } { CA Ports:18 SystemGUID:0002c9000000064a NodeGUID:0002c9000000064a PortGUID:0002c9000000064a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0425 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:05 } { CA Ports:18 SystemGUID:0002c90000000684 NodeGUID:0002c90000000684 PortGUID:0002c90000000684 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0442 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:06 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:07 } { CA Ports:18 SystemGUID:0002c900000006a0 NodeGUID:0002c900000006a0 PortGUID:0002c900000006a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0450 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:08 } { CA Ports:18 SystemGUID:0002c900000006b6 NodeGUID:0002c900000006b6 PortGUID:0002c900000006b6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:09 } { CA Ports:18 SystemGUID:0002c900000006f0 NodeGUID:0002c900000006f0 PortGUID:0002c900000006f0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0478 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0a } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0b } { CA Ports:18 SystemGUID:0002c9000000070c NodeGUID:0002c9000000070c PortGUID:0002c9000000070c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0486 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:01 } { CA Ports:18 SystemGUID:0002c90000000604 NodeGUID:0002c90000000604 PortGUID:0002c90000000604 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0402 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:02 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:03 } { CA Ports:18 SystemGUID:0002c90000000636 NodeGUID:0002c90000000636 PortGUID:0002c90000000636 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:04 } { CA Ports:18 SystemGUID:0002c90000000652 NodeGUID:0002c90000000652 PortGUID:0002c90000000652 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:0429 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:05 } { CA Ports:18 SystemGUID:0002c90000000670 NodeGUID:0002c90000000670 PortGUID:0002c90000000670 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0438 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:06 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:07 } { CA Ports:18 SystemGUID:0002c900000006a2 NodeGUID:0002c900000006a2 PortGUID:0002c900000006a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0451 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:08 } { CA Ports:18 SystemGUID:0002c900000006be NodeGUID:0002c900000006be PortGUID:0002c900000006be VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:045f PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:09 } { CA Ports:18 SystemGUID:0002c900000006dc NodeGUID:0002c900000006dc PortGUID:0002c900000006dc VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0a } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0b } { CA Ports:18 SystemGUID:0002c9000000070e NodeGUID:0002c9000000070e PortGUID:0002c9000000070e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0487 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:01 } { CA Ports:18 SystemGUID:0002c90000000606 NodeGUID:0002c90000000606 PortGUID:0002c90000000606 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0403 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:02 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:03 } { CA Ports:18 SystemGUID:0002c90000000638 NodeGUID:0002c90000000638 PortGUID:0002c90000000638 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:04 } { CA Ports:18 SystemGUID:0002c90000000654 NodeGUID:0002c90000000654 PortGUID:0002c90000000654 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042a PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:05 } { CA Ports:18 SystemGUID:0002c90000000672 NodeGUID:0002c90000000672 PortGUID:0002c90000000672 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0439 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a4 NodeGUID:0002c900000006a4 PortGUID:0002c900000006a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0452 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c0 NodeGUID:0002c900000006c0 PortGUID:0002c900000006c0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0460 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:09 } { CA Ports:18 SystemGUID:0002c900000006de NodeGUID:0002c900000006de PortGUID:0002c900000006de VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046f PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0a } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0b } { CA Ports:18 SystemGUID:0002c90000000710 NodeGUID:0002c90000000710 PortGUID:0002c90000000710 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0488 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0c } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:01 } { CA Ports:18 SystemGUID:0002c90000000608 NodeGUID:0002c90000000608 PortGUID:0002c90000000608 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0404 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:02 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:03 } { CA Ports:18 SystemGUID:0002c9000000063a NodeGUID:0002c9000000063a PortGUID:0002c9000000063a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:04 } { CA Ports:18 SystemGUID:0002c90000000656 NodeGUID:0002c90000000656 PortGUID:0002c90000000656 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042b PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:05 } { CA Ports:18 SystemGUID:0002c90000000674 NodeGUID:0002c90000000674 PortGUID:0002c90000000674 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:043a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:07 } { CA Ports:18 SystemGUID:0002c900000006a6 NodeGUID:0002c900000006a6 PortGUID:0002c900000006a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0453 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c2 NodeGUID:0002c900000006c2 PortGUID:0002c900000006c2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0461 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:09 } { CA Ports:18 SystemGUID:0002c900000006e0 NodeGUID:0002c900000006e0 PortGUID:0002c900000006e0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:0470 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0a } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0b } { CA Ports:18 SystemGUID:0002c90000000712 NodeGUID:0002c90000000712 PortGUID:0002c90000000712 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:0489 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:01 } { CA Ports:18 SystemGUID:0002c90000000602 NodeGUID:0002c90000000602 PortGUID:0002c90000000602 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-1 MT47396 Infiniscale-III Mellanox Technologies} LID:0401 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:02 } { CA Ports:18 SystemGUID:0002c9000000063c NodeGUID:0002c9000000063c PortGUID:0002c9000000063c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-2 MT47396 Infiniscale-III Mellanox Technologies} LID:041e PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:03 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:04 } { CA Ports:18 SystemGUID:0002c90000000658 NodeGUID:0002c90000000658 PortGUID:0002c90000000658 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-3 MT47396 Infiniscale-III Mellanox Technologies} LID:042c PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:05 } { CA Ports:18 SystemGUID:0002c9000000066e NodeGUID:0002c9000000066e PortGUID:0002c9000000066e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-4 MT47396 Infiniscale-III Mellanox Technologies} LID:0437 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:06 } { CA Ports:18 SystemGUID:0002c900000006a8 NodeGUID:0002c900000006a8 PortGUID:0002c900000006a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-5 MT47396 Infiniscale-III Mellanox Technologies} LID:0454 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:07 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:08 } { CA Ports:18 SystemGUID:0002c900000006c4 NodeGUID:0002c900000006c4 PortGUID:0002c900000006c4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-6 MT47396 Infiniscale-III Mellanox Technologies} LID:0462 PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:09 } { CA Ports:18 SystemGUID:0002c900000006da NodeGUID:0002c900000006da PortGUID:0002c900000006da VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-7 MT47396 Infiniscale-III Mellanox Technologies} LID:046d PN:0b } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0a } { CA Ports:18 SystemGUID:0002c90000000714 NodeGUID:0002c90000000714 PortGUID:0002c90000000714 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL1-8 MT47396 Infiniscale-III Mellanox Technologies} LID:048a PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0d } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:10 } { CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0a } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:13 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:14 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:15 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:16 } { CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:17 } { CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:18 } { CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0f } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a6 NodeGUID:0002c900000007a6 PortGUID:0002c900000007a6 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d3 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:12 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0e } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007a8 NodeGUID:0002c900000007a8 PortGUID:0002c900000007a8 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d4 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:11 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:01 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:02 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:03 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:04 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:05 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:06 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:07 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:08 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:09 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0a } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0b } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0c } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0d } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0e } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:0f } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:10 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:11 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:12 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:13 } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:14 } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:15 } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:0d } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:16 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:17 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007aa NodeGUID:0002c900000007aa PortGUID:0002c900000007aa VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d5 PN:18 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:10 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:16 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ac NodeGUID:0002c900000007ac PortGUID:0002c900000007ac VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d6 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:13 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:17 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007ae NodeGUID:0002c900000007ae PortGUID:0002c900000007ae VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d7 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:14 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:01 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:02 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:03 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:04 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:05 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:06 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:07 } { CA Ports:18 SystemGUID:0002c90000000798 NodeGUID:0002c90000000798 PortGUID:0002c90000000798 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cc PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:08 } { CA Ports:18 SystemGUID:0002c90000000796 NodeGUID:0002c90000000796 PortGUID:0002c90000000796 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cb PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:09 } { CA Ports:18 SystemGUID:0002c9000000078e NodeGUID:0002c9000000078e PortGUID:0002c9000000078e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c7 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0a } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0b } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0c } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0d } { CA Ports:18 SystemGUID:0002c9000000079a NodeGUID:0002c9000000079a PortGUID:0002c9000000079a VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cd PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0e } { CA Ports:18 SystemGUID:0002c9000000079c NodeGUID:0002c9000000079c PortGUID:0002c9000000079c VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ce PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:0f } { CA Ports:18 SystemGUID:0002c9000000079e NodeGUID:0002c9000000079e PortGUID:0002c9000000079e VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04cf PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:10 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:11 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:12 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:13 } { CA Ports:18 SystemGUID:0002c900000007a4 NodeGUID:0002c900000007a4 PortGUID:0002c900000007a4 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d2 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:14 } { CA Ports:18 SystemGUID:0002c900000007a2 NodeGUID:0002c900000007a2 PortGUID:0002c900000007a2 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d1 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:15 } { CA Ports:18 SystemGUID:0002c900000007a0 NodeGUID:0002c900000007a0 PortGUID:0002c900000007a0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d0 PN:18 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:16 } { CA Ports:18 SystemGUID:0002c90000000790 NodeGUID:0002c90000000790 PortGUID:0002c90000000790 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c8 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:17 } { CA Ports:18 SystemGUID:0002c90000000792 NodeGUID:0002c90000000792 PortGUID:0002c90000000792 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04c9 PN:15 } PHY=4x LOG=ACT SPD=2.5
+{ CA Ports:18 SystemGUID:0002c900000007b0 NodeGUID:0002c900000007b0 PortGUID:0002c900000007b0 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04d8 PN:18 } { CA Ports:18 SystemGUID:0002c90000000794 NodeGUID:0002c90000000794 PortGUID:0002c90000000794 VenID:000002C9 DevID:B9240000 Rev:000000A1 {SL2-4 MT47396 Infiniscale-III Mellanox Technologies} LID:04ca PN:15 } PHY=4x LOG=ACT SPD=2.5
diff --git a/ibdm/Clusters/RhinoBased512.topo b/ibdm/Clusters/RhinoBased512.topo
new file mode 100644
index 0000000..32b3605
--- /dev/null
+++ b/ibdm/Clusters/RhinoBased512.topo
@@ -0,0 +1,1574 @@
+#---------------------------------------------------------------------
+#                     Mellanox Technologies LTD
+#                  Fat Tree Topology File Generator
+# ibtopogen: IBADM 0.0.5 , BUILD Developement(BLD_VER not defined) , CVS 1.18
+#
+# Fat Tree Specification:
+# Bandwidth Ratio ........ 1
+# Number of Hosts ........ 512
+# Number of Levels ....... 2
+# Number of Ports/Level .. 144 144
+#
+# Rack Config File ....... UNDEFINED
+#
+#---------------------------------------------------------------------
+
+MTS14400 SL1-1
+	 L1/P1 -8X-5G-> MT23108 H-1 P1
+	 L2/P1 -12X-> MT23108 H-2 P1
+	 L3/P1 -4X-> MT23108 H-3 P1
+	 L4/P1 -4X-> MT23108 H-4 P1
+	 L5/P1 -4X-> MT23108 H-5 P1
+	 L6/P1 -4X-> MT23108 H-6 P1
+	 L7/P1 -4X-> MT23108 H-7 P1
+	 L8/P1 -4X-> MT23108 H-8 P1
+	 L9/P1 -4X-> MT23108 H-9 P1
+	 L10/P1 -4X-> MT23108 H-10 P1
+	 L11/P1 -4X-> MT23108 H-11 P1
+	 L12/P1 -4X-> MT23108 H-12 P1
+	 L1/P2 -4X-> MT23108 H-13 P1
+	 L2/P2 -4X-> MT23108 H-14 P1
+	 L3/P2 -4X-> MT23108 H-15 P1
+	 L4/P2 -4X-> MT23108 H-16 P1
+	 L5/P2 -4X-> MT23108 H-17 P1
+	 L6/P2 -4X-> MT23108 H-18 P1
+	 L7/P2 -4X-> MT23108 H-19 P1
+	 L8/P2 -4X-> MT23108 H-20 P1
+	 L9/P2 -4X-> MT23108 H-21 P1
+	 L10/P2 -4X-> MT23108 H-22 P1
+	 L11/P2 -4X-> MT23108 H-23 P1
+	 L12/P2 -4X-> MT23108 H-24 P1
+	 L1/P3 -4X-> MT23108 H-25 P1
+	 L2/P3 -4X-> MT23108 H-26 P1
+	 L3/P3 -4X-> MT23108 H-27 P1
+	 L4/P3 -4X-> MT23108 H-28 P1
+	 L5/P3 -4X-> MT23108 H-29 P1
+	 L6/P3 -4X-> MT23108 H-30 P1
+	 L7/P3 -4X-> MT23108 H-31 P1
+	 L8/P3 -4X-> MT23108 H-32 P1
+	 L9/P3 -4X-> MT23108 H-33 P1
+	 L10/P3 -4X-> MT23108 H-34 P1
+	 L11/P3 -4X-> MT23108 H-35 P1
+	 L12/P3 -4X-> MT23108 H-36 P1
+	 L1/P4 -4X-> MT23108 H-37 P1
+	 L2/P4 -4X-> MT23108 H-38 P1
+	 L3/P4 -4X-> MT23108 H-39 P1
+	 L4/P4 -4X-> MT23108 H-40 P1
+	 L5/P4 -4X-> MT23108 H-41 P1
+	 L6/P4 -4X-> MT23108 H-42 P1
+	 L7/P4 -4X-> MT23108 H-43 P1
+	 L8/P4 -4X-> MT23108 H-44 P1
+	 L9/P4 -4X-> MT23108 H-45 P1
+	 L10/P4 -4X-> MT23108 H-46 P1
+	 L11/P4 -4X-> MT23108 H-47 P1
+	 L12/P4 -4X-> MT23108 H-48 P1
+	 L1/P5 -4X-> MT23108 H-49 P1
+	 L2/P5 -4X-> MT23108 H-50 P1
+	 L3/P5 -4X-> MT23108 H-51 P1
+	 L4/P5 -4X-> MT23108 H-52 P1
+	 L5/P5 -4X-> MT23108 H-53 P1
+	 L6/P5 -4X-> MT23108 H-54 P1
+	 L7/P5 -4X-> MT23108 H-55 P1
+	 L8/P5 -4X-> MT23108 H-56 P1
+	 L9/P5 -4X-> MT23108 H-57 P1
+	 L10/P5 -4X-> MT23108 H-58 P1
+	 L11/P5 -4X-> MT23108 H-59 P1
+	 L12/P5 -4X-> MT23108 H-60 P1
+	 L1/P6 -4X-> MT23108 H-61 P1
+	 L2/P6 -4X-> MT23108 H-62 P1
+	 L3/P6 -4X-> MT23108 H-63 P1
+	 L4/P6 -4X-> MT23108 H-64 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P1
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P1
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P1
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P1
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P1
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P1
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P1
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P1
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P1
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P1
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P1
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P1
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P2
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P2
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P2
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P2
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P1
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P1
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P1
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P1
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P1
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P1
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P1
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P1
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P1
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P1
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P1
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P1
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P2
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P2
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P2
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P2
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P1
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P1
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P1
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P1
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P1
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P1
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P1
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P1
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P1
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P1
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P1
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P1
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P2
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P2
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P2
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P2
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P1
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P1
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P1
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P1
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P1
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P1
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P1
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P1
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P1
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P1
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P1
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P1
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P2
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P2
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P2
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P2
+
+MTS14400 SL1-2
+	 L1/P1 -4X-> MT23108 H-65 P1
+	 L2/P1 -4X-> MT23108 H-66 P1
+	 L3/P1 -4X-> MT23108 H-67 P1
+	 L4/P1 -4X-> MT23108 H-68 P1
+	 L5/P1 -4X-> MT23108 H-69 P1
+	 L6/P1 -4X-> MT23108 H-70 P1
+	 L7/P1 -4X-> MT23108 H-71 P1
+	 L8/P1 -4X-> MT23108 H-72 P1
+	 L9/P1 -4X-> MT23108 H-73 P1
+	 L10/P1 -4X-> MT23108 H-74 P1
+	 L11/P1 -4X-> MT23108 H-75 P1
+	 L12/P1 -4X-> MT23108 H-76 P1
+	 L1/P2 -4X-> MT23108 H-77 P1
+	 L2/P2 -4X-> MT23108 H-78 P1
+	 L3/P2 -4X-> MT23108 H-79 P1
+	 L4/P2 -4X-> MT23108 H-80 P1
+	 L5/P2 -4X-> MT23108 H-81 P1
+	 L6/P2 -4X-> MT23108 H-82 P1
+	 L7/P2 -4X-> MT23108 H-83 P1
+	 L8/P2 -4X-> MT23108 H-84 P1
+	 L9/P2 -4X-> MT23108 H-85 P1
+	 L10/P2 -4X-> MT23108 H-86 P1
+	 L11/P2 -4X-> MT23108 H-87 P1
+	 L12/P2 -4X-> MT23108 H-88 P1
+	 L1/P3 -4X-> MT23108 H-89 P1
+	 L2/P3 -4X-> MT23108 H-90 P1
+	 L3/P3 -4X-> MT23108 H-91 P1
+	 L4/P3 -4X-> MT23108 H-92 P1
+	 L5/P3 -4X-> MT23108 H-93 P1
+	 L6/P3 -4X-> MT23108 H-94 P1
+	 L7/P3 -4X-> MT23108 H-95 P1
+	 L8/P3 -4X-> MT23108 H-96 P1
+	 L9/P3 -4X-> MT23108 H-97 P1
+	 L10/P3 -4X-> MT23108 H-98 P1
+	 L11/P3 -4X-> MT23108 H-99 P1
+	 L12/P3 -4X-> MT23108 H-100 P1
+	 L1/P4 -4X-> MT23108 H-101 P1
+	 L2/P4 -4X-> MT23108 H-102 P1
+	 L3/P4 -4X-> MT23108 H-103 P1
+	 L4/P4 -4X-> MT23108 H-104 P1
+	 L5/P4 -4X-> MT23108 H-105 P1
+	 L6/P4 -4X-> MT23108 H-106 P1
+	 L7/P4 -4X-> MT23108 H-107 P1
+	 L8/P4 -4X-> MT23108 H-108 P1
+	 L9/P4 -4X-> MT23108 H-109 P1
+	 L10/P4 -4X-> MT23108 H-110 P1
+	 L11/P4 -4X-> MT23108 H-111 P1
+	 L12/P4 -4X-> MT23108 H-112 P1
+	 L1/P5 -4X-> MT23108 H-113 P1
+	 L2/P5 -4X-> MT23108 H-114 P1
+	 L3/P5 -4X-> MT23108 H-115 P1
+	 L4/P5 -4X-> MT23108 H-116 P1
+	 L5/P5 -4X-> MT23108 H-117 P1
+	 L6/P5 -4X-> MT23108 H-118 P1
+	 L7/P5 -4X-> MT23108 H-119 P1
+	 L8/P5 -4X-> MT23108 H-120 P1
+	 L9/P5 -4X-> MT23108 H-121 P1
+	 L10/P5 -4X-> MT23108 H-122 P1
+	 L11/P5 -4X-> MT23108 H-123 P1
+	 L12/P5 -4X-> MT23108 H-124 P1
+	 L1/P6 -4X-> MT23108 H-125 P1
+	 L2/P6 -4X-> MT23108 H-126 P1
+	 L3/P6 -4X-> MT23108 H-127 P1
+	 L4/P6 -4X-> MT23108 H-128 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P2
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P2
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P2
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P2
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P2
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P2
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P2
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P2
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P3
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P3
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P3
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P3
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P3
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P3
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P3
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P3
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P2
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P2
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P2
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P2
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P2
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P2
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P2
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P2
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P3
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P3
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P3
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P3
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P3
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P3
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P3
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P3
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P2
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P2
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P2
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P2
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P2
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P2
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P2
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P2
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P3
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P3
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P3
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P3
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P3
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P3
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P3
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P3
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P2
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P2
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P2
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P2
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P2
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P2
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P2
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P2
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P3
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P3
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P3
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P3
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P3
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P3
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P3
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P3
+
+MTS14400 SL1-3
+	 L1/P1 -4X-> MT23108 H-129 P1
+	 L2/P1 -4X-> MT23108 H-130 P1
+	 L3/P1 -4X-> MT23108 H-131 P1
+	 L4/P1 -4X-> MT23108 H-132 P1
+	 L5/P1 -4X-> MT23108 H-133 P1
+	 L6/P1 -4X-> MT23108 H-134 P1
+	 L7/P1 -4X-> MT23108 H-135 P1
+	 L8/P1 -4X-> MT23108 H-136 P1
+	 L9/P1 -4X-> MT23108 H-137 P1
+	 L10/P1 -4X-> MT23108 H-138 P1
+	 L11/P1 -4X-> MT23108 H-139 P1
+	 L12/P1 -4X-> MT23108 H-140 P1
+	 L1/P2 -4X-> MT23108 H-141 P1
+	 L2/P2 -4X-> MT23108 H-142 P1
+	 L3/P2 -4X-> MT23108 H-143 P1
+	 L4/P2 -4X-> MT23108 H-144 P1
+	 L5/P2 -4X-> MT23108 H-145 P1
+	 L6/P2 -4X-> MT23108 H-146 P1
+	 L7/P2 -4X-> MT23108 H-147 P1
+	 L8/P2 -4X-> MT23108 H-148 P1
+	 L9/P2 -4X-> MT23108 H-149 P1
+	 L10/P2 -4X-> MT23108 H-150 P1
+	 L11/P2 -4X-> MT23108 H-151 P1
+	 L12/P2 -4X-> MT23108 H-152 P1
+	 L1/P3 -4X-> MT23108 H-153 P1
+	 L2/P3 -4X-> MT23108 H-154 P1
+	 L3/P3 -4X-> MT23108 H-155 P1
+	 L4/P3 -4X-> MT23108 H-156 P1
+	 L5/P3 -4X-> MT23108 H-157 P1
+	 L6/P3 -4X-> MT23108 H-158 P1
+	 L7/P3 -4X-> MT23108 H-159 P1
+	 L8/P3 -4X-> MT23108 H-160 P1
+	 L9/P3 -4X-> MT23108 H-161 P1
+	 L10/P3 -4X-> MT23108 H-162 P1
+	 L11/P3 -4X-> MT23108 H-163 P1
+	 L12/P3 -4X-> MT23108 H-164 P1
+	 L1/P4 -4X-> MT23108 H-165 P1
+	 L2/P4 -4X-> MT23108 H-166 P1
+	 L3/P4 -4X-> MT23108 H-167 P1
+	 L4/P4 -4X-> MT23108 H-168 P1
+	 L5/P4 -4X-> MT23108 H-169 P1
+	 L6/P4 -4X-> MT23108 H-170 P1
+	 L7/P4 -4X-> MT23108 H-171 P1
+	 L8/P4 -4X-> MT23108 H-172 P1
+	 L9/P4 -4X-> MT23108 H-173 P1
+	 L10/P4 -4X-> MT23108 H-174 P1
+	 L11/P4 -4X-> MT23108 H-175 P1
+	 L12/P4 -4X-> MT23108 H-176 P1
+	 L1/P5 -4X-> MT23108 H-177 P1
+	 L2/P5 -4X-> MT23108 H-178 P1
+	 L3/P5 -4X-> MT23108 H-179 P1
+	 L4/P5 -4X-> MT23108 H-180 P1
+	 L5/P5 -4X-> MT23108 H-181 P1
+	 L6/P5 -4X-> MT23108 H-182 P1
+	 L7/P5 -4X-> MT23108 H-183 P1
+	 L8/P5 -4X-> MT23108 H-184 P1
+	 L9/P5 -4X-> MT23108 H-185 P1
+	 L10/P5 -4X-> MT23108 H-186 P1
+	 L11/P5 -4X-> MT23108 H-187 P1
+	 L12/P5 -4X-> MT23108 H-188 P1
+	 L1/P6 -4X-> MT23108 H-189 P1
+	 L2/P6 -4X-> MT23108 H-190 P1
+	 L3/P6 -4X-> MT23108 H-191 P1
+	 L4/P6 -4X-> MT23108 H-192 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L9/P3
+	 L6/P6 -4X-> MTS14400 SL2-1 L10/P3
+	 L7/P6 -4X-> MTS14400 SL2-1 L11/P3
+	 L8/P6 -4X-> MTS14400 SL2-1 L12/P3
+	 L9/P6 -4X-> MTS14400 SL2-1 L1/P4
+	 L10/P6 -4X-> MTS14400 SL2-1 L2/P4
+	 L11/P6 -4X-> MTS14400 SL2-1 L3/P4
+	 L12/P6 -4X-> MTS14400 SL2-1 L4/P4
+	 L1/P7 -4X-> MTS14400 SL2-1 L5/P4
+	 L2/P7 -4X-> MTS14400 SL2-1 L6/P4
+	 L3/P7 -4X-> MTS14400 SL2-1 L7/P4
+	 L4/P7 -4X-> MTS14400 SL2-1 L8/P4
+	 L5/P7 -4X-> MTS14400 SL2-1 L9/P4
+	 L6/P7 -4X-> MTS14400 SL2-1 L10/P4
+	 L7/P7 -4X-> MTS14400 SL2-1 L11/P4
+	 L8/P7 -4X-> MTS14400 SL2-1 L12/P4
+	 L9/P7 -4X-> MTS14400 SL2-2 L9/P3
+	 L10/P7 -4X-> MTS14400 SL2-2 L10/P3
+	 L11/P7 -4X-> MTS14400 SL2-2 L11/P3
+	 L12/P7 -4X-> MTS14400 SL2-2 L12/P3
+	 L1/P8 -4X-> MTS14400 SL2-2 L1/P4
+	 L2/P8 -4X-> MTS14400 SL2-2 L2/P4
+	 L3/P8 -4X-> MTS14400 SL2-2 L3/P4
+	 L4/P8 -4X-> MTS14400 SL2-2 L4/P4
+	 L5/P8 -4X-> MTS14400 SL2-2 L5/P4
+	 L6/P8 -4X-> MTS14400 SL2-2 L6/P4
+	 L7/P8 -4X-> MTS14400 SL2-2 L7/P4
+	 L8/P8 -4X-> MTS14400 SL2-2 L8/P4
+	 L9/P8 -4X-> MTS14400 SL2-2 L9/P4
+	 L10/P8 -4X-> MTS14400 SL2-2 L10/P4
+	 L11/P8 -4X-> MTS14400 SL2-2 L11/P4
+	 L12/P8 -4X-> MTS14400 SL2-2 L12/P4
+	 L1/P9 -4X-> MTS14400 SL2-3 L9/P3
+	 L2/P9 -4X-> MTS14400 SL2-3 L10/P3
+	 L3/P9 -4X-> MTS14400 SL2-3 L11/P3
+	 L4/P9 -4X-> MTS14400 SL2-3 L12/P3
+	 L5/P9 -4X-> MTS14400 SL2-3 L1/P4
+	 L6/P9 -4X-> MTS14400 SL2-3 L2/P4
+	 L7/P9 -4X-> MTS14400 SL2-3 L3/P4
+	 L8/P9 -4X-> MTS14400 SL2-3 L4/P4
+	 L9/P9 -4X-> MTS14400 SL2-3 L5/P4
+	 L10/P9 -4X-> MTS14400 SL2-3 L6/P4
+	 L11/P9 -4X-> MTS14400 SL2-3 L7/P4
+	 L12/P9 -4X-> MTS14400 SL2-3 L8/P4
+	 L1/P10 -4X-> MTS14400 SL2-3 L9/P4
+	 L2/P10 -4X-> MTS14400 SL2-3 L10/P4
+	 L3/P10 -4X-> MTS14400 SL2-3 L11/P4
+	 L4/P10 -4X-> MTS14400 SL2-3 L12/P4
+	 L5/P10 -4X-> MTS14400 SL2-4 L9/P3
+	 L6/P10 -4X-> MTS14400 SL2-4 L10/P3
+	 L7/P10 -4X-> MTS14400 SL2-4 L11/P3
+	 L8/P10 -4X-> MTS14400 SL2-4 L12/P3
+	 L9/P10 -4X-> MTS14400 SL2-4 L1/P4
+	 L10/P10 -4X-> MTS14400 SL2-4 L2/P4
+	 L11/P10 -4X-> MTS14400 SL2-4 L3/P4
+	 L12/P10 -4X-> MTS14400 SL2-4 L4/P4
+	 L1/P11 -4X-> MTS14400 SL2-4 L5/P4
+	 L2/P11 -4X-> MTS14400 SL2-4 L6/P4
+	 L3/P11 -4X-> MTS14400 SL2-4 L7/P4
+	 L4/P11 -4X-> MTS14400 SL2-4 L8/P4
+	 L5/P11 -4X-> MTS14400 SL2-4 L9/P4
+	 L6/P11 -4X-> MTS14400 SL2-4 L10/P4
+	 L7/P11 -4X-> MTS14400 SL2-4 L11/P4
+	 L8/P11 -4X-> MTS14400 SL2-4 L12/P4
+
+MTS14400 SL1-4
+	 L1/P1 -4X-> MT23108 H-193 P1
+	 L2/P1 -4X-> MT23108 H-194 P1
+	 L3/P1 -4X-> MT23108 H-195 P1
+	 L4/P1 -4X-> MT23108 H-196 P1
+	 L5/P1 -4X-> MT23108 H-197 P1
+	 L6/P1 -4X-> MT23108 H-198 P1
+	 L7/P1 -4X-> MT23108 H-199 P1
+	 L8/P1 -4X-> MT23108 H-200 P1
+	 L9/P1 -4X-> MT23108 H-201 P1
+	 L10/P1 -4X-> MT23108 H-202 P1
+	 L11/P1 -4X-> MT23108 H-203 P1
+	 L12/P1 -4X-> MT23108 H-204 P1
+	 L1/P2 -4X-> MT23108 H-205 P1
+	 L2/P2 -4X-> MT23108 H-206 P1
+	 L3/P2 -4X-> MT23108 H-207 P1
+	 L4/P2 -4X-> MT23108 H-208 P1
+	 L5/P2 -4X-> MT23108 H-209 P1
+	 L6/P2 -4X-> MT23108 H-210 P1
+	 L7/P2 -4X-> MT23108 H-211 P1
+	 L8/P2 -4X-> MT23108 H-212 P1
+	 L9/P2 -4X-> MT23108 H-213 P1
+	 L10/P2 -4X-> MT23108 H-214 P1
+	 L11/P2 -4X-> MT23108 H-215 P1
+	 L12/P2 -4X-> MT23108 H-216 P1
+	 L1/P3 -4X-> MT23108 H-217 P1
+	 L2/P3 -4X-> MT23108 H-218 P1
+	 L3/P3 -4X-> MT23108 H-219 P1
+	 L4/P3 -4X-> MT23108 H-220 P1
+	 L5/P3 -4X-> MT23108 H-221 P1
+	 L6/P3 -4X-> MT23108 H-222 P1
+	 L7/P3 -4X-> MT23108 H-223 P1
+	 L8/P3 -4X-> MT23108 H-224 P1
+	 L9/P3 -4X-> MT23108 H-225 P1
+	 L10/P3 -4X-> MT23108 H-226 P1
+	 L11/P3 -4X-> MT23108 H-227 P1
+	 L12/P3 -4X-> MT23108 H-228 P1
+	 L1/P4 -4X-> MT23108 H-229 P1
+	 L2/P4 -4X-> MT23108 H-230 P1
+	 L3/P4 -4X-> MT23108 H-231 P1
+	 L4/P4 -4X-> MT23108 H-232 P1
+	 L5/P4 -4X-> MT23108 H-233 P1
+	 L6/P4 -4X-> MT23108 H-234 P1
+	 L7/P4 -4X-> MT23108 H-235 P1
+	 L8/P4 -4X-> MT23108 H-236 P1
+	 L9/P4 -4X-> MT23108 H-237 P1
+	 L10/P4 -4X-> MT23108 H-238 P1
+	 L11/P4 -4X-> MT23108 H-239 P1
+	 L12/P4 -4X-> MT23108 H-240 P1
+	 L1/P5 -4X-> MT23108 H-241 P1
+	 L2/P5 -4X-> MT23108 H-242 P1
+	 L3/P5 -4X-> MT23108 H-243 P1
+	 L4/P5 -4X-> MT23108 H-244 P1
+	 L5/P5 -4X-> MT23108 H-245 P1
+	 L6/P5 -4X-> MT23108 H-246 P1
+	 L7/P5 -4X-> MT23108 H-247 P1
+	 L8/P5 -4X-> MT23108 H-248 P1
+	 L9/P5 -4X-> MT23108 H-249 P1
+	 L10/P5 -4X-> MT23108 H-250 P1
+	 L11/P5 -4X-> MT23108 H-251 P1
+	 L12/P5 -4X-> MT23108 H-252 P1
+	 L1/P6 -4X-> MT23108 H-253 P1
+	 L2/P6 -4X-> MT23108 H-254 P1
+	 L3/P6 -4X-> MT23108 H-255 P1
+	 L4/P6 -4X-> MT23108 H-256 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P5
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P5
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P5
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P5
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P5
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P5
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P5
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P5
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P5
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P5
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P5
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P5
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P6
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P6
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P6
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P6
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P5
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P5
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P5
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P5
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P5
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P5
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P5
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P5
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P5
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P5
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P5
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P5
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P6
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P6
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P6
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P6
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P5
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P5
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P5
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P5
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P5
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P5
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P5
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P5
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P5
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P5
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P5
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P5
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P6
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P6
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P6
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P6
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P5
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P5
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P5
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P5
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P5
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P5
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P5
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P5
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P5
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P5
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P5
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P5
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P6
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P6
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P6
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P6
+
+MTS14400 SL1-5
+	 L1/P1 -4X-> MT23108 H-257 P1
+	 L2/P1 -4X-> MT23108 H-258 P1
+	 L3/P1 -4X-> MT23108 H-259 P1
+	 L4/P1 -4X-> MT23108 H-260 P1
+	 L5/P1 -4X-> MT23108 H-261 P1
+	 L6/P1 -4X-> MT23108 H-262 P1
+	 L7/P1 -4X-> MT23108 H-263 P1
+	 L8/P1 -4X-> MT23108 H-264 P1
+	 L9/P1 -4X-> MT23108 H-265 P1
+	 L10/P1 -4X-> MT23108 H-266 P1
+	 L11/P1 -4X-> MT23108 H-267 P1
+	 L12/P1 -4X-> MT23108 H-268 P1
+	 L1/P2 -4X-> MT23108 H-269 P1
+	 L2/P2 -4X-> MT23108 H-270 P1
+	 L3/P2 -4X-> MT23108 H-271 P1
+	 L4/P2 -4X-> MT23108 H-272 P1
+	 L5/P2 -4X-> MT23108 H-273 P1
+	 L6/P2 -4X-> MT23108 H-274 P1
+	 L7/P2 -4X-> MT23108 H-275 P1
+	 L8/P2 -4X-> MT23108 H-276 P1
+	 L9/P2 -4X-> MT23108 H-277 P1
+	 L10/P2 -4X-> MT23108 H-278 P1
+	 L11/P2 -4X-> MT23108 H-279 P1
+	 L12/P2 -4X-> MT23108 H-280 P1
+	 L1/P3 -4X-> MT23108 H-281 P1
+	 L2/P3 -4X-> MT23108 H-282 P1
+	 L3/P3 -4X-> MT23108 H-283 P1
+	 L4/P3 -4X-> MT23108 H-284 P1
+	 L5/P3 -4X-> MT23108 H-285 P1
+	 L6/P3 -4X-> MT23108 H-286 P1
+	 L7/P3 -4X-> MT23108 H-287 P1
+	 L8/P3 -4X-> MT23108 H-288 P1
+	 L9/P3 -4X-> MT23108 H-289 P1
+	 L10/P3 -4X-> MT23108 H-290 P1
+	 L11/P3 -4X-> MT23108 H-291 P1
+	 L12/P3 -4X-> MT23108 H-292 P1
+	 L1/P4 -4X-> MT23108 H-293 P1
+	 L2/P4 -4X-> MT23108 H-294 P1
+	 L3/P4 -4X-> MT23108 H-295 P1
+	 L4/P4 -4X-> MT23108 H-296 P1
+	 L5/P4 -4X-> MT23108 H-297 P1
+	 L6/P4 -4X-> MT23108 H-298 P1
+	 L7/P4 -4X-> MT23108 H-299 P1
+	 L8/P4 -4X-> MT23108 H-300 P1
+	 L9/P4 -4X-> MT23108 H-301 P1
+	 L10/P4 -4X-> MT23108 H-302 P1
+	 L11/P4 -4X-> MT23108 H-303 P1
+	 L12/P4 -4X-> MT23108 H-304 P1
+	 L1/P5 -4X-> MT23108 H-305 P1
+	 L2/P5 -4X-> MT23108 H-306 P1
+	 L3/P5 -4X-> MT23108 H-307 P1
+	 L4/P5 -4X-> MT23108 H-308 P1
+	 L5/P5 -4X-> MT23108 H-309 P1
+	 L6/P5 -4X-> MT23108 H-310 P1
+	 L7/P5 -4X-> MT23108 H-311 P1
+	 L8/P5 -4X-> MT23108 H-312 P1
+	 L9/P5 -4X-> MT23108 H-313 P1
+	 L10/P5 -4X-> MT23108 H-314 P1
+	 L11/P5 -4X-> MT23108 H-315 P1
+	 L12/P5 -4X-> MT23108 H-316 P1
+	 L1/P6 -4X-> MT23108 H-317 P1
+	 L2/P6 -4X-> MT23108 H-318 P1
+	 L3/P6 -4X-> MT23108 H-319 P1
+	 L4/P6 -4X-> MT23108 H-320 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P6
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P6
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P6
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P6
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P6
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P6
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P6
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P6
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P7
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P7
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P7
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P7
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P7
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P7
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P7
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P7
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P6
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P6
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P6
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P6
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P6
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P6
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P6
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P6
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P7
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P7
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P7
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P7
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P7
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P7
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P7
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P7
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P6
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P6
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P6
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P6
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P6
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P6
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P6
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P6
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P7
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P7
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P7
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P7
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P7
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P7
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P7
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P7
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P6
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P6
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P6
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P6
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P6
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P6
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P6
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P6
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P7
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P7
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P7
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P7
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P7
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P7
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P7
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P7
+
+MTS14400 SL1-6
+	 L1/P1 -4X-> MT23108 H-321 P1
+	 L2/P1 -4X-> MT23108 H-322 P1
+	 L3/P1 -4X-> MT23108 H-323 P1
+	 L4/P1 -4X-> MT23108 H-324 P1
+	 L5/P1 -4X-> MT23108 H-325 P1
+	 L6/P1 -4X-> MT23108 H-326 P1
+	 L7/P1 -4X-> MT23108 H-327 P1
+	 L8/P1 -4X-> MT23108 H-328 P1
+	 L9/P1 -4X-> MT23108 H-329 P1
+	 L10/P1 -4X-> MT23108 H-330 P1
+	 L11/P1 -4X-> MT23108 H-331 P1
+	 L12/P1 -4X-> MT23108 H-332 P1
+	 L1/P2 -4X-> MT23108 H-333 P1
+	 L2/P2 -4X-> MT23108 H-334 P1
+	 L3/P2 -4X-> MT23108 H-335 P1
+	 L4/P2 -4X-> MT23108 H-336 P1
+	 L5/P2 -4X-> MT23108 H-337 P1
+	 L6/P2 -4X-> MT23108 H-338 P1
+	 L7/P2 -4X-> MT23108 H-339 P1
+	 L8/P2 -4X-> MT23108 H-340 P1
+	 L9/P2 -4X-> MT23108 H-341 P1
+	 L10/P2 -4X-> MT23108 H-342 P1
+	 L11/P2 -4X-> MT23108 H-343 P1
+	 L12/P2 -4X-> MT23108 H-344 P1
+	 L1/P3 -4X-> MT23108 H-345 P1
+	 L2/P3 -4X-> MT23108 H-346 P1
+	 L3/P3 -4X-> MT23108 H-347 P1
+	 L4/P3 -4X-> MT23108 H-348 P1
+	 L5/P3 -4X-> MT23108 H-349 P1
+	 L6/P3 -4X-> MT23108 H-350 P1
+	 L7/P3 -4X-> MT23108 H-351 P1
+	 L8/P3 -4X-> MT23108 H-352 P1
+	 L9/P3 -4X-> MT23108 H-353 P1
+	 L10/P3 -4X-> MT23108 H-354 P1
+	 L11/P3 -4X-> MT23108 H-355 P1
+	 L12/P3 -4X-> MT23108 H-356 P1
+	 L1/P4 -4X-> MT23108 H-357 P1
+	 L2/P4 -4X-> MT23108 H-358 P1
+	 L3/P4 -4X-> MT23108 H-359 P1
+	 L4/P4 -4X-> MT23108 H-360 P1
+	 L5/P4 -4X-> MT23108 H-361 P1
+	 L6/P4 -4X-> MT23108 H-362 P1
+	 L7/P4 -4X-> MT23108 H-363 P1
+	 L8/P4 -4X-> MT23108 H-364 P1
+	 L9/P4 -4X-> MT23108 H-365 P1
+	 L10/P4 -4X-> MT23108 H-366 P1
+	 L11/P4 -4X-> MT23108 H-367 P1
+	 L12/P4 -4X-> MT23108 H-368 P1
+	 L1/P5 -4X-> MT23108 H-369 P1
+	 L2/P5 -4X-> MT23108 H-370 P1
+	 L3/P5 -4X-> MT23108 H-371 P1
+	 L4/P5 -4X-> MT23108 H-372 P1
+	 L5/P5 -4X-> MT23108 H-373 P1
+	 L6/P5 -4X-> MT23108 H-374 P1
+	 L7/P5 -4X-> MT23108 H-375 P1
+	 L8/P5 -4X-> MT23108 H-376 P1
+	 L9/P5 -4X-> MT23108 H-377 P1
+	 L10/P5 -4X-> MT23108 H-378 P1
+	 L11/P5 -4X-> MT23108 H-379 P1
+	 L12/P5 -4X-> MT23108 H-380 P1
+	 L1/P6 -4X-> MT23108 H-381 P1
+	 L2/P6 -4X-> MT23108 H-382 P1
+	 L3/P6 -4X-> MT23108 H-383 P1
+	 L4/P6 -4X-> MT23108 H-384 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L9/P7
+	 L6/P6 -4X-> MTS14400 SL2-1 L10/P7
+	 L7/P6 -4X-> MTS14400 SL2-1 L11/P7
+	 L8/P6 -4X-> MTS14400 SL2-1 L12/P7
+	 L9/P6 -4X-> MTS14400 SL2-1 L1/P8
+	 L10/P6 -4X-> MTS14400 SL2-1 L2/P8
+	 L11/P6 -4X-> MTS14400 SL2-1 L3/P8
+	 L12/P6 -4X-> MTS14400 SL2-1 L4/P8
+	 L1/P7 -4X-> MTS14400 SL2-1 L5/P8
+	 L2/P7 -4X-> MTS14400 SL2-1 L6/P8
+	 L3/P7 -4X-> MTS14400 SL2-1 L7/P8
+	 L4/P7 -4X-> MTS14400 SL2-1 L8/P8
+	 L5/P7 -4X-> MTS14400 SL2-1 L9/P8
+	 L6/P7 -4X-> MTS14400 SL2-1 L10/P8
+	 L7/P7 -4X-> MTS14400 SL2-1 L11/P8
+	 L8/P7 -4X-> MTS14400 SL2-1 L12/P8
+	 L9/P7 -4X-> MTS14400 SL2-2 L9/P7
+	 L10/P7 -4X-> MTS14400 SL2-2 L10/P7
+	 L11/P7 -4X-> MTS14400 SL2-2 L11/P7
+	 L12/P7 -4X-> MTS14400 SL2-2 L12/P7
+	 L1/P8 -4X-> MTS14400 SL2-2 L1/P8
+	 L2/P8 -4X-> MTS14400 SL2-2 L2/P8
+	 L3/P8 -4X-> MTS14400 SL2-2 L3/P8
+	 L4/P8 -4X-> MTS14400 SL2-2 L4/P8
+	 L5/P8 -4X-> MTS14400 SL2-2 L5/P8
+	 L6/P8 -4X-> MTS14400 SL2-2 L6/P8
+	 L7/P8 -4X-> MTS14400 SL2-2 L7/P8
+	 L8/P8 -4X-> MTS14400 SL2-2 L8/P8
+	 L9/P8 -4X-> MTS14400 SL2-2 L9/P8
+	 L10/P8 -4X-> MTS14400 SL2-2 L10/P8
+	 L11/P8 -4X-> MTS14400 SL2-2 L11/P8
+	 L12/P8 -4X-> MTS14400 SL2-2 L12/P8
+	 L1/P9 -4X-> MTS14400 SL2-3 L9/P7
+	 L2/P9 -4X-> MTS14400 SL2-3 L10/P7
+	 L3/P9 -4X-> MTS14400 SL2-3 L11/P7
+	 L4/P9 -4X-> MTS14400 SL2-3 L12/P7
+	 L5/P9 -4X-> MTS14400 SL2-3 L1/P8
+	 L6/P9 -4X-> MTS14400 SL2-3 L2/P8
+	 L7/P9 -4X-> MTS14400 SL2-3 L3/P8
+	 L8/P9 -4X-> MTS14400 SL2-3 L4/P8
+	 L9/P9 -4X-> MTS14400 SL2-3 L5/P8
+	 L10/P9 -4X-> MTS14400 SL2-3 L6/P8
+	 L11/P9 -4X-> MTS14400 SL2-3 L7/P8
+	 L12/P9 -4X-> MTS14400 SL2-3 L8/P8
+	 L1/P10 -4X-> MTS14400 SL2-3 L9/P8
+	 L2/P10 -4X-> MTS14400 SL2-3 L10/P8
+	 L3/P10 -4X-> MTS14400 SL2-3 L11/P8
+	 L4/P10 -4X-> MTS14400 SL2-3 L12/P8
+	 L5/P10 -4X-> MTS14400 SL2-4 L9/P7
+	 L6/P10 -4X-> MTS14400 SL2-4 L10/P7
+	 L7/P10 -4X-> MTS14400 SL2-4 L11/P7
+	 L8/P10 -4X-> MTS14400 SL2-4 L12/P7
+	 L9/P10 -4X-> MTS14400 SL2-4 L1/P8
+	 L10/P10 -4X-> MTS14400 SL2-4 L2/P8
+	 L11/P10 -4X-> MTS14400 SL2-4 L3/P8
+	 L12/P10 -4X-> MTS14400 SL2-4 L4/P8
+	 L1/P11 -4X-> MTS14400 SL2-4 L5/P8
+	 L2/P11 -4X-> MTS14400 SL2-4 L6/P8
+	 L3/P11 -4X-> MTS14400 SL2-4 L7/P8
+	 L4/P11 -4X-> MTS14400 SL2-4 L8/P8
+	 L5/P11 -4X-> MTS14400 SL2-4 L9/P8
+	 L6/P11 -4X-> MTS14400 SL2-4 L10/P8
+	 L7/P11 -4X-> MTS14400 SL2-4 L11/P8
+	 L8/P11 -4X-> MTS14400 SL2-4 L12/P8
+
+MTS14400 SL1-7
+	 L1/P1 -4X-> MT23108 H-385 P1
+	 L2/P1 -4X-> MT23108 H-386 P1
+	 L3/P1 -4X-> MT23108 H-387 P1
+	 L4/P1 -4X-> MT23108 H-388 P1
+	 L5/P1 -4X-> MT23108 H-389 P1
+	 L6/P1 -4X-> MT23108 H-390 P1
+	 L7/P1 -4X-> MT23108 H-391 P1
+	 L8/P1 -4X-> MT23108 H-392 P1
+	 L9/P1 -4X-> MT23108 H-393 P1
+	 L10/P1 -4X-> MT23108 H-394 P1
+	 L11/P1 -4X-> MT23108 H-395 P1
+	 L12/P1 -4X-> MT23108 H-396 P1
+	 L1/P2 -4X-> MT23108 H-397 P1
+	 L2/P2 -4X-> MT23108 H-398 P1
+	 L3/P2 -4X-> MT23108 H-399 P1
+	 L4/P2 -4X-> MT23108 H-400 P1
+	 L5/P2 -4X-> MT23108 H-401 P1
+	 L6/P2 -4X-> MT23108 H-402 P1
+	 L7/P2 -4X-> MT23108 H-403 P1
+	 L8/P2 -4X-> MT23108 H-404 P1
+	 L9/P2 -4X-> MT23108 H-405 P1
+	 L10/P2 -4X-> MT23108 H-406 P1
+	 L11/P2 -4X-> MT23108 H-407 P1
+	 L12/P2 -4X-> MT23108 H-408 P1
+	 L1/P3 -4X-> MT23108 H-409 P1
+	 L2/P3 -4X-> MT23108 H-410 P1
+	 L3/P3 -4X-> MT23108 H-411 P1
+	 L4/P3 -4X-> MT23108 H-412 P1
+	 L5/P3 -4X-> MT23108 H-413 P1
+	 L6/P3 -4X-> MT23108 H-414 P1
+	 L7/P3 -4X-> MT23108 H-415 P1
+	 L8/P3 -4X-> MT23108 H-416 P1
+	 L9/P3 -4X-> MT23108 H-417 P1
+	 L10/P3 -4X-> MT23108 H-418 P1
+	 L11/P3 -4X-> MT23108 H-419 P1
+	 L12/P3 -4X-> MT23108 H-420 P1
+	 L1/P4 -4X-> MT23108 H-421 P1
+	 L2/P4 -4X-> MT23108 H-422 P1
+	 L3/P4 -4X-> MT23108 H-423 P1
+	 L4/P4 -4X-> MT23108 H-424 P1
+	 L5/P4 -4X-> MT23108 H-425 P1
+	 L6/P4 -4X-> MT23108 H-426 P1
+	 L7/P4 -4X-> MT23108 H-427 P1
+	 L8/P4 -4X-> MT23108 H-428 P1
+	 L9/P4 -4X-> MT23108 H-429 P1
+	 L10/P4 -4X-> MT23108 H-430 P1
+	 L11/P4 -4X-> MT23108 H-431 P1
+	 L12/P4 -4X-> MT23108 H-432 P1
+	 L1/P5 -4X-> MT23108 H-433 P1
+	 L2/P5 -4X-> MT23108 H-434 P1
+	 L3/P5 -4X-> MT23108 H-435 P1
+	 L4/P5 -4X-> MT23108 H-436 P1
+	 L5/P5 -4X-> MT23108 H-437 P1
+	 L6/P5 -4X-> MT23108 H-438 P1
+	 L7/P5 -4X-> MT23108 H-439 P1
+	 L8/P5 -4X-> MT23108 H-440 P1
+	 L9/P5 -4X-> MT23108 H-441 P1
+	 L10/P5 -4X-> MT23108 H-442 P1
+	 L11/P5 -4X-> MT23108 H-443 P1
+	 L12/P5 -4X-> MT23108 H-444 P1
+	 L1/P6 -4X-> MT23108 H-445 P1
+	 L2/P6 -4X-> MT23108 H-446 P1
+	 L3/P6 -4X-> MT23108 H-447 P1
+	 L4/P6 -4X-> MT23108 H-448 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P9
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P9
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P9
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P9
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P9
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P9
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P9
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P9
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P9
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P9
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P9
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P9
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P10
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P10
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P10
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P10
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P9
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P9
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P9
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P9
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P9
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P9
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P9
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P9
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P9
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P9
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P9
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P9
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P10
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P10
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P10
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P10
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P9
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P9
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P9
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P9
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P9
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P9
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P9
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P9
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P9
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P9
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P9
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P9
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P10
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P10
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P10
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P10
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P9
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P9
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P9
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P9
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P9
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P9
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P9
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P9
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P9
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P9
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P9
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P9
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P10
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P10
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P10
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P10
+
+MTS14400 SL1-8
+	 L1/P1 -4X-> MT23108 H-449 P1
+	 L2/P1 -4X-> MT23108 H-450 P1
+	 L3/P1 -4X-> MT23108 H-451 P1
+	 L4/P1 -4X-> MT23108 H-452 P1
+	 L5/P1 -4X-> MT23108 H-453 P1
+	 L6/P1 -4X-> MT23108 H-454 P1
+	 L7/P1 -4X-> MT23108 H-455 P1
+	 L8/P1 -4X-> MT23108 H-456 P1
+	 L9/P1 -4X-> MT23108 H-457 P1
+	 L10/P1 -4X-> MT23108 H-458 P1
+	 L11/P1 -4X-> MT23108 H-459 P1
+	 L12/P1 -4X-> MT23108 H-460 P1
+	 L1/P2 -4X-> MT23108 H-461 P1
+	 L2/P2 -4X-> MT23108 H-462 P1
+	 L3/P2 -4X-> MT23108 H-463 P1
+	 L4/P2 -4X-> MT23108 H-464 P1
+	 L5/P2 -4X-> MT23108 H-465 P1
+	 L6/P2 -4X-> MT23108 H-466 P1
+	 L7/P2 -4X-> MT23108 H-467 P1
+	 L8/P2 -4X-> MT23108 H-468 P1
+	 L9/P2 -4X-> MT23108 H-469 P1
+	 L10/P2 -4X-> MT23108 H-470 P1
+	 L11/P2 -4X-> MT23108 H-471 P1
+	 L12/P2 -4X-> MT23108 H-472 P1
+	 L1/P3 -4X-> MT23108 H-473 P1
+	 L2/P3 -4X-> MT23108 H-474 P1
+	 L3/P3 -4X-> MT23108 H-475 P1
+	 L4/P3 -4X-> MT23108 H-476 P1
+	 L5/P3 -4X-> MT23108 H-477 P1
+	 L6/P3 -4X-> MT23108 H-478 P1
+	 L7/P3 -4X-> MT23108 H-479 P1
+	 L8/P3 -4X-> MT23108 H-480 P1
+	 L9/P3 -4X-> MT23108 H-481 P1
+	 L10/P3 -4X-> MT23108 H-482 P1
+	 L11/P3 -4X-> MT23108 H-483 P1
+	 L12/P3 -4X-> MT23108 H-484 P1
+	 L1/P4 -4X-> MT23108 H-485 P1
+	 L2/P4 -4X-> MT23108 H-486 P1
+	 L3/P4 -4X-> MT23108 H-487 P1
+	 L4/P4 -4X-> MT23108 H-488 P1
+	 L5/P4 -4X-> MT23108 H-489 P1
+	 L6/P4 -4X-> MT23108 H-490 P1
+	 L7/P4 -4X-> MT23108 H-491 P1
+	 L8/P4 -4X-> MT23108 H-492 P1
+	 L9/P4 -4X-> MT23108 H-493 P1
+	 L10/P4 -4X-> MT23108 H-494 P1
+	 L11/P4 -4X-> MT23108 H-495 P1
+	 L12/P4 -4X-> MT23108 H-496 P1
+	 L1/P5 -4X-> MT23108 H-497 P1
+	 L2/P5 -4X-> MT23108 H-498 P1
+	 L3/P5 -4X-> MT23108 H-499 P1
+	 L4/P5 -4X-> MT23108 H-500 P1
+	 L5/P5 -4X-> MT23108 H-501 P1
+	 L6/P5 -4X-> MT23108 H-502 P1
+	 L7/P5 -4X-> MT23108 H-503 P1
+	 L8/P5 -4X-> MT23108 H-504 P1
+	 L9/P5 -4X-> MT23108 H-505 P1
+	 L10/P5 -4X-> MT23108 H-506 P1
+	 L11/P5 -4X-> MT23108 H-507 P1
+	 L12/P5 -4X-> MT23108 H-508 P1
+	 L1/P6 -4X-> MT23108 H-509 P1
+	 L2/P6 -4X-> MT23108 H-510 P1
+	 L3/P6 -4X-> MT23108 H-511 P1
+	 L4/P6 -4X-> MT23108 H-512 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P10
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P10
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P10
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P10
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P10
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P10
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P10
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P10
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P11
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P11
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P11
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P11
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P11
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P11
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P11
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P11
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P10
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P10
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P10
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P10
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P10
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P10
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P10
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P10
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P11
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P11
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P11
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P11
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P11
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P11
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P11
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P11
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P10
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P10
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P10
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P10
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P10
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P10
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P10
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P10
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P11
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P11
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P11
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P11
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P11
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P11
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P11
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P11
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P10
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P10
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P10
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P10
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P10
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P10
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P10
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P10
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P11
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P11
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P11
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P11
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P11
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P11
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P11
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P11
+
+MTS14400 SL2-1
+	 L1/P1 -4X-> MTS14400 SL1-1 L5/P6
+	 L2/P1 -4X-> MTS14400 SL1-1 L6/P6
+	 L3/P1 -4X-> MTS14400 SL1-1 L7/P6
+	 L4/P1 -4X-> MTS14400 SL1-1 L8/P6
+	 L5/P1 -4X-> MTS14400 SL1-1 L9/P6
+	 L6/P1 -4X-> MTS14400 SL1-1 L10/P6
+	 L7/P1 -4X-> MTS14400 SL1-1 L11/P6
+	 L8/P1 -4X-> MTS14400 SL1-1 L12/P6
+	 L9/P1 -4X-> MTS14400 SL1-1 L1/P7
+	 L10/P1 -4X-> MTS14400 SL1-1 L2/P7
+	 L11/P1 -4X-> MTS14400 SL1-1 L3/P7
+	 L12/P1 -4X-> MTS14400 SL1-1 L4/P7
+	 L1/P2 -4X-> MTS14400 SL1-1 L5/P7
+	 L2/P2 -4X-> MTS14400 SL1-1 L6/P7
+	 L3/P2 -4X-> MTS14400 SL1-1 L7/P7
+	 L4/P2 -4X-> MTS14400 SL1-1 L8/P7
+	 L5/P2 -4X-> MTS14400 SL1-2 L5/P6
+	 L6/P2 -4X-> MTS14400 SL1-2 L6/P6
+	 L7/P2 -4X-> MTS14400 SL1-2 L7/P6
+	 L8/P2 -4X-> MTS14400 SL1-2 L8/P6
+	 L9/P2 -4X-> MTS14400 SL1-2 L9/P6
+	 L10/P2 -4X-> MTS14400 SL1-2 L10/P6
+	 L11/P2 -4X-> MTS14400 SL1-2 L11/P6
+	 L12/P2 -4X-> MTS14400 SL1-2 L12/P6
+	 L1/P3 -4X-> MTS14400 SL1-2 L1/P7
+	 L2/P3 -4X-> MTS14400 SL1-2 L2/P7
+	 L3/P3 -4X-> MTS14400 SL1-2 L3/P7
+	 L4/P3 -4X-> MTS14400 SL1-2 L4/P7
+	 L5/P3 -4X-> MTS14400 SL1-2 L5/P7
+	 L6/P3 -4X-> MTS14400 SL1-2 L6/P7
+	 L7/P3 -4X-> MTS14400 SL1-2 L7/P7
+	 L8/P3 -4X-> MTS14400 SL1-2 L8/P7
+	 L9/P3 -4X-> MTS14400 SL1-3 L5/P6
+	 L10/P3 -4X-> MTS14400 SL1-3 L6/P6
+	 L11/P3 -4X-> MTS14400 SL1-3 L7/P6
+	 L12/P3 -4X-> MTS14400 SL1-3 L8/P6
+	 L1/P4 -4X-> MTS14400 SL1-3 L9/P6
+	 L2/P4 -4X-> MTS14400 SL1-3 L10/P6
+	 L3/P4 -4X-> MTS14400 SL1-3 L11/P6
+	 L4/P4 -4X-> MTS14400 SL1-3 L12/P6
+	 L5/P4 -4X-> MTS14400 SL1-3 L1/P7
+	 L6/P4 -4X-> MTS14400 SL1-3 L2/P7
+	 L7/P4 -4X-> MTS14400 SL1-3 L3/P7
+	 L8/P4 -4X-> MTS14400 SL1-3 L4/P7
+	 L9/P4 -4X-> MTS14400 SL1-3 L5/P7
+	 L10/P4 -4X-> MTS14400 SL1-3 L6/P7
+	 L11/P4 -4X-> MTS14400 SL1-3 L7/P7
+	 L12/P4 -4X-> MTS14400 SL1-3 L8/P7
+	 L1/P5 -4X-> MTS14400 SL1-4 L5/P6
+	 L2/P5 -4X-> MTS14400 SL1-4 L6/P6
+	 L3/P5 -4X-> MTS14400 SL1-4 L7/P6
+	 L4/P5 -4X-> MTS14400 SL1-4 L8/P6
+	 L5/P5 -4X-> MTS14400 SL1-4 L9/P6
+	 L6/P5 -4X-> MTS14400 SL1-4 L10/P6
+	 L7/P5 -4X-> MTS14400 SL1-4 L11/P6
+	 L8/P5 -4X-> MTS14400 SL1-4 L12/P6
+	 L9/P5 -4X-> MTS14400 SL1-4 L1/P7
+	 L10/P5 -4X-> MTS14400 SL1-4 L2/P7
+	 L11/P5 -4X-> MTS14400 SL1-4 L3/P7
+	 L12/P5 -4X-> MTS14400 SL1-4 L4/P7
+	 L1/P6 -4X-> MTS14400 SL1-4 L5/P7
+	 L2/P6 -4X-> MTS14400 SL1-4 L6/P7
+	 L3/P6 -4X-> MTS14400 SL1-4 L7/P7
+	 L4/P6 -4X-> MTS14400 SL1-4 L8/P7
+	 L5/P6 -4X-> MTS14400 SL1-5 L5/P6
+	 L6/P6 -4X-> MTS14400 SL1-5 L6/P6
+	 L7/P6 -4X-> MTS14400 SL1-5 L7/P6
+	 L8/P6 -4X-> MTS14400 SL1-5 L8/P6
+	 L9/P6 -4X-> MTS14400 SL1-5 L9/P6
+	 L10/P6 -4X-> MTS14400 SL1-5 L10/P6
+	 L11/P6 -4X-> MTS14400 SL1-5 L11/P6
+	 L12/P6 -4X-> MTS14400 SL1-5 L12/P6
+	 L1/P7 -4X-> MTS14400 SL1-5 L1/P7
+	 L2/P7 -4X-> MTS14400 SL1-5 L2/P7
+	 L3/P7 -4X-> MTS14400 SL1-5 L3/P7
+	 L4/P7 -4X-> MTS14400 SL1-5 L4/P7
+	 L5/P7 -4X-> MTS14400 SL1-5 L5/P7
+	 L6/P7 -4X-> MTS14400 SL1-5 L6/P7
+	 L7/P7 -4X-> MTS14400 SL1-5 L7/P7
+	 L8/P7 -4X-> MTS14400 SL1-5 L8/P7
+	 L9/P7 -4X-> MTS14400 SL1-6 L5/P6
+	 L10/P7 -4X-> MTS14400 SL1-6 L6/P6
+	 L11/P7 -4X-> MTS14400 SL1-6 L7/P6
+	 L12/P7 -4X-> MTS14400 SL1-6 L8/P6
+	 L1/P8 -4X-> MTS14400 SL1-6 L9/P6
+	 L2/P8 -4X-> MTS14400 SL1-6 L10/P6
+	 L3/P8 -4X-> MTS14400 SL1-6 L11/P6
+	 L4/P8 -4X-> MTS14400 SL1-6 L12/P6
+	 L5/P8 -4X-> MTS14400 SL1-6 L1/P7
+	 L6/P8 -4X-> MTS14400 SL1-6 L2/P7
+	 L7/P8 -4X-> MTS14400 SL1-6 L3/P7
+	 L8/P8 -4X-> MTS14400 SL1-6 L4/P7
+	 L9/P8 -4X-> MTS14400 SL1-6 L5/P7
+	 L10/P8 -4X-> MTS14400 SL1-6 L6/P7
+	 L11/P8 -4X-> MTS14400 SL1-6 L7/P7
+	 L12/P8 -4X-> MTS14400 SL1-6 L8/P7
+	 L1/P9 -4X-> MTS14400 SL1-7 L5/P6
+	 L2/P9 -4X-> MTS14400 SL1-7 L6/P6
+	 L3/P9 -4X-> MTS14400 SL1-7 L7/P6
+	 L4/P9 -4X-> MTS14400 SL1-7 L8/P6
+	 L5/P9 -4X-> MTS14400 SL1-7 L9/P6
+	 L6/P9 -4X-> MTS14400 SL1-7 L10/P6
+	 L7/P9 -4X-> MTS14400 SL1-7 L11/P6
+	 L8/P9 -4X-> MTS14400 SL1-7 L12/P6
+	 L9/P9 -4X-> MTS14400 SL1-7 L1/P7
+	 L10/P9 -4X-> MTS14400 SL1-7 L2/P7
+	 L11/P9 -4X-> MTS14400 SL1-7 L3/P7
+	 L12/P9 -4X-> MTS14400 SL1-7 L4/P7
+	 L1/P10 -4X-> MTS14400 SL1-7 L5/P7
+	 L2/P10 -4X-> MTS14400 SL1-7 L6/P7
+	 L3/P10 -4X-> MTS14400 SL1-7 L7/P7
+	 L4/P10 -4X-> MTS14400 SL1-7 L8/P7
+	 L5/P10 -4X-> MTS14400 SL1-8 L5/P6
+	 L6/P10 -4X-> MTS14400 SL1-8 L6/P6
+	 L7/P10 -4X-> MTS14400 SL1-8 L7/P6
+	 L8/P10 -4X-> MTS14400 SL1-8 L8/P6
+	 L9/P10 -4X-> MTS14400 SL1-8 L9/P6
+	 L10/P10 -4X-> MTS14400 SL1-8 L10/P6
+	 L11/P10 -4X-> MTS14400 SL1-8 L11/P6
+	 L12/P10 -4X-> MTS14400 SL1-8 L12/P6
+	 L1/P11 -4X-> MTS14400 SL1-8 L1/P7
+	 L2/P11 -4X-> MTS14400 SL1-8 L2/P7
+	 L3/P11 -4X-> MTS14400 SL1-8 L3/P7
+	 L4/P11 -4X-> MTS14400 SL1-8 L4/P7
+	 L5/P11 -4X-> MTS14400 SL1-8 L5/P7
+	 L6/P11 -4X-> MTS14400 SL1-8 L6/P7
+	 L7/P11 -4X-> MTS14400 SL1-8 L7/P7
+	 L8/P11 -4X-> MTS14400 SL1-8 L8/P7
+
+MTS14400 SL2-2
+	 L1/P1 -4X-> MTS14400 SL1-1 L9/P7
+	 L2/P1 -4X-> MTS14400 SL1-1 L10/P7
+	 L3/P1 -4X-> MTS14400 SL1-1 L11/P7
+	 L4/P1 -4X-> MTS14400 SL1-1 L12/P7
+	 L5/P1 -4X-> MTS14400 SL1-1 L1/P8
+	 L6/P1 -4X-> MTS14400 SL1-1 L2/P8
+	 L7/P1 -4X-> MTS14400 SL1-1 L3/P8
+	 L8/P1 -4X-> MTS14400 SL1-1 L4/P8
+	 L9/P1 -4X-> MTS14400 SL1-1 L5/P8
+	 L10/P1 -4X-> MTS14400 SL1-1 L6/P8
+	 L11/P1 -4X-> MTS14400 SL1-1 L7/P8
+	 L12/P1 -4X-> MTS14400 SL1-1 L8/P8
+	 L1/P2 -4X-> MTS14400 SL1-1 L9/P8
+	 L2/P2 -4X-> MTS14400 SL1-1 L10/P8
+	 L3/P2 -4X-> MTS14400 SL1-1 L11/P8
+	 L4/P2 -4X-> MTS14400 SL1-1 L12/P8
+	 L5/P2 -4X-> MTS14400 SL1-2 L9/P7
+	 L6/P2 -4X-> MTS14400 SL1-2 L10/P7
+	 L7/P2 -4X-> MTS14400 SL1-2 L11/P7
+	 L8/P2 -4X-> MTS14400 SL1-2 L12/P7
+	 L9/P2 -4X-> MTS14400 SL1-2 L1/P8
+	 L10/P2 -4X-> MTS14400 SL1-2 L2/P8
+	 L11/P2 -4X-> MTS14400 SL1-2 L3/P8
+	 L12/P2 -4X-> MTS14400 SL1-2 L4/P8
+	 L1/P3 -4X-> MTS14400 SL1-2 L5/P8
+	 L2/P3 -4X-> MTS14400 SL1-2 L6/P8
+	 L3/P3 -4X-> MTS14400 SL1-2 L7/P8
+	 L4/P3 -4X-> MTS14400 SL1-2 L8/P8
+	 L5/P3 -4X-> MTS14400 SL1-2 L9/P8
+	 L6/P3 -4X-> MTS14400 SL1-2 L10/P8
+	 L7/P3 -4X-> MTS14400 SL1-2 L11/P8
+	 L8/P3 -4X-> MTS14400 SL1-2 L12/P8
+	 L9/P3 -4X-> MTS14400 SL1-3 L9/P7
+	 L10/P3 -4X-> MTS14400 SL1-3 L10/P7
+	 L11/P3 -4X-> MTS14400 SL1-3 L11/P7
+	 L12/P3 -4X-> MTS14400 SL1-3 L12/P7
+	 L1/P4 -4X-> MTS14400 SL1-3 L1/P8
+	 L2/P4 -4X-> MTS14400 SL1-3 L2/P8
+	 L3/P4 -4X-> MTS14400 SL1-3 L3/P8
+	 L4/P4 -4X-> MTS14400 SL1-3 L4/P8
+	 L5/P4 -4X-> MTS14400 SL1-3 L5/P8
+	 L6/P4 -4X-> MTS14400 SL1-3 L6/P8
+	 L7/P4 -4X-> MTS14400 SL1-3 L7/P8
+	 L8/P4 -4X-> MTS14400 SL1-3 L8/P8
+	 L9/P4 -4X-> MTS14400 SL1-3 L9/P8
+	 L10/P4 -4X-> MTS14400 SL1-3 L10/P8
+	 L11/P4 -4X-> MTS14400 SL1-3 L11/P8
+	 L12/P4 -4X-> MTS14400 SL1-3 L12/P8
+	 L1/P5 -4X-> MTS14400 SL1-4 L9/P7
+	 L2/P5 -4X-> MTS14400 SL1-4 L10/P7
+	 L3/P5 -4X-> MTS14400 SL1-4 L11/P7
+	 L4/P5 -4X-> MTS14400 SL1-4 L12/P7
+	 L5/P5 -4X-> MTS14400 SL1-4 L1/P8
+	 L6/P5 -4X-> MTS14400 SL1-4 L2/P8
+	 L7/P5 -4X-> MTS14400 SL1-4 L3/P8
+	 L8/P5 -4X-> MTS14400 SL1-4 L4/P8
+	 L9/P5 -4X-> MTS14400 SL1-4 L5/P8
+	 L10/P5 -4X-> MTS14400 SL1-4 L6/P8
+	 L11/P5 -4X-> MTS14400 SL1-4 L7/P8
+	 L12/P5 -4X-> MTS14400 SL1-4 L8/P8
+	 L1/P6 -4X-> MTS14400 SL1-4 L9/P8
+	 L2/P6 -4X-> MTS14400 SL1-4 L10/P8
+	 L3/P6 -4X-> MTS14400 SL1-4 L11/P8
+	 L4/P6 -4X-> MTS14400 SL1-4 L12/P8
+	 L5/P6 -4X-> MTS14400 SL1-5 L9/P7
+	 L6/P6 -4X-> MTS14400 SL1-5 L10/P7
+	 L7/P6 -4X-> MTS14400 SL1-5 L11/P7
+	 L8/P6 -4X-> MTS14400 SL1-5 L12/P7
+	 L9/P6 -4X-> MTS14400 SL1-5 L1/P8
+	 L10/P6 -4X-> MTS14400 SL1-5 L2/P8
+	 L11/P6 -4X-> MTS14400 SL1-5 L3/P8
+	 L12/P6 -4X-> MTS14400 SL1-5 L4/P8
+	 L1/P7 -4X-> MTS14400 SL1-5 L5/P8
+	 L2/P7 -4X-> MTS14400 SL1-5 L6/P8
+	 L3/P7 -4X-> MTS14400 SL1-5 L7/P8
+	 L4/P7 -4X-> MTS14400 SL1-5 L8/P8
+	 L5/P7 -4X-> MTS14400 SL1-5 L9/P8
+	 L6/P7 -4X-> MTS14400 SL1-5 L10/P8
+	 L7/P7 -4X-> MTS14400 SL1-5 L11/P8
+	 L8/P7 -4X-> MTS14400 SL1-5 L12/P8
+	 L9/P7 -4X-> MTS14400 SL1-6 L9/P7
+	 L10/P7 -4X-> MTS14400 SL1-6 L10/P7
+	 L11/P7 -4X-> MTS14400 SL1-6 L11/P7
+	 L12/P7 -4X-> MTS14400 SL1-6 L12/P7
+	 L1/P8 -4X-> MTS14400 SL1-6 L1/P8
+	 L2/P8 -4X-> MTS14400 SL1-6 L2/P8
+	 L3/P8 -4X-> MTS14400 SL1-6 L3/P8
+	 L4/P8 -4X-> MTS14400 SL1-6 L4/P8
+	 L5/P8 -4X-> MTS14400 SL1-6 L5/P8
+	 L6/P8 -4X-> MTS14400 SL1-6 L6/P8
+	 L7/P8 -4X-> MTS14400 SL1-6 L7/P8
+	 L8/P8 -4X-> MTS14400 SL1-6 L8/P8
+	 L9/P8 -4X-> MTS14400 SL1-6 L9/P8
+	 L10/P8 -4X-> MTS14400 SL1-6 L10/P8
+	 L11/P8 -4X-> MTS14400 SL1-6 L11/P8
+	 L12/P8 -4X-> MTS14400 SL1-6 L12/P8
+	 L1/P9 -4X-> MTS14400 SL1-7 L9/P7
+	 L2/P9 -4X-> MTS14400 SL1-7 L10/P7
+	 L3/P9 -4X-> MTS14400 SL1-7 L11/P7
+	 L4/P9 -4X-> MTS14400 SL1-7 L12/P7
+	 L5/P9 -4X-> MTS14400 SL1-7 L1/P8
+	 L6/P9 -4X-> MTS14400 SL1-7 L2/P8
+	 L7/P9 -4X-> MTS14400 SL1-7 L3/P8
+	 L8/P9 -4X-> MTS14400 SL1-7 L4/P8
+	 L9/P9 -4X-> MTS14400 SL1-7 L5/P8
+	 L10/P9 -4X-> MTS14400 SL1-7 L6/P8
+	 L11/P9 -4X-> MTS14400 SL1-7 L7/P8
+	 L12/P9 -4X-> MTS14400 SL1-7 L8/P8
+	 L1/P10 -4X-> MTS14400 SL1-7 L9/P8
+	 L2/P10 -4X-> MTS14400 SL1-7 L10/P8
+	 L3/P10 -4X-> MTS14400 SL1-7 L11/P8
+	 L4/P10 -4X-> MTS14400 SL1-7 L12/P8
+	 L5/P10 -4X-> MTS14400 SL1-8 L9/P7
+	 L6/P10 -4X-> MTS14400 SL1-8 L10/P7
+	 L7/P10 -4X-> MTS14400 SL1-8 L11/P7
+	 L8/P10 -4X-> MTS14400 SL1-8 L12/P7
+	 L9/P10 -4X-> MTS14400 SL1-8 L1/P8
+	 L10/P10 -4X-> MTS14400 SL1-8 L2/P8
+	 L11/P10 -4X-> MTS14400 SL1-8 L3/P8
+	 L12/P10 -4X-> MTS14400 SL1-8 L4/P8
+	 L1/P11 -4X-> MTS14400 SL1-8 L5/P8
+	 L2/P11 -4X-> MTS14400 SL1-8 L6/P8
+	 L3/P11 -4X-> MTS14400 SL1-8 L7/P8
+	 L4/P11 -4X-> MTS14400 SL1-8 L8/P8
+	 L5/P11 -4X-> MTS14400 SL1-8 L9/P8
+	 L6/P11 -4X-> MTS14400 SL1-8 L10/P8
+	 L7/P11 -4X-> MTS14400 SL1-8 L11/P8
+	 L8/P11 -4X-> MTS14400 SL1-8 L12/P8
+
+MTS14400 SL2-3
+	 L1/P1 -4X-> MTS14400 SL1-1 L1/P9
+	 L2/P1 -4X-> MTS14400 SL1-1 L2/P9
+	 L3/P1 -4X-> MTS14400 SL1-1 L3/P9
+	 L4/P1 -4X-> MTS14400 SL1-1 L4/P9
+	 L5/P1 -4X-> MTS14400 SL1-1 L5/P9
+	 L6/P1 -4X-> MTS14400 SL1-1 L6/P9
+	 L7/P1 -4X-> MTS14400 SL1-1 L7/P9
+	 L8/P1 -4X-> MTS14400 SL1-1 L8/P9
+	 L9/P1 -4X-> MTS14400 SL1-1 L9/P9
+	 L10/P1 -4X-> MTS14400 SL1-1 L10/P9
+	 L11/P1 -4X-> MTS14400 SL1-1 L11/P9
+	 L12/P1 -4X-> MTS14400 SL1-1 L12/P9
+	 L1/P2 -4X-> MTS14400 SL1-1 L1/P10
+	 L2/P2 -4X-> MTS14400 SL1-1 L2/P10
+	 L3/P2 -4X-> MTS14400 SL1-1 L3/P10
+	 L4/P2 -4X-> MTS14400 SL1-1 L4/P10
+	 L5/P2 -4X-> MTS14400 SL1-2 L1/P9
+	 L6/P2 -4X-> MTS14400 SL1-2 L2/P9
+	 L7/P2 -4X-> MTS14400 SL1-2 L3/P9
+	 L8/P2 -4X-> MTS14400 SL1-2 L4/P9
+	 L9/P2 -4X-> MTS14400 SL1-2 L5/P9
+	 L10/P2 -4X-> MTS14400 SL1-2 L6/P9
+	 L11/P2 -4X-> MTS14400 SL1-2 L7/P9
+	 L12/P2 -4X-> MTS14400 SL1-2 L8/P9
+	 L1/P3 -4X-> MTS14400 SL1-2 L9/P9
+	 L2/P3 -4X-> MTS14400 SL1-2 L10/P9
+	 L3/P3 -4X-> MTS14400 SL1-2 L11/P9
+	 L4/P3 -4X-> MTS14400 SL1-2 L12/P9
+	 L5/P3 -4X-> MTS14400 SL1-2 L1/P10
+	 L6/P3 -4X-> MTS14400 SL1-2 L2/P10
+	 L7/P3 -4X-> MTS14400 SL1-2 L3/P10
+	 L8/P3 -4X-> MTS14400 SL1-2 L4/P10
+	 L9/P3 -4X-> MTS14400 SL1-3 L1/P9
+	 L10/P3 -4X-> MTS14400 SL1-3 L2/P9
+	 L11/P3 -4X-> MTS14400 SL1-3 L3/P9
+	 L12/P3 -4X-> MTS14400 SL1-3 L4/P9
+	 L1/P4 -4X-> MTS14400 SL1-3 L5/P9
+	 L2/P4 -4X-> MTS14400 SL1-3 L6/P9
+	 L3/P4 -4X-> MTS14400 SL1-3 L7/P9
+	 L4/P4 -4X-> MTS14400 SL1-3 L8/P9
+	 L5/P4 -4X-> MTS14400 SL1-3 L9/P9
+	 L6/P4 -4X-> MTS14400 SL1-3 L10/P9
+	 L7/P4 -4X-> MTS14400 SL1-3 L11/P9
+	 L8/P4 -4X-> MTS14400 SL1-3 L12/P9
+	 L9/P4 -4X-> MTS14400 SL1-3 L1/P10
+	 L10/P4 -4X-> MTS14400 SL1-3 L2/P10
+	 L11/P4 -4X-> MTS14400 SL1-3 L3/P10
+	 L12/P4 -4X-> MTS14400 SL1-3 L4/P10
+	 L1/P5 -4X-> MTS14400 SL1-4 L1/P9
+	 L2/P5 -4X-> MTS14400 SL1-4 L2/P9
+	 L3/P5 -4X-> MTS14400 SL1-4 L3/P9
+	 L4/P5 -4X-> MTS14400 SL1-4 L4/P9
+	 L5/P5 -4X-> MTS14400 SL1-4 L5/P9
+	 L6/P5 -4X-> MTS14400 SL1-4 L6/P9
+	 L7/P5 -4X-> MTS14400 SL1-4 L7/P9
+	 L8/P5 -4X-> MTS14400 SL1-4 L8/P9
+	 L9/P5 -4X-> MTS14400 SL1-4 L9/P9
+	 L10/P5 -4X-> MTS14400 SL1-4 L10/P9
+	 L11/P5 -4X-> MTS14400 SL1-4 L11/P9
+	 L12/P5 -4X-> MTS14400 SL1-4 L12/P9
+	 L1/P6 -4X-> MTS14400 SL1-4 L1/P10
+	 L2/P6 -4X-> MTS14400 SL1-4 L2/P10
+	 L3/P6 -4X-> MTS14400 SL1-4 L3/P10
+	 L4/P6 -4X-> MTS14400 SL1-4 L4/P10
+	 L5/P6 -4X-> MTS14400 SL1-5 L1/P9
+	 L6/P6 -4X-> MTS14400 SL1-5 L2/P9
+	 L7/P6 -4X-> MTS14400 SL1-5 L3/P9
+	 L8/P6 -4X-> MTS14400 SL1-5 L4/P9
+	 L9/P6 -4X-> MTS14400 SL1-5 L5/P9
+	 L10/P6 -4X-> MTS14400 SL1-5 L6/P9
+	 L11/P6 -4X-> MTS14400 SL1-5 L7/P9
+	 L12/P6 -4X-> MTS14400 SL1-5 L8/P9
+	 L1/P7 -4X-> MTS14400 SL1-5 L9/P9
+	 L2/P7 -4X-> MTS14400 SL1-5 L10/P9
+	 L3/P7 -4X-> MTS14400 SL1-5 L11/P9
+	 L4/P7 -4X-> MTS14400 SL1-5 L12/P9
+	 L5/P7 -4X-> MTS14400 SL1-5 L1/P10
+	 L6/P7 -4X-> MTS14400 SL1-5 L2/P10
+	 L7/P7 -4X-> MTS14400 SL1-5 L3/P10
+	 L8/P7 -4X-> MTS14400 SL1-5 L4/P10
+	 L9/P7 -4X-> MTS14400 SL1-6 L1/P9
+	 L10/P7 -4X-> MTS14400 SL1-6 L2/P9
+	 L11/P7 -4X-> MTS14400 SL1-6 L3/P9
+	 L12/P7 -4X-> MTS14400 SL1-6 L4/P9
+	 L1/P8 -4X-> MTS14400 SL1-6 L5/P9
+	 L2/P8 -4X-> MTS14400 SL1-6 L6/P9
+	 L3/P8 -4X-> MTS14400 SL1-6 L7/P9
+	 L4/P8 -4X-> MTS14400 SL1-6 L8/P9
+	 L5/P8 -4X-> MTS14400 SL1-6 L9/P9
+	 L6/P8 -4X-> MTS14400 SL1-6 L10/P9
+	 L7/P8 -4X-> MTS14400 SL1-6 L11/P9
+	 L8/P8 -4X-> MTS14400 SL1-6 L12/P9
+	 L9/P8 -4X-> MTS14400 SL1-6 L1/P10
+	 L10/P8 -4X-> MTS14400 SL1-6 L2/P10
+	 L11/P8 -4X-> MTS14400 SL1-6 L3/P10
+	 L12/P8 -4X-> MTS14400 SL1-6 L4/P10
+	 L1/P9 -4X-> MTS14400 SL1-7 L1/P9
+	 L2/P9 -4X-> MTS14400 SL1-7 L2/P9
+	 L3/P9 -4X-> MTS14400 SL1-7 L3/P9
+	 L4/P9 -4X-> MTS14400 SL1-7 L4/P9
+	 L5/P9 -4X-> MTS14400 SL1-7 L5/P9
+	 L6/P9 -4X-> MTS14400 SL1-7 L6/P9
+	 L7/P9 -4X-> MTS14400 SL1-7 L7/P9
+	 L8/P9 -4X-> MTS14400 SL1-7 L8/P9
+	 L9/P9 -4X-> MTS14400 SL1-7 L9/P9
+	 L10/P9 -4X-> MTS14400 SL1-7 L10/P9
+	 L11/P9 -4X-> MTS14400 SL1-7 L11/P9
+	 L12/P9 -4X-> MTS14400 SL1-7 L12/P9
+	 L1/P10 -4X-> MTS14400 SL1-7 L1/P10
+	 L2/P10 -4X-> MTS14400 SL1-7 L2/P10
+	 L3/P10 -4X-> MTS14400 SL1-7 L3/P10
+	 L4/P10 -4X-> MTS14400 SL1-7 L4/P10
+	 L5/P10 -4X-> MTS14400 SL1-8 L1/P9
+	 L6/P10 -4X-> MTS14400 SL1-8 L2/P9
+	 L7/P10 -4X-> MTS14400 SL1-8 L3/P9
+	 L8/P10 -4X-> MTS14400 SL1-8 L4/P9
+	 L9/P10 -4X-> MTS14400 SL1-8 L5/P9
+	 L10/P10 -4X-> MTS14400 SL1-8 L6/P9
+	 L11/P10 -4X-> MTS14400 SL1-8 L7/P9
+	 L12/P10 -4X-> MTS14400 SL1-8 L8/P9
+	 L1/P11 -4X-> MTS14400 SL1-8 L9/P9
+	 L2/P11 -4X-> MTS14400 SL1-8 L10/P9
+	 L3/P11 -4X-> MTS14400 SL1-8 L11/P9
+	 L4/P11 -4X-> MTS14400 SL1-8 L12/P9
+	 L5/P11 -4X-> MTS14400 SL1-8 L1/P10
+	 L6/P11 -4X-> MTS14400 SL1-8 L2/P10
+	 L7/P11 -4X-> MTS14400 SL1-8 L3/P10
+	 L8/P11 -4X-> MTS14400 SL1-8 L4/P10
+
+MTS14400 SL2-4
+	 L1/P1 -4X-> MTS14400 SL1-1 L5/P10
+	 L2/P1 -4X-> MTS14400 SL1-1 L6/P10
+	 L3/P1 -4X-> MTS14400 SL1-1 L7/P10
+	 L4/P1 -4X-> MTS14400 SL1-1 L8/P10
+	 L5/P1 -4X-> MTS14400 SL1-1 L9/P10
+	 L6/P1 -4X-> MTS14400 SL1-1 L10/P10
+	 L7/P1 -4X-> MTS14400 SL1-1 L11/P10
+	 L8/P1 -4X-> MTS14400 SL1-1 L12/P10
+	 L9/P1 -4X-> MTS14400 SL1-1 L1/P11
+	 L10/P1 -4X-> MTS14400 SL1-1 L2/P11
+	 L11/P1 -4X-> MTS14400 SL1-1 L3/P11
+	 L12/P1 -4X-> MTS14400 SL1-1 L4/P11
+	 L1/P2 -4X-> MTS14400 SL1-1 L5/P11
+	 L2/P2 -4X-> MTS14400 SL1-1 L6/P11
+	 L3/P2 -4X-> MTS14400 SL1-1 L7/P11
+	 L4/P2 -4X-> MTS14400 SL1-1 L8/P11
+	 L5/P2 -4X-> MTS14400 SL1-2 L5/P10
+	 L6/P2 -4X-> MTS14400 SL1-2 L6/P10
+	 L7/P2 -4X-> MTS14400 SL1-2 L7/P10
+	 L8/P2 -4X-> MTS14400 SL1-2 L8/P10
+	 L9/P2 -4X-> MTS14400 SL1-2 L9/P10
+	 L10/P2 -4X-> MTS14400 SL1-2 L10/P10
+	 L11/P2 -4X-> MTS14400 SL1-2 L11/P10
+	 L12/P2 -4X-> MTS14400 SL1-2 L12/P10
+	 L1/P3 -4X-> MTS14400 SL1-2 L1/P11
+	 L2/P3 -4X-> MTS14400 SL1-2 L2/P11
+	 L3/P3 -4X-> MTS14400 SL1-2 L3/P11
+	 L4/P3 -4X-> MTS14400 SL1-2 L4/P11
+	 L5/P3 -4X-> MTS14400 SL1-2 L5/P11
+	 L6/P3 -4X-> MTS14400 SL1-2 L6/P11
+	 L7/P3 -4X-> MTS14400 SL1-2 L7/P11
+	 L8/P3 -4X-> MTS14400 SL1-2 L8/P11
+	 L9/P3 -4X-> MTS14400 SL1-3 L5/P10
+	 L10/P3 -4X-> MTS14400 SL1-3 L6/P10
+	 L11/P3 -4X-> MTS14400 SL1-3 L7/P10
+	 L12/P3 -4X-> MTS14400 SL1-3 L8/P10
+	 L1/P4 -4X-> MTS14400 SL1-3 L9/P10
+	 L2/P4 -4X-> MTS14400 SL1-3 L10/P10
+	 L3/P4 -4X-> MTS14400 SL1-3 L11/P10
+	 L4/P4 -4X-> MTS14400 SL1-3 L12/P10
+	 L5/P4 -4X-> MTS14400 SL1-3 L1/P11
+	 L6/P4 -4X-> MTS14400 SL1-3 L2/P11
+	 L7/P4 -4X-> MTS14400 SL1-3 L3/P11
+	 L8/P4 -4X-> MTS14400 SL1-3 L4/P11
+	 L9/P4 -4X-> MTS14400 SL1-3 L5/P11
+	 L10/P4 -4X-> MTS14400 SL1-3 L6/P11
+	 L11/P4 -4X-> MTS14400 SL1-3 L7/P11
+	 L12/P4 -4X-> MTS14400 SL1-3 L8/P11
+	 L1/P5 -4X-> MTS14400 SL1-4 L5/P10
+	 L2/P5 -4X-> MTS14400 SL1-4 L6/P10
+	 L3/P5 -4X-> MTS14400 SL1-4 L7/P10
+	 L4/P5 -4X-> MTS14400 SL1-4 L8/P10
+	 L5/P5 -4X-> MTS14400 SL1-4 L9/P10
+	 L6/P5 -4X-> MTS14400 SL1-4 L10/P10
+	 L7/P5 -4X-> MTS14400 SL1-4 L11/P10
+	 L8/P5 -4X-> MTS14400 SL1-4 L12/P10
+	 L9/P5 -4X-> MTS14400 SL1-4 L1/P11
+	 L10/P5 -4X-> MTS14400 SL1-4 L2/P11
+	 L11/P5 -4X-> MTS14400 SL1-4 L3/P11
+	 L12/P5 -4X-> MTS14400 SL1-4 L4/P11
+	 L1/P6 -4X-> MTS14400 SL1-4 L5/P11
+	 L2/P6 -4X-> MTS14400 SL1-4 L6/P11
+	 L3/P6 -4X-> MTS14400 SL1-4 L7/P11
+	 L4/P6 -4X-> MTS14400 SL1-4 L8/P11
+	 L5/P6 -4X-> MTS14400 SL1-5 L5/P10
+	 L6/P6 -4X-> MTS14400 SL1-5 L6/P10
+	 L7/P6 -4X-> MTS14400 SL1-5 L7/P10
+	 L8/P6 -4X-> MTS14400 SL1-5 L8/P10
+	 L9/P6 -4X-> MTS14400 SL1-5 L9/P10
+	 L10/P6 -4X-> MTS14400 SL1-5 L10/P10
+	 L11/P6 -4X-> MTS14400 SL1-5 L11/P10
+	 L12/P6 -4X-> MTS14400 SL1-5 L12/P10
+	 L1/P7 -4X-> MTS14400 SL1-5 L1/P11
+	 L2/P7 -4X-> MTS14400 SL1-5 L2/P11
+	 L3/P7 -4X-> MTS14400 SL1-5 L3/P11
+	 L4/P7 -4X-> MTS14400 SL1-5 L4/P11
+	 L5/P7 -4X-> MTS14400 SL1-5 L5/P11
+	 L6/P7 -4X-> MTS14400 SL1-5 L6/P11
+	 L7/P7 -4X-> MTS14400 SL1-5 L7/P11
+	 L8/P7 -4X-> MTS14400 SL1-5 L8/P11
+	 L9/P7 -4X-> MTS14400 SL1-6 L5/P10
+	 L10/P7 -4X-> MTS14400 SL1-6 L6/P10
+	 L11/P7 -4X-> MTS14400 SL1-6 L7/P10
+	 L12/P7 -4X-> MTS14400 SL1-6 L8/P10
+	 L1/P8 -4X-> MTS14400 SL1-6 L9/P10
+	 L2/P8 -4X-> MTS14400 SL1-6 L10/P10
+	 L3/P8 -4X-> MTS14400 SL1-6 L11/P10
+	 L4/P8 -4X-> MTS14400 SL1-6 L12/P10
+	 L5/P8 -4X-> MTS14400 SL1-6 L1/P11
+	 L6/P8 -4X-> MTS14400 SL1-6 L2/P11
+	 L7/P8 -4X-> MTS14400 SL1-6 L3/P11
+	 L8/P8 -4X-> MTS14400 SL1-6 L4/P11
+	 L9/P8 -4X-> MTS14400 SL1-6 L5/P11
+	 L10/P8 -4X-> MTS14400 SL1-6 L6/P11
+	 L11/P8 -4X-> MTS14400 SL1-6 L7/P11
+	 L12/P8 -4X-> MTS14400 SL1-6 L8/P11
+	 L1/P9 -4X-> MTS14400 SL1-7 L5/P10
+	 L2/P9 -4X-> MTS14400 SL1-7 L6/P10
+	 L3/P9 -4X-> MTS14400 SL1-7 L7/P10
+	 L4/P9 -4X-> MTS14400 SL1-7 L8/P10
+	 L5/P9 -4X-> MTS14400 SL1-7 L9/P10
+	 L6/P9 -4X-> MTS14400 SL1-7 L10/P10
+	 L7/P9 -4X-> MTS14400 SL1-7 L11/P10
+	 L8/P9 -4X-> MTS14400 SL1-7 L12/P10
+	 L9/P9 -4X-> MTS14400 SL1-7 L1/P11
+	 L10/P9 -4X-> MTS14400 SL1-7 L2/P11
+	 L11/P9 -4X-> MTS14400 SL1-7 L3/P11
+	 L12/P9 -4X-> MTS14400 SL1-7 L4/P11
+	 L1/P10 -4X-> MTS14400 SL1-7 L5/P11
+	 L2/P10 -4X-> MTS14400 SL1-7 L6/P11
+	 L3/P10 -4X-> MTS14400 SL1-7 L7/P11
+	 L4/P10 -4X-> MTS14400 SL1-7 L8/P11
+	 L5/P10 -4X-> MTS14400 SL1-8 L5/P10
+	 L6/P10 -4X-> MTS14400 SL1-8 L6/P10
+	 L7/P10 -4X-> MTS14400 SL1-8 L7/P10
+	 L8/P10 -4X-> MTS14400 SL1-8 L8/P10
+	 L9/P10 -4X-> MTS14400 SL1-8 L9/P10
+	 L10/P10 -4X-> MTS14400 SL1-8 L10/P10
+	 L11/P10 -4X-> MTS14400 SL1-8 L11/P10
+	 L12/P10 -4X-> MTS14400 SL1-8 L12/P10
+	 L1/P11 -4X-> MTS14400 SL1-8 L1/P11
+	 L2/P11 -4X-> MTS14400 SL1-8 L2/P11
+	 L3/P11 -4X-> MTS14400 SL1-8 L3/P11
+	 L4/P11 -4X-> MTS14400 SL1-8 L4/P11
+	 L5/P11 -4X-> MTS14400 SL1-8 L5/P11
+	 L6/P11 -4X-> MTS14400 SL1-8 L6/P11
+	 L7/P11 -4X-> MTS14400 SL1-8 L7/P11
+	 L8/P11 -4X-> MTS14400 SL1-8 L8/P11
diff --git a/ibdm/Clusters/SingleGazelle.cables b/ibdm/Clusters/SingleGazelle.cables
new file mode 100644
index 0000000..bdeb6c8
--- /dev/null
+++ b/ibdm/Clusters/SingleGazelle.cables
@@ -0,0 +1,97 @@
+# <SysType> <sysName> <portName>
+Cougar H1 P1 Gazelle GZ L1/P1
+Cougar H2 P1 Gazelle GZ L1/P2
+Cougar H3 P1 Gazelle GZ L1/P3
+Cougar H4 P1 Gazelle GZ L1/P4
+Cougar H5 P1 Gazelle GZ L1/P5
+Cougar H6 P1 Gazelle GZ L1/P6
+Cougar H7 P1 Gazelle GZ L1/P7
+Cougar H8 P1 Gazelle GZ L1/P8
+Cougar H9 P1 Gazelle GZ L1/P9
+Cougar H10 P1 Gazelle GZ L1/P10
+Cougar H11 P1 Gazelle GZ L1/P11
+Cougar H12 P1 Gazelle GZ L1/P12
+Cougar H13 P1 Gazelle GZ L2/P1
+Cougar H14 P1 Gazelle GZ L2/P2
+Cougar H15 P1 Gazelle GZ L2/P3
+Cougar H16 P1 Gazelle GZ L2/P4
+Cougar H17 P1 Gazelle GZ L2/P5
+Cougar H18 P1 Gazelle GZ L2/P6
+Cougar H19 P1 Gazelle GZ L2/P7
+Cougar H20 P1 Gazelle GZ L2/P8
+Cougar H21 P1 Gazelle GZ L2/P9
+Cougar H22 P1 Gazelle GZ L2/P10
+Cougar H23 P1 Gazelle GZ L2/P11
+Cougar H24 P1 Gazelle GZ L2/P12
+Cougar H25 P1 Gazelle GZ L3/P1
+Cougar H26 P1 Gazelle GZ L3/P2
+Cougar H27 P1 Gazelle GZ L3/P3
+Cougar H28 P1 Gazelle GZ L3/P4
+Cougar H29 P1 Gazelle GZ L3/P5
+Cougar H30 P1 Gazelle GZ L3/P6
+Cougar H31 P1 Gazelle GZ L3/P7
+Cougar H32 P1 Gazelle GZ L3/P8
+Cougar H33 P1 Gazelle GZ L3/P9
+Cougar H34 P1 Gazelle GZ L3/P10
+Cougar H35 P1 Gazelle GZ L3/P11
+Cougar H36 P1 Gazelle GZ L3/P12
+Cougar H37 P1 Gazelle GZ L4/P1
+Cougar H38 P1 Gazelle GZ L4/P2
+Cougar H39 P1 Gazelle GZ L4/P3
+Cougar H40 P1 Gazelle GZ L4/P4
+Cougar H41 P1 Gazelle GZ L4/P5
+Cougar H42 P1 Gazelle GZ L4/P6
+Cougar H43 P1 Gazelle GZ L4/P7
+Cougar H44 P1 Gazelle GZ L4/P8
+Cougar H45 P1 Gazelle GZ L4/P9
+Cougar H46 P1 Gazelle GZ L4/P10
+Cougar H47 P1 Gazelle GZ L4/P11
+Cougar H48 P1 Gazelle GZ L4/P12
+Cougar H49 P1 Gazelle GZ L5/P1
+Cougar H50 P1 Gazelle GZ L5/P2
+Cougar H51 P1 Gazelle GZ L5/P3
+Cougar H52 P1 Gazelle GZ L5/P4
+Cougar H53 P1 Gazelle GZ L5/P5
+Cougar H54 P1 Gazelle GZ L5/P6
+Cougar H55 P1 Gazelle GZ L5/P7
+Cougar H56 P1 Gazelle GZ L5/P8
+Cougar H57 P1 Gazelle GZ L5/P9
+Cougar H58 P1 Gazelle GZ L5/P10
+Cougar H59 P1 Gazelle GZ L5/P11
+Cougar H60 P1 Gazelle GZ L5/P12
+Cougar H61 P1 Gazelle GZ L6/P1
+Cougar H62 P1 Gazelle GZ L6/P2
+Cougar H63 P1 Gazelle GZ L6/P3
+Cougar H64 P1 Gazelle GZ L6/P4
+Cougar H65 P1 Gazelle GZ L6/P5
+Cougar H66 P1 Gazelle GZ L6/P6
+Cougar H67 P1 Gazelle GZ L6/P7
+Cougar H68 P1 Gazelle GZ L6/P8
+Cougar H69 P1 Gazelle GZ L6/P9
+Cougar H70 P1 Gazelle GZ L6/P10
+Cougar H71 P1 Gazelle GZ L6/P11
+Cougar H72 P1 Gazelle GZ L6/P12
+Cougar H73 P1 Gazelle GZ L7/P1
+Cougar H74 P1 Gazelle GZ L7/P2
+Cougar H75 P1 Gazelle GZ L7/P3
+Cougar H76 P1 Gazelle GZ L7/P4
+Cougar H77 P1 Gazelle GZ L7/P5
+Cougar H78 P1 Gazelle GZ L7/P6
+Cougar H79 P1 Gazelle GZ L7/P7
+Cougar H80 P1 Gazelle GZ L7/P8
+Cougar H81 P1 Gazelle GZ L7/P9
+Cougar H82 P1 Gazelle GZ L7/P10
+Cougar H83 P1 Gazelle GZ L7/P11
+Cougar H84 P1 Gazelle GZ L7/P12
+Cougar H85 P1 Gazelle GZ L8/P1
+Cougar H86 P1 Gazelle GZ L8/P2
+Cougar H87 P1 Gazelle GZ L8/P3
+Cougar H88 P1 Gazelle GZ L8/P4
+Cougar H89 P1 Gazelle GZ L8/P5
+Cougar H90 P1 Gazelle GZ L8/P6
+Cougar H91 P1 Gazelle GZ L8/P7
+Cougar H92 P1 Gazelle GZ L8/P8
+Cougar H93 P1 Gazelle GZ L8/P9
+Cougar H94 P1 Gazelle GZ L8/P10
+Cougar H95 P1 Gazelle GZ L8/P11
+Cougar H96 P1 Gazelle GZ L8/P12
diff --git a/ibdm/Clusters/SingleGazelle.topo b/ibdm/Clusters/SingleGazelle.topo
new file mode 100644
index 0000000..a6fa0bc
--- /dev/null
+++ b/ibdm/Clusters/SingleGazelle.topo
@@ -0,0 +1,98 @@
+# Topology file for a single Gazelle
+Gazelle GZ1
+   L1/P1 -> Cougar  H1 P1
+   L1/P2 -> Cougar  H2 P1
+   L1/P3 -> Cougar  H3 P1
+   L1/P4 -> Cougar  H4 P1
+   L1/P5 -> Cougar  H5 P1
+   L1/P6 -> Cougar  H6 P1
+   L1/P7 -> Cougar  H7 P1
+   L1/P8 -> Cougar  H8 P1
+   L1/P9 -> Cougar  H9 P1
+   L1/P10 -> Cougar  H10 P1
+   L1/P11 -> Cougar  H11 P1
+   L1/P12 -> Cougar  H12 P1
+   L2/P1 -> Cougar  H13 P1
+   L2/P2 -> Cougar  H14 P1
+   L2/P3 -> Cougar  H15 P1
+   L2/P4 -> Cougar  H16 P1
+   L2/P5 -> Cougar  H17 P1
+   L2/P6 -> Cougar  H18 P1
+   L2/P7 -> Cougar  H19 P1
+   L2/P8 -> Cougar  H20 P1
+   L2/P9 -> Cougar  H21 P1
+   L2/P10 -> Cougar  H22 P1
+   L2/P11 -> Cougar  H23 P1
+   L2/P12 -> Cougar  H24 P1
+   L3/P1 -> Cougar  H25 P1
+   L3/P2 -> Cougar  H26 P1
+   L3/P3 -> Cougar  H27 P1
+   L3/P4 -> Cougar  H28 P1
+   L3/P5 -> Cougar  H29 P1
+   L3/P6 -> Cougar  H30 P1
+   L3/P7 -> Cougar  H31 P1
+   L3/P8 -> Cougar  H32 P1
+   L3/P9 -> Cougar  H33 P1
+   L3/P10 -> Cougar  H34 P1
+   L3/P11 -> Cougar  H35 P1
+   L3/P12 -> Cougar  H36 P1
+   L4/P1 -> Cougar  H37 P1
+   L4/P2 -> Cougar  H38 P1
+   L4/P3 -> Cougar  H39 P1
+   L4/P4 -> Cougar  H40 P1
+   L4/P5 -> Cougar  H41 P1
+   L4/P6 -> Cougar  H42 P1
+   L4/P7 -> Cougar  H43 P1
+   L4/P8 -> Cougar  H44 P1
+   L4/P9 -> Cougar  H45 P1
+   L4/P10 -> Cougar  H46 P1
+   L4/P11 -> Cougar  H47 P1
+   L4/P12 -> Cougar  H48 P1
+   L5/P1 -> Cougar  H49 P1
+   L5/P2 -> Cougar  H50 P1
+   L5/P3 -> Cougar  H51 P1
+   L5/P4 -> Cougar  H52 P1
+   L5/P5 -> Cougar  H53 P1
+   L5/P6 -> Cougar  H54 P1
+   L5/P7 -> Cougar  H55 P1
+   L5/P8 -> Cougar  H56 P1
+   L5/P9 -> Cougar  H57 P1
+   L5/P10 -> Cougar  H58 P1
+   L5/P11 -> Cougar  H59 P1
+   L5/P12 -> Cougar  H60 P1
+   L6/P1 -> Cougar  H61 P1
+   L6/P2 -> Cougar  H62 P1
+   L6/P3 -> Cougar  H63 P1
+   L6/P4 -> Cougar  H64 P1
+   L6/P5 -> Cougar  H65 P1
+   L6/P6 -> Cougar  H66 P1
+   L6/P7 -> Cougar  H67 P1
+   L6/P8 -> Cougar  H68 P1
+   L6/P9 -> Cougar  H69 P1
+   L6/P10 -> Cougar  H70 P1
+   L6/P11 -> Cougar  H71 P1
+   L6/P12 -> Cougar  H72 P1
+   L7/P1 -> Cougar  H73 P1
+   L7/P2 -> Cougar  H74 P1
+   L7/P3 -> Cougar  H75 P1
+   L7/P4 -> Cougar  H76 P1
+   L7/P5 -> Cougar  H77 P1
+   L7/P6 -> Cougar  H78 P1
+   L7/P7 -> Cougar  H79 P1
+   L7/P8 -> Cougar  H80 P1
+   L7/P9 -> Cougar  H81 P1
+   L7/P10 -> Cougar  H82 P1
+   L7/P11 -> Cougar  H83 P1
+   L7/P12 -> Cougar  H84 P1
+   L8/P1 -> Cougar  H85 P1
+   L8/P2 -> Cougar  H86 P1
+   L8/P3 -> Cougar  H87 P1
+   L8/P4 -> Cougar  H88 P1
+   L8/P5 -> Cougar  H89 P1
+   L8/P6 -> Cougar  H90 P1
+   L8/P7 -> Cougar  H91 P1
+   L8/P8 -> Cougar  H92 P1
+   L8/P9 -> Cougar  H93 P1
+   L8/P10 -> Cougar  H94 P1
+   L8/P11 -> Cougar  H95 P1
+   L8/P12 -> Cougar  H96 P1
diff --git a/ibdm/Clusters/SingleRhino.topo b/ibdm/Clusters/SingleRhino.topo
new file mode 100644
index 0000000..9d4ce6b
--- /dev/null
+++ b/ibdm/Clusters/SingleRhino.topo
@@ -0,0 +1,145 @@
+MTS14400 SW
+  L1/P1 -> MT23108 H001 P1
+  L1/P2 -> MT23108 H002 P1
+  L1/P3 -> MT23108 H003 P1
+  L1/P4 -> MT23108 H004 P1
+  L1/P5 -> MT23108 H005 P1
+  L1/P6 -> MT23108 H006 P1
+  L1/P7 -> MT23108 H007 P1
+  L1/P8 -> MT23108 H008 P1
+  L1/P9 -> MT23108 H009 P1
+  L1/P10 -> MT23108 H010 P1
+  L1/P11 -> MT23108 H011 P1
+  L1/P12 -> MT23108 H012 P1
+  L2/P1 -> MT23108 H013 P1
+  L2/P2 -> MT23108 H014 P1
+  L2/P3 -> MT23108 H015 P1
+  L2/P4 -> MT23108 H016 P1
+  L2/P5 -> MT23108 H017 P1
+  L2/P6 -> MT23108 H018 P1
+  L2/P7 -> MT23108 H019 P1
+  L2/P8 -> MT23108 H020 P1
+  L2/P9 -> MT23108 H021 P1
+  L2/P10 -> MT23108 H022 P1
+  L2/P11 -> MT23108 H023 P1
+  L2/P12 -> MT23108 H024 P1
+  L3/P1 -> MT23108 H025 P1
+  L3/P2 -> MT23108 H026 P1
+  L3/P3 -> MT23108 H027 P1
+  L3/P4 -> MT23108 H028 P1
+  L3/P5 -> MT23108 H029 P1
+  L3/P6 -> MT23108 H030 P1
+  L3/P7 -> MT23108 H031 P1
+  L3/P8 -> MT23108 H032 P1
+  L3/P9 -> MT23108 H033 P1
+  L3/P10 -> MT23108 H034 P1
+  L3/P11 -> MT23108 H035 P1
+  L3/P12 -> MT23108 H036 P1
+  L4/P1 -> MT23108 H037 P1
+  L4/P2 -> MT23108 H038 P1
+  L4/P3 -> MT23108 H039 P1
+  L4/P4 -> MT23108 H040 P1
+  L4/P5 -> MT23108 H041 P1
+  L4/P6 -> MT23108 H042 P1
+  L4/P7 -> MT23108 H043 P1
+  L4/P8 -> MT23108 H044 P1
+  L4/P9 -> MT23108 H045 P1
+  L4/P10 -> MT23108 H046 P1
+  L4/P11 -> MT23108 H047 P1
+  L4/P12 -> MT23108 H048 P1
+  L5/P1 -> MT23108 H049 P1
+  L5/P2 -> MT23108 H050 P1
+  L5/P3 -> MT23108 H051 P1
+  L5/P4 -> MT23108 H052 P1
+  L5/P5 -> MT23108 H053 P1
+  L5/P6 -> MT23108 H054 P1
+  L5/P7 -> MT23108 H055 P1
+  L5/P8 -> MT23108 H056 P1
+  L5/P9 -> MT23108 H057 P1
+  L5/P10 -> MT23108 H058 P1
+  L5/P11 -> MT23108 H059 P1
+  L5/P12 -> MT23108 H060 P1
+  L6/P1 -> MT23108 H061 P1
+  L6/P2 -> MT23108 H062 P1
+  L6/P3 -> MT23108 H063 P1
+  L6/P4 -> MT23108 H064 P1
+  L6/P5 -> MT23108 H065 P1
+  L6/P6 -> MT23108 H066 P1
+  L6/P7 -> MT23108 H067 P1
+  L6/P8 -> MT23108 H068 P1
+  L6/P9 -> MT23108 H069 P1
+  L6/P10 -> MT23108 H070 P1
+  L6/P11 -> MT23108 H071 P1
+  L6/P12 -> MT23108 H072 P1
+  L7/P1 -> MT23108 H073 P1
+  L7/P2 -> MT23108 H074 P1
+  L7/P3 -> MT23108 H075 P1
+  L7/P4 -> MT23108 H076 P1
+  L7/P5 -> MT23108 H077 P1
+  L7/P6 -> MT23108 H078 P1
+  L7/P7 -> MT23108 H079 P1
+  L7/P8 -> MT23108 H080 P1
+  L7/P9 -> MT23108 H081 P1
+  L7/P10 -> MT23108 H082 P1
+  L7/P11 -> MT23108 H083 P1
+  L7/P12 -> MT23108 H084 P1
+  L8/P1 -> MT23108 H085 P1
+  L8/P2 -> MT23108 H086 P1
+  L8/P3 -> MT23108 H087 P1
+  L8/P4 -> MT23108 H088 P1
+  L8/P5 -> MT23108 H089 P1
+  L8/P6 -> MT23108 H090 P1
+  L8/P7 -> MT23108 H091 P1
+  L8/P8 -> MT23108 H092 P1
+  L8/P9 -> MT23108 H093 P1
+  L8/P10 -> MT23108 H094 P1
+  L8/P11 -> MT23108 H095 P1
+  L8/P12 -> MT23108 H096 P1
+  L9/P1 -> MT23108 H097 P1
+  L9/P2 -> MT23108 H098 P1
+  L9/P3 -> MT23108 H099 P1
+  L9/P4 -> MT23108 H100 P1
+  L9/P5 -> MT23108 H101 P1
+  L9/P6 -> MT23108 H102 P1
+  L9/P7 -> MT23108 H103 P1
+  L9/P8 -> MT23108 H104 P1
+  L9/P9 -> MT23108 H105 P1
+  L9/P10 -> MT23108 H106 P1
+  L9/P11 -> MT23108 H107 P1
+  L9/P12 -> MT23108 H108 P1
+  L10/P1 -> MT23108 H109 P1
+  L10/P2 -> MT23108 H110 P1
+  L10/P3 -> MT23108 H111 P1
+  L10/P4 -> MT23108 H112 P1
+  L10/P5 -> MT23108 H113 P1
+  L10/P6 -> MT23108 H114 P1
+  L10/P7 -> MT23108 H115 P1
+  L10/P8 -> MT23108 H116 P1
+  L10/P9 -> MT23108 H117 P1
+  L10/P10 -> MT23108 H118 P1
+  L10/P11 -> MT23108 H119 P1
+  L10/P12 -> MT23108 H120 P1
+  L11/P1 -> MT23108 H121 P1
+  L11/P2 -> MT23108 H122 P1
+  L11/P3 -> MT23108 H123 P1
+  L11/P4 -> MT23108 H124 P1
+  L11/P5 -> MT23108 H125 P1
+  L11/P6 -> MT23108 H126 P1
+  L11/P7 -> MT23108 H127 P1
+  L11/P8 -> MT23108 H128 P1
+  L11/P9 -> MT23108 H129 P1
+  L11/P10 -> MT23108 H130 P1
+  L11/P11 -> MT23108 H131 P1
+  L11/P12 -> MT23108 H132 P1
+  L12/P1 -> MT23108 H133 P1
+  L12/P2 -> MT23108 H134 P1
+  L12/P3 -> MT23108 H135 P1
+  L12/P4 -> MT23108 H136 P1
+  L12/P5 -> MT23108 H137 P1
+  L12/P6 -> MT23108 H138 P1
+  L12/P7 -> MT23108 H139 P1
+  L12/P8 -> MT23108 H140 P1
+  L12/P9 -> MT23108 H141 P1
+  L12/P10 -> MT23108 H142 P1
+  L12/P11 -> MT23108 H143 P1
+  L12/P12 -> MT23108 H144 P1
diff --git a/ibdm/Clusters/osm.fdbs b/ibdm/Clusters/osm.fdbs
new file mode 100644
index 0000000..36a3e69
--- /dev/null
+++ b/ibdm/Clusters/osm.fdbs
@@ -0,0 +1,4216 @@
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0000
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 000  : 00   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 007  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 02   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 006  : 02   : yes
+0x0009 : 005  : 03   : yes
+0x000A : 005  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 005  : 01   : yes
+0x000D : 005  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 01   : yes
+0x0010 : 005  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 007  : 01   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 01   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 005  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 007  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 007  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 005  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 007  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 005  : 03   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 03   : yes
+0x0032 : 005  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 007  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 007  : 02   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 007  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb3200
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 000  : 00   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 02   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 006  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 006  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 007  : 01   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 006  : 03   : yes
+0x001F : 005  : 01   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 006  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 006  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 007  : 02   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 004  : 01   : yes
+0x003D : 003  : 01   : yes
+0x003E : 002  : 01   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 02   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb600
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 03   : yes
+0x0002 : 005  : 02   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 000  : 00   : yes
+0x0005 : 001  : 03   : yes
+0x0006 : 005  : 02   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 005  : 02   : yes
+0x0009 : 008  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 002  : 02   : yes
+0x000C : 005  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 002  : 02   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 002  : 02   : yes
+0x0012 : 005  : 01   : yes
+0x0013 : 002  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 002  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 002  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 007  : 02   : yes
+0x001C : 002  : 01   : yes
+0x001D : 001  : 04   : yes
+0x001E : 007  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 007  : 02   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 02   : yes
+0x0023 : 007  : 01   : yes
+0x0024 : 006  : 02   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 02   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 003  : 02   : yes
+0x0029 : 006  : 01   : yes
+0x002A : 003  : 02   : yes
+0x002B : 006  : 03   : yes
+0x002C : 003  : 02   : yes
+0x002D : 001  : 02   : yes
+0x002E : 006  : 03   : yes
+0x002F : 003  : 03   : yes
+0x0030 : 001  : 02   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 003  : 03   : yes
+0x0033 : 001  : 02   : yes
+0x0034 : 003  : 03   : yes
+0x0035 : 001  : 03   : yes
+0x0036 : 003  : 01   : yes
+0x0037 : 001  : 03   : yes
+0x0038 : 006  : 03   : yes
+0x0039 : 001  : 03   : yes
+0x003A : 001  : 01   : yes
+0x003B : 001  : 04   : yes
+0x003C : 008  : 02   : yes
+0x003D : 008  : 02   : yes
+0x003E : 008  : 02   : yes
+0x003F : 002  : 02   : yes
+0x0040 : 008  : 01   : yes
+0x0041 : 002  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0000000000000001
+LID    : Port : Hops : Optimal
+0x0001 : 023  : 06   : yes
+0x0002 : 023  : 05   : yes
+0x0003 : 023  : 04   : yes
+0x0004 : 023  : 03   : yes
+0x0005 : 000  : 00   : yes
+0x0006 : 023  : 05   : yes
+0x0007 : 023  : 04   : yes
+0x0008 : 023  : 05   : yes
+0x0009 : 023  : 04   : yes
+0x000A : 023  : 03   : yes
+0x000B : 023  : 05   : yes
+0x000C : 023  : 04   : yes
+0x000D : 023  : 03   : yes
+0x000E : 023  : 05   : yes
+0x000F : 023  : 04   : yes
+0x0010 : 023  : 03   : yes
+0x0011 : 023  : 05   : yes
+0x0012 : 023  : 04   : yes
+0x0013 : 023  : 04   : yes
+0x0014 : 023  : 04   : yes
+0x0015 : 023  : 03   : yes
+0x0016 : 023  : 04   : yes
+0x0017 : 023  : 03   : yes
+0x0018 : 023  : 04   : yes
+0x0019 : 023  : 03   : yes
+0x001A : 023  : 03   : yes
+0x001B : 023  : 05   : yes
+0x001C : 023  : 04   : yes
+0x001D : 023  : 03   : yes
+0x001E : 023  : 05   : yes
+0x001F : 023  : 03   : yes
+0x0020 : 023  : 05   : yes
+0x0021 : 023  : 04   : yes
+0x0022 : 023  : 05   : yes
+0x0023 : 023  : 04   : yes
+0x0024 : 023  : 05   : yes
+0x0025 : 023  : 04   : yes
+0x0026 : 023  : 05   : yes
+0x0027 : 023  : 04   : yes
+0x0028 : 023  : 05   : yes
+0x0029 : 023  : 04   : yes
+0x002A : 023  : 05   : yes
+0x002B : 023  : 04   : yes
+0x002C : 023  : 05   : yes
+0x002D : 023  : 03   : yes
+0x002E : 023  : 04   : yes
+0x002F : 023  : 04   : yes
+0x0030 : 023  : 01   : yes
+0x0031 : 023  : 04   : yes
+0x0032 : 023  : 04   : yes
+0x0033 : 023  : 03   : yes
+0x0034 : 023  : 04   : yes
+0x0035 : 023  : 02   : yes
+0x0036 : 023  : 04   : yes
+0x0037 : 023  : 02   : yes
+0x0038 : 023  : 06   : yes
+0x0039 : 023  : 02   : yes
+0x003A : 023  : 02   : yes
+0x003B : 005  : 01   : yes
+0x003C : 023  : 05   : yes
+0x003D : 023  : 05   : yes
+0x003E : 023  : 05   : yes
+0x003F : 023  : 03   : yes
+0x0040 : 023  : 04   : yes
+0x0041 : 023  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0008
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 02   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 007  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 000  : 00   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 006  : 02   : yes
+0x0009 : 005  : 03   : yes
+0x000A : 005  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 005  : 01   : yes
+0x000D : 005  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 01   : yes
+0x0010 : 005  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 007  : 01   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 01   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 005  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 007  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 007  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 005  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 007  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 005  : 03   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 03   : yes
+0x0032 : 005  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 007  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 007  : 02   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 007  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb3208
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 000  : 00   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 02   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 006  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 006  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 005  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 007  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 006  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 006  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 006  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 004  : 01   : yes
+0x003D : 003  : 01   : yes
+0x003E : 002  : 01   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 02   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0010
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 02   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 007  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 02   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 000  : 00   : yes
+0x0009 : 005  : 03   : yes
+0x000A : 005  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 005  : 01   : yes
+0x000D : 005  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 01   : yes
+0x0010 : 005  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 007  : 01   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 01   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 005  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 007  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 007  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 005  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 007  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 005  : 03   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 03   : yes
+0x0032 : 005  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 007  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 007  : 02   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 007  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb3210
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 000  : 00   : yes
+0x000A : 005  : 01   : yes
+0x000B : 006  : 03   : yes
+0x000C : 006  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 007  : 01   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 006  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 006  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 006  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 006  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 004  : 01   : yes
+0x003D : 003  : 01   : yes
+0x003E : 002  : 01   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 02   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb510
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 03   : yes
+0x0002 : 006  : 02   : yes
+0x0003 : 001  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 007  : 03   : yes
+0x0006 : 006  : 02   : yes
+0x0007 : 001  : 03   : yes
+0x0008 : 006  : 02   : yes
+0x0009 : 001  : 01   : yes
+0x000A : 000  : 00   : yes
+0x000B : 003  : 02   : yes
+0x000C : 006  : 01   : yes
+0x000D : 001  : 02   : yes
+0x000E : 003  : 02   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 001  : 02   : yes
+0x0011 : 003  : 02   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 003  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 003  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 003  : 01   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 002  : 02   : yes
+0x001C : 003  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 002  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 002  : 02   : yes
+0x0021 : 002  : 03   : yes
+0x0022 : 004  : 02   : yes
+0x0023 : 002  : 03   : yes
+0x0024 : 004  : 02   : yes
+0x0025 : 002  : 01   : yes
+0x0026 : 004  : 02   : yes
+0x0027 : 002  : 03   : yes
+0x0028 : 005  : 02   : yes
+0x0029 : 004  : 03   : yes
+0x002A : 005  : 02   : yes
+0x002B : 004  : 03   : yes
+0x002C : 005  : 02   : yes
+0x002D : 007  : 02   : yes
+0x002E : 004  : 01   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 007  : 02   : yes
+0x0031 : 004  : 03   : yes
+0x0032 : 005  : 01   : yes
+0x0033 : 007  : 02   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 01   : yes
+0x0038 : 004  : 03   : yes
+0x0039 : 007  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 04   : yes
+0x003C : 001  : 02   : yes
+0x003D : 001  : 02   : yes
+0x003E : 001  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 001  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc10
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 000  : 00   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 02   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 02   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 01   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 006  : 01   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 007  : 01   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 01   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0018
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 004  : 01   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 003  : 01   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 002  : 01   : yes
+0x0009 : 006  : 02   : yes
+0x000A : 007  : 01   : yes
+0x000B : 006  : 03   : yes
+0x000C : 000  : 00   : yes
+0x000D : 006  : 01   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 02   : yes
+0x0010 : 005  : 01   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 006  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 006  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 006  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 006  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb518
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 03   : yes
+0x0002 : 006  : 02   : yes
+0x0003 : 001  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 007  : 03   : yes
+0x0006 : 006  : 02   : yes
+0x0007 : 001  : 03   : yes
+0x0008 : 006  : 02   : yes
+0x0009 : 001  : 01   : yes
+0x000A : 001  : 02   : yes
+0x000B : 003  : 02   : yes
+0x000C : 006  : 01   : yes
+0x000D : 000  : 00   : yes
+0x000E : 003  : 02   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 001  : 02   : yes
+0x0011 : 003  : 02   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 003  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 003  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 003  : 01   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 002  : 02   : yes
+0x001C : 003  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 002  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 002  : 02   : yes
+0x0021 : 002  : 03   : yes
+0x0022 : 004  : 02   : yes
+0x0023 : 002  : 03   : yes
+0x0024 : 004  : 02   : yes
+0x0025 : 002  : 01   : yes
+0x0026 : 004  : 02   : yes
+0x0027 : 002  : 03   : yes
+0x0028 : 005  : 02   : yes
+0x0029 : 004  : 03   : yes
+0x002A : 005  : 02   : yes
+0x002B : 004  : 03   : yes
+0x002C : 005  : 02   : yes
+0x002D : 007  : 02   : yes
+0x002E : 004  : 01   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 007  : 02   : yes
+0x0031 : 004  : 03   : yes
+0x0032 : 005  : 01   : yes
+0x0033 : 007  : 02   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 01   : yes
+0x0038 : 004  : 03   : yes
+0x0039 : 007  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 04   : yes
+0x003C : 001  : 02   : yes
+0x003D : 001  : 02   : yes
+0x003E : 001  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 001  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc18
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 02   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 000  : 00   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 02   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 01   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 006  : 01   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 007  : 01   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 01   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0020
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 004  : 01   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 003  : 01   : yes
+0x0007 : 006  : 02   : yes
+0x0008 : 002  : 01   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 02   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 000  : 00   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 02   : yes
+0x0013 : 006  : 02   : yes
+0x0014 : 002  : 02   : yes
+0x0015 : 007  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 005  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 006  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 006  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 006  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb520
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 03   : yes
+0x0002 : 006  : 02   : yes
+0x0003 : 001  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 007  : 03   : yes
+0x0006 : 006  : 02   : yes
+0x0007 : 001  : 03   : yes
+0x0008 : 006  : 02   : yes
+0x0009 : 001  : 01   : yes
+0x000A : 001  : 02   : yes
+0x000B : 003  : 02   : yes
+0x000C : 006  : 01   : yes
+0x000D : 001  : 02   : yes
+0x000E : 003  : 02   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 000  : 00   : yes
+0x0011 : 003  : 02   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 003  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 003  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 003  : 01   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 002  : 02   : yes
+0x001C : 003  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 002  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 002  : 02   : yes
+0x0021 : 002  : 03   : yes
+0x0022 : 004  : 02   : yes
+0x0023 : 002  : 03   : yes
+0x0024 : 004  : 02   : yes
+0x0025 : 002  : 01   : yes
+0x0026 : 004  : 02   : yes
+0x0027 : 002  : 03   : yes
+0x0028 : 005  : 02   : yes
+0x0029 : 004  : 03   : yes
+0x002A : 005  : 02   : yes
+0x002B : 004  : 03   : yes
+0x002C : 005  : 02   : yes
+0x002D : 007  : 02   : yes
+0x002E : 004  : 01   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 007  : 02   : yes
+0x0031 : 004  : 03   : yes
+0x0032 : 005  : 01   : yes
+0x0033 : 007  : 02   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 01   : yes
+0x0038 : 004  : 03   : yes
+0x0039 : 007  : 03   : yes
+0x003A : 007  : 03   : yes
+0x003B : 007  : 04   : yes
+0x003C : 001  : 02   : yes
+0x003D : 001  : 02   : yes
+0x003E : 001  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 001  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc20
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 02   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 02   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 000  : 00   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 01   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 006  : 01   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 007  : 01   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 01   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0028
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 004  : 01   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 007  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 003  : 01   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 002  : 01   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 02   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 000  : 00   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 006  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 006  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 006  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 007  : 02   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 005  : 01   : yes
+0x0040 : 005  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc28
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 006  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 004  : 01   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 003  : 01   : yes
+0x000F : 006  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 002  : 01   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 000  : 00   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 007  : 01   : yes
+0x0016 : 002  : 02   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 02   : yes
+0x0019 : 005  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 006  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 006  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 006  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb0030
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 004  : 01   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 003  : 01   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 002  : 01   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 02   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 000  : 00   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 006  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 005  : 01   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 006  : 03   : yes
+0x001F : 007  : 01   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 006  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 006  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 007  : 02   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc230
+LID    : Port : Hops : Optimal
+0x0001 : 004  : 03   : yes
+0x0002 : 007  : 02   : yes
+0x0003 : 002  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 006  : 03   : yes
+0x0006 : 007  : 02   : yes
+0x0007 : 002  : 01   : yes
+0x0008 : 007  : 02   : yes
+0x0009 : 002  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 008  : 02   : yes
+0x000C : 007  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 008  : 02   : yes
+0x000F : 007  : 01   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 008  : 02   : yes
+0x0012 : 007  : 03   : yes
+0x0013 : 008  : 01   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 000  : 00   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 001  : 02   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 001  : 02   : yes
+0x001A : 001  : 04   : yes
+0x001B : 001  : 02   : yes
+0x001C : 008  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 001  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 001  : 02   : yes
+0x0021 : 001  : 03   : yes
+0x0022 : 005  : 02   : yes
+0x0023 : 001  : 03   : yes
+0x0024 : 005  : 02   : yes
+0x0025 : 001  : 03   : yes
+0x0026 : 005  : 02   : yes
+0x0027 : 001  : 01   : yes
+0x0028 : 004  : 02   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 004  : 02   : yes
+0x002B : 005  : 01   : yes
+0x002C : 004  : 02   : yes
+0x002D : 006  : 02   : yes
+0x002E : 005  : 03   : yes
+0x002F : 004  : 03   : yes
+0x0030 : 006  : 02   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 004  : 03   : yes
+0x0033 : 006  : 02   : yes
+0x0034 : 004  : 01   : yes
+0x0035 : 006  : 01   : yes
+0x0036 : 004  : 03   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 005  : 03   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 006  : 04   : yes
+0x003C : 002  : 02   : yes
+0x003D : 002  : 02   : yes
+0x003E : 002  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 002  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc30
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 004  : 01   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 003  : 01   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 002  : 01   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 02   : yes
+0x0014 : 006  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 000  : 00   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 007  : 01   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 02   : yes
+0x001D : 006  : 01   : yes
+0x001E : 006  : 03   : yes
+0x001F : 005  : 01   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 006  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 006  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 007  : 02   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc238
+LID    : Port : Hops : Optimal
+0x0001 : 004  : 03   : yes
+0x0002 : 007  : 02   : yes
+0x0003 : 002  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 006  : 03   : yes
+0x0006 : 007  : 02   : yes
+0x0007 : 002  : 01   : yes
+0x0008 : 007  : 02   : yes
+0x0009 : 002  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 008  : 02   : yes
+0x000C : 007  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 008  : 02   : yes
+0x000F : 007  : 01   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 008  : 02   : yes
+0x0012 : 007  : 03   : yes
+0x0013 : 008  : 01   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 001  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 000  : 00   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 001  : 02   : yes
+0x001A : 001  : 04   : yes
+0x001B : 001  : 02   : yes
+0x001C : 008  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 001  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 001  : 02   : yes
+0x0021 : 001  : 03   : yes
+0x0022 : 005  : 02   : yes
+0x0023 : 001  : 03   : yes
+0x0024 : 005  : 02   : yes
+0x0025 : 001  : 03   : yes
+0x0026 : 005  : 02   : yes
+0x0027 : 001  : 01   : yes
+0x0028 : 004  : 02   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 004  : 02   : yes
+0x002B : 005  : 01   : yes
+0x002C : 004  : 02   : yes
+0x002D : 006  : 02   : yes
+0x002E : 005  : 03   : yes
+0x002F : 004  : 03   : yes
+0x0030 : 006  : 02   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 004  : 03   : yes
+0x0033 : 006  : 02   : yes
+0x0034 : 004  : 01   : yes
+0x0035 : 006  : 01   : yes
+0x0036 : 004  : 03   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 005  : 03   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 006  : 04   : yes
+0x003C : 002  : 02   : yes
+0x003D : 002  : 02   : yes
+0x003E : 002  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 002  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc38
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 006  : 02   : yes
+0x000A : 005  : 01   : yes
+0x000B : 004  : 01   : yes
+0x000C : 006  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 003  : 01   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 007  : 01   : yes
+0x0011 : 002  : 01   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 000  : 00   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 006  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 006  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 006  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc240
+LID    : Port : Hops : Optimal
+0x0001 : 004  : 03   : yes
+0x0002 : 007  : 02   : yes
+0x0003 : 002  : 03   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 006  : 03   : yes
+0x0006 : 007  : 02   : yes
+0x0007 : 002  : 01   : yes
+0x0008 : 007  : 02   : yes
+0x0009 : 002  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 008  : 02   : yes
+0x000C : 007  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 008  : 02   : yes
+0x000F : 007  : 01   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 008  : 02   : yes
+0x0012 : 007  : 03   : yes
+0x0013 : 008  : 01   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 001  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 001  : 02   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 000  : 00   : yes
+0x001A : 001  : 04   : yes
+0x001B : 001  : 02   : yes
+0x001C : 008  : 03   : yes
+0x001D : 001  : 04   : yes
+0x001E : 001  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 001  : 02   : yes
+0x0021 : 001  : 03   : yes
+0x0022 : 005  : 02   : yes
+0x0023 : 001  : 03   : yes
+0x0024 : 005  : 02   : yes
+0x0025 : 001  : 03   : yes
+0x0026 : 005  : 02   : yes
+0x0027 : 001  : 01   : yes
+0x0028 : 004  : 02   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 004  : 02   : yes
+0x002B : 005  : 01   : yes
+0x002C : 004  : 02   : yes
+0x002D : 006  : 02   : yes
+0x002E : 005  : 03   : yes
+0x002F : 004  : 03   : yes
+0x0030 : 006  : 02   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 004  : 03   : yes
+0x0033 : 006  : 02   : yes
+0x0034 : 004  : 01   : yes
+0x0035 : 006  : 01   : yes
+0x0036 : 004  : 03   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 005  : 03   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 006  : 04   : yes
+0x003C : 002  : 02   : yes
+0x003D : 002  : 02   : yes
+0x003E : 002  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 002  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc540
+LID    : Port : Hops : Optimal
+0x0001 : 006  : 03   : yes
+0x0002 : 001  : 02   : yes
+0x0003 : 007  : 01   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 005  : 03   : yes
+0x0006 : 001  : 02   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 001  : 02   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 004  : 02   : yes
+0x000C : 001  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 004  : 02   : yes
+0x000F : 001  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 004  : 02   : yes
+0x0012 : 001  : 03   : yes
+0x0013 : 004  : 03   : yes
+0x0014 : 001  : 01   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 004  : 01   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 004  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 000  : 00   : yes
+0x001B : 008  : 02   : yes
+0x001C : 004  : 03   : yes
+0x001D : 001  : 02   : yes
+0x001E : 008  : 02   : yes
+0x001F : 001  : 02   : yes
+0x0020 : 008  : 02   : yes
+0x0021 : 008  : 01   : yes
+0x0022 : 003  : 02   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 003  : 02   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 003  : 02   : yes
+0x0027 : 008  : 03   : yes
+0x0028 : 006  : 02   : yes
+0x0029 : 003  : 03   : yes
+0x002A : 006  : 02   : yes
+0x002B : 003  : 03   : yes
+0x002C : 006  : 02   : yes
+0x002D : 005  : 02   : yes
+0x002E : 003  : 03   : yes
+0x002F : 006  : 01   : yes
+0x0030 : 005  : 02   : yes
+0x0031 : 003  : 01   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 005  : 02   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 003  : 03   : yes
+0x0039 : 005  : 01   : yes
+0x003A : 005  : 03   : yes
+0x003B : 005  : 04   : yes
+0x003C : 007  : 02   : yes
+0x003D : 007  : 02   : yes
+0x003E : 007  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf040
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 006  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 008  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 008  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 008  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 008  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 008  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 000  : 00   : yes
+0x001C : 006  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 006  : 02   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 006  : 02   : yes
+0x0021 : 005  : 01   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 006  : 01   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 01   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 008  : 01   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 006  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 008  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 008  : 03   : yes
+0x0035 : 008  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 006  : 02   : yes
+0x0040 : 006  : 03   : yes
+0x0041 : 006  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fafc40
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 007  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 004  : 01   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 003  : 01   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 002  : 01   : yes
+0x0012 : 006  : 02   : yes
+0x0013 : 002  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 000  : 00   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 006  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 006  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 007  : 02   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 005  : 01   : yes
+0x0040 : 005  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc548
+LID    : Port : Hops : Optimal
+0x0001 : 006  : 03   : yes
+0x0002 : 001  : 02   : yes
+0x0003 : 007  : 01   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 005  : 03   : yes
+0x0006 : 001  : 02   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 001  : 02   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 004  : 02   : yes
+0x000C : 001  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 004  : 02   : yes
+0x000F : 001  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 004  : 02   : yes
+0x0012 : 001  : 03   : yes
+0x0013 : 004  : 03   : yes
+0x0014 : 001  : 01   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 004  : 01   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 004  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 02   : yes
+0x001B : 008  : 02   : yes
+0x001C : 004  : 03   : yes
+0x001D : 000  : 00   : yes
+0x001E : 008  : 02   : yes
+0x001F : 001  : 02   : yes
+0x0020 : 008  : 02   : yes
+0x0021 : 008  : 01   : yes
+0x0022 : 003  : 02   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 003  : 02   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 003  : 02   : yes
+0x0027 : 008  : 03   : yes
+0x0028 : 006  : 02   : yes
+0x0029 : 003  : 03   : yes
+0x002A : 006  : 02   : yes
+0x002B : 003  : 03   : yes
+0x002C : 006  : 02   : yes
+0x002D : 005  : 02   : yes
+0x002E : 003  : 03   : yes
+0x002F : 006  : 01   : yes
+0x0030 : 005  : 02   : yes
+0x0031 : 003  : 01   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 005  : 02   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 003  : 03   : yes
+0x0039 : 005  : 01   : yes
+0x003A : 005  : 03   : yes
+0x003B : 005  : 04   : yes
+0x003C : 007  : 02   : yes
+0x003D : 007  : 02   : yes
+0x003E : 007  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf048
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 006  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 008  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 008  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 008  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 008  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 008  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 006  : 02   : yes
+0x001C : 006  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 000  : 00   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 006  : 02   : yes
+0x0021 : 005  : 01   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 006  : 01   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 01   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 008  : 01   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 006  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 008  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 008  : 03   : yes
+0x0035 : 008  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 006  : 02   : yes
+0x0040 : 006  : 03   : yes
+0x0041 : 006  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcc550
+LID    : Port : Hops : Optimal
+0x0001 : 006  : 03   : yes
+0x0002 : 001  : 02   : yes
+0x0003 : 007  : 01   : yes
+0x0004 : 001  : 04   : yes
+0x0005 : 005  : 03   : yes
+0x0006 : 001  : 02   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 001  : 02   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 004  : 02   : yes
+0x000C : 001  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 004  : 02   : yes
+0x000F : 001  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 004  : 02   : yes
+0x0012 : 001  : 03   : yes
+0x0013 : 004  : 03   : yes
+0x0014 : 001  : 01   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 004  : 01   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 004  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 02   : yes
+0x001B : 008  : 02   : yes
+0x001C : 004  : 03   : yes
+0x001D : 001  : 02   : yes
+0x001E : 008  : 02   : yes
+0x001F : 000  : 00   : yes
+0x0020 : 008  : 02   : yes
+0x0021 : 008  : 01   : yes
+0x0022 : 003  : 02   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 003  : 02   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 003  : 02   : yes
+0x0027 : 008  : 03   : yes
+0x0028 : 006  : 02   : yes
+0x0029 : 003  : 03   : yes
+0x002A : 006  : 02   : yes
+0x002B : 003  : 03   : yes
+0x002C : 006  : 02   : yes
+0x002D : 005  : 02   : yes
+0x002E : 003  : 03   : yes
+0x002F : 006  : 01   : yes
+0x0030 : 005  : 02   : yes
+0x0031 : 003  : 01   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 005  : 02   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 005  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 005  : 03   : yes
+0x0038 : 003  : 03   : yes
+0x0039 : 005  : 01   : yes
+0x003A : 005  : 03   : yes
+0x003B : 005  : 04   : yes
+0x003C : 007  : 02   : yes
+0x003D : 007  : 02   : yes
+0x003E : 007  : 02   : yes
+0x003F : 001  : 04   : yes
+0x0040 : 007  : 03   : yes
+0x0041 : 001  : 04   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf050
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 006  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 008  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 006  : 03   : yes
+0x0013 : 008  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 008  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 008  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 008  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 006  : 02   : yes
+0x001C : 006  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 006  : 02   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 000  : 00   : yes
+0x0021 : 005  : 01   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 006  : 01   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 007  : 01   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 008  : 01   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 006  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 008  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 03   : yes
+0x002F : 005  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 008  : 03   : yes
+0x0035 : 008  : 03   : yes
+0x0036 : 006  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 006  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 006  : 02   : yes
+0x0040 : 006  : 03   : yes
+0x0041 : 006  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf058
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 006  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 006  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 007  : 01   : yes
+0x001B : 004  : 01   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 003  : 01   : yes
+0x001F : 005  : 01   : yes
+0x0020 : 002  : 01   : yes
+0x0021 : 000  : 00   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 006  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 007  : 02   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1960
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 03   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 000  : 00   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 006  : 02   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 02   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 01   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 01   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 01   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 01   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 03   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 03   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf060
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 005  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 006  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 004  : 01   : yes
+0x001C : 006  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 003  : 01   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 002  : 01   : yes
+0x0021 : 002  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 000  : 00   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 006  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 007  : 02   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 007  : 01   : yes
+0x0040 : 005  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1968
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 03   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 006  : 02   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 000  : 00   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 02   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 01   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 01   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 01   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 01   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 006  : 03   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 03   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf068
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 006  : 02   : yes
+0x000A : 005  : 01   : yes
+0x000B : 006  : 03   : yes
+0x000C : 006  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 007  : 01   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 006  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 004  : 01   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 003  : 01   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 002  : 01   : yes
+0x0021 : 002  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 000  : 00   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 006  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 006  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1970
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 006  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 007  : 03   : yes
+0x000A : 007  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 007  : 03   : yes
+0x000D : 007  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 006  : 03   : yes
+0x0010 : 007  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 006  : 03   : yes
+0x0014 : 008  : 03   : yes
+0x0015 : 006  : 02   : yes
+0x0016 : 008  : 03   : yes
+0x0017 : 006  : 02   : yes
+0x0018 : 007  : 03   : yes
+0x0019 : 006  : 02   : yes
+0x001A : 008  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 008  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 008  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 008  : 03   : yes
+0x0022 : 006  : 02   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 006  : 02   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 000  : 00   : yes
+0x0027 : 006  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 01   : yes
+0x002A : 006  : 04   : yes
+0x002B : 006  : 01   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 007  : 01   : yes
+0x002F : 008  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 008  : 01   : yes
+0x0032 : 007  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 006  : 03   : yes
+0x0035 : 006  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 007  : 03   : yes
+0x0038 : 003  : 01   : yes
+0x0039 : 008  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 006  : 06   : yes
+0x003C : 007  : 04   : yes
+0x003D : 007  : 04   : yes
+0x003E : 007  : 04   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 03   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf070
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 006  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 006  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 006  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 005  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 007  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 004  : 01   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 003  : 01   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 002  : 01   : yes
+0x0021 : 002  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 000  : 00   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 006  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 006  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 007  : 05   : yes
+0x003C : 005  : 03   : yes
+0x003D : 005  : 03   : yes
+0x003E : 005  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf270
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 03   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 005  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 000  : 00   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 02   : yes
+0x002B : 007  : 03   : yes
+0x002C : 006  : 02   : yes
+0x002D : 006  : 04   : yes
+0x002E : 006  : 03   : yes
+0x002F : 005  : 01   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 006  : 01   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 007  : 01   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 008  : 01   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1978
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 007  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 006  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 006  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 004  : 01   : yes
+0x0023 : 006  : 02   : yes
+0x0024 : 003  : 01   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 002  : 01   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 000  : 00   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 002  : 02   : yes
+0x0039 : 003  : 04   : yes
+0x003A : 006  : 02   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 005  : 01   : yes
+0x0040 : 007  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf278
+LID    : Port : Hops : Optimal
+0x0001 : 001  : 01   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 005  : 04   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 005  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 005  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 005  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 005  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 005  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 005  : 04   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 005  : 04   : yes
+0x0021 : 005  : 03   : yes
+0x0022 : 005  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 005  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 005  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 005  : 02   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 000  : 00   : yes
+0x002B : 007  : 03   : yes
+0x002C : 005  : 02   : yes
+0x002D : 005  : 04   : yes
+0x002E : 006  : 03   : yes
+0x002F : 005  : 01   : yes
+0x0030 : 005  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 006  : 01   : yes
+0x0033 : 005  : 04   : yes
+0x0034 : 007  : 01   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 008  : 01   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 005  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 006  : 06   : yes
+0x003C : 007  : 04   : yes
+0x003D : 007  : 04   : yes
+0x003E : 007  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1980
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 006  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 006  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 006  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 005  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 007  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 004  : 01   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 003  : 01   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 002  : 01   : yes
+0x0027 : 006  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 000  : 00   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 006  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 002  : 02   : yes
+0x0039 : 003  : 04   : yes
+0x003A : 003  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 003  : 03   : yes
+0x0040 : 003  : 04   : yes
+0x0041 : 003  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf280
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 03   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 005  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 007  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 005  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 005  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 005  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 005  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 005  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 006  : 02   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 02   : yes
+0x002B : 007  : 03   : yes
+0x002C : 000  : 00   : yes
+0x002D : 006  : 04   : yes
+0x002E : 006  : 03   : yes
+0x002F : 005  : 01   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 005  : 03   : yes
+0x0032 : 006  : 01   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 007  : 01   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 008  : 01   : yes
+0x0037 : 006  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 005  : 03   : yes
+0x003A : 008  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf580
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 007  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 03   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 03   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 007  : 03   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 007  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 007  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 007  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 000  : 00   : yes
+0x002E : 006  : 03   : yes
+0x002F : 007  : 03   : yes
+0x0030 : 006  : 02   : yes
+0x0031 : 007  : 03   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 006  : 02   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 01   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 006  : 01   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 007  : 01   : yes
+0x003A : 008  : 01   : yes
+0x003B : 007  : 04   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1988
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 006  : 02   : yes
+0x000A : 007  : 01   : yes
+0x000B : 006  : 03   : yes
+0x000C : 006  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 005  : 01   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 006  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 004  : 01   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 003  : 01   : yes
+0x0025 : 006  : 02   : yes
+0x0026 : 002  : 01   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 000  : 00   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 02   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 006  : 02   : yes
+0x0038 : 002  : 02   : yes
+0x0039 : 003  : 04   : yes
+0x003A : 003  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 003  : 03   : yes
+0x0040 : 003  : 04   : yes
+0x0041 : 003  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf288
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 02   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 005  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 005  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 005  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 005  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 005  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 005  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 005  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 007  : 01   : yes
+0x001B : 005  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 005  : 03   : yes
+0x001F : 005  : 01   : yes
+0x0020 : 005  : 03   : yes
+0x0021 : 005  : 02   : yes
+0x0022 : 005  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 005  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 005  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 004  : 01   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 003  : 01   : yes
+0x002B : 002  : 04   : yes
+0x002C : 002  : 01   : yes
+0x002D : 005  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 000  : 00   : yes
+0x0030 : 005  : 03   : yes
+0x0031 : 005  : 02   : yes
+0x0032 : 002  : 02   : yes
+0x0033 : 005  : 03   : yes
+0x0034 : 002  : 02   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 005  : 04   : yes
+0x0039 : 006  : 02   : yes
+0x003A : 002  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf588
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 007  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 004  : 01   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 03   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 007  : 03   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 007  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 007  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 007  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 02   : yes
+0x002E : 006  : 03   : yes
+0x002F : 007  : 03   : yes
+0x0030 : 000  : 00   : yes
+0x0031 : 007  : 03   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 006  : 02   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 01   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 006  : 01   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 007  : 01   : yes
+0x003A : 008  : 01   : yes
+0x003B : 004  : 02   : yes
+0x003C : 007  : 04   : yes
+0x003D : 007  : 04   : yes
+0x003E : 007  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb1990
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 006  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 006  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 005  : 01   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 006  : 03   : yes
+0x001F : 007  : 01   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 006  : 02   : yes
+0x0022 : 004  : 01   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 003  : 01   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 002  : 01   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 02   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 000  : 00   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 002  : 02   : yes
+0x0039 : 006  : 02   : yes
+0x003A : 003  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 003  : 03   : yes
+0x0040 : 003  : 04   : yes
+0x0041 : 003  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf290
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 02   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 005  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 005  : 03   : yes
+0x0009 : 005  : 02   : yes
+0x000A : 005  : 01   : yes
+0x000B : 005  : 03   : yes
+0x000C : 005  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 005  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 007  : 01   : yes
+0x0011 : 005  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 005  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 005  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 005  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 005  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 005  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 005  : 03   : yes
+0x0025 : 005  : 02   : yes
+0x0026 : 005  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 004  : 01   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 003  : 01   : yes
+0x002B : 002  : 04   : yes
+0x002C : 002  : 01   : yes
+0x002D : 005  : 03   : yes
+0x002E : 005  : 02   : yes
+0x002F : 002  : 02   : yes
+0x0030 : 005  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 000  : 00   : yes
+0x0033 : 005  : 03   : yes
+0x0034 : 002  : 02   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 002  : 02   : yes
+0x0037 : 005  : 02   : yes
+0x0038 : 005  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf590
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 007  : 03   : yes
+0x0004 : 008  : 02   : yes
+0x0005 : 005  : 03   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 005  : 03   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 006  : 03   : yes
+0x000A : 006  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 006  : 03   : yes
+0x000D : 006  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 006  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 008  : 03   : yes
+0x0013 : 005  : 03   : yes
+0x0014 : 007  : 03   : yes
+0x0015 : 005  : 02   : yes
+0x0016 : 007  : 03   : yes
+0x0017 : 005  : 02   : yes
+0x0018 : 006  : 03   : yes
+0x0019 : 005  : 02   : yes
+0x001A : 007  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 008  : 03   : yes
+0x001D : 007  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 007  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 008  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 006  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 005  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 008  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 005  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 02   : yes
+0x002E : 006  : 03   : yes
+0x002F : 007  : 03   : yes
+0x0030 : 006  : 02   : yes
+0x0031 : 007  : 03   : yes
+0x0032 : 006  : 03   : yes
+0x0033 : 000  : 00   : yes
+0x0034 : 005  : 03   : yes
+0x0035 : 005  : 01   : yes
+0x0036 : 008  : 03   : yes
+0x0037 : 006  : 01   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 007  : 01   : yes
+0x003A : 008  : 01   : yes
+0x003B : 007  : 04   : yes
+0x003C : 008  : 04   : yes
+0x003D : 008  : 04   : yes
+0x003E : 008  : 04   : yes
+0x003F : 008  : 02   : yes
+0x0040 : 008  : 03   : yes
+0x0041 : 008  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf298
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 02   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 005  : 03   : yes
+0x0007 : 005  : 02   : yes
+0x0008 : 005  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 005  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 005  : 03   : yes
+0x000F : 005  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 005  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 005  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 005  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 007  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 005  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 005  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 005  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 005  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 005  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 005  : 03   : yes
+0x0027 : 005  : 02   : yes
+0x0028 : 004  : 01   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 003  : 01   : yes
+0x002B : 005  : 02   : yes
+0x002C : 002  : 01   : yes
+0x002D : 005  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 02   : yes
+0x0030 : 005  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 02   : yes
+0x0033 : 005  : 03   : yes
+0x0034 : 000  : 00   : yes
+0x0035 : 005  : 02   : yes
+0x0036 : 002  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 005  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 002  : 04   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf598
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 003  : 02   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 006  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 006  : 02   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 006  : 02   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 005  : 01   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 006  : 01   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 007  : 01   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 006  : 02   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 006  : 02   : yes
+0x002C : 006  : 03   : yes
+0x002D : 004  : 01   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 003  : 01   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 002  : 01   : yes
+0x0034 : 006  : 02   : yes
+0x0035 : 000  : 00   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 02   : yes
+0x003A : 002  : 02   : yes
+0x003B : 003  : 03   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf2a0
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 02   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 007  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 005  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 005  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 005  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 005  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 005  : 03   : yes
+0x0012 : 005  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 005  : 03   : yes
+0x001C : 005  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 005  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 005  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 005  : 03   : yes
+0x0023 : 005  : 02   : yes
+0x0024 : 005  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 005  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 004  : 01   : yes
+0x0029 : 005  : 02   : yes
+0x002A : 003  : 01   : yes
+0x002B : 002  : 04   : yes
+0x002C : 002  : 01   : yes
+0x002D : 005  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 02   : yes
+0x0030 : 005  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 02   : yes
+0x0033 : 005  : 03   : yes
+0x0034 : 002  : 02   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 000  : 00   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 005  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 006  : 02   : yes
+0x003B : 006  : 05   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 005  : 01   : yes
+0x0040 : 007  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf5a0
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 003  : 02   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 006  : 02   : yes
+0x000A : 007  : 01   : yes
+0x000B : 006  : 03   : yes
+0x000C : 006  : 02   : yes
+0x000D : 006  : 01   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 005  : 01   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 006  : 02   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 006  : 02   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 004  : 01   : yes
+0x002E : 006  : 02   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 003  : 01   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 006  : 02   : yes
+0x0033 : 002  : 01   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 000  : 00   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 02   : yes
+0x003A : 002  : 02   : yes
+0x003B : 003  : 03   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf5a8
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 005  : 02   : yes
+0x0004 : 002  : 03   : yes
+0x0005 : 003  : 02   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 002  : 04   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 006  : 02   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 006  : 02   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 007  : 01   : yes
+0x001B : 006  : 03   : yes
+0x001C : 002  : 04   : yes
+0x001D : 006  : 01   : yes
+0x001E : 006  : 03   : yes
+0x001F : 005  : 01   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 006  : 02   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 002  : 04   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 002  : 04   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 004  : 01   : yes
+0x002E : 002  : 04   : yes
+0x002F : 006  : 02   : yes
+0x0030 : 003  : 01   : yes
+0x0031 : 006  : 02   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 002  : 01   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 02   : yes
+0x0036 : 002  : 04   : yes
+0x0037 : 002  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 000  : 00   : yes
+0x003A : 002  : 02   : yes
+0x003B : 003  : 03   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 002  : 03   : yes
+0x0040 : 002  : 04   : yes
+0x0041 : 002  : 03   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109faf5b0
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 04   : yes
+0x0004 : 007  : 01   : yes
+0x0005 : 003  : 02   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 04   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 04   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 006  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 006  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 006  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 006  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 004  : 01   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 003  : 01   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 002  : 01   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 02   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 02   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 02   : yes
+0x003A : 000  : 00   : yes
+0x003B : 003  : 03   : yes
+0x003C : 007  : 03   : yes
+0x003D : 007  : 03   : yes
+0x003E : 007  : 03   : yes
+0x003F : 005  : 01   : yes
+0x0040 : 007  : 02   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb31e0
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 01   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 007  : 01   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 008  : 01   : yes
+0x000A : 008  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 008  : 03   : yes
+0x000D : 008  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 008  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 006  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 007  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 008  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 008  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 007  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 008  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 000  : 00   : yes
+0x003D : 008  : 02   : yes
+0x003E : 008  : 02   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 01   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb31e8
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 01   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 007  : 01   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 008  : 01   : yes
+0x000A : 008  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 008  : 03   : yes
+0x000D : 008  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 008  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 006  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 007  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 008  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 008  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 007  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 008  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 02   : yes
+0x003D : 000  : 00   : yes
+0x003E : 008  : 02   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 01   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb31f0
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 05   : yes
+0x0002 : 005  : 04   : yes
+0x0003 : 006  : 01   : yes
+0x0004 : 005  : 02   : yes
+0x0005 : 005  : 05   : yes
+0x0006 : 006  : 04   : yes
+0x0007 : 007  : 01   : yes
+0x0008 : 006  : 04   : yes
+0x0009 : 008  : 01   : yes
+0x000A : 008  : 02   : yes
+0x000B : 006  : 04   : yes
+0x000C : 008  : 03   : yes
+0x000D : 008  : 02   : yes
+0x000E : 006  : 04   : yes
+0x000F : 007  : 03   : yes
+0x0010 : 008  : 02   : yes
+0x0011 : 006  : 04   : yes
+0x0012 : 005  : 03   : yes
+0x0013 : 007  : 03   : yes
+0x0014 : 006  : 03   : yes
+0x0015 : 007  : 02   : yes
+0x0016 : 006  : 03   : yes
+0x0017 : 007  : 02   : yes
+0x0018 : 008  : 03   : yes
+0x0019 : 007  : 02   : yes
+0x001A : 006  : 02   : yes
+0x001B : 006  : 04   : yes
+0x001C : 005  : 03   : yes
+0x001D : 006  : 02   : yes
+0x001E : 006  : 04   : yes
+0x001F : 006  : 02   : yes
+0x0020 : 006  : 04   : yes
+0x0021 : 006  : 03   : yes
+0x0022 : 006  : 04   : yes
+0x0023 : 005  : 03   : yes
+0x0024 : 006  : 04   : yes
+0x0025 : 008  : 03   : yes
+0x0026 : 006  : 04   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 006  : 04   : yes
+0x0029 : 005  : 03   : yes
+0x002A : 006  : 04   : yes
+0x002B : 007  : 03   : yes
+0x002C : 006  : 04   : yes
+0x002D : 006  : 04   : yes
+0x002E : 008  : 03   : yes
+0x002F : 006  : 03   : yes
+0x0030 : 006  : 04   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 008  : 03   : yes
+0x0033 : 006  : 04   : yes
+0x0034 : 007  : 03   : yes
+0x0035 : 007  : 03   : yes
+0x0036 : 005  : 03   : yes
+0x0037 : 008  : 03   : yes
+0x0038 : 006  : 05   : yes
+0x0039 : 006  : 03   : yes
+0x003A : 005  : 03   : yes
+0x003B : 007  : 06   : yes
+0x003C : 008  : 02   : yes
+0x003D : 008  : 02   : yes
+0x003E : 000  : 00   : yes
+0x003F : 005  : 02   : yes
+0x0040 : 005  : 01   : yes
+0x0041 : 005  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb5f0
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 03   : yes
+0x0002 : 005  : 02   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 001  : 02   : yes
+0x0005 : 001  : 03   : yes
+0x0006 : 005  : 02   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 005  : 02   : yes
+0x0009 : 008  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 002  : 02   : yes
+0x000C : 005  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 002  : 02   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 002  : 02   : yes
+0x0012 : 005  : 01   : yes
+0x0013 : 002  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 002  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 002  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 007  : 02   : yes
+0x001C : 002  : 01   : yes
+0x001D : 001  : 04   : yes
+0x001E : 007  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 007  : 02   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 02   : yes
+0x0023 : 007  : 01   : yes
+0x0024 : 006  : 02   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 02   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 003  : 02   : yes
+0x0029 : 006  : 01   : yes
+0x002A : 003  : 02   : yes
+0x002B : 006  : 03   : yes
+0x002C : 003  : 02   : yes
+0x002D : 001  : 02   : yes
+0x002E : 006  : 03   : yes
+0x002F : 003  : 03   : yes
+0x0030 : 001  : 02   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 003  : 03   : yes
+0x0033 : 001  : 02   : yes
+0x0034 : 003  : 03   : yes
+0x0035 : 001  : 03   : yes
+0x0036 : 003  : 01   : yes
+0x0037 : 001  : 03   : yes
+0x0038 : 006  : 03   : yes
+0x0039 : 001  : 03   : yes
+0x003A : 001  : 01   : yes
+0x003B : 001  : 04   : yes
+0x003C : 008  : 02   : yes
+0x003D : 008  : 02   : yes
+0x003E : 008  : 02   : yes
+0x003F : 000  : 00   : yes
+0x0040 : 008  : 01   : yes
+0x0041 : 002  : 02   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fb31f8
+LID    : Port : Hops : Optimal
+0x0001 : 005  : 04   : yes
+0x0002 : 005  : 03   : yes
+0x0003 : 002  : 02   : yes
+0x0004 : 005  : 01   : yes
+0x0005 : 005  : 04   : yes
+0x0006 : 006  : 03   : yes
+0x0007 : 002  : 02   : yes
+0x0008 : 006  : 03   : yes
+0x0009 : 002  : 02   : yes
+0x000A : 002  : 03   : yes
+0x000B : 006  : 03   : yes
+0x000C : 002  : 04   : yes
+0x000D : 002  : 03   : yes
+0x000E : 006  : 03   : yes
+0x000F : 002  : 04   : yes
+0x0010 : 002  : 03   : yes
+0x0011 : 006  : 03   : yes
+0x0012 : 006  : 02   : yes
+0x0013 : 002  : 04   : yes
+0x0014 : 002  : 04   : yes
+0x0015 : 002  : 03   : yes
+0x0016 : 002  : 04   : yes
+0x0017 : 002  : 03   : yes
+0x0018 : 002  : 04   : yes
+0x0019 : 002  : 03   : yes
+0x001A : 002  : 03   : yes
+0x001B : 006  : 03   : yes
+0x001C : 006  : 02   : yes
+0x001D : 002  : 03   : yes
+0x001E : 006  : 03   : yes
+0x001F : 002  : 03   : yes
+0x0020 : 006  : 03   : yes
+0x0021 : 002  : 04   : yes
+0x0022 : 006  : 03   : yes
+0x0023 : 006  : 02   : yes
+0x0024 : 006  : 03   : yes
+0x0025 : 002  : 04   : yes
+0x0026 : 006  : 03   : yes
+0x0027 : 002  : 04   : yes
+0x0028 : 006  : 03   : yes
+0x0029 : 006  : 02   : yes
+0x002A : 006  : 03   : yes
+0x002B : 002  : 04   : yes
+0x002C : 006  : 03   : yes
+0x002D : 006  : 03   : yes
+0x002E : 002  : 04   : yes
+0x002F : 002  : 04   : yes
+0x0030 : 006  : 03   : yes
+0x0031 : 002  : 04   : yes
+0x0032 : 002  : 04   : yes
+0x0033 : 006  : 03   : yes
+0x0034 : 002  : 04   : yes
+0x0035 : 002  : 04   : yes
+0x0036 : 006  : 02   : yes
+0x0037 : 002  : 04   : yes
+0x0038 : 006  : 04   : yes
+0x0039 : 002  : 04   : yes
+0x003A : 007  : 02   : yes
+0x003B : 007  : 05   : yes
+0x003C : 004  : 01   : yes
+0x003D : 003  : 01   : yes
+0x003E : 002  : 01   : yes
+0x003F : 007  : 01   : yes
+0x0040 : 000  : 00   : yes
+0x0041 : 006  : 01   : yes
+
+osm_ucast_mgr_dump_ucast_routes: Switch 0x0002c90109fcb5f8
+LID    : Port : Hops : Optimal
+0x0001 : 003  : 03   : yes
+0x0002 : 005  : 02   : yes
+0x0003 : 008  : 03   : yes
+0x0004 : 001  : 02   : yes
+0x0005 : 001  : 03   : yes
+0x0006 : 005  : 02   : yes
+0x0007 : 008  : 03   : yes
+0x0008 : 005  : 02   : yes
+0x0009 : 008  : 03   : yes
+0x000A : 001  : 04   : yes
+0x000B : 002  : 02   : yes
+0x000C : 005  : 03   : yes
+0x000D : 001  : 04   : yes
+0x000E : 002  : 02   : yes
+0x000F : 005  : 03   : yes
+0x0010 : 001  : 04   : yes
+0x0011 : 002  : 02   : yes
+0x0012 : 005  : 01   : yes
+0x0013 : 002  : 03   : yes
+0x0014 : 005  : 03   : yes
+0x0015 : 001  : 04   : yes
+0x0016 : 002  : 03   : yes
+0x0017 : 001  : 04   : yes
+0x0018 : 002  : 03   : yes
+0x0019 : 001  : 04   : yes
+0x001A : 001  : 04   : yes
+0x001B : 007  : 02   : yes
+0x001C : 002  : 01   : yes
+0x001D : 001  : 04   : yes
+0x001E : 007  : 02   : yes
+0x001F : 001  : 04   : yes
+0x0020 : 007  : 02   : yes
+0x0021 : 007  : 03   : yes
+0x0022 : 006  : 02   : yes
+0x0023 : 007  : 01   : yes
+0x0024 : 006  : 02   : yes
+0x0025 : 007  : 03   : yes
+0x0026 : 006  : 02   : yes
+0x0027 : 007  : 03   : yes
+0x0028 : 003  : 02   : yes
+0x0029 : 006  : 01   : yes
+0x002A : 003  : 02   : yes
+0x002B : 006  : 03   : yes
+0x002C : 003  : 02   : yes
+0x002D : 001  : 02   : yes
+0x002E : 006  : 03   : yes
+0x002F : 003  : 03   : yes
+0x0030 : 001  : 02   : yes
+0x0031 : 006  : 03   : yes
+0x0032 : 003  : 03   : yes
+0x0033 : 001  : 02   : yes
+0x0034 : 003  : 03   : yes
+0x0035 : 001  : 03   : yes
+0x0036 : 003  : 01   : yes
+0x0037 : 001  : 03   : yes
+0x0038 : 006  : 03   : yes
+0x0039 : 001  : 03   : yes
+0x003A : 001  : 01   : yes
+0x003B : 001  : 04   : yes
+0x003C : 008  : 02   : yes
+0x003D : 008  : 02   : yes
+0x003E : 008  : 02   : yes
+0x003F : 002  : 02   : yes
+0x0040 : 008  : 01   : yes
+0x0041 : 000  : 00   : yes
+
diff --git a/ibdm/Clusters/subnet.lst b/ibdm/Clusters/subnet.lst
new file mode 100644
index 0000000..e09771b
--- /dev/null
+++ b/ibdm/Clusters/subnet.lst
@@ -0,0 +1,344 @@
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:07 } PHY=4x LOG=ACT
+{ CA-SM Ports:02 SystemGUID:0002c90109769a03 NodeGUID:0002c90109769a00 PortGUID:0002c90109769a01 VenID:000002C9 DevID:5A440000 Rev:000000A1 {MT23108 InfiniHost Mellanox Technologies} LID:0001 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:18 SystemGUID:0000000000040002 NodeGUID:0000000000000001 PortGUID:0000000000000001 VenID:000002C9 DevID:B9240000 Rev:000000A0 {MT47396 Infiniscale-III Mellanox Technologies} LID:0005 PN:05 } { CA Ports:02 SystemGUID:0002c901093dc5d3 NodeGUID:0002c901093dc5d0 PortGUID:0002c901093dc5d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {swlab225 HCA-1 (Topspin HCA)} LID:003B PN:01 } PHY=4x LOG=ACT
+{ SW Ports:18 SystemGUID:0000000000040002 NodeGUID:0000000000000001 PortGUID:0000000000000001 VenID:000002C9 DevID:B9240000 Rev:000000A0 {MT47396 Infiniscale-III Mellanox Technologies} LID:0005 PN:17 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0018 PortGUID:0002c90109fb0018 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000C PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0010 PortGUID:0002c90109fb0010 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0008 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0008 PortGUID:0002c90109fb0008 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0006 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0000 PortGUID:0002c90109fb0000 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0002 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc38 PortGUID:0002c90109fafc38 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0018 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0020 PortGUID:0002c90109fb0020 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:000F PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc28 PortGUID:0002c90109fafc28 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0013 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc20 PortGUID:0002c90109fafc20 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0011 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc18 PortGUID:0002c90109fafc18 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000E PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc10 PortGUID:0002c90109fafc10 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000B PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0030 PortGUID:0002c90109fb0030 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0014 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc30 PortGUID:0002c90109fafc30 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0016 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf058 PortGUID:0002c90109faf058 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0021 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf068 PortGUID:0002c90109faf068 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0025 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:03 } { CA Ports:02 SystemGUID:0002c90109768ea3 NodeGUID:0002c90109768ea0 PortGUID:0002c90109768ea1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {swlab229 HCA-1 (Topspin HCA)} LID:0038 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf050 PortGUID:0002c90109faf050 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0020 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf048 PortGUID:0002c90109faf048 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001E PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf040 PortGUID:0002c90109faf040 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001B PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf070 PortGUID:0002c90109faf070 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0027 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:01 } { CA-SM Ports:02 SystemGUID:0002c90109769a03 NodeGUID:0002c90109769a00 PortGUID:0002c90109769a01 VenID:000002C9 DevID:5A440000 Rev:000000A1 {MT23108 InfiniHost Mellanox Technologies} LID:0001 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1980 PortGUID:0002c90109fb1980 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002B PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1988 PortGUID:0002c90109fb1988 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002E PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf288 PortGUID:0002c90109faf288 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:002F PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:04 } { SW Ports:18 SystemGUID:0000000000040002 NodeGUID:0000000000000001 PortGUID:0000000000000001 VenID:000002C9 DevID:B9240000 Rev:000000A0 {MT47396 Infiniscale-III Mellanox Technologies} LID:0005 PN:17 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1968 PortGUID:0002c90109fb1968 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0024 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1960 PortGUID:0002c90109fb1960 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0022 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1990 PortGUID:0002c90109fb1990 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0031 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf290 PortGUID:0002c90109faf290 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0032 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf298 PortGUID:0002c90109faf298 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0034 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc230 PortGUID:0002c90109fcc230 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0015 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc238 PortGUID:0002c90109fcc238 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0017 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf598 PortGUID:0002c90109faf598 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0035 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc240 PortGUID:0002c90109fcc240 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0019 PN:06 } PHY=4x LOG=ACT
+{ CA Ports:02 SystemGUID:0002c90109768ea3 NodeGUID:0002c90109768ea0 PortGUID:0002c90109768ea1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {swlab229 HCA-1 (Topspin HCA)} LID:0038 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1970 PortGUID:0002c90109fb1970 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0026 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf280 PortGUID:0002c90109faf280 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002C PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf278 PortGUID:0002c90109faf278 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002A PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf270 PortGUID:0002c90109faf270 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0028 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb520 PortGUID:0002c90109fcb520 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0010 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb518 PortGUID:0002c90109fcb518 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000D PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a0 PortGUID:0002c90109faf5a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0037 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb510 PortGUID:0002c90109fcb510 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:000A PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc550 PortGUID:0002c90109fcc550 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001F PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc548 PortGUID:0002c90109fcc548 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001D PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5a8 PortGUID:0002c90109faf5a8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0039 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcc540 PortGUID:0002c90109fcc540 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:001A PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf590 PortGUID:0002c90109faf590 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0033 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf588 PortGUID:0002c90109faf588 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0030 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf580 PortGUID:0002c90109faf580 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:002D PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:01 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:01 } PHY=4x LOG=ACT
+{ CA Ports:02 SystemGUID:0002c901093dc5d3 NodeGUID:0002c901093dc5d0 PortGUID:0002c901093dc5d1 VenID:000002C9 DevID:5A440000 Rev:000000A1 {swlab225 HCA-1 (Topspin HCA)} LID:003B PN:01 } { SW Ports:18 SystemGUID:0000000000040002 NodeGUID:0000000000000001 PortGUID:0000000000000001 VenID:000002C9 DevID:B9240000 Rev:000000A0 {MT47396 Infiniscale-III Mellanox Technologies} LID:0005 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:04 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:03 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3200 PortGUID:0002c90109fb3200 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0003 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3208 PortGUID:0002c90109fb3208 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0007 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb3210 PortGUID:0002c90109fb3210 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0009 PN:02 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:07 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f0 PortGUID:0002c90109fb31f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003E PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e8 PortGUID:0002c90109fb31e8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003D PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:04 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31e0 PortGUID:0002c90109fb31e0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003C PN:05 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb600 PortGUID:0002c90109fcb600 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0004 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f0 PortGUID:0002c90109fcb5f0 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:003F PN:08 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:01 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf5b0 PortGUID:0002c90109faf5b0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:003A PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:02 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fafc40 PortGUID:0002c90109fafc40 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:001C PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:03 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf2a0 PortGUID:0002c90109faf2a0 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0036 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:05 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb0028 PortGUID:0002c90109fb0028 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0012 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:06 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb1978 PortGUID:0002c90109fb1978 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0029 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:07 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109faf060 PortGUID:0002c90109faf060 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0023 PN:06 } PHY=4x LOG=ACT
+{ SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fcb5f8 PortGUID:0002c90109fcb5f8 VenID:000002C9 DevID:A87C0000 Rev:000000A0 {MT43132 Mellanox Technologies} LID:0041 PN:08 } { SW Ports:08 SystemGUID:a22029083222f0ff NodeGUID:0002c90109fb31f8 PortGUID:0002c90109fb31f8 VenID:000002C9 DevID:0000 Rev:00000000 {MT43132 Mellanox Technologies} LID:0040 PN:06 } PHY=4x LOG=ACT
diff --git a/ibdm/Clusters/topo2subnet b/ibdm/Clusters/topo2subnet
new file mode 100755
index 0000000..c5ce6cc
--- /dev/null
+++ b/ibdm/Clusters/topo2subnet
@@ -0,0 +1,159 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+	exec ibdmsh "$0" "$@"
+
+#
+set Usage "Usage: $argv0 -t topo-file"
+
+set Help "
+    Convert Topo File into OpenSM Subnet file
+   -------------------------------------------
+
+Usage:
+  $Usage
+
+Description:
+  The utility reads in a topology file and generate an OpenSM
+subnet.lst file (in local dir) to match the specified topology.
+It 'invents' guids and lids sequentially.
+
+TODO: Randomize missmatches ...
+"
+
+###########################################################################
+
+# return the string representing the given port in the subnet.lst
+proc getPortStr {port} {
+   global IB_SW_NODE
+   set portFormat "{ CA%s Ports:%02x SystemGUID:%s NodeGUID:%s PortGUID:%s VenID:000002C9 DevID:%s Rev:000000A1 {%s} LID:%04x PN:%02x }"
+   set node [IBPort_p_node_get $port]
+   set sysName [IBSystem_name_get [IBNode_p_system_get $node]]
+   if {[IBNode_type_get $node] == $IB_SW_NODE} {
+      # we assume all switches are IS3
+      set devId B9240000
+      set desc "$sysName MT47396 Infiniscale-III Mellanox Technologies"
+   } else {
+      # we assume all CAs are Tavors:
+      set devId 5A440000
+      set desc "$sysName MT23108 Infinihost-II Mellanox Technologies"
+   }
+   return [format $portFormat \
+              "" \
+              [IBNode_numPorts_get $node] \
+              [string range [IBNode_guid_get $node] 2 end] \
+              [string range [IBNode_guid_get $node] 2 end] \
+              [string range [IBPort_guid_get $port] 2 end] \
+              $devId \
+              $desc \
+              [IBPort_base_lid_get $port] \
+              [IBPort_num_get $port] \
+             ]
+}
+
+# return the string of the link in subnet.lst format
+proc getLinkStr {port1 port2} {
+   set linkFormat "%s %s PHY=%s LOG=%s SPD=%s"
+   set p1 [getPortStr $port1]
+   set p2 [getPortStr $port2]
+   set width [IBPort_width_get $port1]
+   set speed [IBPort_speed_get $port1]
+   return [format $linkFormat $p1 $p2 $width "ACT" $speed]
+}
+
+
+###########################################################################
+
+#
+# MAIN FLOW:
+#
+package require ibdm
+package require getopt
+
+while { [ set err [ getopt $argv "t:" opt arg ]] } {
+	if { $err < 0 } then {
+		Usage
+		exit 2
+	} else {
+		switch -exact $opt {
+			h {puts $Help; exit 0}
+         t {set topoFile $arg}
+         default {
+            puts "-E- Unsupported option:$opt"
+            puts $Usage
+            exit 1
+         }
+      }
+   }
+}
+
+# handle extra args
+set left_args [ lrange $argv $optind end ]
+if {[llength $left_args]} {
+   puts "-E- extra parameter(s) used : $left_args"
+   puts $Usage
+   exit 1
+}
+
+if {[catch {set of [open subnet.lst w]} e]} {
+   puts "-E- $e"
+   exit 1
+}
+
+set fabric [new_IBFabric ]
+if {[IBFabric_parseTopology $fabric $topoFile]} {
+   puts "-E- Fail to parse topo:$topoFile"
+   exit
+}
+
+# we track the number of allocated guids and lids
+set curGuid 1
+set curLid 1
+
+# go node by node and assign guids and lids,
+foreach nodeDef [IBFabric_NodeByName_get $fabric ] {
+   set node [lindex $nodeDef 1]
+
+   # make sure the node has a guid and lid
+   set guid [IBNode_guid_get $node]
+   if {$guid == 0} {
+      incr curGuid
+      IBNode_guid_set $node [format "0x0002c900%08x" $curGuid]
+   }
+
+   # loop on all ports:
+   foreach port [IBNode_Ports_get $node] {
+      # assign port base lid and guid:
+      IBPort_guid_set $port [format "0x0002c900%08x" $curGuid]
+      IBPort_base_lid_set $port $curLid
+
+      # non switches require new lid and new guid to each port:
+      if {[IBNode_type_get $node] != $IB_SW_NODE} {
+         incr curGuid
+         incr curLid
+      }
+   }
+
+   # we have assigned at least one guid and lid ...
+   if {[IBNode_type_get $node] == $IB_SW_NODE} {
+      incr curGuid
+      incr curLid
+   }
+}
+
+# second iteration we are ready for output
+
+# go node by node and assign guids and lids,
+foreach nodeDef [IBFabric_NodeByName_get $fabric ] {
+   set node [lindex $nodeDef 1]
+
+   foreach port [IBNode_Ports_get $node] {
+      set remPort [IBPort_p_remotePort_get $port]
+
+      # only interested in links
+      if {$remPort != ""} {
+         puts $of [getLinkStr $port $remPort]
+      }
+   }
+}
+
+close $of
diff --git a/ibdm/Clusters/topology b/ibdm/Clusters/topology
new file mode 100644
index 0000000..2057204
--- /dev/null
+++ b/ibdm/Clusters/topology
@@ -0,0 +1,11 @@
+
+Gnu SW1
+  M/P1 -> Cougar H1 P1
+          M/P2 -> Cougar H2 P1
+          M/P3 -> Cougar H3 P1
+          M/P4 -> Cougar H4 P1
+          M/P5 -> Cougar H5 P1
+          M/P6 -> Cougar H6 P1
+          M/P7 -> Cougar H7 P1
+          M/P1 -> Cougar H1 P1
+          M/P2 -> Cougar H2 P2
diff --git a/ibdm/INSTALL b/ibdm/INSTALL
new file mode 100644
index 0000000..b42a17a
--- /dev/null
+++ b/ibdm/INSTALL
@@ -0,0 +1,182 @@
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
diff --git a/ibdm/Makefile b/ibdm/Makefile
new file mode 100644
index 0000000..08cb709
--- /dev/null
+++ b/ibdm/Makefile
@@ -0,0 +1,684 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	THANKS config/config.guess config/config.sub config/depcomp \
+	config/install-sh config/ltmain.sh config/missing \
+	config/mkinstalldirs config/ylwrap
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+
+# note that order matters: make the lib first then use it
+SUBDIRS = replace ibdm src Clusters ibnl doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: # $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-recursive \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am uninstall-info-am
+
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in datamodel; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/Makefile.am b/ibdm/Makefile.am
new file mode 100644
index 0000000..af8aef7
--- /dev/null
+++ b/ibdm/Makefile.am
@@ -0,0 +1,51 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+
+# note that order matters: make the lib first then use it
+SUBDIRS 		= replace ibdm src Clusters ibnl doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+
+ACLOCAL			= aclocal -I $(ac_aux_dir)
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in datamodel; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
diff --git a/ibdm/Makefile.in b/ibdm/Makefile.in
new file mode 100644
index 0000000..dd57b2b
--- /dev/null
+++ b/ibdm/Makefile.in
@@ -0,0 +1,684 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	THANKS config/config.guess config/config.sub config/depcomp \
+	config/install-sh config/ltmain.sh config/missing \
+	config/mkinstalldirs config/ylwrap
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+
+# note that order matters: make the lib first then use it
+SUBDIRS = replace ibdm src Clusters ibnl doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-recursive \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am uninstall-info-am
+
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in datamodel; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/NEWS b/ibdm/NEWS
new file mode 100644
index 0000000..6a8e75d
--- /dev/null
+++ b/ibdm/NEWS
@@ -0,0 +1,7 @@
+Version: 1.1
+4-Dec-03 - Add a -e option to fabric_sim to run the enhanced LMC based
+           routing algorithm.
+
+Version: 1.0
+2-Dec-03 - First distribution - the news is that it is getting closer to a
+           real package.
diff --git a/ibdm/README b/ibdm/README
new file mode 100644
index 0000000..68ba60b
--- /dev/null
+++ b/ibdm/README
@@ -0,0 +1,105 @@
+                             FABRIC UTILS
+                            --------------
+
+This package provides a set of utilities that is based on a common
+data model to hold a complete fabric at both the system and node levels.
+
+ibdmchk:
+-----------
+ ibdmchk has two operation modes: cluster design and verification.
+
+  CLUSTER DESIGN:
+  Usage:
+   ibdmchk [-v][-h][-u][-a <roots file>] -t <topology file> -n <SM Node> -p <SM Port> [-e] [-l <lmc>]
+
+  Description:
+   The Design mode is intended to be used before the cluster is built. It provides
+   basic checks of the specified network as described by a topology file.
+   After simulating the SM LID assignment and routing algorithms it provides reports
+   of the CA to CA paths depth histogram and credit deadlock potential
+   in the resulting routing scheme.
+
+  Arguments (required):
+  -t|--topo <topo file> = the topology file specifying the fabric.
+  -n|--node <SM Node> = the name of the Subnet Manager node (syntax: <Topo-File-System>/U1)
+  -p|--port <SM Port> = the port number by which the SM nodes is attached to the fabric.
+
+  Options:
+  -v|--verbose = verbsoe mode
+  -h|--help = provide this help message
+  -l|--lmc <lmc> = LMC value > 0 means assigning 2^lmc lids to each port.
+  -e|--enh = use enhanced routing algorithm when LMC > 0 and report the resulting paths
+       correlation (using same system/node) histogram
+  -u|--updn = use up/down routing algorithm instead of OpenSM min-hop.
+  -r|--roots <roots file> = a file with all the roots node names (one on each line).
+
+  CLUSTER VERIFICATION:
+  Usage:
+   ibdmchk [-v][-h][-r <roots file>] [-s <subnet file>] [-f <fdb file>] [-l <lmc>]
+
+  Description:
+   After the cluster is built and OpenSM is run (using flag -D 0x43) it reports the
+   subnet and FDB tables into the files /tmp/subnet.lst and /tmp/osm.fdbs.
+   Based on these files the utility checks all CA to CA connectivity. Further analysis
+   for credit deadlock potential is performed and reported.
+   In case of an LMC > 0 it reports histograms for how many systems and nodes
+   are common between the different paths for the same port pairs.
+  Arguments (required):
+  -l|--lmc <lmc> = The LMC value used while running OpenSM. Mandatory if not the default 0.
+
+  Options:
+  -v|--verbose = verbsoe mode
+  -h|--help = provide this help message
+  -s|--subnet <file> = OpenSM subnet.lst file (default is /tmp/subnet.lst)
+  -f|--fdb <file> = OpenSM dump of Ucast LFDB. Use -D 0x41 to generate it.
+     (default is /tmp/osm.fdbs).
+  -m|--mcfdb <file> = OpenSM dump of Multicast LFDB. Use -D 0x41 to generate it.
+     (default is /tmp/osm.mcfdbs).
+  -r|--roots <roots file> = a file holding all root nodes guids (one per line).
+
+
+ibdmtr:
+-----------
+Traces a direct route through the fabric while printing the path
+information at both node and system levels.
+Usage: ibdmtr [-v][-h] {-c <cabling file>|-t <topo file>} -s <sm node name>  -p <sm port num> -d <comma-sep-dr-path>
+
+Description:
+  This utility parses a cabling list or topology file
+ describing the systems connections that make a fabric.
+ Then it start following the direct route provided and
+ print out the systems and nodes on the route.
+
+Arguments:
+  -t|--topology <file> = Topology file.
+  -c|--cables <file> = Cabling list file. Following the line format:
+   <Sys1Type> <Sys1Name> <Port1Name> <Sys2Type> <Sys2Name> <Port2Name>
+  -s|--sm-node <name> = The name of the SM node (not system). E.g. OSM/U1.
+  -p|--port-num <num> = The number of the port SM is connected to.
+  -d|--dr-path <comm-sep-dr-path> = a list of ports to go out through
+
+Options:
+  -v|--verbose = verbsoe mode
+  -h|--help = provide this help message
+
+
+ibtopodiff
+--------
+Tests a topology file matching vs subnet.lst.
+
+Usage: ibtopodiff [-v][-h] -t <topo file> -d <subnet file> -s <start node name> -p <start port num> -g <start port guid>
+
+Description:
+
+Arguments:
+  -t|--topology <file> = Topology file [ibadm.topo].
+  -d|--discovered <file> = [subnet.lst] file produced by OpenSM.
+  -s|--start-node <name> = The name of the start node [H-1/U1].
+  -p|--port-num <num> = The number of the start port [1].
+  -g|--port-guid <guid> = The guid of the start port [none].
+
+Options:
+  -v|--verbose = verbsoe mode
+  -h|--help = provide this help message
+
+
diff --git a/ibdm/THANKS b/ibdm/THANKS
new file mode 100644
index 0000000..ab5b073
--- /dev/null
+++ b/ibdm/THANKS
@@ -0,0 +1 @@
+The author wish to thank his wife for the long time she waited for him...
diff --git a/ibdm/aclocal.m4 b/ibdm/aclocal.m4
new file mode 100644
index 0000000..1bc6806
--- /dev/null
+++ b/ibdm/aclocal.m4
@@ -0,0 +1,7320 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+         [],
+         [m4_define([AC_PROVIDE_IFELSE],
+	         [m4_ifdef([AC_PROVIDE_$1],
+		           [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+  ])])
+dnl And a similar setup for Fortran 77 support
+  AC_PROVIDE_IFELSE([AC_PROG_F77],
+    [AC_LIBTOOL_F77],
+    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+      [AC_LIBTOOL_GCJ],
+      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	[AC_LIBTOOL_GCJ],
+      [ifdef([AC_PROG_GCJ],
+	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([A][M_PROG_GCJ],
+	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([LT_AC_PROG_GCJ],
+	     [define([LT_AC_PROG_GCJ],
+		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+    [AC_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+[$]*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "[$]0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+  ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$5], , :, [$5])
+else
+    ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                          [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$4], , :, [$4])
+else
+    ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+   ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+    	  lt_cv_dlopen_self_static, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_AC_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         AC_MSG_RESULT([yes])
+       else
+  AC_MSG_RESULT([no])
+fi
+       ;;
+   *)
+  AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+        [include additional configurations @<:@automatic@:>@])],
+    [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    AC_MSG_WARN([output file `$ofile' does not exist])
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+    else
+      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+    "") ;;
+    *)  AC_MSG_ERROR([invalid tag name: $tagname])
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      AC_MSG_ERROR([tag name \"$tagname\" already exists])
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  AC_LIBTOOL_LANG_CXX_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+	  AC_LIBTOOL_LANG_F77_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+	  AC_LIBTOOL_LANG_GCJ_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+	AC_LIBTOOL_LANG_RC_CONFIG
+	;;
+
+      *)
+	AC_MSG_ERROR([Unsupported tag name: $tagname])
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    AC_MSG_ERROR([unable to update list of available tagged configurations.])
+  fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+    [AC_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case $enable_ltdl_convenience in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, lt_dlinit,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    LTDLINCL=
+  fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# Report which library types will actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+  AC_PROG_LD
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    _LT_AC_TAGVAR(archive_cmds, $1)=''
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	else
+	  # We have old collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      _LT_AC_SYS_LIBPATH_AIX
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	_LT_AC_SYS_LIBPATH_AIX
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+    # as there is no search path for DLLs.
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(always_export_symbols, $1)=no
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  freebsd[[12]]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  freebsd-elf*)
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    aCC*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+        ;;
+      *)
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+    *)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+	;;
+    esac
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_TAGVAR(postdeps,$1)=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars.  Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    _LT_AC_TAGVAR(compiler, $1) \
+    _LT_AC_TAGVAR(CC, $1) \
+    _LT_AC_TAGVAR(LD, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+    _LT_AC_TAGVAR(old_archive_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+    _LT_AC_TAGVAR(predep_objects, $1) \
+    _LT_AC_TAGVAR(postdep_objects, $1) \
+    _LT_AC_TAGVAR(predeps, $1) \
+    _LT_AC_TAGVAR(postdeps, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(archive_cmds, $1) \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(postinstall_cmds, $1) \
+    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+    _LT_AC_TAGVAR(no_undefined_flag, $1) \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+    _LT_AC_TAGVAR(hardcode_automatic, $1) \
+    _LT_AC_TAGVAR(module_cmds, $1) \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(exclude_expsyms, $1) \
+    _LT_AC_TAGVAR(include_expsyms, $1); do
+
+    case $var in
+    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(module_cmds, $1) | \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\[$]0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+    ;;
+  esac
+
+ifelse([$1], [],
+  [cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  AC_MSG_NOTICE([creating $ofile])],
+  [cfgfile="$ofile"])
+
+  cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+])
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  linux*)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  *)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+],[
+  runpath_var=
+  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_AC_TAGVAR(archive_cmds, $1)=
+  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+  _LT_AC_TAGVAR(module_cmds, $1)=
+  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(always_export_symbols, $1)=no
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_AC_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=no
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix3*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_AC_TAGVAR(archive_cmds, $1)=''
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  else
+  	  # We have old collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       _LT_AC_SYS_LIBPATH_AIX
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 _LT_AC_SYS_LIBPATH_AIX
+	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      # see comment about different semantics on the GNU ld section
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    bsdi[[45]]*)
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+      
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    openbsd*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	   ;;
+	 *)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_AC_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_PROG_LEX
+# -----------
+# Autoconf leaves LEX=: if lex or flex can't be found.  Change that to a
+# "missing" invocation, for better error output.
+AC_DEFUN([AM_PROG_LEX],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
+AC_REQUIRE([AC_PROG_LEX])dnl
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/regex.m4])
+m4_include([config/swig.m4])
+m4_include([config/tcl.m4])
diff --git a/ibdm/autogen.sh b/ibdm/autogen.sh
new file mode 100755
index 0000000..927526f
--- /dev/null
+++ b/ibdm/autogen.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+# get two strings of version numbers
+# parse the two strings and compare
+function compare_versions() {
+   cat <<EOF > /tmp/$$.awk
+/[0-9]+\.[0-9]+(\.[0-9]+)?[    ]+[0-9]+\.[0-9]+(\.[0-9]+)?/{
+  vb = "$2";
+  nb = split(vb,b,"[.]");
+  va = "$1";
+  na = split(va,a,"[.]");
+  for (i = na + 1; i < 4; i++) {
+      a[i] = 0;
+  }
+  for (i = nb + 1; i < 4; i++) {
+      b[i] = 0;
+  }
+  for (i = 1; i <= 3; i++) {
+    if (b[i] < a[i]) {
+#      print "FAIL:" va ">" vb " at index:" i;
+        exit(1);
+    } else if (b[i] > a[i]) {
+#       print "OK:" va "<" vb " at index:" i;
+       exit(0);
+    }
+  }
+#  print "OK:" va "==" vb;
+  exit(0);
+}
+{
+  exit(1);
+}
+EOF
+  echo "$1 $2 " | awk -f /tmp/$$.awk
+  status=$?
+  rm /tmp/$$.awk
+  return $status
+}
+
+# We change dir since the later utilities assume to work in the project dir
+cd ${0%*/*}
+# remove previous
+\rm -rf autom4te.cache
+\rm -rf aclocal.m4
+# make sure autoconf is up-to-date
+ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
+compare_versions 2.59 $ac_ver
+if test $? = 1; then
+    echo Min autoconf version is 2.59
+    exit 1
+fi
+
+# make sure automake is up-to-date
+am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
+compare_versions 1.9.2 $am_ver
+if test $? = 1; then
+    echo Min automake version is 1.9.2
+    exit 1
+fi
+
+# make sure libtool is up-to-date
+lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
+compare_versions 1.4.2 $lt_ver
+if test $? = 1; then
+    echo Min libtool version is 1.4.2
+    exit 1
+fi
+
+aclocal -I config 2>&1 | grep -v "warning: underquoted definition "
+libtoolize --automake --copy
+automake --add-missing --gnu --copy
+autoconf
diff --git a/ibdm/config.h b/ibdm/config.h
new file mode 100644
index 0000000..7ac2970
--- /dev/null
+++ b/ibdm/config.h
@@ -0,0 +1,84 @@
+/* config.h.  Generated by configure.  */
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `index' function. */
+#define HAVE_INDEX 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the `rindex' function. */
+#define HAVE_RINDEX 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the `strtoull' function. */
+#define HAVE_STRTOULL 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Name of package */
+#define PACKAGE "ibdm"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME ""
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING ""
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION ""
+
+/* Define to 1 if you have the ANSI C header files. */
+/* #undef STDC_HEADERS */
+
+/* Version number of package */
+#define VERSION "1.2"
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+/* #undef YYTEXT_POINTER */
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+/* #undef size_t */
diff --git a/ibdm/config.h.in b/ibdm/config.h.in
new file mode 100644
index 0000000..5ad20b4
--- /dev/null
+++ b/ibdm/config.h.in
@@ -0,0 +1,83 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `index' function. */
+#undef HAVE_INDEX
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the `rindex' function. */
+#undef HAVE_RINDEX
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#undef YYTEXT_POINTER
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/ibdm/config/config.guess b/ibdm/config/config.guess
new file mode 100755
index 0000000..ad5281e
--- /dev/null
+++ b/ibdm/config/config.guess
@@ -0,0 +1,1466 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-08-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per at bothner.com>.
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibdm/config/config.sub b/ibdm/config/config.sub
new file mode 100755
index 0000000..1c366df
--- /dev/null
+++ b/ibdm/config/config.sub
@@ -0,0 +1,1579 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibdm/config/depcomp b/ibdm/config/depcomp
new file mode 100755
index 0000000..04701da
--- /dev/null
+++ b/ibdm/config/depcomp
@@ -0,0 +1,530 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2005-07-09.11
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdm/config/install-sh b/ibdm/config/install-sh
new file mode 100755
index 0000000..4d4a951
--- /dev/null
+++ b/ibdm/config/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdm/config/ltmain.sh b/ibdm/config/ltmain.sh
new file mode 100644
index 0000000..8fc56db
--- /dev/null
+++ b/ibdm/config/ltmain.sh
@@ -0,0 +1,6871 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/ibdm/config/missing b/ibdm/config/missing
new file mode 100755
index 0000000..894e786
--- /dev/null
+++ b/ibdm/config/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdm/config/mkinstalldirs b/ibdm/config/mkinstalldirs
new file mode 100755
index 0000000..8ab885e
--- /dev/null
+++ b/ibdm/config/mkinstalldirs
@@ -0,0 +1,99 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman at prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+   case "${1}" in
+     -h | --help | --h* )			# -h for help
+	echo "${usage}" 1>&2; exit 0 ;;
+     -m )					# -m PERM arg
+	shift
+	test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
+	dirmode="${1}"
+	shift ;;
+     -- ) shift; break ;;			# stop option processing
+     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
+     * )  break ;;				# first non-opt arg
+   esac
+done
+
+for file
+do
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
+
+case $# in
+0) exit 0 ;;
+esac
+
+case $dirmode in
+'')
+  if mkdir -p -- . 2>/dev/null; then
+    echo "mkdir -p -- $*"
+    exec mkdir -p -- "$@"
+  fi ;;
+*)
+  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+    echo "mkdir -m $dirmode -p -- $*"
+    exec mkdir -m "$dirmode" -p -- "$@"
+  fi ;;
+esac
+
+for file
+do
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+   shift
+
+   pathcomp=
+   for d
+   do
+     pathcomp="$pathcomp$d"
+     case "$pathcomp" in
+       -* ) pathcomp=./$pathcomp ;;
+     esac
+
+     if test ! -d "$pathcomp"; then
+	echo "mkdir $pathcomp"
+
+	mkdir "$pathcomp" || lasterr=$?
+
+	if test ! -d "$pathcomp"; then
+	  errstatus=$lasterr
+	else
+	  if test ! -z "$dirmode"; then
+	     echo "chmod $dirmode $pathcomp"
+
+	     lasterr=""
+	     chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+	     if test ! -z "$lasterr"; then
+	       errstatus=$lasterr
+	     fi
+	  fi
+	fi
+     fi
+
+     pathcomp="$pathcomp/"
+   done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 3
+# End:
+# mkinstalldirs ends here
diff --git a/ibdm/config/regex.m4 b/ibdm/config/regex.m4
new file mode 100644
index 0000000..02021a2
--- /dev/null
+++ b/ibdm/config/regex.m4
@@ -0,0 +1,64 @@
+#serial 5
+
+dnl Initially derived from code in GNU grep.
+dnl Mostly written by Jim Meyering.
+dnl Modified by Eiatn Zahavi to test only regcomp and regexec
+
+dnl Usage: IS_INCLUDED_REGEX()
+dnl
+AC_DEFUN([IS_INCLUDED_REGEX],
+  [
+    dnl Even packages that don't use regex.c can use this macro.
+    dnl Of course, for them it doesn't do anything.
+
+    # Assume we'll default to using the included regex.c.
+    ac_use_included_regex=yes
+
+    # However, if the system regex support is good enough that it passes the
+    # the following run test, then default to *not* using the included regex.c.
+    # If cross compiling, assume the test would fail and use the included
+    # regex.c.  The failing regular expression is from `Spencer ere test #75'
+    # in grep-2.3.
+    AC_CACHE_CHECK([for working regcomp and regexec],
+		   ez_cv_func_working_regcomp_regexec,
+      AC_TRY_RUN(
+	changequote(<<, >>)dnl
+	<<
+#include <stdio.h>
+#include <regex.h>
+	  int
+	  main ()
+	  {
+            static regex_t re;
+            static regmatch_t matches[[2]];
+            int s;
+            /* try a simple extended regcomp */
+	    s = regcomp(&re, "^[[a-z]]?[[ \t]]+(.*)", REG_EXTENDED);
+	    /* This should NOT fail */
+            if (s != 0) {
+                exit (1);
+            }
+
+            /* try matching - shoul NOT fail */
+            if (regexec(&re, "g bl_331", 2, matches, 0)) {
+                exit (1);                
+            }
+            exit (0);
+	  }
+	>>,
+	changequote([, ])dnl
+
+	       ez_cv_func_working_regcomp_regexec=yes,
+	       ez_cv_func_working_regcomp_regexec=no,
+	       dnl When crosscompiling, assume it's broken.
+	       ez_cv_func_working_regcomp_regexec=no))
+
+       if test "x$ez_cv_func_working_regcomp_regexec" = xno; then
+	     REGEXP_INCLUDE="-I../replace"
+	     AC_LIBOBJ([regex])
+       fi
+      ],
+    )
+	AC_SUBST(REGEXP_INCLUDE)
+  ]
+)
diff --git a/ibdm/config/swig.m4 b/ibdm/config/swig.m4
new file mode 100644
index 0000000..ba895e6
--- /dev/null
+++ b/ibdm/config/swig.m4
@@ -0,0 +1,93 @@
+dnl This macro checks for the existance of swig and defines the
+dnl corresponding SWIG variable.
+dnl
+dnl Synopsys:
+dnl    MLX_PROG_SWIG(maj.min.patch, eq|lt)
+dnl The second parameter defines the required relation of the found version
+dnl to the requested version:
+dnl lt - the found version required to be newer or equal to the maj.min.patch
+dnl eq - the found version required to be equal to the maj.min.patch
+dnl
+dnl Result:
+dnl    HAS_SWIG conditional - set to 1 if swig was found or 0 if not
+dnl    SWIG - the executable name
+dnl
+AC_DEFUN([MLX_PROG_SWIG],[
+   AC_PATH_PROG([SWIG],[swig])
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "$1" ; then
+      AC_MSG_CHECKING([for SWIG version])
+      [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+      AC_MSG_RESULT([$swig_version])
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         [required=$1]
+         [required_major=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_major" ; then
+            [required_major=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_minor=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_minor" ; then
+            [required_minor=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_patch=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_patch" ; then
+            [required_patch=0]
+         fi
+         # Calculate the available version number components
+         [available=`echo $swig_version | sed 's/[^0-9]*//'`]
+         [available_major=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_major" ; then
+            [available_major=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_minor=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_minor" ; then
+            [available_minor=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `]
+         if test -z "$available_patch" ; then
+            [available_patch=0]
+         fi
+         # we have two modes of comparison...
+         if test x"$2" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               AC_MSG_WARN([SWIG version == $1 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org ])
+               SWIG='echo "Error: SWIG version == $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.  You should look at http://www.swig.org])
+               SWIG='echo "Error: SWIG version >= $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         AC_MSG_WARN([cannot determine SWIG version])
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+        dnl AC_MSG_INFO([SWIG executable is '$SWIG'])
+        SWIG_LIB=`$SWIG -swiglib`
+        dnl AC_MSG_INFO([SWIG runtime library directory is '$SWIG_LIB'])
+        AM_CONDITIONAL(HAS_SWIG,[test 1])
+   else
+        AM_CONDITIONAL(HAS_SWIG,[test 0])
+   fi
+   AC_SUBST([SWIG_LIB])
+])
diff --git a/ibdm/config/tcl.m4 b/ibdm/config/tcl.m4
new file mode 100644
index 0000000..1565d25
--- /dev/null
+++ b/ibdm/config/tcl.m4
@@ -0,0 +1,191 @@
+
+dnl tcl.m4: an autoconf Tcl locator
+dnl
+dnl
+dnl BUGS
+dnl   The command-line arguments are overcomplicated.
+dnl   There are doubtlessly others...
+
+dnl To use this macro, just do MLX_LANG_TCL.  It outputs
+dnl TCL_LIBS, TCL_CPPFLAGS, and TCL_DEFS and SUBSTs them.
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_tcl has the value "no".
+
+AC_DEFUN([MLX_LANG_TCL], [
+# --- BEGIN MLX_LANG_TCL ---
+dnl To link against Tcl, configure does several things to make my life
+dnl "easier".
+dnl
+dnl * maybe ask the user where they think Tcl lives, and try to find it
+dnl * maybe ask the user what "tclsh" is called this week (i.e., "tclsh8.0")
+dnl * run tclsh, ask it for a path, then run that path through sed
+dnl * sanity check its result (many installs are a little broken)
+dnl * try to figure out where Tcl is based on this result
+dnl * try to guess where the Tcl include files are
+dnl
+dnl Notes from previous incarnations:
+dnl > XXX MUST CHECK FOR TCL BEFORE KERBEROS V4 XXX
+dnl > This is because some genius at MIT named one of the Kerberos v4
+dnl > library functions log().  This of course conflicts with the
+dnl > logarithm function in the standard math library, used by Tcl.
+dnl
+dnl > Checking for Tcl first puts -lm before -lkrb on the library list.
+dnl
+
+dnl do not do anything if we are in disabled libcheck mode...
+if test "x$libcheck" = "xtrue"; then
+
+   dnl Check for some information from the user on what the world looks like
+   AC_ARG_WITH(tclconfig,[  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)],
+           dnl trim tclConfig.sh off the end so we can add it back on later.
+   	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`)
+   AC_ARG_WITH(tcl,      [  --with-tcl=PATH         use Tcl from PATH],
+   	TclLibBase="${withval}/lib")
+   AC_ARG_WITH(tclsh,    [  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)],
+   	TCLSH="${withval}")
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     AC_MSG_WARN([Tcl disabled because tclsh or tclconfig specified as "no"])
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       AC_MSG_ERROR([--with-tclconfig requires a directory argument.])
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       AC_MSG_ERROR([--with-tclsh must specify an executable file.])
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         AC_PATH_PROGS(TCLSH, [tclsh tclsh8.3 tclsh8.4], "unknown")
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         AC_MSG_CHECKING([where Tcl says it lives])
+         dnl to avoid .tclshrc issues use from a file...
+         echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,[^/]*$,,'`
+         rm /tmp/tcl.conf.$$
+          AC_MSG_RESULT($TclLibBase)
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       AC_MSG_RESULT([can't find tclsh])
+       AC_MSG_WARN([can't find Tcl installtion; use of Tcl disabled.])
+       with_tcl=no
+     else
+       AC_MSG_CHECKING([for tclConfig.sh])
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         AC_MSG_RESULT("unknown")
+         AC_MSG_WARN([can't find Tcl configuration; use of Tcl disabled.])
+         with_tcl=no
+       else
+         AC_MSG_RESULT(${TclLibBase}/)
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         AC_MSG_CHECKING([Tcl configuration on what Tcl needs to compile])
+         . ${TclLibBase}/tclConfig.sh
+         AC_MSG_RESULT(ok)
+         dnl no TK stuff for us.
+         dnl . ${TclLibBase}/tkConfig.sh
+       fi
+
+       dnl We hack the provided TCL_LIB_SPEC since it is using the /usr/lib even
+       dnl if the build was using lib64
+       if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         dnl Now, hunt for the Tcl include files, since we don't strictly
+         dnl know where they are; some folks put them (properly) in the
+         dnl default include path, or maybe in /usr/local; the *BSD folks
+         dnl put them in other places.
+         AC_MSG_CHECKING([where Tcl includes are])
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           AC_MSG_WARN(can't find Tcl includes; use of Tcl disabled.)
+           with_tcl=no
+         fi
+         AC_MSG_RESULT(${TCL_CPPFLAGS})
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+         dnl TCL_LIBS="${TK_LIB_SPEC} ${TK_XLIBSW} ${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC}"
+         dnl we are using libtool so need to convert to -rpath if at all
+         TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+         dnl sometimes we got empty libs: use TCL_LIB_FILE
+         if test X"$TCL_LIBS" = X; then
+           dnl extract the lib style name...
+           TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([[^ \t]]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+         dnl sometimes we got empty libs: use TCL_LIB_SPEC
+         if test X"$TCL_LIB_SPEC" = X; then
+           dnl extract the lib style name...
+           TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+         dnl Filter out the ieee - I do not see a shared version for it.
+         TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+dnl disbled libcheck mode - we do not need anything...
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+AC_SUBST(TCL_DEFS)
+AC_SUBST(TCL_LIBS)
+AC_SUBST(TCL_CPPFLAGS)
+AC_SUBST(TCL_PREFIX)
+
+# --- END MLX_LANG_TCL ---
+]) dnl MLX_LANG_TCL
+
diff --git a/ibdm/config/ylwrap b/ibdm/config/ylwrap
new file mode 100755
index 0000000..102bd89
--- /dev/null
+++ b/ibdm/config/ylwrap
@@ -0,0 +1,223 @@
+#! /bin/sh
+# ylwrap - wrapper for lex/yacc invocations.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+#
+# Written by Tom Tromey <tromey at cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+case "$1" in
+  '')
+    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    exit 1
+    ;;
+  --basedir)
+    basedir=$2
+    shift 2
+    ;;
+  -h|--h*)
+    cat <<\EOF
+Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
+
+Wrapper for lex/yacc invocations, renaming files as desired.
+
+  INPUT is the input file
+  OUTPUT is one file PROG generates
+  DESIRED is the file we actually want instead of OUTPUT
+  PROGRAM is program to run
+  ARGS are passed to PROG
+
+Any number of OUTPUT,DESIRED pairs may be used.
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v|--v*)
+    echo "ylwrap $scriptversion"
+    exit $?
+    ;;
+esac
+
+
+# The input.
+input="$1"
+shift
+case "$input" in
+  [\\/]* | ?:[\\/]*)
+    # Absolute path; do nothing.
+    ;;
+  *)
+    # Relative path.  Make it absolute.
+    input="`pwd`/$input"
+    ;;
+esac
+
+pairlist=
+while test "$#" -ne 0; do
+  if test "$1" = "--"; then
+    shift
+    break
+  fi
+  pairlist="$pairlist $1"
+  shift
+done
+
+# The program to run.
+prog="$1"
+shift
+# Make any relative path in $prog absolute.
+case "$prog" in
+  [\\/]* | ?:[\\/]*) ;;
+  *[\\/]*) prog="`pwd`/$prog" ;;
+esac
+
+# FIXME: add hostname here for parallel makes that run commands on
+# other machines.  But that might take us over the 14-char limit.
+dirname=ylwrap$$
+trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
+mkdir $dirname || exit 1
+
+cd $dirname
+
+case $# in
+  0) $prog "$input" ;;
+  *) $prog "$@" "$input" ;;
+esac
+ret=$?
+
+if test $ret -eq 0; then
+  set X $pairlist
+  shift
+  first=yes
+  # Since DOS filename conventions don't allow two dots,
+  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
+  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
+  y_tab_nodot="no"
+  if test -f y_tab.c || test -f y_tab.h; then
+    y_tab_nodot="yes"
+  fi
+
+  # The directory holding the input.
+  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
+  # Quote $INPUT_DIR so we can use it in a regexp.
+  # FIXME: really we should care about more than `.' and `\'.
+  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
+
+  while test "$#" -ne 0; do
+    from="$1"
+    # Handle y_tab.c and y_tab.h output by DOS
+    if test $y_tab_nodot = "yes"; then
+      if test $from = "y.tab.c"; then
+    	from="y_tab.c"
+      else
+    	if test $from = "y.tab.h"; then
+    	  from="y_tab.h"
+    	fi
+      fi
+    fi
+    if test -f "$from"; then
+      # If $2 is an absolute path name, then just use that,
+      # otherwise prepend `../'.
+      case "$2" in
+    	[\\/]* | ?:[\\/]*) target="$2";;
+    	*) target="../$2";;
+      esac
+
+      # We do not want to overwrite a header file if it hasn't
+      # changed.  This avoid useless recompilations.  However the
+      # parser itself (the first file) should always be updated,
+      # because it is the destination of the .y.c rule in the
+      # Makefile.  Divert the output of all other files to a temporary
+      # file so we can compare them to existing versions.
+      if test $first = no; then
+	realtarget="$target"
+	target="tmp-`echo $target | sed s/.*[\\/]//g`"
+      fi
+      # Edit out `#line' or `#' directives.
+      #
+      # We don't want the resulting debug information to point at
+      # an absolute srcdir; it is better for it to just mention the
+      # .y file with no path.
+      #
+      # We want to use the real output file name, not yy.lex.c for
+      # instance.
+      #
+      # We want the include guards to be adjusted too.
+      FROM=`echo "$from" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+      TARGET=`echo "$2" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+
+      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
+          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
+
+      # Check whether header files must be updated.
+      if test $first = no; then
+	if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
+	  echo "$2" is unchanged
+	  rm -f "$target"
+	else
+          echo updating "$2"
+          mv -f "$target" "$realtarget"
+        fi
+      fi
+    else
+      # A missing file is only an error for the first file.  This
+      # is a blatant hack to let us support using "yacc -d".  If -d
+      # is not specified, we don't want an error when the header
+      # file is "missing".
+      if test $first = yes; then
+        ret=1
+      fi
+    fi
+    shift
+    shift
+    first=no
+  done
+else
+  ret=$?
+fi
+
+# Remove the directory.
+cd ..
+rm -rf $dirname
+
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibdm/configure b/ibdm/configure
new file mode 100755
index 0000000..21bacf6
--- /dev/null
+++ b/ibdm/configure
@@ -0,0 +1,21653 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "$0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+tagnames=${tagnames+${tagnames},}CXX
+
+tagnames=${tagnames+${tagnames},}F77
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="ibdm/Fabric.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='REGEXP_INCLUDE SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP  [...]
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CXX_set=${CXX+set}
+ac_env_CXX_value=$CXX
+ac_cv_env_CXX_set=${CXX+set}
+ac_cv_env_CXX_value=$CXX
+ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_env_CXXFLAGS_value=$CXXFLAGS
+ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+ac_env_CXXCPP_set=${CXXCPP+set}
+ac_env_CXXCPP_value=$CXXCPP
+ac_cv_env_CXXCPP_set=${CXXCPP+set}
+ac_cv_env_CXXCPP_value=$CXXCPP
+ac_env_F77_set=${F77+set}
+ac_env_F77_value=$F77
+ac_cv_env_F77_set=${F77+set}
+ac_cv_env_F77_value=$F77
+ac_env_FFLAGS_set=${FFLAGS+set}
+ac_env_FFLAGS_value=$FFLAGS
+ac_cv_env_FFLAGS_set=${FFLAGS+set}
+ac_cv_env_FFLAGS_value=$FFLAGS
+
+#
+# Report the --help message.
+#
+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 this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-shared[=PKGS]
+                          build shared libraries [default=yes]
+  --enable-static[=PKGS]
+                          build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-libcheck    Enable Dependency Checking
+  --enable-debug    Turn on debugging
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-tags[=TAGS]
+                          include additional configurations [automatic]
+  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)
+  --with-tcl=PATH         use Tcl from PATH
+  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)
+  --with-final-prefix=<dir>  Let IBDM know it will eventually be moved there
+
+Some influential environment variables:
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  CPP         C preprocessor
+  CXXCPP      C++ preprocessor
+  F77         Fortran 77 compiler command
+  FFLAGS      Fortran 77 compiler flags
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+          ac_config_headers="$ac_config_headers config.h"
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=ibdm
+ VERSION=1.2
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CXX" && break
+done
+test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+
+  CXX=$ac_ct_CXX
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	# FIXME: I believe we export ac_cv_exeext for Libtool,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  export ac_cv_exeext
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cxx_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+          ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CXX"  am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+   # Extract the first word of "swig", so it can be a program name with args.
+set dummy swig; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_SWIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $SWIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+SWIG=$ac_cv_path_SWIG
+
+if test -n "$SWIG"; then
+  echo "$as_me:$LINENO: result: $SWIG" >&5
+echo "${ECHO_T}$SWIG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      { echo "$as_me:$LINENO: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "1.1.5" ; then
+      echo "$as_me:$LINENO: checking for SWIG version" >&5
+echo $ECHO_N "checking for SWIG version... $ECHO_C" >&6
+      swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
+      echo "$as_me:$LINENO: result: $swig_version" >&5
+echo "${ECHO_T}$swig_version" >&6
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         required=1.1.5
+         required_major=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_major" ; then
+            required_major=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_minor=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_minor" ; then
+            required_minor=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_patch=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_patch" ; then
+            required_patch=0
+         fi
+         # Calculate the available version number components
+         available=`echo $swig_version | sed 's/[^0-9]*//'`
+         available_major=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_major" ; then
+            available_major=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_minor=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_minor" ; then
+            available_minor=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `
+         if test -z "$available_patch" ; then
+            available_patch=0
+         fi
+         # we have two modes of comparison...
+         if test x"eq" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&5
+echo "$as_me: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&2;}
+               SWIG='echo "Error: SWIG version == 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&2;}
+               SWIG='echo "Error: SWIG version >= 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         { echo "$as_me:$LINENO: WARNING: cannot determine SWIG version" >&5
+echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+                SWIG_LIB=`$SWIG -swiglib`
+
+
+if test 1; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   else
+
+
+if test 0; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   fi
+
+
+
+for ac_prog in flex lex
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_LEX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$LEX"; then
+  ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LEX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+LEX=$ac_cv_prog_LEX
+if test -n "$LEX"; then
+  echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$LEX" && break
+done
+test -n "$LEX" || LEX=":"
+
+if test -z "$LEXLIB"
+then
+  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
+echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6
+if test "${ac_cv_lib_fl_yywrap+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lfl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char yywrap ();
+int
+main ()
+{
+yywrap ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_fl_yywrap=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_fl_yywrap=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6
+if test $ac_cv_lib_fl_yywrap = yes; then
+  LEXLIB="-lfl"
+else
+  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
+echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6
+if test "${ac_cv_lib_l_yywrap+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ll  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char yywrap ();
+int
+main ()
+{
+yywrap ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_l_yywrap=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_l_yywrap=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6
+if test $ac_cv_lib_l_yywrap = yes; then
+  LEXLIB="-ll"
+fi
+
+fi
+
+fi
+
+if test "x$LEX" != "x:"; then
+  echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6
+if test "${ac_cv_prog_lex_root+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # The minimal lex program is just a single line: %%.  But some broken lexes
+# (Solaris, I think it was) want two %% lines, so accommodate them.
+cat >conftest.l <<_ACEOF
+%%
+%%
+_ACEOF
+{ (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5
+  (eval $LEX conftest.l) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+if test -f lex.yy.c; then
+  ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+  ac_cv_prog_lex_root=lexyy
+else
+  { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
+echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6
+rm -f conftest.l
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
+
+echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6
+if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent. Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
+ac_save_LIBS=$LIBS
+LIBS="$LIBS $LEXLIB"
+cat >conftest.$ac_ext <<_ACEOF
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_lex_yytext_pointer=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
+rm -f "${LEX_OUTPUT_ROOT}.c"
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define YYTEXT_POINTER 1
+_ACEOF
+
+fi
+
+fi
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi
+for ac_prog in 'bison -y' byacc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_YACC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$YACC"; then
+  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_YACC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+YACC=$ac_cv_prog_YACC
+if test -n "$YACC"; then
+  echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi;
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi;
+
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval="$enable_fast_install"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi;
+
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+  ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+  ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+
+fi
+
+SED=$lt_cv_path_SED
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6
+NM="$lt_cv_path_NM"
+
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 4988 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  lt_cv_cc_needs_belf=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+lt_cv_cc_needs_belf=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+fi
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$F77"; then
+  ac_cv_prog_F77="$F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+  echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$F77" && break
+  done
+fi
+if test -z "$F77"; then
+  ac_ct_F77=$F77
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_F77"; then
+  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_F77="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_F77" && break
+done
+
+  F77=$ac_ct_F77
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:5884:" \
+     "checking for Fortran 77 compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file.  (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
+#ifndef __GNUC__
+       choke me
+#endif
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_f77_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_f77_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_f77_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+if test "$ac_test_FFLAGS" = set; then
+  FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-g -O2"
+  else
+    FFLAGS="-g"
+  fi
+else
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-O2"
+  else
+    FFLAGS=
+  fi
+fi
+
+G77=`test $ac_compiler_gnu = yes && echo yes`
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ 	]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+else
+  echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
+fi
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDGIRSTW]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
+else
+  echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+fi
+
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+if test "${lt_cv_objdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6
+objdir=$lt_cv_objdir
+
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  AR=$ac_ct_AR
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  RANLIB=$ac_ct_RANLIB
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+enable_dlopen=no
+enable_win32_dll=no
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+  withval="$with_pic"
+  pic_mode="$withval"
+else
+  pic_mode=default
+fi;
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6945: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:6949: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic='-qnocommon'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7213: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:7217: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
+     else
+       lt_prog_compiler_static_works=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7317: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:7321: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag=
+  enable_shared_with_static_runtimes=no
+  archive_cmds=
+  archive_expsym_cmds=
+  old_archive_From_new_cmds=
+  old_archive_from_expsyms_cmds=
+  export_dynamic_flag_spec=
+  whole_archive_flag_spec=
+  thread_safe_flag_spec=
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_direct=no
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  link_all_deplibs=unknown
+  hardcode_automatic=no
+  module_cmds=
+  module_expsym_cmds=
+  always_export_symbols=no
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs=no
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L=yes
+  	  hardcode_libdir_flag_spec='-L$libdir'
+  	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec='$convenience'
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc=no
+      hardcode_direct=no
+      hardcode_automatic=yes
+      hardcode_shlibpath_var=unsupported
+      whole_archive_flag_spec=''
+      link_all_deplibs=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      link_all_deplibs=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	hardcode_direct=yes
+	export_dynamic_flag_spec='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld='+b $libdir'
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  export_dynamic_flag_spec='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      link_all_deplibs=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    openbsd*)
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+	pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc=no
+        else
+	  archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var" || \
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+   ;;
+
+  *)
+    echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+  lt_cv_dlopen="shl_load"
+else
+  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+int
+main ()
+{
+shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+if test $ac_cv_lib_dld_shl_load = yes; then
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+  echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != dlopen;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+  lt_cv_dlopen="dlopen"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_svld_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+if test $ac_cv_lib_svld_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dld_link ();
+int
+main ()
+{
+dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_dld_link=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+if test $ac_cv_lib_dld_dld_link = yes; then
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9675 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9775 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+# Report which library types will actually be built
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler \
+    CC \
+    LD \
+    lt_prog_compiler_wl \
+    lt_prog_compiler_pic \
+    lt_prog_compiler_static \
+    lt_prog_compiler_no_builtin_flag \
+    export_dynamic_flag_spec \
+    thread_safe_flag_spec \
+    whole_archive_flag_spec \
+    enable_shared_with_static_runtimes \
+    old_archive_cmds \
+    old_archive_from_new_cmds \
+    predep_objects \
+    postdep_objects \
+    predeps \
+    postdeps \
+    compiler_lib_search_path \
+    archive_cmds \
+    archive_expsym_cmds \
+    postinstall_cmds \
+    postuninstall_cmds \
+    old_archive_from_expsyms_cmds \
+    allow_undefined_flag \
+    no_undefined_flag \
+    export_symbols_cmds \
+    hardcode_libdir_flag_spec \
+    hardcode_libdir_flag_spec_ld \
+    hardcode_libdir_separator \
+    hardcode_automatic \
+    module_cmds \
+    module_expsym_cmds \
+    lt_cv_prog_compiler_c_o \
+    exclude_expsyms \
+    include_expsyms; do
+
+    case $var in
+    old_archive_cmds | \
+    old_archive_from_new_cmds | \
+    archive_cmds | \
+    archive_expsym_cmds | \
+    module_cmds | \
+    module_expsym_cmds | \
+    old_archive_from_expsyms_cmds | \
+    export_symbols_cmds | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  { echo "$as_me:$LINENO: creating $ofile" >&5
+echo "$as_me: creating $ofile" >&6;}
+
+  cat <<__EOF__ >> "$cfgfile"
+#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+# Check whether --with-tags or --without-tags was given.
+if test "${with_tags+set}" = set; then
+  withval="$with_tags"
+  tagnames="$withval"
+fi;
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+    else
+      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+    "") ;;
+    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+echo "$as_me: error: invalid tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+compiler_CXX=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+else
+  lt_prog_compiler_no_builtin_flag_CXX=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec_CXX=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+ld_shlibs_CXX=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    archive_cmds_CXX=''
+    hardcode_direct_CXX=yes
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[012]|aix4.[012].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  hardcode_direct_CXX=yes
+	else
+	  # We have old collect2
+	  hardcode_direct_CXX=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L_CXX=yes
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  hardcode_libdir_separator_CXX=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    always_export_symbols_CXX=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      allow_undefined_flag_CXX='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+	allow_undefined_flag_CXX="-z nodefs"
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	no_undefined_flag_CXX=' ${wl}-bernotok'
+	allow_undefined_flag_CXX=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	whole_archive_flag_spec_CXX='$convenience'
+	archive_cmds_need_lc_CXX=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag_CXX=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+    # as there is no search path for DLLs.
+    hardcode_libdir_flag_spec_CXX='-L$libdir'
+    allow_undefined_flag_CXX=unsupported
+    always_export_symbols_CXX=no
+    enable_shared_with_static_runtimes_CXX=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      archive_cmds_need_lc_CXX=no
+      hardcode_direct_CXX=no
+      hardcode_automatic_CXX=yes
+      hardcode_shlibpath_var_CXX=unsupported
+      whole_archive_flag_spec_CXX=''
+      link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_CXX=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  freebsd[12]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    ld_shlibs_CXX=no
+    ;;
+  freebsd-elf*)
+    archive_cmds_need_lc_CXX=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    ld_shlibs_CXX=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    hardcode_direct_CXX=yes
+    hardcode_minus_L_CXX=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      ld_shlibs_CXX=no
+      ;;
+    aCC*)
+      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_CXX=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+        ;;
+      *)
+	export_dynamic_flag_spec_CXX='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      hardcode_direct_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      ;;
+    *)
+      hardcode_direct_CXX=yes
+      hardcode_minus_L_CXX=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    hardcode_direct_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	link_all_deplibs_CXX=yes
+	;;
+    esac
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	archive_cmds_need_lc_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      hardcode_libdir_flag_spec_CXX='-R$libdir'
+      hardcode_direct_CXX=yes
+      hardcode_shlibpath_var_CXX=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    ld_shlibs_CXX=no
+    ;;
+  openbsd*)
+    hardcode_direct_CXX=yes
+    hardcode_shlibpath_var_CXX=no
+    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      export_dynamic_flag_spec_CXX='${wl}-E'
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	  archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' -expect_unresolved \*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        archive_cmds_need_lc_CXX=yes
+	no_undefined_flag_CXX=' -zdefs'
+	archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-R$libdir'
+	hardcode_shlibpath_var_CXX=no
+	case $host_os in
+	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	link_all_deplibs_CXX=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+    no_undefined_flag_CXX='${wl}-z,text'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    no_undefined_flag_CXX='${wl}-z,text'
+    allow_undefined_flag_CXX='${wl}-z,nodefs'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+    export_dynamic_flag_spec_CXX='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+esac
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+GCC_CXX="$GXX"
+LD_CXX="$LD"
+
+
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$compiler_lib_search_path_CXX"; then
+	     compiler_lib_search_path_CXX="${prev}${p}"
+	   else
+	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$postdeps_CXX"; then
+	   postdeps_CXX="${prev}${p}"
+	 else
+	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$predep_objects_CXX"; then
+	   predep_objects_CXX="$p"
+	 else
+	   predep_objects_CXX="$predep_objects_CXX $p"
+	 fi
+       else
+	 if test -z "$postdep_objects_CXX"; then
+	   postdep_objects_CXX="$p"
+	 else
+	   postdep_objects_CXX="$postdep_objects_CXX $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    postdeps_CXX='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+
+lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	lt_prog_compiler_pic_CXX='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  lt_prog_compiler_static_CXX='-Bstatic'
+	else
+	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           lt_prog_compiler_pic_CXX='-qnocommon'
+           lt_prog_compiler_wl_CXX='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      lt_prog_compiler_pic_CXX='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      lt_prog_compiler_pic_CXX='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fpic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    lt_prog_compiler_pic_CXX='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    lt_prog_compiler_wl_CXX='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    lt_prog_compiler_pic_CXX='-pic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	lt_prog_compiler_can_build_shared_CXX=no
+	;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_CXX=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:12113: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:12117: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+
+if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:12217: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:12221: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    export_symbols_cmds_CXX="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    link_all_deplibs_CXX=no
+  ;;
+  linux*)
+    link_all_deplibs_CXX=no
+  ;;
+  *)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_CXX
+	pic_flag=$lt_prog_compiler_pic_CXX
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+        allow_undefined_flag_CXX=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_CXX=no
+        else
+	  archive_cmds_need_lc_CXX=yes
+        fi
+        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+   test -n "$runpath_var_CXX" || \
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6
+
+if test "$hardcode_action_CXX" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_CXX \
+    CC_CXX \
+    LD_CXX \
+    lt_prog_compiler_wl_CXX \
+    lt_prog_compiler_pic_CXX \
+    lt_prog_compiler_static_CXX \
+    lt_prog_compiler_no_builtin_flag_CXX \
+    export_dynamic_flag_spec_CXX \
+    thread_safe_flag_spec_CXX \
+    whole_archive_flag_spec_CXX \
+    enable_shared_with_static_runtimes_CXX \
+    old_archive_cmds_CXX \
+    old_archive_from_new_cmds_CXX \
+    predep_objects_CXX \
+    postdep_objects_CXX \
+    predeps_CXX \
+    postdeps_CXX \
+    compiler_lib_search_path_CXX \
+    archive_cmds_CXX \
+    archive_expsym_cmds_CXX \
+    postinstall_cmds_CXX \
+    postuninstall_cmds_CXX \
+    old_archive_from_expsyms_cmds_CXX \
+    allow_undefined_flag_CXX \
+    no_undefined_flag_CXX \
+    export_symbols_cmds_CXX \
+    hardcode_libdir_flag_spec_CXX \
+    hardcode_libdir_flag_spec_ld_CXX \
+    hardcode_libdir_separator_CXX \
+    hardcode_automatic_CXX \
+    module_cmds_CXX \
+    module_expsym_cmds_CXX \
+    lt_cv_prog_compiler_c_o_CXX \
+    exclude_expsyms_CXX \
+    include_expsyms_CXX; do
+
+    case $var in
+    old_archive_cmds_CXX | \
+    old_archive_from_new_cmds_CXX | \
+    archive_cmds_CXX | \
+    archive_expsym_cmds_CXX | \
+    module_cmds_CXX | \
+    module_expsym_cmds_CXX | \
+    old_archive_from_expsyms_cmds_CXX | \
+    export_symbols_cmds_CXX | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+
+
+archive_cmds_need_lc_F77=no
+allow_undefined_flag_F77=
+always_export_symbols_F77=no
+archive_expsym_cmds_F77=
+export_dynamic_flag_spec_F77=
+hardcode_direct_F77=no
+hardcode_libdir_flag_spec_F77=
+hardcode_libdir_flag_spec_ld_F77=
+hardcode_libdir_separator_F77=
+hardcode_minus_L_F77=no
+hardcode_automatic_F77=no
+module_cmds_F77=
+module_expsym_cmds_F77=
+link_all_deplibs_F77=unknown
+old_archive_cmds_F77=$old_archive_cmds
+no_undefined_flag_F77=
+whole_archive_flag_spec_F77=
+enable_shared_with_static_runtimes_F77=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+objext_F77=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+compiler_F77=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+GCC_F77="$G77"
+LD_F77="$LD"
+
+lt_prog_compiler_wl_F77=
+lt_prog_compiler_pic_F77=
+lt_prog_compiler_static_F77=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_F77='-Wl,'
+    lt_prog_compiler_static_F77='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_F77='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_F77=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_F77=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_F77='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      else
+	lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_F77='-qnocommon'
+         lt_prog_compiler_wl_F77='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-KPIC'
+	lt_prog_compiler_static_F77='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-fpic'
+	lt_prog_compiler_static_F77='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_F77='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_F77='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_F77='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_F77='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_F77='-Qoption ld '
+      lt_prog_compiler_pic_F77='-PIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_F77='-Kconform_pic'
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_F77='-pic'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_F77"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_F77=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_F77"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13805: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:13809: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+
+if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+    case $lt_prog_compiler_pic_F77 in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+     esac
+else
+    lt_prog_compiler_pic_F77=
+     lt_prog_compiler_can_build_shared_F77=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_F77=
+    ;;
+  *)
+    lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_F77=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_F77=yes
+       fi
+     else
+       lt_prog_compiler_static_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+    :
+else
+    lt_prog_compiler_static_F77=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_F77=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13909: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:13913: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_F77=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_F77=
+  enable_shared_with_static_runtimes_F77=no
+  archive_cmds_F77=
+  archive_expsym_cmds_F77=
+  old_archive_From_new_cmds_F77=
+  old_archive_from_expsyms_cmds_F77=
+  export_dynamic_flag_spec_F77=
+  whole_archive_flag_spec_F77=
+  thread_safe_flag_spec_F77=
+  hardcode_libdir_flag_spec_F77=
+  hardcode_libdir_flag_spec_ld_F77=
+  hardcode_libdir_separator_F77=
+  hardcode_direct_F77=no
+  hardcode_minus_L_F77=no
+  hardcode_shlibpath_var_F77=unsupported
+  link_all_deplibs_F77=unknown
+  hardcode_automatic_F77=no
+  module_cmds_F77=
+  module_expsym_cmds_F77=
+  always_export_symbols_F77=no
+  export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_F77=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_F77=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_F77=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_F77=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_F77=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=no
+      enable_shared_with_static_runtimes_F77=yes
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_F77='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_F77=no
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_F77=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_F77=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_F77" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_F77=
+      export_dynamic_flag_spec_F77=
+      whole_archive_flag_spec_F77=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=yes
+      archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_F77=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_F77=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_F77=''
+      hardcode_direct_F77=yes
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_F77=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_F77=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_F77=yes
+  	  hardcode_libdir_flag_spec_F77='-L$libdir'
+  	  hardcode_libdir_separator_F77=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_F77=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_F77='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_F77="-z nodefs"
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_F77=' ${wl}-bernotok'
+	  allow_undefined_flag_F77=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_F77='$convenience'
+	  archive_cmds_need_lc_F77=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_F77=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_F77=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_F77=' '
+      allow_undefined_flag_F77=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_F77='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_F77=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_F77=no
+      hardcode_direct_F77=no
+      hardcode_automatic_F77=yes
+      hardcode_shlibpath_var_F77=unsupported
+      whole_archive_flag_spec_F77=''
+      link_all_deplibs_F77=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_F77=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_F77=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      link_all_deplibs_F77=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_direct_F77=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	hardcode_direct_F77=yes
+	export_dynamic_flag_spec_F77='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_F77=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+	  hardcode_direct_F77=no
+	  hardcode_shlibpath_var_F77=no
+	  ;;
+	*)
+	  hardcode_direct_F77=yes
+	  export_dynamic_flag_spec_F77='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_F77=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      link_all_deplibs_F77=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    newsos6)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_F77='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_F77='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      allow_undefined_flag_F77=unsupported
+      archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_F77=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_shlibpath_var_F77=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_F77=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_F77='$CC -r -o $output$reload_objs'
+	  hardcode_direct_F77=no
+        ;;
+	motorola)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_F77=no
+      export_dynamic_flag_spec_F77='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_F77=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_F77=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_F77='${wl}-z,text'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_F77='${wl}-z,text'
+      allow_undefined_flag_F77='${wl}-z,nodefs'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      ld_shlibs_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_F77" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_F77=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_F77 in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_F77
+	pic_flag=$lt_prog_compiler_pic_F77
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+        allow_undefined_flag_F77=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_F77=no
+        else
+	  archive_cmds_need_lc_F77=yes
+        fi
+        allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+   test -n "$runpath_var_F77" || \
+   test "X$hardcode_automatic_F77" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_F77" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+     test "$hardcode_minus_L_F77" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_F77=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_F77=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_F77=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6
+
+if test "$hardcode_action_F77" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_F77 \
+    CC_F77 \
+    LD_F77 \
+    lt_prog_compiler_wl_F77 \
+    lt_prog_compiler_pic_F77 \
+    lt_prog_compiler_static_F77 \
+    lt_prog_compiler_no_builtin_flag_F77 \
+    export_dynamic_flag_spec_F77 \
+    thread_safe_flag_spec_F77 \
+    whole_archive_flag_spec_F77 \
+    enable_shared_with_static_runtimes_F77 \
+    old_archive_cmds_F77 \
+    old_archive_from_new_cmds_F77 \
+    predep_objects_F77 \
+    postdep_objects_F77 \
+    predeps_F77 \
+    postdeps_F77 \
+    compiler_lib_search_path_F77 \
+    archive_cmds_F77 \
+    archive_expsym_cmds_F77 \
+    postinstall_cmds_F77 \
+    postuninstall_cmds_F77 \
+    old_archive_from_expsyms_cmds_F77 \
+    allow_undefined_flag_F77 \
+    no_undefined_flag_F77 \
+    export_symbols_cmds_F77 \
+    hardcode_libdir_flag_spec_F77 \
+    hardcode_libdir_flag_spec_ld_F77 \
+    hardcode_libdir_separator_F77 \
+    hardcode_automatic_F77 \
+    module_cmds_F77 \
+    module_expsym_cmds_F77 \
+    lt_cv_prog_compiler_c_o_F77 \
+    exclude_expsyms_F77 \
+    include_expsyms_F77; do
+
+    case $var in
+    old_archive_cmds_F77 | \
+    old_archive_from_new_cmds_F77 | \
+    archive_cmds_F77 | \
+    archive_expsym_cmds_F77 | \
+    module_cmds_F77 | \
+    module_expsym_cmds_F77 | \
+    old_archive_from_expsyms_cmds_F77 | \
+    export_symbols_cmds_F77 | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_F77
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_F77
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_F77
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_F77
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_F77
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_F77
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_F77
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_F77
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_F77
+archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_F77
+module_expsym_cmds=$lt_module_expsym_cmds_F77
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_F77
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_F77
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_F77
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_F77
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_F77
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_F77
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_F77
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_F77
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_F77
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_F77"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_F77
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_F77
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_F77
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_F77
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+objext_GCJ=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+archive_cmds_need_lc_GCJ=no
+
+old_archive_cmds_GCJ=$old_archive_cmds
+
+
+lt_prog_compiler_no_builtin_flag_GCJ=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16132: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:16136: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl_GCJ=
+lt_prog_compiler_pic_GCJ=
+lt_prog_compiler_static_GCJ=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_GCJ='-Wl,'
+    lt_prog_compiler_static_GCJ='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_GCJ='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_GCJ=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_GCJ=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_GCJ='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      else
+	lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_GCJ='-qnocommon'
+         lt_prog_compiler_wl_GCJ='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-KPIC'
+	lt_prog_compiler_static_GCJ='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-fpic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_GCJ='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_GCJ='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_GCJ='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_GCJ='-Qoption ld '
+      lt_prog_compiler_pic_GCJ='-PIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_GCJ='-Kconform_pic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_GCJ='-pic'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_GCJ"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_GCJ=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16400: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:16404: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+    case $lt_prog_compiler_pic_GCJ in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+     esac
+else
+    lt_prog_compiler_pic_GCJ=
+     lt_prog_compiler_can_build_shared_GCJ=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_GCJ=
+    ;;
+  *)
+    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_GCJ=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_GCJ=yes
+       fi
+     else
+       lt_prog_compiler_static_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+    :
+else
+    lt_prog_compiler_static_GCJ=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_GCJ=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16504: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:16508: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_GCJ=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_GCJ=
+  enable_shared_with_static_runtimes_GCJ=no
+  archive_cmds_GCJ=
+  archive_expsym_cmds_GCJ=
+  old_archive_From_new_cmds_GCJ=
+  old_archive_from_expsyms_cmds_GCJ=
+  export_dynamic_flag_spec_GCJ=
+  whole_archive_flag_spec_GCJ=
+  thread_safe_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_ld_GCJ=
+  hardcode_libdir_separator_GCJ=
+  hardcode_direct_GCJ=no
+  hardcode_minus_L_GCJ=no
+  hardcode_shlibpath_var_GCJ=unsupported
+  link_all_deplibs_GCJ=unknown
+  hardcode_automatic_GCJ=no
+  module_cmds_GCJ=
+  module_expsym_cmds_GCJ=
+  always_export_symbols_GCJ=no
+  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_GCJ=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_GCJ=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_GCJ=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_GCJ=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_GCJ=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=no
+      enable_shared_with_static_runtimes_GCJ=yes
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_GCJ=no
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_GCJ=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_GCJ=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_GCJ" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_GCJ=
+      export_dynamic_flag_spec_GCJ=
+      whole_archive_flag_spec_GCJ=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=yes
+      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_GCJ=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_GCJ=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_GCJ=''
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_GCJ=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_GCJ=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_GCJ=yes
+  	  hardcode_libdir_flag_spec_GCJ='-L$libdir'
+  	  hardcode_libdir_separator_GCJ=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_GCJ=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_GCJ='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_GCJ="-z nodefs"
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_GCJ=' ${wl}-bernotok'
+	  allow_undefined_flag_GCJ=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_GCJ='$convenience'
+	  archive_cmds_need_lc_GCJ=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_GCJ=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_GCJ=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ=' '
+      allow_undefined_flag_GCJ=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_GCJ='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_GCJ=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_GCJ=no
+      hardcode_direct_GCJ=no
+      hardcode_automatic_GCJ=yes
+      hardcode_shlibpath_var_GCJ=unsupported
+      whole_archive_flag_spec_GCJ=''
+      link_all_deplibs_GCJ=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_GCJ=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_GCJ=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      link_all_deplibs_GCJ=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_direct_GCJ=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	hardcode_direct_GCJ=yes
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_GCJ=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+	  hardcode_direct_GCJ=no
+	  hardcode_shlibpath_var_GCJ=no
+	  ;;
+	*)
+	  hardcode_direct_GCJ=yes
+	  export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_GCJ=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    newsos6)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      allow_undefined_flag_GCJ=unsupported
+      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_GCJ=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+	  hardcode_direct_GCJ=no
+        ;;
+	motorola)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_GCJ=no
+      export_dynamic_flag_spec_GCJ='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_GCJ=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_GCJ=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_GCJ='${wl}-z,text'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_GCJ='${wl}-z,text'
+      allow_undefined_flag_GCJ='${wl}-z,nodefs'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      ld_shlibs_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+test "$ld_shlibs_GCJ" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_GCJ" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_GCJ=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_GCJ in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_GCJ
+	pic_flag=$lt_prog_compiler_pic_GCJ
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+        allow_undefined_flag_GCJ=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_GCJ=no
+        else
+	  archive_cmds_need_lc_GCJ=yes
+        fi
+        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+   test -n "$runpath_var_GCJ" || \
+   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_GCJ" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+     test "$hardcode_minus_L_GCJ" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_GCJ=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_GCJ=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_GCJ=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6
+
+if test "$hardcode_action_GCJ" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_GCJ \
+    CC_GCJ \
+    LD_GCJ \
+    lt_prog_compiler_wl_GCJ \
+    lt_prog_compiler_pic_GCJ \
+    lt_prog_compiler_static_GCJ \
+    lt_prog_compiler_no_builtin_flag_GCJ \
+    export_dynamic_flag_spec_GCJ \
+    thread_safe_flag_spec_GCJ \
+    whole_archive_flag_spec_GCJ \
+    enable_shared_with_static_runtimes_GCJ \
+    old_archive_cmds_GCJ \
+    old_archive_from_new_cmds_GCJ \
+    predep_objects_GCJ \
+    postdep_objects_GCJ \
+    predeps_GCJ \
+    postdeps_GCJ \
+    compiler_lib_search_path_GCJ \
+    archive_cmds_GCJ \
+    archive_expsym_cmds_GCJ \
+    postinstall_cmds_GCJ \
+    postuninstall_cmds_GCJ \
+    old_archive_from_expsyms_cmds_GCJ \
+    allow_undefined_flag_GCJ \
+    no_undefined_flag_GCJ \
+    export_symbols_cmds_GCJ \
+    hardcode_libdir_flag_spec_GCJ \
+    hardcode_libdir_flag_spec_ld_GCJ \
+    hardcode_libdir_separator_GCJ \
+    hardcode_automatic_GCJ \
+    module_cmds_GCJ \
+    module_expsym_cmds_GCJ \
+    lt_cv_prog_compiler_c_o_GCJ \
+    exclude_expsyms_GCJ \
+    include_expsyms_GCJ; do
+
+    case $var in
+    old_archive_cmds_GCJ | \
+    old_archive_from_new_cmds_GCJ | \
+    archive_cmds_GCJ | \
+    archive_expsym_cmds_GCJ | \
+    module_cmds_GCJ | \
+    module_expsym_cmds_GCJ | \
+    old_archive_from_expsyms_cmds_GCJ | \
+    export_symbols_cmds_GCJ | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_GCJ
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_GCJ
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_GCJ
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_GCJ
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_GCJ
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_GCJ
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_GCJ
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_GCJ
+archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_GCJ
+module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_GCJ
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_GCJ
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_GCJ
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_GCJ
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_GCJ
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_GCJ
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_GCJ
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_GCJ
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_GCJ"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_GCJ
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_GCJ
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_GCJ
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+
+
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+objext_RC=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+compiler_RC=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+lt_cv_prog_compiler_c_o_RC=yes
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_RC \
+    CC_RC \
+    LD_RC \
+    lt_prog_compiler_wl_RC \
+    lt_prog_compiler_pic_RC \
+    lt_prog_compiler_static_RC \
+    lt_prog_compiler_no_builtin_flag_RC \
+    export_dynamic_flag_spec_RC \
+    thread_safe_flag_spec_RC \
+    whole_archive_flag_spec_RC \
+    enable_shared_with_static_runtimes_RC \
+    old_archive_cmds_RC \
+    old_archive_from_new_cmds_RC \
+    predep_objects_RC \
+    postdep_objects_RC \
+    predeps_RC \
+    postdeps_RC \
+    compiler_lib_search_path_RC \
+    archive_cmds_RC \
+    archive_expsym_cmds_RC \
+    postinstall_cmds_RC \
+    postuninstall_cmds_RC \
+    old_archive_from_expsyms_cmds_RC \
+    allow_undefined_flag_RC \
+    no_undefined_flag_RC \
+    export_symbols_cmds_RC \
+    hardcode_libdir_flag_spec_RC \
+    hardcode_libdir_flag_spec_ld_RC \
+    hardcode_libdir_separator_RC \
+    hardcode_automatic_RC \
+    module_cmds_RC \
+    module_expsym_cmds_RC \
+    lt_cv_prog_compiler_c_o_RC \
+    exclude_expsyms_RC \
+    include_expsyms_RC; do
+
+    case $var in
+    old_archive_cmds_RC | \
+    old_archive_from_new_cmds_RC | \
+    archive_cmds_RC | \
+    archive_expsym_cmds_RC | \
+    module_cmds_RC | \
+    module_expsym_cmds_RC | \
+    old_archive_from_expsyms_cmds_RC | \
+    export_symbols_cmds_RC | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_RC
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_RC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_RC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_RC
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_RC
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_RC
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_RC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_RC
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_RC
+archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_RC
+module_expsym_cmds=$lt_module_expsym_cmds_RC
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_RC
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_RC
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_RC
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_RC
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_RC
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_RC
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_RC
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_RC
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_RC
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_RC"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_RC
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_RC
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_RC
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_RC
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	;;
+
+      *)
+	{ { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Prevent multiple expansion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libcheck or --disable-libcheck was given.
+if test "${enable_libcheck+set}" = set; then
+  enableval="$enable_libcheck"
+  case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libcheck" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-libcheck" >&2;}
+   { (exit 1); exit 1; }; } ;; esac
+else
+  libcheck=true
+fi;
+
+
+# --- BEGIN MLX_LANG_TCL ---
+
+if test "x$libcheck" = "xtrue"; then
+
+
+# Check whether --with-tclconfig or --without-tclconfig was given.
+if test "${with_tclconfig+set}" = set; then
+  withval="$with_tclconfig"
+     	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`
+fi;
+
+# Check whether --with-tcl or --without-tcl was given.
+if test "${with_tcl+set}" = set; then
+  withval="$with_tcl"
+  TclLibBase="${withval}/lib"
+fi;
+
+# Check whether --with-tclsh or --without-tclsh was given.
+if test "${with_tclsh+set}" = set; then
+  withval="$with_tclsh"
+  TCLSH="${withval}"
+fi;
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     { echo "$as_me:$LINENO: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&5
+echo "$as_me: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&2;}
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclconfig requires a directory argument." >&5
+echo "$as_me: error: --with-tclconfig requires a directory argument." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclsh must specify an executable file." >&5
+echo "$as_me: error: --with-tclsh must specify an executable file." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         for ac_prog in tclsh tclsh8.3 tclsh8.4
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_TCLSH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $TCLSH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_TCLSH="$TCLSH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_TCLSH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+TCLSH=$ac_cv_path_TCLSH
+
+if test -n "$TCLSH"; then
+  echo "$as_me:$LINENO: result: $TCLSH" >&5
+echo "${ECHO_T}$TCLSH" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$TCLSH" && break
+done
+test -n "$TCLSH" || TCLSH=""unknown""
+
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         echo "$as_me:$LINENO: checking where Tcl says it lives" >&5
+echo $ECHO_N "checking where Tcl says it lives... $ECHO_C" >&6
+                  echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,^/*$,,'`
+         rm /tmp/tcl.conf.$$
+          echo "$as_me:$LINENO: result: $TclLibBase" >&5
+echo "${ECHO_T}$TclLibBase" >&6
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       echo "$as_me:$LINENO: result: can't find tclsh" >&5
+echo "${ECHO_T}can't find tclsh" >&6
+       { echo "$as_me:$LINENO: WARNING: can't find Tcl installtion; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl installtion; use of Tcl disabled." >&2;}
+       with_tcl=no
+     else
+       echo "$as_me:$LINENO: checking for tclConfig.sh" >&5
+echo $ECHO_N "checking for tclConfig.sh... $ECHO_C" >&6
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         echo "$as_me:$LINENO: result: \"unknown\"" >&5
+echo "${ECHO_T}\"unknown\"" >&6
+         { echo "$as_me:$LINENO: WARNING: can't find Tcl configuration; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl configuration; use of Tcl disabled." >&2;}
+         with_tcl=no
+       else
+         echo "$as_me:$LINENO: result: ${TclLibBase}/" >&5
+echo "${ECHO_T}${TclLibBase}/" >&6
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         echo "$as_me:$LINENO: checking Tcl configuration on what Tcl needs to compile" >&5
+echo $ECHO_N "checking Tcl configuration on what Tcl needs to compile... $ECHO_C" >&6
+         . ${TclLibBase}/tclConfig.sh
+         echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+                         fi
+
+                     if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+                                             echo "$as_me:$LINENO: checking where Tcl includes are" >&5
+echo $ECHO_N "checking where Tcl includes are... $ECHO_C" >&6
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           { echo "$as_me:$LINENO: WARNING: can't find Tcl includes; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl includes; use of Tcl disabled." >&2;}
+           with_tcl=no
+         fi
+         echo "$as_me:$LINENO: result: ${TCL_CPPFLAGS}" >&5
+echo "${ECHO_T}${TCL_CPPFLAGS}" >&6
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+                           TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+                  if test X"$TCL_LIBS" = X; then
+                      TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([^ \t]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+                  if test X"$TCL_LIB_SPEC" = X; then
+                      TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+                  TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+
+
+
+
+
+# --- END MLX_LANG_TCL ---
+
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_header in inttypes.h stdlib.h string.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+if test "${ac_cv_type_size_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if ((size_t *) 0)
+  return 0;
+if (sizeof (size_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_size_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_size_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6
+if test $ac_cv_type_size_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+for ac_func in strchr strstr strtol strtoull index rindex
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in memset
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+  case $LIBOBJS in
+    "$ac_func.$ac_objext"   | \
+  *" $ac_func.$ac_objext"   | \
+    "$ac_func.$ac_objext "* | \
+  *" $ac_func.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
+esac
+
+fi
+done
+
+
+
+
+    # Assume we'll default to using the included regex.c.
+    ac_use_included_regex=yes
+
+    # However, if the system regex support is good enough that it passes the
+    # the following run test, then default to *not* using the included regex.c.
+    # If cross compiling, assume the test would fail and use the included
+    # regex.c.  The failing regular expression is from `Spencer ere test #75'
+    # in grep-2.3.
+    echo "$as_me:$LINENO: checking for working regcomp and regexec" >&5
+echo $ECHO_N "checking for working regcomp and regexec... $ECHO_C" >&6
+if test "${ez_cv_func_working_regcomp_regexec+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  	       ez_cv_func_working_regcomp_regexec=no
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <regex.h>
+	  int
+	  main ()
+	  {
+            static regex_t re;
+            static regmatch_t matches[2];
+            int s;
+            /* try a simple extended regcomp */
+	    s = regcomp(&re, "^[a-z]?[ \t]+(.*)", REG_EXTENDED);
+	    /* This should NOT fail */
+            if (s != 0) {
+                exit (1);
+            }
+
+            /* try matching - shoul NOT fail */
+            if (regexec(&re, "g bl_331", 2, matches, 0)) {
+                exit (1);
+            }
+            exit (0);
+	  }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+	       ez_cv_func_working_regcomp_regexec=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ez_cv_func_working_regcomp_regexec=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ez_cv_func_working_regcomp_regexec" >&5
+echo "${ECHO_T}$ez_cv_func_working_regcomp_regexec" >&6
+
+       if test "x$ez_cv_func_working_regcomp_regexec" = xno; then
+	     REGEXP_INCLUDE="-I../replace"
+	     case $LIBOBJS in
+    "regex.$ac_objext"   | \
+  *" regex.$ac_objext"   | \
+    "regex.$ac_objext "* | \
+  *" regex.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS regex.$ac_objext" ;;
+esac
+
+       fi
+
+
+
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  debug=false
+fi;
+
+
+if test x$debug = xtrue; then
+  DEBUG_TRUE=
+  DEBUG_FALSE='#'
+else
+  DEBUG_TRUE='#'
+  DEBUG_FALSE=
+fi
+
+
+
+# Check whether --with-final-prefix or --without-final-prefix was given.
+if test "${with_final_prefix+set}" = set; then
+  withval="$with_final_prefix"
+
+{ echo "$as_me:$LINENO: Using FINAL_PREFIX=$with_final_prefix" >&5
+echo "$as_me: Using FINAL_PREFIX=$with_final_prefix" >&6;}
+
+else
+  final_prefix=""
+fi;
+
+
+if test x$with_final_prefix != x; then
+  USE_FINAL_PREFIX_TRUE=
+  USE_FINAL_PREFIX_FALSE='#'
+else
+  USE_FINAL_PREFIX_TRUE='#'
+  USE_FINAL_PREFIX_FALSE=
+fi
+
+
+                                                                      ac_config_files="$ac_config_files Makefile replace/Makefile ibnl/Makefile src/Makefile ibdm/Makefile Clusters/Makefile doc/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_FINAL_PREFIX_TRUE}" && test -z "${USE_FINAL_PREFIX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_FINAL_PREFIX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_FINAL_PREFIX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "replace/Makefile" ) CONFIG_FILES="$CONFIG_FILES replace/Makefile" ;;
+  "ibnl/Makefile" ) CONFIG_FILES="$CONFIG_FILES ibnl/Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "ibdm/Makefile" ) CONFIG_FILES="$CONFIG_FILES ibdm/Makefile" ;;
+  "Clusters/Makefile" ) CONFIG_FILES="$CONFIG_FILES Clusters/Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at REGEXP_INCLUDE@,$REGEXP_INCLUDE,;t t
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at CXX@,$CXX,;t t
+s, at CXXFLAGS@,$CXXFLAGS,;t t
+s, at LDFLAGS@,$LDFLAGS,;t t
+s, at CPPFLAGS@,$CPPFLAGS,;t t
+s, at ac_ct_CXX@,$ac_ct_CXX,;t t
+s, at EXEEXT@,$EXEEXT,;t t
+s, at OBJEXT@,$OBJEXT,;t t
+s, at DEPDIR@,$DEPDIR,;t t
+s, at am__include@,$am__include,;t t
+s, at am__quote@,$am__quote,;t t
+s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s, at CXXDEPMODE@,$CXXDEPMODE,;t t
+s, at am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
+s, at am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
+s, at CC@,$CC,;t t
+s, at CFLAGS@,$CFLAGS,;t t
+s, at ac_ct_CC@,$ac_ct_CC,;t t
+s, at CCDEPMODE@,$CCDEPMODE,;t t
+s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s, at CPP@,$CPP,;t t
+s, at LN_S@,$LN_S,;t t
+s, at SWIG@,$SWIG,;t t
+s, at HAS_SWIG_TRUE@,$HAS_SWIG_TRUE,;t t
+s, at HAS_SWIG_FALSE@,$HAS_SWIG_FALSE,;t t
+s, at SWIG_LIB@,$SWIG_LIB,;t t
+s, at LEX@,$LEX,;t t
+s, at LEXLIB@,$LEXLIB,;t t
+s, at LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
+s, at YACC@,$YACC,;t t
+s, at build@,$build,;t t
+s, at build_cpu@,$build_cpu,;t t
+s, at build_vendor@,$build_vendor,;t t
+s, at build_os@,$build_os,;t t
+s, at host@,$host,;t t
+s, at host_cpu@,$host_cpu,;t t
+s, at host_vendor@,$host_vendor,;t t
+s, at host_os@,$host_os,;t t
+s, at EGREP@,$EGREP,;t t
+s, at ECHO@,$ECHO,;t t
+s, at AR@,$AR,;t t
+s, at ac_ct_AR@,$ac_ct_AR,;t t
+s, at RANLIB@,$RANLIB,;t t
+s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s, at CXXCPP@,$CXXCPP,;t t
+s, at F77@,$F77,;t t
+s, at FFLAGS@,$FFLAGS,;t t
+s, at ac_ct_F77@,$ac_ct_F77,;t t
+s, at LIBTOOL@,$LIBTOOL,;t t
+s, at TCLSH@,$TCLSH,;t t
+s, at TCL_DEFS@,$TCL_DEFS,;t t
+s, at TCL_LIBS@,$TCL_LIBS,;t t
+s, at TCL_CPPFLAGS@,$TCL_CPPFLAGS,;t t
+s, at TCL_PREFIX@,$TCL_PREFIX,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at DEBUG_TRUE@,$DEBUG_TRUE,;t t
+s, at DEBUG_FALSE@,$DEBUG_FALSE,;t t
+s, at with_final_prefix@,$with_final_prefix,;t t
+s, at USE_FINAL_PREFIX_TRUE@,$USE_FINAL_PREFIX_TRUE,;t t
+s, at USE_FINAL_PREFIX_FALSE@,$USE_FINAL_PREFIX_FALSE,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
+ac_dB='[	 ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X$ac_file : 'X\(//\)[^/]' \| \
+	 X$ac_file : 'X\(//\)$' \| \
+	 X$ac_file : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_dest" : 'X\(//\)[^/]' \| \
+	 X"$ac_dest" : 'X\(//\)$' \| \
+	 X"$ac_dest" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
diff --git a/ibdm/configure.in b/ibdm/configure.in
new file mode 100644
index 0000000..90e76f7
--- /dev/null
+++ b/ibdm/configure.in
@@ -0,0 +1,102 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(ibdm/Fabric.h)
+
+dnl use local config dir for extras
+AC_CONFIG_AUX_DIR(config)
+
+dnl Defines the Language
+AC_LANG_CPLUSPLUS
+
+dnl we use auto cheader
+AM_CONFIG_HEADER(config.h)
+
+dnl Auto make
+AM_INIT_AUTOMAKE(ibdm,1.2)
+
+dnl Provides control over re-making of all auto files
+dnl We also use it to define swig dependencies so end
+dnl users do not see them.
+AM_MAINTAINER_MODE
+
+dnl Required for cases make defines a MAKE=make ??? Why
+AC_PROG_MAKE_SET
+
+dnl Checks for programs.
+AC_PROG_CXX
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+MLX_PROG_SWIG(1.1.5, eq)
+AM_PROG_LEX 
+AC_PROG_YACC
+
+dnl We will use libtool for making ...
+AC_PROG_LIBTOOL
+
+dnl For making dist we need not check any lib dependency
+AC_ARG_ENABLE(libcheck,
+[  --enable-libcheck    Enable Dependency Checking],
+[case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;; esac],[libcheck=true])
+
+dnl Get the TCL defs: TCL_LIBS TCL_CPPFLAGS
+MLX_LANG_TCL
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([inttypes.h stdlib.h string.h])
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl AC_HEADER_STDBOOL
+
+dnl For CPP there is absolutly no need for CONST etc
+dnl moreover we mst somehow remoev them from the autoheader
+dnl AC_C_CONST
+dnl AC_C_INLINE
+AC_LANG_CPLUSPLUS
+AC_TYPE_SIZE_T
+
+dnl Checks for library functions.
+dnl AC_FUNC_MALLOC
+dnl AC_FUNC_REALLOC
+AC_CHECK_FUNCS([strchr strstr strtol strtoull index rindex])
+AC_REPLACE_FUNCS(memset)
+IS_INCLUDED_REGEX()
+
+dnl Just in case that the current version does not support the 
+dnl usage of LTLIBOBJS
+
+dnl Xsed="sed -e s/^X//"
+dnl LTLIBOBJS=`echo X"$LIBOBJS"|\
+dnl           [$Xsed -e "s,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,"]`
+dnl AC_SUBST(LTLIBOBJS)
+
+dnl Define an input config option to control debug compile
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=false])
+AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+
+dnl Define an input config option to control final package prefix:
+dnl We compile and install in one dir - but we know eventually we 
+dnl will be moved to FINAL_PREFIX
+AC_ARG_WITH(final-prefix,
+[  --with-final-prefix=<dir>  Let IBDM know it will eventually be moved there],
+AC_SUBST(with_final_prefix)
+AC_MSG_NOTICE(Using FINAL_PREFIX=$with_final_prefix)
+,[final_prefix=""])
+AM_CONDITIONAL(USE_FINAL_PREFIX, test x$with_final_prefix != x)
+
+dnl Create the following Makefiles
+AC_OUTPUT(Makefile replace/Makefile ibnl/Makefile src/Makefile ibdm/Makefile Clusters/Makefile doc/Makefile)
+
diff --git a/ibdm/doc/Makefile b/ibdm/doc/Makefile
new file mode 100644
index 0000000..d0f0c42
--- /dev/null
+++ b/ibdm/doc/Makefile
@@ -0,0 +1,441 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# doc/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+man_MANS = ibdmtr.1 \
+	ibdmchk.1 \
+	ibdmsh.1 \
+	ibdm-topo-file.1 \
+	ibdm-ibnl-file.1 \
+	ibtopodiff.1
+
+EXTRA_DIST = \
+	ibdmtr.pod         ibdmtr.1 \
+	ibdmchk.pod        ibdmchk.1 \
+	ibdmsh.pod         ibdmsh.1 \
+	ibdm-topo-file.pod ibdm-topo-file.1 \
+	ibdm-ibnl-file.pod ibdm-ibnl-file.1 \
+	ibtopodiff.pod     ibtopodiff.1 \
+	ibdm_pod2man
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-man1 \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-man \
+	uninstall-man1
+
+
+%.1: # %.pod
+	$(srcdir)/ibdm_pod2man $< $@
+	if test ! $@ -ef $(srcdir)/$@ ; then cp -f $@ $(srcdir)/$@; fi
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/doc/Makefile.am b/ibdm/doc/Makefile.am
new file mode 100644
index 0000000..20a5152
--- /dev/null
+++ b/ibdm/doc/Makefile.am
@@ -0,0 +1,54 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+
+man_MANS = ibdmtr.1 \
+	ibdmchk.1 \
+	ibdmsh.1 \
+	ibdm-topo-file.1 \
+	ibdm-ibnl-file.1 \
+	ibtopodiff.1
+
+EXTRA_DIST = \
+	ibdmtr.pod         ibdmtr.1 \
+	ibdmchk.pod        ibdmchk.1 \
+	ibdmsh.pod         ibdmsh.1 \
+	ibdm-topo-file.pod ibdm-topo-file.1 \
+	ibdm-ibnl-file.pod ibdm-ibnl-file.1 \
+	ibtopodiff.pod     ibtopodiff.1 \
+	ibdm_pod2man
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibdm_pod2man $< $@
+	if test ! $@ -ef $(srcdir)/$@ ; then cp -f $@ $(srcdir)/$@; fi
+
diff --git a/ibdm/doc/Makefile.in b/ibdm/doc/Makefile.in
new file mode 100644
index 0000000..b83c11c
--- /dev/null
+++ b/ibdm/doc/Makefile.in
@@ -0,0 +1,441 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+man_MANS = ibdmtr.1 \
+	ibdmchk.1 \
+	ibdmsh.1 \
+	ibdm-topo-file.1 \
+	ibdm-ibnl-file.1 \
+	ibtopodiff.1
+
+EXTRA_DIST = \
+	ibdmtr.pod         ibdmtr.1 \
+	ibdmchk.pod        ibdmchk.1 \
+	ibdmsh.pod         ibdmsh.1 \
+	ibdm-topo-file.pod ibdm-topo-file.1 \
+	ibdm-ibnl-file.pod ibdm-ibnl-file.1 \
+	ibtopodiff.pod     ibtopodiff.1 \
+	ibdm_pod2man
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-man1 \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-man \
+	uninstall-man1
+
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibdm_pod2man $< $@
+	if test ! $@ -ef $(srcdir)/$@ ; then cp -f $@ $(srcdir)/$@; fi
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/doc/ibdm-ibnl-file.1 b/ibdm/doc/ibdm-ibnl-file.1
new file mode 100644
index 0000000..3f5f33a
--- /dev/null
+++ b/ibdm/doc/ibdm-ibnl-file.1
@@ -0,0 +1,363 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDM-IBNL-FILE 1"
+.TH IBDM-IBNL-FILE 1 "2008-06-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.SH "NAME"
+\&\fBibnl\fR \- a generic IB netlist format
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\s-1IBDM\s0 topology file \fBibdm-topo-file\fR provide means to describe the \s-1IB\s0 fabric using a set of predefined systems. A system definition is provided in a single file in \s-1IBNL\s0 format that describes the internal InfiniBand connectivity of the system in terms of boards and devices. When \s-1IBDM\s0 starts it parses all the available system definition files before it handles the topology file. The files are located in the following directory relative to the installation p [...]
+.PP
+This man page describes the \s-1IBNL\s0 file format used to define an arbitrary \s-1IB\s0 system internal \s-1IB\s0 connectivity. It outlines the main concepts used by the file, provides details for how to write such a file and provides a formal definition of the file syntax in \s-1BNF\s0 like format (YACC/Bison readable).
+.SH "1. Main Concepts"
+.IX Header "1. Main Concepts"
+The described file format for defining generic system \s-1IB\s0 connectivity uses the following terminology:
+.IP "\s-1NODE\s0" 4
+.IX Item "NODE"
+The instantiation of an \s-1IB\s0 device may it be a switch or a channel adapter
+.IP "SUB-SYSTEM" 4
+.IX Item "SUB-SYSTEM"
+The instantiation of a board or module in a system
+.IP "\s-1SYSTEM\s0" 4
+.IX Item "SYSTEM"
+A definition of a board or a module
+.IP "\s-1TOPSYSTEM\s0" 4
+.IX Item "TOPSYSTEM"
+The top most system defined in the given file
+.IP "SUB-SYSTEM \s-1MODIFIER\s0" 4
+.IX Item "SUB-SYSTEM MODIFIER"
+Many systems allow multiple variations of their subsystem such as a 12X version of a leaf board in a \s-1MTS9600\s0. The modifier is a suffix to the board name. The \s-1IBNL\s0 format supports assigning multiple names to the same board.
+.SH "2. File Format"
+.IX Header "2. File Format"
+The exact file format is provided in section 4. This section only provides extra information regarding the specific semantics of various sections.
+.PP
+The \s-1IBNL\s0 file is line sensitive as it requires different sections to start on a new line. The file is broken into several \s-1SYSTEM\s0 (optional) and one \s-1TOPSYSTEM\s0 sections. Each has one or more names.
+.PP
+Connections are defined inside the \s-1SYSTEM/TOPSYSTEM\s0 section only and thus might be of two types:
+.IP "1. Between any node or sub-system to other node or sub-system" 4
+.IX Item "1. Between any node or sub-system to other node or sub-system"
+.PD 0
+.IP "2. From any node or sub-system to a connector of the system." 4
+.IX Item "2. From any node or sub-system to a connector of the system."
+.PD
+.PP
+\&\s-1NOTE\-1:\s0 The top system can define ports that might be redundant and not connected to any lower level board connector. In these cases the ports are simply omitted from the resulting system. This feature enables defining the front panel ports of a 12X/4X such that if a 12X leaf is selected only the 12X front panel ports are used.
+.PP
+\&\s-1NOTE\-2:\s0  Port width and speed provided at the lowest level have precedence over definitions provided at upper levels of the hierarchy.
+.SH "3. Guidelines for writing a System IBNL File"
+.IX Header "3. Guidelines for writing a System IBNL File"
+The following procedure should be followed in order to provide a new system \s-1IBNL:\s0
+.IP "a)" 4
+Name the file after the system name: <any sys name (no spaces)>.ibnl
+.IP "b)" 4
+Define a \s-1SYSTEM\s0 section for each board included in the system
+.IP "c)" 4
+The port names of the boards are just strings, we use the simple format of Pn where N is just a serial number but you can pick any name you want. Just make sure it is unique.
+.IP "d)" 4
+When different flavors of the boards exists like when you have a 4x and 12x option for a board name the optional boards with a modifier postfix. An example for such system that supports a \s-1LEAF\s0 board of 12x and 4x types would be to define two \s-1SYSTEMS:\s0
+.RS 4
+.Sp
+.RS 4
+\&\s-1SYSTEM\s0 \s-1LEAF\s0,LEAF:4x,LEAF:4X
+.Sp
+\&...
+.Sp
+\&\s-1SYSTEM\s0 LEAF:12x,LEAF:12X
+.Sp
+\&...
+.Sp
+\&\s-1NOTE\-3:\s0 The instantiations of the \s-1LEAF\s0 boards in another board or the top system need not specify the postfix and are being decided upon only when the topology file is being parsed. The \*(L"\s-1SYSTEM\s0 \s-1LEAF\s0\*(R" with no postfix will be used by default. To continue the example here is how the LEAFs are instantiated in the top system:
+.Sp
+.RS 4
+\&\s-1TOPSYSTEM\s0 MyIbSystem
+.Sp
+\&\s-1LEAF\s0 leaf1
+.Sp
+\&...
+.Sp
+\&\s-1LEAF\s0 leaf2
+.Sp
+\&...
+.RE
+.RE
+.RS 4
+.Sp
+The actual 4x or 12x version of the \s-1LEAF\s0 board can then be specified in the topology file \s-1CFG\s0 section to select the right combination of optional boards in the system. An example will be:
+.Sp
+.RS 4
+MyIbSystem N001 \s-1CFG:\s0 leaf2=12x
+.Sp
+In this case leaf1 will be 4x as no special modifier is defined for it (and \s-1LEAF\s0 is by default a 4x leaf). Leaf2 will be 12x as defined in the \s-1CFG\s0 section.
+.RE
+.IP "e)" 4
+Special considerations should be made to design the top system section when several optional board types exist. Top system section might include multiple definitions for front panel plugs like P1\-4x and P1\-12x (yes these are just names that should follow the writing on the front or back panels). As the different flavors of the boards are not required to define the same names for their ports including a 12x port might leave some of the top level connections dangling (not connected) and  [...]
+.RS 4
+.Sp
+.RS 4
+\&\s-1SYSTEM\s0 LEAF:4x
+.Sp
+\&\s-1NODE\s0 U1
+.Sp
+1 \-4x\-> 4XP1
+.Sp
+2 \-4x\-> 4XP2
+.Sp
+3 \-4x\-> 4XP3
+.Sp
+\&...
+.Sp
+\&\s-1SYSTEM\s0 LEAF:12x
+.Sp
+\&\s-1NODE\s0 U1
+.Sp
+1 \-12x\-> 12XP1
+.Sp
+\&...
+.Sp
+\&\s-1TOPSYSTEM\s0 myIbSystem
+.Sp
+\&\s-1SUBSYSTEM\s0 \s-1LEAF\s0 leaf1
+.Sp
+4XP1 \-> L1/P1
+.Sp
+4XP2 \-> L1/P2
+.Sp
+4XP3 \-> L1/P3
+.Sp
+12XP1 \-> L1/P1\-12x
+.RE
+.RE
+.RS 4
+.IP "f)" 4
+Place the file in the <prefix>/lib/IBDM/ibdm1.0/ibnl directory
+.IP "g)" 4
+Check the new file syntax by placing it in the ibnl directory as described above, creating a simple topology (\fBibdm-topo-file\fR file with one such system and running \fBibdmtr\fR utility to parse it tracing a simple path through it.
+.SH "4. Formal definition in YACC Syntax:"
+.IX Header "4. Formal definition in YACC Syntax:"
+\&\s-1INT\s0 ::= ([1\-9][0\-9]*|0) ;
+.Sp
+\&\s-1WIDTH\s0 ::= (4x|8x|12x) ;
+.Sp
+\&\s-1SPEED\s0 ::= (2.5G|5G|10G) ;
+.Sp
+\&\s-1NODETYPE\s0 ::= (SW|CA|HCA) ;
+.Sp
+\&\s-1NAME\s0 ::= ([\e[\e]\e\e\e*/A\-Za\-z0\-9_.:%@~]+) ;
+.Sp
+\&\s-1NL:\s0
+\&\s-1LINE\s0
+| \s-1NL\s0 \s-1LINE\s0;
+.Sp
+\&\s-1ONL:\s0
+| \s-1NL\s0;
+.Sp
+ibnl: \s-1ONL\s0 systems topsystem;
+.Sp
+systems:
+| systems system ;
+.Sp
+sub_inst_attributes:
+| sub_inst_attributes sub_inst_attribute \s-1NL\s0;
+.Sp
+sub_inst_attribute:
+\&\s-1NAME\s0 '=' \s-1NAME\s0 '=' \s-1NAME\s0
+| \s-1NAME\s0 '=' \s-1NAME\s0 '=' \s-1INT\s0
+| \s-1NAME\s0 '=' \s-1NAME\s0 ;
+.Sp
+topsystem:
+\&\s-1TOPSYSTEM\s0 system_names \s-1NL\s0 sub_inst_attributes insts ;
+.Sp
+system:
+\&\s-1SYSTEM\s0 system_names \s-1NL\s0 insts ;
+.Sp
+system_names:
+system_name
+| system_names ',' system_name ;
+.Sp
+system_name:
+\&\s-1NAME\s0 ;
+.Sp
+insts:
+| insts node
+| insts subsystem ;
+.Sp
+node:
+node_header \s-1NL\s0 node_connections ;
+.Sp
+node_header:
+\&\s-1NODE\s0 \s-1NODETYPE\s0 \s-1INT\s0 \s-1NAME\s0 \s-1NAME\s0 ;
+.Sp
+node_connections:
+| node_connections node_connection \s-1NL\s0 ;
+.Sp
+node_connection:
+node_to_node_link
+| node_to_port_link ;
+.Sp
+node_to_node_link:
+\&\s-1INT\s0 '\-' \s-1WIDTH\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0
+| \s-1INT\s0 '\-' \s-1WIDTH\s0 '\-' '>' \s-1NAME\s0 \s-1INT\s0
+| \s-1INT\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0 \s-1INT\s0
+| \s-1INT\s0 '\-' '>' \s-1NAME\s0 \s-1INT\s0 ;
+.Sp
+node_to_port_link:
+\&\s-1INT\s0 '\-' \s-1WIDTH\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0
+| \s-1INT\s0 '\-' \s-1WIDTH\s0 '\-' '>' \s-1NAME\s0
+| \s-1INT\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0
+| \s-1INT\s0 '\-' '>' \s-1NAME\s0 ;
+.Sp
+subsystem:
+subsystem_header \s-1NL\s0 subsystem_connections ;
+.Sp
+subsystem_header:
+\&\s-1SUBSYSTEM\s0 \s-1NAME\s0 \s-1NAME\s0 ;
+.Sp
+subsystem_connections:
+| subsystem_connections subsystem_connection \s-1NL\s0 ;
+.Sp
+subsystem_connection:
+subsystem_to_subsystem_link
+| subsystem_to_port_link ;
+.Sp
+subsystem_to_subsystem_link:
+\&\s-1NAME\s0 '\-' \s-1WIDTH\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0 \s-1NAME\s0
+| \s-1NAME\s0 '\-' \s-1WIDTH\s0 '\-' '>' \s-1NAME\s0 \s-1NAME\s0
+| \s-1NAME\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0 \s-1NAME\s0
+| \s-1NAME\s0 '\-' '>' \s-1NAME\s0 \s-1NAME\s0 ;
+.Sp
+subsystem_to_port_link:
+\&\s-1NAME\s0 '\-' \s-1WIDTH\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0
+| \s-1NAME\s0 '\-' \s-1WIDTH\s0 '\-' '>' \s-1NAME\s0
+| \s-1NAME\s0 '\-' \s-1SPEED\s0 '\-' '>' \s-1NAME\s0
+| \s-1NAME\s0 '\-' '>' \s-1NAME\s0 ;
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdm-ibnl-file.pod b/ibdm/doc/ibdm-ibnl-file.pod
new file mode 100644
index 0000000..ffdd560
--- /dev/null
+++ b/ibdm/doc/ibdm-ibnl-file.pod
@@ -0,0 +1,276 @@
+=head1 NAME
+
+B<ibnl> - a generic IB netlist format
+
+=head1 DESCRIPTION
+
+IBDM topology file B<ibdm-topo-file> provide means to describe the IB fabric using a set of predefined systems. A system definition is provided in a single file in IBNL format that describes the internal InfiniBand connectivity of the system in terms of boards and devices. When IBDM starts it parses all the available system definition files before it handles the topology file. The files are located in the following directory relative to the installation prefix: <prefix>/lib/ibdm1.0/ibnl.
+
+This man page describes the IBNL file format used to define an arbitrary IB system internal IB connectivity. It outlines the main concepts used by the file, provides details for how to write such a file and provides a formal definition of the file syntax in BNF like format (YACC/Bison readable).
+
+=head1 1. Main Concepts
+
+The described file format for defining generic system IB connectivity uses the following terminology:
+
+=over 4
+
+=item NODE
+
+The instantiation of an IB device may it be a switch or a channel adapter
+
+=item SUB-SYSTEM
+
+The instantiation of a board or module in a system
+
+=item SYSTEM
+
+A definition of a board or a module
+
+=item TOPSYSTEM
+
+The top most system defined in the given file
+
+=item SUB-SYSTEM MODIFIER
+
+Many systems allow multiple variations of their subsystem such as a 12X version of a leaf board in a MTS9600. The modifier is a suffix to the board name. The IBNL format supports assigning multiple names to the same board.
+
+=back 4
+
+=head1 2. File Format
+
+The exact file format is provided in section 4. This section only provides extra information regarding the specific semantics of various sections.
+
+The IBNL file is line sensitive as it requires different sections to start on a new line. The file is broken into several SYSTEM (optional) and one TOPSYSTEM sections. Each has one or more names.
+
+Connections are defined inside the SYSTEM/TOPSYSTEM section only and thus might be of two types:
+
+=over 4
+
+=item 1. Between any node or sub-system to other node or sub-system
+
+=item 2. From any node or sub-system to a connector of the system.
+
+=back 4
+
+
+NOTE-1: The top system can define ports that might be redundant and not connected to any lower level board connector. In these cases the ports are simply omitted from the resulting system. This feature enables defining the front panel ports of a 12X/4X such that if a 12X leaf is selected only the 12X front panel ports are used.
+
+NOTE-2:  Port width and speed provided at the lowest level have precedence over definitions provided at upper levels of the hierarchy.
+
+=head1 3. Guidelines for writing a System IBNL File
+
+The following procedure should be followed in order to provide a new system IBNL:
+
+=over 4
+
+=item a)
+
+Name the file after the system name: <any sys name (no spaces)>.ibnl
+
+
+=item b)
+
+Define a SYSTEM section for each board included in the system
+
+
+=item c)
+
+The port names of the boards are just strings, we use the simple format of Pn where N is just a serial number but you can pick any name you want. Just make sure it is unique.
+
+
+=item d)
+
+When different flavors of the boards exists like when you have a 4x and 12x option for a board name the optional boards with a modifier postfix. An example for such system that supports a LEAF board of 12x and 4x types would be to define two SYSTEMS:
+
+
+=over 4
+
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+...
+
+SYSTEM LEAF:12x,LEAF:12X
+
+...
+
+
+NOTE-3: The instantiations of the LEAF boards in another board or the top system need not specify the postfix and are being decided upon only when the topology file is being parsed. The "SYSTEM LEAF" with no postfix will be used by default. To continue the example here is how the LEAFs are instantiated in the top system:
+
+=over 4
+
+TOPSYSTEM MyIbSystem
+
+LEAF leaf1
+
+...
+
+LEAF leaf2
+
+...
+
+=back 4
+
+The actual 4x or 12x version of the LEAF board can then be specified in the topology file CFG section to select the right combination of optional boards in the system. An example will be:
+
+=over 4
+
+MyIbSystem N001 CFG: leaf2=12x
+
+In this case leaf1 will be 4x as no special modifier is defined for it (and LEAF is by default a 4x leaf). Leaf2 will be 12x as defined in the CFG section.
+
+=item e)
+
+Special considerations should be made to design the top system section when several optional board types exist. Top system section might include multiple definitions for front panel plugs like P1-4x and P1-12x (yes these are just names that should follow the writing on the front or back panels). As the different flavors of the boards are not required to define the same names for their ports including a 12x port might leave some of the top level connections dangling (not connected) and th [...]
+
+=over 4
+
+SYSTEM LEAF:4x
+
+NODE U1
+
+1 -4x-> 4XP1
+
+2 -4x-> 4XP2
+
+3 -4x-> 4XP3
+
+
+...
+
+SYSTEM LEAF:12x
+
+NODE U1
+
+1 -12x-> 12XP1
+
+...
+
+
+TOPSYSTEM myIbSystem
+
+SUBSYSTEM LEAF leaf1
+
+4XP1 -> L1/P1
+
+4XP2 -> L1/P2
+
+4XP3 -> L1/P3
+
+12XP1 -> L1/P1-12x
+
+=back 4
+
+=over 4
+
+=item f)
+
+Place the file in the <prefix>/lib/IBDM/ibdm1.0/ibnl directory
+
+
+=item g)
+
+Check the new file syntax by placing it in the ibnl directory as described above, creating a simple topology (B<ibdm-topo-file> file with one such system and running B<ibdmtr> utility to parse it tracing a simple path through it.
+
+=head1 4. Formal definition in YACC Syntax:
+
+INT ::= ([1-9][0-9]*|0) ;
+
+WIDTH ::= (4x|8x|12x) ;
+
+SPEED ::= (2.5G|5G|10G) ;
+
+NODETYPE ::= (SW|CA|HCA) ;
+
+NAME ::= ([\[\]\\\*/A-Za-z0-9_.:%@~]+) ;
+
+NL:
+LINE
+| NL LINE;
+
+ONL:
+| NL;
+
+ibnl: ONL systems topsystem;
+
+systems:
+| systems system ;
+
+sub_inst_attributes:
+| sub_inst_attributes sub_inst_attribute NL;
+
+sub_inst_attribute:
+NAME '=' NAME '=' NAME
+| NAME '=' NAME '=' INT
+| NAME '=' NAME ;
+
+topsystem:
+TOPSYSTEM system_names NL sub_inst_attributes insts ;
+
+system:
+SYSTEM system_names NL insts ;
+
+system_names:
+system_name
+| system_names ',' system_name ;
+
+system_name:
+NAME ;
+
+insts:
+| insts node
+| insts subsystem ;
+
+node:
+node_header NL node_connections ;
+
+node_header:
+NODE NODETYPE INT NAME NAME ;
+
+node_connections:
+| node_connections node_connection NL ;
+
+node_connection:
+node_to_node_link
+| node_to_port_link ;
+
+node_to_node_link:
+INT '-' WIDTH '-' SPEED '-' '>' NAME
+| INT '-' WIDTH '-' '>' NAME INT
+| INT '-' SPEED '-' '>' NAME INT
+| INT '-' '>' NAME INT ;
+
+node_to_port_link:
+INT '-' WIDTH '-' SPEED '-' '>' NAME
+| INT '-' WIDTH '-' '>' NAME
+| INT '-' SPEED '-' '>' NAME
+| INT '-' '>' NAME ;
+
+subsystem:
+subsystem_header NL subsystem_connections ;
+
+subsystem_header:
+SUBSYSTEM NAME NAME ;
+
+subsystem_connections:
+| subsystem_connections subsystem_connection NL ;
+
+subsystem_connection:
+subsystem_to_subsystem_link
+| subsystem_to_port_link ;
+
+subsystem_to_subsystem_link:
+NAME '-' WIDTH '-' SPEED '-' '>' NAME NAME
+| NAME '-' WIDTH '-' '>' NAME NAME
+| NAME '-' SPEED '-' '>' NAME NAME
+| NAME '-' '>' NAME NAME ;
+
+subsystem_to_port_link:
+NAME '-' WIDTH '-' SPEED '-' '>' NAME
+| NAME '-' WIDTH '-' '>' NAME
+| NAME '-' SPEED '-' '>' NAME
+| NAME '-' '>' NAME ;
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
diff --git a/ibdm/doc/ibdm-topo-file.1 b/ibdm/doc/ibdm-topo-file.1
new file mode 100644
index 0000000..a149679
--- /dev/null
+++ b/ibdm/doc/ibdm-topo-file.1
@@ -0,0 +1,208 @@
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDM-TOPO-FILE 1"
+.TH IBDM-TOPO-FILE 1 "2009-02-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+ibdm-topo-file \- 1IBDM Topology File
+.SH DESCRIPTION
+The topology file describes the \s-1IB\s0 connectivity and systems included in the network.
+It serves two purposes:
+.IP "1. Support for arbitrary system names to be later used in every report that \s-1IBDM\s0 generates." 4
+.IX Item "1. Support for arbitrary system names to be later used in every report that IBDM generates."
+.PD 0
+.IP "2. Connectivity verification: The specified network topology is verified against the discovered one. Mismatch errors resulting from missing cables and/or wrong connections are reported by \s-1IBADM\s0." 4
+.IX Item "2. Connectivity verification: The specified network topology is verified against the discovered one. Mismatch errors resulting from missing cables and/or wrong connections are reported by IBADM."
+.PD
+.PP
+The topology file is composed \*(L"system\*(R" sections. Each such section describes the connectivity of one system to other systems in the network. The first line of each section is a declaration of the system composed of a system-type, its system-name section, and optional configuration details. The lines to follow until the next empty line describe the connections between this system ports to the other systems. The following is a formal definition of a system section syntax.
+.PP
+An example is listed afterwards.
+.PP
+SYSTEM-TYPE SYSTEM-NAME [\s-1CFG:\s0 <b1>=<modifier>, [<b2>=<modifier>]...]
+.PP
+.Vb 1
+\&        LOCAL\-PORT\-PANEL\-NAME \-> REM\-SYS\-TYPE REM\-SYS\-NAME REM\-PORT\-PANEL\-NAME
+\&
+\&        LOCAL\-PORT\-PANEL\-NAME \-> REM\-SYS\-TYPE REM\-SYS\-NAME REM\-PORT\-PANEL\-NAME
+\&
+\&        LOCAL\-PORT\-PANEL\-NAME \-> REM\-SYS\-TYPE REM\-SYS\-NAME REM\-PORT\-PANEL\-NAME
+\&
+\&        . . .
+.Ve
+.PP
+SYSTEM-TYPE SYSTEM-NAME [\s-1CFG:\s0 <b1>=<modifier>, [<b2>=<modifier>]...]
+.PP
+.Vb 1
+\&        LOCAL\-PORT\-PANEL\-NAME \-> REM\-SYS\-TYPE REM\-SYS\-NAME REM\-PORT\-PANEL\-NAME
+\&
+\&        LOCAL\-PORT\-PANEL\-NAME \-> REM\-SYS\-TYPE REM\-SYS\-NAME REM\-PORT\-PANEL\-NAME
+\&
+\&        . . .
+.Ve
+.PP
+\&. . .
+.PP
+Where:
+.IP "\fBSYSTEM-TYPE\fR and \fBREM-SYS-TYPE\fR" 4
+.IX Item "SYSTEM-TYPE and REM-SYS-TYPE"
+Any system that has a corresponding \s-1IBNL\s0 definition. See man \fBibdm-ibnl-file\fR
+.IP "\fBSYSTEM-NAME\fR" 4
+.IX Item "SYSTEM-NAME"
+The name of the system described in this topology file section.
+.IP "\fBLOCAL-PORT-PANEL-NAME\fR" 4
+.IX Item "LOCAL-PORT-PANEL-NAME"
+The name of the local system port. The numbers printed on the front panel are used together with Ln for Leaf no. N or Sn for Spine no. N.
+.IP "\fBREM-SYS-NAME\fR" 4
+.IX Item "REM-SYS-NAME"
+The name of the system connected to the local port.
+.IP "\fBREM-PORT-PANEL-NAME\fR" 4
+.IX Item "REM-PORT-PANEL-NAME"
+A name of the remote system port. We use the numbers as printed on the front panel and Ln for Leaf number N or Sn for Spine number N.
+.SH "EXAMPLE"
+.IX Header "EXAMPLE"
+The following is a topology file for a simple cluster with one 24 port switch and two HCAs. The firts \s-1HCA\s0 named H\-1 and connect to the fabric with its two ports. The second \s-1HCA\s0 named H\-2. The switch is of type \s-1MTS2400\s0 and is named S\-1
+.PP
+\&\s-1MTS2400\s0 S\-1
+   P1 \-> \s-1MT23108\s0 H\-1 P1
+   P2 \-> \s-1MT23108\s0 H\-1 P2
+   P24 \-> \s-1MT23108\s0 H\-2 P1
+.SH "OPTIONAL CFG SECTION"
+.IX Header "OPTIONAL CFG SECTION"
+This section in the system declaration line describes the special customization of each board of the system.
+.PP
+That is the \s-1CFG\s0 string is a set of comma-separated sub-fields. Each sub-field describes some special configuration of a corresponding system board. The actual semantics of the specific board modifiers is defined by the \s-1IBNL\s0 of the specific system.
+.SH "EXAMPLE"
+.IX Header "EXAMPLE"
+The following is an example of a definition-line in a topology file of the \s-1MTS9600\s0 switch system. This switch system can have up to eight leafs and four spines. This example of the \s-1MTS9600\s0 lacks (R) leafs no.6,7 and 8, and lacks spines no. 3 and 4.
+.PP
+\&\s-1MTS9600\s0 PartialGz1 \s-1CFG:\s0 leaf3=R,leaf5=R,leaf7=R,spine1=R
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdm-topo-file.pod b/ibdm/doc/ibdm-topo-file.pod
new file mode 100644
index 0000000..93270ee
--- /dev/null
+++ b/ibdm/doc/ibdm-topo-file.pod
@@ -0,0 +1,90 @@
+=head1 NAME
+
+B<IBDM Topology File>
+
+The topology file describes the IB connectivity and systems included in the network.
+It serves two purposes:
+
+=over 4
+
+=item 1. Support for arbitrary system names to be later used in every report that IBDM generates.
+
+=item 2. Connectivity verification: The specified network topology is verified against the discovered one. Mismatch errors resulting from missing cables and/or wrong connections are reported by IBADM.
+
+=back 
+
+The topology file is composed "system" sections. Each such section describes the connectivity of one system to other systems in the network. The first line of each section is a declaration of the system composed of a system-type, its system-name section, and optional configuration details. The lines to follow until the next empty line describe the connections between this system ports to the other systems. The following is a formal definition of a system section syntax.
+
+An example is listed afterwards.
+
+SYSTEM-TYPE SYSTEM-NAME [CFG: <b1>=<modifier>, [<b2>=<modifier>]...]
+
+	LOCAL-PORT-PANEL-NAME -> REM-SYS-TYPE REM-SYS-NAME REM-PORT-PANEL-NAME
+
+	LOCAL-PORT-PANEL-NAME -> REM-SYS-TYPE REM-SYS-NAME REM-PORT-PANEL-NAME
+
+	LOCAL-PORT-PANEL-NAME -> REM-SYS-TYPE REM-SYS-NAME REM-PORT-PANEL-NAME
+
+	. . .
+
+SYSTEM-TYPE SYSTEM-NAME [CFG: <b1>=<modifier>, [<b2>=<modifier>]...]
+
+	LOCAL-PORT-PANEL-NAME -> REM-SYS-TYPE REM-SYS-NAME REM-PORT-PANEL-NAME
+
+	LOCAL-PORT-PANEL-NAME -> REM-SYS-TYPE REM-SYS-NAME REM-PORT-PANEL-NAME
+
+	. . .
+
+. . .
+
+
+Where:
+
+=over 4
+
+=item B<SYSTEM-TYPE> and B<REM-SYS-TYPE>
+
+Any system that has a corresponding IBNL definition. See man B<ibdm-ibnl-file>
+
+=item B<SYSTEM-NAME>
+
+The name of the system described in this topology file section.
+
+=item B<LOCAL-PORT-PANEL-NAME>
+
+The name of the local system port. The numbers printed on the front panel are used together with Ln for Leaf no. N or Sn for Spine no. N.
+
+=item B<REM-SYS-NAME>
+
+The name of the system connected to the local port.
+
+=item B<REM-PORT-PANEL-NAME>
+
+A name of the remote system port. We use the numbers as printed on the front panel and Ln for Leaf number N or Sn for Spine number N.
+
+=back 
+
+=head1 EXAMPLE
+
+The following is a topology file for a simple cluster with one 24 port switch and two HCAs. The firts HCA named H-1 and connect to the fabric with its two ports. The second HCA named H-2. The switch is of type MTS2400 and is named S-1
+
+MTS2400 S-1
+   P1 -> MT23108 H-1 P1
+   P2 -> MT23108 H-1 P2
+   P24 -> MT23108 H-2 P1
+
+=head1 OPTIONAL CFG SECTION
+
+This section in the system declaration line describes the special customization of each board of the system.
+
+That is the CFG string is a set of comma-separated sub-fields. Each sub-field describes some special configuration of a corresponding system board. The actual semantics of the specific board modifiers is defined by the IBNL of the specific system.
+
+=head1 EXAMPLE
+
+The following is an example of a definition-line in a topology file of the MTS9600 switch system. This switch system can have up to eight leafs and four spines. This example of the MTS9600 lacks (R) leafs no.6,7 and 8, and lacks spines no. 3 and 4.
+
+MTS9600 PartialGz1 CFG: leaf3=R,leaf5=R,leaf7=R,spine1=R
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdm_pod2man b/ibdm/doc/ibdm_pod2man
new file mode 100755
index 0000000..f46085c
--- /dev/null
+++ b/ibdm/doc/ibdm_pod2man
@@ -0,0 +1,32 @@
+eval '(exit $?0)' &&
+  eval 'exec perl -S $0 ${1+"$@"}' &&
+  eval 'exec perl -S $0 $argv:q'
+  if 0;
+
+use Pod::Man;
+$VERSION = "IBDM 1.0";
+$CENTER = "IB DATA MODEL PACKAGE";
+my $parser = Pod::Man->new (release => $VERSION, center => $CENTER);
+
+if (scalar(@ARGV) < 1) {
+   print "Usage $0 podFile [outFile]\n";
+   exit(1);
+}
+$inFile = $ARGV[0];
+if ($inFile !~ m/(.*)\.pod$/) {
+   print "Usage $0 podFile [outFile]\n";
+   print "Given podFile:$inFile extension != .pod\n";
+   exit(1);
+} else {
+   $base = $1;
+}
+
+if (scalar(@ARGV) > 1) {
+   $outFile = $ARGV[1];
+} else {
+   $outFile = "$base.1";
+}
+
+# Read POD from file.pod and write to file.1.
+$parser->parse_from_file ($inFile, $outFile);
+exit(0);
diff --git a/ibdm/doc/ibdmchk.1 b/ibdm/doc/ibdmchk.1
new file mode 100644
index 0000000..5f8577f
--- /dev/null
+++ b/ibdm/doc/ibdmchk.1
@@ -0,0 +1,229 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDMCHK 1"
+.TH IBDMCHK 1 "2008-06-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.SH "NAME"
+\&\fBIBDM \- Network Checker and Attributes Analyzer\fR
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibdmchk has two operation modes: design and verification.
+.PP
+\&\s-1DESIGN:\s0
+.PP
+ibdmchk [\-v][\-h][\-u][\-a <roots file>] \-t <topology file> \-n <\s-1SM\s0 Node>
+  \-p <\s-1SM\s0 Port> [\-e] [\-l <lmc>]
+.PP
+\&\s-1VERIFICATION:\s0
+.PP
+ibdmchk [\-v][\-h][\-r <roots file>] [\-s <subnet file>] [\-f <fdb file>]
+  [\-l <lmc>]
+.SH "DESIGN MODE DESCRIPTION"
+.IX Header "DESIGN MODE DESCRIPTION"
+The Design mode is intended to be used before the cluster is built. It provides basic checks of the specified network as described by a topology file. After simulating the \s-1SM\s0 \s-1LID\s0 assignment and routing algorithms it provides reports of the (H)CA to (H)CA paths depth histogram and credit deadlock potential in the resulting routing scheme.
+.SH "ARGUMENTS:"
+.IX Header "ARGUMENTS:"
+.RE
+.IP "\-t|\-\-topo <topo file>"
+.IX Item "-t|--topo <topo file>"
+The \fBtopology file\fR specifying the network. See man \fBibdm-topology-file\fR
+.RE
+.IP "\-n|\-\-node <\s-1SM\s0 Node>"
+.IX Item "-n|--node <SM Node>"
+The name of the Subnet Manager node (syntax: <Topo\-File\-System>/U1)
+.RE
+.IP "\-p|\-\-port <\s-1SM\s0 Port>"
+.IX Item "-p|--port <SM Port>"
+The port number by which the \s-1SM\s0 nodes is attached to the fabric.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "\-v|\-\-verbose"
+.IX Item "-v|--verbose"
+Verbsoe mode
+.RE
+.IP "\-h|\-\-help"
+.IX Item "-h|--help"
+Provides this help message
+.RE
+.IP "\-l|\-\-lmc <lmc>"
+.IX Item "-l|--lmc <lmc>"
+\&\s-1LMC\s0 value > 0 means assigning 2^lmc lids to each port.
+.RE
+.IP "\-e|\-\-enh"
+.IX Item "-e|--enh"
+Use enhanced routing algorithm when \s-1LMC\s0 > 0 and report the resulting paths correlation (using same system/node) histogram
+.RE
+.IP "\-u|\-\-updn"
+.IX Item "-u|--updn"
+Use up/down routing algorithm instead of OpenSM min\-hop.
+.RE
+.IP "\-r|\-\-roots <roots file> A file with all the roots node names (one on each line)."
+.IX Item "-r|--roots <roots file> A file with all the roots node names (one on each line)."
+.SH "VERIFICATION MODE DESCRIPTION"
+.IX Header "VERIFICATION MODE DESCRIPTION"
+After the cluster is built and OpenSM is run (using flag \-D 0x43) it reports the subnet and \s-1FDB\s0 tables into the files osm\-subnet.lst, osm.fdbs and osm.fdbs in /var/log/ (or subnet.lst, osm.fdbs and osm.mcfdbs into /tmp in older OpenSM versions).
+Based on these files the utility checks all \s-1CA\s0 to \s-1CA\s0 connectivity. Further analysis for credit deadlock potential is performed and reported.
+In case of an \s-1LMC\s0 > 0 it reports histograms for how many systems and nodes are common between the different paths for the same port pairs.
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.RE
+.IP "\-l|\-\-lmc <lmc>"
+.IX Item "-l|--lmc <lmc>"
+The \s-1LMC\s0 value used while running OpenSM. Mandatory if not the default 0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "\-v|\-\-verbose"
+.IX Item "-v|--verbose"
+Verbsoe mode
+.RE
+.IP "\-h|\-\-help"
+.IX Item "-h|--help"
+Provides this help message
+.RE
+.IP "\-s|\-\-subnet <file>"
+.IX Item "-s|--subnet <file>"
+OpenSM subnet.lst file (default is /var/log/osm\-subnet.lst or /tmp/subnet.lst)
+.RE
+.IP "\-f|\-\-fdb <file>"
+.IX Item "-f|--fdb <file>"
+OpenSM dump of Ucast \s-1LFDB\s0. Use \-D 0x41 to generate it (default is /var/log/osm.fdbs or /tmp/osm.fdbs).
+.RE
+.IP "\-m|\-\-mcfdb <file>"
+.IX Item "-m|--mcfdb <file>"
+OpenSM dump of Multicast \s-1LFDB\s0. Use \-D 0x41 to generate it (default is /var/log/osm.mcfdbs or /tmp/osm.mcfdbs).
+.RE
+.IP "\-r|\-\-roots <roots file>"
+.IX Item "-r|--roots <roots file>"
+A file holding all root nodes guids (one per line).
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdmchk.pod b/ibdm/doc/ibdmchk.pod
new file mode 100644
index 0000000..21d4a14
--- /dev/null
+++ b/ibdm/doc/ibdmchk.pod
@@ -0,0 +1,105 @@
+=head1 NAME
+
+B<IBDM - Network Checker and Attributes Analyzer>
+
+=head1 SYNOPSYS
+
+ibdmchk has two operation modes: design and verification.
+
+DESIGN:
+
+ibdmchk [-v][-h][-u][-a <roots file>] -t <topology file> -n <SM Node>
+  -p <SM Port> [-e] [-l <lmc>]
+
+
+VERIFICATION:
+
+ibdmchk [-v][-h][-r <roots file>] [-s <subnet file>] [-f <fdb file>]
+  [-l <lmc>]
+
+=head1 DESIGN MODE DESCRIPTION
+
+The Design mode is intended to be used before the cluster is built. It provides basic checks of the specified network as described by a topology file. After simulating the SM LID assignment and routing algorithms it provides reports of the (H)CA to (H)CA paths depth histogram and credit deadlock potential in the resulting routing scheme.
+
+=head1 ARGUMENTS:
+
+=item -t|--topo <topo file>
+
+The B<topology file> specifying the network. See man B<ibdm-topology-file>
+
+=item -n|--node <SM Node>
+
+The name of the Subnet Manager node (syntax: <Topo-File-System>/U1)
+
+=item -p|--port <SM Port>
+
+The port number by which the SM nodes is attached to the fabric.
+
+=head1 OPTIONS
+
+=item -v|--verbose
+
+Verbsoe mode
+
+=item -h|--help
+
+Provides this help message
+
+=item -l|--lmc <lmc>
+
+LMC value > 0 means assigning 2^lmc lids to each port.
+
+=item -e|--enh
+
+Use enhanced routing algorithm when LMC > 0 and report the resulting paths correlation (using same system/node) histogram
+
+=item -u|--updn
+
+Use up/down routing algorithm instead of OpenSM min-hop.
+
+=item -r|--roots <roots file>
+A file with all the roots node names (one on each line).
+
+=head1 VERIFICATION MODE DESCRIPTION
+
+After the cluster is built and OpenSM is run (using flag -D 0x43) it reports the subnet and FDB tables into the files osm-subnet.lst, osm.fdbs and osm.fdbs in /var/log/ (or subnet.lst, osm.fdbs and osm.mcfdbs into /tmp in older OpenSM versions).
+Based on these files the utility checks all CA to CA connectivity. Further analysis for credit deadlock potential is performed and reported.
+In case of an LMC > 0 it reports histograms for how many systems and nodes are common between the different paths for the same port pairs.
+
+=head1 ARGUMENTS
+
+=item -l|--lmc <lmc>
+
+The LMC value used while running OpenSM. Mandatory if not the default 0.
+
+=head1 OPTIONS
+
+=item -v|--verbose
+
+Verbsoe mode
+
+=item -h|--help
+
+Provides this help message
+
+=item -s|--subnet <file>
+
+OpenSM subnet.lst file (default is /var/log/osm-subnet.lst or /tmp/subnet.lst)
+
+=item -f|--fdb <file>
+
+OpenSM dump of Ucast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.fdbs or /tmp/osm.fdbs).
+
+=item -m|--mcfdb <file>
+
+OpenSM dump of Multicast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.mcfdbs or /tmp/osm.mcfdbs).
+
+=item -r|--roots <roots file>
+
+A file holding all root nodes guids (one per line).
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
+
diff --git a/ibdm/doc/ibdmsh.1 b/ibdm/doc/ibdmsh.1
new file mode 100644
index 0000000..e08c648
--- /dev/null
+++ b/ibdm/doc/ibdmsh.1
@@ -0,0 +1,595 @@
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDMSH 1"
+.TH IBDMSH 1 "2009-02-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+ibdmsh \- Extentended \s-1TCL\s0 shell
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBibdmsh\fR is a \s-1TCL\s0 shell extended with interface for the \s-1IB\s0 data model.
+To use this shell you will write \s-1TCL\s0 code that directly access the \s-1IB\s0 data model objects and functions.
+.PP
+The following sub sections provide detailed definition for those objects and \s-1API\s0.
+.SH "IBDM Constants"
+.IX Header "IBDM Constants"
+.SS "Node Types"
+.IX Subsection "Node Types"
+The following constants are used by the node object type field
+.Sp
+.RS 4
+[ Constant : int  ] \f(CW$IB_UNKNOWN_NODE_TYPE\fR = \s-1IB_UNKNOWN_NODE_TYPE\s0
+.Sp
+[ Constant : int  ] \f(CW$IB_SW_NODE\fR = \s-1IB_SW_NODE\s0
+.Sp
+[ Constant : int  ] \f(CW$IB_CA_NODE\fR = \s-1IB_CA_NODE\s0
+.RE
+.SS "Log Verbosity Flags"
+.IX Subsection "Log Verbosity Flags"
+The following constants are used as argument bits for the global variable \f(CW$FabricUtilsVerboseLevel\fR
+.Sp
+.RS 4
+[ Constant : int  ] \f(CW$FABU_LOG_NONE\fR = 0x0
+.Sp
+[ Constant : int  ] \f(CW$FABU_LOG_ERROR\fR = 0x1
+.Sp
+[ Constant : int  ] \f(CW$FABU_LOG_INFO\fR = 0x2
+.Sp
+[ Constant : int  ]  \f(CW$FABU_LOG_VERBOSE\fR = 0x4
+.RE
+.SH "IBDM Globals"
+.IX Header "IBDM Globals"
+Log level: set to FABU_LOG* values
+.Sp
+.RS 4
+[ Global : int ] \f(CW$FabricUtilsVerboseLevel\fR
+.RE
+.SH "IBDM Objects"
+.IX Header "IBDM Objects"
+This section decribes the various object types exposed by \s-1IBDM\s0.
+.PP
+\&\s-1IBDM\s0 exposes some of its internal objects. The objects identifiers returned by the various function calls are formatted according to the following rules:
+.PP
+Fabric: fabric:<idx>
+.PP
+System: system:<fab idx>:<sys name>
+.PP
+SysPort: sysport:<fab idx>:<sys name>:<port name>
+.PP
+Node: node:<fab idx>:<node name>
+.PP
+Port: port:<fab idx>:<node name>/<port num>
+.PP
+\&\s-1IBDM\s0 Objects are standard Swig-Tcl objects. As such they have two flavors for their usage: Variables, Objects.
+.PP
+\&\fBVariables/Pointers:\fR
+   For each object attribute a \*(L"get\*(R" and \*(L"set\*(R" methods are provided.
+   The format of the methods is: <class>_<attribute>_<get|set>.
+   The \*(L"set\*(R" method is only available for read/write attributes.
+.PP
+.Vb 4
+\&   Example:
+\&   set nodes [ibdm_get_nodes]
+\&   set node  [lindex $nodes 0]
+\&   IBNode_numPorts_get $node
+.Ve
+.PP
+\&\fBObjects:\fR
+   Given an object pointer one can convert it to a Tcl \*(L"Object\*(R"
+   using the following command:
+   <class> <obj_name> \-this <obj pointer>
+.PP
+.Vb 2
+\&   Once declared the <obj\-name> can be used in conjunction to
+\&   with the standard "configure" and "cget" commands.
+\&
+\&   Example (following the previous one):
+\&   IBFabric VaTech \-this $fabric
+\&   VaTech cget \-NodeByName
+\&
+\&   To delete an object symbol (and enable its mapping to another
+\&   pointer) use:
+\&   rename <obj name> ""
+\&   for example:
+\&   rename VaTech ""
+.Ve
+.SS "class IBPort"
+.IX Subsection "class IBPort"
+The following are the different fields and methods of the \s-1IB\s0 Port class which describes an \s-1IB\s0 device (chip) physical port.
+.IP "[ Member data: returns IBPort * ] \-p_remotePort" 4
+.IX Item "[ Member data: returns IBPort * ] -p_remotePort"
+Port connected on the other side of link
+.IP "[ Member data: returns IBSysPort * ] \-p_sysPort" 4
+.IX Item "[ Member data: returns IBSysPort * ] -p_sysPort"
+The system port (if any) connected to
+.IP "[ Member data: returns IBNode * ] \-p_node" 4
+.IX Item "[ Member data: returns IBNode * ] -p_node"
+The node the port is part of.
+.IP "[ Member data: returns int ] \-num" 4
+.IX Item "[ Member data: returns int ] -num"
+Physical ports are identified by number.
+.IP "[ Member data: returns unsigned int  ] \-base_lid" 4
+.IX Item "[ Member data: returns unsigned int  ] -base_lid"
+The base lid assigned to the port.
+.IP "[ Member data: returns IBLinkWidth * ] \-width" 4
+.IX Item "[ Member data: returns IBLinkWidth * ] -width"
+The link width of the port
+.IP "[ Member data: returns IBLinkSpeed * ] \-speed" 4
+.IX Item "[ Member data: returns IBLinkSpeed * ] -speed"
+The link speed of the port
+.IP "[ Member data: returns unsigned int  ] \-counter1" 4
+.IX Item "[ Member data: returns unsigned int  ] -counter1"
+A generic value to be used by various algorithms
+.IP "[ Constructor: returns IBPort * ] IBPort name p_nodePtr number" 4
+.IX Item "[ Constructor: returns IBPort * ] IBPort name p_nodePtr number"
+IBPort constructor
+.IP "[ Member : returns new_uint64_t  ] guid_get" 4
+.IX Item "[ Member : returns new_uint64_t  ] guid_get"
+Obtain the guid of the port
+.IP "[ Member : returns void  ] guid_set guid" 4
+.IX Item "[ Member : returns void  ] guid_set guid"
+Modify the guid of the port
+.IP "[ Member : returns new_string  ] getName" 4
+.IX Item "[ Member : returns new_string  ] getName"
+Get the port name: A device port connected to system port (front pannel) returns the front pannel port name.
+.IP "[ Member : returns void  ] connect p_otherPort ?width? ?speed?" 4
+.IX Item "[ Member : returns void  ] connect p_otherPort ?width? ?speed?"
+Connect the port to another node port with optional width and speed parameters
+.IP "[ Member : returns int  ] disconnect" 4
+.IX Item "[ Member : returns int  ] disconnect"
+Disconnect the port. Return 0 if successful
+.SS "class IBNode"
+.IX Subsection "class IBNode"
+The \s-1IB\s0 Node class represents a single \s-1IB\s0 Device (chip)
+.IP "[ Member data: returns string * ] \-name" 4
+.IX Item "[ Member data: returns string * ] -name"
+Name of the node (instance name of the chip)
+.IP "[ Member data: returns IBNodeType  ] \-type" 4
+.IX Item "[ Member data: returns IBNodeType  ] -type"
+Either a \f(CW$IB_SW_NODE\fR or \f(CW$IB_CA_NODE\fR
+.IP "[ Member data: returns uint16_t * ] \-devId" 4
+.IX Item "[ Member data: returns uint16_t * ] -devId"
+The device \s-1ID\s0 of the node
+.IP "[ Member data: returns uint16_t * ] \-revId" 4
+.IX Item "[ Member data: returns uint16_t * ] -revId"
+The device revision Id.
+.IP "[ Member data: returns uint16_t * ] \-vendId" 4
+.IX Item "[ Member data: returns uint16_t * ] -vendId"
+The device Vendor \s-1ID\s0.
+.IP "[ Member data: returns string * ] \-attributes" 4
+.IX Item "[ Member data: returns string * ] -attributes"
+Comma-sep string of arbitrary attributes k=v
+.IP "[ Member data: returns uint8_t ] \-rank" 4
+.IX Item "[ Member data: returns uint8_t ] -rank"
+The rank of the node (0 is a root)
+.IP "[ Member data: returns IBSystem * ] \-p_system" 4
+.IX Item "[ Member data: returns IBSystem * ] -p_system"
+What system we belong to
+.IP "[ Member data: returns IBFabric * ] \-p_fabric" 4
+.IX Item "[ Member data: returns IBFabric * ] -p_fabric"
+What fabric we belong to.
+.IP "[ Member data: returns unsigned int  ] \-numPorts" 4
+.IX Item "[ Member data: returns unsigned int  ] -numPorts"
+Number of physical ports
+.IP "[ Member data: returns vec_pport * ] \-Ports" 4
+.IX Item "[ Member data: returns vec_pport * ] -Ports"
+Vector of all the ports
+.IP "[ Member data: returns vec_vec_byte * ] \-MinHopsTable" 4
+.IX Item "[ Member data: returns vec_vec_byte * ] -MinHopsTable"
+A table of the number of hops required to get from each port to each target \s-1LID\s0
+.IP "[ Member data: returns vec_byte * ] \-LFT" 4
+.IX Item "[ Member data: returns vec_byte * ] -LFT"
+The \s-1LFT\s0 of this node (for switches only) which is a long vector of target ports \- index is the \s-1LID\s0
+.IP "[ Member : returns new_uint64_t  ] guid_get" 4
+.IX Item "[ Member : returns new_uint64_t  ] guid_get"
+Obtain the node \s-1GUID\s0
+.IP "[ Member : returns void  ] guid_set guid" 4
+.IX Item "[ Member : returns void  ] guid_set guid"
+Set the node \s-1GUID\s0
+.IP "[ Constructor: returns IBNode * ] IBNode name n p_fab p_sys t np" 4
+.IX Item "[ Constructor: returns IBNode * ] IBNode name n p_fab p_sys t np"
+Constractor
+.IP "[ Member : returns IBPort * ] makePort num" 4
+.IX Item "[ Member : returns IBPort * ] makePort num"
+Create a new port by its number (if required) return the port pointer
+.IP "[ Member : returns IBPort * ] getPort num" 4
+.IX Item "[ Member : returns IBPort * ] getPort num"
+Get a port by number num = 1..N:
+.IP "[ Member : returns void  ] setHops p_port lid hops" 4
+.IX Item "[ Member : returns void  ] setHops p_port lid hops"
+Set the min hop for the given port (* is all) lid pair
+.IP "[ Member : returns int  ] getHops p_port lid" 4
+.IX Item "[ Member : returns int  ] getHops p_port lid"
+Get the min number of hops defined for the given port or all
+.IP "[ Member : returns IBPort * ] getFirstMinHopPort lid" 4
+.IX Item "[ Member : returns IBPort * ] getFirstMinHopPort lid"
+Scan the node ports and find the first port with min hop to the lid
+.IP "[ Member : returns void  ] setLFTPortForLid lid portNum" 4
+.IX Item "[ Member : returns void  ] setLFTPortForLid lid portNum"
+Set the Linear Forwarding Table for the given \s-1LID\s0
+.IP "[ Member : returns int  ] getLFTPortForLid lid" 4
+.IX Item "[ Member : returns int  ] getLFTPortForLid lid"
+Get the \s-1LFT\s0 for a given \s-1LID\s0
+.IP "[ Member : returns void  ] repHopTable" 4
+.IX Item "[ Member : returns void  ] repHopTable"
+Dump out the min hop table of the node
+.SS "class IBSysPort"
+.IX Subsection "class IBSysPort"
+The IBSysPort class represents an \s-1IB\s0 plug on the system front or back pannels
+.IP "[ Member data: returns string * ] \-name" 4
+.IX Item "[ Member data: returns string * ] -name"
+The front pannel name (silk) of the port
+.IP "[ Member data: returns IBSysPort * ] \-p_remoteSysPort" 4
+.IX Item "[ Member data: returns IBSysPort * ] -p_remoteSysPort"
+If connected the other side sys port
+.IP "[ Member data: returns IBSystem * ] \-p_system" 4
+.IX Item "[ Member data: returns IBSystem * ] -p_system"
+System it benongs to
+.IP "[ Member data: returns IBPort * ] \-p_nodePort" 4
+.IX Item "[ Member data: returns IBPort * ] -p_nodePort"
+The node port it connects to.
+.IP "[ Constructor: returns IBSysPort * ] IBSysPort name n p_sys" 4
+.IX Item "[ Constructor: returns IBSysPort * ] IBSysPort name n p_sys"
+Constructor
+.IP "[ Member : returns void  ] connect p_otherSysPort ?width? ?speed?" 4
+.IX Item "[ Member : returns void  ] connect p_otherSysPort ?width? ?speed?"
+Connect two SysPorts
+.IP "[ Member : returns int  ] disconnect" 4
+.IX Item "[ Member : returns int  ] disconnect"
+Disconnect the SysPort (and ports). Return 0 if successful
+.SS "class IBSystem"
+.IX Subsection "class IBSystem"
+The IBSystem class represents an entire chassis
+.IP "[ Member data: returns string * ] \-name" 4
+.IX Item "[ Member data: returns string * ] -name"
+The \*(L"host\*(R" name of the system
+.IP "[ Member data: returns string * ] \-type" 4
+.IX Item "[ Member data: returns string * ] -type"
+What is the type i.e. Cougar, Buffalo, \s-1MTS2400\s0, etc. A corresponding \s-1IBNL\s0 file should exist \- defining this system type
+.IP "[ Member data: returns IBFabric * ] \-p_fabric" 4
+.IX Item "[ Member data: returns IBFabric * ] -p_fabric"
+Fabric the system belongs to
+.IP "[ Member data: returns map_str_pnode * ] \-NodeByName" 4
+.IX Item "[ Member data: returns map_str_pnode * ] -NodeByName"
+Provide the node pointer by its name
+.IP "[ Member data: returns map_str_psysport * ] \-PortByName" 4
+.IX Item "[ Member data: returns map_str_psysport * ] -PortByName"
+A map provising pointer to the SysPort by name
+.IP "[ Constructor: returns IBSystem * ] IBSystem name n p_fab t" 4
+.IX Item "[ Constructor: returns IBSystem * ] IBSystem name n p_fab t"
+Constractor
+.IP "[ Member : returns new_uint64_t  ] guid_get" 4
+.IX Item "[ Member : returns new_uint64_t  ] guid_get"
+Obtain the system image \s-1GUID\s0
+.IP "[ Member : returns void  ] guid_set guid" 4
+.IX Item "[ Member : returns void  ] guid_set guid"
+Set the system image \s-1GUID\s0
+.IP "[ Member : returns IBSysPort * ] makeSysPort pName" 4
+.IX Item "[ Member : returns IBSysPort * ] makeSysPort pName"
+Make sure we got the port defined (so define it if not)
+.IP "[ Member : returns IBPort * ] getSysPortNodePortByName sysPortName" 4
+.IX Item "[ Member : returns IBPort * ] getSysPortNodePortByName sysPortName"
+Get the node port for the given sys port by name
+.IP "[ Member : returns IBSysPort * ] getSysPort name" 4
+.IX Item "[ Member : returns IBSysPort * ] getSysPort name"
+Get a Sys Port by name
+.SS "class IBFabric"
+.IX Subsection "class IBFabric"
+Represents an entire \s-1IB\s0 subnet made of systems
+.IP "[ Member data: returns map_str_pnode * ] \-NodeByName" 4
+.IX Item "[ Member data: returns map_str_pnode * ] -NodeByName"
+Provide a list of node name and pointer pairs
+.IP "[ Member data: returns map_str_psys * ] \-SystemByName" 4
+.IX Item "[ Member data: returns map_str_psys * ] -SystemByName"
+Provide a list of system name and pointer pairs
+.IP "[ Member data: returns vec_pport * ] \-PortByLid" 4
+.IX Item "[ Member data: returns vec_pport * ] -PortByLid"
+Provides a list of system port name and pointer pairs
+.IP "[ Member data: returns map_guid_pnode * ] \-NodeByGuid" 4
+.IX Item "[ Member data: returns map_guid_pnode * ] -NodeByGuid"
+Provides a list of node guid and node pointer pairs
+.IP "[ Member data: returns map_guid_psys * ] \-SystemByGuid" 4
+.IX Item "[ Member data: returns map_guid_psys * ] -SystemByGuid"
+Provides a list of system image guid and system pointer pairs
+.IP "[ Member data: returns map_guid_pport * ] \-PortByGuid" 4
+.IX Item "[ Member data: returns map_guid_pport * ] -PortByGuid"
+Provides a list of port guid and port pointer pairs
+.IP "[ Member data: returns unsigned int  ] \-minLid" 4
+.IX Item "[ Member data: returns unsigned int  ] -minLid"
+Track min lid used.
+.IP "[ Member data: returns unsigned int  ] \-maxLid" 4
+.IX Item "[ Member data: returns unsigned int  ] -maxLid"
+Track max lid used.
+.IP "[ Member data: returns unsigned int  ] \-lmc" 4
+.IX Item "[ Member data: returns unsigned int  ] -lmc"
+\&\s-1LMC\s0 value used
+.IP "[ Member : returns IBNode * ] makeNode n p_sys type numPorts" 4
+.IX Item "[ Member : returns IBNode * ] makeNode n p_sys type numPorts"
+Get the node by its name (create one of does not exist)
+.IP "[ Member : returns IBNode * ] getNode name" 4
+.IX Item "[ Member : returns IBNode * ] getNode name"
+Get the node by its name
+.IP "[ Member : returns list_pnode * ] getNodesByType type" 4
+.IX Item "[ Member : returns list_pnode * ] getNodesByType type"
+Return the list of node pointers matching the required type
+.IP "[ Member : returns IBSystem * ] makeGenericSystem name" 4
+.IX Item "[ Member : returns IBSystem * ] makeGenericSystem name"
+Create a new generic system \- basically an empty container for nodes...
+.IP "[ Member : returns IBSystem * ] makeSystem name type" 4
+.IX Item "[ Member : returns IBSystem * ] makeSystem name type"
+Create a new system \- the type must have a registed factory.
+.IP "[ Member : returns IBSystem * ] getSystem name" 4
+.IX Item "[ Member : returns IBSystem * ] getSystem name"
+Get system by name
+.IP "[ Member : returns IBSystem * ] getSystemByGuid guid" 4
+.IX Item "[ Member : returns IBSystem * ] getSystemByGuid guid"
+get the system by its guid
+.IP "[ Member : returns IBNode * ] getNodeByGuid guid" 4
+.IX Item "[ Member : returns IBNode * ] getNodeByGuid guid"
+get the node by its guid
+.IP "[ Member : returns IBPort * ] getPortByGuid guid" 4
+.IX Item "[ Member : returns IBPort * ] getPortByGuid guid"
+get the port by its guid
+.IP "[ Member : returns void  ] addCable t1 n1 p1 t2 n2 p2 ?width? ?speed?" 4
+.IX Item "[ Member : returns void  ] addCable t1 n1 p1 t2 n2 p2 ?width? ?speed?"
+Adds a cable given two sets of node type, node name and port number. Optionally  use a given width and speed for the connection
+.IP "[ Member : returns int  ] parseCables fn" 4
+.IX Item "[ Member : returns int  ] parseCables fn"
+Parse the cables file and build the fabric
+.IP "[ Member : returns int  ] parseTopology fn" 4
+.IX Item "[ Member : returns int  ] parseTopology fn"
+Parse Topology File and build the fabric
+.IP "[ Member : returns int  ] addLink type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 lid2 portNum2 ?width? ?speed?" 4
+.IX Item "[ Member : returns int  ] addLink type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 lid2 portNum2 ?width? ?speed?"
+Add a link into the fabric \- this will create system and nodes as required.
+.IP "[ Member : returns int  ] parseSubnetLinks fn" 4
+.IX Item "[ Member : returns int  ] parseSubnetLinks fn"
+Parse the OpenSM subnet.lst file and build the fabric from it.
+.IP "[ Member : returns int  ] parseFdbFile fn" 4
+.IX Item "[ Member : returns int  ] parseFdbFile fn"
+Parse OpenSM \s-1FDB\s0 dump file and fill in the switches \s-1LFT\s0 tables
+.IP "[ Member : returns int  ] parseMCFdbFile fn" 4
+.IX Item "[ Member : returns int  ] parseMCFdbFile fn"
+Parse an OpenSM MCFDBs file and set the \s-1MFT\s0 table accordingly
+.IP "[ Member : returns void  ] setLidPort lid p_port" 4
+.IX Item "[ Member : returns void  ] setLidPort lid p_port"
+Set a lid port
+.IP "[ Member : returns IBPort * ] getPortByLid lid" 4
+.IX Item "[ Member : returns IBPort * ] getPortByLid lid"
+Get a port by lid
+.IP "[ returns IBFabric * ] new_IBFabric" 4
+.IX Item "[ returns IBFabric * ] new_IBFabric"
+Construct a new fabric
+.IP "[ returns void  ] delete_IBFabric p_fabric" 4
+.IX Item "[ returns void  ] delete_IBFabric p_fabric"
+Destruct a fabric
+.SH "IBDM Functions"
+.IX Header "IBDM Functions"
+This section provide the details about the functions \s-1IBDM\s0 exposes.
+The order follows the expected order in a regular \s-1IBDM\s0 flow.
+They all return 0 on succes.
+.SS "Subnet Utilities"
+.IX Subsection "Subnet Utilities"
+The file holds a set of utilities to be run on the subnet to mimic OpenSM initialization and analyze the results:
+.IP "[ returns int  ] ibdmAssignLids p_smNodePort ?lmc?" 4
+.IX Item "[ returns int  ] ibdmAssignLids p_smNodePort ?lmc?"
+Assign LIDs with an optional \s-1LMC\s0 (multiple \s-1LID\s0 per port)
+.IP "[ returns int  ] ibdmCalcMinHopTables p_fabric" 4
+.IX Item "[ returns int  ] ibdmCalcMinHopTables p_fabric"
+Calculate and populate the MinHopTables required for running OpenSM style routing.
+.IP "[ returns int  ] ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex" 4
+.IX Item "[ returns int  ] ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex"
+Calculate and populate the MinHopTables following Up/Down rule.
+.IP "[ returns int  ] ibdmOsmRoute p_fabric" 4
+.IX Item "[ returns int  ] ibdmOsmRoute p_fabric"
+Route the fabric with OpenSM style routing
+.IP "[ returns int  ] ibdmEnhancedRoute p_fabric" 4
+.IX Item "[ returns int  ] ibdmEnhancedRoute p_fabric"
+Route the fabric with OpenSM style routing enhanced with better support for \s-1LMC\s0 > 0
+.IP "[ returns int  ] ibdmFatTreeRoute p_fabric rootNodes" 4
+.IX Item "[ returns int  ] ibdmFatTreeRoute p_fabric rootNodes"
+Route the fabric using algorithm that fits only full fat trees
+.IP "[ returns int  ] ibdmFatTreeAnalysis p_fabric" 4
+.IX Item "[ returns int  ] ibdmFatTreeAnalysis p_fabric"
+Analyze the fabric to see if it is a fat tree and route it if it is
+.IP "[ returns int  ] ibdmVerifyCAtoCARoutes p_fabric" 4
+.IX Item "[ returns int  ] ibdmVerifyCAtoCARoutes p_fabric"
+Make sure all (H)CAs are connected to each other based on the \s-1LFT\s0 settings
+.IP "[ returns int  ] ibdmVerifyAllPaths p_fabric" 4
+.IX Item "[ returns int  ] ibdmVerifyAllPaths p_fabric"
+Make sure all Switches and (H)CAs are connected to each other based on the \s-1LFT\s0 settings
+.IP "[ returns int  ] ibdmAnalyzeLoops p_fabric" 4
+.IX Item "[ returns int  ] ibdmAnalyzeLoops p_fabric"
+A rigorous check for credit loops. This algorithm does a full and accurate check but its reporting of credit loop paths is hard to interpret. If you know the roots of the tree (or the tree is symmetrical) it is preferable to use the ibdmReportNonUpDownCa2CaPaths
+.IP "[ returns list_pnode  ] ibdmFindSymmetricalTreeRoots p_fabric" 4
+.IX Item "[ returns list_pnode  ] ibdmFindSymmetricalTreeRoots p_fabric"
+Analyze the tree topology and find the roots of the tree based on its symmetry
+.IP "[ returns list_pnode  ] ibdmFindRootNodesByMinHop p_fabric" 4
+.IX Item "[ returns list_pnode  ] ibdmFindRootNodesByMinHop p_fabric"
+Based on the MinHopTable find the roots of the tree. A 5% assymetry is allowed
+.IP "[ returns int  ] ibdmRankFabricByRoots p_fabric rootNodes" 4
+.IX Item "[ returns int  ] ibdmRankFabricByRoots p_fabric rootNodes"
+Given the list of root nodes (names) rank the nodes (root = 0)
+.IP "[ returns int  ] ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes" 4
+.IX Item "[ returns int  ] ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes"
+Analyze the routes to make sure Up/Down rule is maintained
+.IP "[ returns int  ] ibdmCheckMulticastGroups p_fabric" 4
+.IX Item "[ returns int  ] ibdmCheckMulticastGroups p_fabric"
+Verify connectivity of multicast routing
+.IP "[ returns int  ] ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes" 4
+.IX Item "[ returns int  ] ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes"
+Analyze multicast routing to make sure it obeys Up/Down rule
+.IP "[ returns int  ] ibdmLinkCoverageAnalysis p_fabric rootNodes" 4
+.IX Item "[ returns int  ] ibdmLinkCoverageAnalysis p_fabric rootNodes"
+Prepare a schedule for transmission from a set of sources to destinations such that in each stage there are no links that are over subscribed and after all stages all the links of the fabric were excersized
+.SS "Tracing Utilities"
+.IX Subsection "Tracing Utilities"
+These functions allows tracing paths reporting back the visited nodes
+.IP "[ returns int  ] ibdmTraceDRPathRoute p_smNodePort drPathPortNums" 4
+.IX Item "[ returns int  ] ibdmTraceDRPathRoute p_smNodePort drPathPortNums"
+Trace a directed route path from the given port
+.IP "[ returns int  ] ibdmTraceRouteByMinHops p_fabric slid dlid" 4
+.IX Item "[ returns int  ] ibdmTraceRouteByMinHops p_fabric slid dlid"
+Trace a path along the MinHop from the source to destination LIDs
+.IP "[ returns int  ] ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList" 4
+.IX Item "[ returns int  ] ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList"
+Trace a path following the \s-1LFT\s0 updating the hops and node list variables
+.SS "Topology Matching Utilities"
+.IX Subsection "Topology Matching Utilities"
+The following utilities matches two fabrics providing both missmatch messages and a unified fabric
+.IP "[ returns int  ] ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid" 4
+.IX Item "[ returns int  ] ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid"
+Match a topology based fabric with a discovered one starting at the enchor port
+.IP "[ returns int  ] ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric" 4
+.IX Item "[ returns int  ] ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric"
+After matching using ibdmMatchFabrics populate the \*(L"merged fabric\*(R" with information merged for the matched nodes
+.SS "Congestion Analysis Utilities"
+.IX Subsection "Congestion Analysis Utilities"
+Provide ability to track and report link oversubscription
+.IP "[ returns int  ] ibdmCongInit p_fabric" 4
+.IX Item "[ returns int  ] ibdmCongInit p_fabric"
+Initialize the tracking system
+.IP "[ returns int  ] ibdmCongCleanup p_fabric" 4
+.IX Item "[ returns int  ] ibdmCongCleanup p_fabric"
+Cleanup the counters and deallocate
+.IP "[ returns int  ] ibdmCongClear p_fabric" 4
+.IX Item "[ returns int  ] ibdmCongClear p_fabric"
+Cleanup counters
+.IP "[ returns int  ] ibdmCongTrace p_fabric srcLid dstLid" 4
+.IX Item "[ returns int  ] ibdmCongTrace p_fabric srcLid dstLid"
+Trace a path between the LIDs updating link usage info
+.IP "[ returns int  ] ibdmCongReport p_fabric" 4
+.IX Item "[ returns int  ] ibdmCongReport p_fabric"
+Report the resulting congestion information
+.IP "[ returns int  ] ibdmCongDump p_fabric" 4
+.IX Item "[ returns int  ] ibdmCongDump p_fabric"
+Dump all congestion tracking info
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdmsh.pod b/ibdm/doc/ibdmsh.pod
new file mode 100644
index 0000000..345a71d
--- /dev/null
+++ b/ibdm/doc/ibdmsh.pod
@@ -0,0 +1,633 @@
+=head1 NAME
+
+B<ibdmsh> IB DATA MODEL - Extentended TCL shell
+
+=head1 DESCRIPTION
+
+B<ibdmsh> is a TCL shell extended with interface for the IB data model.
+To use this shell you will write TCL code that directly access the IB data model objects and functions.
+
+The following sub sections provide detailed definition for those objects and API.
+
+=head1 IBDM Constants
+
+=head2 Node Types
+
+The following constants are used by the node object type field
+
+=over 4
+
+[ Constant : int  ] $IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE
+
+[ Constant : int  ] $IB_SW_NODE = IB_SW_NODE
+
+[ Constant : int  ] $IB_CA_NODE = IB_CA_NODE
+
+=back
+
+=head2 Log Verbosity Flags
+
+The following constants are used as argument bits for the global variable $FabricUtilsVerboseLevel
+
+=over 4
+
+[ Constant : int  ] $FABU_LOG_NONE = 0x0
+
+[ Constant : int  ] $FABU_LOG_ERROR = 0x1
+
+[ Constant : int  ] $FABU_LOG_INFO = 0x2
+
+[ Constant : int  ]  $FABU_LOG_VERBOSE = 0x4
+
+=back
+
+=head1 IBDM Globals
+
+Log level: set to FABU_LOG* values
+
+=over 4
+
+[ Global : int ] $FabricUtilsVerboseLevel
+
+=back
+
+=head1 IBDM Objects
+
+This section decribes the various object types exposed by IBDM.
+
+
+IBDM exposes some of its internal objects. The objects identifiers returned by the various function calls are formatted according to the following rules:
+
+Fabric: fabric:<idx>
+
+System: system:<fab idx>:<sys name>
+
+SysPort: sysport:<fab idx>:<sys name>:<port name>
+
+Node: node:<fab idx>:<node name>
+
+Port: port:<fab idx>:<node name>/<port num>
+
+IBDM Objects are standard Swig-Tcl objects. As such they have two flavors for their usage: Variables, Objects.
+
+B<Variables/Pointers:>
+   For each object attribute a "get" and "set" methods are provided.
+   The format of the methods is: <class>_<attribute>_<get|set>.
+   The "set" method is only available for read/write attributes.
+
+   Example:
+   set nodes [ibdm_get_nodes]
+   set node  [lindex $nodes 0]
+   IBNode_numPorts_get $node
+
+B<Objects:>
+   Given an object pointer one can convert it to a Tcl "Object"
+   using the following command:
+   <class> <obj_name> -this <obj pointer>
+
+   Once declared the <obj-name> can be used in conjunction to
+   with the standard "configure" and "cget" commands.
+
+   Example (following the previous one):
+   IBFabric VaTech -this $fabric
+   VaTech cget -NodeByName
+
+   To delete an object symbol (and enable its mapping to another
+   pointer) use:
+   rename <obj name> ""
+   for example:
+   rename VaTech ""
+
+=head2 class IBPort
+
+The following are the different fields and methods of the IB Port class which describes an IB device (chip) physical port.
+
+=over 4
+
+=item [ Member data: returns IBPort * ] -p_remotePort
+
+Port connected on the other side of link
+
+=item [ Member data: returns IBSysPort * ] -p_sysPort
+
+The system port (if any) connected to
+
+=item [ Member data: returns IBNode * ] -p_node
+
+The node the port is part of.
+
+=item [ Member data: returns int ] -num
+
+Physical ports are identified by number.
+
+=item [ Member data: returns unsigned int  ] -base_lid
+
+The base lid assigned to the port.
+
+=item [ Member data: returns IBLinkWidth * ] -width
+
+The link width of the port
+
+=item [ Member data: returns IBLinkSpeed * ] -speed
+
+The link speed of the port
+
+=item [ Member data: returns unsigned int  ] -counter1
+
+A generic value to be used by various algorithms
+
+=item [ Constructor: returns IBPort * ] IBPort name p_nodePtr number
+
+IBPort constructor
+
+=item [ Member : returns new_uint64_t  ] guid_get
+
+Obtain the guid of the port
+
+=item [ Member : returns void  ] guid_set guid
+
+Modify the guid of the port
+
+=item [ Member : returns new_string  ] getName
+
+Get the port name: A device port connected to system port (front pannel) returns the front pannel port name.
+
+=item [ Member : returns void  ] connect p_otherPort ?width? ?speed?
+
+Connect the port to another node port with optional width and speed parameters
+
+=item [ Member : returns int  ] disconnect
+
+Disconnect the port. Return 0 if successful
+
+=back
+
+=head2 class IBNode
+
+The IB Node class represents a single IB Device (chip)
+
+=over 4
+
+=item [ Member data: returns string * ] -name
+
+Name of the node (instance name of the chip)
+
+=item [ Member data: returns IBNodeType  ] -type
+
+Either a $IB_SW_NODE or $IB_CA_NODE
+
+=item [ Member data: returns uint16_t * ] -devId
+
+The device ID of the node
+
+=item [ Member data: returns uint16_t * ] -revId
+
+The device revision Id.
+
+=item [ Member data: returns uint16_t * ] -vendId
+
+The device Vendor ID.
+
+=item [ Member data: returns string * ] -attributes
+
+Comma-sep string of arbitrary attributes k=v
+
+=item [ Member data: returns uint8_t ] -rank
+
+The rank of the node (0 is a root)
+
+=item [ Member data: returns IBSystem * ] -p_system
+
+What system we belong to
+
+=item [ Member data: returns IBFabric * ] -p_fabric
+
+What fabric we belong to.
+
+=item [ Member data: returns unsigned int  ] -numPorts
+
+Number of physical ports
+
+=item [ Member data: returns vec_pport * ] -Ports
+
+Vector of all the ports
+
+=item [ Member data: returns vec_vec_byte * ] -MinHopsTable
+
+A table of the number of hops required to get from each port to each target LID
+
+=item [ Member data: returns vec_byte * ] -LFT
+
+The LFT of this node (for switches only) which is a long vector of target ports - index is the LID
+
+=item [ Member : returns new_uint64_t  ] guid_get
+
+Obtain the node GUID
+
+=item [ Member : returns void  ] guid_set guid
+
+Set the node GUID
+
+=item [ Constructor: returns IBNode * ] IBNode name n p_fab p_sys t np
+
+Constractor
+
+=item [ Member : returns IBPort * ] makePort num
+
+Create a new port by its number (if required) return the port pointer
+
+=item [ Member : returns IBPort * ] getPort num
+
+Get a port by number num = 1..N:
+
+=item [ Member : returns void  ] setHops p_port lid hops
+
+Set the min hop for the given port (* is all) lid pair
+
+=item [ Member : returns int  ] getHops p_port lid
+
+Get the min number of hops defined for the given port or all
+
+=item [ Member : returns IBPort * ] getFirstMinHopPort lid
+
+Scan the node ports and find the first port with min hop to the lid
+
+=item [ Member : returns void  ] setLFTPortForLid lid portNum
+
+Set the Linear Forwarding Table for the given LID
+
+=item [ Member : returns int  ] getLFTPortForLid lid
+
+Get the LFT for a given LID
+
+=item [ Member : returns void  ] repHopTable
+
+Dump out the min hop table of the node
+
+=back
+
+=head2 class IBSysPort
+
+The IBSysPort class represents an IB plug on the system front or back pannels
+
+=over 4
+
+=item [ Member data: returns string * ] -name
+
+The front pannel name (silk) of the port
+
+=item [ Member data: returns IBSysPort * ] -p_remoteSysPort
+
+If connected the other side sys port
+
+=item [ Member data: returns IBSystem * ] -p_system
+
+System it benongs to
+
+=item [ Member data: returns IBPort * ] -p_nodePort
+
+The node port it connects to.
+
+=item [ Constructor: returns IBSysPort * ] IBSysPort name n p_sys
+
+Constructor
+
+=item [ Member : returns void  ] connect p_otherSysPort ?width? ?speed?
+
+Connect two SysPorts
+
+=item [ Member : returns int  ] disconnect
+
+Disconnect the SysPort (and ports). Return 0 if successful
+
+=back
+
+=head2 class IBSystem
+
+The IBSystem class represents an entire chassis
+
+=over 4
+
+=item [ Member data: returns string * ] -name
+
+The "host" name of the system
+
+=item [ Member data: returns string * ] -type
+
+What is the type i.e. Cougar, Buffalo, MTS2400, etc. A corresponding IBNL file should exist - defining this system type
+
+=item [ Member data: returns IBFabric * ] -p_fabric
+
+Fabric the system belongs to
+
+=item [ Member data: returns map_str_pnode * ] -NodeByName
+
+Provide the node pointer by its name
+
+=item [ Member data: returns map_str_psysport * ] -PortByName
+
+A map provising pointer to the SysPort by name
+
+=item [ Constructor: returns IBSystem * ] IBSystem name n p_fab t
+
+Constractor
+
+=item [ Member : returns new_uint64_t  ] guid_get
+
+Obtain the system image GUID
+
+=item [ Member : returns void  ] guid_set guid
+
+Set the system image GUID
+
+=item [ Member : returns IBSysPort * ] makeSysPort pName
+
+Make sure we got the port defined (so define it if not)
+
+=item [ Member : returns IBPort * ] getSysPortNodePortByName sysPortName
+
+Get the node port for the given sys port by name
+
+=item [ Member : returns IBSysPort * ] getSysPort name
+
+Get a Sys Port by name
+
+=back
+
+=head2 class IBFabric
+
+Represents an entire IB subnet made of systems
+
+=over 4
+
+=item [ Member data: returns map_str_pnode * ] -NodeByName
+
+Provide a list of node name and pointer pairs
+
+=item [ Member data: returns map_str_psys * ] -SystemByName
+
+Provide a list of system name and pointer pairs
+
+=item [ Member data: returns vec_pport * ] -PortByLid
+
+Provides a list of system port name and pointer pairs
+
+=item [ Member data: returns map_guid_pnode * ] -NodeByGuid
+
+Provides a list of node guid and node pointer pairs
+
+=item [ Member data: returns map_guid_psys * ] -SystemByGuid
+
+Provides a list of system image guid and system pointer pairs
+
+=item [ Member data: returns map_guid_pport * ] -PortByGuid
+
+Provides a list of port guid and port pointer pairs
+
+=item [ Member data: returns unsigned int  ] -minLid
+
+Track min lid used.
+
+=item [ Member data: returns unsigned int  ] -maxLid
+
+Track max lid used.
+
+=item [ Member data: returns unsigned int  ] -lmc
+
+LMC value used
+
+=item [ Member : returns IBNode * ] makeNode n p_sys type numPorts
+
+Get the node by its name (create one of does not exist)
+
+=item [ Member : returns IBNode * ] getNode name
+
+Get the node by its name
+
+=item [ Member : returns list_pnode * ] getNodesByType type
+
+Return the list of node pointers matching the required type
+
+=item [ Member : returns IBSystem * ] makeGenericSystem name
+
+Create a new generic system - basically an empty container for nodes...
+
+=item [ Member : returns IBSystem * ] makeSystem name type
+
+Create a new system - the type must have a registed factory.
+
+=item [ Member : returns IBSystem * ] getSystem name
+
+Get system by name
+
+=item [ Member : returns IBSystem * ] getSystemByGuid guid
+
+get the system by its guid
+
+=item [ Member : returns IBNode * ] getNodeByGuid guid
+
+get the node by its guid
+
+=item [ Member : returns IBPort * ] getPortByGuid guid
+
+get the port by its guid
+
+=item [ Member : returns void  ] addCable t1 n1 p1 t2 n2 p2 ?width? ?speed?
+
+Adds a cable given two sets of node type, node name and port number. Optionally  use a given width and speed for the connection
+
+=item [ Member : returns int  ] parseCables fn
+
+Parse the cables file and build the fabric
+
+=item [ Member : returns int  ] parseTopology fn
+
+Parse Topology File and build the fabric
+
+=item [ Member : returns int  ] addLink type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 lid2 portNum2 ?width? ?speed?
+
+Add a link into the fabric - this will create system and nodes as required.
+
+=item [ Member : returns int  ] parseSubnetLinks fn
+
+Parse the OpenSM subnet.lst file and build the fabric from it.
+
+=item [ Member : returns int  ] parseFdbFile fn
+
+Parse OpenSM FDB dump file and fill in the switches LFT tables
+
+=item [ Member : returns int  ] parseMCFdbFile fn
+
+Parse an OpenSM MCFDBs file and set the MFT table accordingly
+
+=item [ Member : returns void  ] setLidPort lid p_port
+
+Set a lid port
+
+=item [ Member : returns IBPort * ] getPortByLid lid
+
+Get a port by lid
+
+=item [ returns IBFabric * ] new_IBFabric
+
+Construct a new fabric
+
+=item [ returns void  ] delete_IBFabric p_fabric
+
+Destruct a fabric
+
+=back
+
+=head1 IBDM Functions
+
+This section provide the details about the functions IBDM exposes.
+The order follows the expected order in a regular IBDM flow.
+They all return 0 on succes.
+
+=head2  Subnet Utilities
+
+The file holds a set of utilities to be run on the subnet to mimic OpenSM initialization and analyze the results:
+
+=over 4
+
+=item [ returns int  ] ibdmAssignLids p_smNodePort ?lmc?
+
+Assign LIDs with an optional LMC (multiple LID per port)
+
+=item [ returns int  ] ibdmCalcMinHopTables p_fabric
+
+Calculate and populate the MinHopTables required for running OpenSM style routing.
+
+=item [ returns int  ] ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex
+
+Calculate and populate the MinHopTables following Up/Down rule.
+
+=item [ returns int  ] ibdmOsmRoute p_fabric
+
+Route the fabric with OpenSM style routing
+
+=item [ returns int  ] ibdmEnhancedRoute p_fabric
+
+Route the fabric with OpenSM style routing enhanced with better support for LMC > 0
+
+=item [ returns int  ] ibdmFatTreeRoute p_fabric rootNodes
+
+Route the fabric using algorithm that fits only full fat trees
+
+=item [ returns int  ] ibdmFatTreeAnalysis p_fabric
+
+Analyze the fabric to see if it is a fat tree and route it if it is
+
+=item [ returns int  ] ibdmVerifyCAtoCARoutes p_fabric
+
+Make sure all (H)CAs are connected to each other based on the LFT settings
+
+=item [ returns int  ] ibdmVerifyAllPaths p_fabric
+
+Make sure all Switches and (H)CAs are connected to each other based on the LFT settings
+
+=item [ returns int  ] ibdmAnalyzeLoops p_fabric
+
+A rigorous check for credit loops. This algorithm does a full and accurate check but its reporting of credit loop paths is hard to interpret. If you know the roots of the tree (or the tree is symmetrical) it is preferable to use the ibdmReportNonUpDownCa2CaPaths
+
+=item [ returns list_pnode  ] ibdmFindSymmetricalTreeRoots p_fabric
+
+Analyze the tree topology and find the roots of the tree based on its symmetry
+
+=item [ returns list_pnode  ] ibdmFindRootNodesByMinHop p_fabric
+
+Based on the MinHopTable find the roots of the tree. A 5% assymetry is allowed
+
+=item [ returns int  ] ibdmRankFabricByRoots p_fabric rootNodes
+
+Given the list of root nodes (names) rank the nodes (root = 0)
+
+=item [ returns int  ] ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes
+
+Analyze the routes to make sure Up/Down rule is maintained
+
+=item [ returns int  ] ibdmCheckMulticastGroups p_fabric
+
+Verify connectivity of multicast routing
+
+=item [ returns int  ] ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes
+
+Analyze multicast routing to make sure it obeys Up/Down rule
+
+=item [ returns int  ] ibdmLinkCoverageAnalysis p_fabric rootNodes
+
+Prepare a schedule for transmission from a set of sources to destinations such that in each stage there are no links that are over subscribed and after all stages all the links of the fabric were excersized
+
+=back
+
+=head2  Tracing Utilities
+
+These functions allows tracing paths reporting back the visited nodes
+
+=over 4
+
+=item [ returns int  ] ibdmTraceDRPathRoute p_smNodePort drPathPortNums
+
+Trace a directed route path from the given port
+
+=item [ returns int  ] ibdmTraceRouteByMinHops p_fabric slid dlid
+
+Trace a path along the MinHop from the source to destination LIDs
+
+=item [ returns int  ] ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList
+
+Trace a path following the LFT updating the hops and node list variables
+
+=back
+
+=head2 Topology Matching Utilities
+
+The following utilities matches two fabrics providing both missmatch messages and a unified fabric
+
+=over 4
+
+=item [ returns int  ] ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid
+
+Match a topology based fabric with a discovered one starting at the enchor port
+
+=item [ returns int  ] ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric
+
+After matching using ibdmMatchFabrics populate the "merged fabric" with information merged for the matched nodes
+
+=back
+
+=head2 Congestion Analysis Utilities
+
+Provide ability to track and report link oversubscription
+
+=over 4
+
+=item [ returns int  ] ibdmCongInit p_fabric
+
+Initialize the tracking system
+
+=item [ returns int  ] ibdmCongCleanup p_fabric
+
+Cleanup the counters and deallocate
+
+=item [ returns int  ] ibdmCongClear p_fabric
+
+Cleanup counters
+
+=item [ returns int  ] ibdmCongTrace p_fabric srcLid dstLid
+
+Trace a path between the LIDs updating link usage info
+
+=item [ returns int  ] ibdmCongReport p_fabric
+
+Report the resulting congestion information
+
+=item [ returns int  ] ibdmCongDump p_fabric
+
+Dump all congestion tracking info
+
+=back
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdmtr.1 b/ibdm/doc/ibdmtr.1
new file mode 100644
index 0000000..9442c4a
--- /dev/null
+++ b/ibdm/doc/ibdmtr.1
@@ -0,0 +1,211 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBDMTR 1"
+.TH IBDMTR 1 "2008-06-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.SH "NAME"
+\&\fBibdmtr\fR \-  Fabric Trace Route
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibdmtr [\-v][\-h] {\-c <cbaling file>|\-t <topo file>} \-s <sm node name>
+  \-p <sm port num> \-d <comma\-sep\-dr\-path>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This utility parses a cabling list or topology file describing the systems connections that make a fabric.  Then it start following the direct route provided and print out the systems and nodes on the route.
+.SH "ARGUMENTS Required arguments description."
+.IX Header "ARGUMENTS Required arguments description."
+.IP "\-t|\-\-topology <file>" 4
+.IX Item "-t|--topology <file>"
+.RS 4
+.PD 0
+.IP "Topology file describing the network. See man ibdm\-topology\-file." 4
+.IX Item "Topology file describing the network. See man ibdm-topology-file."
+.RE
+.RS 4
+.RE
+.IP "\-c|\-\-cables <file>" 4
+.IX Item "-c|--cables <file>"
+.RS 4
+.IP "Cabling list file. Following the line format:" 4
+.IX Item "Cabling list file. Following the line format:"
+.RE
+.RS 4
+.PD
+.Sp
+<Sys1Type> <Sys1Name> <Port1Name> <Sys2Type> <Sys2Name> <Port2Name>
+.RE
+.IP "\-s|\-\-sm\-node <name>" 4
+.IX Item "-s|--sm-node <name>"
+.RS 4
+.PD 0
+.IP "The name of the \s-1SM\s0 node (not system). E.g. \s-1OSM/U1\s0." 4
+.IX Item "The name of the SM node (not system). E.g. OSM/U1."
+.RE
+.RS 4
+.RE
+.IP "\-p|\-\-port\-num <num>" 4
+.IX Item "-p|--port-num <num>"
+.RS 4
+.IP "The number of the \s-1SM\s0 node port the \s-1SM\s0 is attached to" 4
+.IX Item "The number of the SM node port the SM is attached to"
+.RE
+.RS 4
+.RE
+.IP "\-d|\-\-dr\-path <comm\-sep\-dr\-path>" 4
+.IX Item "-d|--dr-path <comm-sep-dr-path>"
+.RS 4
+.IP "A list of ports to go out through" 4
+.IX Item "A list of ports to go out through"
+.RE
+.RS 4
+.PD
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "\-v|\-\-verbose" 4
+.IX Item "-v|--verbose"
+.RS 4
+.PD 0
+.IP "verbsoe mode" 4
+.IX Item "verbsoe mode"
+.RE
+.RS 4
+.RE
+.IP "\-h|\-\-help" 4
+.IX Item "-h|--help"
+.RS 4
+.IP "provide this help message" 4
+.IX Item "provide this help message"
+.RE
+.RS 4
+.PD
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibdmtr.pod b/ibdm/doc/ibdmtr.pod
new file mode 100644
index 0000000..15ad7e5
--- /dev/null
+++ b/ibdm/doc/ibdmtr.pod
@@ -0,0 +1,82 @@
+=head1 NAME
+
+B<ibdmtr> -  Fabric Trace Route
+
+=head1 SYNOPSYS
+
+ibdmtr [-v][-h] {-c <cbaling file>|-t <topo file>} -s <sm node name>
+  -p <sm port num> -d <comma-sep-dr-path>
+
+=head1 DESCRIPTION
+
+This utility parses a cabling list or topology file describing the systems connections that make a fabric.  Then it start following the direct route provided and print out the systems and nodes on the route.
+
+=head1 ARGUMENTS
+Required arguments description.
+
+=over
+
+=item -t|--topology <file>
+
+=over
+
+=item Topology file describing the network. See man ibdm-topology-file.
+
+=back
+
+=item -c|--cables <file>
+
+=over
+
+=item Cabling list file. Following the line format:
+
+=back
+
+<Sys1Type> <Sys1Name> <Port1Name> <Sys2Type> <Sys2Name> <Port2Name>
+
+=item -s|--sm-node <name>
+
+=over
+
+=item The name of the SM node (not system). E.g. OSM/U1.
+
+=back
+
+=item -p|--port-num <num>
+
+=over
+
+=item The number of the SM node port the SM is attached to
+
+=back
+
+=item -d|--dr-path <comm-sep-dr-path>
+
+=over
+
+=item A list of ports to go out through
+
+=back
+
+=head1 OPTIONS
+
+=item -v|--verbose
+
+=over
+
+=item verbsoe mode
+
+=back
+
+=item -h|--help
+
+=over
+
+=item provide this help message
+
+=back
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
diff --git a/ibdm/doc/ibtopodiff.1 b/ibdm/doc/ibtopodiff.1
new file mode 100644
index 0000000..cef1579
--- /dev/null
+++ b/ibdm/doc/ibtopodiff.1
@@ -0,0 +1,176 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBTOPODIFF 1"
+.TH IBTOPODIFF 1 "2008-06-16" "IBDM 1.0" "IB DATA MODEL PACKAGE"
+.SH "NAME"
+\&\fBibtoopdiff \- Fabric Topology Matcher\fR
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibtopodiff [\-v][\-h] \-t <topo file> \-d <subnet file> \-s <start node name>
+  \-p <start port num> \-g <start port guid>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This utility performs matching between a given topology file (see man \fBibdm-topology-file\fR) and a \fBsubnet.lst file\fR (this file provides a dump of all links in the discovered fabric and generated by ibdiagnet or OpenSM).
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.RE
+.IP "\-t|\-\-topology <file>"
+.IX Item "-t|--topology <file>"
+Topology file. See man \fBibdm-topology-file\fR for its definition.
+.RE
+.IP "\-d|\-\-discovered <file>"
+.IX Item "-d|--discovered <file>"
+subnet.lst file produced by \fBOpenSM\fR or \fBibdiagnet\fR
+.RE
+.IP "\-s|\-\-start\-node <name>"
+.IX Item "-s|--start-node <name>"
+The name of the matching start node, also known as anchor node. E.g. H\-1/U1
+.RE
+.IP "\-p|\-\-port\-num <num>"
+.IX Item "-p|--port-num <num>"
+The number of the matching start port, also known as anchor port
+.RE
+.IP "\-g|\-\-port\-guid <guid>"
+.IX Item "-g|--port-guid <guid>"
+The guid of the matching start port
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "\-v|\-\-verbose"
+.IX Item "-v|--verbose"
+Verbsoe mode
+.RE
+.IP "\-h|\-\-help"
+.IX Item "-h|--help"
+Provides this help message
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibdm/doc/ibtopodiff.pod b/ibdm/doc/ibtopodiff.pod
new file mode 100644
index 0000000..caf71f4
--- /dev/null
+++ b/ibdm/doc/ibtopodiff.pod
@@ -0,0 +1,48 @@
+=head1 NAME
+
+B<ibtoopdiff - Fabric Topology Matcher>
+
+=head1 SYNOPSYS
+
+ibtopodiff [-v][-h] -t <topo file> -d <subnet file> -s <start node name>
+  -p <start port num> -g <start port guid>
+
+=head1 DESCRIPTION
+
+This utility performs matching between a given topology file (see man B<ibdm-topology-file>) and a B<subnet.lst file> (this file provides a dump of all links in the discovered fabric and generated by ibdiagnet or OpenSM).
+
+=head1 ARGUMENTS
+
+=item -t|--topology <file>
+
+Topology file. See man B<ibdm-topology-file> for its definition.
+
+=item -d|--discovered <file>
+
+subnet.lst file produced by B<OpenSM> or B<ibdiagnet>
+
+=item -s|--start-node <name>
+
+The name of the matching start node, also known as anchor node. E.g. H-1/U1
+
+=item -p|--port-num <num>
+
+The number of the matching start port, also known as anchor port
+
+=item -g|--port-guid <guid>
+
+The guid of the matching start port
+
+=head1 OPTIONS
+
+=item -v|--verbose
+
+Verbsoe mode
+
+=item -h|--help
+
+Provides this help message
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibdm/ibdm/.deps/Bipartite.Plo b/ibdm/ibdm/.deps/Bipartite.Plo
new file mode 100644
index 0000000..b00e882
--- /dev/null
+++ b/ibdm/ibdm/.deps/Bipartite.Plo
@@ -0,0 +1,371 @@
+Bipartite.lo: Bipartite.cc Bipartite.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_algobase.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_list.h \
+  /usr/include/c++/4.3/bits/list.tcc RouteSys.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/vector \
+  /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h
+
+Bipartite.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+RouteSys.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
diff --git a/ibdm/ibdm/.deps/Congestion.Plo b/ibdm/ibdm/.deps/Congestion.Plo
new file mode 100644
index 0000000..b38c209
--- /dev/null
+++ b/ibdm/ibdm/.deps/Congestion.Plo
@@ -0,0 +1,373 @@
+Congestion.lo: Congestion.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h SubnMgt.h TraceRoute.h \
+  /usr/include/c++/4.3/iomanip
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+SubnMgt.h:
+
+TraceRoute.h:
+
+/usr/include/c++/4.3/iomanip:
diff --git a/ibdm/ibdm/.deps/CredLoops.Plo b/ibdm/ibdm/.deps/CredLoops.Plo
new file mode 100644
index 0000000..672a700
--- /dev/null
+++ b/ibdm/ibdm/.deps/CredLoops.Plo
@@ -0,0 +1,386 @@
+CredLoops.lo: CredLoops.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h TraceRoute.h \
+  /usr/include/c++/4.3/algorithm /usr/include/c++/4.3/bits/stl_algo.h \
+  /usr/include/c++/4.3/cstdlib /usr/include/c++/4.3/bits/algorithmfwd.h \
+  /usr/include/c++/4.3/bits/stl_heap.h \
+  /usr/include/c++/4.3/bits/stl_tempbuf.h /usr/include/c++/4.3/iomanip
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+TraceRoute.h:
+
+/usr/include/c++/4.3/algorithm:
+
+/usr/include/c++/4.3/bits/stl_algo.h:
+
+/usr/include/c++/4.3/cstdlib:
+
+/usr/include/c++/4.3/bits/algorithmfwd.h:
+
+/usr/include/c++/4.3/bits/stl_heap.h:
+
+/usr/include/c++/4.3/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.3/iomanip:
diff --git a/ibdm/ibdm/.deps/Fabric.Plo b/ibdm/ibdm/.deps/Fabric.Plo
new file mode 100644
index 0000000..721a175
--- /dev/null
+++ b/ibdm/ibdm/.deps/Fabric.Plo
@@ -0,0 +1,377 @@
+Fabric.lo: Fabric.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h SysDef.h Regexp.h \
+  /usr/include/regex.h /usr/include/c++/4.3/iomanip git_version.h
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+SysDef.h:
+
+Regexp.h:
+
+/usr/include/regex.h:
+
+/usr/include/c++/4.3/iomanip:
+
+git_version.h:
diff --git a/ibdm/ibdm/.deps/FatTree.Plo b/ibdm/ibdm/.deps/FatTree.Plo
new file mode 100644
index 0000000..6cbcee4
--- /dev/null
+++ b/ibdm/ibdm/.deps/FatTree.Plo
@@ -0,0 +1,390 @@
+FatTree.lo: FatTree.cpp /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/algorithm \
+  /usr/include/c++/4.3/bits/stl_algo.h /usr/include/c++/4.3/cstdlib \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/xlocale.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/c++/4.3/bits/algorithmfwd.h \
+  /usr/include/c++/4.3/bits/stl_heap.h \
+  /usr/include/c++/4.3/bits/stl_tempbuf.h \
+  /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/iomanip /usr/include/c++/4.3/iosfwd \
+  /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/c++/4.3/bits/locale_classes.h \
+  /usr/include/c++/4.3/string /usr/include/c++/4.3/bits/char_traits.h \
+  /usr/include/c++/4.3/cstdio /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \
+  /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/string.h /usr/include/inttypes.h SubnMgt.h RouteSys.h
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/algorithm:
+
+/usr/include/c++/4.3/bits/stl_algo.h:
+
+/usr/include/c++/4.3/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.3/bits/algorithmfwd.h:
+
+/usr/include/c++/4.3/bits/stl_heap.h:
+
+/usr/include/c++/4.3/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/iomanip:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+SubnMgt.h:
+
+RouteSys.h:
diff --git a/ibdm/ibdm/.deps/LinkCover.Plo b/ibdm/ibdm/.deps/LinkCover.Plo
new file mode 100644
index 0000000..82ae332
--- /dev/null
+++ b/ibdm/ibdm/.deps/LinkCover.Plo
@@ -0,0 +1,389 @@
+LinkCover.lo: LinkCover.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h SubnMgt.h TraceRoute.h \
+  /usr/include/c++/4.3/iomanip /usr/include/c++/4.3/algorithm \
+  /usr/include/c++/4.3/bits/stl_algo.h /usr/include/c++/4.3/cstdlib \
+  /usr/include/c++/4.3/bits/algorithmfwd.h \
+  /usr/include/c++/4.3/bits/stl_heap.h \
+  /usr/include/c++/4.3/bits/stl_tempbuf.h
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+SubnMgt.h:
+
+TraceRoute.h:
+
+/usr/include/c++/4.3/iomanip:
+
+/usr/include/c++/4.3/algorithm:
+
+/usr/include/c++/4.3/bits/stl_algo.h:
+
+/usr/include/c++/4.3/cstdlib:
+
+/usr/include/c++/4.3/bits/algorithmfwd.h:
+
+/usr/include/c++/4.3/bits/stl_heap.h:
+
+/usr/include/c++/4.3/bits/stl_tempbuf.h:
diff --git a/ibdm/ibdm/.deps/RouteSys.Plo b/ibdm/ibdm/.deps/RouteSys.Plo
new file mode 100644
index 0000000..7cd6dbc
--- /dev/null
+++ b/ibdm/ibdm/.deps/RouteSys.Plo
@@ -0,0 +1,369 @@
+RouteSys.lo: RouteSys.cc RouteSys.h /usr/include/unistd.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h Bipartite.h
+
+RouteSys.h:
+
+/usr/include/unistd.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+Bipartite.h:
diff --git a/ibdm/ibdm/.deps/SubnMgt.Plo b/ibdm/ibdm/.deps/SubnMgt.Plo
new file mode 100644
index 0000000..4b4c711
--- /dev/null
+++ b/ibdm/ibdm/.deps/SubnMgt.Plo
@@ -0,0 +1,391 @@
+SubnMgt.lo: SubnMgt.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h TraceRoute.h Regexp.h \
+  /usr/include/regex.h /usr/include/c++/4.3/algorithm \
+  /usr/include/c++/4.3/bits/stl_algo.h /usr/include/c++/4.3/cstdlib \
+  /usr/include/c++/4.3/bits/algorithmfwd.h \
+  /usr/include/c++/4.3/bits/stl_heap.h \
+  /usr/include/c++/4.3/bits/stl_tempbuf.h /usr/include/c++/4.3/iomanip
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+TraceRoute.h:
+
+Regexp.h:
+
+/usr/include/regex.h:
+
+/usr/include/c++/4.3/algorithm:
+
+/usr/include/c++/4.3/bits/stl_algo.h:
+
+/usr/include/c++/4.3/cstdlib:
+
+/usr/include/c++/4.3/bits/algorithmfwd.h:
+
+/usr/include/c++/4.3/bits/stl_heap.h:
+
+/usr/include/c++/4.3/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.3/iomanip:
diff --git a/ibdm/ibdm/.deps/SysDef.Plo b/ibdm/ibdm/.deps/SysDef.Plo
new file mode 100644
index 0000000..dc8a008
--- /dev/null
+++ b/ibdm/ibdm/.deps/SysDef.Plo
@@ -0,0 +1,380 @@
+SysDef.lo: SysDef.cpp SysDef.h Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h /usr/include/dirent.h \
+  /usr/include/bits/dirent.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h
+
+SysDef.h:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
diff --git a/ibdm/ibdm/.deps/TopoMatch.Plo b/ibdm/ibdm/.deps/TopoMatch.Plo
new file mode 100644
index 0000000..b4905af
--- /dev/null
+++ b/ibdm/ibdm/.deps/TopoMatch.Plo
@@ -0,0 +1,373 @@
+TopoMatch.lo: TopoMatch.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h Regexp.h \
+  /usr/include/regex.h /usr/include/c++/4.3/iomanip
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+Regexp.h:
+
+/usr/include/regex.h:
+
+/usr/include/c++/4.3/iomanip:
diff --git a/ibdm/ibdm/.deps/TraceRoute.Plo b/ibdm/ibdm/.deps/TraceRoute.Plo
new file mode 100644
index 0000000..e40c89c
--- /dev/null
+++ b/ibdm/ibdm/.deps/TraceRoute.Plo
@@ -0,0 +1,369 @@
+TraceRoute.lo: TraceRoute.cpp Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h \
+  /usr/include/c++/4.3/iomanip
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/c++/4.3/iomanip:
diff --git a/ibdm/ibdm/.deps/ibdm_wrap.Plo b/ibdm/ibdm/.deps/ibdm_wrap.Plo
new file mode 100644
index 0000000..c3c45c0
--- /dev/null
+++ b/ibdm/ibdm/.deps/ibdm_wrap.Plo
@@ -0,0 +1,388 @@
+ibdm_wrap.lo: ibdm_wrap.cpp /usr/include/tcl8.4/tcl.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/tcl8.4/tclDecls.h \
+  /usr/include/tcl8.4/tclPlatDecls.h /usr/include/string.h \
+  /usr/include/xlocale.h /usr/include/stdlib.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/getopt.h /usr/include/inttypes.h /usr/include/stdint.h \
+  /usr/include/bits/wchar.h /usr/include/c++/4.3/sstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/c++/4.3/cstddef /usr/include/c++/4.3/exception \
+  /usr/include/c++/4.3/bits/char_traits.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h /usr/include/c++/4.3/cstdio \
+  /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/confname.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/sstream.tcc Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  SubnMgt.h CredLoops.h TraceRoute.h TopoMatch.h Congestion.h \
+  swig_alternate_mangling.cpp
+
+/usr/include/tcl8.4/tcl.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/tcl8.4/tclDecls.h:
+
+/usr/include/tcl8.4/tclPlatDecls.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/getopt.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+SubnMgt.h:
+
+CredLoops.h:
+
+TraceRoute.h:
+
+TopoMatch.h:
+
+Congestion.h:
+
+swig_alternate_mangling.cpp:
diff --git a/ibdm/ibdm/.deps/ibdmsh_wrap.Po b/ibdm/ibdm/.deps/ibdmsh_wrap.Po
new file mode 100644
index 0000000..2fbeb8d
--- /dev/null
+++ b/ibdm/ibdm/.deps/ibdmsh_wrap.Po
@@ -0,0 +1,388 @@
+ibdmsh_wrap.o: ibdmsh_wrap.cpp /usr/include/tcl8.4/tcl.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/tcl8.4/tclDecls.h \
+  /usr/include/tcl8.4/tclPlatDecls.h /usr/include/string.h \
+  /usr/include/xlocale.h /usr/include/stdlib.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/getopt.h /usr/include/inttypes.h /usr/include/stdint.h \
+  /usr/include/bits/wchar.h /usr/include/c++/4.3/sstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/c++/4.3/cstddef /usr/include/c++/4.3/exception \
+  /usr/include/c++/4.3/bits/char_traits.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h /usr/include/c++/4.3/cstdio \
+  /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/confname.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/sstream.tcc Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  SubnMgt.h CredLoops.h TraceRoute.h TopoMatch.h Congestion.h \
+  swig_alternate_mangling.cpp
+
+/usr/include/tcl8.4/tcl.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/tcl8.4/tclDecls.h:
+
+/usr/include/tcl8.4/tclPlatDecls.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/getopt.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+SubnMgt.h:
+
+CredLoops.h:
+
+TraceRoute.h:
+
+TopoMatch.h:
+
+Congestion.h:
+
+swig_alternate_mangling.cpp:
diff --git a/ibdm/ibdm/.deps/ibnl_parser.Plo b/ibdm/ibdm/.deps/ibnl_parser.Plo
new file mode 100644
index 0000000..f211794
--- /dev/null
+++ b/ibdm/ibdm/.deps/ibnl_parser.Plo
@@ -0,0 +1,367 @@
+ibnl_parser.lo: ibnl_parser.cc /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h SysDef.h Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/bits/wchar.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/string.h /usr/include/inttypes.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+SysDef.h:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
diff --git a/ibdm/ibdm/.deps/ibnl_scanner.Plo b/ibdm/ibdm/.deps/ibnl_scanner.Plo
new file mode 100644
index 0000000..a35ccae
--- /dev/null
+++ b/ibdm/ibdm/.deps/ibnl_scanner.Plo
@@ -0,0 +1,370 @@
+ibnl_scanner.lo: ibnl_scanner.cc /usr/include/stdio.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/xlocale.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/string.h Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/bits/wchar.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/inttypes.h ibnl_parser.h SysDef.h
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/inttypes.h:
+
+ibnl_parser.h:
+
+SysDef.h:
diff --git a/ibdm/ibdm/Bipartite.cc b/ibdm/ibdm/Bipartite.cc
new file mode 100644
index 0000000..760b040
--- /dev/null
+++ b/ibdm/ibdm/Bipartite.cc
@@ -0,0 +1,672 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+#include "Bipartite.h"
+
+//CLASS edge///////////////////////////////////
+
+bool edge::isMatched() {
+  vertex* ver1 = (vertex*)v1;
+  vertex* ver2 = (vertex*)v2;
+
+  if (((this == ver1->getPartner()) && (this != ver2->getPartner())) || ((this == ver2->getPartner()) && (this != ver1->getPartner())))
+    cout << "-E- Error in edge matching" << endl;
+
+  return (this == ver1->getPartner()) && (this == ver2->getPartner());
+}
+
+//CLASS vertex/////////////////////////////////
+
+vertex::vertex(int n, side sd, int rad):id(n),s(sd),radix(rad)
+{
+  connections = new edge*[radix];
+  pred = new edge*[radix];
+  succ = new edge*[radix];
+
+  partner = NULL;
+  for (int i=0; i<radix; i++)
+    connections[i] = pred[i] = succ[i] = NULL;
+
+  predCount = succCount = 0;
+  maxUsed = -1;
+}
+
+vertex::~vertex()
+{
+  delete[] connections;
+  delete[] pred;
+  delete[] succ;
+}
+
+int vertex::getID() const
+{
+  return id;
+}
+
+side vertex::getSide() const
+{
+  return s;
+}
+
+void vertex::delConnection(edge* e)
+{
+  int my_idx, other_idx;
+  vertex* v;
+
+  // Find the side we are connected at and edge index
+  if (e->v1 == this) {
+    my_idx = e->idx1;
+    other_idx = e->idx2;
+    v = (vertex*)(e->v2);
+  }
+  else if (e->v2 == this) {
+    my_idx = e->idx2;
+    other_idx = e->idx1;
+    v = (vertex*)(e->v1);
+  }
+  else {
+    cout << "-E- Edge not connected to current vertex" << endl;
+    return;
+  }
+
+  if (my_idx >= radix || other_idx >= radix) {
+    cout << "-E- Edge index illegal" << endl;
+    return;
+  }
+
+  // Now disconnect
+  connections[my_idx] = NULL;
+  maxUsed--;
+  v->connections[other_idx] = NULL;
+  v->maxUsed--;
+}
+
+void vertex::pushConnection(edge* e)
+{
+  maxUsed++;
+  if (maxUsed == radix) {
+    cout << "-E- Can't push connection to vertex: " << id << ", exceeding radix!" << endl;
+    return;
+  }
+  // Mark our side
+  if (e->v1 == NULL) {
+    e->v1 = this;
+    e->idx1 = maxUsed;
+  }
+  else if (e->v2 == NULL) {
+    e->v2 = this;
+    e->idx2 = maxUsed;
+  }
+  else {
+    cout << "-E- Can't push connection both edges are already filled" << endl;
+    return;
+  }
+
+  if (maxUsed >= radix) {
+    cout << "-E- maxUsed illegal" << endl;
+    return;
+  }
+
+  // Now connect
+  connections[maxUsed] = e;
+}
+
+edge* vertex::popConnection()
+{
+  // Look for a connection
+  int i=0;
+  while ((i<radix) && !connections[i])
+    i++;
+  // No real connection found
+  if (i == radix)
+    return NULL;
+
+  edge* tmp = connections[i];
+
+  // Disconnect chosen edge
+  connections[i] = NULL;
+  if (tmp->v1 == this) {
+    vertex* v = (vertex*)(tmp->v2);
+    v->connections[tmp->idx2] = NULL;
+  }
+  else if (tmp->v2 == this) {
+    vertex* v = (vertex*)(tmp->v1);
+    v->connections[tmp->idx1] = NULL;
+  }
+  else {
+    cout << "-E- Edge not connected to current vertex" << endl;
+    return NULL;
+  }
+
+  if (tmp->idx1 >= radix || tmp->idx2 >= radix) {
+    cout << "-E- Edge index illegal" << endl;
+    return NULL;
+  }
+
+  return tmp;
+}
+
+// For unmacthed vertex, find an unmatched neighbor and match the pair
+bool vertex::match()
+{
+  // Already matched
+  if (partner)
+    return false;
+  // Look for neighbor
+  for (int i=0; i<radix; i++) {
+    if (connections[i]) {
+      vertex* v = (vertex*)(connections[i]->otherSide(this));
+      if (!v->partner) {
+        // Match
+	partner = connections[i];
+	v->partner = connections[i];
+	return true;
+      }
+    }
+  }
+  return false;
+}
+
+edge* vertex::getPartner() const
+{
+  return partner;
+}
+
+bool vertex::getInLayers() const
+{
+  return inLayers;
+}
+
+void vertex::setInLayers(bool b)
+{
+  inLayers = b;
+}
+
+void vertex::resetLayersInfo()
+{
+  inLayers = false;
+  succCount = predCount = 0;
+  for (int i=0; i<radix; i++)
+    succ[i] = pred[i] = NULL;
+}
+
+void vertex::addPartnerLayers(list<vertex*>& l)
+{
+  // No partner
+  if (!partner)
+    return;
+  vertex* p = (vertex*)(partner->otherSide(this));
+  // Partner already in one of the layers
+  if (p->inLayers)
+    return;
+  // Add partner to the layer
+  l.push_front(p);
+  p->inLayers = true;
+  // Update pred/succ relations
+  if (succCount >= radix) {
+    cout << "-E- More successors than radix" << endl;
+    return;
+  }
+  succ[succCount] = partner;
+  succCount++;
+
+  if (p->predCount >= radix) {
+    cout << "-E- More predecessors than radix" << endl;
+    return;
+  }
+  p->pred[p->predCount] = partner;
+  p->predCount++;
+}
+
+bool vertex::addNonPartnersLayers(list<vertex*>& l)
+{
+  vertex* prtn = NULL;
+  bool res = false;
+
+  if (partner)
+    prtn = (vertex*)(partner->otherSide(this));
+
+  for (int i=0; i<radix; i++) {
+    vertex* v = (vertex*)(connections[i]->otherSide(this));
+    if ((v != prtn) && (!v->inLayers)) {
+      // free vertex found
+      if (!v->partner)
+	res = true;
+      // Add vertex to the layer
+      l.push_front(v);
+      v->inLayers = true;
+      // Update pred/succ relations
+      if (succCount >= radix) {
+	cout << "-E- More successors than radix" << endl;
+	return false;
+      }
+      succ[succCount] = connections[i];
+      succCount++;
+
+      if (v->predCount >= radix) {
+	cout << "-E- More predecessors than radix" << endl;
+	return false;
+      }
+      v->pred[v->predCount] = connections[i];
+      v->predCount++;
+    }
+  }
+  return res;
+}
+
+vertex* vertex::getPredecessor() const
+{
+  vertex* v = NULL;
+  // Find a valid predecessor still in layers
+  for (int i=0; i<radix; i++) {
+    if (pred[i]) {
+      vertex* v2 = (vertex*)(pred[i]->otherSide(this));
+      if (v2->inLayers) {
+	v = v2;
+	break;
+      }
+    }
+  }
+  return v;
+}
+
+// Flip edge status on augmenting path
+void vertex::flipPredEdge(int idx)
+{
+  int i=0;
+  // Find an edge to a predecessor
+  for (i=0; i<radix; i++)
+    if (pred[i]) {
+      vertex* v1 = (vertex*)pred[i]->v1;
+      vertex* v2 = (vertex*)pred[i]->v2;
+      if (v1->getInLayers() && v2->getInLayers())
+	break;
+    }
+
+  if (i == radix) {
+    cout << "-E- Could find predecessor for flip" << endl;
+    return;
+  }
+  // The predecessor vertex
+  vertex* v = (vertex*) pred[i]->otherSide(this);
+
+  // Unmatch edge
+  if (idx)
+	v->partner = NULL;
+  // Match edge
+  else {
+    partner = pred[i];
+    v->partner = pred[i];
+  }
+}
+
+// Removing vertex from layers and updating successors/predecessors
+void vertex::unLink(list<vertex*>& l)
+{
+  inLayers = false;
+  for (int i=0; i<radix; i++) {
+    if (succ[i]) {
+      vertex* v = (vertex*)succ[i]->otherSide(this);
+      if (v->inLayers) {
+	v->predCount--;
+	// v has no more predecessors, schedule for removal from layers...
+	if (!v->predCount)
+	  l.push_back(v);
+	succ[i] = NULL;
+      }
+    }
+  }
+  succCount = 0;
+}
+
+//CLASS Bipartite
+
+// C'tor
+
+Bipartite::Bipartite(int s, int r):size(s),radix(r)
+{
+  leftSide = new vertex*[size];
+  rightSide = new vertex*[size];
+
+  for (int i=0; i<size; i++) {
+    leftSide[i] = new vertex(i,LEFT,radix);
+    rightSide[i] = new vertex(i,RIGHT,radix);
+  }
+}
+
+///////////////////////////////////////////////////////////
+
+// D'tor
+
+Bipartite::~Bipartite()
+{
+  // Free vertices
+  for (int i=0; i<size; i++) {
+    delete leftSide[i];
+    delete rightSide[i];
+  }
+  delete[] leftSide;
+  delete[] rightSide;
+
+  // Free edges
+  while (List.size()) {
+    edge* e = (edge*)(List.front());
+    List.pop_front();
+    delete e;
+  }
+}
+
+////////////////////////////////////////////////////////////
+
+// Get radix
+
+int Bipartite::getRadix() const
+{
+  return radix;
+}
+
+////////////////////////////////////////////////////////////
+
+// Set edges listt iterator to first
+
+bool Bipartite::setIterFirst()
+{
+  it = List.begin();
+  if (it == List.end())
+    return false;
+  return true;
+}
+
+///////////////////////////////////////////////////////////
+
+// Set edges list iterator to next
+
+bool Bipartite::setIterNext()
+{
+  if (it == List.end())
+    return false;
+  it++;
+  if (it == List.end())
+    return false;
+  return true;
+}
+
+////////////////////////////////////////////////////////////
+
+// Get current edge's request data
+
+inputData Bipartite::getReqDat()
+{
+  if (it == List.end()) {
+    cout << "-E- Iterator points to list end" << endl;
+  }
+  return ((edge*)(*it))->reqDat;
+}
+
+/////////////////////////////////////////////////////////////
+
+// Add connection between the nodes to the graph
+
+void Bipartite::connectNodes(int n1, int n2, inputData reqDat)
+{
+  if ((n1 >= size) || (n2 >= size)) {
+    cout << "-E- Node index exceeds size" << endl;
+    return;
+  }
+  // Create new edge
+  edge* newEdge = new edge;
+
+  // Init edge fields and add to it the edges list
+  newEdge->it = List.insert(List.end(), newEdge);
+  newEdge->reqDat = reqDat;
+  newEdge->v1 = newEdge->v2 = NULL;
+
+  // Connect the vertices
+  leftSide[n1]->pushConnection(newEdge);
+  rightSide[n2]->pushConnection(newEdge);
+}
+
+////////////////////////////////////////////////////////////////
+
+// Find maximal matching
+
+void Bipartite::maximalMatch()
+{
+  // Invoke match on left-side vertices
+  for (int i=0; i<size; i++)
+    leftSide[i]->match();
+}
+
+////////////////////////////////////////////////////////////////
+
+// Find maximum matching
+
+// Hopcroft-Karp algorithm
+Bipartite* Bipartite::maximumMatch()
+{
+  // First find a maximal match
+  maximalMatch();
+
+  list<void*>::iterator it2 = List.begin();
+  list<vertex*> l1, l2;
+  list<vertex*>::iterator it;
+
+  // Loop on algorithm phases
+  while (1) {
+    bool hardStop = false;
+    // First reset layers info
+    for (int i=0; i<size; i++) {
+      leftSide[i]->resetLayersInfo();
+      rightSide[i]->resetLayersInfo();
+    }
+    // Add free left-side vertices to l1 (building layer 0)
+    l1.clear();
+    for (int i=0; i<size; i++) {
+      if (!leftSide[i]->getPartner()) {
+	l1.push_front(leftSide[i]);
+	leftSide[i]->setInLayers(true);
+      }
+    }
+    // This is our termination condition
+    // Maximum matching achieved
+    if (l1.empty())
+      break;
+    // Loop on building layers
+    while (1) {
+      bool stop = false;
+      l2.clear();
+      // Add all non-partners of vertices in l1 to layers (l2)
+      // We signal to stop if a free (right-side) vertex is entering l2
+      for (it = l1.begin(); it != l1.end(); it++)
+	if ((*it)->addNonPartnersLayers(l2))
+	  stop = true;
+      // Found free vertex among right-side vertices
+      if (stop) {
+	// There are augmenting paths, apply them
+	augment(l2);
+	break;
+      }
+      // This is a terminal condition
+      if (l2.empty()) {
+	hardStop = true;
+	break;
+      }
+      // Add partners of vertices in l2 to layers (l1)
+      l1.clear();
+      for (it = l2.begin(); it!= l2.end(); it++)
+	(*it)->addPartnerLayers(l1);
+      // This is a terminal condition
+      if (l1.empty()) {
+	hardStop = true;
+	break;
+      }
+    }
+    // Maximum matching achieved
+    if (hardStop)
+      break;
+  }
+  // Build the matching graph
+  Bipartite* M = new Bipartite(size, 1);
+  // Go over all edges and move matched one to the new graph
+  it2 = List.begin();
+  while (it2 != List.end()) {
+    edge* e = (edge*)(*it2);
+    if (e->isMatched()) {
+      vertex* v1 = (vertex*)(e->v1);
+      vertex* v2 = (vertex*)(e->v2);
+      // Unlink vertices
+      ((vertex*)(e->v1))->delConnection(e);
+      // Update edges list
+      it2 = List.erase(it2);
+      // Add link to the new graph
+      if (v1->getSide() == LEFT)
+	M->connectNodes(v1->getID(), v2->getID(), e->reqDat);
+      else
+	M->connectNodes(v2->getID(), v1->getID(), e->reqDat);
+      // Free memory
+      delete e;
+    }
+    else
+      it2++;
+  }
+  return M;
+}
+
+//////////////////////////////////////////////////////////////////////
+
+// Apply augmenting paths on the matching
+
+void Bipartite::augment(list<vertex*>& l)
+{
+  // Use delQ to store vertex scheduled for the removal from layers
+  list<vertex*> delQ;
+  // Remove non-free vertices
+  list<vertex*>::iterator it = l.begin();
+  while (it != l.end()) {
+    if ((*it)->getPartner()) {
+      delQ.push_front((*it));
+      it = l.erase(it);
+    }
+    else
+      it++;
+  }
+  // Get rid of non-free vertices
+  while (!delQ.empty()) {
+    vertex* fr = delQ.front();
+    delQ.pop_front();
+    fr->unLink(delQ);
+  }
+
+  if (l.empty()) {
+    cout << "-E- No free vertices left!" << endl;
+    return;
+  }
+  // Augment and reset pred/succ relations
+  while (!l.empty()) {
+    vertex* curr = l.front();
+    l.pop_front();
+    int idx = 0;
+    // Backtrace the path and augment
+    int length=0;
+    while (1) {
+      delQ.push_front(curr);
+      // Its either the end of a path or an error
+      if (!curr->getPredecessor()) {
+	if (!idx && length) {
+	  cout << "-E- This vertex must have predecessor" << endl;
+	  return;
+	}
+	break;
+      }
+      // Flip edge status
+      curr->flipPredEdge(idx);
+      // Move back
+      curr = curr->getPredecessor();
+      idx = (idx+1)%2;
+      length++;
+    }
+    // Now clean the delQ
+    while (!delQ.empty()) {
+      vertex* fr = delQ.front();
+      delQ.pop_front();
+      fr->unLink(delQ);
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+
+// Perform Euler decomposition
+
+void Bipartite::decompose(Bipartite** bp1, Bipartite** bp2)
+{
+  if (radix < 2) {
+    cout << "-E- Radix value illegal: " << radix << endl;
+    return;
+  }
+
+  // Create new graphs
+  Bipartite* arr[2];
+  arr[0] = new Bipartite(size, radix/2);
+  arr[1] = new Bipartite(size, radix/2);
+
+  // Continue as long as unassigned edges left
+  while (!List.empty()) {
+    int idx = 0;
+    edge* e = (edge*)List.front();
+    vertex* current = (vertex*)e->v1;
+    e = current->popConnection();
+
+    while (e) {
+      // Connect nodes in the new graphs
+      vertex* v1 = (vertex*)e->v1;
+      vertex* v2 = (vertex*)e->v2;
+      if (v1->getSide() == LEFT)
+	arr[idx]->connectNodes(v1->getID(), v2->getID(), e->reqDat);
+      else
+	arr[idx]->connectNodes(v2->getID(), v1->getID(), e->reqDat);
+      idx = (idx+1)%2;
+      // Remove edge from list
+      List.erase(e->it);
+      // Pick next vertex
+      current = (vertex*) e->otherSide(current);
+      // Free memory
+      delete e;
+      // Pick next edge
+      e = current->popConnection();
+    }
+  }
+  *bp1 = arr[0];
+  *bp2 = arr[1];
+}
diff --git a/ibdm/ibdm/Bipartite.h b/ibdm/ibdm/Bipartite.h
new file mode 100644
index 0000000..cdac81a
--- /dev/null
+++ b/ibdm/ibdm/Bipartite.h
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Fabric Utilities Project
+ *
+ * Bipartite Graph Header file
+ *
+ * Author: Vladimir Zdornov, Mellanox Technologies
+ *
+ */
+
+#ifndef IBDM_BIPARTITE_H_
+#define IBDM_BIPARTITE_H_
+
+#include <list>
+#include "RouteSys.h"
+
+using namespace std;
+
+typedef list<void*>::iterator peIter;
+typedef list<void*> peList;
+
+typedef enum side_ {LEFT=0, RIGHT} side;
+
+class edge
+{
+ public:
+  // Vertices
+  void* v1;
+  void* v2;
+  // Connection indices
+  int idx1;
+  int idx2;
+
+  // Edge list iterator
+  peIter it;
+
+  // Request data
+  inputData reqDat;
+
+  // C'tor
+  edge():v1(NULL),v2(NULL),idx1(-1),idx2(-1){};
+
+  // Get the vertex on the other side of the edge
+  void* otherSide(const void* v) {
+    if (v == v1)
+      return v2;
+    if (v == v2)
+      return v1;
+    return NULL;
+  }
+
+  // Check whether the edge is matched
+  bool isMatched();
+};
+
+class vertex
+{
+  // ID
+  int id;
+  // Side (0 - left, 1 - right)
+  side s;
+  // Array of connected edges
+  edge** connections;
+  // Initial number of neighbors
+  int radix;
+  // Current number of neighbors
+  int maxUsed;
+
+  // Matching fields
+
+  // Edge leading to the partner (NULL if none)
+  edge* partner;
+  // Array of layers predecessors
+  edge** pred;
+  // Number of predecessors
+  int predCount;
+  // Array of layers successors
+  edge** succ;
+  // Number of successors
+  int succCount;
+  // Denotes whether vertex is currently in layers
+  bool inLayers;
+
+ public:
+  // C'tor
+  vertex(int n, side sd, int rad);
+  // D'tor
+  ~vertex();
+  // Getters + Setters
+  int getID() const;
+  side getSide() const;
+  edge* getPartner() const;
+  vertex* getPredecessor() const;
+  bool getInLayers() const;
+  void setInLayers(bool b);
+  // Reset matching info
+  void resetLayersInfo();
+  // Adding partner to match layers
+  void addPartnerLayers(list<vertex*>& l);
+  // Adding non-partners to match layers
+  // Return true if one of the neighbors was free
+  bool addNonPartnersLayers(list<vertex*>& l);
+  // Add new connection (this vertex only)
+  void pushConnection(edge* e);
+  // Remove given connection (vertices on both sides)
+  void delConnection(edge* e);
+  // Flip predecessor edge status
+  // idx represents the layer index % 2 in the augmenting backward traversal (starting from 0)
+  void flipPredEdge(int idx);
+  // Remove vertex from layers, update predecessors and successors
+  void unLink(list<vertex*>& l);
+  // Get SOME connection and remove it (from both sides)
+  // If no connections present NULL is returned
+  edge* popConnection();
+  // Match vertex to SOME unmatched neighbor
+  // In case of success true is returned, false in case of failure
+  bool match();
+};
+
+class Bipartite
+{
+  // Number of vertices on each side
+  int size;
+  // Number of edges per vertex
+  int radix;
+  // Vertices arrays
+  vertex** leftSide;
+  vertex** rightSide;
+
+  peIter it;
+  // Edges list
+  peList List;
+
+  // Apply augmenting paths
+  void augment(list<vertex*>& l);
+
+ public:
+  // C'tor
+  Bipartite(int s, int r);
+  // D'tor
+  ~Bipartite();
+  int getRadix() const;
+  // Set iterator to first edge (returns false if list is empty)
+  bool setIterFirst();
+  // Set iterator to next edge (return false if list end is reached)
+  bool setIterNext();
+  // Get inputData pointed by iterator
+  inputData getReqDat();
+  // Add connection between two nodes
+  void connectNodes(int n1, int n2, inputData reqDat);
+  // Find maximal matching on current graph
+  void maximalMatch();
+  // Find maximum matching and remove it from the graph
+  // We use a variant of Hopcroft-Karp algorithm
+  Bipartite* maximumMatch();
+  // Decompose bipartite into to edge disjoint radix/2-regular bps
+  // We use a variant of Euler Decomposition
+  void decompose(Bipartite** bp1, Bipartite** bp2);
+};
+
+#endif
diff --git a/ibdm/ibdm/Congestion.cpp b/ibdm/ibdm/Congestion.cpp
new file mode 100644
index 0000000..2534df7
--- /dev/null
+++ b/ibdm/ibdm/Congestion.cpp
@@ -0,0 +1,502 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "TraceRoute.h"
+#include <iomanip>
+#include <fstream>
+#include <sstream>
+#include <map>
+
+using namespace std;
+
+/*
+ * This file provides an API for analyzing congestion on the fabric
+ * Link over subscription statistics are being provided as follows:
+ *
+ * CongInit(p_fabric) - initialize the data structures
+ * CongZero(p_fabric) - zero out the paths per link counter
+ * CongTrackPath(p_fabric, srcLid, dstLid) - trace one path
+ * CongReport(p_fabric, stream &out) - report histogram
+ * CongDump(p_fabric, fileName) - dump out the paths
+ * CongCleanup(p_fabric) - cleanup
+ *
+ * The implemented algorithm is based on availablity of the FDBs
+ */
+
+// the main data structure we keeo is the list if paths going out
+// on every out port of every node.
+typedef list< pair< uint16_t, uint16_t> > list_src_dst;
+typedef map< IBPort *, list_src_dst, less<IBPort * > > map_pport_paths;
+typedef map< IBPort *, int , less<IBPort * > > map_pport_int;
+typedef map< int, float > map_int_float;
+
+// for each fabric we keep:
+class CongFabricData {
+public:
+   map_pport_paths portPaths;
+	map_pport_int   portNumPaths;
+   long            numPaths;
+   int             stageWorstCase;
+   int             worstWorstCase;
+   list<int>       stageWorstCases;
+   vec_int         numPathsHist;
+   IBPort         *p_worstPort;
+	int             maxRank;
+   CongFabricData() {
+      stageWorstCase = 0;
+      worstWorstCase = 0;
+      p_worstPort = NULL;
+      numPaths = 0;
+		maxRank = 0;
+   };
+};
+
+typedef map< IBFabric*, CongFabricData, less< IBFabric *> > map_pfabric_cong;
+
+map_pfabric_cong CongFabrics;
+
+// Initialize the congestion tracking for the fabric.
+int  CongInit(IBFabric *p_fabric)
+{
+   if (CongFabrics.find(p_fabric) != CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker already initialized" << endl;
+      return(1);
+   }
+
+   CongFabrics[p_fabric] = CongFabricData();
+   map_pport_paths &portPaths = CongFabrics[p_fabric].portPaths;
+
+   // init the vector for each connected port of the fabric:
+   IBNode *p_node;
+   IBPort *p_port;
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++)
+   {
+      p_node = (*nI).second;
+		if (p_node->rank > CongFabrics[p_fabric].maxRank)
+			CongFabrics[p_fabric].maxRank = p_node->rank;
+
+      for( unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+      {
+         p_port = p_node->getPort(pn);
+         if (!p_port || ! p_port->p_remotePort) continue;
+
+         portPaths[p_port] = list_src_dst();
+      }
+   }
+   return(0);
+}
+
+// Cleanup...
+int
+CongCleanup(IBFabric *p_fabric)
+{
+   // get the reference to the actual data structure:
+   map_pfabric_cong::iterator cI = CongFabrics.find(p_fabric);
+   if (cI == CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker not previously initialized" << endl;
+      return(1);
+   }
+
+   // remove the entry should delete the entire structure:
+   CongFabrics.erase(cI);
+   return(0);
+}
+
+// analyze a single stage. We propagte a floating point fraction of
+// link BW with each src,dst pair such that cong apear only on first
+// link a contention run through
+
+int
+CongZero(IBFabric *p_fabric)
+{
+	map_int_float dst_frac;
+	int going_up = 1;
+
+   // get the reference to the actual data structure:
+   map_pfabric_cong::iterator cI = CongFabrics.find(p_fabric);
+   if (cI == CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker not previously initialized." << endl;
+      return(1);
+   }
+
+   CongFabricData &congData = (*cI).second;
+	congData.stageWorstCase = 0;
+
+	// start from all leaf switches and walk up then down again
+	for (int rank = congData.maxRank; rank >= -congData.maxRank; rank--) {
+		int numPortsInLevel = 0;
+		if (!rank) going_up = 0;
+
+		for (map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+			  nI != p_fabric->NodeByName.end();
+			  nI++) {
+			IBNode *p_node = (*nI).second;
+
+			// we treat nodes with rank equals to absolute rank index
+			if (p_node->rank != abs(rank)) continue;
+
+			for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+				IBPort *p_port = p_node->getPort(pn);
+
+				// do we have a port on the other side ?
+				if (!p_port || !p_port->p_remotePort) continue;
+
+				// if we go up ignore the port if not going up
+				if (going_up &&
+					 ( (p_port->p_remotePort->p_node->type == IB_CA_NODE) ||
+						(p_port->p_remotePort->p_node->rank >= rank) ) )
+					continue;
+
+				// if we go down ignore the port if not going down
+				if (!going_up &&
+					 (p_port->p_remotePort->p_node->type == IB_SW_NODE) &&
+					 (p_port->p_remotePort->p_node->rank <= -rank))
+					continue;
+
+				numPortsInLevel++;
+				map_pport_paths::iterator pI = congData.portPaths.find(p_port);
+
+				// now see what pairs are routed through the port
+				float sumFracs = 0;
+            for (list_src_dst::iterator lI = (*pI).second.begin();
+                 lI != (*pI).second.end();
+                 lI++) {
+					int dst = (*lI).second;
+
+					// find the fraction for that destination:
+					map_int_float::iterator fI = dst_frac.find(dst);
+					if (fI == dst_frac.end()) {
+						dst_frac[dst] = 1.0;
+						sumFracs += 1.0;
+					} else {
+						sumFracs += dst_frac[dst];
+					}
+				}
+
+				// update statistics
+				int numPaths = (int)sumFracs;
+				congData.portNumPaths[p_port] = numPaths;
+
+				for(unsigned int i = congData.numPathsHist.size(); i <= numPaths; i++)
+					congData.numPathsHist.push_back(0);
+				congData.numPathsHist[numPaths]++;
+
+				if (congData.stageWorstCase < numPaths)
+					congData.stageWorstCase = numPaths;
+
+				// debug:
+				if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+				{
+					if (sumFracs > 1.0)
+					{
+						cout << "-V- port:" << (*pI).first->getName() << " Coliding:";
+						for (list_src_dst::iterator lI = (*pI).second.begin();
+							  lI != (*pI).second.end();
+							  lI++)
+							cout << (*lI).first << "," << (*lI).second
+								  << "(" << dst_frac[(*lI).second] << ") ";
+						cout << endl;
+					}
+				}
+
+				// update fractions
+				if (sumFracs > 1.0) {
+					for (list_src_dst::iterator lI = (*pI).second.begin();
+						  lI != (*pI).second.end();
+						  lI++) {
+						int dst = (*lI).second;
+
+						dst_frac[dst] = dst_frac[dst] / sumFracs;
+					}
+				}
+
+				// clear the list for the future ...
+				(*pI).second.clear();
+
+			} // ports in right direction
+		} // all nodes
+		if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+			cout << "-V- Scanned rank:" << rank << " ports:" << numPortsInLevel << endl;
+	} // ranks
+
+   congData.stageWorstCases.push_back(congData.stageWorstCase);
+
+	return (0);
+}
+
+// Track a single path
+int
+CongTrackPath(IBFabric *p_fabric, uint16_t srcLid, uint16_t dstLid)
+{
+   // get the reference to the actual data structure:
+   map_pfabric_cong::iterator cI = CongFabrics.find(p_fabric);
+   if (cI == CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker not previously initialized" << endl;
+      return(1);
+   }
+
+   CongFabricData &congData = (*cI).second;
+
+   // find the source and destination ports:
+   IBPort *p_srcPort = p_fabric->getPortByLid(srcLid);
+   if (! p_srcPort)
+   {
+      cout << "-E- Fail to find port by source LID:" << srcLid << endl;
+      return(1);
+   }
+
+   IBPort *p_dstPort = p_fabric->getPortByLid(dstLid);
+   if (! p_dstPort)
+   {
+      cout << "-E- Fail to find port by destination LID:" << dstLid << endl;
+      return(1);
+   }
+
+   pair< uint16_t, uint16_t> pathPair(srcLid, dstLid);
+
+   IBNode *p_node;
+   IBPort *p_port = p_srcPort;
+   IBPort *p_remotePort = NULL;
+   int hopCnt = 0;
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+   {
+      cout << "-V-----------------------------------------------------" << endl;
+      cout << "-V- Tracing from lid:" << srcLid << " to lid:"
+           << dstLid << endl;
+   }
+
+   // if the port is not a switch - go to the next switch:
+   if (p_port->p_node->type != IB_SW_NODE)
+   {
+      // try the next one:
+      if (!p_port->p_remotePort)
+      {
+         cout << "-E- Provided starting point is not connected !"
+              << "lid:" << srcLid << endl;
+         return 1;
+      }
+
+      p_remotePort = p_port->p_remotePort;
+      p_node = p_remotePort->p_node;
+      hopCnt++;
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Arrived at Node:" << p_node->name
+              << " Port:" << p_port->p_remotePort->num << endl;
+   }
+   else
+   {
+      // it is a switch :
+      p_node = p_port->p_node;
+   }
+
+   // verify we are finally on a switch:
+   if (p_node->type != IB_SW_NODE)
+   {
+      cout << "-E- Provided starting point is not connected to a switch !"
+           << "lid:" << srcLid << endl;
+      return 1;
+   }
+
+   // traverse:
+   int done = 0;
+   while (!done) {
+
+      // we need to store this info for marking later
+      list_src_dst &lst = congData.portPaths[p_port];
+      lst.push_back(pathPair);
+      if (lst.size() > congData.stageWorstCase)
+      {
+         congData.stageWorstCase = lst.size();
+         if (congData.stageWorstCase > congData.worstWorstCase)
+         {
+            congData.worstWorstCase = congData.stageWorstCase;
+            congData.p_worstPort = p_port;
+            if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            {
+               cout << endl;
+               cout << "-I- Found Worst Port:" << p_port->getName()
+                    << " paths:" << lst.size() << endl;
+               for (list_src_dst::iterator lI = lst.begin();
+                    lI != lst.end(); lI++)
+                  cout << "  from:" << (*lI).first << " to:"
+                       << (*lI).second << endl;
+            }
+         }
+      }
+
+      // calc next node:
+      int pn = p_node->getLFTPortForLid(dstLid);
+      if (pn == IB_LFT_UNASSIGNED)
+      {
+         cout << "-E- Unassigned LFT for lid:" << dstLid
+              << " Dead end at:" << p_node->name << endl;
+         return 1;
+      }
+
+      // if the port number is 0 we must have reached the target node.
+      // simply try see that p_remotePort of last step == p_dstPort
+      if (pn == 0)
+      {
+         if (p_dstPort != p_remotePort)
+         {
+            cout << "-E- Dead end at port 0 of node:" << p_node->name << endl;
+            return 1;
+         }
+         return 0;
+      }
+
+      // get the port on the other side
+      p_port = p_node->getPort(pn);
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Going out on port:" << pn << endl;
+
+      if (! (p_port &&
+             p_port->p_remotePort &&
+             p_port->p_remotePort->p_node)) {
+         cout << "-E- Dead end at:" << p_node->name << endl;
+         return 1;
+      }
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Arrived at Node:" << p_port->p_remotePort->p_node->name
+              << " Port:" << p_port->p_remotePort->num << endl;
+
+      p_remotePort = p_port->p_remotePort;
+
+      // check if we are done:
+      done = (p_remotePort == p_dstPort);
+
+      p_node = p_remotePort->p_node;
+      if (hopCnt++ > 256)
+      {
+         cout << "-E- Aborting after 256 hops - loop in LFT?" << endl;
+         return 1;
+      }
+   }
+
+   congData.numPaths++;
+   return(0);
+}
+
+// Report the worst usage and a histogram of link usage
+int
+CongReport(IBFabric *p_fabric, ostringstream &out)
+{
+   int worstWorstPath = 0;
+   map<int, int, less<int> > stageWorstCaseHist;
+
+   // get the reference to the actual data structure:
+   map_pfabric_cong::iterator cI = CongFabrics.find(p_fabric);
+   if (cI == CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker not previously initialized" << endl;
+      return(1);
+   }
+
+   CongFabricData &congData = (*cI).second;
+
+   // collect the histogram of stage worst paths
+   for(list<int>::iterator lI = congData.stageWorstCases.begin();
+       lI != congData.stageWorstCases.end();
+       lI++)
+   {
+      stageWorstCaseHist[*lI]++;
+      if (worstWorstPath < *lI) worstWorstPath = (*lI);
+   }
+
+   out << "---------------------------------------------------------------------------\n" << endl;
+   out << "-I- Traced total:" << congData.numPaths << " paths" << endl;
+
+   out << "-I- Worst link over subscrition:" << worstWorstPath
+       << " port:" << congData.p_worstPort->getName() << endl;
+
+   out << "---------------------- TOTAL CONGESTION HISTOGRAM ------------------------" << endl;
+   out << "Describes distribution of oversubscription of paths per port." << endl;
+   out << "NUM-PATHS NUM-OUT-PORTS" << endl;
+   for (int b = 0; b < congData.numPathsHist.size() ; b++)
+      if (congData.numPathsHist[b])
+         out << setw(4) << b << "   " << congData.numPathsHist[b] << endl;
+   out << "---------------------------------------------------------------------------\n" << endl;
+
+   out << "---------------------- STAGE CONGESTION HISTOGRAM ------------------------" << endl;
+   out << "Describes distribution of worst oversubscription of paths per stage." << endl;
+   out << "WORST-CONG NUM-STAGES" << endl;
+   for (map<int, int, less<int> >::iterator bI = stageWorstCaseHist.begin();
+        bI != stageWorstCaseHist.end();
+        bI++)
+      out << setw(4) << (*bI).first << "   " << (*bI).second << endl;
+   out << "---------------------------------------------------------------------------\n" << endl;
+   return(0);
+}
+
+// Dump out all link usages and details if available into
+// the given ostream
+int
+CongDump(IBFabric *p_fabric, ostringstream &out)
+{
+   // get the reference to the actual data structure:
+   map_pfabric_cong::iterator cI = CongFabrics.find(p_fabric);
+   if (cI == CongFabrics.end())
+   {
+      cout << "-E- Congestion Tracker not previously initialized" << endl;
+      return(1);
+   }
+
+   CongFabricData &congData = (*cI).second;
+
+   // go over all ports and dump out their paths...
+   for (map_pport_paths::iterator pI = congData.portPaths.begin();
+        pI != congData.portPaths.end();
+        pI++)
+   {
+      out << "PORT:" << (*pI).first->getName()
+			 << " NUM:" << congData.portNumPaths[(*pI).first] << endl;
+      for ( list_src_dst::iterator lI = (*pI).second.begin();
+            lI != (*pI).second.end();
+            lI++)
+         out << (*lI).first << " " << (*lI).second << endl;
+   }
+   return(0);
+}
+
diff --git a/ibdm/ibdm/Congestion.h b/ibdm/ibdm/Congestion.h
new file mode 100644
index 0000000..20c114c
--- /dev/null
+++ b/ibdm/ibdm/Congestion.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBDM_CONGESTION_H
+#define IBDM_CONGESTION_H
+
+#include "Fabric.h"
+#include <sstream>
+
+int CongInit(IBFabric *p_fabric);
+int CongCleanup(IBFabric *p_fabric);
+int CongZero(IBFabric *p_fabric);
+int CongTrackPath(IBFabric *p_fabric, uint16_t srcLid, uint16_t dstLid);
+int CongReport(IBFabric *p_fabric, ostringstream &out);
+int CongDump(IBFabric *p_fabric, ostringstream &out);
+
+#endif /* IBDM_CONGESTION_H */
diff --git a/ibdm/ibdm/CredLoops.cpp b/ibdm/ibdm/CredLoops.cpp
new file mode 100644
index 0000000..cbcaf66
--- /dev/null
+++ b/ibdm/ibdm/CredLoops.cpp
@@ -0,0 +1,311 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "TraceRoute.h"
+#include <set>
+#include <algorithm>
+#include <iomanip>
+
+/*
+ * Build a graph linked to the SW devices for input to output
+ * links. We use the appData1 available on the nodes to ref the tables.
+ * Based on this graph provide analysis on loops available on the
+ * fabric
+ *
+ */
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Apply DFS on a dependency graph
+
+int CrdLoopDFS(VChannel* ch) {
+  // Already been there
+  if (ch->getFlag() == Closed)
+    return 0;
+  // Credit loop
+  if (ch->getFlag() == Open) {
+    return 1;
+  }
+  // Mark as open
+  ch->setFlag(Open);
+  // Make recursive steps
+  for (int i=0; i<ch->getDependSize();i++) {
+    VChannel* next = ch->getDependency(i);
+    if (next) {
+      if (CrdLoopDFS(next))
+	return 1;
+    }
+  }
+  // Mark as closed
+  ch->setFlag(Closed);
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Go over CA's apply DFS on the dependency graphs starting from CA's port
+
+int CrdLoopFindLoops(IBFabric* p_fabric) {
+  unsigned int lidStep = 1 << p_fabric->lmc;
+
+  // go over all CA ports in the fabric
+  for (int i = p_fabric->minLid; i <= p_fabric->maxLid; i += lidStep) {
+	 IBPort *p_Port = p_fabric->PortByLid[i];
+	 if (!p_Port || (p_Port->p_node->type == IB_SW_NODE)) continue;
+	 // Go over all CA's channels and find untouched one
+	 for (int j=0;j < p_fabric->getNumSLs(); j++) {
+	   dfs_t state = p_Port->channels[j]->getFlag();
+	   if (state == Open) {
+	     cout << "-E- open channel outside of DFS" << endl;
+	     return 1;
+	   }
+	   // Already processed, continue
+	   if (state == Closed)
+	     continue;
+	   // Found starting point
+	   if (CrdLoopDFS(p_Port->channels[j]))
+	     return 1;
+	 }
+  }
+  return 0;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Trace a route from slid to dlid by LFT
+// Add dependency edges
+int CrdLoopMarkRouteByLFT (
+  IBFabric *p_fabric,
+  unsigned int sLid , unsigned int dLid
+  ) {
+
+  IBPort *p_port = p_fabric->getPortByLid(sLid);
+  IBNode *p_node;
+  IBPort *p_portNext;
+  unsigned int lidStep = 1 << p_fabric->lmc;
+  int outPortNum = 0, inputPortNum = 0, hopCnt = 0;
+  bool done;
+
+  // make sure:
+  if (!p_port) {
+	 cout << "-E- Provided source:" << sLid
+			<< " lid is not mapped to a port!" << endl;
+	 return(1);
+  }
+
+  // Retrieve the relevant SL
+  uint8_t SL, VL;
+  SL = VL = p_port->p_node->getPSLForLid(dLid);
+
+  if (!p_port->p_remotePort) {
+    cout << "-E- Provided starting point is not connected !"
+	 << "lid:" << sLid << endl;
+    return 1;
+  }
+
+  if (SL == IB_SLT_UNASSIGNED) {
+    cout << "-E- SL to destination is unassigned !"
+         << "slid: " << sLid << "dlid:" << dLid << endl;
+    return 1;
+  }
+
+  // check if we are done:
+  done = ((p_port->p_remotePort->base_lid <= dLid) &&
+	  (p_port->p_remotePort->base_lid+lidStep - 1 >= dLid));
+  while (!done) {
+    // Get the node on the remote side
+    p_node = p_port->p_remotePort->p_node;
+    // Get remote port's number
+    inputPortNum = p_port->p_remotePort->num;
+    // Get number of ports on the remote side
+    int numPorts = p_node->numPorts;
+    // Init vchannel's number of possible dependencies
+    p_port->channels[VL]->setDependSize((numPorts+1)*p_fabric->getNumVLs());
+
+    // Get port num of the next hop
+    outPortNum = p_node->getLFTPortForLid(dLid);
+    // Get VL of the next hop
+    int nextVL = p_node->getSLVL(inputPortNum,outPortNum,SL);
+
+    if (outPortNum == IB_LFT_UNASSIGNED) {
+      cout << "-E- Unassigned LFT for lid:" << dLid << " Dead end at:" << p_node->name << endl;
+      return 1;
+    }
+
+    if (nextVL == IB_SLT_UNASSIGNED) {
+      cout << "-E- Unassigned SL2VL entry, iport: "<< inputPortNum<<", oport:"<<outPortNum<<", SL:"<<(int)SL<< endl;
+      return 1;
+    }
+
+      // get the next port on the other side
+    p_portNext = p_node->getPort(outPortNum);
+
+    if (! (p_portNext &&
+	   p_portNext->p_remotePort &&
+	   p_portNext->p_remotePort->p_node)) {
+      cout << "-E- Dead end at:" << p_node->name << endl;
+      return 1;
+    }
+    // Now add an edge
+    p_port->channels[VL]->setDependency(outPortNum*p_fabric->getNumVLs()+nextVL,p_portNext->channels[nextVL]);
+    // Advance
+    p_port = p_portNext;
+    VL = nextVL;
+    if (hopCnt++ > 256) {
+      cout << "-E- Aborting after 256 hops - loop in LFT?" << endl;
+      return 1;
+    }
+    //Check if done
+    done = ((p_port->p_remotePort->base_lid <= dLid) &&
+	    (p_port->p_remotePort->base_lid+lidStep - 1 >= dLid));
+  }
+
+  return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+
+// Go over all CA to CA paths and connect dependant vchannel by an edge
+
+int
+CrdLoopConnectDepend(IBFabric* p_fabric)
+{
+  unsigned int lidStep = 1 << p_fabric->lmc;
+  int anyError = 0;
+  unsigned int i,j;
+
+  // go over all ports in the fabric
+  for ( i = p_fabric->minLid; i <= p_fabric->maxLid; i += lidStep) {
+	 IBPort *p_srcPort = p_fabric->PortByLid[i];
+
+	 if (!p_srcPort || (p_srcPort->p_node->type == IB_SW_NODE)) continue;
+
+	 unsigned int sLid = p_srcPort->base_lid;
+
+	 // go over all the rest of the ports:
+	 for ( j = p_fabric->minLid; j <= p_fabric->maxLid; j += lidStep ) {
+		IBPort *p_dstPort = p_fabric->PortByLid[j];
+
+		// Avoid tracing to itself
+		if (i == j) continue;
+
+		if (! p_dstPort) continue;
+
+		if (p_dstPort->p_node->type == IB_SW_NODE) continue;
+		unsigned int dLid = p_dstPort->base_lid;
+		// go over all LMC combinations:
+		for (unsigned int l1 = 0; l1 < lidStep; l1++) {
+		  for (unsigned int l2 = 0; l2 < lidStep; l2++) {
+		    // Trace the path but record the input to output ports used.
+		    if (CrdLoopMarkRouteByLFT(p_fabric, sLid + l1, dLid + l2)) {
+		      cout << "-E- Fail to find a path from:"
+			   << p_srcPort->p_node->name << "/" << p_srcPort->num
+			   << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+			   << endl;
+		      anyError++;
+		    }
+		  }// all LMC lids 2 */
+		} // all LMC lids 1 */
+	 } // all targets
+  } // all sources
+
+  if (anyError) {
+	 cout << "-E- Fail to traverse:" << anyError << " CA to CA paths" << endl;
+	 return 1;
+  }
+
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Prepare the data model
+int
+CrdLoopPrepare(IBFabric *p_fabric) {
+  unsigned int lidStep = 1 << p_fabric->lmc;
+
+  // go over all ports in the fabric
+  for (int i = p_fabric->minLid; i <= p_fabric->maxLid; i += lidStep) {
+    IBPort *p_Port = p_fabric->PortByLid[i];
+    if (!p_Port) continue;
+    IBNode *p_node = p_Port->p_node;
+    int nL;
+    if (p_node->type == IB_CA_NODE)
+      nL = p_fabric->getNumSLs();
+    else
+      nL = p_fabric->getNumVLs();
+    // Go over all node's ports
+    for (int k=0;k<p_node->Ports.size();k++) {
+      IBPort* p_Port = p_node->Ports[k];
+      // Init virtual channel array
+      p_Port->channels.resize(nL);
+      for (int j=0;j<nL;j++)
+	p_Port->channels[j] = new VChannel;
+    }
+  }
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Top Level Subroutine:
+int
+CrdLoopAnalyze(IBFabric *p_fabric) {
+  int res=0;
+
+  cout << "-I- Analyzing Fabric for Credit Loops "<<(int)p_fabric->getNumSLs()<<" SLs, "<<(int)p_fabric->getNumVLs()<< " VLs used...";
+  // Init data structures
+  if (CrdLoopPrepare(p_fabric)) {
+    cout << "-E- Fail to prepare data structures." << endl;
+    return(1);
+  }
+  // Create the dependencies
+  if (CrdLoopConnectDepend(p_fabric)) {
+    cout << "-E- Fail to build dependency graphs." << endl;
+    return(1);
+  }
+  // Find the loops if exist
+  res = CrdLoopFindLoops(p_fabric);
+  if (!res)
+    cout << " no credit loops found" << endl;
+  else
+    cout << endl << "-E- credit loops in routing"<<endl;
+
+  return res;
+}
+
+
+
diff --git a/ibdm/ibdm/CredLoops.h b/ibdm/ibdm/CredLoops.h
new file mode 100644
index 0000000..30fa237
--- /dev/null
+++ b/ibdm/ibdm/CredLoops.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBDM_CREDLOOPS_H
+#define IBDM_CREDLOOPS_H
+
+// Analyze the fabric for credit loops.
+int
+CrdLoopAnalyze(IBFabric *p_fabric);
+
+#endif /* IBDM_CREDLOOPS_H */
diff --git a/ibdm/ibdm/Fabric.cpp b/ibdm/ibdm/Fabric.cpp
new file mode 100644
index 0000000..25d4998
--- /dev/null
+++ b/ibdm/ibdm/Fabric.cpp
@@ -0,0 +1,2494 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+  IB Fabric Data Model
+  This file holds implementation of the data model classes and methods
+
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+#include "Fabric.h"
+#include "SysDef.h"
+#include "Regexp.h"
+#include <iomanip>
+#include <sstream>
+#include "git_version.h"
+
+// Track verbosity:
+uint8_t FabricUtilsVerboseLevel = 0x1;
+
+stringstream ibdmLog;
+streambuf *ibdmCoutBuf;
+
+int ibdmUseInternalLog() {
+   streambuf *psbuf = ibdmLog.rdbuf();
+   ibdmCoutBuf = cout.rdbuf(psbuf);
+   return 0;
+}
+
+int ibdmUseCoutLog() {
+   cout.rdbuf(ibdmCoutBuf);
+   return 0;
+}
+
+char *ibdmGetAndClearInternalLog() {
+   char *res;
+   cout.rdbuf(ibdmCoutBuf);
+   res = (char*)malloc(ibdmLog.str().length() + 1);
+   strcpy(res, ibdmLog.str().c_str());
+   ibdmLog.str("");
+   ibdmUseInternalLog();
+   return res;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBPort:
+//
+
+// constructor
+IBPort::IBPort(IBNode *p_nodePtr, int number) {
+   p_node = p_nodePtr;
+   num = number;
+   p_sysPort = NULL;
+   p_remotePort = NULL;
+   base_lid = IB_LID_UNASSIGNED;
+   memset(&guid,0,sizeof(uint64_t));
+   counter1 = 0;
+   counter2 = 0;
+}
+
+// destructor
+IBPort::~IBPort() {
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+   {
+      cout << "-I- Destructing Port:" << p_node->name << "/" << num << endl;
+   }
+
+   // if was connected - remove the connection:
+   if (p_remotePort)
+      p_remotePort->p_remotePort = NULL;
+
+   // if has a system port - delete it too.
+   if (p_sysPort)
+   {
+      p_sysPort->p_nodePort = NULL;
+      delete p_sysPort;
+   }
+}
+
+// Set the guid in the fabric too:
+void IBPort::guid_set(uint64_t g) {
+   if (p_node && p_node->p_fabric)
+   {
+      p_node->p_fabric->PortByGuid[g] = this;
+      guid = g;
+   }
+}
+
+// Get the port name.
+// If connects to a system port - use the system port name.
+string
+IBPort::getName() {
+   string name;
+   if (p_sysPort)
+   {
+      name = p_sysPort->p_system->name + string("/") + p_sysPort->name;
+   }
+   else
+   {
+      if (! p_node)
+      {
+         cerr << "Got a port with no node" << endl;
+         abort();
+      }
+      char buff[8];
+      sprintf(buff,"/P%u", num);
+      name = p_node->name + string(buff);
+   }
+   return name;
+}
+
+// connect the port to another node port
+void
+IBPort::connect (IBPort *p_otherPort,
+                 IBLinkWidth w,
+                 IBLinkSpeed s)
+{
+   // we can not simply override existing connections
+   if (p_remotePort)
+   {
+      // we only do care if not the requested remote previously conn.
+      if (p_remotePort != p_otherPort)
+      {
+         cout << "-W- Disconnecting: "
+              << p_remotePort->getName() << " previously connected to:"
+              << p_remotePort->getName()
+              << " while connecting:" << p_otherPort->getName() << endl;
+         // the other side should be cleaned only if points here
+         if (p_remotePort->p_remotePort == this)
+         {
+            p_remotePort->p_remotePort = NULL;
+         }
+      }
+   }
+   p_remotePort = p_otherPort;
+
+   // Check the other side was not previously connected
+   if (p_otherPort->p_remotePort)
+   {
+      if (p_otherPort->p_remotePort != this)
+      {
+         // it was connected to a wrong port so disconnect
+         cout << "-W- Disconnecting: " << p_otherPort->getName()
+              << " previously connected to:"
+              << p_otherPort->p_remotePort->getName()
+              << " while connecting:" << this->getName() << endl;
+         // the other side should be cleaned only if points here
+         if (p_otherPort->p_remotePort->p_remotePort == p_otherPort)
+         {
+            p_otherPort->p_remotePort->p_remotePort = NULL;
+         }
+      }
+   }
+   p_otherPort->p_remotePort = this;
+
+   p_remotePort->speed = speed = s;
+   p_remotePort->width = width = w;
+}
+
+// disconenct two ports
+int
+IBPort::disconnect(int duringSysPortDisconnect)
+{
+   if (!p_remotePort)
+   {
+      cout << "-W- Trying to disconenct non connected port." << endl;
+      return(1);
+   }
+
+   if (p_remotePort->p_remotePort != this)
+   {
+      cout
+         << "-W- Remote port does not point back! Disconnecting self only."
+         << endl;
+      p_remotePort = NULL;
+      return(1);
+   }
+   IBPort *p_remPort = p_remotePort;
+   p_remotePort->p_remotePort = NULL;
+   p_remotePort = NULL;
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-I- Disconnected port:" << getName()
+           << " from:" << p_remPort->getName() << endl;
+
+   // might need to treat the sys port too - but mark it duringPortDisconenct
+   if (p_sysPort && ! duringSysPortDisconnect)
+      return(p_sysPort->disconnect(1));
+
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBNode:
+//
+
+// Constructor:
+IBNode::IBNode(string n,
+               IBFabric *p_fab,
+               IBSystem *p_sys,
+               IBNodeType t, int np) {
+   name = n;
+   p_fabric = p_fab;
+   p_system = p_sys;
+   type = t;
+   numPorts = np;
+   guid = 0;
+   rank = IBNODE_UNASSIGNED_RANK;
+   attributes = string("");
+   appData1.ptr = NULL;
+   appData2.ptr = NULL;
+   for (unsigned int i = 0; i < numPorts; i++)
+      Ports.push_back((IBPort *)NULL);
+
+   p_system->NodeByName[name] = this;
+   p_fabric->NodeByName[name] = this;
+}
+
+// Delete the node cleaning up all it's connections
+IBNode::~IBNode() {
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+   {
+      cout << "-I- Destructing Node:" << name << endl;
+   }
+   // delete all the node ports:
+   unsigned int p;
+   for (p = 0; p < numPorts; p++) {
+      IBPort *p_port = Ports[p];
+      if (p_port)
+      {
+         delete p_port;
+      }
+   }
+
+   // remove from the system NodesByName:
+   if (p_system)
+   {
+      map_str_pnode::iterator nI = p_system->NodeByName.find(name);
+      if (nI != p_system->NodeByName.end())
+      {
+         p_system->NodeByName.erase(nI);
+      }
+   }
+
+   // remove from the fabric NodesByName:
+   if (p_fabric)
+   {
+      map_str_pnode::iterator nI = p_fabric->NodeByName.find(name);
+      if (nI != p_fabric->NodeByName.end())
+      {
+         p_fabric->NodeByName.erase(nI);
+      }
+   }
+}
+
+void
+IBNode::guid_set(uint64_t g) {
+   if (p_fabric)
+   {
+      p_fabric->NodeByGuid[g] = this;
+      guid = g;
+   }
+}
+
+// Set the min hop for the given port (* is all) lid pair
+void
+IBNode::setHops (IBPort *p_port, unsigned int lid, int hops) {
+   if (MinHopsTable.empty())
+   {
+      if (lid > p_fabric->maxLid)
+      {
+         cout << "-W- We got a bigget lid:" << lid
+              << " then maxLid:" << p_fabric->maxLid << endl;
+         p_fabric->maxLid = lid;
+      }
+
+      // we allocate the complete table upfront
+      MinHopsTable.resize(p_fabric->maxLid + 1);
+      for(unsigned int l = 0; l < p_fabric->maxLid + 1; l++) {
+         MinHopsTable[l].resize(numPorts + 1);
+         for(unsigned int i = 0; i <= numPorts; i++)
+            MinHopsTable[l][i] = IB_HOP_UNASSIGNED;
+      }
+   }
+
+   // now do the job
+   // if we were not passed a port do it for all!
+   // only if lid is legal , otherwise the user meant ,just to init the
+   // table with IB_HOP_UNASSIGNED
+   if (lid != 0)
+   {
+      if (p_port == NULL)
+      {
+         // set it for all ports
+         for(unsigned int i = 0; i <= numPorts; i++)
+            MinHopsTable[lid][i] = hops;
+      }
+      else
+      {
+         MinHopsTable[lid][p_port->num] = hops;
+      }
+   }
+   else
+   {
+      for (unsigned int l = 0; l < MinHopsTable.size(); l++)
+         for(unsigned int i = 0; i <= numPorts; i++)
+            MinHopsTable[l][i] = hops;
+   }
+
+   // keep track about the min hops per node:
+   if (MinHopsTable[lid][0] > hops)
+      MinHopsTable[lid][0] = hops;
+} // method setHops
+
+// Report Min Hop Table of the current Node
+void
+IBNode::repHopTable () {
+   cout << "-I- MinHopTable for Node:" << name << "\n"
+        << "=========================\n" <<endl;
+   if (MinHopsTable.empty())
+   {
+      cout << "\tEmpty" << endl;
+   }
+   else
+   {
+      cout << "  " << setw(3) << "MIN" << " ";
+      // Lid/Port header line
+      for (int i=1; i <= Ports.size(); i++)
+         cout << setw(2) << i << " " ;
+      cout << endl;
+      for (int i = 1; i <= 3*Ports.size()+5; i++) cout << "-";
+      cout << endl;
+      for (int l = 1; l <= p_fabric->maxLid; l++)
+      {
+         cout << setw(2) << l << "|";
+         for (int i=0; i <= Ports.size(); i++)
+         {
+            int val=(int)MinHopsTable[l][i];
+            if (val != 255)
+               cout << setw(2) << val << " " ;
+            else
+               cout << setw(2) << "-" << " " ;
+         }
+         IBPort *p_port = p_fabric->getPortByLid(l);
+         if (p_port)
+            cout << " " << p_port->p_node->name;
+         cout << endl;
+      }
+      cout << endl;
+   }
+} // Method repHopTable
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Get the min number of hops defined for the given port or all
+int
+IBNode::getHops (IBPort *p_port, unsigned int lid) {
+   // make sure it is initialized:
+   if (MinHopsTable.empty() || (MinHopsTable.size() < lid + 1))
+      return IB_HOP_UNASSIGNED;
+   if (MinHopsTable[lid].empty()) return IB_HOP_UNASSIGNED;
+   if (p_port == NULL) return MinHopsTable[lid][0];
+   return MinHopsTable[lid][p_port->num];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Scan the node ports and find the first port
+// with min hop to the lid
+IBPort *
+IBNode::getFirstMinHopPort(unsigned int lid) {
+
+   // make sure it is a SW:
+   if (type != IB_SW_NODE)
+   {
+      cout << "-E- Get best hop port must be run on SW nodes!" << endl;
+      return NULL;
+   }
+
+   if (MinHopsTable.empty() || (MinHopsTable.size() < lid + 1))
+      return NULL;
+
+   // the best hop is stored in port 0:
+   int minHop = MinHopsTable[lid][0];
+   for (unsigned int i = 1; i <=  numPorts; i++)
+      if (MinHopsTable[lid][i] == minHop)
+         return getPort(i);
+   return NULL;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Set the Linear Forwarding Table:
+void
+IBNode::setLFTPortForLid (unsigned int lid, unsigned int portNum) {
+   unsigned int origSize = LFT.empty() ? 0 : LFT.size();
+   // make sur the vector is init
+   if (origSize < lid + 1)
+   {
+      LFT.resize(lid + 100);
+      // initialize
+      for(unsigned int i = origSize; i < LFT.size(); i++)
+         LFT[i] = IB_LFT_UNASSIGNED;
+   }
+
+   // now do the job
+   LFT[lid] = portNum;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Get the LFT for a given lid
+int
+IBNode::getLFTPortForLid (unsigned int lid) {
+   // make sure it is initialized:
+   if (LFT.empty() || (LFT.size() < lid + 1)) return IB_LFT_UNASSIGNED;
+   return ( LFT[lid] );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Set the PSL Table:
+void
+IBNode::setPSLForLid (unsigned int lid, unsigned int maxLid, uint8_t sl) {
+  if (PSL.empty())
+  {
+    PSL.resize(maxLid + 1);
+    for(unsigned int i = 0; i<PSL.size(); i++)
+      PSL[i] = IB_SLT_UNASSIGNED;
+  }
+  PSL[lid] = sl;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Get the PSL Table:
+uint8_t
+IBNode::getPSLForLid (unsigned int lid) {
+  if (PSL.empty())
+    return 0;
+
+ if (PSL.size() < lid+1)
+    return IB_SLT_UNASSIGNED;
+
+  return PSL[lid];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Set the SL2VL Table:
+void
+IBNode::setSLVL (unsigned int iport,unsigned int oport,uint8_t sl, uint8_t vl) {
+  // Create an empty table
+  if (SLVL.empty())
+  {
+    SLVL.resize(numPorts+1);
+    for (int i=0;i<SLVL.size();i++) {
+      SLVL[i].resize(numPorts+1);
+      for (int j=0;j<SLVL[i].size();j++) {
+	SLVL[i][j].resize(IB_NUM_SL);
+	for (int k=0;k<SLVL[i][j].size();k++)
+	  SLVL[i][j][k] = IB_SLT_UNASSIGNED;
+      }
+    }
+  }
+  SLVL[iport][oport][sl] = vl;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Get the SLVL Table:
+uint8_t
+IBNode::getSLVL (unsigned int iport,unsigned int oport,uint8_t sl) {
+  // Identity mapping
+  if (SLVL.empty())
+    return sl;
+
+  return SLVL[iport][oport][sl];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Set the Multicast FDB table
+void
+IBNode::setMFTPortForMLid(
+   unsigned int lid,
+   unsigned int portNum)
+{
+   if ((portNum > numPorts) || (portNum >= 64))
+   {
+      cout << "-E- setMFTPortForMLid : Given port:" << portNum
+           << " is too high!" << endl;
+      return;
+   }
+
+   // make sure the mlid is in range:
+   if ((lid < 0xc000) || (lid > 0xffff))
+   {
+      cout << "-E- setMFTPortForMLid : Given lid:" << lid
+           << " is out of range" << endl;
+      return;
+   }
+
+   int idx = lid - 0xc000;
+
+   // make sure we have enough vector:
+   int prevSize = MFT.size();
+   if (prevSize <= idx)
+   {
+      MFT.resize(idx + 10);
+      for( int i = prevSize; i < idx + 10; i++)
+         MFT[i]=0;
+   }
+
+   MFT[idx] |= (((uint64_t)1) << portNum);
+
+   // we track all Groups:
+   p_fabric->mcGroups.insert(lid);
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Get the list of ports for the givan MLID from the MFT
+list_int
+IBNode::getMFTPortsForMLid(
+   unsigned int lid)
+{
+   list_int res;
+   // make sure the mlid is in range:
+   if ((lid < 0xc000) || (lid > 0xffff))
+   {
+      cout << "-E- getMFTPortsForMLid : Given lid:" << lid
+           << " is out of range" << endl;
+      return res;
+   }
+
+   int idx = lid - 0xc000;
+   if (MFT.size() <= idx)
+      return res;
+
+   uint64_t mftVal = MFT[idx];
+   for(unsigned int pn = 0; pn <= numPorts; pn++)
+      if (mftVal & (((uint64_t)1) << pn)) res.push_back(pn);
+
+   return res;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBSysPort:
+//
+
+// Connect two system ports. This will update both sides pointers
+void
+IBSysPort::connect (IBSysPort *p_otherSysPort,
+                    IBLinkWidth width,
+                    IBLinkSpeed speed
+                    ) {
+   // we can not simply override existing connections
+   if (p_remoteSysPort)
+   {
+      // we only do care if not the requested remote previously conn.
+      if (p_remoteSysPort != p_otherSysPort)
+      {
+         cout << "-W- Disconnecting system port: " << p_system->name << "-/"
+              << this->name << " previously connected to:"
+              << p_remoteSysPort->p_system->name << "-/"
+              << p_remoteSysPort->name
+              << " while connecting:" << p_otherSysPort->p_system->name
+              << "-/" << p_otherSysPort->name << endl;
+         // the other side should be cleaned only if points here
+         if (p_remoteSysPort->p_remoteSysPort == this)
+         {
+            p_remoteSysPort->p_remoteSysPort = NULL;
+         }
+      }
+   }
+   p_remoteSysPort = p_otherSysPort;
+
+   // Check the other side was not previously connected
+   if (p_otherSysPort->p_remoteSysPort)
+   {
+      if (p_otherSysPort->p_remoteSysPort != this)
+      {
+         // it was connected to a wrong port so disconnect
+         cout << "-W- Disconnecting system port back: "
+              << p_otherSysPort->p_system->name << "-/"
+              << p_otherSysPort->name << " previously connected to:"
+              << p_otherSysPort->p_remoteSysPort->p_system->name << "-/"
+              << p_otherSysPort->p_remoteSysPort->name
+              << " while connecting:" << this->p_system->name
+              << "-/" << this->name << endl;
+         // the other side should be cleaned only if points here
+         if (p_otherSysPort->p_remoteSysPort->p_remoteSysPort == p_otherSysPort)
+         {
+            p_otherSysPort->p_remoteSysPort->p_remoteSysPort = NULL;
+         }
+      }
+   }
+   p_otherSysPort->p_remoteSysPort = this;
+
+   // there should be a lower level port to connect too:
+   if (p_remoteSysPort->p_nodePort && p_nodePort)
+      p_nodePort->connect(p_remoteSysPort->p_nodePort, width, speed);
+   else
+      cout << "-E- Connected sys ports but no nodes ports:"
+           << p_system->name << "/" << name << " - "
+           << p_remoteSysPort->p_system->name << "/"
+           << p_remoteSysPort->name << endl;
+}
+
+int
+IBSysPort::disconnect(int duringPortDisconnect)
+{
+   if (!p_remoteSysPort)
+   {
+      cout << "-W- Trying to disconenct non connected system port." << endl;
+      return(1);
+   }
+
+   if (p_remoteSysPort->p_remoteSysPort != this)
+   {
+      cout
+         << "-W- Remote port does not point back! Disconnecting self only."
+         << endl;
+      p_remoteSysPort = NULL;
+      return(1);
+   }
+
+   IBSysPort *p_remSysPort = p_remoteSysPort;
+   p_remoteSysPort->p_remoteSysPort = NULL;
+   p_remoteSysPort = NULL;
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-I- Disconnected system port:" << name
+           << " from:" << p_remSysPort->name << endl;
+
+   // might need to treat the port too - but mark it duringPortDisconenct
+   if (p_nodePort && ! duringPortDisconnect) return(p_nodePort->disconnect(1));
+
+   return(0);
+}
+
+// Constructor:
+IBSysPort::IBSysPort(string n, class IBSystem *p_sys)
+{
+   p_system = p_sys;
+   name = n;
+   p_nodePort = NULL;
+   p_remoteSysPort = NULL;
+   p_system->PortByName[name] = this;
+}
+
+// Distractor
+IBSysPort::~IBSysPort() {
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+   {
+      cout << "-I- Destructing SysPort:" << name << endl;
+   }
+
+   // if connected to another side remove the connection
+   if (p_remoteSysPort)
+      p_remoteSysPort->p_remoteSysPort = NULL;
+
+   // remove from the map of the parent system
+   if (p_system)
+   {
+      map_str_psysport::iterator pI = p_system->PortByName.find(name);
+      if (pI != p_system->PortByName.end())
+      {
+         p_system->PortByName.erase(pI);
+      }
+   }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBSystem:
+//
+
+// Destructor
+IBSystem::~IBSystem() {
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-I- Destructing System:" << name << endl;
+
+   // cleanup all allocated sysPorts:
+   while (!PortByName.empty()) {
+      map_str_psysport::iterator pI = PortByName.begin();
+      // deleting a SysPort should cleanup the table
+      IBSysPort *p_sysPort = (*pI).second;
+      if (p_sysPort)
+      {
+         delete p_sysPort;
+      }
+   }
+
+   // cleanup from parent fabric table of systems:
+   if (p_fabric)
+   {
+      map_str_psys::iterator sI = p_fabric->SystemByName.find(name);
+      if (sI != p_fabric->SystemByName.end())
+         p_fabric->SystemByName.erase(sI);
+   }
+}
+
+// make sure we got the port defined
+IBSysPort *
+IBSystem::makeSysPort (string pName) {
+   IBSysPort *p_port;
+   map_str_psysport::iterator pI = PortByName.find(pName);
+   if (pI == PortByName.end())
+   {
+      p_port = new IBSysPort(pName, this);
+      if (!p_port) return NULL;
+      PortByName[pName] = p_port;
+   }
+   else
+   {
+      p_port = (*pI).second;
+   }
+   // connect the SysPort to the lower level nodes
+   IBPort *p_nodePort = getSysPortNodePortByName(pName);
+   if (! p_nodePort) return NULL;
+   p_nodePort->p_sysPort = p_port;
+   p_port->p_nodePort = p_nodePort;
+   return p_port;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+void
+IBSystem::guid_set(uint64_t g) {
+   if (p_fabric)
+   {
+      p_fabric->SystemByGuid[g] = this;
+      guid = g;
+   }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+IBSysPort *
+IBSystem::getSysPort(string name) {
+   IBSysPort *p_sysPort = NULL;
+   map_str_psysport::iterator nI = PortByName.find(name);
+   if (nI != PortByName.end())
+   {
+      p_sysPort = (*nI).second;
+   }
+   return p_sysPort;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// constructor:
+IBSystem::IBSystem(string n, class IBFabric *p_fab, string t) {
+   if (p_fab->getSystem(n))
+   {
+      cerr << "Can't deal with double allocation of same system!" << endl;
+      abort();
+   }
+   name = n;
+   type = t;
+   guid = 0;
+   p_fabric = p_fab;
+   p_fabric->SystemByName[n] = this;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Get a string with all the System Port Names (even if not connected)
+list_str
+IBSystem::getAllSysPortNames() {
+   list_str portNames;
+   for (map_str_psysport::iterator pI = PortByName.begin();
+        pI != PortByName.end();
+        pI++) {
+      portNames.push_back((*pI).first);
+   }
+   return portNames;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// get the node port for the given sys port by name
+IBPort *
+IBSystem::getSysPortNodePortByName (string sysPortName) {
+   map_str_psysport::iterator pI = PortByName.find(sysPortName);
+   if (pI != PortByName.end())
+   {
+      return ((*pI).second)->p_nodePort;
+   }
+   return NULL;
+}
+//////////////////////////////////////////////////////////////////////////////
+
+// Split the given cfg into a vector of board cfg codes
+void
+IBSystem::cfg2Vector(const string& cfg,
+                     vector<string>& boardCfgs,
+                     int numBoards)
+{
+   unsigned int i;
+   int b = 0;
+   unsigned int prevDelim = 0;
+   const char *p_str = cfg.c_str();
+   char bcfg[16];
+
+   // skip leading spaces:
+   for (i = 0; (i < strlen(p_str)) && (
+           (p_str[i] == '\t') || (p_str[i] == ' ')); i++);
+   prevDelim = i;
+
+   // scan each character:
+   for (; (i < strlen(p_str)) && (b < numBoards); i++) {
+      // either a delimiter or not:
+      if (p_str[i] == ',')
+      {
+         strncpy(bcfg, p_str + prevDelim, i - prevDelim);
+         bcfg[i - prevDelim] = '\0';
+         boardCfgs.push_back(string(bcfg));
+         prevDelim = i + 1;
+         b++;
+      }
+   }
+
+   if (prevDelim != i)
+   {
+      strncpy(bcfg, p_str + prevDelim, i - prevDelim);
+      bcfg[i - prevDelim] = '\0';
+      boardCfgs.push_back(string(bcfg));
+      b++;
+   }
+
+   for (;b < numBoards; b++) {
+      boardCfgs.push_back("");
+   }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Remove a system board
+int
+IBSystem::removeBoard (string boardName) {
+   list <IBNode *> matchedNodes;
+   // we assume system name is followed by "/" by board to get the node name:
+   string sysNodePrefix = name + string("/") + boardName + string("/");
+
+   // go through all the system nodes.
+   for (map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+      // if node name start matches the module name - we need to remove it.
+      if (!strncmp((*nI).first.c_str(), sysNodePrefix.c_str(),
+                   strlen(sysNodePrefix.c_str())))
+      {
+         matchedNodes.push_back((*nI).second);
+      }
+   }
+
+   // Warn if no match:
+   if (matchedNodes.empty())
+   {
+      cout << "-W- removeBoard : Fail to find any node in:"
+           << sysNodePrefix << " while removing:" << boardName << endl;
+      return 1;
+   }
+
+   // go through the list of nodes and delete them
+   list <IBNode *>::iterator lI = matchedNodes.begin();
+   while (lI != matchedNodes.end()) {
+      // cleanup the node from the fabric node by name:
+      IBNode *p_node = *lI;
+      // cout << "Removing node:" << p_node->name.c_str()  << endl;
+      p_fabric->NodeByName.erase(p_node->name);
+      delete p_node;
+      matchedNodes.erase(lI);
+      lI = matchedNodes.begin();
+   }
+
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Write out the system IBNL into the given directory
+// and return the new system type
+//
+// We are facing here a "heuristic" approach for how one knows
+// the number of system ports - since some may be added later.
+// 
+// In the case of a single device system we can and should expose
+// all device ports - simply as P<pn>.
+//
+// In the case of a combined system we can not tell. Adding new connections
+// will require regenerating the IBNL (which is by SysGuid anyway)
+int
+IBSystem::dumpIBNL(char *ibnlDir, string &sysType) {
+   char sysTypeStr[256];
+   // if we got just one node  it is simple - write a corresponding IBNL by the
+   // device ID
+   if (NodeByName.size() == 1)
+   {
+      map_str_pnode::iterator nI = NodeByName.begin();
+      IBNode *p_node = (*nI).second;
+      sprintf(sysTypeStr, "DEV%u", p_node->devId);
+   }
+   else
+   {
+      sprintf(sysTypeStr, "SYS%x", guid);
+   }
+   sysType = string(sysTypeStr);
+   string fileName = string(ibnlDir) + string("/") + sysType + string(".ibnl");
+   ofstream ibnl;
+   ibnl.open(fileName.c_str());
+
+   if (ibnl.fail())
+   {
+      cout << "-E- Failed to write IBNL into file:" << fileName << endl;
+      return 1;
+   }
+
+   ibnl << "TOPSYSTEM " << sysType << endl;
+
+   // go over all nodes of the system:
+   for (map_str_pnode::iterator nI = NodeByName.begin();
+        nI != NodeByName.end(); nI++) {
+      IBNode *p_node = (*nI).second;
+		string nameWithoutSysName = 
+		  p_node->name.substr(name.length()+1, p_node->name.length() - name.length() - 1);
+      if (p_node->type == IB_SW_NODE)
+      {
+         ibnl << "\nNODE SW " << p_node->numPorts << " "
+              << "DEV" << p_node->devId << " " << nameWithoutSysName.c_str() << endl;
+      }
+      else
+      {
+         ibnl << "\nNODE CA " << p_node->numPorts << " "
+              << "DEV" << p_node->devId << " " << nameWithoutSysName.c_str() << endl;
+      }
+
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+         IBPort *p_port = p_node->getPort(pn);
+
+			if (NodeByName.size() == 1) {
+			  // invent a port ...
+			  char buf[128];
+			  sprintf(buf,"%s/P%u", nameWithoutSysName.c_str(), pn);
+			  ibnl << "   " << pn << " -> " << buf << endl;
+			} else {
+			  if (! p_port) continue;
+			}
+
+         if (p_port->p_sysPort)
+         {
+            ibnl << "   " << pn << " -> "
+                 << p_port->p_sysPort->name << endl;
+         } else if (p_port->p_remotePort) {
+            ibnl << "   "  << pn << " -"
+                 << width2char(p_port->width)
+                 << "-" << speed2char(p_port->speed) << "G-> "
+                 << p_port->p_remotePort->p_node->name << " "
+                 << p_port->p_remotePort->num << endl;
+         }
+      }
+   }
+
+   ibnl.close();
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBFabric:
+//
+
+// Destructor:
+IBFabric::~IBFabric() {
+   // cleanup all Systems and Nodes:
+
+   // starting with nodes since they point back to their systems
+   while (! NodeByName.empty()) {
+      map_str_pnode::iterator nI = NodeByName.begin();
+      // note this will cleanup the node from the table...
+      IBNode *p_node = (*nI).second;
+      delete p_node;
+   }
+
+   // now we do the systems
+   while (!SystemByName.empty()) {
+      map_str_psys::iterator sI = SystemByName.begin();
+      // note this will cleanup the system from the table...
+      IBSystem *p_sys = (*sI).second;
+      delete p_sys;
+   }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// CLASS IBFabric:
+//
+
+// make a new node if can not find it by name
+IBNode *
+IBFabric::makeNode (string n, IBSystem *p_sys, IBNodeType type,
+                    unsigned int numPorts) {
+   IBNode *p_node;
+   map_str_pnode::iterator nI = NodeByName.find(n);
+   if (nI == NodeByName.end())
+   {
+      p_node = new IBNode(n, this, p_sys, type, numPorts);
+      NodeByName[n] = p_node;
+      // if the node is uniq by name in the fabric it must be uniq in the sys
+      p_sys->NodeByName[n] = p_node;
+   }
+   else
+   {
+      p_node = (*nI).second;
+   }
+
+   // if the fabric require all ports to be declared do it:
+   if (defAllPorts)
+      for (unsigned int i = 1; i <= numPorts; i++)
+         p_node->makePort(i);
+
+   return p_node;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Look for the node by its name
+IBNode *
+IBFabric::getNode (string name) {
+   IBNode *p_node = NULL;
+   map_str_pnode::iterator nI = NodeByName.find(name);
+   if (nI != NodeByName.end())
+   {
+      p_node = (*nI).second;
+   }
+   return p_node;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+
+IBPort *
+IBFabric::getPortByGuid (uint64_t guid) {
+   IBPort *p_port = NULL;
+   map_guid_pport::iterator nI = PortByGuid.find(guid);
+   if (nI != PortByGuid.end())
+   {
+      p_port = (*nI).second;
+   }
+   return p_port;
+}
+
+IBNode *
+IBFabric::getNodeByGuid (uint64_t guid) {
+   IBNode *p_node = NULL;
+   map_guid_pnode::iterator nI = NodeByGuid.find(guid);
+   if (nI != NodeByGuid.end())
+   {
+      p_node = (*nI).second;
+   }
+   return p_node;
+}
+
+IBSystem *
+IBFabric::getSystemByGuid (uint64_t guid) {
+   IBSystem *p_system = NULL;
+   map_guid_psys::iterator nI = SystemByGuid.find(guid);
+   if (nI != SystemByGuid.end())
+   {
+      p_system = (*nI).second;
+   }
+   return p_system;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+
+// return the list of node pointers matching the required type
+list_pnode *
+IBFabric::getNodesByType (IBNodeType type) {
+
+   list_pnode *res = new list_pnode;
+   for (map_str_pnode::iterator nI = NodeByName.begin(); nI != NodeByName.end(); nI++) {
+      if ((type == IB_UNKNOWN_NODE_TYPE) || (type == ((*nI).second)->type))
+      {
+         res->push_back(((*nI).second));
+      }
+   }
+   return res;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// convert the given configuration string to modifiers list
+// The syntax of the modifier string is comma sep board=modifier pairs
+static int
+cfgStrToModifiers(string cfg, map_str_str &mods) {
+   unsigned int i;
+   unsigned int prevDelim = 0;
+   const char *p_str = cfg.c_str();
+   char bcfg[64];
+
+   // skip leading spaces:
+   for (i = 0; (i < strlen(p_str)) && (
+           (p_str[i] == '\t') || (p_str[i] == ' ')); i++);
+   prevDelim = i;
+
+   // scan each character:
+   for (;i < strlen(p_str); i++) {
+      // either a delimiter or not:
+      if (p_str[i] == ',')
+      {
+         strncpy(bcfg, p_str + prevDelim, i - prevDelim);
+         bcfg[i - prevDelim] = '\0';
+         char *eqSign = strchr(bcfg, '=');
+         if (eqSign)
+         {
+            eqSign[0] = '\0';
+            string key = bcfg;
+            string val = ++eqSign;
+            mods[key] = val;
+         }
+         else
+         {
+            cout << "-E- Bad modifier syntax:" << bcfg
+                 << "expected: board=modifier" << endl;
+         }
+         prevDelim = i + 1;
+      }
+   }
+
+   if (prevDelim != i)
+   {
+      strncpy(bcfg, p_str + prevDelim, i - prevDelim);
+      bcfg[i - prevDelim] = '\0';
+      char *eqSign = strchr(bcfg, '=');
+      if (eqSign)
+      {
+         eqSign[0] = '\0';
+         string key = bcfg;
+         string val = ++eqSign;
+         mods[key] = val;
+      }
+      else
+      {
+         cout << "-E- Bad modifier syntax:" << bcfg
+              << "expected: board=modifier" << endl;
+      }
+   }
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// crate a new generic system - basically an empty contaner for nodes...
+IBSystem *
+IBFabric::makeGenericSystem (string name) {
+
+   IBSystem *p_sys;
+
+   // make sure we do not previoulsy have this system defined.
+   map_str_psys::iterator sI = SystemByName.find(name);
+   if (sI == SystemByName.end())
+   {
+      p_sys = new IBSystem(name,this,"Generic");
+   }
+   else
+   {
+      p_sys = (*sI).second;
+   }
+   return p_sys;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// crate a new system - the type must have a predefined sysdef
+IBSystem *
+IBFabric::makeSystem (string name, string type, string cfg) {
+
+   IBSystem *p_sys;
+
+   // make sure we do not previoulsy have this system defined.
+   map_str_psys::iterator sI = SystemByName.find(name);
+   if (sI == SystemByName.end())
+   {
+
+      // We base our system building on the system definitions:
+      map_str_str mods;
+
+      // convert the given configuration string to modifiers map
+      cfgStrToModifiers(cfg, mods);
+
+      p_sys = theSysDefsCollection()->makeSystem(this, name, type, mods);
+
+      if (!p_sys)
+      {
+         cout << "-E- Fail to find System class:" << type
+              << endl;
+         return NULL;
+      }
+
+      SystemByName[name] = p_sys;
+
+      // if the fabric require all ports to be declared do it:
+      if (defAllPorts)
+      {
+         list_str portNames = p_sys->getAllSysPortNames();
+         for (list_str::const_iterator pnI = portNames.begin();
+              pnI != portNames.end();
+              pnI++) {
+            p_sys->makeSysPort(*pnI);
+         }
+      }
+   }
+   else
+   {
+      p_sys = (*sI).second;
+   }
+   return p_sys;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Look for the system by its name
+IBSystem *
+IBFabric::getSystem (string name) {
+   IBSystem *p_system = NULL;
+   map_str_psys::iterator nI = SystemByName.find(name);
+   if (nI != SystemByName.end())
+   {
+      p_system = (*nI).second;
+   }
+   return p_system;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Add a cable connection
+int
+IBFabric::addCable (string t1, string n1, string p1,
+                    string t2, string n2, string p2,
+                    IBLinkWidth width, IBLinkSpeed speed) {
+   // make sure the nodes exists:
+   IBSystem *p_sys1 = makeSystem(n1,t1);
+   IBSystem *p_sys2 = makeSystem(n2,t2);
+
+   // check please:
+   if (! (p_sys1 && p_sys2))
+   {
+      cout << "-E- Fail to make either systems:" << n1 << " or:"
+           << n2 << endl;
+      return 1;
+   }
+
+   // check types
+   if (p_sys1->type != t1)
+   {
+      cout << "-W- Provided System1 Type:" << t1
+           << " does not match pre-existing system:" << n1
+           << " type:" << p_sys1->type << endl;
+   }
+
+   if (p_sys2->type != t2)
+   {
+      cout << "-W- Provided System1 Type:" << t2
+           << " does not match pre-existing system:" << n2
+           << " type:" << p_sys2->type << endl;
+   }
+
+   // make sure the sys ports exists
+   IBSysPort *p_port1 = p_sys1->makeSysPort(p1);
+   IBSysPort *p_port2 = p_sys2->makeSysPort(p2);
+   if (! (p_port1 && p_port2)) return 1;
+
+   // make sure they are not previously connected otherwise
+   if (p_port1->p_remoteSysPort && (p_port1->p_remoteSysPort != p_port2))
+   {
+      cout << "-E- Port:"
+           << p_port1->p_system->name << "/"
+           << p_port1->name
+           << " already connected to:"
+           << p_port1->p_remoteSysPort->p_system->name << "/"
+           << p_port1->p_remoteSysPort->name <<endl;
+      return 1;
+   }
+
+   if (p_port2->p_remoteSysPort && (p_port2->p_remoteSysPort != p_port1))
+   {
+      cout << "-E- Port:"
+           << p_port2->p_system->name << "/"
+           << p_port2->name
+           << " already connected to:"
+           << p_port2->p_remoteSysPort->p_system->name << "/"
+           << p_port2->p_remoteSysPort->name << endl;
+      return 1;
+   }
+
+   // connect them
+   p_port1->connect(p_port2, width, speed);
+   p_port2->connect(p_port1, width, speed);
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse the cabling definition file
+int
+IBFabric::parseCables (string fn) {
+   ifstream f(fn.c_str());
+   char sLine[1024];
+   string n1, t1, p1, n2, t2, p2;
+   regExp cablingLine("[ \t]*([^ \t]+)[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]*");
+   regExp ignoreLine("^[ \t]*(#|[ \t]*$)");
+   rexMatch *p_rexRes;
+   IBLinkSpeed speed = IB_UNKNOWN_LINK_SPEED;
+   IBLinkWidth width = IB_UNKNOWN_LINK_WIDTH;
+
+   if (! f)
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing cabling definition:" << fn.c_str() << endl;
+
+   int numCables = 0;
+   int lineNum = 0;
+   while (f.good()) {
+      lineNum++;
+      f.getline(sLine,1024);
+      // <SysType1> <sysName1> <portName1> <SysType2> <sysName2> <portName2>
+      p_rexRes = cablingLine.apply(sLine);
+
+      if (p_rexRes)
+      {
+         t1 = p_rexRes->field(1);
+         n1 = p_rexRes->field(2);
+         p1 = p_rexRes->field(3);
+         t2 = p_rexRes->field(4);
+         n2 = p_rexRes->field(5);
+         p2 = p_rexRes->field(6);
+         if (addCable(t1, n1, p1, t2, n2, p2, width, speed))
+         {
+            cout << "-E- Fail to make cable"
+                 << " (line:" << lineNum << ")"
+                 << endl;
+            delete p_rexRes;
+            return 1;
+         }
+         numCables++;
+         delete p_rexRes;
+         continue;
+      }
+
+      // check if leagel ignored line
+      p_rexRes = ignoreLine.apply(sLine);
+      if (p_rexRes)
+      {
+         delete p_rexRes;
+      }
+      else
+      {
+         cout << "-E- Bad syntax on line:" << sLine << endl;
+      }
+   }
+
+   cout << "-I- Defined " << SystemByName.size() << "/" << NodeByName.size() <<
+      " systems/nodes " << endl;
+   f.close();
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse the topology definition file
+int
+IBFabric::parseTopology (string fn) {
+   ifstream f(fn.c_str());
+   char sLine[1024];
+   string n1 = string(""), t1, p1, n2, t2, p2, cfg = string("");
+   regExp sysLine("^[ \t]*([^/ \t]+)[ \t]+([^/ \t]+)[ \t]*( CFG:(.*))?$");
+   regExp sysModule("([^ \t,]+)(.*)");
+   regExp portLine("^[ \t]+([^ \t]+)[ \t]+-((1|4|8|12)[xX]-)?((2.5|5|10)G-)?[>]"
+                   "[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]+([^ \t]+)[ \t]*$");
+   regExp ignoreLine("^[ \t]*#");
+   regExp emptyLine("^[ \t]*$");
+   rexMatch *p_rexRes;
+   IBSystem *p_system = NULL;
+   IBLinkSpeed speed;
+   IBLinkWidth width;
+
+   if (! f.is_open())
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing topology definition:" << fn.c_str() << endl;
+
+   // we need two passes since we only get system configuration
+   // on a system definition line.
+   int lineNum = 0;
+   while (f.good()) {
+      lineNum++;
+      f.getline(sLine,1024);
+
+      // check if legal ignored line
+      p_rexRes = ignoreLine.apply(sLine);
+      if (p_rexRes)
+      {
+         delete p_rexRes;
+         continue;
+      }
+
+      // First look for system line:
+      p_rexRes = sysLine.apply(sLine);
+
+      if (p_rexRes)
+      {
+         t1 = p_rexRes->field(1);
+         n1 = p_rexRes->field(2);
+         cfg = p_rexRes->field(4);
+         p_system = makeSystem(n1,t1,cfg);
+
+         // check please:
+         if (! p_system)
+         {
+            cout << "-E- Fail to make system:" << n1
+                 << " of type:" <<  t1
+                 << " (line:" << lineNum << ")"
+                 << endl;
+            delete p_rexRes;
+            return 1;
+         }
+         delete p_rexRes;
+         continue;
+      }
+   }
+
+   lineNum = 0;
+   f.close();
+   f.clear();
+   f.open(fn.c_str());
+
+   if (! f.is_open())
+   {
+      cout << "-E- Fail to re open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   int numCables = 0;
+
+   while (f.good()) {
+      lineNum++;
+      f.getline(sLine,1024);
+
+      // check if legal ignored line
+      p_rexRes = ignoreLine.apply(sLine);
+      if (p_rexRes)
+      {
+         delete p_rexRes;
+         continue;
+      }
+
+      // look for system line:
+      p_rexRes = sysLine.apply(sLine);
+
+      if (p_rexRes)
+      {
+         t1 = p_rexRes->field(1);
+         n1 = p_rexRes->field(2);
+         cfg = p_rexRes->field(4);
+         p_system = makeSystem(n1,t1,cfg);
+
+         // check please:
+         if (! p_system)
+         {
+            cout << "-E- Fail to make system:" << n1
+                 << " of type:" <<  t1
+                 << " (line:" << lineNum << ")"
+                 << endl;
+            delete p_rexRes;
+            return 1;
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      // is it a port line:
+      p_rexRes = portLine.apply(sLine);
+      if (p_rexRes)
+      {
+         if (p_system)
+         {
+            p1 = p_rexRes->field(1);
+            width = char2width((p_rexRes->field(3) + "x").c_str());
+            speed = char2speed((p_rexRes->field(5)).c_str());
+            // supporting backward compatibility and default
+            // we define both speed and width:
+            if (width == IB_UNKNOWN_LINK_WIDTH) width = IB_LINK_WIDTH_4X;
+            if (speed == IB_UNKNOWN_LINK_SPEED) speed = IB_LINK_SPEED_2_5;
+
+            t2 = p_rexRes->field(6);
+            n2 = p_rexRes->field(7);
+            p2 = p_rexRes->field(8);
+            if (addCable(t1, n1, p1, t2, n2, p2, width, speed))
+            {
+               cout << "-E- Fail to make cable"
+                    << " (line:" << lineNum << ")"
+                    << endl;
+               delete p_rexRes;
+               return 1;
+            }
+            numCables++;
+         }
+         else
+         {
+            cout << "-E- Fail to make connection as local system "
+                 << "not defined (line:" << lineNum << ")"
+                 << endl;
+            delete p_rexRes;
+            return 1;
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      // check if empty line - marking system end:
+      p_rexRes = emptyLine.apply(sLine);
+      if (p_rexRes)
+      {
+         p_system = NULL;
+         delete p_rexRes;
+         continue;
+      }
+
+      cout << "-W- Ignoring '" << sLine << "'"
+           << " (line:" << lineNum << ")" << endl;
+   }
+
+   cout << "-I- Defined " << SystemByName.size() << "/"
+        << NodeByName.size() << " systems/nodes " << endl;
+   f.close();
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Create a new link in the fabric.
+// create the node and the system if required.
+// NOTE that for LMC > 0 we do not get the multiple lid
+// assignments - just the base lid.
+// so we need to assign them ourselves (for CAs) if we have LMC
+// Also note that if we provide a description for the device
+// it is actually means the device is a CA and that is the system name ...
+int
+IBFabric::addLink(string type1, int numPorts1,
+                  uint64_t sysGuid1, uint64_t nodeGuid1,  uint64_t portGuid1,
+                  int vend1, int devId1, int rev1, string desc1,
+                  int hcaIdx1, int lid1, int portNum1,
+                  string type2, int numPorts2,
+                  uint64_t sysGuid2, uint64_t nodeGuid2,  uint64_t portGuid2,
+                  int vend2, int devId2, int rev2, string desc2,
+                  int hcaIdx2, int lid2, int portNum2,
+                  IBLinkWidth width, IBLinkSpeed speed
+                  ) {
+
+   IBSystem *p_sys1, *p_sys2;
+   IBNode *p_node1, *p_node2;
+   char buf[256];
+
+   // make sure the system1 exists
+   if (!desc1.size())
+   {
+      sprintf(buf, "S%016" PRIx64, sysGuid1);
+      string sysName1 = string(buf);
+      p_sys1 = makeGenericSystem(sysName1);
+   }
+   else
+   {
+      p_sys1 = makeGenericSystem(desc1);
+   }
+
+   if (!desc2.size())
+   {
+      sprintf(buf, "S%016" PRIx64, sysGuid2);
+      string sysName2 = string(buf);
+      p_sys2 = makeGenericSystem(sysName2);
+   }
+   else
+   {
+      p_sys2 = makeGenericSystem(desc2);
+   }
+
+   // make sure the nodes exists
+   p_node1 = getNodeByGuid(nodeGuid1);
+   if (! p_node1)
+   {
+      // if we got a desc name
+      if ((type1 != "SW") && desc1.size())
+      {
+         sprintf(buf,"%s/U%d", desc1.c_str(), hcaIdx1);
+      }
+      else
+      {
+         sprintf(buf,"%s/U%d", p_sys1->name.c_str(),
+                 p_sys1->NodeByName.size() + 1);
+      }
+      if (type1 == "SW")
+      {
+         p_node1 = makeNode(buf, p_sys1, IB_SW_NODE, numPorts1);
+      }
+      else
+      {
+         p_node1 = makeNode(buf, p_sys1, IB_CA_NODE, numPorts1);
+      }
+      p_node1->guid_set(nodeGuid1);
+   }
+
+   p_node2 = getNodeByGuid(nodeGuid2);
+   if (! p_node2)
+   {
+      // if we got a desc name
+      if ((type2 != "SW") && desc2.size())
+         sprintf(buf,"%s/U%d", desc2.c_str(), hcaIdx2);
+      else
+         sprintf(buf,"%s/U%d", p_sys2->name.c_str(),
+                 p_sys2->NodeByName.size() + 1);
+      if (type2 == "SW")
+      {
+         p_node2 = makeNode(buf, p_sys2, IB_SW_NODE, numPorts2);
+      }
+      else
+      {
+         p_node2 = makeNode(buf, p_sys2, IB_CA_NODE, numPorts2);
+      }
+      p_node2->guid_set(nodeGuid2);
+   }
+
+   // we want to use the host names if they are defined:
+   if (desc1.size())
+      p_node1->attributes = string("host=") + desc1;
+
+   if (desc2.size())
+      p_node2->attributes = string("host=") + desc2;
+
+   IBSysPort *p_sysPort1 = 0, *p_sysPort2 = 0;
+
+   // create system ports if required
+   if (sysGuid1 != sysGuid2)
+   {
+      if (type1 == "SW" || desc1.size() == 0 || hcaIdx1 != 1)
+      {
+         // avoid adding the sys name to the port...
+         if (p_sys1->name == p_node1->name.substr(0, p_sys1->name.length()))
+         {
+            string noSys = p_node1->name.substr(p_sys1->name.length() + 1,
+                                                p_node1->name.length() -
+                                                p_sys1->name.length() - 1);
+            sprintf(buf,"%s/P%u", noSys.c_str(), portNum1);
+         }
+         else
+         {
+            sprintf(buf,"%s/P%u", p_node1->name.c_str(), portNum1);
+         }
+      }
+      else
+      {
+         sprintf(buf,"P%u", portNum1);
+      }
+      p_sysPort1 = p_sys1->getSysPort(buf);
+      if (p_sysPort1 == NULL)
+         p_sysPort1 = new IBSysPort(buf, p_sys1);
+
+      if (type2 == "SW" || desc2.size() == 0 || hcaIdx2 != 1)
+      {
+         if (p_sys2->name == p_node2->name.substr(0, p_sys2->name.length()))
+         {
+            string noSys = p_node2->name.substr(p_sys2->name.length() + 1,
+                                                p_node2->name.length() -
+                                                p_sys2->name.length() - 1);
+            sprintf(buf,"%s/P%u", noSys.c_str(), portNum2);
+         }
+         else
+         {
+            sprintf(buf,"%s/P%u", p_node2->name.c_str(), portNum2);
+         }
+      }
+      else
+      {
+         sprintf(buf,"P%u", portNum2);
+      }
+      p_sysPort2 = p_sys2->getSysPort(buf);
+      if (p_sysPort2 == NULL)
+         p_sysPort2 = new IBSysPort(buf, p_sys2);
+   }
+
+   // make sure the ports exits
+   IBPort *p_port1 = p_node1->makePort(portNum1);
+   IBPort *p_port2 = p_node2->makePort(portNum2);
+
+   // we know the guids so set them
+   p_sys1->guid_set(sysGuid1);
+   p_sys2->guid_set(sysGuid2);
+
+   p_node1->guid_set(nodeGuid1);
+   p_node2->guid_set(nodeGuid2);
+   p_port1->guid_set(portGuid1);
+   p_port2->guid_set(portGuid2);
+
+   // copy some data...
+   p_node1->devId  = devId1;
+   p_node1->revId  = rev1;
+   p_node1->vendId = vend1;
+
+   p_node2->devId  = devId2;
+   p_node2->revId  = rev2;
+   p_node2->vendId = vend2;
+
+   // handle LMC :
+   int numLidsPerPort = 1 << lmc;
+   p_port1->base_lid = lid1;
+   for (int l = lid1; l < lid1 + numLidsPerPort; l++)
+      setLidPort(l, p_port1);
+   p_port2->base_lid = lid2;
+   for (int l = lid2; l < lid2 + numLidsPerPort; l++)
+      setLidPort(l, p_port2);
+
+   // connect
+   if (p_sysPort1)
+   {
+      p_sysPort1->p_nodePort = p_port1;
+      p_sysPort2->p_nodePort = p_port2;
+      p_port1->p_sysPort = p_sysPort1;
+      p_port2->p_sysPort = p_sysPort2;
+      p_sysPort1->connect(p_sysPort2, width, speed);
+      p_sysPort2->connect(p_sysPort1, width, speed);
+   }
+   else
+   {
+      p_port1->connect(p_port2, width, speed);
+      p_port2->connect(p_port1, width, speed);
+   }
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Connecting Lid:" << lid1 << " Port:" << portNum1
+           << " to Lid:" << lid2 << " Port:" << portNum2 << endl;
+   return 0;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse a single subnet line using strtok for simplicity...
+int
+IBFabric::parseSubnetLine(char *line) {
+
+   string type1, desc1;
+   unsigned int  numPorts1, vend1, devId1, rev1, lid1, portNum1, hcaIdx1 = 0;
+   uint64_t sysGuid1, nodeGuid1, portGuid1;
+
+   string type2, desc2;
+   unsigned int  numPorts2, vend2, devId2, rev2, lid2, portNum2, hcaIdx2 = 0;
+   uint64_t sysGuid2, nodeGuid2, portGuid2;
+   IBLinkSpeed speed;
+   IBLinkWidth width;
+
+   char *pch;
+
+   // do the first Port...
+   pch = strtok(line, " ");
+   if (!pch || pch[0] != '{') return(1);
+
+   pch = strtok(NULL, " ");
+   if (!pch || (strncmp(pch,"CA",2) && strncmp(pch,"SW",2))) return(2);
+   if (!strncmp(pch,"CA",2)) type1 = "CA"; else type1 = "SW";
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"Ports:",6)) return(3);
+   numPorts1 = strtol(pch+6, NULL,16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"SystemGUID:",11)) return(4);
+   sysGuid1 = strtoull(pch+11, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"NodeGUID:",9)) return(5);
+   nodeGuid1 = strtoull(pch+9, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"PortGUID:",9)) return(6);
+   portGuid1 = strtoull(pch+9, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"VenID:",6)) return(7);
+   vend1 = strtol(pch+6, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"DevID:",6)) return(8);
+   char *pdid1 = pch+6;
+   pch = strtok(NULL, " ");
+
+   // handle old broken DevId field in subnet.lst
+   // which was adding 0000 suffix. Should have been 16 bits only
+   if (strlen(pdid1) == 8) pdid1[4] = '\0';
+   devId1 = strtol(pdid1, NULL, 16);
+
+   if (!pch || strncmp(pch,"Rev:",4)) return(9);
+   rev1 = strtol(pch+4, NULL, 16);
+
+   // on some installations the desc of the node holds the
+   // name of the hosts:
+   if (subnCANames && (type1 == "CA"))
+   {
+      // the first word in the description please.
+      pch = strtok(NULL, " ");
+      // but now we must find an "HCA-" ...
+      string dbg = string(pch + strlen(pch) + 1);
+      if (!strncmp("HCA-", pch + strlen(pch) + 1, 4))
+      {
+         desc1 = string(pch+1);
+         hcaIdx1 = atoi(pch + strlen(pch) + 5);
+      }
+   }
+   // on some rare cases there is no space in desc:
+   if (!strchr(pch,'}'))
+   {
+      pch = strtok(NULL, "}");
+      if (!pch ) return(10);
+   }
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"LID:", 4)) return(11);
+   lid1 = strtol(pch+4, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"PN:", 3)) return(12);
+   portNum1 = strtol(pch+3, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || pch[0] != '}') return(13);
+
+   pch = strtok(NULL, " ");
+   if (!pch || pch[0] != '{') return(14);
+
+   // second port
+   pch = strtok(NULL, " ");
+   if (!pch || (strncmp(pch,"CA",2) && strncmp(pch,"SW",2))) return(15);
+   if (!strncmp(pch,"CA",2)) type2 = "CA"; else type2 = "SW";
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"Ports:",6)) return(16);
+   numPorts2 = strtol(pch+6, NULL,16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"SystemGUID:",11)) return(17);
+   sysGuid2 = strtoull(pch+11, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"NodeGUID:",9)) return(18);
+   nodeGuid2 = strtoull(pch+9, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"PortGUID:",9)) return(19);
+   portGuid2 = strtoull(pch+9, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"VenID:",6)) return(20);
+   vend2 = strtol(pch+6, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"DevID:",6)) return(21);
+   char *pdid2 = pch+6;
+   pch = strtok(NULL, " ");
+
+   // handle old broken DevId field in subnet.lst
+   // which was adding 0000 suffix. Should have been 16 bits only
+   if (strlen(pdid2) == 8) pdid2[4] = '\0';
+   devId2 = strtol(pdid2, NULL, 16);
+
+   if (!pch || strncmp(pch,"Rev:",4)) return(22);
+   rev2 = strtol(pch+4, NULL, 16);
+
+   if (subnCANames && (type2 == "CA"))
+   {
+      // the first word in the description please.
+      pch = strtok(NULL, " ");
+      // but now we must find an "HCA-" ...
+      if (!strncmp("HCA-", pch + strlen(pch) + 1, 4))
+      {
+         desc2 = string(pch+1);
+         hcaIdx2 = atoi(pch + strlen(pch) + 5);
+      }
+   }
+   // on some rare cases there is no space in desc:
+   if (!strchr(pch,'}'))
+   {
+      pch = strtok(NULL, "}");
+      if (!pch ) return(23);
+   }
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"LID:", 4)) return(24);
+   lid2 = strtol(pch+4, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"PN:", 3)) return(25);
+   portNum2 = strtol(pch+3, NULL, 16);
+
+   pch = strtok(NULL, " ");
+   if (!pch || pch[0] != '}') return(26);
+
+   // PHY=8x LOG=ACT SPD=5
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"PHY=",4)) return(27);
+   width = char2width(pch+4);
+
+   pch = strtok(NULL, " ");
+   if (!pch || strncmp(pch,"LOG=",4)) return(28);
+
+   // for now we require the state to be ACTIVE ...
+   if (strncmp(pch+4, "ACT",3) &&
+       strncmp(pch+4, "INI",3) &&
+       strncmp(pch+4, "ARM",3)) return(0);
+
+   // speed is optional ... s
+   pch = strtok(NULL, " ");
+   if (pch && !strncmp(pch,"SPD=",4))
+   {
+      speed = char2speed(pch+4);
+   } else if (!pch) {
+      speed = IB_LINK_SPEED_2_5;
+   }
+   else
+   {
+      return(29);
+   }
+
+   if (addLink(type1, numPorts1, sysGuid1, nodeGuid1, portGuid1,
+               vend1, devId1, rev1, desc1, hcaIdx1, lid1, portNum1,
+               type2, numPorts2, sysGuid2, nodeGuid2, portGuid2,
+               vend2, devId2, rev2, desc2, hcaIdx2, lid2, portNum2,
+               width, speed
+               )) return (30);
+   return(0);
+}
+
+// Parse an OpenSM Subnet file and build the fabric accordingly
+int
+IBFabric::parseSubnetLinks (string fn) {
+   ifstream f(fn.c_str());
+
+   char sLine[1024];
+   int status;
+
+   if (! f)
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing Subnet file:" << fn.c_str() << endl;
+
+   int lineNum = 0;
+   while (f.good()) {
+      lineNum++;
+
+      f.getline(sLine,1024);
+      if (!strlen(sLine)) continue;
+
+      status = parseSubnetLine(sLine);
+      if (status)
+      {
+         cout << "-W- Wrong syntax code:" << status << " in line:"
+              << lineNum << endl;
+      }
+   }
+
+   cout << "-I- Defined " << SystemByName.size() << "/" << NodeByName.size()
+        << " systems/nodes " << endl;
+   f.close();
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse an OpenSM FDBs file and set the LFT table accordingly
+int
+IBFabric::parseFdbFile(string fn) {
+   ifstream f(fn.c_str());
+   int switches = 0, fdbLines=0;
+   char sLine[1024];
+   // osm_ucast_mgr_dump_ucast_routes: Switch 0x2c90000213700
+   // 0x0001 : 006  : 01   : yes
+   regExp switchLine("osm_ucast_mgr_dump_ucast_routes: Switch 0x([0-9a-z]+)");
+   regExp lidLine("0x([0-9a-zA-Z]+) : ([0-9]+)");
+   rexMatch *p_rexRes;
+
+   if (! f)
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing FDBs file:" << fn.c_str() << endl;
+
+   IBNode *p_node;
+   int anyErr = 0;
+
+   while (f.good()) {
+      f.getline(sLine,1024);
+
+      p_rexRes = switchLine.apply(sLine);
+      if (p_rexRes)
+      {
+         // Got a new switch - find the node:
+         uint64_t guid;
+         guid = strtoull(p_rexRes->field(1).c_str(), NULL, 16);
+         p_node = getNodeByGuid(guid);
+         if (!p_node)
+         {
+            cout << "-E- Fail to find node with guid:"
+                 << p_rexRes->field(1) << endl;
+            anyErr++;
+         }
+         else
+         {
+            switches++;
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      p_rexRes = lidLine.apply(sLine);
+      if (p_rexRes)
+      {
+         // Got a new lid port pair
+         if (p_node)
+         {
+            unsigned int lid = strtol((p_rexRes->field(1)).c_str(), NULL, 16);
+            unsigned int port = strtol((p_rexRes->field(2)).c_str(), NULL, 10);
+            if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+               cout << "-V- Setting FDB for:" << p_node->name
+                    << " lid:" << lid << " port:" << port << endl;
+
+            p_node->setLFTPortForLid(lid,port);
+            fdbLines++;
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      // is it an ignore line ?
+      //cout << "-W- Ignoring line:" << sLine << endl;
+   }
+
+   cout << "-I- Defined " << fdbLines << " fdb entries for:"
+        << switches << " switches" << endl;
+   f.close();
+   return anyErr;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse PSL file and set the SLT tables accordingly
+int
+IBFabric::parsePSLFile(string fn) {
+   ifstream f(fn.c_str());
+   int maxLid = 0;
+
+   char sLine[1024];
+   // 0x0002c90000000099 154 0
+   // srcguid dlid sl
+   regExp slLine("0x([0-9a-z]+) ([0-9]+) ([0-9]+)");
+   rexMatch *p_rexRes;
+
+   if (f.fail())
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing SL file:" << fn.c_str() << endl;
+
+   int anyErr = 0;
+
+   // Find max HCA LID
+   while (f.good()) {
+      f.getline(sLine,1024);
+      p_rexRes = slLine.apply(sLine);
+      if (p_rexRes)
+      {
+	unsigned int lid = strtoull(p_rexRes->field(2).c_str(), NULL, 10);
+	maxLid = lid > maxLid ? lid:maxLid;
+      }
+      /*else
+      {
+	cout << "-E- Wrong file format:" << fn.c_str() << endl;
+	anyErr++;
+	}*/
+   }
+   f.close();
+
+   // Make second pass and build the tables
+   f.open(fn.c_str(),ifstream::in);
+   if (f.fail())
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   while (f.good()) {
+      f.getline(sLine,1024);
+
+      p_rexRes = slLine.apply(sLine);
+      if (p_rexRes)
+      {
+	uint64_t guid = strtoull(p_rexRes->field(1).c_str(), NULL, 16);
+	unsigned int lid = strtoull(p_rexRes->field(2).c_str(), NULL, 10);
+	uint8_t sl = strtoull(p_rexRes->field(3).c_str(), NULL, 10);
+
+	IBNode* p_node = getNodeByGuid(guid);
+        if (!p_node)
+        {
+           cout << "-E- Fail to find node with guid:"
+                << guid << endl;
+           anyErr++;
+        }
+	else
+	{
+	  // Update number of used SLs
+	  numSLs = sl+1 > numSLs ? sl+1:numSLs;
+	  // Insert table entry
+	  p_node->setPSLForLid(lid,maxLid,sl);
+	}
+	delete p_rexRes;
+      }
+      /*else
+      {
+	cout << "-E- Wrong file format:" << fn.c_str() << endl;
+	anyErr++;
+	}*/
+   }
+   cout << "-I- Defined "<< (int)numSLs << " SLs in use" <<endl;
+   f.close();
+
+   return anyErr;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Parse SLVL file and set the SL2VL tables accordingly
+int
+IBFabric::parseSLVLFile(string fn) {
+  numVLs = 1;
+  ifstream f(fn.c_str());
+
+  char sLine[1024];
+  // 0x0002c90000000201 5 1 0x01 0x23 0x45 0x67 0x89 0xab 0xcd 0xe7
+  // guid iport oport 0x(sl0)(sl1) 0x(sl2)(sl3)...
+  regExp slLine("0x([0-9a-z]+) ([0-9]+) ([0-9]+) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z]) 0x([0-9a-z])([0-9a-z])");
+  rexMatch *p_rexRes;
+
+  if (f.fail()) {
+    cout << "-E- Fail to open file:" << fn.c_str() << endl;
+    return 1;
+  }
+
+  cout << "-I- Parsing SLVL file:" << fn.c_str() << endl;
+
+  int anyErr = 0;
+
+   // Parse the file
+   while (f.good()) {
+      f.getline(sLine,1024);
+
+      p_rexRes = slLine.apply(sLine);
+      if (p_rexRes)
+      {
+	uint64_t guid = strtoull(p_rexRes->field(1).c_str(), NULL, 16);
+	unsigned int iport = strtoull(p_rexRes->field(2).c_str(), NULL, 10);
+	unsigned int  oport = strtoull(p_rexRes->field(3).c_str(), NULL, 10);
+
+	IBNode* p_node = getNodeByGuid(guid);
+        if (!p_node)
+        {
+           cout << "-E- Fail to find node with guid:"
+                << guid << endl;
+           anyErr++;
+        }
+	else
+	{
+	  for (int i=0;i<IB_NUM_SL;i++) {
+	    // Extract the VL value
+	    uint8_t vl = strtoull(p_rexRes->field(4+i).c_str(), NULL, 16);
+	    numVLs = numVLs > vl+1 ? numVLs : vl+1;
+	    // Set the table entry
+	    p_node->setSLVL(iport,oport,i,vl);
+	  }
+	}
+	delete p_rexRes;
+      }
+      /*else
+      {
+	cout << "-E- Wrong file format:" << fn.c_str() << endl;
+	anyErr++;
+	}*/
+   }
+   cout << "-I- Defined "<< (int)numVLs << " VLs in use" <<endl;
+
+   f.close();
+
+   return anyErr;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+// Parse an OpenSM MCFDBs file and set the MFT table accordingly
+int
+IBFabric::parseMCFdbFile(string fn) {
+   ifstream f(fn.c_str());
+   int switches = 0, fdbLines=0;
+   char sLine[1024];
+   // Switch 0x0002c9010bb90090
+   // LID    : Out Port(s)
+   // 0xC000 : 0x007
+   // 0xC001 : 0x007
+   regExp switchLine("Switch 0x([0-9a-z]+)");
+   regExp lidLine("0x([0-9a-zA-Z]+) :(.*)");
+   rexMatch *p_rexRes;
+
+   if (! f)
+   {
+      cout << "-E- Fail to open file:" << fn.c_str() << endl;
+      return 1;
+   }
+
+   cout << "-I- Parsing Multicast FDBs file:" << fn.c_str() << endl;
+
+   IBNode *p_node;
+   int anyErr = 0;
+
+   while (f.good()) {
+      f.getline(sLine,1024);
+
+      p_rexRes = switchLine.apply(sLine);
+      if (p_rexRes)
+      {
+         // Got a new switch - find the node:
+         uint64_t guid;
+         guid = strtoull(p_rexRes->field(1).c_str(), NULL, 16);
+         p_node = getNodeByGuid(guid);
+         if (!p_node)
+         {
+            cout << "-E- Fail to find switch: node:"
+                 << p_rexRes->field(1) << endl;
+            anyErr++;
+         }
+         else
+         {
+            switches++;
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      p_rexRes = lidLine.apply(sLine);
+      if (p_rexRes)
+      {
+         // Got a new lid port pair
+         if (p_node)
+         {
+            unsigned int lid = strtol((p_rexRes->field(1)).c_str(), NULL, 16);
+
+            char buff[(p_rexRes->field(2)).size() + 1];
+            strcpy(buff, p_rexRes->field(2).c_str());
+
+            char *pPortChr = strtok(buff, " ");
+            while (pPortChr) {
+               unsigned int port = strtol(pPortChr, NULL, 16);
+
+               if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+                  cout << "-V- Setting Multicast FDB for:" << p_node->name
+                       << " lid:" << lid << " port:" << port << endl;
+
+               p_node->setMFTPortForMLid(lid,port);
+               pPortChr = strtok(NULL, " ");
+               fdbLines++;
+            }
+         }
+         delete p_rexRes;
+         continue;
+      }
+
+      // is it an ignore line ?
+      //cout << "-W- Ignoring line:" << sLine << endl;
+   }
+
+   cout << "-I- Defined " << fdbLines << " Multicast Fdb entries for:"
+        << switches << " switches" << endl;
+   f.close();
+   return anyErr;
+}
+
+///////////////////////////////////////////////////////////////////////////
+// dump out the contents of the entire fabric
+void
+IBFabric::dump(ostream &sout) {
+   sout << "--------------- FABRIC DUMP ----------------------" << endl;
+   // we start with all systems at top level:
+   for (map_str_psys::iterator sI = SystemByName.begin();
+        sI != SystemByName.end();
+        sI++) {
+      IBSystem *p_system = (*sI).second;
+      sout << "\nSystem:" << p_system->name << " (" << p_system->type
+           << "," << guid2str(p_system->guid_get()) << ")" << endl;
+      for (map_str_psysport::iterator pI = p_system->PortByName.begin();
+           pI != p_system->PortByName.end();
+           pI++) {
+         IBSysPort *p_port = (*pI).second;
+         IBLinkWidth width = IB_UNKNOWN_LINK_WIDTH;
+         IBLinkSpeed speed = IB_UNKNOWN_LINK_SPEED;
+
+         if (! p_port) continue;
+
+         // node port
+         sout << "  " << p_port->name;
+         if ( p_port->p_nodePort)
+         {
+            sout << " (" << p_port->p_nodePort->p_node->name << "/"
+                 << p_port->p_nodePort->num << ")";
+            width = p_port->p_nodePort->width;
+            speed = p_port->p_nodePort->speed;
+         }
+         else
+         {
+            sout << " (ERR: NO NODE PORT?)";
+         }
+
+         // remote sys port?
+         if ( p_port->p_remoteSysPort)
+         {
+            sout << " -" << width2char(width) << "-" << speed2char(speed)
+                 << "G-> "
+                 << p_port->p_remoteSysPort->p_system->name << "/"
+                 << p_port->p_remoteSysPort->name << endl;
+         }
+         else
+         {
+            sout << endl;
+         }
+      }
+   }
+
+   // Now dump system internals:
+   for (map_str_psys::iterator sI = SystemByName.begin();
+        sI != SystemByName.end();
+        sI++) {
+      IBSystem *p_system = (*sI).second;
+      sout << "--------------- SYSTEM " << (*sI).first
+           << " DUMP ----------------------" << endl;
+
+      // go over all nodes of the system:
+      for (map_str_pnode::iterator nI = p_system->NodeByName.begin();
+           nI != p_system->NodeByName.end();
+           nI++) {
+         IBNode *p_node = (*nI).second;
+
+         sout << "\nNode:" << p_node->name << " (" << p_node->type
+              << "," << guid2str(p_node->guid_get()) << ")" << endl;
+
+         for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+            IBPort *p_port = p_node->getPort(pn);
+
+            if (! p_port) continue;
+
+            // we do not report cross system connections:
+            if (p_port->p_sysPort)
+            {
+               sout << "   " << pn << " => SysPort:"
+                    << p_port->p_sysPort->name << endl;
+            } else if (p_port->p_remotePort) {
+               sout << "   "  << pn << " -" << width2char(p_port->width)
+                    << "-" << speed2char(p_port->speed) << "G-> "
+                    << p_port->p_remotePort->getName() << endl;
+            }
+         }
+      }
+   }
+}
+
+///////////////////////////////////////////////////////////////////////////
+// dump out the contents of the entire fabric as a topology file with
+// required set of IBNL's if unknown
+int
+IBFabric::dumpTopology(char *fileName, char * ibnlDir) {
+   ofstream sout;
+   sout.open(fileName);
+   if (sout.fail())
+   {
+      cout << "-E- failed to open:" << fileName << " for writing." << endl;
+      return 1;
+   }
+   sout << "# This topology file was automaticlly generated by IBDM" << endl;
+
+   // we start with all systems at top level:
+   for (map_str_psys::iterator sI = SystemByName.begin();
+        sI != SystemByName.end();
+        sI++) {
+      IBSystem *p_system = (*sI).second;
+
+      string sysType;
+      if (p_system->type == "Generic")
+      {
+         p_system->dumpIBNL(ibnlDir, sysType);
+      }
+      else
+      {
+         sysType = string(p_system->type);
+      }
+      sout << "\n" << sysType << " " << p_system->name << endl;
+      for (map_str_psysport::iterator pI = p_system->PortByName.begin();
+           pI != p_system->PortByName.end();
+           pI++) {
+         IBSysPort *p_sysPort = (*pI).second;
+         IBLinkWidth width = IB_UNKNOWN_LINK_WIDTH;
+         IBLinkSpeed speed = IB_UNKNOWN_LINK_SPEED;
+
+         if (! p_sysPort) continue;
+
+         // remote sys port?
+         if ( p_sysPort->p_remoteSysPort)
+         {
+            width = p_sysPort->p_nodePort->width;
+            speed = p_sysPort->p_nodePort->speed;
+
+            if (p_sysPort->p_remoteSysPort->p_system->type == "Generic")
+            {
+               p_sysPort->p_remoteSysPort->p_system->dumpIBNL(ibnlDir, sysType);
+            }
+            else
+            {
+               sysType = string(p_sysPort->p_remoteSysPort->p_system->type);
+            }
+
+            sout << "   " << p_sysPort->name
+                 << " -" << width2char(width) << "-" << speed2char(speed)
+					  << "G-> " << sysType.c_str() << " "
+                 << p_sysPort->p_remoteSysPort->p_system->name << " "
+                 << p_sysPort->p_remoteSysPort->name << endl;
+         }
+      }
+   }
+   sout.close();
+   return 0;
+}
+
+#ifndef IBDM_CODE_VERSION
+#define IBDM_CODE_VERSION "undefined"
+#endif
+const char * ibdmSourceVersion = IBDM_CODE_VERSION ;
diff --git a/ibdm/ibdm/Fabric.h b/ibdm/ibdm/Fabric.h
new file mode 100644
index 0000000..ac8ee34
--- /dev/null
+++ b/ibdm/ibdm/Fabric.h
@@ -0,0 +1,618 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Fabric Utilities Project
+ *
+ * Data Model Header file
+ *
+ */
+
+#ifndef IBDM_FABRIC_H
+#define IBDM_FABRIC_H
+
+#if HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <functional>
+#include <map>
+#include <set>
+#include <list>
+#include <vector>
+#include <fstream>
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <sys/types.h>
+#include <inttypes.h>
+
+#define IB_LID_UNASSIGNED 0
+#define IB_LFT_UNASSIGNED 255
+#define IB_SLT_UNASSIGNED 255
+#define IB_HOP_UNASSIGNED 255
+
+#define IB_NUM_SL 16
+
+#if __WORDSIZE == 64
+#define PRIx64 "lx"
+#else
+#define PRIx64 "llx"
+#endif
+using namespace std;
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// STL TYPEDEFS
+//
+// This section defines typedefs for all the STL containers used by the package
+
+// for comparing strings
+struct strless : public binary_function <string, string, bool> {
+  bool operator()(const string& x, const string& y) const {
+	 return (strcmp(x.c_str(), y.c_str()) < 0);
+  }
+};
+
+typedef vector<int > vec_int;
+typedef vector<vec_int > vec_vec_int;
+typedef vector<uint8_t > vec_byte;
+typedef vector<uint64_t > vec_uint64;
+typedef vector<vec_byte > vec_vec_byte;
+typedef vector<vec_vec_byte > vec3_byte;
+
+typedef vector<class IBPort * > vec_pport;
+typedef vector<class IBNode * > vec_pnode;
+typedef vector<class VChannel * > vec_pvch;
+typedef map< string, class IBSysPort *, strless > map_str_psysport;
+typedef map< string, class IBNode *, strless > map_str_pnode;
+typedef map< string, class IBSystem *, strless > map_str_psys;
+typedef map< uint64_t, class IBPort *, less<uint64_t> > map_guid_pport;
+typedef map< uint64_t, class IBNode *, less<uint64_t> > map_guid_pnode;
+typedef map< uint64_t, class IBSystem *, less<uint64_t> > map_guid_psys;
+typedef map< string, int, strless > map_str_int;
+typedef list<class IBNode * > list_pnode;
+typedef list<class IBSystem * > list_psystem;
+typedef list<int > list_int;
+typedef list<char * > list_charp;
+typedef list<string > list_str;
+typedef map< IBNode *, int, less< IBNode *> > map_pnode_int;
+typedef map< IBNode *, vec_int, less< IBNode *> > map_pnode_vec_int;
+typedef map< IBSystem *, int, less< IBSystem *> > map_psystem_int;
+typedef set< uint16_t, less< uint16_t > > set_uint16;
+
+///////////////////////////////////////////////////////////////////////////////
+
+//
+// CONSTANTS
+//
+#define FABU_LOG_NONE 0x0
+#define FABU_LOG_ERROR 0x1
+#define FABU_LOG_INFO 0x2
+#define FABU_LOG_VERBOSE 0x4
+#define IBNODE_UNASSIGNED_RANK 0xFF
+
+// DFS constants type
+typedef enum {Untouched,Open,Closed} dfs_t;
+
+//
+// GLOBALS
+//
+
+// Log level shold be part of the "main" module
+extern uint8_t FabricUtilsVerboseLevel;
+int ibdmUseInternalLog();
+int ibdmUseCoutLog();
+char *ibdmGetAndClearInternalLog();
+
+///////////////////////////////////////////////////////////////////////////////
+
+// We only recognize CA or SW nodes
+typedef enum {IB_UNKNOWN_NODE_TYPE, IB_SW_NODE, IB_CA_NODE} IBNodeType;
+typedef enum {IB_UNKNOWN_LINK_WIDTH = 0,
+              IB_LINK_WIDTH_1X = 1,
+              IB_LINK_WIDTH_4X = 2,
+              IB_LINK_WIDTH_8X = 4,
+              IB_LINK_WIDTH_12X =8,
+} IBLinkWidth;
+
+static inline IBLinkWidth char2width( const char *w)
+{
+  if (!w || (*w == '\0')) return IB_UNKNOWN_LINK_WIDTH;
+  if (!strcmp(w,"1x")) return IB_LINK_WIDTH_1X;
+  if (!strcmp(w,"4x")) return IB_LINK_WIDTH_4X;
+  if (!strcmp(w,"8x")) return IB_LINK_WIDTH_8X;
+  if (!strcmp(w,"12x")) return IB_LINK_WIDTH_12X;
+  return IB_UNKNOWN_LINK_WIDTH;
+};
+
+static inline const char * width2char( const IBLinkWidth w)
+{
+  switch (w)
+  {
+  case IB_LINK_WIDTH_1X: return("1x"); break;
+  case IB_LINK_WIDTH_4X: return("4x"); break;
+  case IB_LINK_WIDTH_8X: return("8x"); break;
+  case IB_LINK_WIDTH_12X: return("12x"); break;
+  default: return("UNKNOWN");
+  }
+};
+
+typedef enum {IB_UNKNOWN_LINK_SPEED = 0,
+              IB_LINK_SPEED_2_5 = 1,
+              IB_LINK_SPEED_5   = 2,
+              IB_LINK_SPEED_10  = 4,
+} IBLinkSpeed;
+
+static inline const char * speed2char( const IBLinkSpeed s)
+{
+  switch (s)
+  {
+  case IB_LINK_SPEED_2_5: return("2.5"); break;
+  case IB_LINK_SPEED_5:   return("5"); break;
+  case IB_LINK_SPEED_10:  return("10"); break;
+  default: return("UNKNOWN");
+  }
+};
+
+static inline IBLinkSpeed char2speed( const char *s)
+{
+  if (!s || (*s == '\0')) return IB_UNKNOWN_LINK_SPEED;
+  if (!strcmp(s,"2.5")) return IB_LINK_SPEED_2_5;
+  if (!strcmp(s,"5"))   return IB_LINK_SPEED_5;
+  if (!strcmp(s,"10"))  return IB_LINK_SPEED_10;
+  return IB_UNKNOWN_LINK_SPEED;
+};
+
+static inline string guid2str(uint64_t guid) {
+  char buff[18];
+  sprintf(buff, "0x%016" PRIx64 , guid);
+  //  string res(buff);
+  return buff;
+};
+
+//
+// Virtual Channel class
+// Used for credit loops verification
+//
+
+class VChannel {
+  vec_pvch depend;               // Vector of dependencies
+  dfs_t flag;                    // DFS state
+ public:
+  // Constructor
+  VChannel() {
+    flag = Untouched;
+  };
+  //Getters/Setters
+  inline void setDependSize(int numDepend) {
+    if (depend.size() != (unsigned)numDepend) {
+      depend.resize(numDepend);
+      for (int i=0;i<numDepend;i++) {
+	depend[i] = NULL;
+      }
+    }
+  };
+  inline int getDependSize() {
+    return depend.size();
+  };
+  inline dfs_t getFlag() {
+    return flag;
+  };
+
+  inline void setFlag(dfs_t f) {
+    flag = f;
+  };
+
+  inline void setDependency(int i,VChannel* p) {
+    depend[i]=p;
+  };
+
+  inline VChannel* getDependency(int i) {
+    return depend[i];
+  };
+};
+
+//
+// IB Port class.
+// This is not the "End Node" but the physical port of
+// a node.
+//
+class IBPort {
+  uint64_t        guid;           // The port GUID (on SW only on Port0)
+ public:
+  class IBPort    * p_remotePort; // Port connected on the other side of link
+  class IBSysPort * p_sysPort;    // The system port (if any) connected to
+  class IBNode    * p_node;       // The node the port is part of.
+  vec_pvch        channels;       // Virtual channels associated with the port
+  int		  num;            // Physical ports are identified by number.
+  unsigned int	  base_lid;       // The base lid assigned to the port.
+  IBLinkWidth     width;          // The link width of the port
+  IBLinkSpeed     speed;          // The link speed of the port
+  unsigned int    counter1;       // a generic value to be used by various algorithms
+  unsigned int    counter2;       // a generic value to be used by various algorithms
+
+  // constructor
+  IBPort(IBNode *p_nodePtr, int number);
+
+  // destructor:
+  ~IBPort();
+
+  // get the port name
+  string getName();
+
+  // connect the port to another node port
+  void connect (IBPort *p_otherPort,
+                IBLinkWidth w = IB_LINK_WIDTH_4X,
+                IBLinkSpeed s = IB_LINK_SPEED_2_5);
+
+  // disconnect the port. Return 0 if successful
+  int disconnect(int duringSysPortDisconnect = 0);
+
+  inline uint64_t guid_get() {return guid;};
+  void guid_set(uint64_t g);
+};
+
+//
+// Private App Data
+//
+typedef union _PrivateAppData {
+  void    *ptr;
+  uint64_t val;
+} PrivateAppData;
+
+//
+// IB Node class
+//
+class IBNode {
+  uint64_t guid;
+ public:
+  string	  name;      // Name of the node (instance name of the chip)
+  IBNodeType 	  type;      // Either a CA or SW
+  uint32_t        devId;     // The device ID of the node
+  uint32_t        revId;     // The device revision Id.
+  uint32_t        vendId;    // The device Vendor ID.
+  uint8_t         rank;      // The tree level the node is at 0 is root.
+  class IBSystem *p_system;  // What system we belong to
+  class IBFabric *p_fabric;  // What fabric we belong to.
+  unsigned int	   numPorts;  // Number of physical ports
+  string          attributes;// Comma-sep string of arbitrary attributes k=v
+  vec_pport	  Ports;     // Vector of all the ports
+  vec_vec_byte	  MinHopsTable; // Table describing minimal hop count through
+                                // each port to each target lid
+  vec_byte        LFT;       // The LFT of this node (for switches only)
+  vec_byte        PSL;       // PSL table (CAxCA->SL mapping) of this node (for CAs only)
+  vec3_byte       SLVL;      // SL2VL table of this node (for switches only)
+  vec_uint64      MFT;       // The Multicast forwarding table
+  PrivateAppData  appData1;  // Application Private Data #1
+  PrivateAppData  appData2;  // Application Private Data #2
+
+  // Constractor
+  IBNode(string n, class IBFabric *p_fab, class IBSystem *p_sys,
+         IBNodeType t, int np);
+
+  ~IBNode();
+
+  // create a new port by name if required to
+  inline IBPort *makePort (unsigned int num) {
+	 if ((num < 1) || (num > numPorts)) {
+		cout << "-E- Given port number out of range: 1 < " << num
+           << " < " << numPorts << endl;
+		return NULL;
+	 }
+	 if (! Ports[num - 1]) {
+		Ports[num - 1] = new IBPort(this, num);
+	 }
+	 return Ports[num - 1];
+  }
+
+  // get a port by number num = 1..N:
+  inline IBPort *getPort(unsigned int num) {
+	 if ((Ports.size() < num) || (num == 0))
+		return NULL;
+	 else
+		return Ports[num - 1];
+  }
+
+  inline uint64_t guid_get() {return guid;};
+  void guid_set(uint64_t g);
+
+  // Set the min hop for the given port (* is all) lid pair
+  void setHops (IBPort *p_port, unsigned int lid, int hops);
+
+  // Get the min number of hops defined for the given port or all
+  int getHops (IBPort *p_port, unsigned int lid);
+
+  // Report Hop Table of the given node
+  void repHopTable ();
+  // Scan the node ports and find the first port
+  // with min hop to the lid
+  IBPort *getFirstMinHopPort(unsigned int lid);
+
+  // Set the Linear Forwarding Table:
+  void setLFTPortForLid (unsigned int lid, unsigned int portNum);
+
+  // Get the LFT for a given lid
+  int getLFTPortForLid (unsigned int lid);
+
+  // Set the PSL table
+  void setPSLForLid (unsigned int lid, unsigned int maxLid, uint8_t sl);
+
+  // Add entry to SL2VL table
+  void setSLVL(unsigned int iport,unsigned int oport,uint8_t sl, uint8_t vl);
+
+  // Get the PSL table for a given lid
+  uint8_t getPSLForLid(unsigned int lid);
+
+  // Get the SL2VL table entry
+  uint8_t getSLVL(unsigned int iport, unsigned int oport, uint8_t sl);
+
+  // Set the Multicast FDB table
+  void setMFTPortForMLid(unsigned int lid, unsigned int portNum);
+
+  // Get the list of ports for the givan MLID from the MFT
+  list_int getMFTPortsForMLid(unsigned int lid);
+
+}; // Class IBNode
+
+//
+// System Port Class
+// The System Port is a front pannel entity.
+//
+class IBSysPort {
+ public:
+  string			   name;              // The front pannel name of the port
+  class IBSysPort	*p_remoteSysPort;  // If connected the other side sys port
+  class IBSystem	*p_system;         // System it benongs to
+  class IBPort	   *p_nodePort;       // The node port it connects to.
+
+  // Constructor
+  IBSysPort(string n, class IBSystem *p_sys);
+
+  ~IBSysPort();
+
+  // connect two SysPorts
+  void connect (IBSysPort *p_otherSysPort,
+                IBLinkWidth width = IB_LINK_WIDTH_4X,
+                IBLinkSpeed speed = IB_LINK_SPEED_2_5);
+
+  // disconnect the SysPort (and ports). Return 0 if successful
+  int disconnect(int duringPortDisconnect = 0);
+
+};
+
+//
+// IB System Class
+// This is normally derived into a system specific class
+//
+class IBSystem {
+  uint64_t        guid;
+ public:
+  string			   name;       // the "host" name of the system
+  string			   type;       // what is the type i.e. Cougar, Buffalo etc
+  class IBFabric  *p_fabric;  // fabric belongs to
+  map_str_psysport PortByName;// A map provising pointer to the SysPort by name
+  map_str_pnode    NodeByName;// All the nodes belonging to this system.
+  // Default Constractor - empty need to be overwritten
+  IBSystem() {} ;
+  // Destructor must be virtual
+  virtual ~IBSystem();
+
+  // Constractor
+  IBSystem(string n, class IBFabric *p_fab, string t);
+
+  inline uint64_t guid_get() {return guid;};
+  void guid_set(uint64_t g);
+
+  // Get a string with all the System Port Names (even if not connected)
+  virtual list_str getAllSysPortNames();
+
+  // Get a Sys Port by name
+  IBSysPort *getSysPort(string name);
+
+  inline IBNode *getNode(string nName) {
+    map_str_pnode::iterator nI = NodeByName.find(nName);
+    if (nI != NodeByName.end()) {
+      return (*nI).second;
+    } else {
+      return NULL;
+    }
+  };
+
+  // make sure we got the port defined (so define it if not)
+  virtual IBSysPort *makeSysPort (string pName);
+
+  // get the node port for the given sys port by name
+  virtual IBPort *getSysPortNodePortByName (string sysPortName);
+
+  // Remove a sub module of the system
+  int removeBoard (string boardName);
+
+  // parse confinguration string into a vector
+  void cfg2Vector(const string& cfg,
+                  vector<string>& boardCfgs,
+                  int numBoards);
+
+  // Write system IBNL into the given directory and return IBNL name
+  int dumpIBNL(char *ibnlDir, string &sysType);
+};
+
+//
+// IB Fabric Class
+// The entire fabric
+//
+class IBFabric {
+ public:
+  map_str_pnode  NodeByName;   // Provide the node pointer by its name
+  map_guid_pnode NodeByGuid;   // Provides the node by guid
+  map_str_psys   SystemByName; // Provide the system pointer by its name
+  map_guid_psys  SystemByGuid; // Provides the system by guid
+  map_guid_pport PortByGuid;   // Provides the port by guid
+  vec_pport      PortByLid;    // Pointer to the Port by its lid
+  unsigned int   minLid;       // Track min lid used.
+  unsigned int   maxLid;       // Track max lid used.
+  unsigned int   lmc;          // LMC value used
+  uint8_t        defAllPorts;  // If not zero all ports (unconn) are declared
+  uint8_t        subnCANames;  // The Subnet.lst has host names for CA's
+  uint8_t        numSLs;       // Number of used SLs
+  uint8_t        numVLs;       // Number of used VLs
+  set_uint16     mcGroups;     // A set of all active multicast groups
+
+  // Constructor
+  IBFabric() {
+    maxLid = 0;
+    defAllPorts = 1;
+    subnCANames = 1;
+    numSLs = 1;
+    numVLs = 1;
+    lmc = 0;
+    minLid = 0;
+    PortByLid.push_back(NULL); // make sure we always have one for LID=0
+  };
+
+  // Destructor
+  ~IBFabric();
+
+  // get the node by its name (create one of does not exist)
+  IBNode *makeNode (string n,
+						  IBSystem *p_sys,
+						  IBNodeType type,
+						  unsigned int numPorts);
+
+  // get port by guid:
+  IBPort *getPortByGuid (uint64_t guid);
+
+  // get the node by its name
+  IBNode *getNode (string name);
+  IBNode *getNodeByGuid (uint64_t guid);
+
+  // return the list of node pointers matching the required type
+  list_pnode *getNodesByType (IBNodeType type);
+
+  // crate a new generic system - basically an empty contaner for nodes...
+  IBSystem *makeGenericSystem (string name);
+
+  // crate a new system - the type must have a pre-red SysDef
+  IBSystem *makeSystem (string name, string type, string cfg = "");
+
+  // get a system by name
+  IBSystem *getSystem(string name);
+  IBSystem *getSystemByGuid(uint64_t guid);
+
+  // Add a cable connection
+  int addCable (string t1, string n1, string p1,
+                string t2, string n2, string p2,
+                IBLinkWidth width, IBLinkSpeed speed);
+
+  // Parse the cables file and build the fabric
+  int parseCables (string fn);
+
+  // Parse Topology File
+  int parseTopology (string fn);
+
+  // Add a link into the fabric - this will create system
+  // and nodes as required.
+  int addLink(string type1, int numPorts1, uint64_t sysGuid1,
+				  uint64_t nodeGuid1,  uint64_t portGuid1,
+				  int vend1, int devId1, int rev1, string desc1,
+				  int hcaIdx1, int lid1, int portNum1,
+				  string type2, int numPorts2, uint64_t sysGuid2,
+				  uint64_t nodeGuid2,  uint64_t portGuid2,
+				  int vend2, int devId2, int rev2, string desc2,
+				  int hcaIdx2, int lid2, int portNum2,
+              IBLinkWidth width, IBLinkSpeed speed);
+
+  // Parse the OpenSM subnet.lst file and build the fabric from it.
+  int parseSubnetLinks (string fn);
+
+  // Parse OpenSM FDB dump file
+  int parseFdbFile(string fn);
+
+  // Parse PSL mapping
+  int parsePSLFile(string fn);
+
+  // Parse SLVL mapping
+  int parseSLVLFile(string fn);
+
+  // Parse an OpenSM MCFDBs file and set the MFT table accordingly
+  int parseMCFdbFile(string fn);
+
+  // set a lid port
+  inline void setLidPort (unsigned int lid, IBPort *p_port) {
+	 if ( PortByLid.empty() || (PortByLid.size() < lid + 1))
+		for (unsigned int i = PortByLid.size(); i < lid + 1; i++)
+		  PortByLid.push_back(NULL);
+
+	 PortByLid[lid] = p_port;
+    if (maxLid < lid) maxLid = lid;
+  };
+
+  // get a port by lid
+  inline IBPort *getPortByLid (unsigned int lid) {
+	 if ( PortByLid.empty() || (PortByLid.size() < lid + 1))
+		return NULL;
+	 return (PortByLid[lid]);
+  };
+
+  inline void setNumSLs(uint8_t nSL) {
+    numSLs=nSL;
+  };
+
+  inline uint8_t getNumSLs() {
+    return numSLs;
+  };
+
+  inline void setNumVLs(uint8_t nVL) {
+    numVLs=nVL;
+  };
+
+  inline uint8_t getNumVLs() {
+    return numVLs;
+  };
+
+  // dump out the contents of the entire fabric
+  void dump(ostream &sout);
+
+  // write out a topology file
+  int dumpTopology(char *fileName, char *ibnlDir);
+
+ private:
+  int parseSubnetLine(char *line);
+};
+
+#endif /* IBDM_FABRIC_H */
diff --git a/ibdm/ibdm/FatTree.cpp b/ibdm/ibdm/FatTree.cpp
new file mode 100644
index 0000000..9fb2858
--- /dev/null
+++ b/ibdm/ibdm/FatTree.cpp
@@ -0,0 +1,1345 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id: SubnMgt.cpp,v 1.11 2005/06/07 10:55:21 eitan Exp $
+ */
+
+/*
+
+FatTree Utilities:
+
+*/
+
+#include <set>
+#include <algorithm>
+#include <iomanip>
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "RouteSys.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// Build a Fat Tree data structure for the given topology.
+// Prerequisites: Ranking performed and stored at p_node->rank.
+/// Ranking is such that roots are marked with rank=0 and leaf switches with
+// highest value.
+//
+// The algorithm BFS from an arbitrary leaf switch.
+// It then allocates ID tupples to each switch ID[0..N].
+// Only one digit of the ID is allowed to change when going from
+// switch node to the other.
+//
+// We use the term "index" when we refer to
+// The digit indexed 0 ID[0] in the tupple is the rank number.
+// Going down the tree the digit that might change is D[from->rank+1]
+// Going up the tee the digit that might change is D[from->rank]
+//
+// During the BFS each node is assigned a tupple the first time it is
+// visited. During the BFS we also collect the list of ports that connect to
+// each value of the changing D.
+//
+// For a tree to be routable by the following algorithm it must be symmetrical
+// in the sense that each node at the same rank must be connected to exact same
+// number of sub hierarchy indexes with the exact same number of ports
+//
+
+// for comparing tupples
+struct FatTreeTuppleLess : public binary_function <vec_byte, vec_byte, bool> {
+  bool operator()(const vec_byte& x, const vec_byte& y) const {
+    if (x.size() > y.size()) return false;
+    if (y.size() > x.size()) return true;
+
+    for (unsigned int i = 0 ; i < x.size() ; i++)
+      {
+	if (x[i] > y[i]) return false;
+	if (x[i] < y[i]) return true;
+      }
+    return false;
+  }
+};
+
+typedef map< IBNode *, vec_byte, less< IBNode *> > map_pnode_vec_byte;
+typedef vector< list< int > > vec_list_int;
+
+class FatTreeNode {
+  IBNode *p_node;          // points to the fabric node for this node
+  vec_list_int childPorts; // port nums connected to child by changing digit
+  vec_list_int parentPorts;// port nums connected to parent by changing digit
+public:
+  FatTreeNode(IBNode *p_node);
+  FatTreeNode(){p_node = NULL;};
+  int numParents();
+  int numChildren();
+  int numParentGroups();
+  int numChildGroups();
+  bool goingDown(int lid);
+  friend class FatTree;
+};
+
+FatTreeNode::FatTreeNode(IBNode *p_n)
+{
+  p_node = p_n;
+  list< int > emptyList;
+  for (unsigned int pn = 0; pn <= p_node->numPorts; pn++)
+    {
+      childPorts.push_back(emptyList);
+      parentPorts.push_back(emptyList);
+    }
+}
+
+// get the total number of children a switch have
+int
+FatTreeNode::numChildren()
+{
+  int s = 0;
+  for (int i = 0; i < childPorts.size(); i++)
+    s += childPorts[i].size();
+  return s;
+}
+
+// get the total number of children a switch have
+int
+FatTreeNode::numParents()
+{
+  int s = 0;
+  for (int i = 0; i < parentPorts.size(); i++)
+    s += parentPorts[i].size();
+  return s;
+}
+
+// get the total number of children groups
+int
+FatTreeNode::numChildGroups()
+{
+  int s = 0;
+  for (int i = 0; i < childPorts.size(); i++)
+    if (childPorts[i].size()) s++;
+  return s;
+}
+
+int
+FatTreeNode::numParentGroups()
+{
+  int s = 0;
+  for (int i = 0; i < parentPorts.size(); i++)
+    if (parentPorts[i].size()) s++;
+  return s;
+}
+
+// Check whether there is downwards path towards the given lid
+bool FatTreeNode::goingDown(int lid)
+{
+  int portNum = p_node->getLFTPortForLid(lid);
+  if (portNum == IB_LFT_UNASSIGNED)
+    return false;
+  for (int i=0; i<childPorts.size(); i++)
+    for (list<int>::iterator lI = childPorts[i].begin();lI != childPorts[i].end(); lI++) {
+      if (portNum == *lI)
+	return true;
+    }
+  return false;
+}
+
+typedef map< vec_byte, class FatTreeNode, FatTreeTuppleLess > map_tupple_ftnode;
+
+class FatTree {
+  // the node tupple is built out of the following:
+  // d[0] = rank
+  // d[1..N-1] = ID digits
+  IBFabric          *p_fabric;     // The fabric we attach to
+  map_pnode_vec_byte TuppleByNode;
+  map_tupple_ftnode  NodeByTupple;
+  vec_int            LidByIdx;     // store target HCA lid by its index
+  unsigned int       N;            // number of levels in the fabric
+  map_str_int        IdxByName;
+
+  // obtain the Fat Tree node for a given IBNode
+  FatTreeNode* getFatTreeNodeByNode(IBNode *p_node);
+
+  // get the first lowest level switch while making sure all HCAs
+  // are connected to same rank
+  // return NULL if this check is not met or no ranking available
+  IBNode *getLowestLevelSwitchNode();
+
+  // get a free tupple given the reference one and the index to change:
+  vec_byte getFreeTupple(vec_byte refTupple, unsigned int changeIdx);
+
+  // convert tupple to string
+  string getTuppleStr(vec_byte tupple);
+
+  // simply dump out the FatTree data:
+  void dump();
+
+  // track a connection to remote switch
+  int trackConnection(
+		      FatTreeNode *p_ftNode,
+		      vec_byte     tupple,   // the connected node tupple
+		      unsigned int rank,     // rank of the local node
+		      unsigned int remRank,  // rank of the remote node
+		      unsigned int portNum,  // the port number connecting to the remote node
+		      unsigned int remDigit  // the digit which changed on the remote node
+		      );
+
+  // set of coefficients that represent the structure
+  int maxHcasPerLeafSwitch;
+  vec_int childrenPerRank; // not valid for leafs
+  vec_int parentsPerRank;
+  vec_int numSwInRank;     // number of switches for that level
+  vec_int downByRank;      // number of remote child switches s at rank
+  vec_int upByRank;        // number of remote parent switches at rank
+
+  // extract fat tree coefficients and update validity flag
+  // return 0 if OK
+  int extractCoefficients();
+
+public:
+  // construct the fat tree by matching the topology to it.
+  // note that this might return an invalid tree for routing
+  // as indicated by isValid flag
+  FatTree(IBFabric *p_fabric);
+
+  // true if the fabric can be mapped to a fat tree
+  bool isValid;
+
+  // propagate FDB assignments going up the tree ignoring the out port
+  int assignLftUpWards(FatTreeNode *p_ftNode, uint16_t dLid, int outPortNum, int switchPathOnly);
+
+  // set FDB values as given in the input
+  int forceLftUpWards(FatTreeNode *p_ftNode, uint16_t dLid, vec_int ports);
+
+  // propagate FDB assignments going down the tree
+  int assignLftDownWards(FatTreeNode *p_ftNode, uint16_t dLid, int outPortNum, int switchPathOnly, int downOnly);
+
+  // route the fat tree
+  int route();
+
+  // route requested permutation in the fat tree
+  int permRoute(vector<string> src, vector<string> dst);
+
+  // create the file ftree.hcas with the list of HCA port names
+  // and LIDs in the correct order
+  void dumpHcaOrder();
+};
+
+FatTreeNode* FatTree::getFatTreeNodeByNode(IBNode *p_node) {
+  FatTreeNode* p_ftNode;
+  vec_byte tupple(N, 0);
+  tupple = TuppleByNode[p_node];
+  p_ftNode = &NodeByTupple[tupple];
+  return p_ftNode;
+}
+
+// get the first lowest level switch while making sure all HCAs
+// are connected to same rank
+// return NULL if this check is not met or no ranking available
+IBNode *FatTree::getLowestLevelSwitchNode()
+{
+  unsigned int leafRank = 0;
+  IBNode *p_leafSwitch = NULL;
+  IBPort *p_port;
+
+  // go over all HCAs and track the rank of the node connected to them
+  for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+       nI != p_fabric->NodeByName.end();
+       nI++)
+    {
+      IBNode *p_node = (*nI).second;
+      if (p_node->type != IB_CA_NODE) continue;
+
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+	{
+	  p_port = p_node->getPort(pn);
+	  if (p_port && p_port->p_remotePort)
+	    {
+	      IBNode *p_remNode = p_port->p_remotePort->p_node;
+
+	      if (p_remNode->type != IB_SW_NODE) continue;
+
+	      // is the remote node ranked?
+	      if (!p_remNode->rank)  continue;
+
+	      // must be identical for all leaf switches:
+	      if (!leafRank)
+		{
+		  leafRank = p_remNode->rank;
+		  p_leafSwitch = p_remNode;
+		}
+	      else
+		{
+		  // get the lowest name
+		  if (p_remNode->name < p_leafSwitch->name )
+		    p_leafSwitch = p_remNode;
+
+		  if (p_remNode->rank != leafRank)
+		    {
+		      cout << "-E- Given topology is not a fat tree. HCA:"
+			   << p_remNode->name
+			   << " found not on lowest level!" << endl;
+		      return(NULL);
+		    }
+		}
+	    }
+	}
+    }
+  return(p_leafSwitch);
+}
+
+// get a free tupple given the reference one and the index to change:
+// also track the max digit allocated per index
+vec_byte FatTree::getFreeTupple(vec_byte refTupple, unsigned int changeIdx)
+{
+  vec_byte res = refTupple;
+  int rank = changeIdx - 1;
+  for (uint8_t i = 0; i < 255; i++)
+    {
+      res[changeIdx] = i;
+      map_tupple_ftnode::const_iterator tI = NodeByTupple.find(res);
+      if (tI == NodeByTupple.end())
+	return res;
+    }
+  cout << "ABORT: fail to get free tupple! (in 255 indexies)" << endl;
+  abort();
+}
+
+string FatTree::getTuppleStr(vec_byte tupple)
+{
+  char buf[128];
+  buf[0] = '\0';
+  for (unsigned int i = 0; i < tupple.size(); i++)
+    {
+      if (i) strcat(buf,".");
+      sprintf(buf, "%s%d", buf, tupple[i]);
+    }
+  return(string(buf));
+}
+
+// track connection going up or down by registering the port in the
+// correct fat tree node childPorts and parentPorts
+int FatTree::trackConnection(
+			     FatTreeNode *p_ftNode, // the connected node
+			     vec_byte     tupple,   // the connected node tupple
+			     unsigned int rank,     // rank of the local node
+			     unsigned int remRank,  // rank of the remote node
+			     unsigned int portNum,  // the port number connecting to the remote node
+			     unsigned int remDigit  // the digit of the tupple changing to the remote node
+			     )
+{
+  if ( rank < remRank )
+    {
+      // going down
+      // make sure we have enough entries in the vector
+      if (remDigit >= p_ftNode->childPorts.size())
+	{
+	  list<  int > emptyPortList;
+	  for (unsigned int i = p_ftNode->childPorts.size();
+	       i <= remDigit; i++)
+            p_ftNode->childPorts.push_back(emptyPortList);
+	}
+      p_ftNode->childPorts[remDigit].push_back(portNum);
+    }
+  else
+    {
+      // going up
+      // make sure we have enough entries in the vector
+      if (remDigit >= p_ftNode->parentPorts.size())
+	{
+	  list< int > emptyPortList;
+	  for (unsigned int i = p_ftNode->parentPorts.size();
+	       i <= remDigit; i++)
+            p_ftNode->parentPorts.push_back(emptyPortList);
+	}
+      p_ftNode->parentPorts[remDigit].push_back(portNum);
+    }
+
+  return(0);
+}
+
+// Extract fat tree coefficiants and double check its
+// symmetry
+int
+FatTree::extractCoefficients()
+{
+  // Go over all levels of the tree.
+  // Collect number of nodes per each level
+  // Require the number of children is equal
+  // Require the number of parents is equal
+
+  int prevLevel = -1;
+  int anyErr = 0;
+
+  // go over all nodes
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.begin();
+       tI != NodeByTupple.end();
+       tI++)
+    {
+      FatTreeNode *p_ftNode = &((*tI).second);
+      int level = (*tI).first[0];
+      bool isFirstInLevel;
+
+      isFirstInLevel = (level != prevLevel);
+      prevLevel = level;
+
+      if (isFirstInLevel)
+	{
+	  numSwInRank.push_back(1);
+	  parentsPerRank.push_back(p_ftNode->numParents());
+	  childrenPerRank.push_back(p_ftNode->numChildren());
+	  downByRank.push_back(p_ftNode->numChildGroups());
+	  upByRank.push_back(p_ftNode->numParentGroups());
+	}
+      else
+	{
+	  numSwInRank[level]++;
+	  if (parentsPerRank[level] != p_ftNode->numParents())
+	    {
+	      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-E- node:" << p_ftNode->p_node->name
+		     << " has unequal number of parent ports to its level"
+		     << endl;
+	      anyErr++;
+	    }
+
+	  // we do not require symmetrical routing for leafs
+	  if (level < N-1)
+	    {
+	      if (childrenPerRank[level] != p_ftNode->numChildren())
+		{
+		  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		    cout << "-E- node:" << p_ftNode->p_node->name <<
+		      " has unequal number of child ports to its level" << endl;
+		  anyErr++;
+		}
+	    }
+	}
+    }
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    {
+      for (int rank = 0; rank < numSwInRank.size(); rank++) {
+	cout << "-I- rank:" << rank
+	     << " switches:" << numSwInRank[rank]
+	     << " parents: " << parentsPerRank[rank]
+	     << " (" << upByRank[rank] << " groups)"
+	     << " children:" << childrenPerRank[rank]
+	     << " (" << downByRank[rank] << " groups)"
+	     << endl;
+      }
+    }
+
+  if (anyErr) return 1;
+
+  vec_byte firstLeafTupple(N, 0);
+  firstLeafTupple[0] = N-1;
+  maxHcasPerLeafSwitch = 0;
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.find(firstLeafTupple);
+       tI != NodeByTupple.end();
+       tI++)
+    {
+      FatTreeNode *p_ftNode = &((*tI).second);
+      IBNode *p_node = p_ftNode->p_node;
+      int numHcaPorts = 0;
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+	{
+	  IBPort *p_port = p_node->getPort(pn);
+	  if (p_port && p_port->p_remotePort &&
+	      (p_port->p_remotePort->p_node->type == IB_CA_NODE))
+	    {
+	      numHcaPorts++;
+	    }
+
+	}
+      if (numHcaPorts > maxHcasPerLeafSwitch)
+	maxHcasPerLeafSwitch = numHcaPorts;
+    }
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-I- HCAs per leaf switch set to:"
+	 << maxHcasPerLeafSwitch << endl;
+
+  cout << "-I- Topology is a valid Fat Tree" << endl;
+  isValid = 1;
+
+  return 0;
+}
+
+// construct the fat tree by matching the topology to it.
+FatTree::FatTree(IBFabric *p_f)
+{
+  isValid = 0;
+  p_fabric = p_f;
+
+  IBNode *p_node = getLowestLevelSwitchNode();
+  IBPort *p_port;
+  FatTreeNode *p_ftNode;
+
+  if (! p_node) return;
+  N = p_node->rank + 1; // N = number of levels (our first rank is 0 ...)
+
+  // BFS from the first switch connected to HCA found on the fabric
+  list< IBNode * > bfsQueue;
+  bfsQueue.push_back(p_node);
+
+  // also we always allocate the address 0..0 with "rank" digits to the node:
+  vec_byte tupple(N, 0);
+
+  // adjust the level:
+  tupple[0] = p_node->rank;
+  TuppleByNode[p_node] = tupple;
+  NodeByTupple[tupple] = FatTreeNode(p_node);
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-I- Assigning tupple:" << getTuppleStr(tupple) << " to:"
+	 << p_node->name << endl;
+
+  while (! bfsQueue.empty())
+    {
+      p_node = bfsQueue.front();
+      bfsQueue.pop_front();
+      // we must have a tupple stored - get it
+      tupple = TuppleByNode[p_node];
+      // we also need to get the fat tree node...
+      p_ftNode = &NodeByTupple[tupple];
+
+      // go over all the node ports
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+	{
+	  p_port = p_node->getPort(pn);
+	  if (!p_port || !p_port->p_remotePort) continue;
+
+	  IBNode *p_remNode = p_port->p_remotePort->p_node;
+
+	  if (p_remNode->type != IB_SW_NODE)
+	    {
+	      // for HCAs we only track the conenctions
+	      list< int > tmpList;
+	      tmpList.push_back(pn);
+	      p_ftNode->childPorts.push_back(tmpList);
+	      continue;
+	    }
+
+	  // now try to see if this node has already a map:
+	  map_pnode_vec_byte::iterator tI = TuppleByNode.find(p_remNode);
+
+	  // we are allowed to change the digit based on the direction we go:
+	  unsigned int changingDigitIdx;
+	  if (p_node->rank < p_remNode->rank)
+            // going down the tree = use the current rank + 1
+            // (save one for level)
+            changingDigitIdx = p_node->rank + 1;
+	  else if (p_node->rank > p_remNode->rank)
+            // goin up the tree = use current rank (first one is level)
+            changingDigitIdx = p_node->rank;
+	  else
+	    {
+	      cout << "-E- Connections on the same rank level "
+		   << " are not allowed in Fat Tree routing." << endl;
+	      cout << "    from:" << p_node->name << "/P" << pn
+		   << " to:" << p_remNode->name << endl;
+	      return;
+	    }
+
+	  // do we need to allocate a new tupple?
+	  if (tI == TuppleByNode.end())
+	    {
+
+	      // the node is new - so get a new tupple for it:
+	      vec_byte newTupple = tupple;
+	      // change the level accordingly
+	      newTupple[0] = p_remNode->rank;
+	      // obtain a free one
+	      newTupple = getFreeTupple(newTupple, changingDigitIdx);
+
+	      // assign the new tupple and add to next steps:
+	      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-I- Assigning tupple:" << getTuppleStr(newTupple)
+		     << " to:" << p_remNode->name << " changed idx:"
+		     << changingDigitIdx << " from:" << getTuppleStr(tupple)
+		     << endl;
+
+	      TuppleByNode[p_remNode] = newTupple;
+	      NodeByTupple[newTupple] = FatTreeNode(p_remNode);
+
+	      unsigned int digit = newTupple[changingDigitIdx];
+
+	      // track the connection
+	      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-I- Connecting:" << p_node->name << " to:"
+		     << p_remNode->name << " through port:" << pn
+		     << " remDigit:" << digit << endl;
+	      if (trackConnection(
+				  p_ftNode, tupple, p_node->rank, p_remNode->rank, pn, digit))
+		return;
+
+	      bfsQueue.push_back(p_remNode);
+	    }
+	  else
+	    {
+	      // other side already has a tupple - so just track the connection
+	      vec_byte remTupple = (*tI).second;
+	      vec_byte mergedTupple = remTupple;
+
+	      unsigned int digit = remTupple[changingDigitIdx];
+
+	      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-I- Connecting:" << p_node->name  << " to:"
+		     << p_remNode->name << " through port:" << pn
+		     << " remDigit:" << digit  << endl;
+	      if (trackConnection(
+				  p_ftNode, tupple, p_node->rank, p_remNode->rank, pn, digit))
+		return;
+	    }
+
+	} // all ports
+    } // anything to do
+
+  // make sure the extracted tropology can be declared "fat tree"
+  if (extractCoefficients()) return;
+
+  // build mapping between HCA index and LIDs.
+  // We need to decide what will be the K of the lowest switches level.
+  // It is possible that for all of them the number of HCAs is < num
+  // left ports thus we should probably use the lowest number of all
+  vec_byte firstLeafTupple(N, 0);
+  firstLeafTupple[0] = N-1;
+
+  // now restart going over all leaf switches by their tupple order and
+  // allocate mapping
+  int hcaIdx = 0;
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.find(firstLeafTupple);
+       tI != NodeByTupple.end();
+       tI++)
+    {
+      // we collect HCAs connected to the leaf switch and set their childPort
+      // starting at the index associated with the switch tupple.
+      FatTreeNode *p_ftNode = &((*tI).second);
+      IBNode *p_node = p_ftNode->p_node;
+      unsigned int pIdx = 0;
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+	{
+	  IBPort *p_port = p_node->getPort(pn);
+	  if (p_port && p_port->p_remotePort &&
+	      (p_port->p_remotePort->p_node->type == IB_CA_NODE))
+	    {
+	      LidByIdx.push_back(p_port->p_remotePort->base_lid);
+	      IdxByName[p_port->p_remotePort->p_node->name] = hcaIdx;
+	      pIdx++;
+	      hcaIdx++;
+	    }
+	}
+      // we might need some padding
+      for (; pIdx < maxHcasPerLeafSwitch; pIdx++) {
+	LidByIdx.push_back(0);
+	hcaIdx++;
+      }
+    }
+
+  cout << "-I- Fat Tree Created" << endl;
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    dump();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Route a the Fat Tree
+// Prerequisites: Fat Tree structure was built.
+//
+// Algorithm:
+// For each leaf switch (in order)
+//   For each HCA index (even if it does not have a LID - invent one)
+//     Traverse up the tree selecting "first" lowest utilized port going down
+//     Mark utilization on that port
+//     Perform backward traversal marking up ports to that remote node
+//
+// Data Model:
+// We use the fat tree to get ordering.
+// "main" routing is the routing from HCA to HCA.
+// "side" routing is used from all SW to all HCAs (and dynamic routing)
+// Track port utilization for the "main" routing by the "counter1"
+// Track port utilzation of the "side" routing in "counter2" field of the port
+//
+//////////////////////////////////////////////////////////////////////////////
+
+int
+FatTree::assignLftUpWards(FatTreeNode *p_ftNode, uint16_t dLid,
+                          int outPortNum, int switchPathOnly)
+{
+  IBPort* p_port;
+  IBNode *p_node = p_ftNode->p_node;
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- assignLftUpWards invoked on node:" << p_node->name
+	 << " out-port:" << outPortNum
+	 << " to dlid:" << dLid
+	 << " switchPathOnly:" << switchPathOnly
+	 << endl;
+
+  // Foreach one of the child port groups select the port which is
+  // less utilized and set its LFT - then recurse into it
+  // go over all child ports
+  for (int i = 0; i < p_ftNode->childPorts.size(); i++) {
+    if (!p_ftNode->childPorts[i].size()) continue;
+
+    // we can skip handling the remote node if
+    // it already has an assigned LFT for this target lid
+    int firstPortNum = p_ftNode->childPorts[i].front();
+    IBPort *p_firstPort = p_node->getPort(firstPortNum);
+    IBNode *p_remNode = p_firstPort->p_remotePort->p_node;
+    if (p_remNode->getLFTPortForLid(dLid) != IB_LFT_UNASSIGNED)
+      {
+	if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	  cout << "-V- assignLftUpWards skip already assigned remote node:"
+	       << p_remNode->name
+	       << " switchPathOnly:" << switchPathOnly
+	       << endl;
+	continue;
+      }
+
+    int bestUsage = 0;
+    IBPort *p_bestPort = NULL;
+    int found = 0;
+
+    // we only need one best port on each group
+    for (list<int>::iterator lI = p_ftNode->childPorts[i].begin();
+	 !found && (lI != p_ftNode->childPorts[i].end());
+	 lI++) {
+
+      // can not have more then one port in group...
+      int portNum = *lI;
+
+      // we do not want to descend back to the original port
+      if (portNum == outPortNum)
+	{
+	  p_bestPort = NULL;
+	  found = 1;
+	  continue;
+	}
+
+      IBPort *p_port = p_node->getPort(portNum);
+      // not required but what the hack...
+      if (!p_port || !p_port->p_remotePort) continue;
+      IBPort *p_remPort = p_port->p_remotePort;
+
+      // ignore remote HCA nodes
+      if (p_remPort->p_node->type != IB_SW_NODE) continue;
+
+      // look on the local usage as we mark usage entering a port
+      int usage = p_port->counter1;
+      if (switchPathOnly)
+	usage += p_port->counter2;
+      if ((p_bestPort == NULL) || (usage < bestUsage))
+	{
+	  p_bestPort = p_port;
+	  bestUsage = usage;
+	}
+    }
+
+    if (p_bestPort != NULL)
+      {
+	// mark utilization
+	if (switchPathOnly)
+	  p_bestPort->counter2++;
+	else
+	  p_bestPort->counter1++;
+
+	IBPort *p_bestRemPort = p_bestPort->p_remotePort;
+	p_remNode->setLFTPortForLid(dLid, p_bestRemPort->num);
+
+	if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	  cout << "-V- assignLftUpWards setting lft on:" << p_remNode->name
+	       << " to port:" << p_bestRemPort->num
+	       << " to dlid:" << dLid  << endl;
+
+	FatTreeNode *p_remFTNode =
+	  getFatTreeNodeByNode(p_bestRemPort->p_node);
+	assignLftUpWards(p_remFTNode, dLid, p_bestRemPort->num,
+			 switchPathOnly);
+      }
+  }
+
+  return(0);
+}
+
+// to allocate a port downwards we look at all ports
+// going up from this node and select the one which is
+// less used
+// we also start an upwards assignment to this node
+int
+FatTree::assignLftDownWards(FatTreeNode *p_ftNode, uint16_t dLid,
+                            int outPortNum, int switchPathOnly, int downOnly)
+{
+  IBPort *p_port;
+  IBNode *p_node = p_ftNode->p_node;
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- assignLftDownWards from:" << p_node->name
+	 << " dlid:" << dLid
+	 << " through port:" << outPortNum
+	 << " switchPathOnly:" << switchPathOnly
+	 << endl;
+
+  if (outPortNum != 0xFF)
+    {
+      // Set FDB to that LID only if not preset or we are on "main" route
+      if (!switchPathOnly || (p_node->getLFTPortForLid(dLid) == IB_LFT_UNASSIGNED)) {
+	p_node->setLFTPortForLid(dLid, outPortNum);
+
+	p_port = p_node->getPort(outPortNum);
+
+	// mark the usage of this port
+	if (p_port) {
+	  if (switchPathOnly) {
+	    p_port->counter2++;
+	  } else {
+	    p_port->counter1++;
+	  }
+	}
+      }
+    }
+
+  // find the remote port (following the parents list order)
+  // that is not used or less used.
+  int bestUsage = 0;
+  int bestGroup = -1;
+  IBPort *p_bestRemPort = NULL;
+  int found = 0;
+  // go over all child ports
+  for (int i = 0; !found && (i < p_ftNode->parentPorts.size()); i++) {
+    if (!p_ftNode->parentPorts[i].size()) continue;
+
+    for (list<int>::iterator lI = p_ftNode->parentPorts[i].begin();
+	 !found && (lI != p_ftNode->parentPorts[i].end());
+	 lI++) {
+
+      // can not have more then one port in group...
+      int portNum = *lI;
+      IBPort *p_port = p_node->getPort(portNum); // must be if marked parent
+      IBPort *p_remPort = p_port->p_remotePort;
+      if (p_remPort == NULL) continue;
+      int usage = p_remPort->counter1;
+      if (switchPathOnly)
+	usage += p_remPort->counter2;
+
+      if ((p_bestRemPort == NULL) || (usage < bestUsage))
+	{
+	  p_bestRemPort = p_remPort;
+	  bestUsage = usage;
+	  bestGroup = i;
+	  // can not have better usage then no usage
+	  if (usage == 0)
+	    found = 1;
+	}
+    }
+  }
+
+  FatTreeNode *p_remFTNode;
+  // first visit the official path!
+  if (bestGroup != -1) {
+    p_remFTNode = getFatTreeNodeByNode(p_bestRemPort->p_node);
+    if (!p_remFTNode)
+      cout << "-E- Fail to get FatTree Node for node:"
+	   << p_bestRemPort->p_node->name << endl;
+    else
+      assignLftDownWards(p_remFTNode, dLid, p_bestRemPort->num,switchPathOnly,downOnly);
+  }
+
+  // need to go all up all the possible ways to make sure all switch are
+  // connected to all HCAs
+  for (int i = 0; i < p_ftNode->parentPorts.size(); i++) {
+    if (!p_ftNode->parentPorts[i].size()) continue;
+    IBPort* p_remPort;
+    // if we are on the "best group" we know the best port
+    if (bestGroup == i) continue;
+
+    // find the best port of the group i
+    p_bestRemPort = NULL;
+    found = 0;
+    for (list<int>::iterator lI = p_ftNode->parentPorts[i].begin();!found && (lI != p_ftNode->parentPorts[i].end()); lI++) {
+      // can not have more then one port in group...
+      int portNum = *lI;
+      IBPort *p_port = p_node->getPort(portNum); // must be if marked parent
+      IBPort *p_remPort = p_port->p_remotePort;
+      if (p_remPort == NULL) continue;
+      int usage = p_remPort->counter1 + p_remPort->counter2;
+
+      if ((p_bestRemPort == NULL) || (usage < bestUsage)) {
+	p_bestRemPort = p_remPort;
+	bestUsage = usage;
+	// can not have better usage then no usage
+	if (usage == 0)
+	  found = 1;
+      }
+    }
+    p_remFTNode = getFatTreeNodeByNode(p_bestRemPort->p_node);
+    if (!p_remFTNode)
+      cout << "-E- Fail to get FatTree Node for node:"
+	   << p_bestRemPort->p_node->name << endl;
+    else
+      assignLftDownWards(p_remFTNode, dLid, p_bestRemPort->num, 1, downOnly);
+  }
+
+  // Perform Backward traversal through all ports connected to lower
+  // level switches in-port = out-port
+  if (!downOnly)
+    assignLftUpWards(p_ftNode, dLid, outPortNum, switchPathOnly);
+
+  return(0);
+}
+
+// perform the routing by filling in the fabric LFTs
+int FatTree::route()
+{
+  int hcaIdx = 0;
+  int lid; // the target LID we propagate for this time
+
+  // go over all fat tree nodes of the lowest level
+  vec_byte firstLeafTupple(N, 0);
+  firstLeafTupple[0] = N-1;
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.find(firstLeafTupple);
+       tI != NodeByTupple.end();
+       tI++)
+    {
+
+      FatTreeNode *p_ftNode = &((*tI).second);
+      IBNode *p_node = p_ftNode->p_node;
+      // we need to track the number of ports to handle case of missing HCAs
+      int numPortWithHCA = 0;
+
+      // go over all child ports
+      for (int i = 0; i < p_ftNode->childPorts.size(); i++) {
+	if (!p_ftNode->childPorts[i].size()) continue;
+	// can not have more then one port in group...
+	int portNum = p_ftNode->childPorts[i].front();
+	numPortWithHCA++;
+
+	lid = LidByIdx[hcaIdx];
+
+	if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	  cout << "-V- Start routing LID:" << lid
+	       << " at HCA idx:" << hcaIdx << endl;
+	assignLftDownWards(p_ftNode, lid, portNum, 0,0);
+
+	hcaIdx++;
+      }
+
+      // for ports without HCA we assign dummy LID but need to
+      // propagate
+      for (; numPortWithHCA < maxHcasPerLeafSwitch; numPortWithHCA++)
+	{
+	  // HACK: for now we can propagate 0 as lid
+	  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- adding dummy LID to switch:"
+                 << p_node->name
+                 << " at HCA idx:" << hcaIdx << endl;
+
+	  assignLftDownWards(p_ftNode, 0, 0xFF, 0,0);
+
+	  hcaIdx++;
+	}
+    }
+
+  // now go over all switches and route to them
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.begin();
+       tI != NodeByTupple.end();
+       tI++)
+    {
+
+      FatTreeNode *p_ftNode = &((*tI).second);
+      IBNode *p_node = p_ftNode->p_node;
+
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // find the LID of the switch:
+      int lid = 0;
+      for (unsigned int pn = 1; (lid == 0) && (pn <= p_node->numPorts); pn++)
+	{
+	  IBPort *p_port = p_node->getPort(pn);
+	  if (p_port)
+	    lid = p_port->base_lid;
+	}
+      if (lid == 0)
+	{
+	  cout << "-E- failed to find LID for switch:" << p_node->name << endl;
+	} else {
+	  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- routing to LID:" << lid << " of switch:"
+                 << p_node->name << endl;
+	  assignLftDownWards(p_ftNode, lid, 0, 0, 0);
+	}
+    }
+
+  return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Optimally Route a permutation in the Fat Tree
+// Prerequisites: Fat Tree structure was built.
+//
+// Algorithm:
+// For each leaf switch (in order)
+//   For each HCA index (even if it does not have a LID - invent one)
+//     Setup downward paths as previously
+//     Traverse up from destination HCA and force output ports as
+//     computed by the optimal routing
+//
+// Data Model:
+// We use the fat tree to get ordering.
+// "main" routing is the routing from HCA to HCA.
+// "side" routing is used from all SW to all HCAs (and dynamic routing)
+// Track port utilization for the "main" routing by the "counter1"
+// Track port utilzation of the "side" routing in "counter2" field of the port
+//
+//////////////////////////////////////////////////////////////////////////////
+
+// set FDB values as given in the input
+int FatTree::forceLftUpWards(FatTreeNode *p_ftNode, uint16_t dLid, vec_int ports)
+{
+  // go over all steps
+  for (int i=0; i<ports.size(); i++) {
+    // if LID is going down we are finished
+    if (p_ftNode->goingDown(dLid))
+      return 0;
+    // sanity check
+    if ((ports[i] < 0) || (ports[i] > p_ftNode->parentPorts.size())) {
+      cout << "-E- Illegal port number!" << endl;
+      return 1;
+    }
+    IBNode *p_node = p_ftNode->p_node;
+    int portNum = p_ftNode->parentPorts[ports[i]].front();
+
+    IBPort* p_port = p_node->getPort(portNum);
+    if (!p_port || !p_port->p_remotePort) {
+      cout << "-E- Ports do not exist!" << endl;
+      return 1;
+    }
+    IBNode* p_remNode = p_port->p_remotePort->p_node;
+    // Set LFT entry
+    p_node->setLFTPortForLid(dLid, portNum);
+    // Move to next step
+    p_ftNode = getFatTreeNodeByNode(p_remNode);
+  }
+  return 0;
+}
+
+// perform the routing by filling in the fabric LFTs
+int FatTree::permRoute(vector<string> src, vector<string> dst)
+{
+  int hcaIdx = 0;
+  int lid; // the target LID we propagate for this time
+  // extract radix
+  vec_byte tmpLeafTupple(N,0);
+  tmpLeafTupple[0] = N-1;
+  FatTreeNode* p_ftN = &NodeByTupple[tmpLeafTupple];
+  int radix = 0;
+  for (int i = 0; i < p_ftN->parentPorts.size(); i++)
+    if(p_ftN->parentPorts[i].size())
+      radix++;
+
+  // create requests vector
+  vec_int req;
+  req.resize(src.size());
+  for (int i=0; i<src.size(); i++)
+    req[IdxByName[src[i]]] = IdxByName[dst[i]];
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- Tree height: " << N << ", radix: " << radix << endl;
+
+  // create routing system
+  RouteSys rS(radix,N);
+  // push requests
+  rS.pushRequests(req);
+  // compute optimal routing
+  vec_vec_int routeOutput;
+  rS.doRouting(routeOutput);
+
+  // build the LFTs
+  // go over all fat tree nodes of the lowest level
+  vec_byte firstLeafTupple(N, 0);
+  firstLeafTupple[0] = N-1;
+  // First prepare downwards routing
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.find(firstLeafTupple); tI != NodeByTupple.end(); tI++) {
+    FatTreeNode *p_ftNode = &((*tI).second);
+    IBNode *p_node = p_ftNode->p_node;
+    // we need to track the number of ports to handle case of missing HCAs
+    int numPortWithHCA = 0;
+
+    // go over all child ports
+    for (int i = 0; i < p_ftNode->childPorts.size(); i++) {
+      if (!p_ftNode->childPorts[i].size()) continue;
+      // can not have more then one port in group...
+      int portNum = p_ftNode->childPorts[i].front();
+      numPortWithHCA++;
+
+      lid = LidByIdx[hcaIdx];
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	cout << "-V- Start routing LID:" << lid
+	     << " at HCA idx:" << hcaIdx << endl;
+
+      // Assign downward LFT values
+      if (assignLftDownWards(p_ftNode, lid, portNum, 0, 1))
+	return 1;
+
+      hcaIdx++;
+    }
+
+    // for ports without HCA we assign dummy LID but need to
+    // propagate
+    for (; numPortWithHCA < maxHcasPerLeafSwitch; numPortWithHCA++) {
+      // HACK: for now we can propagate 0 as lid
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	cout << "-V- adding dummy LID to switch:"
+	     << p_node->name
+	     << " at HCA idx:" << hcaIdx << endl;
+
+      assignLftDownWards(p_ftNode, 0, 0xFF, 0, 0);
+
+      hcaIdx++;
+    }
+  }
+
+  // Now prepare upwards routing
+  hcaIdx = 0;
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.find(firstLeafTupple); tI != NodeByTupple.end(); tI++) {
+    FatTreeNode *p_ftNode = &((*tI).second);
+    IBNode *p_node = p_ftNode->p_node;
+
+    // go over all child ports
+    for (int i = 0; i < p_ftNode->childPorts.size(); i++) {
+      if (!p_ftNode->childPorts[i].size()) continue;
+      // can not have more then one port in group...
+      int portNum = p_ftNode->childPorts[i].front();
+
+      lid = LidByIdx[hcaIdx];
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	cout << "-V- Start routing LID:" << lid
+	     << " at HCA idx:" << hcaIdx << endl;
+
+      lid = LidByIdx[req[hcaIdx]];
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	cout << "-V- Creating routing from "<<hcaIdx<<"-"<<src[hcaIdx]<<"(lid: "<<LidByIdx[hcaIdx]<<") to "
+	     <<req[hcaIdx]<<"-"<<dst[hcaIdx]<<"(lid: "<<LidByIdx[req[hcaIdx]]<<") using up-ports:" << endl;
+
+      // Assign upward LFT values
+      if (forceLftUpWards(p_ftNode, lid, routeOutput[hcaIdx]))
+	return 1;
+
+      hcaIdx++;
+    }
+
+  }
+
+  // now go over all switches and route to them
+  for (map_tupple_ftnode::iterator tI = NodeByTupple.begin();
+       tI != NodeByTupple.end();
+       tI++)
+    {
+
+      FatTreeNode *p_ftNode = &((*tI).second);
+      IBNode *p_node = p_ftNode->p_node;
+
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // find the LID of the switch:
+      int lid = 0;
+      for (unsigned int pn = 1; (lid == 0) && (pn <= p_node->numPorts); pn++)
+	{
+	  IBPort *p_port = p_node->getPort(pn);
+	  if (p_port)
+	    lid = p_port->base_lid;
+	}
+      if (lid == 0)
+	{
+	  cout << "-E- failed to find LID for switch:" << p_node->name << endl;
+	} else {
+	  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- routing to LID:" << lid << " of switch:"
+                 << p_node->name << endl;
+	  assignLftDownWards(p_ftNode, lid, 0, 0, 0);
+	}
+    }
+
+  return(0);
+}
+
+// dumps out the HCA order into a file ftree.hca
+void FatTree::dumpHcaOrder()
+{
+  ofstream f("ftree.hcas");
+  for (unsigned int i = 0; i < LidByIdx.size(); i++)
+    {
+      // find the HCA node by the base lid given
+      unsigned int lid = LidByIdx[i];
+      if (lid <= 0)
+	{
+	  f << "DUMMY_HOST LID" << endl;
+	}
+      else
+	{
+	  IBPort *p_port = p_fabric->PortByLid[lid];
+
+	  if (! p_port)
+	    {
+	      cout << "-E- fail to find port for lid:" << lid << endl;
+	      f << "ERROR_HOST LID" << endl;
+	    }
+	  else
+	    {
+	      f << p_port->p_node->name << "/" << p_port->num << " " << lid << endl;
+	    }
+	}
+    }
+  f.close();
+}
+
+void FatTree::dump()
+{
+  unsigned int level, prevLevel = 2;
+  cout << "---------------------------------- FAT TREE DUMP -----------------------------" << endl;
+  for (map_tupple_ftnode::const_iterator tI = NodeByTupple.begin();
+       tI != NodeByTupple.end();
+       tI++)
+    {
+      level = (*tI).first[0];
+      if (level != prevLevel)
+	{
+	  prevLevel = level;
+	  cout << "LEVEL:" << level << endl;
+	}
+
+      FatTreeNode const *p_ftNode = &((*tI).second);
+      cout << "    " << p_ftNode->p_node->name << " tupple:" << getTuppleStr((*tI).first) << endl;
+      for (unsigned int i = 0; i < p_ftNode->parentPorts.size(); i++)
+	{
+	  if (p_ftNode->parentPorts[i].size())
+	    {
+	      cout << "       Parents:" << i << endl;
+	      for (list< int >::const_iterator lI = p_ftNode->parentPorts[i].begin();
+		   lI != p_ftNode->parentPorts[i].end();
+		   lI++)
+		{
+		  unsigned int portNum = *lI;
+		  cout << "          p:" << portNum << " ";
+		  IBPort *p_port = p_ftNode->p_node->getPort(portNum);
+		  if (!p_port || !p_port->p_remotePort)
+		    cout << " ERROR " << endl;
+		  else
+		    cout << p_port->p_remotePort->p_node->name << endl;
+		}
+	    }
+	}
+
+      for (unsigned int i = 0; i < p_ftNode->childPorts.size(); i++)
+	{
+	  if (p_ftNode->childPorts[i].size())
+	    {
+	      cout << "       Children:" << i << endl;
+	      for (list< int >::const_iterator lI = p_ftNode->childPorts[i].begin();
+		   lI != p_ftNode->childPorts[i].end();
+		   lI++)
+		{
+		  unsigned int portNum = *lI;
+		  cout << "         p:" << portNum << " ";
+		  IBPort *p_port = p_ftNode->p_node->getPort(portNum);
+		  if (!p_port || !p_port->p_remotePort)
+		    cout << "ERROR " << endl;
+		  else
+		    cout << p_port->p_remotePort->p_node->name << endl;
+		}
+	    }
+	}
+    }
+
+  // now dump the HCA by index:
+  cout << "\nLID BY INDEX" << endl;
+  for (unsigned int i = 0; i < LidByIdx.size(); i++) {
+    int lid = LidByIdx[i];
+    IBPort *p_port;
+
+    if (lid != 0)
+      {
+	p_port = p_fabric->PortByLid[lid];
+	if (p_port)
+	  {
+            cout << "   " << i << " -> " << LidByIdx[i]
+                 << " " << p_port->getName() << endl;
+	  }
+	else
+	  {
+            cout << "   ERROR : no port for lid:" << lid << endl;
+	  }
+      }
+  }
+}
+
+// perform the whole thing
+int FatTreeAnalysis(IBFabric *p_fabric)
+{
+  FatTree ftree(p_fabric);
+  if (!ftree.isValid) return(1);
+  ftree.dumpHcaOrder();
+  if (ftree.route()) return(1);
+  return(0);
+}
+
+int FatTreeRouteByPermutation( IBFabric *p_fabric, char *srcs, char* dsts )
+{
+  vector <string> sources;
+  vector <string> destinations;
+
+  char *s1, *s2, *cp;
+  char *saveptr;
+  s1 = strdup(srcs);
+  s2 = strdup(dsts);
+  cp = strtok_r(s1, " \t", &saveptr);
+  do {
+    sources.push_back(cp);
+    cp = strtok_r(NULL, " \t", &saveptr);
+  }
+  while (cp);
+
+  cp = strtok_r(s2, " \t", &saveptr);
+  do {
+    destinations.push_back(cp);
+    cp = strtok_r(NULL, " \t", &saveptr);
+  }
+  while (cp);
+
+  if (sources.size() != destinations.size()) {
+    cout << "-E- Different number of sources and destinations" << endl;
+    return 1;
+  }
+
+  FatTree ftree(p_fabric);
+  if (!ftree.isValid) return(1);
+  //ftree.dumpHcaOrder();
+  if (ftree.permRoute(sources, destinations)) return(1);
+  return(0);
+}
diff --git a/ibdm/ibdm/LinkCover.cpp b/ibdm/ibdm/LinkCover.cpp
new file mode 100644
index 0000000..0abeac9
--- /dev/null
+++ b/ibdm/ibdm/LinkCover.cpp
@@ -0,0 +1,1022 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "TraceRoute.h"
+#include <iomanip>
+#include <fstream>
+#include <sstream>
+#include <map>
+#include <algorithm>
+using namespace std;
+
+/*
+ * The purpose of this file is to provide an algorithm that will
+ * provide back a minimal set of paths to execrsize every link on the fabric
+ *
+ * The implemented algorithm is based on availablity of the FDBs
+ */
+
+// Data structure: we keep the pin/dLid table as short int array.
+// The first index is the port number and the second is the dLid
+typedef map< IBNode *, short int*, less< IBNode * > > map_pnode_p_sint;
+
+int getPinTargetLidTableIndex(IBFabric *p_fabric,
+                              int portNum, unsigned int dLid) {
+  if (dLid == 0 || dLid > p_fabric->maxLid)
+  {
+    cout << "-F- Got dLid which is > maxLid or 0" << endl;
+    exit(1);
+  }
+  return ((p_fabric->maxLid)*(portNum - 1)+ dLid - 1);
+}
+
+// simply dump out the content for debug ...
+void
+dumpPortTargetLidTable(IBNode *p_node,
+                       map_pnode_p_sint &switchInRtTbl)
+{
+
+  IBFabric *p_fabric = p_node->p_fabric;
+  map_pnode_p_sint::iterator I = switchInRtTbl.find(p_node);
+  if (I == switchInRtTbl.end())
+  {
+    cout << "-E- fail to find input routing table for"
+         << p_node->name << endl;
+    return;
+  }
+
+  short int *tbl = (*I).second;
+  cout << "--------------- IN PORT ROUTE TABLE -------------------------"
+       << endl;
+  cout << "SWITCH:" << p_node->name << endl;
+  cout << "LID   |";
+
+  for (int pn = 1; pn <= p_node->numPorts; pn++)
+    cout << " P" << setw(2) << pn << " |";
+  cout << " FDB |" << endl;
+  for (int lid = 1; lid <= p_fabric->maxLid; lid++) {
+    cout << setw(5) << lid << " |";
+    for (int pn = 1; pn <= p_node->numPorts; pn++) {
+      int val = tbl[getPinTargetLidTableIndex(p_fabric,pn,lid)];
+      if (val)
+      {
+        cout << " " << setw(3) << val << " |";
+      }
+      else
+        cout << "     |";
+    }
+    cout << setw(3) << p_node->getLFTPortForLid(lid) << " |" << endl;
+  }
+}
+
+// Trace a route from slid to dlid by LFT marking each input-port,dst-lid
+// with the number of hops through
+int traceRouteByLFTAndMarkInPins(
+  IBFabric *p_fabric,
+  IBPort *p_srcPort,
+  IBPort *p_dstPort,
+  unsigned int dLid,
+  map_pnode_p_sint &swInPinDLidTableMap
+  ) {
+
+  IBNode *p_node;
+  IBPort *p_port = p_srcPort;
+  IBPort *p_remotePort = NULL;
+  unsigned int sLid = p_srcPort->base_lid;
+  int hopCnt = 0;
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+  {
+    cout << "-V-----------------------------------------------------" << endl;
+    cout << "-V- Tracing from lid:" << sLid << " to lid:"
+         << dLid << endl;
+  }
+
+  // if the port is not a switch - go to the next switch:
+  if (p_port->p_node->type != IB_SW_NODE)
+  {
+    // try the next one:
+    if (!p_port->p_remotePort)
+    {
+      cout << "-E- Provided starting point is not connected !"
+           << "lid:" << sLid << endl;
+      return 1;
+    }
+    // we need gto store this info for marking later
+    p_remotePort = p_port->p_remotePort;
+    p_node = p_remotePort->p_node;
+    hopCnt++;
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Arrived at Node:" << p_node->name
+           << " Port:" << p_port->p_remotePort->num << endl;
+  }
+  else
+  {
+    // it is a switch :
+    p_node = p_port->p_node;
+  }
+
+  // verify we are finally of a switch:
+  if (p_node->type != IB_SW_NODE)
+  {
+    cout << "-E- Provided starting point is not connected to a switch !"
+         << "lid:" << sLid << endl;
+    return 1;
+  }
+
+  // traverse:
+  int done = 0;
+  while (!done) {
+    if (p_remotePort)
+    {
+      IBNode *p_remoteNode = p_remotePort->p_node;
+      if (p_remoteNode->type == IB_SW_NODE)
+      {
+        // mark the input port p_remotePort we got to:
+        map_pnode_p_sint::iterator I =
+          swInPinDLidTableMap.find(p_remoteNode);
+        if (I == swInPinDLidTableMap.end())
+        {
+          cout << "-E- No entry for node:" << p_remoteNode->name
+               << " in swInPinDLidTableMap" << endl;
+          return 1;
+        }
+        int idx = getPinTargetLidTableIndex(p_fabric, p_remotePort->num, dLid);
+        (*I).second[idx] = hopCnt;
+        if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+        {
+          cout << "-I- Marked node:" << p_remoteNode->name
+               << " in port:" << p_remotePort->num << " dlid:" << dLid
+               << " with hops:" << hopCnt << endl;
+        }
+      }
+    }
+
+    // calc next node:
+    int pn = p_node->getLFTPortForLid(dLid);
+    if (pn == IB_LFT_UNASSIGNED)
+    {
+      cout << "-E- Unassigned LFT for lid:" << dLid
+           << " Dead end at:" << p_node->name << endl;
+      return 1;
+    }
+
+    // if the port number is 0 we must have reached the target node.
+    // simply try see that p_remotePort of last step == p_dstPort
+    if (pn == 0)
+    {
+      if (p_dstPort != p_remotePort)
+      {
+        cout << "-E- Dead end at port 0 of node:" << p_node->name << endl;
+        return 1;
+      }
+      return 0;
+    }
+
+    // get the port on the other side
+    p_port = p_node->getPort(pn);
+
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Going out on port:" << pn << endl;
+
+    if (! (p_port &&
+           p_port->p_remotePort &&
+           p_port->p_remotePort->p_node)) {
+      cout << "-E- Dead end at:" << p_node->name << endl;
+      return 1;
+    }
+
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Arrived at Node:" << p_port->p_remotePort->p_node->name
+           << " Port:" << p_port->p_remotePort->num << endl;
+
+    p_remotePort = p_port->p_remotePort;
+
+    // check if we are done:
+    done = (p_remotePort == p_dstPort);
+
+    p_node = p_remotePort->p_node;
+    if (hopCnt++ > 256)
+    {
+      cout << "-E- Aborting after 256 hops - loop in LFT?" << endl;
+      return 1;
+    }
+  }
+
+  return 0;
+}
+
+int
+cleanupFdbForwardPortLidTables(
+  IBFabric *p_fabric,
+  map_pnode_p_sint &swInPinDLidTableMap,
+  map_pnode_p_sint &outPortCoveredMap,
+  map_pnode_p_sint &outPortUsedMap)
+{
+  IBNode *p_node;
+
+  for( map_pnode_p_sint::iterator I = swInPinDLidTableMap.begin();
+       I != swInPinDLidTableMap.end();
+       I++) {
+
+    short int *pinPassThroughLids = (*I).second;
+    free(pinPassThroughLids);
+  }
+
+  for( map_pnode_p_sint::iterator I = outPortCoveredMap.begin();
+       I != outPortCoveredMap.end();
+       I++) {
+
+    short int *outPortCovered = (*I).second;
+    free(outPortCovered);
+  }
+
+  for( map_pnode_p_sint::iterator I = outPortUsedMap.begin();
+       I != outPortUsedMap.end();
+       I++) {
+
+    short int *outPortUsed = (*I).second;
+    free(outPortUsed);
+  }
+
+}
+
+// Linear program does not interest me now...
+#if 0
+// filter some illegal chars in name
+string
+getPortLpName(IBPort *p_port)
+{
+  string res = p_port->getName();
+  string::size_type s;
+
+  while ((s = res.find('-')) != string::npos) {
+    res.replace(s, 1, "_");
+  }
+  return (res);
+}
+
+
+// dump out the linear programming matrix in LP format for covering all links:
+// a target line - we want to maximize the number of links excersized
+// Link1 + Link2 + Link3  ....
+// Per link we want only one pair...
+// Link1: 0 = Link1 + Pslid-dlid + ...
+// finally declare all Pslid-dlid <= 1 and all Links <= 1
+int
+dumpLinearProgram(IBFabric *p_fabric,
+                  map_pport_src_dst_lid_pairs &switchInPortPairsMap)
+{
+  set< string > vars;
+  int numLinks = 0;
+  IBNode *p_node;
+  ofstream linProgram("/tmp/ibdmchk.lp");
+
+  // we need a doubel path - first collect all in ports and
+  // dump out the target - maximize number of links covered
+  for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+       nI != p_fabric->NodeByName.end();
+       nI++) {
+    p_node = (*nI).second;
+
+    // go over all the input ports of the node and if has paths
+    // add to the program target
+    for (int pn = 1; pn <= p_node->numPorts; pn++) {
+      IBPort *p_port = p_node->getPort(pn);
+      if (p_port)
+      {
+        if (switchInPortPairsMap[p_port].size())
+        {
+          string varName = string("L") + getPortLpName(p_port);
+          vars.insert(varName);
+          if (numLinks) linProgram << "+ " ;
+          if (numLinks && (numLinks % 8 == 0)) linProgram << endl;
+          linProgram << varName << " ";
+          numLinks++;
+        }
+      }
+    }
+  }
+
+  linProgram << ";" << endl;
+
+  // second pass we write down each link equation:
+  for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+       nI != p_fabric->NodeByName.end();
+       nI++) {
+    p_node = (*nI).second;
+
+    // go over all the input ports of the node and if has paths
+    // add to the program target
+    for (int pn = 1; pn <= p_node->numPorts; pn++) {
+      IBPort *p_port = p_node->getPort(pn);
+      if (p_port)
+      {
+        if (switchInPortPairsMap[p_port].size())
+        {
+          string varName = string("L") + getPortLpName(p_port);
+          linProgram << varName;
+          for (src_dst_lid_pairs::iterator lI = switchInPortPairsMap[p_port].begin();
+               lI != switchInPortPairsMap[p_port].end();
+               lI++) {
+            char buff[128];
+            sprintf(buff, "P%u_%u", (*lI).first,  (*lI).second);
+            string pName = string(buff);
+            vars.insert(pName);
+            linProgram << " -" << pName ;
+          }
+          linProgram << " = 0;" << endl;
+        }
+      }
+    }
+  }
+
+  // now dump out the int and bounds for each variable
+  for (set<string>::iterator sI = vars.begin(); sI != vars.end(); sI++)
+  {
+    linProgram << *sI << " <= 1;" << endl;
+  }
+
+  for (set<string>::iterator sI = vars.begin(); sI != vars.end(); sI++) {
+    linProgram << "int " << *sI << " ;" << endl;
+  }
+  linProgram.close();
+}
+#endif // linear program
+
+int
+initFdbForwardPortLidTables(
+  IBFabric *p_fabric,
+  map_pnode_p_sint &swInPinDLidTableMap,
+  map_pnode_p_sint &outPortCoveredMap,
+  map_pnode_p_sint &outPortUsedMap)
+{
+  IBNode *p_node;
+  int anyError = 0;
+  int numPaths = 0;
+
+  // check the given map is empty or return error
+  if (!swInPinDLidTableMap.empty())
+  {
+    cout << "-E- initFdbForwardPortLidTables: provided non empty map" << endl;
+    return 1;
+  }
+
+  // go over all switches and allocate and initialize the "pin target lids"
+  // table
+  for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+       nI != p_fabric->NodeByName.end();
+       nI++) {
+    p_node = (*nI).second;
+
+    short int *outPortCovered =
+      (short int *)calloc(sizeof(short int), p_node->numPorts);
+    if (! outPortCovered)
+    {
+      cout << "-E- initFdbForwardPortLidTables: fail to allocate table"
+           << endl;
+      return 1;
+    }
+    outPortCoveredMap[p_node] = outPortCovered;
+
+    short int *outPortUsed =
+      (short int *)calloc(sizeof(short int), p_node->numPorts);
+    if (! outPortUsed)
+    {
+      cout << "-E- initFdbForwardPortLidTables: fail to allocate table"
+           << endl;
+      return 1;
+    }
+    outPortUsedMap[p_node] = outPortUsed;
+
+    // we should not assign hops for non SW nodes:
+    if (p_node->type != IB_SW_NODE) continue;
+
+    // allocate a new table by the current fabric max lid ...
+    int tableSize = p_fabric->maxLid * p_node->numPorts;
+    short int *pinPassThroughLids =
+      (short int *)calloc(sizeof(short int), tableSize);
+    if (! pinPassThroughLids)
+    {
+      cout << "-E- initFdbForwardPortLidTables: fail to allocate table"
+           << endl;
+      return 1;
+    }
+    swInPinDLidTableMap[p_node] = pinPassThroughLids;
+  }
+
+  // go from all HCA to all other HCA and mark the input pin target table
+  // go over all ports in the fabric
+  IBPort *p_srcPort, *p_dstPort;
+  unsigned int sLid, dLid;
+  int hops; // dummy - but required by the LFT traversal
+  int res; // store result of traversal
+  for (sLid = p_fabric->minLid; sLid <= p_fabric->maxLid; sLid++) {
+    IBPort *p_srcPort = p_fabric->PortByLid[sLid];
+
+    if (!p_srcPort || (p_srcPort->p_node->type == IB_SW_NODE)) continue;
+
+    // go over all the rest of the ports:
+    for (dLid = p_fabric->minLid; dLid <= p_fabric->maxLid; dLid++ ) {
+      IBPort *p_dstPort = p_fabric->PortByLid[dLid];
+
+      // Avoid tracing to itself
+      if ((dLid == sLid) || (! p_dstPort) ||
+          (p_dstPort->p_node->type == IB_SW_NODE)) continue;
+
+      numPaths++;
+
+      // Get the path from source to destination
+      res = traceRouteByLFTAndMarkInPins(p_fabric, p_srcPort, p_dstPort, dLid,
+                                         swInPinDLidTableMap);
+      if (res)
+      {
+        cout << "-E- Fail to find a path from:"
+             << p_srcPort->p_node->name << "/" << p_srcPort->num
+             << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+             << endl;
+        anyError++;
+      }
+    } // each dLid
+  } // each sLid
+
+  // Dump out what we found for each switch
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+  {
+    for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+         nI != p_fabric->NodeByName.end();
+         nI++) {
+      p_node = (*nI).second;
+
+      if (p_node->type != IB_SW_NODE) continue;
+      dumpPortTargetLidTable(p_node, swInPinDLidTableMap);
+    }
+  } // verbose
+
+  return(anyError);
+}
+//////////////////////////////////////////////////////////////////////////////
+
+typedef pair< IBNode *, short int > pair_pnode_sint;
+typedef vector< pair< IBNode *, short int > > vec_pnode_sint;
+struct greater_by_rank :
+  public std::binary_function<const pair_pnode_sint *, const pair_pnode_sint*, bool> {
+  bool operator()(pair_pnode_sint const &p1, pair_pnode_sint const &p2)
+  {
+    return (p1.second > p2.second);
+  }
+};
+
+int
+getFabricSwitchesByRank(
+  IBFabric *p_fabric,
+  map_pnode_int &nodesRank,
+  list_pnode &sortByRankSwList)
+{
+
+  // create a vector with all node,rank pairs
+  vec_pnode_sint SwitchRankVec;
+  for( map_pnode_int::iterator nI = nodesRank.begin();
+       nI != nodesRank.end();
+       nI++)
+  {
+    IBNode *p_node = (*nI).first;
+    if (p_node->type != IB_SW_NODE) continue;
+    SwitchRankVec.push_back(*nI);
+  }
+
+  // sort it:
+  sort(SwitchRankVec.begin(),SwitchRankVec.end(),  greater_by_rank());
+
+  // build the results:
+  for (int i = 0; i < SwitchRankVec.size(); i++)
+  {
+    sortByRankSwList.push_back(SwitchRankVec[i].first);
+  }
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// cleanup "covered" mark for all nodes
+int
+cleanUpNodeMarkings(map_pnode_p_sint &switchOutPortMap)
+{
+  for( map_pnode_p_sint::iterator I = switchOutPortMap.begin();
+       I != switchOutPortMap.end();
+       I++) {
+
+    short int *outPortUsed = (*I).second;
+    for (int pIdx = 0; pIdx < ((*I).first)->numPorts; pIdx++)
+    {
+      outPortUsed[pIdx] = 0;
+    }
+  }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Find all LIDs that are FWDed to the output port
+int getLidsThroughPort(
+  IBNode *p_node,
+  int portNum,
+  list< short int> &lidsThroughPort)
+{
+  // we currently use LFT...
+  // HACK we use LFT directly as we do not know the max lid.
+  for (int i = 1; i <= p_node->p_fabric->maxLid; i++)
+    if (p_node->getLFTPortForLid(i) == portNum)
+      lidsThroughPort.push_back(i);
+  return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Given a list of dLids sort them out by the sum of the hops to
+// the lid and from the shorter path to local node going to that lid
+typedef pair< short int, short int > pair_sint_sint;
+typedef vector< pair_sint_sint > vec_sint_sint;
+struct less_by_hops :
+  public std::binary_function<const pair_sint_sint* , const pair_sint_sint*, bool> {
+  bool operator()(pair_sint_sint const &p1, pair_sint_sint const &p2)
+  {
+    return (p1.second < p2.second);
+  }
+};
+
+int
+orderDLidsBySumOfFwdAndBwdHops(
+  IBNode *p_node,
+  list< short int> &lidsThroughPort,
+  short int *swInPinDLidTable)
+{
+  // prepare the vector of all dLid and the hops sum
+  vec_sint_sint dLidHopsPairs;
+
+  for (list< short int>::iterator lI = lidsThroughPort.begin();
+       lI != lidsThroughPort.end();
+       lI++)
+  {
+    short int dLid = (*lI);
+    // get the FWD Hops
+    int fwdHops = p_node->getHops(NULL, dLid);
+
+    // Add the min backward hops:
+    int minBwdHops = 255;
+    for (int pn = 1; pn <= p_node->numPorts; pn++)
+    {
+      int idx = getPinTargetLidTableIndex(p_node->p_fabric, pn, dLid);
+      if (swInPinDLidTable[idx] != 0 && swInPinDLidTable[idx] < minBwdHops)
+        minBwdHops = swInPinDLidTable[idx];
+    }
+
+    dLidHopsPairs.push_back(pair_sint_sint(dLid, minBwdHops + fwdHops));
+  }
+
+  sort(dLidHopsPairs.begin(),dLidHopsPairs.end(), less_by_hops());
+
+  // rebuid the list
+  lidsThroughPort.clear();
+  for (int i = 0; i < dLidHopsPairs.size(); i++)
+  {
+    lidsThroughPort.push_back(dLidHopsPairs[i].first);
+  }
+  return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Starting at the given node walk the LFT towards the dLid and check that none
+// of the out ports is marked used
+int
+isFwdPathUnused(
+  IBNode *p_node,
+  short int dLid,
+  map_pnode_p_sint &outPortUsedMap)
+{
+  int hops = 0;
+  IBNode *pNode = p_node;
+  stringstream vSt;
+
+  while (hops < 16)
+  {
+    hops++;
+
+    // get the output port
+    int portNum = pNode->getLFTPortForLid(dLid);
+    if (portNum == IB_LFT_UNASSIGNED)
+      return(0);
+
+    vSt << "Out on node:" << pNode->name << " port:" << portNum << endl;
+    // also we want to ignore switch targets so any map to port 0
+    // is ignored
+    if (portNum == 0) return(0);
+
+    IBPort *p_port = pNode->getPort(portNum);
+    if (!p_port) return(0);
+
+    // check the port is connected
+    IBPort *p_remPort = p_port->p_remotePort;
+    if (!p_remPort) return(0);
+
+    // can not go there if already used!
+    short int *outPortUsedVec = outPortUsedMap[pNode];
+    if (outPortUsedVec[portNum - 1]) return(0);
+
+    // HACK assume we got to the point
+    if (p_remPort->p_node->type != IB_SW_NODE) return(1);
+
+    pNode = p_remPort->p_node;
+  }
+
+  cout << "-E- Found loop on the way to:" << dLid
+       << " through:" << pNode->name << endl;
+  cout << vSt.str();
+  return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Starting at the given node walk backwards and try to find the unused path
+// to a HCA with min #hops
+int
+isBwdPathUnused(
+  IBNode *p_node,
+  short int dLid,
+  map_pnode_p_sint &outPortCoveredMap,
+  map_pnode_p_sint &outPortUsedMap,
+  map_pnode_p_sint &swInPinDLidTableMap,
+  short int &sLid)
+{
+  // HACK: for now I assume all input paths have same hop count...
+  // Simply BFS from the local port
+  list_pnode nodesQueue;
+  nodesQueue.push_back(p_node);
+
+  // we do not care about hop
+  while(!nodesQueue.empty())
+  {
+    p_node = nodesQueue.front();
+    nodesQueue.pop_front();
+
+    // go over all input ports marked as providing paths to that dlid
+    // we do it twice - first only through ports not marked covered
+    // then through covered ports
+    for (int throughCoeverd = 0; throughCoeverd <= 1; throughCoeverd++)
+    {
+      for (int pn = 1; pn <= p_node->numPorts; pn++)
+      {
+        IBPort *p_port = p_node->getPort(pn);
+        if (! p_port) continue;
+
+        // the port should have a remote port
+        IBPort *p_remPort = p_port->p_remotePort;
+        if (! p_remPort) continue;
+
+        // The remote port should not be marked used:
+        short int *outPortUsedVec = outPortUsedMap[p_remPort->p_node];
+        if (outPortUsedVec[p_remPort->num - 1]) continue;
+
+        // if we limit to uncovered ports first do those.
+        short int *outPortCoveredVec = outPortCoveredMap[p_remPort->p_node];
+        if (!throughCoeverd)
+        {
+          if (outPortCoveredVec[p_remPort->num - 1]) continue;
+        }
+        else
+        {
+          if (!outPortCoveredVec[p_remPort->num - 1]) continue;
+        }
+
+        // is there a path to the dLid through that port?
+        short int *swInPinDLidTable = swInPinDLidTableMap[p_node];
+        int idx = getPinTargetLidTableIndex(p_node->p_fabric, pn, dLid);
+        if (!swInPinDLidTable[idx]) continue;
+
+        // if we have got to HCA we are done !
+        if (p_remPort->p_node->type != IB_SW_NODE)
+        {
+          sLid = p_remPort->base_lid;
+          return 1;
+        }
+
+        // otherwise push into next check
+        nodesQueue.push_back(p_remPort->p_node);
+      }
+    }
+  }
+  return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Traverse the LFT path from SRC to DST and Mark each step
+int
+markPathUsedAndCovered(
+  IBFabric *p_fabric,
+  short int sLid,
+  short int dLid,
+  map_pnode_p_sint &outPortUsedMap,
+  map_pnode_p_sint &outPortCoveredMap)
+{
+  IBPort *p_port = p_fabric->getPortByLid(sLid);
+  IBNode *p_node;
+  IBPort *p_remPort;
+  int hopCnt = 0;
+  unsigned int lidStep = 1 << p_fabric->lmc;
+
+  // make sure:
+  if (! p_port) {
+	 cout << "-E- Provided source:" << sLid
+			<< " lid is not mapped to a port!" << endl;
+	 return(1);
+  }
+
+  short int *outPortUsedVec;
+  short int *outPortCoveredVec;
+  short int outPortNum;
+
+  // traverse:
+  int done = 0;
+  while (!done) {
+    p_node = p_port->p_node;
+    outPortUsedVec = outPortUsedMap[p_node];
+    outPortCoveredVec = outPortCoveredMap[p_node];
+
+    // based on node type we know how to get the remote port
+    if (p_node->type == IB_SW_NODE) {
+      // calc next node:
+      outPortNum = p_node->getLFTPortForLid(dLid);
+      if (outPortNum == IB_LFT_UNASSIGNED) {
+        cout << "-E- Unassigned LFT for lid:" << dLid
+             << " Dead end at:" << p_node->name << endl;
+        return 1;
+      }
+
+      p_port = p_node->getPort(outPortNum);
+      if (! p_port) {
+        cout << "-E- Dead end for lid:" << dLid
+             << " Dead end at:" << p_node->name
+             << " trying port:" << outPortNum << endl;
+        return 1;
+      }
+    }
+
+    // mark the output port as covered:
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Marking covered:" << p_port->getName() << endl;
+
+    outPortCoveredVec[p_port->num - 1] = 1;
+    outPortUsedVec[p_port->num - 1] = 1;
+
+    // get the remote port
+	 if (! (p_port->p_remotePort &&
+			  p_port->p_remotePort->p_node)) {
+		cout << "-E- Dead end at:" << p_node->name << endl;
+		return 1;
+	 }
+
+	 p_port = p_port->p_remotePort;
+	 // check if we are done:
+	 done = ((p_port->base_lid <= dLid) &&
+				(p_port->base_lid+lidStep - 1 >= dLid));
+
+	 if (hopCnt++ > 256) {
+		cout << "-E- Aborting after 256 hops - loop in LFT?" << endl;
+		return 1;
+	 }
+  }
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Look for an available shortest path that would go through the given switch
+// port.
+// Return 0 if path found
+int
+findPathThroughPort(
+  IBNode *p_node,
+  int portNum,
+  short int &foundSLid,
+  short int &foundDLid,
+  map_pnode_p_sint &swInPinDLidTableMap,
+  map_pnode_p_sint &outPortUsedMap,
+  map_pnode_p_sint &outPortCoveredMap)
+{
+
+  short int *swInPinDLidTable = swInPinDLidTableMap[p_node];
+
+  // Obtain the list of Dst that go through this port
+  list< short int> lidsThroughPort;
+  getLidsThroughPort(p_node, portNum, lidsThroughPort);
+  orderDLidsBySumOfFwdAndBwdHops(p_node, lidsThroughPort, swInPinDLidTable);
+
+  for(list< short int>::iterator lI = lidsThroughPort.begin();
+      lI != lidsThroughPort.end();
+      lI++)
+  {
+    short int dLid = (*lI);
+    short int sLid;
+    if (isFwdPathUnused(p_node, dLid, outPortUsedMap))
+    {
+      // BFS backwards (sorting the min hops as we go)
+      if (isBwdPathUnused(p_node, dLid,
+                          outPortCoveredMap, outPortUsedMap,
+                          swInPinDLidTableMap,
+                          sLid))
+      {
+        // mark the fwd and backward paths
+        markPathUsedAndCovered(p_node->p_fabric, sLid, dLid,
+                               outPortUsedMap, outPortCoveredMap);
+        // return the slid and dlid
+        foundSLid = sLid;
+        foundDLid = dLid;
+        return(0);
+      } else {
+        if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+          cout << "-V- No BWD path through port:" << p_node->name
+               << "/P" << portNum << " to dlid:" << dLid << endl;
+      }
+    } else {
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+        cout << "-V- No FWD path through port:" << p_node->name
+             << "/P" << portNum << " to dlid:" << dLid << endl;
+    }
+  }
+  // if got here did not find any path
+  return(1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+typedef list< pair_sint_sint > list_pair_sint_sint;
+typedef list< list_pair_sint_sint > list_list_pair_sint_sint;
+
+int
+LinkCoverageAnalysis(IBFabric *p_fabric, list_pnode rootNodes)
+{
+  int status = 0;
+
+  // map switch nodes to a table of hop(in pin, dlid)
+  map_pnode_p_sint swInPinDLidTableMap;
+  // map switch nodes to a vector for each out port that tracks if covered
+  map_pnode_p_sint outPortCoveredMap;
+  // map switch nodes to a vector for each out port that tracks if used in this
+  // iteration only.
+  map_pnode_p_sint outPortUsedMap;
+  cout << "-I- Generating non blocking full link coverage plan into:"
+       << "/tmp/ibdmchk.non_block_all_links" << endl;
+  ofstream linkProgram("/tmp/ibdmchk.non_block_all_links");
+
+  // initialize the data structures
+  if (initFdbForwardPortLidTables(
+    p_fabric,
+    swInPinDLidTableMap,
+    outPortCoveredMap,
+    outPortUsedMap)) {
+    return(1);
+  }
+
+  // get an ordered list of the switched by their rank
+  map_pnode_int nodesRank;
+  if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    return(1);
+
+  list_pnode sortedSwByRankList;
+  getFabricSwitchesByRank(p_fabric, nodesRank, sortedSwByRankList);
+
+  // init stepsList to an empty list
+  list_list_pair_sint_sint linkCoverStages;
+
+  int failToFindAnyUnUsedPath = 0;
+  int somePortsUncovered = 0;
+  int stage = 0;
+  linkProgram << "# STAGE FROM-LID TO-LID" << endl;
+  // while not stuck with no ability to make progress
+  while (failToFindAnyUnUsedPath == 0)
+  {
+    somePortsUncovered = 0;
+    stage++;
+    linkProgram << "#------------------------------" << endl;
+    // Clear all UsedPort markers
+    cleanUpNodeMarkings(outPortUsedMap);
+
+    // init thisStepList
+    list_pair_sint_sint srcDstPairs;
+
+    // we should know we did not add even one pair...
+    failToFindAnyUnUsedPath = 1;
+
+    // go over all nodes in the sorted list
+    for (list_pnode::iterator lI = sortedSwByRankList.begin();
+         lI != sortedSwByRankList.end();
+         lI++)
+    {
+      IBNode *p_node = (*lI);
+
+      // get the usage and coverage tables of this switch:
+      short int *portUsed = outPortUsedMap[p_node];
+      short int *portCovered = outPortCoveredMap[p_node];
+
+      for (int pn = 1; pn <= p_node->numPorts; pn++)
+      {
+        // skip floating or non existing ports:
+        IBPort *p_port = p_node->getPort(pn);
+        if (!p_port || ! p_port->p_remotePort) continue;
+
+        // if port is marked as covered - ignore it
+        if (portCovered[pn - 1]) continue;
+
+        short int dLid, sLid;
+
+        // find a path (src,dst lid pair) going through that port that is unused
+        if (findPathThroughPort(p_node,pn,sLid,dLid,swInPinDLidTableMap,
+                                outPortUsedMap, outPortCoveredMap))
+        {
+          somePortsUncovered = 1;
+          if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-W- Fail to cover path on:" << p_node->name
+                 << "/P" << pn << endl;
+        }
+        else
+        {
+          // add the pair to thisStepList
+          srcDstPairs.push_back(pair<short int, short int>(sLid,dLid));
+          linkProgram << setw(3) << stage << " "
+                      << setw(4) << sLid << " "
+                      << setw(4) << dLid << endl;
+          failToFindAnyUnUsedPath = 0;
+        }
+      }
+    }
+    // add thisStepList o stepList
+    linkCoverStages.push_back(srcDstPairs);
+  }
+
+  if (somePortsUncovered)
+  {
+    cout << "-E- After " << stage << " stages some switch ports are still not covered: " << endl;
+    status = 1;
+  }
+  else
+  {
+    cout << "-I- Covered all links in " << stage - 1 << " stages" << endl;
+  }
+
+  // scan for all uncovered out ports:
+  // go over all nodes and require out port that is connected to
+  // be covered
+  for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+       nI != p_fabric->NodeByName.end();
+       nI++) {
+    IBNode *p_node = (*nI).second;
+
+    short int *outPortCovered = outPortCoveredMap[p_node];
+
+    for (int pn = 1; pn <= p_node->numPorts; pn++)
+    {
+      IBPort *p_port = p_node->getPort(pn);
+      if (p_port && p_port->p_remotePort)
+        if (! outPortCovered[pn - 1])
+          cout << "-W- Fail to cover port:" << p_port->getName() << endl;
+    }
+  }
+
+  linkProgram.close();
+
+  // cleanup
+  cleanupFdbForwardPortLidTables(
+    p_fabric,
+    swInPinDLidTableMap,
+    outPortCoveredMap,
+    outPortUsedMap);
+
+  return(status);
+}
+
diff --git a/ibdm/ibdm/Makefile b/ibdm/ibdm/Makefile
new file mode 100644
index 0000000..cd20582
--- /dev/null
+++ b/ibdm/ibdm/Makefile
@@ -0,0 +1,734 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# ibdm/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+bin_PROGRAMS = ibdmsh$(EXEEXT)
+subdir = ibdm
+DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(pkgincludedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libibdm_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__objects_1 = Fabric.lo RouteSys.lo Bipartite.lo SubnMgt.lo \
+	TraceRoute.lo CredLoops.lo TopoMatch.lo SysDef.lo LinkCover.lo \
+	Congestion.lo ibnl_parser.lo ibnl_scanner.lo FatTree.lo
+am_libibdm_la_OBJECTS = ibdm_wrap.lo $(am__objects_1)
+libibdm_la_OBJECTS = $(am_libibdm_la_OBJECTS)
+libibdmcom_la_DEPENDENCIES =
+am_libibdmcom_la_OBJECTS = $(am__objects_1)
+libibdmcom_la_OBJECTS = $(am_libibdmcom_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibdmsh_OBJECTS = ibdmsh_wrap.$(OBJEXT)
+ibdmsh_OBJECTS = $(am_ibdmsh_OBJECTS)
+ibdmsh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libibdm_la_SOURCES) $(libibdmcom_la_SOURCES) \
+	$(ibdmsh_SOURCES)
+DIST_SOURCES = $(libibdm_la_SOURCES) $(libibdmcom_la_SOURCES) \
+	$(ibdmsh_SOURCES)
+pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(pkginclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+
+# we would like to export these headers during install
+pkginclude_HEADERS = git_version.h Fabric.h RouteSys.h Bipartite.h \
+		 SubnMgt.h TraceRoute.h CredLoops.h Regexp.h \
+		 TopoMatch.h SysDef.h Congestion.h ibnl_parser.h ibdm.i
+
+
+# ibdm shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET = "2:1:1"
+LIB_FILE_TRIPLET = 1.1.1
+AM_YFLAGS = -d
+
+# we are going to have here 3 targets:
+# libibdmcom - common convinient library of objects
+# libibdm - the TCL shared lib to be used as a package
+# ibdmsh - the TCL shell
+common_SOURCES = Fabric.cpp RouteSys.cc Bipartite.cc \
+	SubnMgt.cpp TraceRoute.cpp CredLoops.cpp TopoMatch.cpp SysDef.cpp \
+	LinkCover.cpp Congestion.cpp ibnl_parser.cc ibnl_scanner.cc FatTree.cpp
+
+DBG = -O2
+
+# Support debug mode through config variable
+#DBG = -O0 -g
+IBNL_PATH = -DIBDM_IBNL_DIR='"$(libdir)/ibdm$(VERSION)"'
+
+# We have a special mode where we know the package will be eventually moved
+# to $with_final_prefix
+#IBNL_PATH = -DIBDM_IBNL_DIR='"$(with_final_prefix)/lib/ibdm$(VERSION)"'
+AM_CXXFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CPPFLAGS) $(REGEXP_INCLUDE)
+AM_CFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CFLAGS) $(REGEXP_INCLUDE)
+lib_LTLIBRARIES = libibdmcom.la libibdm.la
+libibdmcom_la_SOURCES = $(common_SOURCES)
+libibdmcom_la_LIBADD = -L../replace -lreplace
+libibdmcom_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET)
+libibdm_la_SOURCES = ibdm_wrap.cpp ibdm.i $(common_SOURCES)
+libibdm_la_LIBADD = $(TCL_LIBS) -L../replace -lreplace
+libibdm_la_LDFLAGS = -Wl,-rpath -Wl,$(TCL_PREFIX)/lib -version-info $(LIB_VER_TRIPLET) -no-undefined
+ibdmsh_SOURCES = ibdmsh_wrap.cpp
+ibdmsh_LDADD = -libdmcom $(TCL_LIBS)
+ibdmsh_LDFLAGS = -static -Wl,-rpath -Wl,$(TCL_PREFIX)/lib
+
+# track latest GIT version for this tree:
+GIT = $(shell which git)
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_alternate_mangling.cpp fixSwigWrapper pkgIndex.tcl ibdm.i
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .cpp .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  ibdm/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  ibdm/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libibdm.la: $(libibdm_la_OBJECTS) $(libibdm_la_DEPENDENCIES) 
+	$(CXXLINK) -rpath $(libdir) $(libibdm_la_LDFLAGS) $(libibdm_la_OBJECTS) $(libibdm_la_LIBADD) $(LIBS)
+libibdmcom.la: $(libibdmcom_la_OBJECTS) $(libibdmcom_la_DEPENDENCIES) 
+	$(CXXLINK) -rpath $(libdir) $(libibdmcom_la_LDFLAGS) $(libibdmcom_la_OBJECTS) $(libibdmcom_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibdmsh$(EXEEXT): $(ibdmsh_OBJECTS) $(ibdmsh_DEPENDENCIES) 
+	@rm -f ibdmsh$(EXEEXT)
+	$(CXXLINK) $(ibdmsh_LDFLAGS) $(ibdmsh_OBJECTS) $(ibdmsh_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/Bipartite.Plo
+include ./$(DEPDIR)/Congestion.Plo
+include ./$(DEPDIR)/CredLoops.Plo
+include ./$(DEPDIR)/Fabric.Plo
+include ./$(DEPDIR)/FatTree.Plo
+include ./$(DEPDIR)/LinkCover.Plo
+include ./$(DEPDIR)/RouteSys.Plo
+include ./$(DEPDIR)/SubnMgt.Plo
+include ./$(DEPDIR)/SysDef.Plo
+include ./$(DEPDIR)/TopoMatch.Plo
+include ./$(DEPDIR)/TraceRoute.Plo
+include ./$(DEPDIR)/ibdm_wrap.Plo
+include ./$(DEPDIR)/ibdmsh_wrap.Po
+include ./$(DEPDIR)/ibnl_parser.Plo
+include ./$(DEPDIR)/ibnl_scanner.Plo
+
+.cc.o:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(LTCXXCOMPILE) -c -o $@ $<
+
+.cpp.o:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+uninstall-pkgincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgincludedir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+	dist-hook 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-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-man install-pkgincludeHEADERS 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 uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am uninstall-libLTLIBRARIES \
+	uninstall-pkgincludeHEADERS
+
+
+$(srcdir)/Fabric.cpp: $(srcdir)/git_version.h
+
+$(srcdir)/git_version.h:  # FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBDM_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Creates code version to: $$gitver"; \
+	fi;
+
+FORCE:
+
+# Workaound for libtool to use g++ for linking (verified as un-needed but JIC)
+# CXXLINK = $(LIBTOOL) --tag=CXX --mode=link \
+#           $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+$(srcdir)/ibdm_wrap.cpp: # $(srcdir)/ibdm.i
+	swig -c++ -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibdm.i
+	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+	rm -f swig_wrap.c
+
+$(srcdir)/ibdmsh_wrap.cpp: # $(srcdir)/ibdm.i
+	swig -c++ -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibdm.i
+	$(srcdir)/fixSwigWrapper -g -s -p -r ibdm -o $@
+	rm -f swig_wrap.c
+
+swigclean:
+	rm -f $(srcdir)/ibdm_wrap.cpp $(srcdir)/ibdmsh_wrap.cpp *wrap.o
+
+ibnl_parser.cc: # $(srcdir)/ibnl_parser.yy
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_parser.yy \
+		y.tab.c ibnl_parser.cc \
+	 	y.tab.h ibnl_parser.h \
+		y.output ibnl_parser.output -- bison -y -d
+	if test ! ibnl_parser.cc -ef $(srcdir)/ibnl_parser.cc ; then cp ibnl_parser.cc $(srcdir)/ibnl_parser.cc ; fi
+	if test ! ibnl_parser.h -ef $(srcdir)/ibnl_parser.h ; then cp ibnl_parser.h $(srcdir)/ibnl_parser.h; fi
+
+ibnl_scanner.cc: # $(srcdir)/ibnl_scanner.ll
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_scanner.ll \
+		lex.yy.c ibnl_scanner.cc -- flex
+	if test ! ibnl_scanner.cc -ef $(srcdir)/ibnl_scanner.cc ; then cp ibnl_scanner.cc $(srcdir)/ibnl_scanner.cc; fi
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook: git_version.h
+	rm -f $(distdir)/common.h
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)
+	cp .libs/$(shell grep dlname libibdm.la | sed 's/.*=\(.*\)/\1/') \
+	   $(DESTDIR)$(libdir)/ibdm$(VERSION)/libibdm.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)$(libdir)/ibdm$(VERSION)/pkgIndex.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/ibdm/Makefile.am b/ibdm/ibdm/Makefile.am
new file mode 100644
index 0000000..b0958fc
--- /dev/null
+++ b/ibdm/ibdm/Makefile.am
@@ -0,0 +1,165 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+# we would like to export these headers during install
+pkginclude_HEADERS = git_version.h Fabric.h RouteSys.h Bipartite.h \
+		 SubnMgt.h TraceRoute.h CredLoops.h Regexp.h \
+		 TopoMatch.h SysDef.h Congestion.h ibnl_parser.h ibdm.i
+
+# ibdm shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET="2:1:1"
+LIB_FILE_TRIPLET=1.1.1
+
+AM_YFLAGS = -d
+
+# we are going to have here 3 targets:
+# libibdmcom - common convinient library of objects
+# libibdm - the TCL shared lib to be used as a package
+# ibdmsh - the TCL shell
+
+common_SOURCES = Fabric.cpp RouteSys.cc Bipartite.cc \
+	SubnMgt.cpp TraceRoute.cpp CredLoops.cpp TopoMatch.cpp SysDef.cpp \
+	LinkCover.cpp Congestion.cpp ibnl_parser.cc ibnl_scanner.cc FatTree.cpp
+
+# Support debug mode through config variable
+if DEBUG
+DBG = -O0 -g
+else
+DBG = -O2
+endif
+
+# We have a special mode where we know the package will be eventually moved
+# to $with_final_prefix
+if USE_FINAL_PREFIX
+IBNL_PATH=-DIBDM_IBNL_DIR='"$(with_final_prefix)/lib/ibdm$(VERSION)"'
+else
+IBNL_PATH=-DIBDM_IBNL_DIR='"$(libdir)/ibdm$(VERSION)"'
+endif
+
+AM_CXXFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CPPFLAGS) $(REGEXP_INCLUDE)
+AM_CFLAGS =   $(DBG) $(IBNL_PATH) $(TCL_CFLAGS) $(REGEXP_INCLUDE)
+
+lib_LTLIBRARIES = libibdmcom.la libibdm.la
+libibdmcom_la_SOURCES = $(common_SOURCES)
+libibdmcom_la_LIBADD = -L../replace -lreplace
+libibdmcom_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET)
+
+libibdm_la_SOURCES = ibdm_wrap.cpp ibdm.i $(common_SOURCES)
+libibdm_la_LIBADD = $(TCL_LIBS) -L../replace -lreplace
+libibdm_la_LDFLAGS = -Wl,-rpath -Wl,$(TCL_PREFIX)/lib -version-info $(LIB_VER_TRIPLET) -no-undefined
+
+bin_PROGRAMS  = ibdmsh
+ibdmsh_SOURCES = ibdmsh_wrap.cpp
+ibdmsh_LDADD =  -libdmcom $(TCL_LIBS)
+ibdmsh_LDFLAGS = -static -Wl,-rpath -Wl,$(TCL_PREFIX)/lib
+
+$(srcdir)/Fabric.cpp: $(srcdir)/git_version.h
+
+# track latest GIT version for this tree:
+GIT=$(shell which git)
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBDM_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Creates code version to: $$gitver"; \
+	fi;
+
+FORCE:
+
+# Workaound for libtool to use g++ for linking (verified as un-needed but JIC)
+# CXXLINK = $(LIBTOOL) --tag=CXX --mode=link \
+#           $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+if HAS_SWIG
+$(srcdir)/ibdm_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibdm.i
+	swig -c++ -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibdm.i
+	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+	rm -f swig_wrap.c
+
+$(srcdir)/ibdmsh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibdm.i
+	swig -c++ -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibdm.i
+	$(srcdir)/fixSwigWrapper -g -s -p -r ibdm -o $@
+	rm -f swig_wrap.c
+endif
+
+swigclean:
+	rm -f $(srcdir)/ibdm_wrap.cpp $(srcdir)/ibdmsh_wrap.cpp *wrap.o
+
+ibnl_parser.cc: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibnl_parser.yy
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_parser.yy \
+		y.tab.c ibnl_parser.cc \
+	 	y.tab.h ibnl_parser.h \
+		y.output ibnl_parser.output -- bison -y -d
+	if test ! ibnl_parser.cc -ef $(srcdir)/ibnl_parser.cc ; then cp ibnl_parser.cc $(srcdir)/ibnl_parser.cc ; fi
+	if test ! ibnl_parser.h -ef $(srcdir)/ibnl_parser.h ; then cp ibnl_parser.h $(srcdir)/ibnl_parser.h; fi
+
+ibnl_scanner.cc: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibnl_scanner.ll
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_scanner.ll \
+		lex.yy.c ibnl_scanner.cc -- flex
+	if test ! ibnl_scanner.cc -ef $(srcdir)/ibnl_scanner.cc ; then cp ibnl_scanner.cc $(srcdir)/ibnl_scanner.cc; fi
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook: git_version.h
+	rm -f $(distdir)/common.h
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_alternate_mangling.cpp fixSwigWrapper pkgIndex.tcl ibdm.i
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)
+	cp .libs/$(shell grep dlname libibdm.la | sed 's/.*=\(.*\)/\1/') \
+	   $(DESTDIR)$(libdir)/ibdm$(VERSION)/libibdm.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)$(libdir)/ibdm$(VERSION)/pkgIndex.tcl
+
diff --git a/ibdm/ibdm/Makefile.in b/ibdm/ibdm/Makefile.in
new file mode 100644
index 0000000..bfe4a1b
--- /dev/null
+++ b/ibdm/ibdm/Makefile.in
@@ -0,0 +1,734 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = ibdmsh$(EXEEXT)
+subdir = ibdm
+DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(pkgincludedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libibdm_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__objects_1 = Fabric.lo RouteSys.lo Bipartite.lo SubnMgt.lo \
+	TraceRoute.lo CredLoops.lo TopoMatch.lo SysDef.lo LinkCover.lo \
+	Congestion.lo ibnl_parser.lo ibnl_scanner.lo FatTree.lo
+am_libibdm_la_OBJECTS = ibdm_wrap.lo $(am__objects_1)
+libibdm_la_OBJECTS = $(am_libibdm_la_OBJECTS)
+libibdmcom_la_DEPENDENCIES =
+am_libibdmcom_la_OBJECTS = $(am__objects_1)
+libibdmcom_la_OBJECTS = $(am_libibdmcom_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibdmsh_OBJECTS = ibdmsh_wrap.$(OBJEXT)
+ibdmsh_OBJECTS = $(am_ibdmsh_OBJECTS)
+ibdmsh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libibdm_la_SOURCES) $(libibdmcom_la_SOURCES) \
+	$(ibdmsh_SOURCES)
+DIST_SOURCES = $(libibdm_la_SOURCES) $(libibdmcom_la_SOURCES) \
+	$(ibdmsh_SOURCES)
+pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(pkginclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+
+# we would like to export these headers during install
+pkginclude_HEADERS = git_version.h Fabric.h RouteSys.h Bipartite.h \
+		 SubnMgt.h TraceRoute.h CredLoops.h Regexp.h \
+		 TopoMatch.h SysDef.h Congestion.h ibnl_parser.h ibdm.i
+
+
+# ibdm shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET = "2:1:1"
+LIB_FILE_TRIPLET = 1.1.1
+AM_YFLAGS = -d
+
+# we are going to have here 3 targets:
+# libibdmcom - common convinient library of objects
+# libibdm - the TCL shared lib to be used as a package
+# ibdmsh - the TCL shell
+common_SOURCES = Fabric.cpp RouteSys.cc Bipartite.cc \
+	SubnMgt.cpp TraceRoute.cpp CredLoops.cpp TopoMatch.cpp SysDef.cpp \
+	LinkCover.cpp Congestion.cpp ibnl_parser.cc ibnl_scanner.cc FatTree.cpp
+
+ at DEBUG_FALSE@DBG = -O2
+
+# Support debug mode through config variable
+ at DEBUG_TRUE@DBG = -O0 -g
+ at USE_FINAL_PREFIX_FALSE@IBNL_PATH = -DIBDM_IBNL_DIR='"$(libdir)/ibdm$(VERSION)"'
+
+# We have a special mode where we know the package will be eventually moved
+# to $with_final_prefix
+ at USE_FINAL_PREFIX_TRUE@IBNL_PATH = -DIBDM_IBNL_DIR='"$(with_final_prefix)/lib/ibdm$(VERSION)"'
+AM_CXXFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CPPFLAGS) $(REGEXP_INCLUDE)
+AM_CFLAGS = $(DBG) $(IBNL_PATH) $(TCL_CFLAGS) $(REGEXP_INCLUDE)
+lib_LTLIBRARIES = libibdmcom.la libibdm.la
+libibdmcom_la_SOURCES = $(common_SOURCES)
+libibdmcom_la_LIBADD = -L../replace -lreplace
+libibdmcom_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET)
+libibdm_la_SOURCES = ibdm_wrap.cpp ibdm.i $(common_SOURCES)
+libibdm_la_LIBADD = $(TCL_LIBS) -L../replace -lreplace
+libibdm_la_LDFLAGS = -Wl,-rpath -Wl,$(TCL_PREFIX)/lib -version-info $(LIB_VER_TRIPLET) -no-undefined
+ibdmsh_SOURCES = ibdmsh_wrap.cpp
+ibdmsh_LDADD = -libdmcom $(TCL_LIBS)
+ibdmsh_LDFLAGS = -static -Wl,-rpath -Wl,$(TCL_PREFIX)/lib
+
+# track latest GIT version for this tree:
+GIT = $(shell which git)
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_alternate_mangling.cpp fixSwigWrapper pkgIndex.tcl ibdm.i
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  ibdm/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  ibdm/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libibdm.la: $(libibdm_la_OBJECTS) $(libibdm_la_DEPENDENCIES) 
+	$(CXXLINK) -rpath $(libdir) $(libibdm_la_LDFLAGS) $(libibdm_la_OBJECTS) $(libibdm_la_LIBADD) $(LIBS)
+libibdmcom.la: $(libibdmcom_la_OBJECTS) $(libibdmcom_la_DEPENDENCIES) 
+	$(CXXLINK) -rpath $(libdir) $(libibdmcom_la_LDFLAGS) $(libibdmcom_la_OBJECTS) $(libibdmcom_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibdmsh$(EXEEXT): $(ibdmsh_OBJECTS) $(ibdmsh_DEPENDENCIES) 
+	@rm -f ibdmsh$(EXEEXT)
+	$(CXXLINK) $(ibdmsh_LDFLAGS) $(ibdmsh_OBJECTS) $(ibdmsh_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Bipartite.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Congestion.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CredLoops.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Fabric.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FatTree.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/LinkCover.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RouteSys.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SubnMgt.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SysDef.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TopoMatch.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TraceRoute.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibdm_wrap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibdmsh_wrap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibnl_parser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibnl_scanner.Plo at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+uninstall-pkgincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgincludedir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+	dist-hook 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-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-man install-pkgincludeHEADERS 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 uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am uninstall-libLTLIBRARIES \
+	uninstall-pkgincludeHEADERS
+
+
+$(srcdir)/Fabric.cpp: $(srcdir)/git_version.h
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBDM_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Creates code version to: $$gitver"; \
+	fi;
+
+FORCE:
+
+# Workaound for libtool to use g++ for linking (verified as un-needed but JIC)
+# CXXLINK = $(LIBTOOL) --tag=CXX --mode=link \
+#           $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+ at HAS_SWIG_TRUE@$(srcdir)/ibdm_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibdm.i
+ at HAS_SWIG_TRUE@	swig -c++ -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibdm.i
+ at HAS_SWIG_TRUE@	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+ at HAS_SWIG_TRUE@$(srcdir)/ibdmsh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibdm.i
+ at HAS_SWIG_TRUE@	swig -c++ -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibdm.i
+ at HAS_SWIG_TRUE@	$(srcdir)/fixSwigWrapper -g -s -p -r ibdm -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+swigclean:
+	rm -f $(srcdir)/ibdm_wrap.cpp $(srcdir)/ibdmsh_wrap.cpp *wrap.o
+
+ibnl_parser.cc: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibnl_parser.yy
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_parser.yy \
+		y.tab.c ibnl_parser.cc \
+	 	y.tab.h ibnl_parser.h \
+		y.output ibnl_parser.output -- bison -y -d
+	if test ! ibnl_parser.cc -ef $(srcdir)/ibnl_parser.cc ; then cp ibnl_parser.cc $(srcdir)/ibnl_parser.cc ; fi
+	if test ! ibnl_parser.h -ef $(srcdir)/ibnl_parser.h ; then cp ibnl_parser.h $(srcdir)/ibnl_parser.h; fi
+
+ibnl_scanner.cc: @MAINTAINER_MODE_TRUE@ $(srcdir)/ibnl_scanner.ll
+	$(srcdir)/../config/ylwrap $(srcdir)/ibnl_scanner.ll \
+		lex.yy.c ibnl_scanner.cc -- flex
+	if test ! ibnl_scanner.cc -ef $(srcdir)/ibnl_scanner.cc ; then cp ibnl_scanner.cc $(srcdir)/ibnl_scanner.cc; fi
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook: git_version.h
+	rm -f $(distdir)/common.h
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)
+	cp .libs/$(shell grep dlname libibdm.la | sed 's/.*=\(.*\)/\1/') \
+	   $(DESTDIR)$(libdir)/ibdm$(VERSION)/libibdm.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)$(libdir)/ibdm$(VERSION)/pkgIndex.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/ibdm/Regexp.h b/ibdm/ibdm/Regexp.h
new file mode 100644
index 0000000..04aa5d4
--- /dev/null
+++ b/ibdm/ibdm/Regexp.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBDM_REXIFC_H
+#define IBDM_REXIFC_H
+
+// this file holds simplified object oriented interface for
+// reguar expressions
+#include <string.h>
+#include <sys/types.h>
+#include <regex.h>
+#include <stdio.h>
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+class rexMatch {
+  const char *str;
+  int  nMatches;
+  regmatch_t *matches;
+
+ public:
+  // no default constructor
+  rexMatch();
+
+  // construct:
+  rexMatch(const char *s, int numMatches) {
+	 str = s;
+	 nMatches = numMatches;
+	 matches = new regmatch_t[nMatches + 1];
+  };
+
+  // destrutor:
+  ~rexMatch() {
+	 delete [] matches;
+  };
+
+  // usefull:
+  int field(int num, char *buf) {
+	 // check for non match:
+	 if (num > nMatches || matches[num].rm_so < 0) {
+		buf[0] = '\0';
+		return 0;
+	 }
+	 strncpy(buf, str + matches[num].rm_so, matches[num].rm_eo - matches[num].rm_so + 1);
+	 buf[matches[num].rm_eo - matches[num].rm_so] = '\0';
+	 return 0;
+  };
+
+  // string returning the field
+  int field(int num, string &res) {
+	 string tmp = string(str);
+	 // check for non match:
+	 if (num > nMatches || matches[num].rm_so < 0) {
+		res = "";
+		return 0;
+	 }
+	 res = tmp.substr(matches[num].rm_so, matches[num].rm_eo - matches[num].rm_so);
+	 return 0;
+  };
+
+  string field(int num) {
+	 string tmp = string(str);
+	 // check for non match:
+	 if (num > nMatches || matches[num].rm_so < 0) {
+		return string("");
+	 }
+	 return tmp.substr(matches[num].rm_so, matches[num].rm_eo - matches[num].rm_so);
+  };
+
+  inline int numFields() {return nMatches;};
+
+  friend class regExp;
+};
+
+// this will basically hold the compiled regular expression
+class regExp {
+  regex_t re;
+  char *expr;
+  int status;
+ public:
+  // prevent default constructor
+  regExp();
+
+  // construct
+  regExp(const char *pattern, int flags = REG_EXTENDED) {
+	 expr = new char[strlen(pattern) + 1];
+	 strcpy(expr, pattern);
+	 status = regcomp(&re, expr, flags);
+	 if (status) {
+		cout << "-E- Fail to compile regular expression:%s\n" << pattern << endl;
+	 }
+  }
+
+  // destructor
+  ~regExp() {
+	 regfree(&re);
+	 delete [] expr;
+  }
+
+  // access:
+  inline const char *getExpr() const {return expr;};
+  inline int valid() const {return (status == 0);};
+
+  // usefullnss:
+  class rexMatch * apply(const char *str, int flags = 0) {
+	 class rexMatch *res = new rexMatch(str, re.re_nsub);
+	 if (regexec(&re, str, re.re_nsub + 1, res->matches, flags)) {
+		delete res;
+		return 0;
+	 }
+	 return res;
+  }
+
+  friend class rexMatch;
+};
+
+// holds specifc compares
+
+#endif /* IBDM_REXIFC_H */
+
diff --git a/ibdm/ibdm/RouteSys.cc b/ibdm/ibdm/RouteSys.cc
new file mode 100644
index 0000000..6c33224
--- /dev/null
+++ b/ibdm/ibdm/RouteSys.cc
@@ -0,0 +1,258 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+#include "RouteSys.h"
+#include "Bipartite.h"
+
+// Helper power function
+
+int RouteSys::myPow(int base, int pow) {
+  int res = 1;
+  for (int i=0; i<pow; i++)
+    res = res*base;
+
+  return res;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+
+// C'tor
+
+RouteSys::RouteSys(int rad, int hgth, int s):radix(rad),height(hgth),step(s) {
+  // Calculate num in/out ports
+  ports = myPow(rad,height);
+  // Create and init ports
+  inPorts = new inputData[ports];
+  outPorts = new bool[ports];
+
+  for (int i=0; i<ports; i++) {
+    inPorts[i].used = false;
+    outPorts[i] = false;
+  }
+  // Create sub-systems
+  if (height > 1) {
+    subSys = new RouteSys* [rad];
+    for (int i=0; i<radix; i++)
+      subSys[i] = new RouteSys(rad,height-1,s+1);
+  }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// D'tor
+
+RouteSys::~RouteSys() {
+  // Just kill everything
+  delete[] inPorts;
+  delete[] outPorts;
+
+  if (height > 1) {
+    for (int i=0; i<radix; i++)
+      delete subSys[i];
+    delete[] subSys;
+  }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+// Add requests to the system
+
+int RouteSys::pushRequests(vec_int req)
+{
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- Pushing requests" << endl;
+
+  for (int i=0; i<req.size(); i++) {
+    // Extract comm pair
+    int src = i;
+    int dst = req[i];
+
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Req: " << src << "->" << dst << endl;
+
+    // Check port existence
+    if ((src >= ports) || (dst >= ports)) {
+      cout << "-E- Port index exceeds num ports! Ports: " << ports << ", src: " << src << ", dst: " << dst << endl;
+      return 1;
+    }
+    // Check port availability
+    if (inPorts[src].used || outPorts[dst]) {
+      cout << "-E- Port already used! src: " << src << ", dst: " << dst << endl;
+      return 1;
+    }
+    // Mark ports as used
+    inPorts[src].used = true;
+    inPorts[src].src = src;
+    inPorts[src].dst = dst;
+    inPorts[src].inputNum = src;
+    inPorts[src].outNum = dst;
+
+    outPorts[dst] = true;
+  }
+  return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+
+// Perform routing after requests were pushed
+
+int RouteSys::doRouting (vec_vec_int& out)
+{
+  // Atomic system nothing to do
+  if (ports == radix)
+    return 0;
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- Starting routing, step: " << step << ", height " << height << endl;
+
+  // Init the output structure
+  if (out.size() < ports) {
+    out.resize(ports);
+    for (int i=0; i<ports; i++) {
+      out[i].resize(height-1);
+      for (int j=0; j<height-1; j++)
+	out[i][j] = -1;
+    }
+  }
+
+  // We use three graph arrays for coloring
+  Bipartite** buff[3];
+  buff[0] = new Bipartite*[radix];
+  buff[1] = new Bipartite*[radix];
+  buff[2] = new Bipartite*[radix];
+
+  for (int i=0; i<radix; i++)
+    buff[0][i] = buff[1][i] = buff[2][i] = NULL;
+
+  // Number of colors derived through perfect matching
+  int matchGraphs = 0;
+  int currRadix = radix;
+  int idx = 0;
+  int idx_new = 1;
+
+  // Create the first graph
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    cout << "-V- Ports: " << ports << ", radix: " << radix << endl;
+  buff[0][0] = new Bipartite(ports/radix,radix);
+
+  // Add connections
+  for (int i=0; i<ports; i++)
+    buff[0][0]->connectNodes(i/radix,inPorts[i].outNum/radix,inPorts[i]);
+
+  // Now decompose the graph to radix-1 graphs
+  while (1 < currRadix) {
+    for (int i=0; buff[idx][i] && i<radix; i++) {
+      // Odd radix, perfect matching is required
+      if (currRadix % 2) {
+	if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	  cout << "-V- Perfect matching is required" << endl;
+	buff[2][matchGraphs] = buff[idx][i]->maximumMatch();
+	matchGraphs++;
+      }
+      // Now we can perform Euler decomposition
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	cout << "-V- Performing Euler decompostion" << endl;
+      if (2*i+1 >= radix) {
+	cout << "-E- Graph index illegal"<< endl;
+	return 1;
+      }
+      buff[idx][i]->decompose(&buff[idx_new][2*i],&buff[idx_new][2*i+1]);
+      delete buff[idx][i];
+      buff[idx][i] = NULL;
+    }
+    idx = idx_new;
+    idx_new = (idx_new+1)%2;
+    currRadix = currRadix / 2;
+  }
+  // Collect all result graphs to array buff[2][i]
+  for (int i=matchGraphs; i<radix; i++)
+    buff[2][i] = buff[idx][i-matchGraphs];
+
+  // Apply decomposition results
+  for (int i=0; i < radix; i++) {
+    Bipartite* G = buff[2][i];
+    if (!G->setIterFirst()) {
+      cout << "-E- Empty graph found!" << endl;
+      return 1;
+    }
+    bool stop = false;
+    while (!stop) {
+      inputData d = G->getReqDat();
+      // Build output
+      if (out.size() <= d.src || out[d.src].size() <= step) {
+	cout << "Output index illegal" << endl;
+	return 1;
+      }
+      out[d.src][step] = i;
+      // Add request to sub-system
+      RouteSys* sub = subSys[i];
+      int inPort = d.inputNum/radix;
+      int outPort = d.outNum/radix;
+      if (sub->inPorts[inPort].used || sub->outPorts[outPort]) {
+	cout << "Port already used! inPort: " << inPort << ", outPort: " << outPort << endl;
+	return 1;
+      }
+      // Mark ports as used
+      sub->inPorts[inPort].used = true;
+      sub->inPorts[inPort].src = d.src;
+      sub->inPorts[inPort].dst = d.dst;
+      sub->inPorts[inPort].inputNum = inPort;
+      sub->inPorts[inPort].outNum = outPort;
+
+      outPorts[outPort] = true;
+      // Next request
+      if (!G->setIterNext()) {
+	stop = true;
+      }
+    }
+  }
+
+  // Free memory
+  for (int i=0; i<radix; i++)
+    delete buff[2][i];
+
+  delete[] buff[0];
+  delete[] buff[1];
+  delete[] buff[2];
+
+  // Run routing on sub-systems
+  for (int i=0; i<radix; i++) {
+    if (subSys[i]->doRouting(out)) {
+      cout << "-E- Subsystem routing failed!" << endl;
+      return 1;
+    }
+  }
+
+  return 0;
+}
diff --git a/ibdm/ibdm/RouteSys.h b/ibdm/ibdm/RouteSys.h
new file mode 100644
index 0000000..a5f5cfc
--- /dev/null
+++ b/ibdm/ibdm/RouteSys.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Fabric Utilities Project
+ *
+ * Permutation Routing System abstraction Header file
+ *
+ * Author: Vladimir Zdornov, Mellanox Technologies
+ *
+ */
+
+#ifndef IBDM_ROUTE_SYS_H_
+#define IBDM_ROUTE_SYS_H_
+
+#include <unistd.h>
+#include "Fabric.h"
+
+using namespace std;
+
+class inputData
+{
+ public:
+  bool used;
+  int src;
+  int dst;
+  int inputNum;
+  int outNum;
+
+  inputData():used(false){}
+};
+
+// Routing system abstraction class
+class RouteSys {
+  // Basic parameters
+  int radix;
+  int height;
+  int step;
+  int ports;
+  // Ports data
+  inputData* inPorts;
+  bool* outPorts;
+  // Sub-systems
+  RouteSys** subSys;
+
+  int myPow(int base, int pow);
+
+ public:
+  // Constructor
+  RouteSys(int rad, int hgth, int s=0);
+  // Add communication requests to the system
+  // Format: i -> req[i]
+  // Restriction: Requests must form a complete permutation
+  int pushRequests(vec_int req);
+  // D'tor
+  ~RouteSys();
+  // Get input data for input port i
+  inputData& getInput(int i);
+  // Is output port i busy already?
+  bool& getOutput(int i);
+
+  // Invoke the system level routing
+  int doRouting(vec_vec_int& out);
+};
+
+
+#endif
diff --git a/ibdm/ibdm/SubnMgt.cpp b/ibdm/ibdm/SubnMgt.cpp
new file mode 100644
index 0000000..e3def58
--- /dev/null
+++ b/ibdm/ibdm/SubnMgt.cpp
@@ -0,0 +1,2728 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+
+Subnet Utilities:
+
+The file holds a set of utilities to be run on the subnet to mimic OpenSM
+initialization and analyze the results:
+
+Assign Lids: SubnMgtAssignLids
+Init min hop tables: SubnMgtCalcMinHopTables
+Perform Enhanced LMC aware routing: SubnMgtOsmEnhancedRoute
+Perform standard routing: SubnMgtOsmRoute
+Verify all CA to CA routes: SubnMgtVerifyAllCaToCaRoutes
+
+*/
+
+#include "Fabric.h"
+#include "TraceRoute.h"
+#include "Regexp.h"
+#include <set>
+#include <algorithm>
+#include <iomanip>
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Assign lids given the start NodePort
+int SubnMgtAssignLids (IBPort *p_smNodePort, unsigned int lmc = 0) {
+   list<IBPort *> thisStepPorts;
+   list<IBPort *> nextStepNodePorts;
+   set<IBNode *, less<IBNode *> > visited;
+   unsigned int i;
+   IBFabric *p_fabric = p_smNodePort->p_node->p_fabric;
+   IBPort *p_port;
+   IBNode *p_node;
+   IBPort *p_remPort;
+   IBNode *p_remNode;
+   unsigned int numLidsPerPort = (1 << lmc);
+
+   thisStepPorts.push_back(p_smNodePort);
+
+   unsigned int lid = 1, l;
+   int step = 0;
+
+   // BFS Style ...
+   while (thisStepPorts.size() > 0) {
+      nextStepNodePorts.clear();
+      step++;
+
+      // go over all this step ports
+      while (! thisStepPorts.empty()) {
+         p_port = thisStepPorts.front();
+         thisStepPorts.pop_front();
+
+         // get the node
+         p_node = p_port->p_node;
+
+         // just making sure since we can get on the BFS from several sides ...
+         if (visited.find(p_node) != visited.end())
+            continue;
+
+         // mark as visited
+         visited.insert(p_node);
+
+         // based on the node type we do the recursion and assignment
+         switch (p_node->type) {
+         case IB_CA_NODE:
+            // simple as we stop here
+            p_port->base_lid = lid;
+            for (l = lid ; l <= lid + numLidsPerPort; l ++)
+               p_fabric->setLidPort(l, p_port);
+            // We do not assign all the lids - just the base lid
+            // for (l = lid ; l <= lid + numLidsPerPort; l ++)
+            //       p_fabric->setLidPort(l, p_port);
+            break;
+         case IB_SW_NODE:
+            // go over all ports of the node:
+            for (i = 0; i < p_node->numPorts; i++)
+               if (p_node->Ports[i])
+               {
+                  p_node->Ports[i]->base_lid = lid;
+                  for (l = lid ; l <= lid + numLidsPerPort; l ++)
+                     p_fabric->setLidPort(l, p_node->Ports[i]);
+               }
+            break;
+         default:
+            cout << "-E- Un recognized node type: " << p_node->type
+                 << " name:"  <<  endl;
+         }
+
+         // do not forget to increment the lids
+         lid = lid + numLidsPerPort;
+
+         // now recurse
+         for (i = 0; i < p_node->numPorts; i++) {
+            if (p_node->Ports[i] == NULL) continue;
+
+            // if we have a remote port that is not visited
+            p_remPort = p_node->Ports[i]->p_remotePort;
+            if (p_remPort != NULL)
+            {
+               p_remNode = p_remPort->p_node;
+               // if the node was not visited and not included in
+               // next steps already
+               if ( (visited.find(p_remNode) == visited.end()) &&
+                    (find(nextStepNodePorts.begin(),
+                          nextStepNodePorts.end(),p_remPort)
+                     == nextStepNodePorts.end()))
+                  nextStepNodePorts.push_back(p_remPort);
+            }
+         }
+      }
+
+      thisStepPorts = nextStepNodePorts;
+   }
+
+   lid = lid - numLidsPerPort;
+   p_fabric->maxLid = lid;
+   p_fabric->minLid = 1;
+   p_fabric->lmc = lmc;
+   cout << "-I- Assigned " << lid << " LIDs (lmc=" << lmc
+        << ") in " << step << " steps" << endl;
+   return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// OpenSM style relaxation algorithm:
+// First step is to mark your own or neighbors
+// Loop updating from neighbors hops untill no update
+int
+SubnMgtCalcMinHopTables (IBFabric *p_fabric) {
+   IBNode *p_node;
+   map_str_pnode::iterator nI;
+   unsigned int lid;
+   unsigned lidStep = 1 << p_fabric->lmc;
+
+   // first step
+   // - update self on switches:
+   // - update neighbor for CAs:
+   // go over all nodes in the fabric
+   for( nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_node = (*nI).second;
+
+      // we should not assign hops for non SW nodes:
+      if (p_node->type == IB_SW_NODE)
+      {
+
+         lid = 0;
+         // switch lids are identical to all ports
+         // get the lid of the first available port
+         for (unsigned int i = 0; (lid == 0) && (i< p_node->numPorts); i++) {
+            if (p_node->Ports[i])
+               lid = p_node->Ports[i]->base_lid;
+         }
+
+         // assign all ports value
+         p_node->setHops(NULL,lid,0);
+      }
+      else
+      {
+         // a non switch node might have connections on both ports
+         // and also we just want to update the switch on the other side
+         int conPorts = 0;
+         for (unsigned int i = 0; i< p_node->numPorts; i++) {
+            IBPort *p_port = p_node->Ports[i];
+            if (p_port &&
+                p_port->p_remotePort &&
+                p_port->p_remotePort->p_node->type == IB_SW_NODE) {
+               lid = p_port->base_lid;
+               conPorts++;
+               // update the switch:
+               p_port->p_remotePort->p_node->setHops(p_port->p_remotePort,lid,1);
+            }
+         }
+         if (!conPorts)
+         {
+            cout << "-W- CA with no connected ports:" << p_node->name << endl;
+         }
+      }
+   }
+
+   // second - loop until nothing to update:
+   int anyUpdate;
+   int loop = 0;
+   do {
+      loop++;
+      anyUpdate = 0;
+
+      // go over all switch nodes:
+      for( nI = p_fabric->NodeByName.begin();
+           nI != p_fabric->NodeByName.end();
+           nI++) {
+
+         p_node = (*nI).second;
+
+         // we should not assign hops for non SW nodes:
+         if (p_node->type != IB_SW_NODE) continue;
+
+         // go over all lids (base) on this switch:
+         for (unsigned int bLid = 1;
+              bLid <= p_fabric->maxLid;
+              bLid += lidStep) {
+
+            // go over all connected ports
+            for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+               IBPort *p_port = p_node->getPort(pn);
+
+               // do we have a port on the other side ? is it a SW ?
+               if (p_port &&
+                   p_port->p_remotePort &&
+                   (p_port->p_remotePort->p_node->type == IB_SW_NODE)) {
+
+                  // the min we have for this lid is:
+                  int minHops = p_node->getHops(p_port, bLid);
+
+                  // we need to update the local port hops only they will
+						// be made smaller by this step. I.e. the remote port
+						// hops value + 1 is < hops
+                  int remNodeHops =
+                     p_port->p_remotePort->p_node->getHops(NULL, bLid);
+
+                  if (remNodeHops + 1 < minHops)
+                  {
+                     // need to update:
+                     p_node->setHops(p_port, bLid, remNodeHops + 1);
+                     anyUpdate++;
+                  }
+               }
+            }
+         }
+      }
+      // cout << "-I- Propagated:" << anyUpdate << " updates" << endl;
+   } while (anyUpdate) ;
+   cout << "-I- Init Min Hops Tables in:" << loop << " steps" << endl;
+
+   // simply check that one can reach to all lids from all switches:
+   // also we build a historgram of the number of ports one can use
+   // to get to any lid.
+   vec_int numPathsHist(50,0);
+
+   int anyUnAssigend = 0;
+   for( nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_node = (*nI).second;
+      if (p_node->type == IB_CA_NODE) continue;
+
+      // go over all the lids.
+      for (unsigned int i = 1; i <= p_fabric->maxLid; i += lidStep ) {
+         // skip lids that are not mapped to a port:
+         if (! p_fabric->PortByLid[i]) continue;
+
+         int minHops = p_node->getHops(NULL, i);
+         if (minHops == IB_HOP_UNASSIGNED)
+         {
+            cout << "-W- Found - un-assigned hops for node:"
+                 << p_node->name << " to lid:" << i << ")" << endl;
+            anyUnAssigend++;
+         }
+         else
+         {
+            // count all ports that have min hops to that lid (only HCAs count)
+            IBPort *p_targetPort = p_fabric->getPortByLid(i);
+            if (p_targetPort && (p_targetPort->p_node->type != IB_SW_NODE))
+            {
+
+               int numMinHopPorts = 0;
+               for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+               {
+                  IBPort *p_port = p_node->getPort(pn);
+                  if (p_port && (p_node->getHops(p_port, i) == minHops))
+                     numMinHopPorts++;
+               }
+               numPathsHist[numMinHopPorts]++;
+            }
+         }
+      }
+   }
+
+   cout << "------------------ NUM ALTERNATE PORTS TO CA HISTOGRAM --------------------" << endl;
+   cout << "Describes how many out ports on every switch have the same Min Hop to each " << endl;
+   cout << "target CA. Or in other words how many alternate routes are possible at the " << endl;
+   cout << "switch level. This is useful to show the symmetry of the cluster.\n" << endl;
+   cout << "OUT-PORTS NUM-SW-LID-PAIRS" << endl;
+   for (int b = 0; b < 50 ; b++)
+      if (numPathsHist[b])
+         cout << setw(4) << b << "   " << numPathsHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+
+   if (anyUnAssigend)
+   {
+      cout << "-W- Found - un-reachable lids." << endl;
+      return 1;
+   }
+
+   // report the worst case hops count found.
+   int maxHops = 0;
+   IBNode *p_worstHopNode  = NULL;
+   IBPort *p_worstHopPort  = NULL;
+   unsigned int worstHopLid;
+   IBNode *p_caNode;
+   IBPort *p_caPort;
+   vec_int maxHopsHist(50,0);
+
+   for( nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_caNode = (*nI).second;
+      if (p_caNode->type != IB_CA_NODE) continue;
+
+      // find the switch connected to the HCA port
+      for (unsigned int n = 1; n <= p_caNode->numPorts; n++) {
+         p_caPort = p_caNode->getPort(n);
+         // ignore the port if does not exist or not connected
+         if (!p_caPort || !p_caPort->p_remotePort) continue;
+
+         p_node = p_caPort->p_remotePort->p_node;
+
+
+         // go over all lids found and get the min hop
+         for (unsigned int i = 1; i <= p_fabric->maxLid; i += lidStep ) {
+            // please ignore non CA lids and ourselves
+            IBPort *p_port = p_fabric->PortByLid[i];
+            if (p_port && (p_port->p_node->type == IB_CA_NODE) &&
+					 (p_caPort != p_port))
+            {
+               int minHops = p_node->getHops(NULL, i);
+               if (IB_HOP_UNASSIGNED != minHops)
+               {
+                  maxHopsHist[minHops]++;
+                  if (minHops > maxHops)
+                  {
+                     p_worstHopPort = p_node->getFirstMinHopPort(i);
+                     p_worstHopNode = p_node;
+                     worstHopLid = i;
+                     maxHops = minHops;
+                  }
+               }
+               else
+               {
+                  cout << "-W- Found - un-assigned hop for node:"
+                       << p_node->name << " to port:" << p_port->p_node->name
+                       << "/" << p_port->num
+                       << " (lid:" << i << ")" << endl;
+               }
+            }
+         }
+      }
+   }
+
+   // print the histogram:
+   cout << "---------------------- CA to CA : MIN HOP HISTOGRAM -----------------------" << endl;
+   cout << "The number of CA pairs that are in each number of hops distance." << endl;
+   cout << "The data is based on topology only - even before any routing is run.\n" << endl;
+   cout << "HOPS NUM-CA-CA-PAIRS" << endl;
+   for (int b = 0; b <= maxHops ; b++)
+      if (maxHopsHist[b])
+         cout << setw(3) << b+1 << "   " << maxHopsHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+
+   if (p_worstHopNode)
+   {
+      cout << "-I- Found worst min hops:" << maxHops + 1 << " at node:"
+           << p_worstHopNode->name << " to node:"
+           << p_fabric->PortByLid[worstHopLid]->p_node->name << endl;
+
+      // the worst hop node lid
+      TraceRouteByMinHops(p_fabric, p_worstHopPort->base_lid, worstHopLid);
+   }
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Fill in the FDB tables in an Extended OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+// We added the notion of selecting the other system or node
+// if same hop and profile
+int
+SubnMgtOsmEnhancedRoute(IBFabric *p_fabric) {
+   IBNode *p_node;
+
+   cout << "-I- Using Enhanced OpenSM Routing" << endl;
+
+   // we want to collect port subscriptions statistics:
+   vec_int subscHist(10000,0);
+
+   // also track the selections used:
+   int numSelByOtherSys = 0;
+   int numSelByOtherNode = 0;
+   int numSelByMinSubsc = 0;
+
+   // go over all nodes in the fabric
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_node = (*nI).second;
+
+      // if not a switch cont
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // define port profiles
+      vec_int portsSubscriptions(p_node->numPorts,0);
+      int lidStep = 1 << p_fabric->lmc;
+
+      // go over all valid lid values (i.e. base lids )
+      for (unsigned int bLid = 1;
+           bLid <= p_fabric->maxLid;
+           bLid += lidStep) {
+
+         int targetIsHCA;
+         IBPort *pTargetPort = p_fabric->PortByLid[bLid];
+         if (pTargetPort && (pTargetPort->p_node->type == IB_SW_NODE))
+            targetIsHCA = 0;
+         else
+            targetIsHCA = 1;
+
+         // get the minimal hop count from this port:
+         int minHop = p_node->getHops(NULL, bLid);
+
+         // We track the Systems we already went through:
+         set<IBSystem *> goThroughSystems;
+
+         // we also track the nodes we went through:
+         set <IBNode *> goThroughNodes;
+
+         // loop on every LMC value:
+         for (int lmcValue = 0; lmcValue < lidStep; lmcValue++) {
+
+            // if same assign 0
+            unsigned int lid = 0;
+            for (unsigned int i = 0; (lid == 0) && (i< p_node->numPorts); i++) {
+               if (p_node->Ports[i])
+                  lid = p_node->Ports[i]->base_lid;
+            }
+            // same lid so no routing needed!
+            if (lid == bLid)
+            {
+               p_node->setLFTPortForLid( bLid + lmcValue, 0);
+               continue;
+            }
+
+            // we are going to track the min profile under three
+            // possible cases:
+            int minSubsShared = 100000;
+            int minSubsDiffNodes = 100000;
+            int minSubsDiffSystems = 100000;
+            unsigned int minPortNumShared = 0;
+            unsigned int minPortNumDiffNodes = 0;
+            unsigned int minPortNumDiffSystems = 0;
+            int minSubs;
+
+            if (minHop < 255)
+            {
+               // look for the port with min profile
+               for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+                  IBPort *p_port = p_node->getPort(pn);
+                  if (! p_port) continue;
+
+                  if (! p_port->p_remotePort) continue;
+
+                  // the hops should match the min
+                  if (p_node->getHops(p_port,bLid) == minHop)
+                  {
+
+                     minSubs = portsSubscriptions[pn-1];
+                     IBNode   *p_remNode = p_port->p_remotePort->p_node;
+                     IBSystem *p_system = p_remNode->p_system;
+
+                     if (goThroughSystems.find(p_system) == goThroughSystems.end())
+                     {
+                        if (minSubsDiffSystems > minSubs)
+                        {
+                           minSubsDiffSystems = minSubs;
+                           minPortNumDiffSystems = pn;
+                        }
+                     }
+                     if (goThroughNodes.find(p_remNode) == goThroughNodes.end())
+                     {
+                        if (minSubsDiffNodes > minSubs)
+                        {
+                           minSubsDiffNodes = minSubs;
+                           minPortNumDiffNodes = pn;
+                        }
+                     }
+
+                     if (minSubsShared > minSubs)
+                     {
+                        minSubsShared = minSubs;
+                        minPortNumShared = pn;
+                     }
+
+                  } // hop = min hops
+               } // all ports
+
+               // we always select the system over node over shared:
+               if (minPortNumDiffSystems)
+               {
+                  minPortNumShared = minPortNumDiffSystems;
+                  numSelByOtherSys++;
+               } else if (minPortNumDiffNodes) {
+                  numSelByOtherNode++;
+                  minPortNumShared = minPortNumDiffNodes;
+               }
+               else
+               {
+                  numSelByMinSubsc++;
+               }
+
+               // so now we need to have the port number or error
+               if (!minPortNumShared)
+               {
+                  cout << "-E- Cound not find min hop port!" << endl;
+                  return(1);
+               }
+
+               // Track used systems and nodes
+               IBPort *p_bestPort = p_node->getPort(minPortNumShared);
+               IBNode *p_remNode = p_bestPort->p_remotePort->p_node;
+               IBSystem *p_system = p_node->p_system;
+
+               goThroughSystems.insert(p_system);
+               goThroughNodes.insert(p_remNode);
+
+            }
+            else
+            {
+               // there is no path to that lid...
+               minPortNumShared = 255;
+            }
+
+            // track subscriptions:
+            if (targetIsHCA)
+               portsSubscriptions[minPortNumShared-1]++;
+
+            // assign the fdb table.
+            p_node->setLFTPortForLid(bLid + lmcValue, minPortNumShared);
+
+         } // all port lids
+      } // all lids
+
+      // we want to get some histogram of subsriptions.
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+         IBPort *p_port = p_node->getPort(pn);
+         if (p_port && p_port->p_remotePort)
+         {
+            if (portsSubscriptions[pn-1] == 0)
+            {
+               cout << "-W- Unused port:" << p_port->getName() << endl;
+            }
+            subscHist[portsSubscriptions[pn-1]]++;
+         }
+      }
+   } // all nodes
+#if 0
+   // print the histogram:
+   cout << "----------------------- LINK SUBSCRIPTIONS HISTOGRAM ----------------------" << endl;
+   cout << "Distribution of number of LIDs mapped to each switch out port. Note that " << endl;
+   cout << "this assumes every LID is routed through every switch which is not correct" << endl;
+   cout << "if one ignores the switch to CA paths.\n" << endl;
+   cout << "NUM-LIDS COUNT" << endl;
+   for (unsigned int b = 0; b < 1024 ; b++)
+      if (subscHist[b])
+         cout << setw(7) << b << "   " << subscHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+#endif
+   cout << "-I- Enhanced selection by Sys:" << numSelByOtherSys
+        << " Node:" << numSelByOtherNode
+        << " Subscription:" << numSelByMinSubsc << endl;
+
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Fill in the FDB tables in an OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+int
+SubnMgtOsmRoute(IBFabric *p_fabric) {
+   IBNode *p_node;
+
+   cout << "-I- Using standard OpenSM Routing" << endl;
+
+   // we want to collect port subscriptions statistics:
+   vec_int subscHist(10000,0);
+
+   // go over all nodes in the fabric
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_node = (*nI).second;
+
+      // if not a switch cont
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // define port profiles
+      vec_int portsSubscriptions(p_node->numPorts,0);
+      int lidStep = 1 << p_fabric->lmc;
+
+      // go over all valid lid values (i.e. base lids )
+      for (unsigned int bLid = 1;
+           bLid <= p_fabric->maxLid;
+           bLid += lidStep) {
+
+         int targetIsHCA;
+         IBPort *pTargetPort = p_fabric->getPortByLid(bLid);
+         if (pTargetPort && (pTargetPort->p_node->type == IB_SW_NODE))
+            targetIsHCA = 0;
+         else
+            targetIsHCA = 1;
+
+         // get the minimal hop count from this port:
+         int minHop = p_node->getHops(NULL,bLid);
+
+         // We track the Systems we already went through:
+         set<IBSystem *> goThroughSystems;
+
+         // we also track the nodes we went through:
+         set <IBNode *> goThroughNodes;
+
+         // loop on every LMC value:
+         for (int lmcValue = 0; lmcValue < lidStep; lmcValue++) {
+
+            // if same assign 0
+            unsigned int lid = 0;
+            for (unsigned int i = 0; (lid == 0) && (i< p_node->numPorts); i++) {
+               if (p_node->Ports[i])
+                  lid = p_node->Ports[i]->base_lid;
+            }
+            if (lid == bLid)
+            {
+               p_node->setLFTPortForLid( bLid + lmcValue, 0);
+               continue;
+            }
+
+            // initialize the min subsription to a huge number:
+            int minSubsc = 100000;
+            unsigned int minSubsPortNum = 0;
+
+            // look for the port with min profile
+#if 1
+            if (minHop != 255)
+            {
+               for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+                  IBPort *p_port = p_node->getPort(pn);
+
+                  if (! p_port) continue;
+
+                  // the hops should match the min
+                  if (p_node->getHops(p_port, bLid) == minHop)
+                  {
+                     // Standard OpenSM Routing:
+                     // is it the lowest subscribed port:
+                     if (portsSubscriptions[pn-1] < minSubsc)
+                     {
+                        minSubsPortNum = pn;
+                        minSubsc = portsSubscriptions[pn-1];
+                     }
+                  }
+               }
+            }
+            else
+            {
+               minSubsPortNum = 255;
+            }
+#else
+            // do a random selection
+            {
+               vector<unsigned int> minHopOutPorts;
+               for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+                  IBPort *p_port = p_node->getPort(pn);
+
+                  if (! p_port) continue;
+
+                  // the hops should match the min
+                  if (p_node->getHops(p_port, bLid) == minHop)
+                  {
+                     minHopOutPorts.push_back(pn);
+                  }
+               }
+               double portRand = 1.0*minHopOutPorts.size()*rand()/RAND_MAX;
+               unsigned int portIdx = int(portRand);
+               minSubsPortNum = minHopOutPorts[portIdx];
+            }
+#endif
+            // so now we need to ahve the port number or error
+            if (!minSubsPortNum)
+            {
+               cout << "-E- Cound not find min hop port!" << endl;
+               return(1);
+            }
+
+            // track subscriptions only if target is not a switch:
+            if (targetIsHCA)
+               portsSubscriptions[minSubsPortNum-1]++;
+
+            // assign the fdb table.
+            p_node->setLFTPortForLid(bLid + lmcValue, minSubsPortNum);
+
+         } // all port lids
+      } // all lids
+
+      // we want to get some histogram of subsriptions.
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+         IBPort *p_port = p_node->getPort(pn);
+         if (p_port && p_port->p_remotePort)
+         {
+            if (portsSubscriptions[pn-1] == 0)
+            {
+               cout << "-W- Unused port:" << p_port->getName() << endl;
+            }
+            subscHist[portsSubscriptions[pn-1]]++;
+         }
+      }
+   } // all nodes
+
+#if 0 // as we provide LFT based path count we do not need this
+   // print the histogram:
+   cout << "----------------------- LINK SUBSCRIPTIONS HISTOGRAM ----------------------" << endl;
+   cout << "Distribution of number of LIDs mapped to each switch out port. Note that " << endl;
+   cout << "this assumes every LID is routed through every switch which is not correct" << endl;
+   cout << "if one ignores the switch to CA paths.\n" << endl;
+   cout << "NUM-LIDS COUNT" << endl;
+   for (unsigned int b = 0; b < 1024 ; b++)
+      if (subscHist[b])
+         cout << setw(7) << b << "   " << subscHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+#endif
+
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Given a list of root nodes mark them with a zero rank
+// Then BFS and rank min
+// note we use the provided map of IBNode* to int for storing the rank
+int
+SubnRankFabricNodesByRootNodes(
+   IBFabric *p_fabric,
+   list_pnode rootNodes,
+   map_pnode_int &nodesRank
+   ) {
+   list_pnode curNodes, nextNodes;
+
+   curNodes = rootNodes;
+   int rank = 0;
+
+   // rank by zero the starting nodes:
+   for (list_pnode::iterator nI = rootNodes.begin();
+        nI != rootNodes.end();
+        nI++) {
+      IBNode *p_node = (*nI);
+      nodesRank[p_node] = 0;
+      p_node->rank = 0;
+   }
+
+   // ok so now we BFS
+   while (curNodes.size()) {
+      nextNodes.clear();
+      rank++;
+
+      // go over cur step nodes
+      for (list_pnode::iterator lI = curNodes.begin();
+           lI != curNodes.end(); lI++) {
+         IBNode *p_node = *lI;
+         // go over all ports to find unvisited remote nodes
+         for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+            IBPort *p_port = p_node->getPort(pn);
+            if (! p_port) continue;
+            // might have remote port
+            if (p_port->p_remotePort)
+            {
+               // was it visited?
+               IBNode *p_remNode = p_port->p_remotePort->p_node;
+               if (nodesRank.find(p_remNode) == nodesRank.end())
+               {
+                  // add it
+                  nextNodes.push_back(p_remNode);
+                  // mark it:
+                  nodesRank[p_remNode] = rank;
+                  p_remNode->rank = rank;
+               }
+            }
+         }
+      }
+      curNodes = nextNodes;
+   }
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-I- Max nodes rank=" << rank  << endl;
+   return 0;
+}
+
+// Given a regular expression for nodes mark them with a zero rank
+// Then BFS and rank min
+// note we use the provided map of IBNode* to int for storing the rank
+int
+SubnRankFabricNodesByRegexp(
+   IBFabric *p_fabric,
+   char * nodeNameRex,
+   map_pnode_int &nodesRank
+   ) {
+   regExp nodeRex(nodeNameRex);
+   rexMatch *p_rexRes;
+   list_pnode rootNodes;
+
+   // go over all nodes of the fabric;
+   for (map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end(); nI++) {
+      // match rex ?
+      p_rexRes = nodeRex.apply((*nI).first.c_str());
+      if (p_rexRes)
+      {
+         cout  << "-I- Starting UpDown Routing from node:"
+               << (*nI).second->name << endl;
+         rootNodes.push_back((*nI).second);
+         delete p_rexRes;
+      }
+   }
+   return SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Clasify the routes for the same port to port
+// Given two list of nodes provide the number of shared
+// Systems and Shared nodes:
+int
+SubnFindPathCommonality(list_pnode *p_path1, list_pnode *p_path2,
+                        int *commonSystems, int *commonNodes) {
+
+   map_pnode_int nodesIntersection;
+   map_psystem_int systemIntersection;
+   IBSystem *p_system;
+   IBNode *p_node;
+
+   // we got it now:
+   *commonNodes = 0;
+   *commonSystems = 0;
+
+   // Go over all nodes in first path add them to the map:
+   for (list_pnode::const_iterator lI = p_path1->begin();
+        lI != p_path1->end(); lI++) {
+      p_node = *lI;
+      nodesIntersection[p_node] = 1;
+      p_system = p_node->p_system;
+      systemIntersection[p_system] = 1;
+   }
+
+   // We only need to count the number of pre-existing nodes.
+   // we do it once for each nodes.
+   for (list_pnode::const_iterator lI = p_path2->begin();
+        lI != p_path2->end(); lI++) {
+      // we only count once for each node.
+      p_node = *lI;
+      map_pnode_int::iterator mI = nodesIntersection.find(p_node);
+      if ( (mI != nodesIntersection.end()) &&
+           ((*mI).second == 1) ) {
+         (*commonNodes)++;
+         // we increase it for next time
+         (*mI).second++;
+      }
+      p_system = p_node->p_system;
+      map_psystem_int::iterator sI = systemIntersection.find(p_system);
+      if ( (sI != systemIntersection.end()) &&
+           ((*sI).second == 1) ) {
+         (*commonSystems)++;
+         // we increase it for next time
+         (*sI).second++;
+      }
+
+   }
+
+   //  cout << "P1:" << p_path1->size()
+   //     << " P2:"<< p_path2->size()
+   //   << " Intersaction:" << *commonNodes << "/" << *commonSystems<<endl;
+
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Verify point to point connectivity
+int
+SubnMgtVerifyAllCaToCaRoutes(IBFabric *p_fabric) {
+   unsigned int lidStep = 1 << p_fabric->lmc;
+   int anyError = 0, paths = 0;
+   vec_int maxHopsHist(50,0);
+   // we want to track common Nodes and Systems
+   // based on the original path length
+   int CommonNodes[50][16];
+   int CommonSystems[50][16];
+   unsigned int maxDepth = 0;
+   int maxLinkSubscriptions = 0;
+   int maxDlidPerOutPort = 0;
+
+   // to track the actual paths going through each switch port
+   // we need to have a map from switch node to a vector of count
+   // per port.
+   map_pnode_vec_int switchPathsPerOutPort;
+
+   // track the number of dlids actually routed through each switch port.
+   // to avoid memory scalability we do the path scanning with dest port
+   // in the external loop. So we only need to look on the aggregated
+   // vectore per port at the end of all sources and sum up to teh final results
+   map_pnode_vec_int switchDLidsPerOutPort;
+
+   cout << "-I- Verifying all CA to CA paths ... " << endl;
+   // initialize the histograms:
+   memset(CommonNodes, 0 , 50*16 * sizeof(int));
+   memset(CommonSystems, 0 , 50*16 * sizeof(int));
+
+   unsigned int hops, maxHops = 0;
+   list_pnode path1, path2, *p_path;
+
+   // go over all ports in the fabric
+   for (unsigned int i = p_fabric->minLid; i <= p_fabric->maxLid; i += lidStep ) {
+      IBPort *p_dstPort = p_fabric->PortByLid[i];
+
+      if (!p_dstPort || (p_dstPort->p_node->type == IB_SW_NODE)) continue;
+
+      // tracks if a path to current dlid was found per switch out port
+      map_pnode_vec_int switchAnyPathsPerOutPort;
+
+      unsigned int dLid = p_dstPort->base_lid;
+      // go over all the rest of the ports:
+      for (unsigned int j = p_fabric->minLid; j <= p_fabric->maxLid; j += lidStep ) {
+         IBPort *p_srcPort = p_fabric->PortByLid[j];
+
+         // Avoid tracing to itself
+         if (i == j) continue;
+
+         if (! p_srcPort) continue;
+
+         if (p_srcPort->p_node->type == IB_SW_NODE) continue;
+
+         unsigned int sLid = p_srcPort->base_lid;
+
+         // go over all LMC combinations:
+         for (unsigned int l = 0; l < lidStep; l++) {
+            paths++;
+
+            // we track the path nodes in lists but need to know which one
+            // to use:
+            if (l == 0)
+            {
+               p_path = &path1;
+               path1.clear();
+            }
+            else
+            {
+               p_path = &path2;
+               path2.clear();
+            }
+
+            // now go and verify the path:
+            if (TraceRouteByLFT(p_fabric, sLid + l, dLid + l, &hops, p_path))
+            {
+               cout << "-E- Fail to find a path from:"
+                    << p_srcPort->p_node->name << "/" << p_srcPort->num
+                    << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+                    << endl;
+               anyError++;
+            }
+            else
+            {
+               // track the hops histogram
+               maxHopsHist[hops]++;
+               if (hops > maxHops) maxHops = hops;
+
+               // populate the number of the out ports along the path
+               // but ignore the last element
+               for (list_pnode::const_iterator lI = p_path->begin();
+                    lI != p_path->end(); lI++)
+               {
+                  // init the ports count vector if needed
+                  IBNode *pNode = (*lI);
+                  if (switchPathsPerOutPort.find(pNode) == switchPathsPerOutPort.end())
+                  {
+                     vec_int tmp(pNode->numPorts + 1,0);
+                     switchPathsPerOutPort[pNode] = tmp;
+                  }
+
+                  // init the marking of any path through the port if needed:
+                  if (switchAnyPathsPerOutPort.find(pNode) == switchAnyPathsPerOutPort.end())
+                  {
+                     vec_int tmp(pNode->numPorts + 1,0);
+                     switchAnyPathsPerOutPort[pNode] = tmp;
+                  }
+
+                  list_pnode::const_iterator nlI = lI;
+                  nlI++;
+                  if (nlI != p_path->end())
+                  {
+                     unsigned int outPort = pNode->getLFTPortForLid(dLid + l);
+                     switchPathsPerOutPort[pNode][outPort]++;
+                     if (maxLinkSubscriptions < switchPathsPerOutPort[pNode][outPort])
+                        maxLinkSubscriptions = switchPathsPerOutPort[pNode][outPort];
+
+                     switchAnyPathsPerOutPort[pNode][outPort]++;
+                  }
+               }
+
+               // Analyze the path against the previous path:
+               if (l != 0)
+               {
+                  static int commonSystems, commonNodes;
+
+                  // we only care about paths longer then 2 hops since the two switches
+                  //  must be identical
+                  if (path1.size())
+                  {
+                     SubnFindPathCommonality(&path1, &path2, &commonSystems, &commonNodes);
+
+                     // track the max depth
+                     if (path1.size() > maxDepth) maxDepth = path1.size();
+
+                     if (maxDepth > 15)
+                     {
+                        cout << "-E- Found a path length > 15. Need to recompile with larger Histogram size!" << endl;
+                        exit(1);
+                     }
+
+                     if (!path1.size())
+                     {
+                        cout << "-W- Zero size path1 ???" << endl;
+                        continue;
+                     }
+
+                     // store the statistics:
+                     CommonSystems[commonSystems][0]++;
+                     CommonSystems[commonSystems][path1.size()]++;
+                     CommonNodes[commonNodes][0]++;
+                     CommonNodes[commonNodes][path1.size()]++;
+
+                     if (commonSystems > 5)
+                     {
+                        cout << "---- MORE THEN 5 COMMON SYSTEMS PATH ----- " << endl;
+                        cout << "From:"
+                             << p_srcPort->p_node->name << "/" << p_srcPort->num
+                             << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+                             << endl;
+                        cout << "Path 1" << endl;
+                        for (list_pnode::iterator lI = path1.begin();
+                             lI!= path1.end();lI++)
+                           cout << "." << (*lI)->name.c_str() << endl;
+
+                        cout << "Path 2" << endl;
+                        for (list_pnode::iterator lI = path2.begin();
+                             lI != path2.end();
+                             lI++ )
+                           cout << "." << (*lI)->name.c_str() << endl;
+
+                     }
+                  }
+                  // cleanup :
+                  path2.clear();
+               }
+
+            } // fail to trace route
+         }
+      } // all src lids
+
+      // cleanup the list of nodes
+      path1.clear();
+
+      // add to dlid per port vector:
+      for (map_pnode_vec_int::iterator nI = switchAnyPathsPerOutPort.begin();
+           nI !=  switchAnyPathsPerOutPort.end();
+           nI++)
+      {
+         IBNode *pNode = (*nI).first;
+         for (unsigned int pn = 1; pn <= pNode->numPorts; pn++)
+         {
+            if (switchAnyPathsPerOutPort[pNode][pn])
+            {
+               // init if required:
+               if (switchDLidsPerOutPort.find(pNode) == switchDLidsPerOutPort.end())
+               {
+                  vec_int tmp(pNode->numPorts + 1,0);
+                  switchDLidsPerOutPort[pNode] = tmp;
+               }
+
+               switchDLidsPerOutPort[pNode][pn]++;
+               if (switchDLidsPerOutPort[pNode][pn] > maxDlidPerOutPort)
+                  maxDlidPerOutPort = switchDLidsPerOutPort[pNode][pn];
+            }
+         }
+      }
+
+   } // all dlids
+
+   cout << "---------------------- CA to CA : LFT ROUTE HOP HISTOGRAM -----------------" << endl;
+   cout << "The number of CA pairs that are in each number of hops distance." << endl;
+   cout << "This data is based on the result of the routing algorithm.\n" << endl;
+   cout << "HOPS NUM-CA-CA-PAIRS" << endl;
+   for (int b = 0; b <= (int)maxHops ; b++)
+      if (maxHopsHist[b])
+         cout << setw(3) << b+1 << "   " << maxHopsHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+
+   if (p_fabric->lmc > 0)
+   {
+      cout << "------------------ LMC BASED ROTING :COMMON NODES HISTOGRAM -----------------" << endl;
+      cout << "Describes the distribution of the number of common nodes between the " << endl;
+      cout << "different LMC paths of all the CA to CA paths.\n" << endl;
+      cout << "COMMON-NODES NUM-CA-CA-PAIRS" << endl;
+      cout << "PATH DPT|";
+      for (unsigned int d = 1; d <= maxDepth; d++)
+         cout <<  setw(6) << d << "|";
+      cout << endl;
+
+      for (unsigned int b = 0; b <= maxHops ; b++)
+         if (CommonNodes[b][0] != 0)
+         {
+            cout << "COMM="<< setw(3) << b << "|";
+            for (unsigned int d = 1; d <= maxDepth; d++)
+               cout << setw(6) << CommonNodes[b][d] << "|";
+            cout << endl;
+         }
+      cout << "---------------------------------------------------------------------------\n" << endl;
+
+      cout << "---------------- LMC BASED ROTING :COMMON SYSTEMS HISTOGRAM ---------------" << endl;
+      cout << "The distribution of the number of common systems between the " << endl;
+      cout << "different LMC paths of all the CA to CA paths.\n" << endl;
+      cout << "COMMON-SYSTEM NUM-CA-CA-PAIRS" << endl;
+      cout << "PATH DPT|";
+      for (unsigned int d = 1; d <= maxDepth; d++)
+         cout <<  setw(6) << d << "|";
+      cout << endl;
+      for (unsigned int b = 0; b <= maxHops ; b++)
+         if (CommonSystems[b][0] != 0)
+         {
+            cout << "COMM=" << setw(3) << b << "|";
+            for (unsigned int d = 1; d <= maxDepth; d++)
+               cout << setw(6) << CommonSystems[b][d] << "|";
+            cout << endl;
+         }
+      cout << "---------------------------------------------------------------------------\n" << endl;
+   }
+
+#if DO_CA_TO_CA_NUM_PATHS_HIST
+   // report the link over subscription histogram and dump out the
+   // num paths per switch out port
+   ofstream linkUsage("/tmp/ibdmchk.sw_out_port_num_paths");
+   linkUsage << "# NUM-PATHS PORT-NAME " << endl;
+   vec_int linkSubscriptionHist(maxLinkSubscriptions + 1,0);
+   for (map_pnode_vec_int::iterator nI = switchPathsPerOutPort.begin();
+        nI !=  switchPathsPerOutPort.end();
+        nI++)
+   {
+      IBNode *p_node = (*nI).first;
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+      {
+         IBPort *p_port = p_node->getPort(pn);
+         if (p_port && p_port->p_remotePort &&
+             (p_port->p_remotePort->p_node->type == IB_SW_NODE))
+         {
+            linkUsage << setw(6) << ((*nI).second)[pn]  << " " << p_port->getName() << endl;
+            linkSubscriptionHist[((*nI).second)[pn]]++;
+         }
+      }
+   }
+   linkUsage.close();
+
+   cout << "---------- LFT CA to CA : SWITCH OUT PORT - NUM PATHS HISTOGRAM -----------" << endl;
+   cout << "Number of actual paths going through each switch out port considering" << endl;
+   cout << "all the CA to CA paths. Ports driving CAs are ignored (as they must" << endl;
+   cout << "have = Nca - 1). If the fabric is routed correctly the histogram" << endl;
+   cout << "should be nerrow for all ports on same level of the tree." << endl;
+   cout << "A detailed report is provided in /tmp/ibdmchk.sw_out_port_num_paths.\n" << endl;
+   cout << "NUM-PATHS NUM-SWITCH-PORTS" << endl;
+   for (int b = 0; b <= maxLinkSubscriptions; b++)
+      if (linkSubscriptionHist[b])
+         cout << setw(8) << b << "   " << linkSubscriptionHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+#endif
+
+   // now do the DLID per out port:
+   ofstream portDlidsUsage("/tmp/ibdmchk.sw_out_port_num_dlids");
+   portDlidsUsage << "# NUM-DLIDS PORT-NAME " << endl;
+   vec_int dlidsSubscriptionHist(maxDlidPerOutPort + 1,0);
+   for (map_pnode_vec_int::iterator nI = switchDLidsPerOutPort.begin();
+        nI != switchDLidsPerOutPort.end();
+        nI++)
+   {
+      IBNode *pNode = (*nI).first;
+      for (unsigned int pn = 1; pn <= pNode->numPorts; pn++)
+      {
+         IBPort *p_port = pNode->getPort(pn);
+         if (p_port && p_port->p_remotePort &&
+             (p_port->p_remotePort->p_node->type == IB_SW_NODE))
+         {
+            portDlidsUsage << setw(6) << ((*nI).second)[pn]  << " " << p_port->getName() << endl;
+            dlidsSubscriptionHist[((*nI).second)[pn]]++;
+         }
+      }
+   }
+   portDlidsUsage.close();
+
+   cout << "---------- LFT CA to CA : SWITCH OUT PORT - NUM DLIDS HISTOGRAM -----------" << endl;
+   cout << "Number of actual Destination LIDs going through each switch out port considering" << endl;
+   cout << "all the CA to CA paths. Ports driving CAs are ignored (as they must" << endl;
+   cout << "have = Nca - 1). If the fabric is routed correctly the histogram" << endl;
+   cout << "should be nerrow for all ports on same level of the tree." << endl;
+   cout << "A detailed report is provided in /tmp/ibdmchk.sw_out_port_num_dlids.\n" << endl;
+   cout << "NUM-DLIDS NUM-SWITCH-PORTS" << endl;
+   for (int b = 0; b <= maxDlidPerOutPort; b++)
+      if (dlidsSubscriptionHist[b])
+         cout << setw(8) << b << "   " << dlidsSubscriptionHist[b] << endl;
+   cout << "---------------------------------------------------------------------------\n" << endl;
+
+   if (anyError)
+      cout << "-E- Found " << anyError << " missing paths"
+           << " out of:" << paths << " paths" << endl;
+   else
+      cout << "-I- Scanned:" << paths << " CA to CA paths " << endl;
+
+   cout << "---------------------------------------------------------------------------\n" << endl;
+   return anyError;
+}
+
+int
+SubnMgtVerifyAllRoutes(IBFabric *p_fabric) {
+   unsigned int lidStep = 1 << p_fabric->lmc;
+   int anyError = 0, paths = 0;
+   unsigned int maxDepth = 0;
+
+   cout << "-I- Verifying all paths ... " << endl;
+   unsigned int hops, maxHops = 0;
+   list_pnode path;
+
+   // go over all ports in the fabric
+   for (unsigned int i = p_fabric->minLid; i <= p_fabric->maxLid; i += lidStep )
+   {
+      IBPort *p_srcPort = p_fabric->PortByLid[i];
+
+      if (!p_srcPort) continue;
+
+      unsigned int sLid = p_srcPort->base_lid;
+      // go over all the rest of the ports:
+      for (unsigned int j = p_fabric->minLid; j <= p_fabric->maxLid; j += lidStep )
+      {
+         IBPort *p_dstPort = p_fabric->PortByLid[j];
+
+         // Avoid tracing to itself
+         if (i == j) continue;
+
+         if (! p_dstPort) continue;
+
+         unsigned int dLid = p_dstPort->base_lid;
+
+         // go over all LMC combinations:
+         for (unsigned int l = 0; l < lidStep; l++) {
+            paths++;
+
+            // now go and verify the path:
+            if (TraceRouteByLFT(p_fabric, sLid + l, dLid + l, &hops, &path))
+            {
+               cout << "-E- Fail to find a path from:"
+                    << p_srcPort->p_node->name << "/" << p_srcPort->num
+                    << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+                    << endl;
+               anyError++;
+            }
+            else
+            {
+               if (hops > maxHops) maxHops = hops;
+            }
+            path.clear();
+         }
+      }
+   }
+
+   if (anyError)
+      cout << "-E- Found " << anyError << " missing paths"
+           << " out of:" << paths << " paths" << endl;
+   else
+      cout << "-I- Scanned:" << paths << " paths " << endl;
+
+   cout << "---------------------------------------------------------------------------\n" << endl;
+   return anyError;
+}
+
+// Analyze the fabric to see if it we can recognize the root nodes
+// Return the list of root nodes found.
+// We limit our auto root recognition too symmetrical fat trees only.
+// in this case every switch should either connect to level N-1 or N+1.
+// We use this and check for it during the BFS.
+
+typedef list <IBNode *> list_pnode;
+
+list_pnode
+SubnMgtFindTreeRootNodes(IBFabric *p_fabric) {
+   list_pnode nextNodes;
+   list_pnode curNodes;
+   list_pnode rootNodes;
+   list_pnode emptyRes;
+
+   IBNode *p_node;
+
+   int rank = 0;
+   map_pnode_int nodeRankMap;
+
+   cout << "-I- Automatically recognizing the tree root nodes ..."
+        <<  endl;
+
+   // find all non switch nodes and add them to the current step nodes
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      p_node = (*nI).second;
+      if (p_node->type == IB_SW_NODE) continue;
+
+      curNodes.push_back(p_node);
+   }
+
+   // BFS:
+   while (! curNodes.empty()) {
+      rank++;
+
+      nextNodes.clear();
+
+      // the last group should be our roots nodes.
+      rootNodes = curNodes;
+
+      if (0)
+      {
+         cout << "-V- Level:" << rank << " nodes:" << endl;
+         int nInLine = 1;
+         for (list_pnode::iterator nI = curNodes.begin();
+              nI != curNodes.end();
+              nI++) {
+            if (nInLine == 16)
+            {
+               nInLine = 0;
+               cout << endl;
+            }
+            nInLine++;
+            cout << (*nI)->name << " ";
+         }
+      }
+
+      // go over all this step ports
+      while (! curNodes.empty()) {
+         p_node = curNodes.front();
+         curNodes.pop_front();
+
+         // go over all ports of the node
+         for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+            IBPort *p_port = p_node->getPort(pn);
+
+            // if there is a connection:
+            if (p_port && p_port->p_remotePort)
+            {
+               IBNode *p_remNode = p_port->p_remotePort->p_node;
+
+               // we ignore non SW nodes:
+               if (p_remNode->type != IB_SW_NODE) continue;
+
+               // if already marked
+               map_pnode_int::iterator nI = nodeRankMap.find(p_remNode);
+               if (nI != nodeRankMap.end())
+               {
+                  int remNodeRank = (*nI).second;
+
+                  // as we use the rank for signing visited status
+                  // we might have the remote node be marked
+                  // either with rank - 1 or rank + 1
+                  if ((remNodeRank != rank + 1) && (remNodeRank != rank - 1))
+                  {
+                     cout << "-E- Given topology is not a pure levelized tree:" << endl;
+                     cout << "    Node:" << p_remNode->name << " rank:" << remNodeRank
+                          << " accessed from node:" << p_node->name
+                          << " rank:" << rank << endl;
+                     return emptyRes;
+                  }
+               }
+               else
+               {
+                  // first we mark the node as rank + 1
+                  nodeRankMap[p_remNode] = rank + 1;
+
+                  // now we push it to the next level list:
+                  nextNodes.push_back(p_remNode);
+               }
+            }
+         }
+      }
+      curNodes = nextNodes;
+   }
+   return rootNodes;
+}
+
+// This routine is based on the min hop tables and
+// the fact the statistics of the min hops changes for the
+// root nodes:
+
+typedef vector< int > vec_int;
+
+list_pnode
+SubnMgtFindRootNodesByMinHop(IBFabric *p_fabric) {
+   list_pnode rootNodes;
+   unsigned int lidStep = 1 << p_fabric->lmc;
+   int minHop;
+   int numCas = 0;
+
+   // go over all switch nodes and print the statistics:
+   cout << "-I- Automatically recognizing the tree root nodes ..."
+        <<  endl;
+
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      IBNode *p_node = (*nI).second;
+      if (p_node->type != IB_SW_NODE) numCas++;
+   }
+
+   // find all non switch nodes and add them to the current step nodes
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      IBNode *p_node = (*nI).second;
+      if (p_node->type != IB_SW_NODE) continue;
+
+
+      // the min hop table should exist on the node:
+      unsigned int maxHops = 0;
+
+      // go over all nodes that are CA and calc the histogram of min hops to cas
+      vec_int swToCaMinHopsHist(50,0);
+
+      // go over all ports in the fabric
+      for (unsigned int i = p_fabric->minLid;
+           i <= p_fabric->maxLid; i += lidStep ) {
+
+         IBPort *p_port = p_fabric->PortByLid[i];
+
+         if (!p_port || (p_port->p_node->type == IB_SW_NODE)) continue;
+
+         unsigned int bLid = p_port->base_lid;
+
+         // get the min hops to this port:
+         minHop = p_node->getHops(NULL, bLid);
+
+         swToCaMinHopsHist[minHop]++;
+
+         // track the max:
+         if (minHop > maxHops) maxHops = minHop;
+      } // all lids
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      {
+         // print out the hist for now:
+         cout << " CA MIN HOP HISTOGRAM:" <<  p_node->name;
+         for (unsigned int b = 0; b <= maxHops ; b++)
+            cout << " " << setw(4) << swToCaMinHopsHist[b] ;
+         cout << endl;
+      }
+
+      // we recognize spines by requiring one bar to be above 90% of the
+      // number of CAs
+      int numHopBarsOverThd1 = 0;
+      int numHopBarsOverThd2 = 0;
+      float thd1 = numCas * 0.9;
+      float thd2 = numCas * 0.05;
+      for (unsigned int b = 0; b <= maxHops ; b++) {
+         if (swToCaMinHopsHist[b] > thd1) numHopBarsOverThd1++;
+         if (swToCaMinHopsHist[b] > thd2) numHopBarsOverThd2++;
+      }
+      if ((numHopBarsOverThd1 == 1) && (numHopBarsOverThd2 == 1))
+         rootNodes.push_back(p_node);
+
+   } // all switches
+   return rootNodes;
+}
+
+// Find any routes that exist in the FDB's from CA to CA and do not adhare to
+// the up/down rules. Report any crossing of the path.
+int
+SubnReportNonUpDownCa2CaPaths(
+   IBFabric *p_fabric,
+   map_pnode_int &nodesRank) {
+
+   list_pnode path;
+   unsigned int lidStep = 1 << p_fabric->lmc;
+   int anyError = 0, paths = 0, numBadPaths = 0;
+   unsigned int hops;
+   string firstChangeMsg;
+
+   cout << "-I- Tracing all CA to CA paths for Credit Loops potential ..."
+        << endl;
+
+   // go over all ports in the fabric
+   for (unsigned int i = p_fabric->minLid;
+        i <= p_fabric->maxLid; i += lidStep ) {
+      IBPort *p_srcPort = p_fabric->PortByLid[i];
+
+      // avoid too many errors...
+      if (numBadPaths > 100) break;
+
+      if (!p_srcPort || (p_srcPort->p_node->type == IB_SW_NODE)) continue;
+
+      unsigned int sLid = p_srcPort->base_lid;
+      // go over all the rest of the ports:
+      for (unsigned int j = p_fabric->minLid;
+           j <= p_fabric->maxLid; j += lidStep ) {
+         IBPort *p_dstPort = p_fabric->PortByLid[j];
+
+         // avoid too many errors...
+         if (numBadPaths > 100) break;
+
+         // Avoid tracing to itself
+         if (i == j) continue;
+
+         if (! p_dstPort) continue;
+
+         if (p_dstPort->p_node->type == IB_SW_NODE) continue;
+
+         paths++;
+
+         unsigned int dLid = p_dstPort->base_lid;
+
+         // now go and verify the path:
+         if (TraceRouteByLFT(p_fabric, sLid, dLid, &hops, &path))
+         {
+            cout << "-E- Fail to find a path from:"
+                 << p_srcPort->p_node->name << "/" << p_srcPort->num
+                 << " to:" << p_dstPort->p_node->name << "/" << p_dstPort->num
+                 << endl;
+            anyError++;
+         }
+         else
+         {
+            int numChanges = 0;
+            int prevGoingUp = 1, goingUp;
+            int prevRank = 99, rank;
+            IBNode *p_prevNode;
+
+            // Go through the path and check for up down transitions.
+            for (list_pnode::iterator lI = path.begin(); lI!= path.end(); lI++) {
+               IBNode *p_node = *lI;
+
+               // lookup the rank of the current node:
+               map_pnode_int::iterator rI = nodesRank.find(p_node);
+               if (rI == nodesRank.end())
+               {
+                  cout << "-E- Somehow we do not have rank for:" << p_node->name
+                       << endl;
+                  exit(1);
+               }
+
+               rank = (*rI).second;
+
+               // we are going up if
+               if (rank < prevRank)
+                  goingUp = 1;
+               else
+                  goingUp = 0;
+
+               // now look for dir change.
+               if (prevGoingUp != goingUp)
+               {
+                  // we need to report if not first change.
+                  if (numChanges)
+                  {
+
+                     // header only once:
+                     if (numChanges == 1)
+                     {
+                        cout << "-E- Potential Credit Loop on Path from:"
+                             << p_srcPort->p_node->name << "/" << p_srcPort->num
+                             << " to:" << p_dstPort->p_node->name
+                             << "/" << p_dstPort->num
+                             << endl;
+                        cout << firstChangeMsg << endl;
+                        numBadPaths++;
+                     }
+                     // now the point
+                     if (goingUp)
+                     {
+                        cout << "  Going:Up ";
+                     }
+                     else
+                     {
+                        cout << "  Going:Down ";
+                     }
+                     cout << "from:" << p_prevNode->name
+                          << " to:" << p_node->name << endl;
+                  }
+                  else
+                  {
+                     // first change so:
+                     firstChangeMsg = string("  Going:Down from:") +
+                        p_prevNode->name + string(" to:") + p_node->name;
+                  }
+                  numChanges++;
+               }
+               prevRank = rank;
+               prevGoingUp = goingUp;
+               p_prevNode = p_node;
+            }
+
+            path.clear();
+         }
+      }
+   }
+
+   if (numBadPaths)
+   {
+      if (numBadPaths > 100)
+         cout << "-W- Stopped checking for loops after 100 errors" << endl;
+      cout << "-E- Found:" << numBadPaths
+           << " CA to CA paths that can cause credit loops." << endl;
+   }
+   else
+      cout << "-I- No credit loops found in:" << paths
+           << " CA to CA paths" << endl;
+
+   cout << "---------------------------------------------------------------------------\n" << endl;
+
+   return numBadPaths;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+int
+SubnMgtUpDnIsLegelStep (IBNode *curNode , IBNode *nxtNode) {
+   int curDir,nxtDir;
+   //cout << "-V- B4 __IsLegelStep check" <<endl;
+   curDir = (int) curNode->appData2.val;
+   nxtDir = (int) nxtNode->appData2.val;
+   //  cout << "-V- In  __IsLegelStep check , curDir="<<curDir<<" nxtDir="<<nxtDir<<"\n" << endl;
+   if (curDir == 1 && nxtDir == 0)
+      return 1;
+   else
+      return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Do BFS and set Min Hops for the current port , based on previous defined ranking
+int
+SubnMgtUpDnBFSFromPort (
+   unsigned int lid ,
+   IBFabric *p_fabric ,
+   map_pnode_int &nodesRank )
+{
+   list_pnode      CurState , NextState ;
+   IBPort          *tmpPort,*self;
+   IBNode          *self_node;
+   tmpPort = p_fabric->getPortByLid(lid);
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+   {
+      cout << "-V- BFS for lid="<<lid<<", type of port= " << tmpPort->p_node->type << endl;
+      tmpPort->p_node->repHopTable();
+   }
+   if (tmpPort->p_node->type == IB_SW_NODE)
+   {
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- This is a switch ..." << endl;
+      self = tmpPort;
+      self_node = tmpPort->p_node;
+
+      // Update in MinHop Table port 0 with 1 hop
+      //tmpPort = self_node->getPort(0);
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- tmpPort is : " << tmpPort << endl;
+      if (self->base_lid == lid)
+         self_node->setHops(tmpPort,lid,0);
+      else
+         self_node->setHops(tmpPort,lid,1);
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         self_node->repHopTable();
+   }
+   else
+   {
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      {
+         cout << "-V- This is an HCA ..." << endl;
+         cout << "-V- tmpPort :" << tmpPort << " remote Port : " << tmpPort->p_remotePort << endl;
+      }
+      self = tmpPort->p_remotePort;
+      self_node = self->p_node;
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- After assignment of self " << self << " && self_node " << self_node << endl;
+      // Check to see non switchable subnet
+      if (self_node->type != IB_SW_NODE)
+      {
+         cout << "-W- This is a non switch subnet could not perform algorithm" << endl;
+         return 1;
+      }
+      // Assign current lid (HCA) to the remote node
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         self_node->repHopTable();
+      // If we BFS through base_lid the same lid we can reach it by 0 hops
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- base lid : " <<self->base_lid << " BFS lid : " << lid << endl;
+      self_node->setHops(self,lid,1);
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         self_node->repHopTable();
+   }
+
+   // We use the current node appData2.val to store direction
+   self->p_node->appData2.val = 0UL;
+   // Push into list the Current Item
+   CurState.push_back(self->p_node);
+   // Iterate over all nodes in CurState list till empty
+   //  cout << "-V- b4 while .." << endl;
+   while (CurState.size()) {
+      NextState.clear();
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Iterating in while : size of CurState is : "
+              << CurState.size() << " size of NextState is : " << NextState.size() <<  endl;
+      // go over cur step nodes
+      for (list_pnode::iterator lI = CurState.begin();
+           lI != CurState.end(); lI++) {
+         IBNode *p_node = *lI;
+
+         if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- Current switch handeled is : " << p_node->name << endl;
+
+         IBPort *p_zero_port = p_node->getPort(1);
+
+         // go over all ports to find unvisited remote nodes
+         for (unsigned int pn = 1; pn <= p_node->numPorts; pn++) {
+            IBPort *p_port = p_node->getPort(pn);
+
+            // Only if current port is NULL or not connected skip it
+            if (! p_port || ! p_port->p_remotePort ) continue;
+
+            if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+               cout << "-V- Handling port num : " << pn << " of node :" << p_node->name
+                    << " p_type="<<p_node->type<<"\n"<<endl;
+
+            IBPort *p_rem_port = p_node->getPort(pn)->p_remotePort;
+            IBNode *p_rem_node = p_rem_port->p_node;
+
+
+            int minHop=0;
+            unsigned int rpn = p_rem_port->num;
+
+            // Only if it is a switch then update its table
+            if (p_rem_node->type == IB_SW_NODE)
+            {
+               // First put UP / DOWN label to remote node
+               if (nodesRank[p_node] < nodesRank[p_rem_node])
+                  // This is DOWN
+                  p_rem_node->appData2.val = 1UL;
+               else
+                  // This is UP
+                  p_rem_node->appData2.val = 0UL;
+               // cout << "-V- b4 Validity check of UP/DOWN"<<endl;
+               // Check validity of direction
+               if (SubnMgtUpDnIsLegelStep(p_node,p_rem_node)) continue;
+               if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+                  cout << "-V- Current step is legal ..." << endl;
+
+               // Update remote port MinHopTable according to Current MinHopTable
+               // Set minHop with the minimum hop count for this lid through current node
+               minHop = p_node->getHops(NULL,lid);
+
+               if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+               {
+                  cout << "-V- lid=" <<lid << " p_node="<<p_node<<"\n"<<endl;
+                  cout << "-V- MinHopTable of current node at lid=" <<lid
+                       << " port=0 is : " << minHop<<endl;
+                  //     cout << "-V- After minHop :"<<minHop<<"\n" <<endl;
+                  cout << "-V- B4 Check of current_node(minHop)=" << minHop
+                       << " and p_rem_node(minHop)="
+                       << p_rem_node->getHops(p_rem_port, lid) << "\n"<<endl;
+               }
+
+               // we will use the remote node min hops to know if we
+               // already have visited this node
+               int remNodeHops = p_rem_node->getHops(NULL,lid);
+
+               // Check min hop count if better insert into NextState
+               // list && update the remote node Min Hop Table
+               if (minHop + 1 <= p_rem_node->getHops(p_rem_port, lid))
+               {
+
+                  // Update MinHopTable of remote node and add it to NextState
+                  p_rem_node->setHops(p_rem_port,lid,minHop + 1);
+
+                  // only if the remote node did not have this hop we
+                  // need to visit it next step
+                  if (remNodeHops > minHop + 1) NextState.push_back(p_rem_node);
+
+                  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+                  {
+                     cout << "-V- Updating MinHopTable of node : " << p_rem_node->name
+                          << " for lid :" <<  lid  << " Value is : " << minHop << "\n" << endl;
+                     // Lets see the last update for the current node
+                     p_rem_node->repHopTable();
+                  }
+               }
+            }
+         }
+      }
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Start another iteration for NextState with : "
+              << NextState.size() << " elements" << endl;
+      CurState = NextState;
+   }
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- End of Iterations ..." << endl;
+   return(0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Calc Min Hop Table using UP-DOWN algorithm
+
+int
+SubnMgtCalcUpDnMinHopTbls(
+   IBFabric *p_fabric ,
+   map_pnode_int &nodesRank)
+{
+   IBNode *p_node;
+   unsigned lidStep = 1 << p_fabric->lmc;
+
+   // go over all the lids and init their Min Hop Tables
+   for (unsigned int i = 1; i <= p_fabric->maxLid; i += lidStep ) {
+      IBNode *p_cur_node = p_fabric->getPortByLid(i)->p_node;
+
+      if (p_cur_node->type == IB_SW_NODE)
+      {
+         // assign all ports of the current node/lid initial value
+         p_cur_node->setHops(NULL,0,IB_HOP_UNASSIGNED);
+      }
+   }
+
+   // Now do the UP-Down Min Hop propagation
+   for (unsigned int i = 1; i <= p_fabric->maxLid; i += lidStep )
+      if (SubnMgtUpDnBFSFromPort(i,p_fabric,nodesRank))
+         return (1);
+
+   // dump the min hops
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+           nI != p_fabric->NodeByName.end();
+           nI++) {
+
+         IBNode *p_node = (*nI).second;
+         if (p_node->type != IB_SW_NODE) continue;
+         p_node->repHopTable();
+      }
+
+   return(0);
+}
+
+// do up down given a node name regular expression to find the
+// root nodes
+int
+SubnMgtCalcUpDnMinHopTblsByRootNodesRex (
+   IBFabric *p_fabric ,
+   char * rootNodesNameRex)
+{
+   map_pnode_int nodesRank;
+
+   // rank the fabric
+   SubnRankFabricNodesByRegexp(p_fabric, rootNodesNameRex, nodesRank);
+
+   // do the actual route
+   SubnMgtCalcUpDnMinHopTbls( p_fabric, nodesRank );
+
+   return (0);
+}
+
+struct bfsEntry {
+   IBNode *pNode;
+   uint8_t inPort;
+};
+
+// Check a multicast group :
+// 1. All switches holding it and connect to HCAs are connected
+// 2. No loops (i.e. a single BFS with no returns).
+int
+SubnMgtCheckMCGrp(
+   IBFabric *p_fabric,
+   uint16_t mlid)
+{
+   list< IBNode *> groupSwitches;
+   list< IBNode *> groupHCAs;
+   int anyErr = 0;
+   char mlidStr[8];
+   sprintf(mlidStr, "0x%04X", mlid);
+   IBNode *p_firstHcaConnectedSwitch = NULL;
+
+   // find all switches that are part of this mcgrp.
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      IBNode *p_node = (*nI).second;
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // see if we have an MFT entry by the given lid:
+      list_int portNums = p_node->getMFTPortsForMLid(mlid);
+
+      if (portNums.empty()) continue;
+
+      groupSwitches.push_back(p_node);
+
+      // find all HCAs connected to the group by following the links that
+      // are marked in the MFT that connect to the group.
+      for( list_int::iterator lI = portNums.begin();
+           lI != portNums.end();
+           lI++)
+      {
+         IBPort *p_port = p_node->getPort(*lI);
+
+         // we do not count switches and disconnected ports
+         if (p_port && p_port->p_remotePort &&
+             (p_port->p_remotePort->p_node->type != IB_SW_NODE))
+         {
+            groupHCAs.push_back(p_port->p_remotePort->p_node);
+            if (p_firstHcaConnectedSwitch == NULL)
+               p_firstHcaConnectedSwitch = p_node;
+         }
+      }
+   }
+
+
+   cout << "-I- Multicast Group:" << mlidStr << " has:" << groupSwitches.size()
+        << " switches and:" << groupHCAs.size() << " HCAs" << endl;
+
+   if (! groupSwitches.size()) return(0);
+   if (! groupHCAs.size()) return(0);
+
+   // Check the connectivity of the multicast group:
+   // Start with an arbitrary switch and check all are connected with
+   // no loops.
+
+   map< IBNode *, uint8_t, less < IBNode *> > visitedNodeFromPort;
+   list< bfsEntry > nodesQueue;
+   bfsEntry thisStep, nextStep;
+
+   // since we do not complain about disconnected switches if they are not
+   // originally connected to HCAs we track the first HCA connected switch and
+   // start with it
+   thisStep.pNode = p_firstHcaConnectedSwitch;
+
+   thisStep.inPort = 0; // start from port 0 we can go out any port
+   nodesQueue.push_back(thisStep);
+
+   // we do the BFS through the queue
+   while (nodesQueue.size())
+   {
+      thisStep = nodesQueue.front();
+      nodesQueue.pop_front();
+
+      // we keep track of all visited nodes
+      visitedNodeFromPort[thisStep.pNode] = thisStep.inPort;
+
+      // get the list of MC group ports for this mlid of this node
+      list_int portNums = thisStep.pNode->getMFTPortsForMLid(mlid);
+
+      // go over all MC output ports of the current node ignoring the input
+      for (list_int::iterator pnI = portNums.begin();
+           pnI != portNums.end(); pnI++)
+      {
+         unsigned int pn = (*pnI);
+
+         // ignore the port we got here through.
+         if (pn == thisStep.inPort) continue;
+
+         IBPort *pPort = thisStep.pNode->getPort(pn);
+         if (! pPort || ! pPort->p_remotePort) continue;
+
+         // get the remote node
+         IBNode *pRemNode = pPort->p_remotePort->p_node;
+
+         // we ignore remote HCAs
+         if (pRemNode->type != IB_SW_NODE) continue;
+
+         // if we already visited this node - it is a loop!
+         map< IBNode *, uint8_t, less < IBNode *> >::iterator vI =
+            visitedNodeFromPort.find(pRemNode);
+
+         if (vI != visitedNodeFromPort.end())
+         {
+            int prevPort =  (*vI).second ;
+            cout << "-E- Found a loop on MLID:" << mlidStr
+                 << " got to node:" << pRemNode->name
+                 << " through port:" << pPort->p_remotePort->num
+                 << " previoulsy visited through port:" << prevPort << endl;
+            anyErr++;
+            continue;
+         }
+
+         // if the remote node does not point back to this one (i.e. the port is bit is not set in the
+         // MFT do not go through ...
+         list_int remPortNums = pRemNode->getMFTPortsForMLid(mlid);
+         if (find(remPortNums.begin(), remPortNums.end(),pPort->p_remotePort->num) == remPortNums.end())
+         {
+            cout << "-W- Found a non symmetric MFT on MLID:" << mlidStr
+                 << " got to node:" << pRemNode->name
+                 << " through port:" << pPort->p_remotePort->num
+                 << " which does not point back to node:"
+                 << pPort->p_node->name
+                 << " port:" << pPort->num << endl;
+            continue;
+         }
+
+         // push the node into next steps:
+         nextStep.pNode = pRemNode;
+         nextStep.inPort = pPort->p_remotePort->num;
+         nodesQueue.push_back(nextStep);
+      }
+   }
+
+   for( list< IBNode *>::iterator lI = groupSwitches.begin();
+        lI != groupSwitches.end();
+        lI++)
+   {
+      IBNode *p_node = *lI;
+      map< IBNode *, uint8_t, less < IBNode *> >::iterator vI =
+         visitedNodeFromPort.find(p_node);
+
+      if (vI == visitedNodeFromPort.end())
+      {
+         // we care only if there are HCAs connected:
+         list_pnode connHcas;
+         list_int portNums = p_node->getMFTPortsForMLid(mlid);
+         if (portNums.empty()) continue;
+
+         // find all HCAs connected to the group by following the links that
+         // are marked in the MFT that connect to the group.
+         for( list_int::iterator lI = portNums.begin();
+              lI != portNums.end();
+              lI++)
+         {
+            IBPort *p_port = p_node->getPort(*lI);
+
+            // we do not count switches and disconnected ports
+            if (p_port && p_port->p_remotePort &&
+                (p_port->p_remotePort->p_node->type != IB_SW_NODE))
+               connHcas.push_back(p_port->p_remotePort->p_node);
+         }
+
+         // so do we care?
+         if (connHcas.size())
+         {
+            cout << "-E- Disconnected switch:" << p_node->name << " in group:"
+                 << mlidStr << endl;
+            for (list_pnode::iterator hlI = connHcas.begin();
+                 hlI != connHcas.end();
+                 hlI++)
+               cout << "-E- Disconnected HCA:" << (*hlI)->name << endl;
+            anyErr++;
+         }
+         else
+         {
+            cout << "-W- Switch:" << p_node->name << " has MFT entry of group:"
+                 << mlidStr << " but is disconnceted from it" << endl;
+         }
+      }
+   }
+
+   for( map< IBNode *, uint8_t, less < IBNode *> >::iterator vI
+           = visitedNodeFromPort.begin();
+        vI != visitedNodeFromPort.end();
+        vI++)
+   {
+      list< IBNode *>::iterator lI =
+         find(groupSwitches.begin(), groupSwitches.end(), (*vI).first);
+
+      if (lI == groupSwitches.end())
+      {
+         cout << "-E- Extra switch:" << (*vI).first->name << " in group:"
+              << mlidStr << " MC packets flow into it but never leave."
+              << endl;
+         anyErr++;
+      }
+   }
+
+   // TODO: Do credit loop check in the Credit.cpp ...
+   // traverse all paths from each HCA and report any that do not follow
+   // UP/DN requirements. Also make sure no loops exist.
+
+   return anyErr;
+}
+
+
+// Check all multicast groups :
+// 1. all switches holding it are connected
+// 2. No loops (i.e. a single BFS with no returns).
+int
+SubnMgtCheckFabricMCGrps(
+   IBFabric *p_fabric)
+{
+   int anyErrs = 0;
+   cout << "-I- Scanning all multicast groups for loops and connectivity..."
+        << endl;
+
+   for (set_uint16::iterator sI = p_fabric->mcGroups.begin();
+        sI != p_fabric->mcGroups.end();
+        sI++)
+      anyErrs += SubnMgtCheckMCGrp(p_fabric, *sI);
+
+   if (anyErrs)
+      cout << "-E- " << anyErrs << " multicast group checks failed" << endl;
+
+   cout << "---------------------------------------------------------------------------\n" << endl;
+   return anyErrs;
+}
+
+struct upDnBfsEntry {
+   IBNode *pNode;
+   IBNode *pTurnNode;
+   uint8_t inPort;
+   int     down;
+};
+
+// Given a starting point switch for multicast traversal and an mlid
+// make sure all traversals are following up/down rules.
+// return 1 oif there is a violation
+int
+SubnReportNonUpDownMulticastGroupFromCaSwitch(
+   IBFabric *p_fabric,
+   IBNode *pSwitchNode,
+   map_pnode_int &nodesRank,
+   uint16_t mlid)
+{
+
+   map< IBNode *, uint8_t, less < IBNode *> > visitedNodeFromPort;
+   list< upDnBfsEntry > nodesQueue;
+   upDnBfsEntry thisStep, nextStep;
+   int thisNodeRank, remNodeRank;
+   int anyErr = 0;
+   char mlidStr[8];
+   sprintf(mlidStr, "0x%04X", mlid);
+
+   thisStep.down = 0;
+   thisStep.pNode = pSwitchNode;
+   thisStep.inPort = 0; // start as we got in from port 0 we can go out
+                        //  any port
+   thisStep.pTurnNode = NULL;
+   nodesQueue.push_back(thisStep);
+
+   // we do the BFS through the queue
+   while (nodesQueue.size())
+   {
+      thisStep = nodesQueue.front();
+      nodesQueue.pop_front();
+
+      // we keep track of all visited nodes
+      visitedNodeFromPort[thisStep.pNode] = thisStep.inPort;
+
+      // get the list of MC group ports for this mlid of this node
+      list_int portNums = thisStep.pNode->getMFTPortsForMLid(mlid);
+
+      // lookup the rank of the current node:
+      map_pnode_int::iterator rI = nodesRank.find(thisStep.pNode);
+      if (rI == nodesRank.end())
+      {
+         cout << "-E- Somehow we do not have rank for:" << thisStep.pNode->name
+              << endl;
+         exit(1);
+      }
+      thisNodeRank = (*rI).second;
+
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+         cout << "-V- Visiting node:" << thisStep.pNode->name
+              << " dir:" << (thisStep.down ? "DOWN" : "UP") << endl;
+
+      // go over all MC output ports of the current node ignoring the input
+      for (list_int::iterator pnI = portNums.begin();
+           pnI != portNums.end(); pnI++)
+      {
+         unsigned int pn = (*pnI);
+
+         // ignore the port we got here through.
+         if (pn == thisStep.inPort) continue;
+
+         IBPort *pPort = thisStep.pNode->getPort(pn);
+         if (! pPort || ! pPort->p_remotePort) continue;
+
+         // get the remote node
+         IBNode *pRemNode = pPort->p_remotePort->p_node;
+
+         // we ignore remote HCAs
+         if (pRemNode->type != IB_SW_NODE) continue;
+
+         // if we already visited this node - it is a loop!
+         map< IBNode *, uint8_t, less < IBNode *> >::iterator vI =
+            visitedNodeFromPort.find(pRemNode);
+
+         if (vI != visitedNodeFromPort.end())
+         {
+            int prevPort =  (*vI).second ;
+            cout << "-E- Found a loop on MLID:" << mlidStr
+                 << " got to node:" << pRemNode->name
+                 << " through port:" << pPort->p_remotePort->num
+                 << " previoulsy visited through port:" << prevPort << endl;
+            anyErr++;
+            continue;
+         }
+
+         // lookup remote node rank:
+         map_pnode_int::iterator rI = nodesRank.find(pRemNode);
+         if (rI == nodesRank.end())
+         {
+            cout << "-E- Somehow we do not have rank for:" << pRemNode->name
+                 << endl;
+            exit(1);
+         }
+         remNodeRank = (*rI).second;
+
+         // if we are goin up make sure we did not go down before.
+         if (remNodeRank < thisNodeRank)
+         {
+            // we go up - was it a down?
+            if (thisStep.down)
+            {
+               cout << "-E- Non Up/Down on MLID:" << mlidStr
+                    << " turning UP from:" << thisStep.pNode->name
+                    << "/P" << pn << "("<< thisNodeRank << ") to node:"
+                    << pRemNode->name << "/P" << pPort->p_remotePort->num
+                    << "(" << remNodeRank << ") previoulsy turned down:"
+                    << thisStep.pTurnNode->name << endl;
+               anyErr++;
+               continue;
+            }
+            else
+            {
+               // we turned down here so track it:
+               nextStep.down = 0;
+               nextStep.pTurnNode = NULL;
+            }
+         }
+         else
+         {
+            nextStep.pTurnNode = thisStep.pNode;
+            nextStep.down = 1;
+         }
+
+         // push the node into next steps:
+         nextStep.pNode = pRemNode;
+         nextStep.inPort = pPort->p_remotePort->num;
+         nodesQueue.push_back(nextStep);
+      }
+   }
+   return anyErr;
+}
+
+// Find any routes that exist in the FDB's from CA to CA and do not adhare to
+// the up/down rules. Report any crossing of the path.
+int
+SubnReportNonUpDownMulticastGroupCa2CaPaths(
+   IBFabric *p_fabric,
+   map_pnode_int &nodesRank,
+   uint16_t mlid) {
+
+   int anyError = 0, numBadPaths = 0, paths = 0;
+   char mlidStr[8];
+   sprintf(mlidStr, "0x%04X", mlid);
+
+   cout << "-I- Tracing Multicast Group:" << mlidStr
+        << " CA to CA paths for Credit Loops potential ..."
+        << endl;
+
+   // find all HCAs in the MGRP
+   list< IBNode *> groupSwitchesConnToHCAs;
+
+   // find all switches that are part of this mcgrp and connects to HCAs
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++) {
+
+      IBNode *p_node = (*nI).second;
+      if (p_node->type != IB_SW_NODE) continue;
+
+      // see if we have an MFT entry by the given lid:
+      list_int portNums = p_node->getMFTPortsForMLid(mlid);
+
+      if (portNums.empty()) continue;
+
+      // find all HCAs connected to the group by following the links that
+      // are marked in the MFT that connect to the group.
+      for( list_int::iterator lI = portNums.begin();
+           lI != portNums.end();
+           lI++)
+      {
+         IBPort *p_port = p_node->getPort(*lI);
+
+         if (p_port && p_port->p_remotePort &&
+             p_port->p_remotePort->p_node->type != IB_SW_NODE)
+         {
+            groupSwitchesConnToHCAs.push_back(p_node);
+            break;
+         }
+      }
+   }
+
+   cout << "-I- Multicast group:" << mlidStr << " has:"
+        << groupSwitchesConnToHCAs.size()
+        << " Switches connected to HCAs" << endl;
+
+   // from each HCA traverse BFS through the switches.
+   for( list_pnode::iterator lI = groupSwitchesConnToHCAs.begin();
+        lI != groupSwitchesConnToHCAs.end();
+        lI++)
+   {
+      // avoid too many errors reported:
+      if (numBadPaths > 100) break;
+
+      numBadPaths +=
+         SubnReportNonUpDownMulticastGroupFromCaSwitch(
+            p_fabric, (*lI), nodesRank, mlid);
+      paths++;
+   }
+
+   if (numBadPaths)
+   {
+      if (numBadPaths > 100)
+         cout << "-W- Stopped checking multicast groups after 100 errors"
+              << endl;
+      cout << "-E- Found:" << numBadPaths
+           << " Multicast:" << mlidStr
+           << " CA to CA paths that can cause credit loops." << endl;
+   }
+   else
+      cout << "-I- No credit loops found traversing:" << paths
+           << " leaf switches for Multicast LID:" << mlidStr << endl;
+
+   return 0;
+}
+
+// Check all multicast groups :
+// 1. all switches holding it are connected
+// 2. No loops (i.e. a single BFS with no returns).
+int
+SubnMgtCheckFabricMCGrpsForCreditLoopPotential(
+   IBFabric *p_fabric,
+   map_pnode_int &nodesRank
+   )
+{
+   int anyErrs = 0;
+   cout << "-I- Scanning all multicast groups for Credit Loops Potential ..."
+        << endl;
+
+   for (set_uint16::iterator sI = p_fabric->mcGroups.begin();
+        sI != p_fabric->mcGroups.end();
+        sI++)
+      anyErrs +=
+         SubnReportNonUpDownMulticastGroupCa2CaPaths(p_fabric, nodesRank, *sI);
+
+   if (anyErrs)
+      cout << "-E- " << anyErrs << " multicast groups failed" << endl;
+
+   cout << "---------------------------------------------------------------------------\n" << endl;
+   return anyErrs;
+}
+
+//
+//////////////////////////////////////////////////////////////////////////////
+//
+// Fill in the FDB tables assuming the fabric is a fat tree.
+// Also assumes the fabric is already ranked from roots downwards.
+// We also assume MinHop tables are defined.
+//
+// LIMITATION: Currently only LMC=0 is supported
+//
+// The main idea behind this algorithm is that if we have enough
+// root ports we can assign each port one destination LID.
+// Then we propagate that selection by allowing routing to that LID
+// only through that top root and downwards - unless closes at lower levels
+//
+// ALGORITHM:
+// * Initialize a WORKMAP of all HCA LIDs - also count them
+// * Calc total switch ports versus number of HCA lids.
+// * If we do not have enough switch ports abort.
+// * Loop on all rank=0 switches.
+//   * For each port select one of the LIDs that it MinHop to and are
+//     still in WORKMAP
+//   * Traverse forward to that LID assigning LFT
+//
+// Traverse Forward to LID:
+// * Given switch and target LID
+// * Find the out-port to be used for going to that LID
+//   (use # paths to select from many?)
+// * Set FDB to that LID (actually done by the Backward traversal)
+// * Recurse to the direction of the LID (need Min hop for that)
+// * Perform Backward traversal through all ports connected to lower
+//   level switches in-port = out-port
+//
+// Traverse Backward to LID:
+// * Given current switch and LID, in-port
+// * Set FDB to target LID to the "in-port"
+// * Recurse through all ports connected to lower level switches
+//   not including the in-port
+
+static inline void
+markPortUtilization(IBPort *p_port)
+{
+   p_port->counter1++;
+}
+
+// given source and destination nodes find the port with lowest
+// utilization (subscriptions) and return its number
+static int
+getLowestUtilzedPortFromTo( IBNode *p_fromNode, IBNode *p_toNode)
+{
+   int minUtil;
+   int minUtilPortNum = 0;
+   IBPort *p_port;
+
+   for (unsigned int pn = 1; pn <= p_fromNode->numPorts; pn++)
+   {
+      p_port = p_fromNode->getPort(pn);
+
+      if (! p_port) continue;
+      if (! p_port->p_remotePort) continue;
+      if (p_port->p_remotePort->p_node != p_toNode) continue;
+
+      // the hops should match the min
+      if ((minUtilPortNum == 0) || (p_port->counter1 < minUtil))
+      {
+         minUtilPortNum = pn;
+         minUtil = p_port->counter1;
+      }
+   }
+   return( minUtilPortNum );
+}
+
+// given a node and a target LID find the port that has min hops
+// to that LID and lowest utilization
+static int
+getLowestUtilzedPortToLid(IBNode *p_node, unsigned int dLid)
+{
+   IBPort *p_port;
+   int minUtil;
+   int minUtilPortNum = 0;
+
+   // get the minimal hop count from this node:
+   int minHop = p_node->getHops(NULL,dLid);
+
+   for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+   {
+      p_port = p_node->getPort(pn);
+
+      if (! p_port) continue;
+      if (! p_port->p_remotePort) continue;
+
+      // the hops should match the min
+      if (p_node->getHops(p_port, dLid) == minHop)
+      {
+         if ((minUtilPortNum == 0) || (p_port->counter1 < minUtil))
+         {
+            minUtilPortNum = pn;
+            minUtil = p_port->counter1;
+         }
+      }
+   }
+   return( minUtilPortNum );
+}
+
+int
+SubnMgtFatTreeBwd(IBNode *p_node, uint16_t dLid, unsigned int outPortNum)
+{
+   IBPort* p_port;
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- SubnMgtFatTreeBwd from:" << p_node->name << " dlid:" << dLid
+           << " out-port:" << outPortNum << endl;
+
+   // Set FDB to target LID to the "in-port"
+   p_node->setLFTPortForLid(dLid, outPortNum);
+
+   // mark this port was utilized
+   markPortUtilization(p_node->getPort(outPortNum));
+
+   // get the remote node to avoid decending down through it
+   p_port = p_node->getPort(outPortNum);
+   IBNode *p_origRemNode = p_port->p_remotePort->p_node;
+
+   // Recurse through all ports connected to lower level switches not
+   // including the in-port
+   for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+   {
+      if (pn == outPortNum) continue;
+
+      p_port = p_node->getPort(pn);
+      if (!p_port || !p_port->p_remotePort) continue;
+
+      IBNode *p_remNode = p_port->p_remotePort->p_node;
+      // we might have several ports
+      if (p_remNode == p_origRemNode) continue;
+
+      if (p_remNode->type != IB_SW_NODE) continue;
+
+      // avoid going up or sideways in the tree
+      if (p_node->rank >= p_remNode->rank) continue;
+
+      // avoid loops by inspecting the FDB value of the remote port
+      if (p_remNode->getLFTPortForLid(dLid) != IB_LFT_UNASSIGNED) continue;
+
+      // select the best port from the remote node to this one:
+      int remPortNum = getLowestUtilzedPortFromTo(p_remNode, p_node);
+      SubnMgtFatTreeBwd(p_remNode, dLid, remPortNum);
+   }
+   return(0);
+}
+
+int
+SubnMgtFatTreeFwd(IBNode *p_node, uint16_t dLid)
+{
+   int outPortNum = 0;
+   IBPort *p_port;
+
+   // Find the out-port to be used for going to that LID
+   // (use # paths to select from many?)
+   outPortNum = getLowestUtilzedPortToLid(p_node, dLid);
+
+   if (!outPortNum)
+   {
+      cout << "-E- fail to find output port for switch:" << p_node->name
+           << " to LID:" << dLid << endl;
+      exit(1);
+   }
+
+   if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- SubnMgtFatTreeFwd from:" << p_node->name << " dlid:" << dLid
+           << " through port:" << outPortNum << endl;
+
+   p_port = p_node->getPort(outPortNum);
+
+   // Set FDB to that LID (actually done by the Backward traversal)
+
+   // Recurse to the direction of the LID
+   if (p_port->p_remotePort->p_node->type == IB_SW_NODE)
+      SubnMgtFatTreeFwd(p_port->p_remotePort->p_node, dLid);
+
+   // Perform Backward traversal through all ports connected to lower
+   // level switches in-port = out-port
+   SubnMgtFatTreeBwd(p_node, dLid, outPortNum);
+
+   return(0);
+}
+
+int
+SubnMgtFatTreeRoute(IBFabric *p_fabric) {
+   IBNode *p_node;
+   IBPort *p_port;
+
+   cout << "-I- Using Fat Tree Routing" << endl;
+
+   // HACK we currently do not support LMC > 0
+   if (p_fabric->lmc > 0)
+   {
+      cout << "-E- Fat Tree Router does not support LMC > 0 yet" << endl;
+      return(1);
+   }
+
+   list<IBNode*> rootNodes;
+   set<int, less<int> > unRoutedLids;
+
+   int numHcaPorts = 0;
+   int numRootPorts = 0;
+
+   // get all root nodes
+   for( map_str_pnode::iterator nI = p_fabric->NodeByName.begin();
+        nI != p_fabric->NodeByName.end();
+        nI++)
+   {
+      p_node = (*nI).second;
+
+      // if not a switch just count
+      if (p_node->type != IB_SW_NODE)
+      {
+         // count all ports that are connected
+         for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+         {
+            p_port = p_node->getPort(pn);
+            if (p_port && p_port->p_remotePort)
+            {
+               numHcaPorts++;
+               unRoutedLids.insert(p_port->base_lid);
+            }
+         }
+      }
+      else
+      {
+         // we only crae now about root switch ports
+         if (p_node->rank == 0)
+         {
+            rootNodes.push_back(p_node);
+            // count all ports that are connected
+            for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+            {
+               p_port = p_node->getPort(pn);
+               if (p_port && p_port->p_remotePort) numRootPorts++;
+            }
+         }
+      }
+   }
+
+   // do we have enough root ports?
+   if (numRootPorts < numHcaPorts)
+   {
+      cout << "-E- Can Route Fat-Tree - not enough root ports:"
+           << numRootPorts << " < HCA ports:" << numHcaPorts << endl;
+      return(1);
+   }
+
+   // Loop on all rank=0 switches.
+   for (list<IBNode *>::iterator lI = rootNodes.begin();
+        lI != rootNodes.end();
+        lI++)
+   {
+      set<int, less<int> > switchAllocatedLids;
+
+      p_node = *lI;
+
+      // Foreach port select one of the LIDs that it MinHop to and are
+      // still in WORKMAP
+      for (unsigned int pn = 1; pn <= p_node->numPorts; pn++)
+      {
+         p_port = p_node->getPort(pn);
+         if (! p_port || !p_port->p_remotePort) continue;
+
+         // since most fat trees are fully connected we can simply try from the
+         // head of the unRoutedLids...
+         int found = 0;
+         for ( set<int, less<int> >::iterator mI = unRoutedLids.begin();
+               !found && (mI != unRoutedLids.end());
+               mI++)
+         {
+            // is this dLid in our port min hop?
+            uint16_t dLid = *mI;
+            // is it in this port min hop?
+            if (p_node->getHops(NULL, dLid) == p_node->getHops(p_port, dLid))
+            {
+               found = 1;
+               // remove from set
+               unRoutedLids.erase(mI);
+
+               // as it is important we handle lids in order we just collect
+               // them here and later use in order
+               switchAllocatedLids.insert(dLid);
+
+               // escape the for loop
+               break;
+            }
+         }
+      } // all ports of switch
+
+      // now handle all allocated lids of this switch:
+      for ( set<int, less<int> >::iterator alI = switchAllocatedLids.begin();
+            alI != switchAllocatedLids.end();
+            alI++)
+      {
+         unsigned int dLid = *alI;
+         if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- Routing to LID:" << dLid << " through root port:"
+                 << p_port->getName() << endl;
+         // Traverse forward to that LID assigning LFT
+         SubnMgtFatTreeFwd(p_node, dLid);
+      }
+   } // all rank 0 switches
+
+   // double check no more HCA LIDs to route...
+   if (unRoutedLids.size())
+   {
+      cout << "-E- " << unRoutedLids.size()
+           << " lids still not routed:" << endl;
+      for( set<int, less<int> >::iterator sI = unRoutedLids.begin();
+           sI != unRoutedLids.end();
+           sI++)
+         cout << "   " << *sI << endl;
+      return(1);
+   }
+   return(0);
+}
+
+
diff --git a/ibdm/ibdm/SubnMgt.h b/ibdm/ibdm/SubnMgt.h
new file mode 100644
index 0000000..99e763f
--- /dev/null
+++ b/ibdm/ibdm/SubnMgt.h
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBDM_SUBN_MGT_H
+#define IBDM_SUBN_MGT_H
+
+/*
+
+  Subnet Utilities:
+
+  The file holds a set of utilities to be run on the subnet to mimic OpenSM
+  initialization and analyze the results:
+
+  Assign Lids: SubnMgtAssignLids
+  Init min hop tables: SubnMgtCalcMinHopTables
+  Perform Enhanced LMC aware routing: SubnMgtOsmEnhancedRoute
+  Perform standard routing: SubnMgtOsmRoute
+  Verify all CA to CA routes: SubnMgtVerifyAllCaToCaRoutes
+
+*/
+
+// Assign lids
+int SubnMgtAssignLids (IBPort *p_smNodePort, unsigned int lmc = 0);
+
+// Calculate the minhop table for the switches
+int SubnMgtCalcMinHopTables (IBFabric *p_fabric);
+
+// Fill in the FDB tables in an OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+int
+SubnMgtOsmRoute(IBFabric *p_fabric);
+
+// Fill in the FDB tables in an OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy.
+// Also it will favor runing through a new system or node
+// on top of the port profile.
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+int
+SubnMgtOsmEnhancedRoute(IBFabric *p_fabric);
+
+// Perform Fat Tree specific routing by assigning a single LID to
+// each root node port a single LID to route through.
+int
+SubnMgtFatTreeRoute(IBFabric *p_fabric);
+
+// Verify All CA to CA connectivity
+int
+SubnMgtVerifyAllCaToCaRoutes(IBFabric *p_fabric);
+
+// Verify all point to point connectivity
+int
+SubnMgtVerifyAllRoutes(IBFabric *p_fabric);
+
+// Calc Up/Down min hop tables using the given ranking per node
+int
+SubnMgtCalcUpDnMinHopTbls(IBFabric *p_fabric , map_pnode_int &nodesRank);
+
+//Calc by Up-Down Min Hop Algorithm the Switch Tables
+int
+SubnMgtCalcUpDnMinHopTblsByRootNodesRex(IBFabric *p_fabric , char * rootNodesNameRex);
+
+// Analyze the fabric to find its root nodes assuming it is
+// a pure tree (keeping all levels in place).
+list_pnode
+SubnMgtFindTreeRootNodes(IBFabric *p_fabric);
+
+// Analyze the fabric to find its root nodes using statistical methods
+// on the profiles of min hops to CAs
+list_pnode
+SubnMgtFindRootNodesByMinHop(IBFabric *p_fabric);
+
+// Given a list of root nodes mark them with a zero rank
+// Then BFS and rank min
+// note we use the provided map of IBNode* to int for storing the rank
+int
+SubnRankFabricNodesByRootNodes(
+  IBFabric *p_fabric, list_pnode rootNodes, map_pnode_int &nodesRank);
+
+// Find any routes that exist in the FDB's from CA to CA and do not adhare to
+// the up/down rules. Report any crossing of the path.
+int
+SubnReportNonUpDownCa2CaPaths(IBFabric *p_fabric, map_pnode_int &nodesRank);
+
+// Check all multicast groups :
+// 1. all switches holding it are connected
+// 2. No loops (i.e. a single BFS with no returns).
+int SubnMgtCheckFabricMCGrps(IBFabric *p_fabric);
+
+// Check all multicast groups do not have credit loop potential
+int
+SubnMgtCheckFabricMCGrpsForCreditLoopPotential(
+  IBFabric *p_fabric, map_pnode_int &nodesRank);
+
+// Provide sets of port pairs to run BW check from in a way that is
+// full bandwidth. Reide in LinkCover.cpp
+int
+LinkCoverageAnalysis(IBFabric *p_fabric, list_pnode rootNodes);
+
+// Perform FatTree analysis
+int
+FatTreeAnalysis(IBFabric *p_fabric);
+
+// Perform FatTree optimal permutation routing
+int
+FatTreeRouteByPermutation(IBFabric* p_fabric, char* srcs, char* dsts);
+
+#endif /* IBDM_SUBN_MGT_H */
+
diff --git a/ibdm/ibdm/SysDef.cpp b/ibdm/ibdm/SysDef.cpp
new file mode 100644
index 0000000..5d9e94e
--- /dev/null
+++ b/ibdm/ibdm/SysDef.cpp
@@ -0,0 +1,561 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+
+IB Systems Definition Parsing and Building Systems.
+
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+#include "SysDef.h"
+#include "Fabric.h"
+#include <stddef.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <dirent.h>
+
+// build all nodes recursively
+int
+IBSystemsCollection::makeSysNodes(
+  IBFabric *p_fabric,        // the fabric we belong to
+  IBSystem *p_system,        // the system we build
+  IBSysDef *p_parSysDef,     // the sysdef of the parent
+  string    parHierName,     // the hier name of the parent "" for top
+  map_str_str &mods          // hier name based modifiers list
+  )
+{
+  int anyErr = 0;
+
+  // go over all child sysdefs
+  for(map_str_psysinsts::iterator sI = p_parSysDef->SystemsInstByName.begin();
+      sI != p_parSysDef->SystemsInstByName.end();
+      sI++) {
+    string hierInstName = parHierName + (*sI).first;
+    IBSysInst *p_inst = (*sI).second;
+
+    // are we at the bottom ?
+    if (p_inst->isNode) {
+      string nodeName = p_system->name + "/" + hierInstName;
+      // simply make this node ...
+      IBNode *p_node = new IBNode(nodeName, p_fabric, p_system,
+                                  p_inst->nodeType, p_inst->nodeNumPorts);
+      if (! p_node) {
+        cout << "-E- Fail to create node:" << nodeName << endl;
+        anyErr = 1;
+      }
+
+      // the device number should be embedded in the master name of
+      // the node: MT23108 ...
+      char *p_digit;
+      if ((p_digit = strpbrk(p_inst->master.c_str(), "0123456789")) != NULL)
+        sscanf(p_digit,"%u", &p_node->devId);
+
+    } else {
+      // find the definition of this inst:
+      IBSysDef *p_sysDef =
+        getInstSysDef(p_parSysDef, p_inst, hierInstName, mods);
+      if (p_sysDef) {
+        // recurse down
+        anyErr |=
+          makeSysNodes(
+            p_fabric,
+            p_system,
+            p_sysDef,
+            hierInstName + string("/"),
+            mods);
+      }
+    }
+  }
+  return anyErr;
+}
+
+// Get a system definition for an instance applying any modifiers
+IBSysDef *
+IBSystemsCollection::getInstSysDef(
+  IBSysDef  *p_sysDef,  // parent system def
+  IBSysInst *p_inst,
+  string     hierInstName,
+  map_str_str  &mods    // hier name based modifiers list
+  )
+{
+  // find the definition of this inst:
+  string master = p_sysDef->fileName + string("/") + p_inst->master;
+  map_str_str::iterator mI = mods.find(hierInstName);
+  if (mI != mods.end()) {
+    string mod = (*mI).second;
+    // we support several acronims for a removed subsystem
+    if ((mod == string("Removed")) ||
+        (mod == string("X")) ||
+        (mod == string("R")))
+      return NULL;
+    master += string(":") + mod;
+  }
+
+  // try to find the master:
+  IBSysDef *p_subSysDef = getSysDef(master);
+  if (! p_subSysDef) {
+      cout << "-E- Fail to find definition for system:" << master << endl;
+      dump();
+      return NULL;
+  }
+  return p_subSysDef;
+}
+
+//
+IBPort *
+IBSystemsCollection::makeNodePortByInstAndPortName(
+  IBSystem     *p_system,    // the system we build the node port in
+  IBSysDef     *p_sysDef,     // the system definition holding the inst
+  IBSysInst    *p_inst,       // the instance
+  string        instPortName, // the port name
+  string        hierInstName, // the hier name of the instance
+  map_str_str  &mods          // hier name based modifiers list
+  )
+{
+  IBSysDef *p_subSysDef;
+
+  // find the definition of this inst:
+  p_subSysDef = getInstSysDef(p_sysDef, p_inst, hierInstName, mods);
+  if (p_subSysDef) {
+    // can we find the sys port by the given name ?
+    map_str_psysportdef::iterator pI =
+      p_subSysDef->SysPortsDefs.find(instPortName);
+
+    // not all connections exists - since we might very the boards...
+    if (pI == p_subSysDef->SysPortsDefs.end()) return NULL;
+
+    IBSysPortDef *p_subInstPort = (*pI).second;
+
+    // recurse downwards
+    return(
+      makeNodePortBySysPortDef(
+        p_system, p_subSysDef, p_subInstPort, hierInstName + string("/"),
+        mods)
+      );
+  }
+  return NULL;
+}
+
+// find the lowest point connection of this port and make it if a node port
+// assumes the nodes were already created for the
+IBPort *
+IBSystemsCollection::makeNodePortBySysPortDef(
+  IBSystem      *p_system,    // the system we build the node port in
+  IBSysDef      *p_sysDef,    // the system definition the port is on
+  IBSysPortDef  *p_sysPortDef,// system port definition
+  string         parHierName, // the hier name of the parent "" for top
+  map_str_str   &mods         // hier name based modifiers list
+  )
+{
+
+  IBPort *p_port = NULL;
+  // find the instance def:
+  map_str_psysinsts::iterator sI =
+    p_sysDef->SystemsInstByName.find(p_sysPortDef->instName);
+
+  if (sI == p_sysDef->SystemsInstByName.end()) {
+    cout << "-E- Fail to find the instance:" << p_sysPortDef->instName
+         << " connected to port:" << p_sysPortDef->name << endl;
+    return NULL;
+  }
+
+  IBSysInst *p_inst = (*sI).second;
+
+  // is it a node?
+  if (p_inst->isNode) {
+    // Try to find the node in the system
+    string nodeName = p_system->name + "/" + parHierName + p_inst->name;
+    IBNode *p_node = p_system->getNode(nodeName.c_str());
+    if (! p_node) {
+      cout << "-E- Fail to find node:" << nodeName
+           << " connected to port:" << p_sysPortDef->name <<  endl;
+      return NULL;
+    }
+
+    // simply make this node port ...
+    p_port = p_node->makePort(atoi(p_sysPortDef->instPortName.c_str()));
+    if (! p_port) {
+      cout << "-E- Fail to make port:" << nodeName << "/"
+           << p_sysPortDef->instPortName << endl;
+      return NULL;
+    }
+    p_port->width = p_sysPortDef->width;
+    p_port->speed = p_sysPortDef->speed;
+    return p_port;
+  } else {
+    // obtain the sys port making to the inst port
+    string hierInstName = parHierName + p_inst->name;
+
+    return (
+      makeNodePortByInstAndPortName(
+        p_system,
+        p_sysDef,
+        p_inst,
+        p_sysPortDef->instPortName,
+        hierInstName,
+        mods)
+      );
+  }
+  return NULL;
+}
+
+// find the lowest point connection of this sub sysport and make a node port
+// assumes the nodes were already created for the
+IBPort *
+IBSystemsCollection::makeNodePortBySubSysInstPortName(
+  IBSystem      *p_system,    // the system we build the node port in
+  IBSysDef      *p_sysDef,    // the system definition the inst is in
+  string         instName,    // Name of the instance
+  string         instPortName,// Name of instance port
+  string         parHierName, // the hier name of the parent "" for top
+  map_str_str   &mods         // hier name based modifiers list
+  )
+{
+  // find the instance
+  IBPort *p_port = NULL;
+
+  // find the instance def:
+  map_str_psysinsts::iterator sI =
+    p_sysDef->SystemsInstByName.find(instName);
+
+  if (sI == p_sysDef->SystemsInstByName.end()) {
+    cout << "-E- Fail to find the instance:" << instName << endl;
+    return NULL;
+  }
+
+  IBSysInst *p_inst = (*sI).second;
+
+  // is it a node?
+  if (p_inst->isNode) {
+    // Try to find the node in the system
+    string nodeName = p_system->name + "/" + parHierName + p_inst->name;
+    IBNode *p_node = p_system->getNode(nodeName.c_str());
+    if (! p_node) {
+      cout << "-E- Fail to find node:" << nodeName
+           <<  endl;
+      return NULL;
+    }
+
+    // simply make this node port ...
+    p_port = p_node->makePort(atoi(instPortName.c_str()));
+    return p_port;
+  } else {
+    // obtain the sys port making to the inst port
+    string hierInstName = parHierName + p_inst->name;
+
+    return (
+      makeNodePortByInstAndPortName(
+        p_system,
+        p_sysDef,
+        p_inst,
+        instPortName,
+        hierInstName,
+        mods)
+      );
+  }
+  return NULL;
+}
+
+//  DFS from top on each level connect all connected SysInst ports
+int
+IBSystemsCollection::makeSubSystemToSubSystemConns(
+  IBSystem      *p_system,    // the system we build the node port in
+  IBSysDef      *p_sysDef,    // the system definition the port is on
+  string         parHierName, // the hier name of the parent "" for top
+  map_str_str   &mods         // hier name based modifiers list
+  )
+{
+  int anyErr = 0;
+
+  // go over all instances
+  for (map_str_psysinsts::iterator iI = p_sysDef->SystemsInstByName.begin();
+       iI != p_sysDef->SystemsInstByName.end();
+       iI++) {
+
+    IBSysInst *p_inst = (*iI).second;
+
+    // go through all inst ports aand connect them
+    for (map_str_pinstport::iterator pI = p_inst->InstPorts.begin();
+         pI != p_inst->InstPorts.end();
+         pI++) {
+      IBSysInstPort *p_instPort = (*pI).second;
+
+      IBPort *p_port =
+        makeNodePortBySubSysInstPortName(
+          p_system,
+          p_sysDef,
+          p_inst->name,
+          p_instPort->name,
+          parHierName,
+          mods);
+
+      // we might not find this inst port on this mod:
+      if (! p_port) continue;
+
+      // make the remote inst port
+      IBPort *p_remPort =
+        makeNodePortBySubSysInstPortName(
+          p_system,
+          p_sysDef,
+          p_instPort->remInstName,
+          p_instPort->remPortName,
+          parHierName,
+          mods);
+
+      // can it be disconnected on the other side?
+      if (! p_remPort) continue;
+
+      // do the connection:
+      p_port->connect(p_remPort, p_instPort->width, p_instPort->speed);
+      p_remPort->connect(p_port, p_instPort->width, p_instPort->speed);
+    }
+
+    // descend the hirarchy if not a node:
+    if (! p_inst->isNode) {
+      IBSysDef  *p_instSysDef =
+        getInstSysDef(p_sysDef, p_inst, parHierName + p_inst->name, mods);
+      // might be a removed subsys...
+      if (p_instSysDef) {
+        anyErr |=
+          makeSubSystemToSubSystemConns(
+            p_system, p_instSysDef, parHierName + p_inst->name + string("/"),
+            mods);
+      }
+    }
+  }
+  return anyErr;
+}
+
+// Given the name and type of the system - build its system by applying any
+// modifiers by hierarchical instance name.
+IBSystem *
+IBSystemsCollection::makeSystem(
+  IBFabric *p_fabric,
+  string name,
+  string master,
+  map_str_str mods)
+{
+  // ALGO:
+
+  // Find the master system definition
+  IBSysDef *p_sysDef = getSysDef(master);
+  if (! p_sysDef) {
+    cout << "-E- Fail to find definition for system:" << master << endl;
+    return NULL;
+  }
+
+  // Create the top level system:
+  IBSystem *p_system = new IBSystem(name, p_fabric, master);
+
+  // create all node insts:
+  //   DFS down through all subsys apply any inst modifier rules
+  //   create any nodes found.
+  if (makeSysNodes(p_fabric, p_system, p_sysDef, "", mods)) {
+    delete p_system;
+    return NULL;
+  }
+
+  // perform connections:
+  //   1. On top level create connections from SysPorts.
+  for ( map_str_psysportdef::iterator pI = p_sysDef->SysPortsDefs.begin();
+        pI != p_sysDef->SysPortsDefs.end();
+        pI++) {
+
+    // find the lowest point connection of this port and make it if a node port
+    IBPort *p_port =
+      makeNodePortBySysPortDef(p_system, p_sysDef, (*pI).second,"", mods);
+
+    // might have been a disconnected port.
+    if (! p_port) continue;
+
+    // make the system port - since it is connected.
+    IBSysPort *p_sysPort = new IBSysPort((*pI).first, p_system);
+    p_sysPort->p_nodePort = p_port;
+    p_port->p_sysPort = p_sysPort;
+  }
+
+  //   2. BFS from top on each level connect all connected SysPortDefs
+  if (makeSubSystemToSubSystemConns(p_system, p_sysDef, "", mods)) {
+    delete p_system;
+    return NULL;
+  }
+
+  // Last step is to use given set of sub-inst attributes adn assign
+  // node attributes:
+  for (map_str_str::iterator siA = p_sysDef->SubInstAtts.begin();
+       siA != p_sysDef->SubInstAtts.end();
+       siA++) {
+    string nodeName = p_system->name + "/" + (*siA).first;
+    // try to find the node:
+    IBNode *p_node =
+      p_system->getNode(nodeName);
+    if (p_node) {
+      p_node->attributes =  (*siA).second ;
+    } else {
+      cout << "-W- Fail to set attributes:" << (*siA).second
+           << " on non-existing Node:" << nodeName << endl;
+    }
+  }
+
+  return p_system;
+}
+
+static
+list< string > getDirIbnlFiles(string dir) {
+  DIR *dp;
+  struct dirent *ep;
+  list< string > res;
+  char *lastDot;
+
+  dp = opendir (dir.c_str());
+  if (dp != NULL)
+  {
+    while ((ep = readdir (dp)))
+    {
+      lastDot = strrchr(ep->d_name,'.');
+      if (lastDot && !strcmp(lastDot, ".ibnl"))
+      {
+        res.push_back(ep->d_name);
+      }
+    }
+    closedir(dp);
+  }
+  else
+    cout << "-E- Fail to scan for IBNL files in directory:" << dir << endl;
+
+  return res;
+}
+
+// The parser itself is part of the ibnl_parser.yy
+extern int
+ibnlParseSysDefs (IBSystemsCollection *p_sysColl, const char *fileName);
+
+// Parse a system definition netlist
+int
+IBSystemsCollection::parseIBSysdef(string fileName) {
+  return ibnlParseSysDefs(this, fileName.c_str());
+}
+
+// Read all IBNL files available from the given path list.
+int
+IBSystemsCollection::parseSysDefsFromDirs(list< string > dirs)
+{
+  int anyErr = 0;
+  // go through all directories
+  for (list< string >::iterator dI = dirs.begin();
+       dI != dirs.end();
+       dI++) {
+    string dirName = (*dI);
+
+    // find all matching files
+    list <string > ibnlFiles = getDirIbnlFiles(dirName);
+
+    // parse them all:
+    for (list< string >::iterator fI = ibnlFiles.begin();
+         fI != ibnlFiles.end();
+         fI++) {
+      string fileName = dirName + string("/") + (*fI);
+
+      if (ibnlParseSysDefs(this, fileName.c_str())) {
+        cout << "-E- Error parsing System definition file:"
+             <<  fileName << endl;
+        anyErr |= 1;
+      } else {
+        if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+          cout << "-I- Loaded system definition from:"  << fileName
+               << endl;
+      }
+    }
+  }
+  return anyErr;
+}
+
+// dump out the available systems:
+void
+IBSystemsCollection::dump()
+{
+  for (map_str_psysdef::iterator sI = SysDefByName.begin();
+       sI != SysDefByName.end();
+       sI++) {
+    cout << "-I- Found Definition for:" << (*sI).first <<endl;
+  }
+
+}
+
+// we use a singleton system repository
+IBSystemsCollection *theSysDefsCollection()
+{
+  static IBSystemsCollection *p_sysDefsColl = NULL;
+
+  // we only need to initialize once.
+  if (! p_sysDefsColl) {
+    p_sysDefsColl = new IBSystemsCollection();
+    list< string > dirs;
+#ifdef IBDM_IBNL_DIR
+    dirs.push_back(string(IBDM_IBNL_DIR "/ibnl"));
+#endif
+	 char *ibnlDirs = getenv("IBDM_IBNL_PATH");
+	 if (ibnlDirs != NULL)
+	 {
+		 string delimiters(":, ");
+		 string str = string(ibnlDirs);
+		 // Skip delimiters at beginning.
+		 string::size_type lastPos = str.find_first_not_of(delimiters, 0);
+		 // Find first "non-delimiter".
+		 string::size_type pos     = str.find_first_of(delimiters, lastPos);
+
+		 while (string::npos != pos || string::npos != lastPos)
+		 {
+			 // Found a token, add it to the vector.
+			 dirs.push_back(str.substr(lastPos, pos - lastPos));
+			 // Skip delimiters.  Note the "not_of"
+			 lastPos = str.find_first_not_of(delimiters, pos);
+			 // Find next "non-delimiter"
+			 pos = str.find_first_of(delimiters, lastPos);
+		 }
+	 }
+
+	 if (dirs.size() == 0)
+	 {
+		 cout << "-E- No IBNL directories provided. " << endl;
+		 cout << "    Please provide environment variable IBDM_IBNL_PATH" <<endl;
+		 cout << "    with a colon separated list of ibnl directories." << endl;
+	 }
+    p_sysDefsColl->parseSysDefsFromDirs(dirs);
+  }
+  return p_sysDefsColl;
+}
+
diff --git a/ibdm/ibdm/SysDef.h b/ibdm/ibdm/SysDef.h
new file mode 100644
index 0000000..d4ef849
--- /dev/null
+++ b/ibdm/ibdm/SysDef.h
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Fabric Utilities Project
+ *
+ * Hierarchical Systems Definition DataModel
+ *
+ */
+
+#ifndef IBDM_SYSDEF_H
+#define IBDM_SYSDEF_H
+
+
+#include "Fabric.h"
+
+typedef map< string, string, strless > map_str_str;
+typedef map< string, class IBSysInstPort *, strless > map_str_pinstport;
+typedef map< string, class IBSysInst *, strless > map_str_psysinsts;
+typedef map< string, class IBSysPortDef *, strless > map_str_psysportdef;
+typedef map< string, class IBSysDef *, strless > map_str_psysdef;
+typedef list< string > list_str;
+
+// Ports are only connected to other SysInst at the same level.
+// We track upper level connections only in the IBPortDef object.
+class IBSysInstPort {
+  string               name;         // name of this port
+  string               remInstName;
+  string               remPortName;
+  IBLinkWidth          width;
+  IBLinkSpeed          speed;
+
+ public:
+  IBSysInstPort(string n, char *toNode, char *toPort, IBLinkWidth w, IBLinkSpeed s) {
+    name = n; remInstName = toNode; remPortName = toPort; width = w; speed = s;
+  };
+
+  friend class IBSysInst;
+  friend class IBSystemsCollection;
+
+};
+
+class IBSysInst {
+  string      name;         // name of this inst
+  map_str_str SubInstMods;  // Modifier to apply to each sub inst by hier name
+  map_str_pinstport InstPorts;  // Any inst to inst connections
+  string      master;       // the master system name (without any modifier)
+  int         nodeNumPorts; // only valid for node types.
+  IBNodeType  nodeType;     // node tyep SW/CA
+  int         isNode;       // if non zero makes this instance a node instance.
+
+ public:
+  // we use two constructors - one for Node and one for SubSys
+  IBSysInst(string n, string m, int np, IBNodeType t) {
+    name = n; isNode = 1; master = m; nodeNumPorts = np; nodeType = t;
+  };
+
+  IBSysInst(string n, string m) {
+    name = n; isNode = 0; master = m; nodeNumPorts = 0;
+    nodeType = IB_UNKNOWN_NODE_TYPE;
+  };
+
+  inline int addPort(IBSysInstPort* p_port) {
+    InstPorts[p_port->name] = p_port;
+    return(0);
+  };
+
+  inline int addInstMod(char *subInstName, char *instMod) {
+    SubInstMods[subInstName] = instMod;
+    return(0);
+  };
+
+  inline string getName() { return name; };
+
+  friend class IBSysDef;
+  friend class IBSystemsCollection;
+};
+
+class IBSysPortDef {
+  string        name;         // name of this port
+  string        instName;     // instance connected to the port
+  string        instPortName; // inst port name connected to this sysport.
+  IBLinkWidth   width;
+  IBLinkSpeed   speed;
+ public:
+  IBSysPortDef(string n, string i, string p, IBLinkWidth w, IBLinkSpeed s) {
+    name = n; instName = i; instPortName = p; width = w; speed = s;
+  };
+
+  friend class IBSysDef;
+  friend class IBSystemsCollection;
+};
+
+class IBSysDef {
+  string               fileName;          // The file the system was defined by
+  map_str_psysinsts    SystemsInstByName; // all sub instances by name
+  map_str_psysportdef  SysPortsDefs;      // all sys ports defs
+
+  map_str_str     SubInstAtts;  // Map of node attributes by hier node name
+                                // We attach these attributes only after smash
+
+ public:
+
+  IBSysDef(string fn) {fileName = fn; };
+
+  // add sub instance attribute
+  inline void setSubInstAttr(string hierInstName, string attrStr) {
+    map_str_str::iterator iaI = SubInstAtts.find(hierInstName);
+    if (iaI == SubInstAtts.end()) {
+      SubInstAtts[hierInstName] = attrStr;
+    } else {
+      (*iaI).second += "," + attrStr;
+    }
+  };
+
+  inline int addInst (IBSysInst *p_inst) {
+    SystemsInstByName[p_inst->name] = p_inst;
+    return 0;
+  };
+
+  inline int addSysPort(IBSysPortDef *p_sysPort) {
+    SysPortsDefs[p_sysPort->name] = p_sysPort;
+    return 0;
+  };
+
+  string getName() {
+    return fileName;
+  };
+
+  friend class IBSystemsCollection;
+};
+
+// we collect all top level systems into this
+class IBSystemsCollection {
+  map_str_psysdef SysDefByName; // Map of sub instances by name
+ public:
+
+  // Initialize the system collection with all available
+  // ibnl files in the given directory path list.
+  int parseSysDefsFromDirs(list< string > dirs);
+
+  // Parse a system definition netlist
+  int parseIBSysdef(string fileName);
+
+  // Add a new system def ..
+  inline int addSysDef(string sname, IBSysDef *p_sysDef) {
+    // TODO - check for doubles...
+    SysDefByName[sname] = p_sysDef;
+    return 0;
+  };
+
+  // given a system type and optionaly a modifier
+  // look it up
+  inline IBSysDef* getSysDef(string sname) {
+    // The modifier is simply added to the system name
+    map_str_psysdef::iterator sI = SysDefByName.find(sname);
+    if (sI != SysDefByName.end()) {
+      return (*sI).second;
+    }
+    return NULL;
+  };
+
+  // Given the name and type of the system - build its system by applying any
+  // modifiers by hierarchical instance name.
+  IBSystem *makeSystem(
+    IBFabric *p_fabric, string name, string master, map_str_str mods);
+
+ private:
+  // build all nodes recursively
+  int
+    makeSysNodes(
+      IBFabric *p_fabric,        // the fabric we belong to
+      IBSystem *p_system,        // the system we build
+      IBSysDef *p_parSysDef,     // the sysdef of the parent
+      string    parHierName,     // the hier name of the parent "" for top
+      map_str_str &mods          // hier name based modifiers list
+      );
+
+  // Get a system definition for an instance applying any modifiers
+  IBSysDef *
+    getInstSysDef(
+      IBSysDef    *p_sysDef,    // parent system def
+      IBSysInst   *p_inst,      // the instance
+      string       hierInstName,// instance hierarchical name
+      map_str_str &mods         // hier name based modifiers list
+      );
+
+  // find a system port def gven the instance, port name, hierName and
+  IBSysPortDef *
+    getSysPortDefByInstPortName(
+      IBSysDef     *p_sysDef,     // the system definition the port is on
+      IBSysInst    *p_inst,       // the instance
+      string        instPortName, // the port name
+      string        hierInstName, // the hier name of the instance
+      map_str_str  &mods          // hier name based modifiers list
+      );
+
+  IBPort *
+    makeNodePortByInstAndPortName(
+      IBSystem     *p_system,    // the system we build the node port in
+      IBSysDef     *p_sysDef,     // the system definition holding the inst
+      IBSysInst    *p_inst,       // the instance
+      string        instPortName, // the port name
+      string        hierInstName, // the hier name of the instance
+      map_str_str  &mods          // hier name based modifiers list
+      );
+
+  // find the lowest point connection of this port and make it if a node port
+  // assumes the nodes were already created for the
+  IBPort *
+    makeNodePortBySysPortDef(
+      IBSystem      *p_system,    // the system we build the node port in
+      IBSysDef      *p_sysDef,    // the system definition the port is on
+      IBSysPortDef  *p_sysPortDef,// system port definition
+      string         parHierName, // the hier name of the parent "" for top
+      map_str_str   &mods         // hier name based modifiers list
+      );
+
+  // find the lowest point connection of this sub sysport and make a node port
+  // assumes the nodes were already created for the
+  IBPort *
+    makeNodePortBySubSysInstPortName(
+      IBSystem      *p_system,    // the system we build the node port in
+      IBSysDef      *p_sysDef,    // the system definition the inst is in
+      string         instName,    // Name of the instance
+      string         instPortName,// Name of instance port
+      string         parHierName, // the hier name of the parent "" for top
+      map_str_str   &mods         // hier name based modifiers list
+      );
+
+  //  DFS from top on each level connect all connected SysInst ports
+  int
+    makeSubSystemToSubSystemConns(
+      IBSystem      *p_system,    // the system we build the node port in
+      IBSysDef      *p_sysDef,    // the system definition the port is on
+      string         parHierName, // the hier name of the parent "" for top
+      map_str_str   &mods         // hier name based modifiers list
+      );
+
+  // dump out names of all defined systems
+  void dump();
+};
+
+// we use a singleton system repository
+IBSystemsCollection *theSysDefsCollection();
+
+#endif // IBDM_SYSDEF_H
diff --git a/ibdm/ibdm/TopoMatch.cpp b/ibdm/ibdm/TopoMatch.cpp
new file mode 100644
index 0000000..6012577
--- /dev/null
+++ b/ibdm/ibdm/TopoMatch.cpp
@@ -0,0 +1,1495 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+
+Topology Matching
+
+The file holds a set of utilities to providea "topology matchine"
+functionality: comparing two fabrics based on some entry point.
+
+The comparison is of a "discovered" fabric to a "spec" fabric:
+disc = The fabric de-facto as OpenSM see it.
+spec = The fabric as specified in either a topology file or cables file.
+
+Through the matching algorithm:
+1. The specification fabric get guids annotations.
+2. Missmatches are being formatted into a text report.
+
+After Matching a Merger can be run to create the merged fabric.
+This fabric only includes the discovered nodes but uses the
+names of the specification fabric and systems from the specification
+fabric.
+
+*/
+
+#include "Fabric.h"
+#include "Regexp.h"
+#include <iomanip>
+#include <sstream>
+
+// we use the node appData2.val as a "visited" marker for the
+// topology matching algorithm by setting it's value to 1
+static inline void
+TopoMarkNodeAsMatchAlgoVisited(IBNode *p_node) {
+  p_node->appData2.val = 1;
+}
+
+static inline int
+TopoIsNodeMatchAlgoVisited(IBNode *p_node) {
+  return (p_node->appData2.val & 1);
+}
+
+// we use the node appData2.val as a "reported" marker for the
+// topology matching algorithm by setting it's second bit (2) to 1
+static inline void
+TopoMarkNodeAsReported(IBNode *p_node) {
+  p_node->appData2.val = (p_node->appData2.val | 2);
+}
+
+static inline int
+TopoIsNodeMarkedAsReported(IBNode *p_node) {
+  return (p_node->appData2.val & 2);
+}
+
+// Check for two ports to be matching:
+// PortNumber must match,
+// If RemotePort exists should:
+// a. Same port number
+// b. Same node guid if already defined
+// c. Link width and speed (these are only added to diagnostics as warnings)
+// d. Remote nodes have same number of ports...
+// RETURN: 1 if match 0 otherwise.
+static int
+TopoMatchPorts(
+  IBPort *p_sPort,
+  IBPort *p_dPort,
+  int doDiag,
+  stringstream &diag)
+{
+
+  if (!p_sPort || !p_dPort) {
+    return 0;
+  }
+  if (p_sPort->num != p_dPort->num) {
+    if (doDiag)
+      diag << "Port number missmatch found. The port:" << p_sPort->getName()
+           << " != discovered:" << p_dPort->num << endl;
+    return 0;
+  }
+
+  IBPort *p_dRemPort = p_dPort->p_remotePort;
+  IBPort *p_sRemPort = p_sPort->p_remotePort;
+
+  if (p_sRemPort && !p_dRemPort) {
+    if (doDiag)
+      diag << "Missing link from:" << p_sPort->getName()
+           << " to:" << p_sRemPort->getName()
+           << endl;
+    return 0;
+  } else if (!p_sRemPort && p_dRemPort) {
+    if (doDiag)
+      diag << "Extra link from:" << p_sPort->getName()
+           << " to:" << p_dRemPort->getName()
+           << endl;
+    return 0;
+  } else if (p_sRemPort) {
+    // check for port numbers
+    if (p_sRemPort->num != p_dRemPort->num) {
+      // on HCA nodes we can try the other port ...
+      if (p_dRemPort->p_node->type != IB_SW_NODE) {
+        // we need the spec to define other port of the HCA as empty
+        if (doDiag)
+          diag << "Probably switched CA ports on cable from:"
+               << p_sPort->getName()
+               << ". Expected port:" << p_sRemPort->num
+               << " but got port:" << p_dRemPort->num << endl;
+      } else {
+        if (doDiag)
+          diag << "Wrong port number on remote side of cable from:"
+               << p_sPort->getName()
+               << ". Expected port:" << p_sRemPort->num
+               << " but got port:" << p_dRemPort->num << endl;
+        return 0;
+      }
+    }
+
+    // check link width - since it does not affect the result
+    // only in diagnostics mode:
+    if (doDiag) {
+      if (p_sPort->width != p_dPort->width)
+        diag << "Wrong link width on:" << p_sPort->getName()
+             << ". Expected:" << width2char(p_sPort->width)
+             << " got:" << width2char(p_dPort->width) << endl;
+      if (p_sPort->speed != p_dPort->speed)
+        diag << "Wrong link speed on:" << p_sPort->getName()
+             << ". Expected:" << speed2char(p_sPort->speed)
+             << " got:" << speed2char(p_dPort->speed) << endl;
+    }
+
+    IBNode *p_dRemNode = p_dRemPort->p_node;
+    IBNode *p_sRemNode = p_sRemPort->p_node;
+
+    // check to see if the remote nodes are not already cross linked
+    if (p_dRemNode->appData1.ptr) {
+      if ((IBNode *)p_dRemNode->appData1.ptr != p_sRemNode) {
+        IBPort *p_port =
+          ((IBNode *)p_dRemNode->appData1.ptr)->getPort(p_sRemPort->num);
+        if (p_port) {
+          diag << "Link from port:" << p_sPort->getName()
+               << " should connect to port:" << p_sRemPort->getName()
+               << " but connects to (previously matched) port:"
+               << p_port->getName() << endl;
+        } else {
+          diag << "Link from port:" << p_sPort->getName()
+               << " should connect to port:" << p_sRemPort->getName()
+               << " but connects to a port not supposed to be connected"
+               << " on (previously matched) node:"
+               << ((IBNode *)p_dRemNode->appData1.ptr)->name << endl;
+        }
+        return 0;
+      }
+    }
+
+//     if (p_sRemNode->appData1.ptr) {
+//       if ((IBNode *)p_sRemNode->appData1.ptr != p_dRemNode) {
+//         diag << "Link from port:" << p_sPort->getName()
+//              << " should connect to node:" << p_sRemNode->name
+//              << " but connects to previously matched node:"
+//              << ((IBNode *)p_sRemNode->appData1.ptr)->name << endl;
+//         return 0;
+//       }
+//     }
+
+    // if spec node guid is defined verify same guid:
+    if (p_sRemNode->guid_get() &&
+        (p_sRemNode->guid_get() != p_dRemNode->guid_get())) {
+      if (doDiag)
+        diag << "Wrong node on cable from:" << p_sPort->getName()
+             << ". Expected connection to node:"
+             << guid2str(p_sRemNode->guid_get())
+             << " but connects to:"
+             << guid2str(p_dRemNode->guid_get()) << endl;
+      return 0;
+    }
+
+    // same number of ports on nodes
+    if (p_sRemNode->numPorts != p_dRemNode->numPorts) {
+      if (doDiag)
+        diag << "Other side of cable from:" << p_sPort->getName()
+             << " difference in port count. Expected:"
+             << p_sRemNode->numPorts
+             << " but got:"
+             << p_dRemNode->numPorts << endl;
+      return 0;
+    }
+  }
+
+  return 1;
+}
+
+// Consider node matching by inspecting all their ports.
+// All ports but maxMiss should be matched to pass.
+// RETURN: 1 if qualified as matching 0 otherwise.
+int
+TopoQalifyNodesMatching(IBNode *p_sNode, IBNode *p_dNode)
+{
+  int maxMissed = 2; // TODO : Maybe need to restrict by the number of ports?
+  int numMissed = 0;
+  IBPort *p_sPort;
+  IBPort *p_dPort;
+  stringstream tmpDiag;
+
+  // we must make sure we did not assign a match to any of the nodes ...
+  if ((p_sNode->appData1.ptr || p_dNode->appData1.ptr) &&
+      (p_sNode->appData1.ptr != p_dNode->appData1.ptr))
+    return 0;
+
+  // we must have same number of ports ...
+  if (p_dNode->numPorts != p_sNode->numPorts)
+    return 0;
+
+  // Try to match all ports of this node
+  for (unsigned int pn = 1; pn <= p_dNode->numPorts; pn++) {
+    p_dPort = p_dNode->getPort(pn);
+    p_sPort = p_sNode->getPort(pn);
+
+    // we might miss some ports:
+    if (!p_dPort && !p_sPort) {
+      continue;
+    } else if (!p_dPort || !p_sPort) {
+      if (p_dPort && p_dPort->p_remotePort)
+      {
+        tmpDiag << "Port:" << pn << " exist only in discovered model." << endl;
+        numMissed++;
+      }
+      else if (p_sPort && p_sPort->p_remotePort)
+      {
+        tmpDiag << "Port:" << pn << " exist only in specification model."
+                << endl;
+        numMissed++;
+      }
+      continue;
+    }
+
+    // we do not care about cases where we miss a
+    // discovered link:
+    if (! p_dPort->p_remotePort) continue;
+
+    // ports match so push remote side into BFS if ok
+    if (!TopoMatchPorts(p_sPort, p_dPort, 1, tmpDiag)) {
+      numMissed++;
+      // if (numMissed > maxMissed) break;
+    }
+  }
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    if (numMissed)
+      if (numMissed <= maxMissed)
+        cout << "-V- Qualified Nodes:" << p_sNode->name
+             << " to:" << p_dNode->name << " with:" << numMissed
+             << " missmatches!" <<endl;
+      else
+        cout << "-V- Disqualified Nodes:" << p_sNode->name
+             << " to:" << p_dNode->name << " due to:" << numMissed
+             << " missmatches!\n" << tmpDiag.str() << endl;
+
+  return numMissed <= maxMissed;
+}
+
+// Mark nodes as matching
+static inline void
+TopoMarkMatcedNodes(IBNode *p_node1, IBNode *p_node2, int &matchCounter)
+{
+  if (p_node1->appData1.ptr || p_node2->appData1.ptr) {
+    if (p_node1->appData1.ptr ==  p_node2->appData1.ptr)
+    {
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+        cout << "-V- Skipping previously Matched nodes:" << p_node1->name
+             << " and:" <<  p_node2->name << endl;
+    } else {
+      if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+        cout << "-V- Requested to mark matching nodes:" << p_node1->name
+             << " and:" <<  p_node2->name << " previously matched to others" << endl;
+    }
+
+  } else {
+    // do the cross links on the spec and disc fabrics:
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Matched Node:" << p_node1->name
+           << " and:" <<  p_node2->name << endl;
+    p_node1->appData1.ptr = p_node2;
+    p_node2->appData1.ptr = p_node1;
+    matchCounter++;
+  }
+}
+
+// Perform a BFS on both fabrics and cross point between matching nodes.
+int
+TopoBFSAndMatchFromPorts(
+  IBPort *p_sPort, // Starting port on the specification fabrric
+  IBPort *p_dPort,
+  stringstream &diag)
+{
+  int numMatchedNodes = 0;
+  int dNumNodes, sNumNodes;
+  IBNode *p_sNode, *p_sRemNode;
+  IBNode *p_dNode, *p_dRemNode;
+  IBFabric *p_dFabric, *p_sFabric;
+  int status;
+
+  if (! TopoMatchPorts(p_sPort, p_dPort, 1, diag)) {
+    diag << "Starting ports do not match. Did you switch the ports?" << endl;
+    return 1;
+  }
+
+  // Mark the start node as matched:
+  TopoMarkNodeAsMatchAlgoVisited(p_dPort->p_node);
+
+  // if we do not have a remote port what do we really match?
+  if (!p_dPort->p_remotePort) {
+    diag << "No link connected to starting port. Nothing more to match."
+         << endl;
+    return 1;
+  }
+
+  p_dRemNode = p_dPort->p_remotePort->p_node;
+  p_sRemNode = p_sPort->p_remotePort->p_node;
+
+  // Mark local and remote nodes as matching
+  TopoMarkMatcedNodes(p_dRemNode, p_sRemNode, numMatchedNodes);
+  TopoMarkMatcedNodes(p_dPort->p_node, p_sPort->p_node, numMatchedNodes);
+
+  // BFS through the matching ports only.
+  // we keep track of the the discovered nodes only as it needs to be matched
+  // already to get into this list and thus we have a pointer to the spec node.
+  // To mark visited nodes we use the appData2.val
+  list < IBNode * > bfsFifo;
+
+  bfsFifo.push_back(p_dPort->p_remotePort->p_node);
+  TopoMarkNodeAsMatchAlgoVisited(p_dPort->p_remotePort->p_node);
+
+  // On discovered fabrics where the CA nodes are marked by name we
+  // can start traversing from these nodes also - of they match any
+  // spec system by name.
+  p_dFabric = p_dPort->p_node->p_fabric;
+  p_sFabric = p_sPort->p_node->p_fabric;
+  if (p_dFabric->subnCANames) {
+
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Matching nodes by name"  << endl;
+
+    // we go through entire discovered fabric trying to find match by name
+    for (map_str_pnode::iterator nI = p_dFabric->NodeByName.begin();
+         nI != p_dFabric->NodeByName.end();
+         nI++)
+    {
+
+      IBNode *p_node1 = (*nI).second;
+
+      // so we try to find a node by the same name on the spec fabric.
+      map_str_pnode::iterator snI = p_sFabric->NodeByName.find((*nI).first);
+
+      // no match
+      if (snI == p_sFabric->NodeByName.end())
+      {
+        if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+          cout << "-V- No match for:" << (*nI).first << endl;
+        continue;
+      }
+      IBNode *p_node2 = (*snI).second;
+
+      // make sure they are not previously match somehome
+      if (p_node1->appData1.ptr || p_node2->appData1.ptr) continue;
+
+
+      // do not rush into matching - double check all the nodes ports ...
+      int anyMissmatch = 0;
+      if (p_node1->numPorts != p_node2->numPorts) continue;
+      for (unsigned int pn = 1; !anyMissmatch && (pn <= p_node1->numPorts);
+           pn++)
+      {
+        IBPort *p_dPort = p_node1->getPort(pn);
+        IBPort *p_sPort = p_node2->getPort(pn);
+
+        if (! TopoMatchPorts(p_sPort, p_dPort, 1, diag))
+        {
+          anyMissmatch++;
+          if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+            cout << "-V- Matched node:" <<  (*nI).first
+                 << " by name - but some ports are different." << endl;
+        }
+
+
+        if (0 && p_dPort->p_remotePort)
+        {
+          IBNode *p_dRemNode = p_dPort->p_remotePort->p_node;
+          IBNode *p_sRemNode = p_sPort->p_remotePort->p_node;
+          if (! TopoQalifyNodesMatching(p_sRemNode, p_dRemNode))
+          {
+            anyMissmatch++;
+            if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+              cout << "-V- Disqualified start nodes match:"
+                   << p_node1->name << " by rem nodes" << endl;
+          }
+        }
+
+        if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+          cout << "-V- Using name match for nodes:" << p_node1->name << endl;
+        // set the cross pointers and visited flag:
+        TopoMarkNodeAsMatchAlgoVisited(p_node1);
+
+        TopoMarkMatcedNodes(p_node1, p_node2, numMatchedNodes);
+        // If we do not start from the HCAs we avoid cases where the
+        // wrong leaf is connected and the leaf is deep enough to hide
+        // it
+        // bfsFifo.push_back(p_node1);
+      }
+    }
+  }
+
+  // track any further unmatch:
+  int anyUnmatch = 0;
+
+  // BFS loop
+  while (!bfsFifo.empty()) {
+    p_dNode = bfsFifo.front();
+    bfsFifo.pop_front();
+    // just makeing sure
+    if (! p_dNode->appData1.ptr) {
+      cerr << "TopoMatchFabrics: Got to a BFS node with no previous match?"
+           << endl;
+      abort();
+    }
+
+    p_sNode = (IBNode *)p_dNode->appData1.ptr;
+    if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+      cout << "-V- Visiting Node:" << p_sNode->name << endl;
+
+    // Try to match all ports of this node
+    for (unsigned int pn = 1; pn <= p_dNode->numPorts; pn++) {
+      IBPort *p_dPort = p_dNode->getPort(pn);
+      IBPort *p_sPort = p_sNode->getPort(pn);
+
+      if (!p_sPort && !p_dPort) {
+        continue;
+      } else if (!p_sPort) {
+        diag << "Non existing Spec Port for: "
+             << p_dPort->getName() << endl;
+        anyUnmatch++;
+        continue;
+      } else if (!p_dPort) {
+        diag << "Non existing Discovered Port for: "
+             << p_sPort->getName() << endl;
+        anyUnmatch++;
+        continue;
+      }
+
+      // ports match so push remote side into BFS if ok
+      if (TopoMatchPorts(p_sPort, p_dPort, 1, diag)) {
+        // ports matched but is there a remote side?
+        if (p_dPort->p_remotePort) {
+          p_dRemNode = p_dPort->p_remotePort->p_node;
+          p_sRemNode = p_sPort->p_remotePort->p_node;
+
+          // we need to qualify the match (looking one more step ahead)
+          if (TopoQalifyNodesMatching(p_sRemNode, p_dRemNode)) {
+            // propagate the matching of the nodes:
+            TopoMarkMatcedNodes(p_dRemNode, p_sRemNode, numMatchedNodes);
+
+            // if not already matched
+            if (!TopoIsNodeMatchAlgoVisited(p_dPort->p_remotePort->p_node)) {
+              bfsFifo.push_back(p_dPort->p_remotePort->p_node);
+              TopoMarkNodeAsMatchAlgoVisited(p_dPort->p_remotePort->p_node);
+            }
+          }
+        }
+      } else {
+        anyUnmatch++;
+      }
+    }
+  }
+
+  status = anyUnmatch;
+  sNumNodes = p_sPort->p_node->p_fabric->NodeByName.size();
+  dNumNodes = p_dPort->p_node->p_fabric->NodeByName.size();
+  if (numMatchedNodes != sNumNodes) {
+    diag << "Some nodes are missing!" << endl;
+    status = 1;
+  }
+
+  if (numMatchedNodes != dNumNodes) {
+    diag << "Some extra or unmatched nodes were discoeverd." << endl;
+    status = 1;
+  }
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+// Second step in matching - refine missmatched nodes:
+// Based on the previous matching - produce a set of all spec nodes
+// that are connected to other matched spec nodes.
+// Then go over all these nodes and produce a "best fit" match for them:
+// The nodes will be connected on the spec model to a set of other nodes.
+// Go over all the node ports:
+//  If connected to a matched node
+//   Check to see what node is connected to the same port of the disc node
+//   If it is un-matched - add it to the map of optential nodes adn
+//      incr the match value count.
+// Now observe the map of potential matching nodes:
+// If there is a node that is  mapped by > half the number of ports
+// mark it as matching.
+typedef map < IBNode *, int , less < IBNode * > >  map_pnode_int;
+
+int
+TopoMatchNodeByAdjacentMatched(
+  IBNode *p_sNode
+  )
+{
+  int succeedMatch;
+
+  // This map will hold the number of matching ports for each candidate
+  // discovered node
+  map_pnode_int dNodeNumMatches;
+
+  // we track the total number of connected ports of the spec node
+  int numConnPorts = 0;
+
+  // Go over all the node ports:
+  for (unsigned int pn = 1; pn <= p_sNode->numPorts; pn++) {
+    IBPort *p_sPort = p_sNode->getPort(pn);
+
+    //  If connected to a remote port
+    if (! p_sPort || ! p_sPort->p_remotePort) continue;
+
+    numConnPorts++;
+
+    IBPort *p_sRemPort = p_sPort->p_remotePort;
+
+    // But the remote spec node must be matched to be considered
+    IBNode *p_dRemNode = (IBNode *)p_sRemPort->p_node->appData1.ptr;
+    if (! p_dRemNode) continue;
+
+    //   Check to see what node is connected to the same port of the disc node
+    IBPort *p_dRemPort = p_dRemNode->getPort(p_sRemPort->num);
+
+    // is it connected ?
+    if (! p_dRemPort || ! p_dRemPort->p_remotePort) continue;
+
+    IBNode *p_dCandidateNode = p_dRemPort->p_remotePort->p_node;
+
+    // It must be un-matched
+    if (p_dCandidateNode->appData1.ptr) continue;
+
+    // OK so it is a valid candidate
+    // - add it to the map of optential nodes adn
+    //      incr the match value count.
+    map_pnode_int::iterator cnI = dNodeNumMatches.find(p_dCandidateNode);
+    if (cnI == dNodeNumMatches.end()) {
+      dNodeNumMatches[p_dCandidateNode] = 1;
+    } else {
+      (*cnI).second++;
+    }
+  }
+
+  // Now observe the map of potential matching nodes:
+  // If there is a node that is  mapped by > half the number of ports
+  // mark it as matching.
+  for (map_pnode_int::iterator cnI = dNodeNumMatches.begin();
+       cnI != dNodeNumMatches.end();
+       cnI++) {
+    if ( (*cnI).second > numConnPorts / 2) {
+      TopoMarkMatcedNodes(p_sNode, (*cnI).first, succeedMatch);
+    }
+  }
+  return succeedMatch;
+}
+
+// Provide the list of un-matched spec nodes that
+// are adjecant to a matched nodes
+list < IBNode *>
+TopoGetAllSpecUnMatchedAdjacentToMatched(
+  IBFabric *p_sFabric
+  )
+{
+  list < IBNode *> adjNodes;
+  for (map_str_pnode::iterator nI = p_sFabric->NodeByName.begin();
+       nI != p_sFabric->NodeByName.end();
+       nI++) {
+    IBNode *p_node = (*nI).second;
+
+    // if the node is already matcehd skip it:
+    if (p_node->appData1.ptr) continue;
+
+    // go over all the node ports and check adjacent node.
+    int done = 0;
+    for (unsigned int pn = 1;
+         (pn <= p_node->numPorts) && !done;
+         pn++) {
+      IBPort *p_port = p_node->getPort(pn);
+      // if there is a remote port
+      if (p_port && p_port->p_remotePort) {
+        // check if the other node is matched.
+        if (p_port->p_remotePort->p_node->appData1.ptr) {
+          // add the node to the list and break the for
+          done = 1;
+          adjNodes.push_back(p_node);
+        }
+      }
+    }
+  }
+  return adjNodes;
+}
+
+// Second Matching step
+// Return the number of matched nodes by this step
+int
+TopoMatchSpecNodesByAdjacentNode(
+  IBFabric *p_sFabric
+  )
+{
+  list < IBNode *> unMatchedWithAdjacentMatched;
+  int numMatched = 0;
+
+  unMatchedWithAdjacentMatched =
+    TopoGetAllSpecUnMatchedAdjacentToMatched(p_sFabric);
+
+  for( list < IBNode *>::iterator nI = unMatchedWithAdjacentMatched.begin();
+       nI != unMatchedWithAdjacentMatched.end();
+       nI++)
+  {
+    numMatched += TopoMatchNodeByAdjacentMatched(*nI);
+  }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+// Report missmatched nodes by examining entire system and looking for
+// all system and then a single board (matching regexp).
+// So the report will be optimized:
+// If the entire system is missing - report only at this level
+// If an entire board of the system missing - report only at this level
+// Otherwise report at the specific node only.
+static int
+TopoReportMismatchedNode(
+  IBNode *p_node,
+  int reportMissing, // 0 = reportExtra ...
+  stringstream &diag)
+{
+  int anyMissmatch = 0;
+  int MaxConnRep = 12;
+  // we assume if a previous check was done we would have
+  // never been called since the "reported" mark would have been set
+  IBSystem *p_system = p_node->p_system;
+
+  // we always mark the board of the node by examining all but the "UXXX"
+  char *p_lastSlash = rindex(p_node->name.c_str(), '/');
+  char nodeBoardName[512];
+  int  boardNameLength;
+  if (!p_lastSlash) {
+    strcpy(nodeBoardName, "NONE");
+    boardNameLength = 0;
+  } else {
+    boardNameLength = p_lastSlash - p_node->name.c_str();
+    strncpy(nodeBoardName, p_node->name.c_str(), boardNameLength);
+    nodeBoardName[boardNameLength] = '\0';
+  }
+
+  int anyOfBoardMatch = 0;
+  int anyOfSystemMatch = 0;
+  list< IBNode *> boardNodes;
+
+  // visit all nodes of the the specified system.
+  for (map_str_pnode::iterator nI = p_system->NodeByName.begin();
+       nI != p_system->NodeByName.end();
+       nI++) {
+    IBNode *p_node = (*nI).second;
+
+    // see if it of the same board:
+    if (!strncmp(p_node->name.c_str(), nodeBoardName, boardNameLength)) {
+      // on same board
+      boardNodes.push_back(p_node);
+      if (p_node->appData1.ptr) {
+        // it was matched to discovered node!
+        anyOfBoardMatch++;
+        anyOfSystemMatch++;
+        // since we only need one to match the board we do not need to
+        // continue...
+        break;
+      }
+    } else {
+      if (p_node->appData1.ptr) {
+        anyOfSystemMatch++;
+      }
+    }
+  }
+
+  // got the markings:
+  if (! anyOfSystemMatch) {
+    if (reportMissing) {
+      diag << "Missing System:" << p_system->name << "("
+           << p_system->type << ")" << endl;
+
+      // we limit the number of reported connections ...
+      int numRep = 0;
+      for (map_str_psysport::iterator spI = p_system->PortByName.begin();
+           (spI != p_system->PortByName.end()) && (numRep < MaxConnRep);
+           spI++) {
+        IBSysPort *p_sysPort = (*spI).second;
+        if (p_sysPort->p_remoteSysPort) {
+          numRep++;
+          diag << "   Should be connected by cable from port: "
+               << (*spI).first
+               << "(" << p_sysPort->p_nodePort->p_node->name << "/P"
+               << p_sysPort->p_nodePort->num << ")"
+               << " to:" << p_sysPort->p_remoteSysPort->p_system->name
+               << "/" << p_sysPort->p_remoteSysPort->name
+               << "(" << p_sysPort->p_remoteSysPort->p_nodePort->p_node->name
+               << "/P" << p_sysPort->p_remoteSysPort->p_nodePort->num << ")"
+               << endl;
+        }
+      }
+      if (numRep == MaxConnRep) diag << "   ..." << endl;
+      diag << endl;
+    } else {
+      diag << "Extra System:" << p_system->name << endl;
+      int numRep = 0;
+      for (unsigned int pn = 1;
+           (pn <= p_node->numPorts) && (numRep < MaxConnRep);
+           pn++) {
+        IBPort *p_port = p_node->getPort(pn);
+        if (p_port && p_port->p_remotePort) {
+          numRep++;
+          if (p_port->p_remotePort->p_node->appData1.ptr) {
+            IBNode *p_sNode =
+              (IBNode *)p_port->p_remotePort->p_node->appData1.ptr;
+            // NOTE: we can not assume all ports were matched!
+            diag << "   Connected by cable from port: P" << pn
+                 << " to:"
+                 << p_sNode->name << "/P" << p_port->p_remotePort->num
+                 << endl;
+          } else {
+            diag << "   Connected by cable from port: P" << pn
+                 << " to:" << p_port->p_remotePort->getName() << endl;
+          }
+        }
+      }
+      if (numRep == MaxConnRep) diag << "   ..." << endl;
+      diag << endl;
+    }
+    anyMissmatch++;
+
+    // also we do not need any more checks on this system
+    for (map_str_pnode::iterator nI = p_system->NodeByName.begin();
+         nI != p_system->NodeByName.end();
+         nI++) {
+      IBNode *p_node = (*nI).second;
+      TopoMarkNodeAsReported(p_node);
+    }
+  } else if (! anyOfBoardMatch) {
+    if (reportMissing) {
+      diag << "Missing System Board:" << nodeBoardName << endl;
+      diag << endl;
+    } else {
+      diag << "Extra System Board:" << nodeBoardName << endl;
+      diag << endl;
+    }
+    anyMissmatch++;
+
+    for (list< IBNode *>::iterator nI = boardNodes.begin();
+         nI != boardNodes.end();
+         nI++) {
+      TopoMarkNodeAsReported(*nI);
+    }
+  } else {
+    if (reportMissing) {
+      diag << "Missing Node:" << p_system->name
+           << "/" << p_node->name << endl;
+      int numRep = 0;
+      for (unsigned int pn = 1;
+           (pn <= p_node->numPorts) && (numRep < MaxConnRep);
+           pn++) {
+        IBPort *p_port = p_node->getPort(pn);
+        if (p_port && p_port->p_remotePort) {
+          numRep++;
+          diag << "   Should be connected by cable from port:" << pn
+               << " to:" << p_port->getName() << endl;
+        }
+      }
+      if (numRep == MaxConnRep) diag << "   ..." << endl;
+      diag << endl;
+    } else {
+      diag << "Extra Node:" << p_system->name
+           << "/" << p_node->name << endl;
+      int numRep = 0;
+      for (unsigned int pn = 1;
+           (pn <= p_node->numPorts) && (numRep < MaxConnRep);
+           pn++) {
+        IBPort *p_port = p_node->getPort(pn);
+        if (p_port && p_port->p_remotePort) {
+          numRep++;
+          if (p_port->p_remotePort->p_node->appData1.ptr) {
+            IBNode *p_sNode =
+              (IBNode *)p_port->p_remotePort->p_node->appData1.ptr;
+            IBPort *p_tmpPort = p_sNode->getPort(p_port->p_remotePort->num);
+            if (p_tmpPort)
+              diag << "   Connected by cable from port:" << pn
+                   << " to:"
+                   << p_tmpPort->getName()
+                   << endl;
+            else
+              diag << "   Connected by cable from port:" << pn
+                   << " to:"
+                   << p_sNode->name << "/P" << p_port->p_remotePort->num
+                   << endl;
+          } else {
+            diag << "   Connected by cable from port:" << pn
+                 << " to:" << p_port->p_remotePort->getName() << endl;
+          }
+        }
+      }
+      if (numRep == MaxConnRep) diag << "   ..." << endl;
+      diag << endl;
+    }
+    anyMissmatch++;
+
+    TopoMarkNodeAsReported(p_node);
+  }
+  return(anyMissmatch);
+}
+
+// Given two matching nodes - report un-matching links.
+// To avoid duplicated reporting:
+// * We only report missmatching links to matched nodes.
+// * We only report link to nodes with bigger pointer value
+// RETURN number of missmatches
+static int
+TopoReportMatchedNodesUnMatchingLinks(
+  IBNode *p_sNode,
+  IBNode *p_dNode,
+  stringstream &diag)
+{
+  int anyMissmatch = 0;
+  // missmatch is when port numbers differ
+  // or the remote node is not the same.
+  IBPort *p_sPort, *p_dRemPort;
+  IBPort *p_dPort, *p_sRemPort;
+
+  for (unsigned int pn = 1; pn <= p_dNode->numPorts; pn++) {
+    p_dPort = p_dNode->getPort(pn);
+    p_sPort = p_sNode->getPort(pn);
+    if (p_dPort)
+      p_dRemPort = p_dPort->p_remotePort;
+    else
+      p_dRemPort = NULL;
+
+    if (p_sPort)
+      p_sRemPort = p_sPort->p_remotePort;
+    else
+      p_sRemPort = NULL;
+
+    // so we have four cases
+    if (p_dRemPort && p_sRemPort) {
+      // can we ignore this report:
+      if (!p_dRemPort->p_node->appData1.ptr)
+        continue;
+
+      IBNode *p_actRemSNode = (IBNode *)p_dRemPort->p_node->appData1.ptr;
+      IBPort *p_actRemSPort = p_actRemSNode->getPort(p_dRemPort->num);
+
+      // make sure the expected remote spec node is what we got.
+      if (p_actRemSNode != p_sRemPort->p_node) {
+        // clasify internal and external cables
+        if (p_sNode->p_system != p_actRemSNode->p_system) {
+          IBPort *p_repPort = p_actRemSNode->getPort(p_dRemPort->num);
+          if (p_repPort)
+            diag << "Wrong cable connecting:" << p_sPort->getName()
+                 << " to:" << p_repPort->getName()
+                 << " instead of:" << p_sRemPort->getName() << endl;
+          else
+            diag << "Wrong cable connecting:" << p_sPort->getName()
+                 << " to:" << p_actRemSNode->name << "/P" << p_dRemPort->num
+                 << " instead of:" << p_sRemPort->getName() << endl;
+        } else {
+          diag << "Wrong Internal Link connecting:" << p_sPort->getName()
+               << " to:" << p_actRemSNode->name << "/P" << p_dRemPort->num
+               << " instead of:" << p_sRemPort->getName() << endl;
+        }
+        anyMissmatch++;
+      } else {
+        // make sure same port remote number
+        if (p_dRemPort->num != p_sRemPort->num) {
+          if (p_sNode->p_system != p_actRemSNode->p_system) {
+            IBPort *p_repPort = p_actRemSNode->getPort(p_dRemPort->num);
+            if (p_repPort)
+              diag << "Wrong cable connecting:" << p_sPort->getName()
+                   << " to:" << p_repPort->getName()
+                   << " instead of:" << p_sRemPort->getName() << endl;
+            else
+              diag << "Wrong cable connecting:" << p_sPort->getName()
+                   << " to:" << p_actRemSNode->name << "/P" << p_dRemPort->num
+                   << " instead of:" << p_sRemPort->getName() << endl;
+          } else {
+            diag << "Wrong Internal Link connecting:" << p_sPort->getName()
+                 << " to:" << p_actRemSNode->name << "/P" << p_dRemPort->num
+                 << " instead of:" << p_sRemPort->getName() << endl;
+          }
+          anyMissmatch++;
+        }
+      }
+      // anyway make sure we got the width and speed.
+      if (p_sPort->width != p_dPort->width) {
+        diag << "Wrong link width on:" << p_sPort->getName()
+             << ". Expected:" << width2char(p_sPort->width)
+             << " got:" << width2char(p_dPort->width) << endl;
+        anyMissmatch++;
+      }
+      if (p_sPort->speed != p_dPort->speed) {
+        diag << "Wrong link speed on:" << p_sPort->getName()
+             << ". Expected:" << speed2char(p_sPort->speed)
+             << " got:" << speed2char(p_dPort->speed) << endl;
+        anyMissmatch++;
+      }
+      // done with the case both spec and dicsovered links exists
+    } else if (!p_dRemPort && p_sRemPort) {
+      // We have a missing cable/link
+
+      // can we ignore this report if not both spec nodes matched
+      // or not up going ...
+      if (!p_sRemPort->p_node->appData1.ptr)
+        continue;
+
+      // we can ignore cases where the other side of the link is
+      // connected - since it will be reported later
+      IBPort *p_actRemPort =
+        ((IBNode *)p_sRemPort->p_node->appData1.ptr)->getPort(p_sRemPort->num);
+      if (p_actRemPort && p_actRemPort->p_remotePort)
+        continue;
+
+      // as the spec connections are reciprocal we do not want double the
+      // report
+      if (p_sPort > p_sRemPort)
+      {
+        // clasify the link as cable or internal
+        if (p_sPort->p_sysPort || p_sRemPort->p_sysPort) {
+          diag << "Missing cable connecting:" << p_sPort->getName()
+               << " to:" <<  p_sRemPort->getName() << endl;
+        } else {
+          diag << "Missing internal Link connecting:" << p_sPort->getName()
+               << " to:" << p_sRemPort->getName() << endl;
+        }
+      }
+      anyMissmatch++;
+
+    } else if (p_dRemPort && !p_sRemPort) {
+      // Only a discovered link exists:
+
+      // can we ignore this report if not both discovered nodes matched
+      // or not up going ...
+      if (!p_dRemPort->p_node->appData1.ptr)
+        continue;
+
+      // we can ignore cases where the other side of the link was
+      // supposed to be connected - since it will be reported later as wrong
+      IBPort *p_actRemPort =
+        ((IBNode *)p_dRemPort->p_node->appData1.ptr)->getPort(p_dRemPort->num);
+      if (p_actRemPort && p_actRemPort->p_remotePort)
+        continue;
+
+      // we also ignore it by comparing pointer values on discoeverd
+      // fabric to avoid double reporting.
+      if (p_dRemPort < p_dPort) continue;
+
+      string portName;
+      if (p_dRemPort->p_node->appData1.ptr) {
+        IBPort *p_port =
+          ((IBNode *)p_dRemPort->p_node->appData1.ptr)->getPort(p_dRemPort->num);
+        // We can not guarantee all ports match on matching nodes
+        if (p_port)
+          portName = p_port->getName();
+        else
+        {
+          char buff[256];
+          sprintf(buff, "%s/P%d",
+                  ((IBNode *)p_dRemPort->p_node->appData1.ptr)->name.c_str(),
+                  p_dRemPort->num);
+
+          portName = string(buff);
+        }
+      } else {
+        portName = p_dRemPort->getName();
+      }
+
+      string specPortName;
+      if (p_sPort)
+        specPortName = p_sPort->getName();
+      else {
+        char buf[16];
+        sprintf(buf,"%d",pn);
+        specPortName = p_sNode->name + "/" + buf;
+      }
+
+      // clasify the link as cable or internal
+      if ((p_dNode->p_system != p_dRemPort->p_node->p_system) ||
+          (p_sPort && p_sPort->p_sysPort) ) {
+        diag << "Extra cable connecting:" << specPortName
+             << " to:" << portName  << endl;
+      } else {
+        diag << "Extra internal Link connecting:" << specPortName
+             << " to:" << portName << endl;
+      }
+      anyMissmatch++;
+    }
+  }
+  if (anyMissmatch) diag << endl;
+
+  return(anyMissmatch);
+}
+
+static void
+TopoCleanUpBeforeMerge(IBFabric *p_sFabric, IBFabric *p_dFabric)
+{
+  IBNode *p_node;
+  // since we only use the appData1 and appData2 on all node  ...
+  for (map_str_pnode::iterator nI = p_sFabric->NodeByName.begin();
+       nI != p_sFabric->NodeByName.end();
+       nI++) {
+    p_node = (*nI).second;
+    p_node->appData1.ptr = 0;
+    p_node->appData2.val = 0;
+  }
+
+  for (map_str_pnode::iterator nI = p_dFabric->NodeByName.begin();
+       nI != p_dFabric->NodeByName.end();
+       nI++) {
+    p_node = (*nI).second;
+    p_node->appData1.ptr = 0;
+    p_node->appData2.val = 0;
+  }
+}
+
+// Report Topology Missmatched and Build the Merged Fabric:
+int
+TopoReportMissmatches(
+  IBPort *p_sPort, // Starting port on the specification fabrric
+  IBPort *p_dPort,
+  stringstream &diag)
+{
+  IBNode *p_sNode;
+  IBNode *p_dNode;
+  int anyMissmatchedSpecNodes = 0;
+  int anyMissmatchedDiscNodes = 0;
+  int anyMissmatchedLinks = 0;
+
+  // since we do not want to report errors created by previous node failure
+  // to discover or match we will BFS from the start ports.
+
+  // NOTE: we only put matched nodes in the fifo.
+  list < IBNode * > bfsFifo;
+
+  // If the starting nodes match:
+  if (p_dPort->p_node->appData1.ptr)
+    bfsFifo.push_back(p_dPort->p_node);
+
+  // BFS through the fabric reporting
+  while (! bfsFifo.empty()) {
+    p_dNode = bfsFifo.front();
+    bfsFifo.pop_front();
+    // we got in here only with matching nodes:
+    p_sNode = (IBNode *)p_dNode->appData1.ptr;
+    if (!p_sNode) {
+      cerr << "How did we get in BFS with missmatching nodes!" << endl;
+      exit (1);
+    }
+
+    // Try to match all ports of the current nodes
+    // we assume port counts match since the nodes match
+    for (unsigned int pn = 1; pn <= p_dNode->numPorts; pn++) {
+      IBPort *p_dPort = p_dNode->getPort(pn);
+      IBPort *p_sPort = p_sNode->getPort(pn);
+
+      if (! p_dPort || !p_sPort) continue;
+
+      IBPort *p_dRemPort = p_dPort->p_remotePort;
+      IBPort *p_sRemPort = p_sPort->p_remotePort;
+
+      // we only do care about spec nodes for now:
+      if (!p_sRemPort ) continue;
+
+      // if we did visit it by this reporting algorithm:
+      if (TopoIsNodeMarkedAsReported(p_sRemPort->p_node)) continue;
+
+      // if the remote spec node is not marked matched:
+      if (!p_sRemPort->p_node->appData1.ptr) {
+        if (TopoReportMismatchedNode(p_sRemPort->p_node, 1, diag))
+          anyMissmatchedSpecNodes++;
+      } else {
+        // mark as visited.
+        TopoMarkNodeAsReported(p_sRemPort->p_node);
+
+        // ok so we matched the nodes - put them in for next step:
+        if (p_dRemPort) {
+           if (p_dRemPort->p_node->appData1.ptr)
+              bfsFifo.push_back(p_dRemPort->p_node);
+        }
+      }
+    } // all ports
+  } // next nodes available...
+
+  if (anyMissmatchedSpecNodes) diag << endl;
+
+  IBFabric *p_dFabric = p_dPort->p_node->p_fabric;
+
+  // now when we are done reporting missing - let us report extra nodes:
+  // but we only want to count those who touch matching nodes BFS wise...
+  // If the starting nodes match:
+  if (p_dPort->p_node->appData1.ptr) {
+    bfsFifo.push_back(p_dPort->p_node);
+  } else {
+    diag << "Even starting ports do not match! "
+         << "Expected:" << p_sPort->getName()
+         << " but it is probably not connected correctly." <<  endl;
+    anyMissmatchedDiscNodes++;
+  }
+
+  // we track visited nodes in here by clearing their visited bits
+
+  // BFS through the fabric reporting
+  while (! bfsFifo.empty()) {
+    p_dNode = bfsFifo.front();
+    bfsFifo.pop_front();
+
+    int anyPortMatch = 0;
+    // Try to match all ports of the current nodes
+    // we assume port counts match since the nodes match
+    for (unsigned int pn = 1; pn <= p_dNode->numPorts; pn++) {
+
+      IBPort *p_tmpPort = p_dNode->getPort(pn);
+
+      if (! p_tmpPort) continue;
+
+      IBPort *p_dRemPort = p_tmpPort->p_remotePort;
+
+      if (!p_dRemPort) continue;
+
+      IBNode *p_node = p_dRemPort->p_node;
+
+      // we only care about missmatched discovered nodes
+      if (! p_node->appData1.ptr) {
+        // if not already visited.
+        if (! TopoIsNodeMarkedAsReported(p_node))
+          if (TopoReportMismatchedNode(p_node, 0, diag))
+            anyMissmatchedDiscNodes++;
+      } else {
+        // if not already visited.
+        if (! TopoIsNodeMarkedAsReported(p_node))
+          // it is an OK node so we traverse through
+          bfsFifo.push_back(p_node);
+        anyPortMatch++;
+      }
+    } // all ports
+
+    p_sNode = (IBNode *)p_dNode->appData1.ptr;
+    if (!anyPortMatch) {
+      diag << "None of node:" << p_sNode->name
+           << " remote nodes match the topology."
+           << " No further extra nodes reported" << endl;
+    }
+
+    TopoMarkNodeAsReported(p_dNode);
+  } // next nodes available...
+
+  if (anyMissmatchedDiscNodes) diag << endl;
+
+  // finaly we want to report any missmatched cables between matching nodes
+  for (map_str_pnode::iterator nI = p_dFabric->NodeByName.begin();
+       nI != p_dFabric->NodeByName.end();
+       nI++) {
+    p_dNode = (*nI).second;
+    p_sNode = (IBNode *)p_dNode->appData1.ptr;
+    if ( p_sNode ) {
+      // report any missmatched links on this node.
+      if (TopoReportMatchedNodesUnMatchingLinks(p_sNode, p_dNode, diag))
+        anyMissmatchedLinks++;
+    }
+  }
+
+  if (anyMissmatchedLinks) diag << endl;
+
+  return anyMissmatchedLinks +
+    anyMissmatchedDiscNodes +
+    anyMissmatchedSpecNodes;
+}
+
+// Return 0 if fabrics match 1 otherwise.
+int
+TopoMatchFabrics(
+  IBFabric *p_sFabric,      // The specification fabric
+  IBFabric *p_dFabric,      // The discovered fabric
+  char     *anchorNodeName, // The name of the system to be the anchor point
+  int       anchorPortNum,  // The port number of the anchor port
+  uint64_t  anchorPortGuid, // Guid of the anchor port
+  char **messages)
+{
+  stringstream diag, tmpDiag;
+  int status = 0;
+
+  IBNode *p_sNode;
+  IBPort *p_sPort;
+  IBPort *p_dPort;
+
+  // get the anchor port on the spec fabric - by name:
+  p_sNode = p_sFabric->getNode(anchorNodeName);
+  if (! p_sNode) {
+    diag << "Fail to find anchor node:"
+         << anchorNodeName << " on the specification fabric." << endl;
+    status = 1;
+    goto Exit;
+  }
+
+  p_sPort = p_sNode->getPort(anchorPortNum);
+  if (! p_sPort) {
+    diag << "Fail to find anchor port:"
+         << anchorNodeName <<  anchorPortNum
+         << " in the specification fabric." << endl;
+    status = 1;
+    goto Exit;
+  }
+
+  // get the anchor port on the discovered fabric - by guid.
+  p_dPort = p_dFabric->getPortByGuid(anchorPortGuid);
+  if (! p_dPort) {
+    diag << "Fail to find anchor port guid:"
+         << guid2str(anchorPortGuid)
+         << " in the discovered fabric." << endl;
+    status = 1;
+    goto Exit;
+  }
+
+  // Cleanup the flags we use for tracking matching and progress
+  TopoCleanUpBeforeMerge(p_sFabric, p_dFabric);
+
+  // Do a BFS matching nodes from each fabrics. When this leaves
+  // the appData1.ptr will cross point. status is 0 if there is no
+  // difference
+  status = TopoBFSAndMatchFromPorts(p_sPort, p_dPort, tmpDiag);
+  if (status) {
+    cout << "-W- Topology Matching First Phase Found Missmatches:\n"
+         << tmpDiag.str() << endl;
+  }
+
+  // Do the second step in matching - rely on preexisting matched nodes
+  // and try to map the unmatched.
+  TopoMatchSpecNodesByAdjacentNode(p_sFabric);
+
+  if (TopoReportMissmatches(p_sPort, p_dPort, diag))
+    status = 1;
+
+ Exit:
+
+  string msg(diag.str());
+  int msgLen = strlen(msg.c_str());
+  if (msgLen) {
+    *messages = (char *)malloc(msgLen + 1);
+    strncpy(*messages, msg.c_str(), msgLen);
+    (*messages)[msgLen] = '\0';
+  } else {
+    *messages = NULL;
+  }
+  return(status);
+}
+
+// Given a disc node pointer create the merged system and node by inspecting
+// the merged spec fabric too.
+// The node will have all it's ports setup (no links) and the system and
+// sysPorts as well
+static IBNode *
+TopoCopyNodeToMergedFabric(
+  IBFabric *p_mFabric,
+  IBNode   *p_dNode)
+{
+  IBNode    *p_sNode = (IBNode *)p_dNode->appData1.ptr;
+  IBSystem  *p_system = 0;
+  IBSysPort *p_sysPort = 0;
+  IBNode    *p_node = 0;
+
+  string nodeName = p_dNode->name;
+  string sysName =  p_dNode->p_system->name;
+  string sysType =  p_dNode->p_system->type;
+
+  // if we have a matching spec node we use that instead:
+  if ( p_sNode ) {
+    nodeName = p_sNode->name;
+    sysName =  p_sNode->p_system->name;
+    sysType =  p_sNode->p_system->type;
+  }
+
+  // make sure the system exists:
+  // NOTE - we can not use the makeSystem of the fabric since it
+  // will instantiate the entire system.
+  p_system = p_mFabric->getSystem(sysName);
+  if (!p_system) {
+    p_system = new IBSystem(sysName, p_mFabric, sysType);
+    // copy other system info:
+    p_system->guid_set(p_dNode->p_system->guid_get());
+  }
+
+  // create the node:
+  p_node = p_mFabric->getNode(nodeName);
+  if (! p_node) {
+    p_node =
+      p_mFabric->makeNode(nodeName, p_system, p_dNode->type,
+                          p_dNode->numPorts);
+
+    // copy extra info:
+    p_node->guid_set(p_dNode->guid_get());
+    p_node->devId  = p_dNode->devId;
+    p_node->revId  = p_dNode->revId;
+    p_node->vendId = p_dNode->vendId;
+
+    if (p_sNode)
+      p_node->attributes = p_sNode->attributes;
+
+    if (p_dNode && p_dNode->attributes.size())
+      if (p_node->attributes.size()) {
+        p_node->attributes += string(",") + p_dNode->attributes;
+      } else {
+        p_node->attributes = p_dNode->attributes;
+      }
+
+    // create the node ports:
+    for (unsigned int pn = 1; pn <=  p_dNode->numPorts; pn++) {
+
+      // we only care if the discovered port exists:
+      IBPort *p_dPort = p_dNode->getPort(pn);
+      if (! p_dPort) continue;
+
+      // some fabrics might be generated with all ports
+      // pre-allocated.
+      IBPort *p_port = p_node->getPort(pn);
+      if (!p_port) p_port = new IBPort(p_node, pn);
+
+      // copy some vital data:
+      p_port->guid_set(p_dPort->guid_get());
+      p_port->base_lid = p_dPort->base_lid;
+      p_mFabric->setLidPort(p_port->base_lid, p_port);
+      if (p_mFabric->maxLid < p_port->base_lid)
+        p_mFabric->maxLid = p_port->base_lid;
+
+      // if there is a matching spec port we use it and get the
+      // sys port name etc
+      IBPort *p_sPort = 0;
+      if (p_sNode) p_sPort = p_sNode->getPort(pn);
+      if (p_sPort) {
+        // if we had a spec sysPort make it:
+        if (p_sPort->p_sysPort) {
+          p_sysPort = new IBSysPort(p_sPort->p_sysPort->name, p_system);
+          p_sysPort->p_nodePort = p_port;
+          p_port->p_sysPort = p_sysPort;
+        } else {
+          p_port->p_sysPort = 0;
+        }
+      } else {
+        // the discovered fabric might have a sysport?
+        if (p_dPort->p_sysPort) {
+          p_sysPort = new IBSysPort(p_dPort->p_sysPort->name, p_system);
+          p_sysPort->p_nodePort = p_port;
+          p_port->p_sysPort = p_sysPort;
+        } else {
+          p_port->p_sysPort = 0;
+        }
+      }
+    }
+  }
+  return p_node;
+}
+
+// Copy the link from the p_dPort to it's remote port to the
+// given merged port.
+static void
+TopoCopyLinkToMergedFabric(
+  IBFabric *p_mFabric,
+  IBPort   *p_mPort,
+  IBPort   *p_dPort)
+{
+
+  // make sure the remote node exists or copy it to the merged fabric
+  IBNode *p_remNode =
+    TopoCopyNodeToMergedFabric(p_mFabric, p_dPort->p_remotePort->p_node);
+
+  // find the remote port on the merged fabric
+  IBPort *p_remPort = p_remNode->getPort(p_dPort->p_remotePort->num);
+  if (!p_remPort ) {
+    cerr << "-F- No Remote port:" << p_dPort->p_remotePort->num
+         << " on node:" << p_remNode->name << endl;
+    exit(1);
+  }
+
+  // we need to create sys ports connection if both ports are on sys ports
+  if (p_remPort->p_sysPort && p_mPort->p_sysPort) {
+    p_remPort->p_sysPort->connect(p_mPort->p_sysPort,
+                                  p_dPort->width,
+                                  p_dPort->speed);
+  }
+  else
+    // The following error messages are actually not required at
+    // all. If there is a missmatch on an internal node this will happen.
+    /*
+      if (p_remPort->p_sysPort) {
+      cout << "-E- Linking:" << p_mPort->getName() << " to:"
+      << p_remPort->p_node->name
+      << "/" << p_dPort->p_remotePort->num << endl;
+      cout << "-F- BAD LINK since Remote System port:"
+      << p_remPort->p_sysPort->name << " exists, but no sys port for:"
+      << p_mPort->getName() << endl;
+      // exit(1);
+      } else if (p_mPort->p_sysPort) {
+      cout << "-F- BAD LINK since local has System port:"
+      << p_mPort->p_sysPort->name << " exists, but no sys port for:"
+      << p_remPort->getName() << endl;
+      // exit(1);
+      } else
+    */
+  {
+    p_mPort->connect(p_remPort, p_dPort->width, p_dPort->speed);
+    p_remPort->connect(p_mPort, p_dPort->width, p_dPort->speed);
+  }
+}
+
+// Build a merged fabric from a matched discovered and spec fabrics:
+// * Every node from the discovered fabric must appear
+// * We sued matched nodes adn system names.
+int
+TopoMergeDiscAndSpecFabrics(
+  IBFabric  *p_sFabric,
+  IBFabric  *p_dFabric,
+  IBFabric  *p_mFabric)
+{
+
+  // go through all nodes of the discovered fabric.
+  // copy all their systems, and links...
+  p_dFabric->setLidPort(0, NULL);
+  p_dFabric->minLid = 1;
+  p_dFabric->maxLid = 0;
+
+  for (map_str_pnode::iterator nI = p_dFabric->NodeByName.begin();
+       nI != p_dFabric->NodeByName.end();
+       nI++) {
+    IBNode *p_dNode = (*nI).second;
+
+    // make sure the node exists as well as the system and ports and
+    // sysports:
+    IBNode *p_node = TopoCopyNodeToMergedFabric(p_mFabric, p_dNode);
+
+    // go over all ports and connect accordingly:
+    for (unsigned int pn = 1; pn <=  p_dNode->numPorts; pn++) {
+      IBPort *p_dPort = p_dNode->getPort(pn);
+      IBPort *p_port = p_node->getPort(pn);
+
+      // we got a remote connection:
+      if (p_port && p_dPort && p_dPort->p_remotePort) {
+        TopoCopyLinkToMergedFabric(p_mFabric, p_port, p_dPort);
+      }
+    }
+  }
+  p_mFabric->minLid = p_dFabric->minLid;
+  return 0;
+}
+
+
+
+
+
diff --git a/ibdm/ibdm/TopoMatch.h b/ibdm/ibdm/TopoMatch.h
new file mode 100644
index 0000000..b5f3a3d
--- /dev/null
+++ b/ibdm/ibdm/TopoMatch.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+// Return 0 if fabrics match 1 otherwise.
+// fill in the messages char array with diagnostics..
+int
+TopoMatchFabrics(
+  IBFabric *p_sFabric,      // The specification fabric
+  IBFabric *p_dFabric,      // The discovered fabric
+  char     *anchorNodeName, // The name of the node to be the anchor point
+  int       anchorPortNum,  // The port number of the anchor port
+  uint64_t  anchorPortGuid, // Guid of the anchor port
+  char **messages);
+
+// Build a merged fabric from a matched discovered and spec fabrics:
+// * Every node from the discovered fabric must appear
+// * We sued matched nodes adn system names.
+int
+TopoMergeDiscAndSpecFabrics(
+  IBFabric  *p_sFabric,
+  IBFabric  *p_dFabric,
+  IBFabric  *p_mFabric);
+
diff --git a/ibdm/ibdm/TraceRoute.cpp b/ibdm/ibdm/TraceRoute.cpp
new file mode 100644
index 0000000..8a9a282
--- /dev/null
+++ b/ibdm/ibdm/TraceRoute.cpp
@@ -0,0 +1,347 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include <iomanip>
+
+// Trace a direct route from the given SM node port
+int TraceDRPathRoute (IBPort *p_smNodePort, list_int drPathPortNums) {
+  IBPort *p_port = p_smNodePort;
+  IBNode *p_node;
+  IBPort *p_remPort;
+  IBNode *p_remNode;
+  IBPort *p_nextPort;
+  unsigned int outPortNum;
+  unsigned int hop = 0;
+  list_int::iterator pI = drPathPortNums.begin();
+
+  // check we haev at least two hops:
+  if (drPathPortNums.size() < 2) {
+	 cout << "-E- We expect at least 2 hops to get out of the SM Node! (got:"
+			<< drPathPortNums.size() << ")" << endl;
+	 return(1);
+  }
+
+  // we require it to start with zero - marking the internal hop
+
+  if (*pI != 0) {
+	 cout << "-E- Direct Route Ports list must start with a zero !" << endl;
+	 return(1);
+  }
+
+  // The second port in the we require it to start with zero - marking the internal hop
+  pI++;
+  if (*pI != p_port->num) {
+	 cout << "-E- Direct Route Ports second hop must match the SM port number !"
+			<< " (got:" << *pI << ")" << endl;
+	 return(1);
+  }
+
+  // we are at the port of the SM node so we are at hop 1.
+  hop = 1;
+  pI++; // points to next hop in the list
+
+  // we traverse to null port or max number of hops reached.
+  while (p_port && (hop < drPathPortNums.size())) {
+		// get the node
+		p_node = p_port->p_node;
+
+		if (p_port->p_sysPort) {
+		  // is external port:
+		  cout << "[" << setw(3) <<hop << "] FROM Host:" << p_node->p_system->name.c_str()
+				 << " Plug:" << p_port->p_sysPort->name.c_str() << endl;
+		  cout << "           Node:"  << p_node->name.c_str() << " Port:" << p_port->num << endl;
+		} else {
+		  // internal so provide only internal data:
+		  cout << "[" << setw(3) << hop << "] FROM Node:"  << p_node->name.c_str() << " Port:"
+				 << p_port->num << endl;
+		}
+
+		// we calc next step port:
+		p_nextPort = NULL;
+
+		// start going to the other side:
+		p_remPort = p_port->p_remotePort;
+		if (p_remPort != NULL) {
+		  p_remNode = p_remPort->p_node;
+
+		  // The to section:
+		  if (p_remPort->p_sysPort) {
+			 // is external port:
+			 cout << "      TO   Host:" << p_remNode->p_system->name.c_str()
+					<< " Plug:" << p_remPort->p_sysPort->name.c_str() << endl;
+			 cout << "           Node:"  << p_remNode->name.c_str() << " Port:" << p_remPort->num << endl;
+		  } else {
+			 // internal so provide only internal data:
+			 cout << "      TO   Node:"  << p_remNode->name.c_str() << " Port:" << p_remPort->num << endl;
+		  }
+
+		  if (pI != drPathPortNums.end()) {
+			 // calc the next port
+			 outPortNum = *pI - 1;
+			 // we could get stuck on bad port num
+			 if (outPortNum > p_remNode->numPorts || outPortNum < 0) {
+				cout << "-E- Bad port number:" << outPortNum << " hop:" << hop << endl;
+				return 1;
+			 }
+
+			 // port not connected
+			 if (p_remNode->Ports[outPortNum] == NULL) {
+				cout << "[" << setw(3) << hop << "] Broken Route: not connected port:" << outPortNum << endl;
+				return 1;
+			 }
+
+			 p_nextPort = p_remNode->Ports[outPortNum];
+		  }
+
+		  pI++;
+		  hop++;
+		}
+		p_port = p_nextPort;
+  }
+
+  return 0;
+}
+
+typedef set< IBNode *, less< IBNode * > > set_p_node;
+
+// Trace the path between the lids based on min hop count only
+int
+TraceRouteByMinHops (IBFabric *p_fabric,
+							unsigned int slid , unsigned int dlid) {
+  IBPort *p_port = p_fabric->getPortByLid(slid), *p_remPort, *p_nextPort;
+  IBNode *p_node, *p_remNode;
+  unsigned int hop = 0;
+  set_p_node visitedNodes;
+
+  // make sure:
+  if (! p_port) {
+	 cout << "-E- Provided source:" << slid
+			<< " lid is not mapped to a port!" << endl;
+	 return(1);
+  }
+
+  // find the physical port we out from:
+  p_port = p_port->p_node->getFirstMinHopPort(dlid);
+  if (!p_port) {
+    cout << "-E- Fail to obtain minhop port for switch:" << slid << endl;
+    return(1);
+  }
+
+  cout << "--------------------------- TRACE PATH BY MIN HOPS -------------------------" << endl;
+  cout << "-I- Tracing by Min Hops from lid:" << slid
+		 << " to lid:" << dlid << endl;
+  // we traverse to target dlid
+  while (p_port) {
+		// get the node
+		p_node = p_port->p_node;
+
+		if (p_port->p_sysPort) {
+		  // is external port:
+		  cout << "[" << setw(3) << hop << "] FROM Host:" << p_node->p_system->name.c_str()
+				 << " Plug:" << p_port->p_sysPort->name.c_str() << endl;
+		  cout << "           Node:"  << p_node->name.c_str() << " Port:" << p_port->num << endl;
+		} else {
+		  // internal so provide only internal data:
+		  cout << "[" << setw(3) << hop << "] FROM Node:"  << p_node->name.c_str() << " Port:"
+				 << p_port->num << endl;
+		}
+
+		// we calc next step port:
+		p_nextPort = NULL;
+
+		// start going to the other side:
+		p_remPort = p_port->p_remotePort;
+		if (p_remPort != NULL) {
+		  p_remNode = p_remPort->p_node;
+
+        // did we already visit this node?
+        set_p_node::iterator sI = visitedNodes.find(p_remNode);
+        if (sI != visitedNodes.end()) {
+          cout << "-E- Run into loop in min hop path at node:" << p_remNode->name << endl;
+          return 1;
+        }
+        visitedNodes.insert(p_remNode);
+
+		  // The to section:
+		  if (p_remPort->p_sysPort) {
+			 // is external port:
+			 cout << "      TO   Host:" << p_remNode->p_system->name.c_str()
+					<< " Plug:" << p_remPort->p_sysPort->name.c_str() << endl;
+			 cout << "           Node:"  << p_remNode->name.c_str() << " Port:" << p_remPort->num << endl;
+		  } else {
+			 // internal so provide only internal data:
+			 cout << "      TO   Node:"  << p_remNode->name.c_str() << " Port:" << p_remPort->num << endl;
+		  }
+
+		  // we need next port only if we are on a switch:
+		  if (p_remNode->type == IB_SW_NODE) {
+			 p_nextPort = p_remNode->getFirstMinHopPort(dlid);
+		  }
+		  hop++;
+		}
+		p_port = p_nextPort;
+  }
+  cout << "---------------------------------------------------------------------------\n" << endl;
+  return 0;
+}
+
+// Trace a route from slid to dlid by LFT
+int TraceRouteByLFT (
+  IBFabric *p_fabric,
+  unsigned int sLid , unsigned int dLid,
+  unsigned int *hops,
+  list_pnode *p_nodesList) {
+
+  IBPort *p_port = p_fabric->getPortByLid(sLid);
+  IBNode *p_node;
+  IBPort *p_remotePort;
+  unsigned int lidStep = 1 << p_fabric->lmc;
+  int hopCnt = 0;
+
+  // make sure:
+  if (! p_port) {
+	 cout << "-E- Provided source:" << sLid
+			<< " lid is not mapped to a port!" << endl;
+	 return(1);
+  }
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE) {
+	 cout << "--------------------------- TRACE PATH BY FDB -----------------------------" << endl;
+	 cout << "-V- Tracing from lid:" << sLid << " to lid:"
+			<< dLid << endl;
+  }
+
+  if (hops) *hops = 0;
+
+  // if the port is not a switch - go to the next switch:
+  if (p_port->p_node->type != IB_SW_NODE) {
+	 // try the next one:
+	 if (!p_port->p_remotePort) {
+		cout << "-E- Provided starting point is not connected !"
+			  << "lid:" << sLid << endl;
+		return 1;
+	 }
+	 p_node = p_port->p_remotePort->p_node;
+	 if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-V- Arrived at Node:" << p_node->name
+			  << " Port:" << p_port->p_remotePort->num << endl;
+  } else {
+	 // it is a switch :
+	 p_node = p_port->p_node;
+  }
+
+
+  // verify we are finally of a switch:
+  if (p_node->type != IB_SW_NODE) {
+		cout << "-E- Provided starting point is not connected to a switch !"
+			  << "lid:" << sLid << endl;
+		return 1;
+  }
+
+  // traverse:
+  int done = 0;
+  while (!done) {
+	 // insert the node pointer to the list
+	 if (p_nodesList) {
+		p_nodesList->push_back(p_node);
+	 }
+
+	 // calc next node:
+	 int pn = p_node->getLFTPortForLid(dLid);
+	 if (pn == IB_LFT_UNASSIGNED) {
+		cout << "-E- Unassigned LFT for lid:" << dLid << " Dead end at:" << p_node->name << endl;
+		return 1;
+	 }
+
+    // if the port number is 0 we must have reached the target
+    if (pn == 0)
+    {
+      uint16_t base_lid = 0;
+      // get lid of any port of this node
+      for (unsigned int portNum = 0;
+           (base_lid == 0) && (portNum <= p_node->numPorts); portNum++)
+      {
+        IBPort *p_port = p_node->getPort(portNum);
+        if (p_port) base_lid = p_port->base_lid;
+      }
+      if (base_lid == 0) {
+        cout << "-E- Fail to find node:" << p_node->name
+             << " base lid?" << endl;
+        return 1;
+      }
+
+      if ((base_lid > dLid) || (base_lid + lidStep - 1 < dLid)) {
+        cout << "-E- Dead end at port 0 of node:" << p_node->name << endl;
+        return 1;
+      }
+
+      return 0;
+    }
+
+	 // get the port on the other side
+	 p_port = p_node->getPort(pn);
+	 if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-V- Going out on port:" << pn << endl;
+
+	 if (! (p_port &&
+			  p_port->p_remotePort &&
+			  p_port->p_remotePort->p_node)) {
+		cout << "-E- Dead end at:" << p_node->name << endl;
+		return 1;
+	 }
+
+	 if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+		cout << "-V- Arrived at Node:" << p_port->p_remotePort->p_node->name
+			  << " Port:" << p_port->p_remotePort->num << endl;
+
+	 p_remotePort = p_port->p_remotePort;
+	 // check if we are done:
+	 done = ((p_remotePort->base_lid <= dLid) &&
+				(p_remotePort->base_lid+lidStep - 1 >= dLid));
+
+	 p_node = p_remotePort->p_node;
+	 if (hops) (*hops)++;
+	 if (hopCnt++ > 256) {
+		cout << "-E- Aborting after 256 hops - loop in LFT?" << endl;
+		return 1;
+	 }
+  }
+
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+	 cout << "---------------------------------------------------------------------------\n" << endl;
+
+  return 0;
+}
+
diff --git a/ibdm/ibdm/TraceRoute.h b/ibdm/ibdm/TraceRoute.h
new file mode 100644
index 0000000..52e7fb0
--- /dev/null
+++ b/ibdm/ibdm/TraceRoute.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBDM_FABRIC_TRACE_ROUTE_H
+#define IBDM_FABRIC_TRACE_ROUTE_H
+
+#include "Fabric.h"
+
+// Trace a direct route from the given SM node port
+int TraceDRPathRoute (IBPort *p_smNodePort, list_int drPathPortNums);
+
+// Trace a route from slid to dlid by Min Hop
+int TraceRouteByMinHops (IBFabric *p_fabric,
+  unsigned int slid , unsigned int dlid);
+
+// Trace a route from slid to dlid by LFT
+int TraceRouteByLFT (IBFabric *p_fabric,
+                     unsigned int slid , unsigned int dlid,
+                     unsigned int *hops, list_pnode *p_nodesList);
+
+#endif /* IBDM_FABRIC_TRACE_ROUTE_H */
diff --git a/ibdm/ibdm/fixSwigWrapper b/ibdm/ibdm/fixSwigWrapper
new file mode 100755
index 0000000..af7ec48
--- /dev/null
+++ b/ibdm/ibdm/fixSwigWrapper
@@ -0,0 +1,216 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+  exec tclsh "$0" "$@"
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+proc Usage {} {
+	global argv0
+	puts "Usage: $argv0 \[-r <prompt>\] \[-g\] \[-s\] \[-p\] -o <out-file>"
+}
+
+proc Help {} {
+	puts "\nfixSwigWrapper : Applies extended behaviour to a swig_wrap.c\n"
+	Usage
+	puts "\nArguments:"
+	puts "-o out-file : The name of the out file\n"
+	puts "\nOptions:"
+	puts "-r prompt : add readline support using the given prompt"
+	puts "-g : Cleanup SWIG_GetPointerObj"
+	puts "-s : Cleanup SWIG_SetPointerObj"
+	puts "-p : Cleanup SWIG_MakePtr\n\n"
+	exit 1
+}
+
+# basically this code filters out the two swig functions:
+# SWIG_GetPointerObj
+# SWIG_SetPointerObj
+# from the given file and also adds one line just before the last
+# return statement
+
+proc LoadFile {fn} {
+	# open the file
+	if {[catch {set f [open $fn "r"]} e]} {
+		error "-E- LoadFile: $e"
+	}
+
+	while {[gets $f sLine] >= 0} {
+	        lappend linesList "$sLine"
+	}
+	close $f
+	set res "[join $linesList \n]"
+	puts stderr "-I- Loaded file: $fn with:[string length $res] chars"
+
+	return $res
+}
+
+proc remTrailingBlanks {code} {
+	regsub -line -all {[ 	]+$} $code {} code
+	return $code
+}
+
+
+# remove the given proc from the file
+proc remProc {code procName procRetType} {
+
+	# find the idx of the start of the procedure
+	if {! [regexp -indices -line "SWIGSTATIC\[\\s\n\]*$procRetType\[\\s\n\]*$procName" \
+				 $code sidx]} {
+		error "-E- Fail to find proc:$procName"
+	}
+
+	# assume the end of the procedure has a nice indented \}
+	if {! [regexp -start [lindex $sidx 0] -indices "\n\}" $code eidx]} {
+		error "-E- Fail to find proc:$procName end"
+	}
+
+	return [string replace $code [lindex $sidx 0] [lindex $eidx 1]]
+}
+
+proc addAtLastReturn {code text} {
+	# find the last "return TCL_OK"
+	set idx [string last {return TCL_OK} $code]
+	if {$idx <= 0} {
+		error "-E- Fail to find last return"
+	}
+
+	return [string replace $code $idx $idx $text]
+}
+
+
+# MAIN
+
+set removeGetObj 0
+set removeSetObj 0
+set removeMakePtr 0
+set userPrompt 0
+set removeTrailingBlanks 1
+set outFileName ""
+
+# parse command line args
+while {[llength $argv]} {
+	set sw [lindex $argv 0]
+	set argv [lrange $argv 1 end]
+
+	switch -- $sw {
+		-r {
+			if {![llength $argv]} {
+				puts "-E- Expected prompt value after -r"
+				Usage
+				exit 1
+			}
+			set userPrompt [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-o {
+			if {![llength $argv]} {
+				puts "-E- Expected file name value after -o"
+				Usage
+				exit 1
+			}
+			set outFileName [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-g { set removeGetObj 1}
+		-s { set removeSetObj 1}
+		-p { set removeMakePtr 1}
+		-h {
+			Help
+		}
+		default {
+			puts "-E- Unexpected argument: $sw"
+			Usage
+			exit 1
+		}
+	}
+}
+
+set readlineCode "
+   if (Tcl_PkgRequire(interp,\"tclreadline\",0,0) != NULL) \{
+     Tcl_Eval(interp,
+				  \"if \{\$tcl_interactive\} \{namespace eval tclreadline \{proc prompt1 \{\} \{return \\\"$userPrompt >\\\"\} \}; ::tclreadline::Loop $userPrompt.log \}\"
+     );
+   \}
+"
+
+if {[catch {set swigCode [LoadFile swig_wrap.c]} e]} {
+	puts "$e"
+	exit 3
+}
+
+if {$removeGetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_GetPointerObj "char \\*"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeTrailingBlanks} {
+	if {[catch {set swigCode [remTrailingBlanks $swigCode]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeSetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_SetPointerObj "void"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeMakePtr} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_MakePtr "int"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$userPrompt != 0} {
+	if {[catch {set swigCode [addAtLastReturn $swigCode "${readlineCode}r"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$outFileName != 0} {
+	if {[catch {set f [open $outFileName w]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+	puts $f $swigCode
+	close $f
+} else {
+	puts $swigCode
+}
diff --git a/ibdm/ibdm/git_version.h b/ibdm/ibdm/git_version.h
new file mode 100644
index 0000000..95a5675
--- /dev/null
+++ b/ibdm/ibdm/git_version.h
@@ -0,0 +1 @@
+#define IBDM_CODE_VERSION "undefined"
diff --git a/ibdm/ibdm/ibdm.i b/ibdm/ibdm/ibdm.i
new file mode 100644
index 0000000..7f3e0dc
--- /dev/null
+++ b/ibdm/ibdm/ibdm.i
@@ -0,0 +1,1451 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+
+/*
+ * IB Fabric Data Model (and Utilities)
+ *
+ * Data Model Interface File for TCL SWIG
+ *
+ */
+
+%title "IB Fabric Data Model - TCL Extention"
+
+%module ibdm
+%{
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <sstream>
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+#include "TraceRoute.h"
+#include "TopoMatch.h"
+#include "Congestion.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+%}
+
+%{
+  /* GLOBALS */
+  static char ibdm_tcl_error_msg[1024];
+  static int  ibdm_tcl_error;
+  static vector< IBFabric *> ibdm_fabrics;
+  static IBLinkWidth UnknownLinkWidth = IB_UNKNOWN_LINK_WIDTH;
+  static IBLinkSpeed UnknownLinkSpeed = IB_UNKNOWN_LINK_SPEED;
+  static IBLinkWidth DefaultLinkWidth = IB_LINK_WIDTH_4X;
+  static IBLinkSpeed DefaultLinkSpeed = IB_LINK_SPEED_2_5;
+
+  /*
+	  MAPPING IBDM OBJECTS TO TCL and BACK:
+	  The idea is that we have specifc rules for naming
+	  Node, Port, System and SystemPort for a specific Fabric.
+
+	  All Fabrics are stored by id in a global vector.
+
+	  So the object names will follow:
+	  <type>:<fabricIdx>/<name>
+
+  */
+
+  /* Given a fabric pointer return its idx (starting w 1) or 0 */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric) {
+	 /* go over all fabrics and find it's index: */
+	 for (unsigned int i = 0; i < ibdm_fabrics.size(); i++) {
+		if (ibdm_fabrics[i] == p_fabric) {
+		  return(i+1);
+		}
+	 }
+	 return(0);
+  }
+
+  /* Given a fabric idx return it's pointer */
+  /* Note the index is 1-N and thus we need to -1 it before access */
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx) {
+	 if ((idx > ibdm_fabrics.size()) || (idx < 1)) {
+		return NULL;
+	 }
+	 return ibdm_fabrics[idx - 1];
+  }
+
+  /*
+	 we provide our own constructor such that all IBFabrics are
+	 registered in the global vector;
+  */
+  IBFabric *new_IBFabric(void) {
+	 IBFabric *p_fabric = new IBFabric();
+    unsigned int i;
+	 if (p_fabric) {
+      /* look for an open index in the vector of fabrics */
+      for (i = 0; i < ibdm_fabrics.size(); i++)
+      {
+        if (ibdm_fabrics[i] == NULL)
+        {
+          ibdm_fabrics[i] = p_fabric;
+          return p_fabric;
+        }
+      }
+      ibdm_fabrics.push_back(p_fabric);
+	 }
+	 return p_fabric;
+  }
+
+  /*
+	 we provide our own destructor such that the deleted fabric is
+    de-registered from the global fabrics vector
+  */
+  void delete_IBFabric(IBFabric *p_fabric) {
+    int idx = ibdmGetFabricIdxByPtr(p_fabric);
+    if (! idx) {
+      printf("ERROR: Fabric idx:%p does not exist in the global vector!\n",
+             p_fabric);
+    } else {
+      ibdm_fabrics[idx-1] = NULL;
+    }
+    delete p_fabric;
+  }
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBNode *")) {
+		IBNode *p_node = (IBNode *)ptr;
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "node";
+	 } else if (!strcmp(type, "IBPort *")) {
+		IBPort *p_port = (IBPort *)ptr;
+		sprintf(name,":%s/%u", p_port->p_node->name.c_str(), p_port->num);
+		p_fabric = p_port->p_node->p_fabric;
+		uiType = "port";
+	 } else if (!strcmp(type, "IBSystem *")) {
+		IBSystem *p_system = (IBSystem *)ptr;
+		sprintf(name, ":%s", p_system->name.c_str());
+		uiType = "system";
+		p_fabric = p_system->p_fabric;
+	 } else if (!strcmp(type, "IBSysPort *")) {
+		IBSysPort *p_sysPort = (IBSysPort *)ptr;
+		sprintf(name, ":%s:%s",  p_sysPort->p_system->name.c_str(),
+				  p_sysPort->name.c_str());
+		uiType = "sysport";
+		p_fabric = p_sysPort->p_system->p_fabric;
+	 } else if (!strcmp(type, "IBFabric *")) {
+		p_fabric = (IBFabric *)ptr;
+		uiType = "fabric";
+		name[0] = '\0';
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name=0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if tyep is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* Ok so now get the fabic pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+	 if (!strcmp(type, "fabric")) {
+		*ptr = p_fabric;
+	 } else if (!strcmp(type, "node")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_node;
+	 } else if (!strcmp(type, "port")) {
+		slashIdx = rindex(name,'/');
+		if (!slashIdx) {
+		  printf("-E- Bad formatted ibdm node object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		int portNum = atoi(++slashIdx);
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBPort *p_port = p_node->getPort(portNum);
+		if (! p_port) {
+		  printf("-E- Fail to get node:%s port:%u\n",
+					 name, portNum);
+		  return TCL_ERROR;
+		}
+		*ptr = p_port;
+	 } else if (!strcmp(type, "system")) {
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_system;
+	 } else if (!strcmp(type, "sysport")) {
+		/* the format of system port is:  <type>:<idx>:<sys>:<port> */
+		colonIdx = index(name,':');
+		if (!colonIdx) {
+		  printf("-E- Bad formatted ibdm sysport object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0) );
+		  return TCL_ERROR;
+		}
+		*colonIdx = '\0';
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBSysPort *p_sysPort = p_system->getSysPort(string(++colonIdx));
+		if (! p_sysPort) {
+		  printf("-E- Fail to get system:%s port:%s\n", name, colonIdx);
+		  return TCL_ERROR;
+		}
+		*ptr = p_sysPort;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+
+  int ibdmReportNonUpDownCa2CaPaths(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnReportNonUpDownCa2CaPaths(p_fabric, nodesRank));
+  }
+
+  int ibdmFatTreeRoute(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtFatTreeRoute(p_fabric));
+  }
+
+  int ibdmCheckFabricMCGrpsForCreditLoopPotential(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtCheckFabricMCGrpsForCreditLoopPotential(p_fabric, nodesRank));
+  }
+
+  int ibdmRankFabricByRoots(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return(0);
+  }
+
+%}
+
+
+//
+// exception handling wrapper based on the MsgMgr interfaces
+//
+
+// it assumes we do not send the messages to stderr
+%except(tcl8) {
+  ibdm_tcl_error = 0;
+  $function;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}
+
+//
+// TYPE MAPS:
+//
+%include typemaps.i
+
+// Convert a TCL Object to C++ world.
+%typemap(tcl8,in) IBFabric *, IBNode *, IBSystem *, IBPort *, IBSysPort * {
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName($source, &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString($source) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  $target = ($type)ptr;
+}
+
+// Convert C++ pointer to TCL
+%typemap(tcl8,out) IBFabric *, IBNode *, IBSystem *, IBPort *, IBSysPort * {
+  if ($source)
+	 ibdmGetObjTclNameByPtr($target, $source, "$type");
+}
+
+%typemap(tcl8,check)  IBFabric *, IBNode *, IBSystem *, IBPort *, IBSysPort * {
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj($source,0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("$basetype", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("$basetype", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("$basetype", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("$basetype", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("$basetype", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype '$basetype' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+
+// representing vec_pport in TCL
+%typemap(tcl8, out) vec_pport * {
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < $source->size(); i++) {
+	 IBPort *p_port = (*$source)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+
+%typemap(tcl8, out) vec_vec_byte * {
+  for (unsigned int i = 0; i < $source->size(); i++) {
+	 Tcl_AppendResult(interp,"{", NULL);
+	 for (unsigned int j = 0; j < (*$source)[i].size(); j++) {
+		char buf[32];
+		sprintf(buf,"%u ", (*$source)[i][j]);
+		Tcl_AppendResult(interp, buf, NULL);
+	 }
+	 Tcl_AppendResult(interp,"} ", NULL);
+  }
+}
+
+%typemap(tcl8, out) vec_byte * {
+  for (unsigned int i = 0; i < $source->size(); i++) {
+	 char buf[32];
+	 sprintf(buf,"%u ", (*$source)[i]);
+	 Tcl_AppendResult(interp, buf, NULL);
+  }
+}
+
+// representing map_str_psysport in TCL
+%typemap(tcl8, out) map_str_psysport * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psysport::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSysPort *") != TCL_OK) {
+		printf("-E- Fail to map SysPort Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// representing map_str_psys in TCL
+%typemap(tcl8, out) map_str_psys * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psys::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// representing map_str_pnode in TCL
+%typemap(tcl8, out) map_str_pnode * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// representing map_guid_pport in TCL
+%typemap(tcl8, out) map_guid_pport * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pport::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBPort *") != TCL_OK) {
+		printf("-E- Fail to map Port Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// representing map_guid_pnode in TCL
+%typemap(tcl8, out) map_guid_pnode * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pnode::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// representing map_guid_psystem in TCL
+%typemap(tcl8, out) map_guid_psys * {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_psys::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// cast a Tcl String object to string
+%typemap(tcl8,in) string * {
+  int len;
+  static string $target_tmp;
+  $target_tmp = string(Tcl_GetStringFromObj($source,&len));
+  $target = &$target_tmp;
+}
+
+// NOTE FOR SOME REASON THE RETURN TYPE IS TAKEN NOT AS A POINTER
+// BUT PASSED AS ONE ?????
+
+// return a char * from a string:
+%typemap(tcl8,out) string, string * {
+	char ezTmp[1024];
+	strcpy(ezTmp, $source->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+%{
+#define new_string string
+%}
+// return a char * from a string that was allocated previously
+// so we need to delete it
+%typemap(tcl8,out) new_string, new_string * {
+	char ezTmp[1024];
+	strcpy(ezTmp, $source->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+   delete $source;
+}
+
+%typemap (tcl8, ignore) char **p_out_str (char *p_c) {
+  $target = &p_c;
+}
+
+%typemap (tcl8, argout) char **p_out_str {
+  if (*$source) {
+     Tcl_SetStringObj($target,*$source,strlen(*$source));
+      free(*$source);
+  } else {
+     Tcl_SetStringObj($target,"",-1);
+  }
+}
+
+/*
+  TCL Type Maps for Standard Integer Types
+*/
+
+%typemap(tcl8,in) uint64_t *(uint64_t temp) {
+  temp = strtoull(Tcl_GetStringFromObj($source,NULL), NULL,16);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint64_t {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,out) uint64_t * {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%{
+#define new_uint64_t uint64_t
+%}
+%typemap(tcl8,out) new_uint64_t *, new_uint64_t {
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+  delete $source;
+}
+
+%typemap(tcl8,in) uint32_t * (uint32_t temp){
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint32_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint16_t * (uint16_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint16_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint8_t * (uint8_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint8_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net64_t *(uint64_t temp) {
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj($source,NULL), NULL, 16));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net64_t * {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net32_t *(ib_net32_t temp) {
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net32_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net16_t * (ib_net16_t temp) {
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net16_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,argout) uint64_t *OUTPUT {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,ignore) uint64_t *OUTPUT(uint64_t temp) {
+  $target = &temp;
+}
+
+
+%typemap(tcl8,argout) ostringstream & {
+  Tcl_SetStringObj($target, (char*)$source->str().c_str(),
+                   $source->str().size() + 1);
+}
+
+%typemap(tcl8,ignore) ostringstream &(ostringstream tempStream) {
+  $target = &tempStream;
+}
+
+%typemap(tcl8,out) boolean_t * {
+  if (*$source) {
+	 Tcl_SetStringObj($target,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj($target,"FALSE", 5);
+  }
+}
+
+%typemap(tcl8,in) boolean_t *(boolean_t temp) {
+  if (strcmp(Tcl_GetStringFromObj($source,NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  $target = &temp;
+}
+
+%typemap(tcl8,out) IBLinkWidth * {
+  Tcl_SetStringObj($target,width2char(*$source), -1);
+}
+
+%typemap(tcl8,in) IBLinkWidth * (IBLinkWidth temp1) {
+  temp1 = char2width(Tcl_GetStringFromObj($source,NULL));
+  $target = &temp1;
+}
+
+%typemap(tcl8,out) IBLinkSpeed * {
+  Tcl_SetStringObj($target,speed2char(*$source), -1);
+}
+
+%typemap(tcl8,in) IBLinkSpeed * (IBLinkSpeed temp2) {
+  temp2 = char2speed(Tcl_GetStringFromObj($source,NULL));
+  $target = &temp2;
+}
+%include typemaps.i
+
+%typemap(tcl8,out) list_pnode *,  list_pnode {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+
+// given a list of node names - generate the list of nodes
+%typemap(tcl8,in) list_pnode * (list_pnode tmpNodeList) {
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj($source,0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj($source,0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  $target = &tmpNodeList;
+}
+
+//
+// INTERFACE DEFINITION (~copy of h file)
+//
+
+%section "IBDM Constants"
+/* These constants are provided by IBDM: */
+
+typedef enum {IB_UNKNOWN_NODE_TYPE, IB_SW_NODE, IB_CA_NODE} IBNodeType;
+/* Node Types */
+
+%subsection "Log Verbosity Flags",before,pre
+/* To be or'ed and used as the value of FabricUtilsVerboseLevel */
+%readonly
+#define FABU_LOG_NONE    0x0
+#define FABU_LOG_ERROR   0x1
+#define FABU_LOG_INFO    0x2
+#define FABU_LOG_VERBOSE 0x4
+%readwrite
+
+%section "IBDM Globals"
+int FabricUtilsVerboseLevel;
+/* Log level: set to FABU_LOG* values  */
+
+int ibdmUseInternalLog();
+/* instruct ibdm to use intrernal buffer for log */
+int ibdmUseCoutLog();
+/* use stdout for log */
+%new char *ibdmGetAndClearInternalLog();
+/* obtain log messages from internal log and clear it */
+
+%section "IBDM Objects",pre
+/* This section decribes the various object types exposed by IBDM. */
+%text %{
+
+  IBDM exposes some of its internal objects. The objects
+  identifiers returned by the various function calls are formatted
+  according to the following rules:
+  Fabric: fabric:<idx>
+  System: system:<fab idx>:<sys name>
+  SysPort: sysport:<fab idx>:<sys name>:<port name>
+  Node: node:<fab idx>:<node name>
+  Port: port:<fab idx>:<node name>/<port num>
+
+  IBDM Objects are standard Swig-Tcl objects.
+  As such they have two flavors for their usage: Variables, Objects.
+
+  Variables/Pointers:
+     For each object attribute a "get" and "set" methods are provided.
+	  The format of the methods is: <class>_<attribute>_<get|set>.
+     The "set" method is only available for read/write attributes.
+
+	  Example:
+     set nodes [ibdm_get_nodes]
+     set node  [lindex $nodes 0]
+     IBNode_numPorts_get $node
+
+  Objects:
+     Given an object pointer one can convert it to a Tcl "Object"
+	  using the following command:
+     <class> <obj_name> -this <obj pointer>
+
+     Once declared the <obj-name> can be used in conjunction to
+     with the standard "configure" and "cget" commands.
+
+	  Example (following the previous one):
+     IBFabric VaTech -this $fabric
+	  VaTech cget -NodeByName
+
+     To delete an object symbol (and enable its mapping to another
+     pointer) use:
+     rename <obj name> ""
+     for example:
+     rename VaTech ""
+%}
+
+//
+// IB Port class.
+// This is not the "End Node" but the physical port of
+// a node.
+//
+class IBPort {
+ public:
+  IBPort    * p_remotePort; // Port connected on the other side of link
+  IBSysPort * p_sysPort;    // The system port (if any) connected to
+  IBNode    * p_node;       // The node the port is part of.
+  int			      num;            // Physical ports are identified by number.
+  unsigned int	   base_lid;       // The base lid assigned to the port.
+  IBLinkWidth     width;          // The link width of the port
+  IBLinkSpeed     speed;          // The link speed of the port
+  unsigned int    counter1;       // a generic value to be used by various algorithms
+
+  IBPort(IBNode *p_nodePtr, int number);
+  // constructor
+
+  new_uint64_t guid_get();
+  void guid_set(uint64_t guid);
+
+  new_string getName();
+
+  void connect (IBPort *p_otherPort,
+                IBLinkWidth w = DefaultLinkWidth,
+                IBLinkSpeed s = DefaultLinkSpeed);
+  // connect the port to another node port
+
+  int disconnect();
+  // disconnect the port. Return 0 if successful
+
+};
+
+//
+// IB Node class
+//
+class IBNode {
+ public:
+  string			   name;      // Name of the node (instance name of the chip)
+  IBNodeType		type;      // Either a CA or SW
+  uint32_t        devId;     // The device ID of the node
+  uint32_t        revId;     // The device revision Id.
+  uint32_t        vendId;    // The device Vendor ID.
+  string          attributes;// Comma-sep string of arbitrary attributes k=v
+  uint8_t         rank;      // The rank of the node in the tree
+%readonly
+  IBSystem	     *p_system; // What system we belong to
+  IBFabric	     *p_fabric; // What fabric we belong to.
+  unsigned int	   numPorts;  // Number of physical ports
+  vec_pport		   Ports;     // Vector of all the ports
+  vec_vec_byte		MinHopsTable; // Table describing minimal hop count through
+                                // each port to each target lid
+  vec_byte        LFT;          // The LFT of this node (for switches only)
+%readwrite
+  // void            *p_appData1;  // Application Private Data #1
+  // void            *p_appData2;  // Application Private Data #2
+
+  new_uint64_t guid_get();
+  void guid_set(uint64_t guid);
+
+  IBNode(string n,
+			IBFabric *p_fab,
+			IBSystem *p_sys,
+			IBNodeType t, int np);
+  // Constractor
+
+  ~IBNode();
+
+  inline IBPort *makePort (unsigned int num);
+  // create a new port by name if required to
+
+  inline IBPort *getPort(unsigned int num);
+  // get a port by number num = 1..N:
+
+  void setHops (IBPort *p_port, unsigned int lid, int hops);
+  // Set the min hop for the given port (* is all) lid pair
+
+  int getHops (IBPort *p_port, unsigned int lid);
+  // Get the min number of hops defined for the given port or all
+
+  IBPort *getFirstMinHopPort(unsigned int lid);
+  // Scan the node ports and find the first port
+  // with min hop to the lid
+
+  void setLFTPortForLid (unsigned int lid, unsigned int portNum);
+  // Set the Linear Forwarding Table:
+
+  int getLFTPortForLid (unsigned int lid);
+  // Get the LFT for a given lid
+
+  void repHopTable();
+  // dump out the min hop table of the node
+
+}; // Class IBNode
+
+//
+// System Port Class
+// The System Port is a front pannel entity.
+//
+class IBSysPort {
+ public:
+  string			   name;              // The front pannel name of the port
+  IBSysPort	*p_remoteSysPort;  // If connected the other side sys port
+  IBSystem	*p_system;         // System it benongs to
+  IBPort	   *p_nodePort;       // The node port it connects to.
+
+  IBSysPort(string n, IBSystem *p_sys);
+  // Constructor
+
+  ~IBSysPort();
+
+  void connect (IBSysPort *p_otherSysPort,
+                IBLinkWidth width = UnknownLinkWidth,
+                IBLinkSpeed speed = UnknownLinkSpeed);
+  // connect two SysPorts
+
+  int disconnect();
+  // disconnect the SysPort (and ports). Return 0 if successful
+
+};
+
+//
+// IB System Class
+// This is normally derived into a system specific class
+//
+class IBSystem {
+ public:
+  string			   name;       // the "host" name of the system
+  string			   type;       // what is the type i.e. Cougar, Buffalo etc
+  IBFabric        *p_fabric;  // fabric belongs to
+%readonly
+  map_str_pnode NodeByName;   // Provide the node pointer by its name
+  map_str_psysport PortByName;// A map provising pointer to the SysPort by name
+%readwrite
+
+  IBSystem(string n, IBFabric *p_fab, string t);
+  // Constractor
+
+  ~IBSystem();
+
+  new_uint64_t guid_get();
+  void guid_set(uint64_t guid);
+
+  IBSysPort *makeSysPort (string pName);
+  // make sure we got the port defined (so define it if not)
+
+  IBPort *getSysPortNodePortByName (string sysPortName);
+  // get the node port for the given sys port by name
+
+  IBSysPort *getSysPort(string name);
+  // Get a Sys Port by name
+};
+
+//
+// IB Fabric Class
+// The entire fabric
+//
+class IBFabric {
+ public:
+%readonly
+  map_str_pnode NodeByName;   // Provide the node pointer by its name
+  map_str_psys  SystemByName; // Provide the system pointer by its name
+  vec_pport     PortByLid;    // Pointer to the Port by its lid
+  map_guid_pnode NodeByGuid;   // Provides the node by guid
+  map_guid_psys  SystemByGuid; // Provides the system by guid
+  map_guid_pport PortByGuid;   // Provides the port by guid
+%readwrite
+  unsigned int  minLid;       // Track min lid used.
+  unsigned int  maxLid;       // Track max lid used.
+  unsigned int  lmc;          // LMC value used
+
+  // IBFabric() {maxLid = 0;};
+
+  // we need to have our own destructor to take care of the
+  // fabrics vector cleanup
+
+  // ~IBFabric();
+
+  IBNode *makeNode (string n,
+						  IBSystem *p_sys,
+						  IBNodeType type,
+						  unsigned int numPorts);
+  // get the node by its name (create one of does not exist)
+
+  IBNode *getNode (string name);
+  // get the node by its name
+
+  list_pnode *getNodesByType (IBNodeType type);
+  // return the list of node pointers matching the required type
+
+  IBSystem *makeGenericSystem (string name);
+  // crate a new generic system - basically an empty contaner for nodes...
+
+  IBSystem *makeSystem (string name, string type);
+  // crate a new system - the type must have a registed factory.
+
+  IBSystem *getSystem(string name);
+  // Get system by name
+
+  IBSystem *getSystemByGuid(uint64_t guid);
+  // get the system by its guid
+  IBNode *getNodeByGuid(uint64_t guid);
+  // get the node by its guid
+  IBPort *getPortByGuid(uint64_t guid);
+  // get the port by its guid
+
+  void addCable (string t1, string n1, string p1,
+					  string t2, string n2, string p2,
+                 IBLinkWidth width = DefaultLinkWidth,
+                 IBLinkSpeed speed = DefaultLinkSpeed
+                 );
+
+  // Add a cable connection
+
+  int parseCables (string fn);
+  // Parse the cables file and build the fabric
+
+  int parseTopology (string fn);
+  // Parse Topology File
+
+  int addLink(string type1, int numPorts1, uint64_t sysGuid1,
+				  uint64_t nodeGuid1,  uint64_t portGuid1,
+				  int vend1, int devId1, int rev1, string desc1,
+				  int hcaIdx1, int lid1, int portNum1,
+				  string type2, int numPorts2, uint64_t sysGuid2,
+				  uint64_t nodeGuid2,  uint64_t portGuid2,
+				  int vend2, int devId2, int rev2, string desc2,
+				  int hcaIdx2, int lid2, int portNum2,
+              IBLinkWidth width = DefaultLinkWidth,
+              IBLinkSpeed speed = DefaultLinkSpeed);
+  // Add a link into the fabric - this will create system
+  // and nodes as required.
+
+  int parseSubnetLinks (string fn);
+  // Parse the OpenSM subnet.lst file and build the fabric from it.
+
+  int parseFdbFile(string fn);
+  // Parse OpenSM FDB dump file
+
+  int parseMCFdbFile(string fn);
+  // Parse an OpenSM MCFDBs file and set the MFT table accordingly
+
+  inline void setLidPort (unsigned int lid, IBPort *p_port);
+  // set a lid port
+
+  inline IBPort *getPortByLid (unsigned int lid);
+  // get a port by lid
+
+  int dumpTopology(char *fileName, char *ibnlDir);
+  // write out a topology file and IBNLs into given directory
+};
+
+/* we use our own version of the constructor */
+IBFabric*  new_IBFabric();
+/* we use our own version of the destructor */
+void delete_IBFabric(IBFabric *p_fabric);
+
+%section "IBDM Functions",pre
+/* IBDM functions */
+%text %{
+This section provide the details about the functions IBDM exposes.
+The order follows the expected order in a regular IBDM flow.
+They all return 0 on succes.
+%}
+
+%subsection "Subnet Utilities",before,pre
+%text %{
+
+  Subnet Utilities:
+
+  The file holds a set of utilities to be run on the subnet to mimic OpenSM
+  initialization and analyze the results:
+
+  Assign Lids: SubnMgtAssignLids
+  Init min hop tables: SubnMgtCalcMinHopTables
+  Perform Enhanced LMC aware routing: SubnMgtOsmEnhancedRoute
+  Perform standard routing: SubnMgtOsmRoute
+  Perform Fat Tree specialized routing: SubnMgtFatTreeRoute
+  Verify all CA to CA routes: SubnMgtVerifyAllCaToCaRoutes
+
+%}
+
+%name(ibdmAssignLids)
+ int SubnMgtAssignLids (IBPort *p_smNodePort, unsigned int lmc = 0);
+// Assign lids
+
+%name(ibdmCalcMinHopTables)
+ int SubnMgtCalcMinHopTables (IBFabric *p_fabric);
+// Calculate the minhop table for the switches
+
+%name(ibdmCalcUpDnMinHopTbls)
+ int SubnMgtCalcUpDnMinHopTblsByRootNodesRex(IBFabric *p_fabric, char *rootNodesNameRex);
+// Fill in the FDB tables in a Up Down routing.
+// Start the tree from the given nodes by regular expression
+
+%name (ibdmOsmRoute)
+ int SubnMgtOsmRoute(IBFabric *p_fabric);
+// Fill in the FDB tables in an OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+
+%name(ibdmEnhancedRoute)
+ int SubnMgtOsmEnhancedRoute(IBFabric *p_fabric);
+// Fill in the FDB tables in an OpesnSM style routing
+// which is switch based, uses number of routes per port
+// profiling and treat LMC assigned lids sequentialy.
+// Also it will favor runing through a new system or node
+// on top of the port profile.
+// Rely on running the SubnMgtCalcMinHopTables beforehand
+
+int ibdmFatTreeRoute(IBFabric *p_fabric, list_pnode rootNodes);
+// Perform Fat Tree specific routing by assigning a single LID to
+// each root node port a single LID to route through.
+
+%name(ibdmFatTreeAnalysis) int FatTreeAnalysis(IBFabric *p_fabric);
+// Performs FatTree structural analysis
+
+%name(ibdmFatTreeRouteByPermutation) int FatTreeRouteByPermutation(IBFabric *p_fabric, char* srcs, char* dsts);
+// Performs optimal permutation routing in FatTree
+
+%name(ibdmVerifyCAtoCARoutes)
+ int SubnMgtVerifyAllCaToCaRoutes(IBFabric *p_fabric);
+// Verify point to point connectivity
+
+%name(ibdmVerifyAllPaths)
+ int SubnMgtVerifyAllRoutes(IBFabric *p_fabric);
+// Verify all paths
+
+%name(ibdmAnalyzeLoops)
+ int CrdLoopAnalyze(IBFabric *p_fabric);
+// Analyze the Fabric for Credit Loops
+
+%name(ibdmFindSymmetricalTreeRoots)
+list_pnode SubnMgtFindTreeRootNodes(IBFabric *p_fabric);
+// Analyze the fabric to find its root nodes assuming it is
+// a pure tree (keeping all levels in place).
+
+%name(ibdmFindRootNodesByMinHop)
+list_pnode SubnMgtFindRootNodesByMinHop(IBFabric *p_fabric);
+// Analyze the fabric to find its root nodes using statistical methods
+// on the profiles of min hops to CAs
+
+int ibdmRankFabricByRoots(IBFabric *p_fabric, list_pnode rootNodes);
+// Just rank the fabric according to the given nodes list
+
+int ibdmReportNonUpDownCa2CaPaths(IBFabric *p_fabric, list_pnode rootNodes);
+// Find any routes that exist in the FDB's from CA to CA and do not adhare to
+// the up/down rules. Report any crossing of the path. Use the given list fo nodes
+// as roots of the tree.
+
+%name(ibdmCheckMulticastGroups)
+int SubnMgtCheckFabricMCGrps(IBFabric *p_fabric);
+// Check all multicast groups :
+// 1. all switches holding it are connected
+// 2. No loops (i.e. a single BFS with no returns).
+
+int ibdmCheckFabricMCGrpsForCreditLoopPotential(
+  IBFabric *p_fabric, list_pnode rootNodes);
+// Check all multicast groups do not have credit loop potential
+
+%name(ibdmLinkCoverageAnalysis)
+int LinkCoverageAnalysis(IBFabric *p_fabric, list_pnode rootNodes);
+// Provide sets of port pairs to run BW check from in a way that is
+// full bandwidth. Reide in LinkCover.cpp
+
+%subsection "Tracing Utilities",before,pre
+
+%name(ibdmTraceDRPathRoute)
+int TraceDRPathRoute (IBPort *p_smNodePort, list_int drPathPortNums);
+// Trace a direct route from the given SM node port
+
+%name(ibdmTraceRouteByMinHops)
+int TraceRouteByMinHops (IBFabric *p_fabric,
+  unsigned int slid , unsigned int dlid);
+// Trace a route from slid to dlid by Min Hop
+
+%typemap(tcl8,in) list_pnode_arg_name*(list_pnode tmp) {
+	$target = &tmp;
+}
+
+%typemap(tcl8,argout) list_pnode_arg_name* {
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = $source->begin();
+  Tcl_Obj *p_tclObj;
+  Tcl_SetVar(interp, Tcl_GetString($arg),"",0);
+  while (I != $source->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_SetVar(interp, Tcl_GetString($arg), buf,
+					  TCL_LIST_ELEMENT|TCL_APPEND_VALUE);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+%{
+#define list_pnode_arg_name list_pnode
+%}
+
+%typemap(tcl8,in) unsigned_int_arg_name*(unsigned int tmp) {
+	$target = &tmp;
+}
+
+%typemap(tcl8,argout) unsigned_int_arg_name* {
+   char buf[16];
+	sprintf(buf, "%u", tmp);
+   Tcl_SetVar(interp, Tcl_GetString($arg), buf, 0);
+}
+%{
+#define unsigned_int_arg_name unsigned int
+%}
+
+%name(ibdmTraceRouteByLFT)
+int TraceRouteByLFT (IBFabric *p_fabric,
+							unsigned int slid , unsigned int dlid,
+							unsigned_int_arg_name *hops,
+							list_pnode_arg_name *p_nodesList);
+// Trace a route from slid to dlid by LFT
+
+%subsection "Topology Matching Utilities",before,pre
+
+%apply char **p_out_str {char **p_report_str};
+
+%name(ibdmMatchFabrics)
+int TopoMatchFabrics(
+  IBFabric *p_spec_fabric,       // The specification fabric
+  IBFabric *p_discovered_fabric, // The discovered fabric
+  char     *anchorNodeName,      // The system to be the anchor point
+  int       anchorPortNum,       // The port number of the anchor port
+  uint64_t  anchorPortGuid,      // Discovered Guid of the anchor port
+  char **p_report_str            // Diagnostic output.
+  );
+// Error if fabrics deffer. And provide it as result.
+
+%name(ibdmBuildMergedFabric)
+int
+TopoMergeDiscAndSpecFabrics(
+  IBFabric  *p_spec_fabric,       // The specification fabric
+  IBFabric  *p_discovered_fabric, // The discovered fabric
+  IBFabric  *p_merged_fabric);    // Output merged fabric (allocated internaly)
+// Build a merged fabric from a matched discovered and spec fabrics.
+// NOTE: you have to run ibdmMatchFabrics before calling this routine.
+
+%subsection "Congestion Analysis Utilities",before,pre
+
+%name(ibdmCongInit) int CongInit(IBFabric *p_fabric);
+// Initialize a fabric for congestion analysis
+
+%name(ibdmCongCleanup) int CongCleanup(IBFabric *p_fabric);
+// Cleanup congestion analysis data and free memory
+
+%name(ibdmCongClear) int CongZero(IBFabric *p_fabric);
+// Clear the congestion analysis path trace. Does not affect max paths
+
+%name(ibdmCongTrace)
+int CongTrackPath(IBFabric *p_fabric, uint16_t srcLid, uint16_t dstLid);
+// Trace the path from source to destination tracking the visited links
+
+%name(ibdmCongReport) int CongReport(IBFabric *p_fabric, ostringstream &out);
+// Report the max path count and histogram
+
+%name(ibdmCongDump) int CongDump(IBFabric *p_fabric, ostringstream &out);
+// provide detailed dump of the link usage
+
+//
+// FIX OF SWIG TO SUPPORT NAME ALTERNATE MANGLING
+//
+%{
+#include "swig_alternate_mangling.cpp"
+%}
+
+///////////////////////////////////////////////////////////////////////////////
+extern char * ibdmSourceVersion;
+
+//
+// INIT CODE
+//
+%init %{
+
+  /* mixing declarations .... */
+  {
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBFabric_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBFabric_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSystem_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSystem_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSysPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSysPort_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBNode_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBNode_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBPort_p"] = &ibdmGetObjPtrByTclName;
+  }
+
+%}
diff --git a/ibdm/ibdm/ibdm_wrap.cpp b/ibdm/ibdm/ibdm_wrap.cpp
new file mode 100644
index 0000000..211d52f
--- /dev/null
+++ b/ibdm/ibdm/ibdm_wrap.cpp
@@ -0,0 +1,18094 @@
+/*
+ * FILE : swig_wrap.c
+ *
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 5)
+ *
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ *
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : TCL 8.0 */
+
+#define INCLUDE_TCL    <tcl.h>
+#define INCLUDE_TK     <tk.h>
+#include INCLUDE_TCL
+#include <string.h>
+#include <stdlib.h>
+#define SWIGTCL
+#define SWIGTCL8
+/*
+ * $Header: /b2/dmb/SWIG/SWIG1.0b3/swig_lib/tcl/RCS/swigtcl.cfg,v 1.1 1996/05/22 19:47:45 beazley Exp $
+ *
+ * swigtcl.cfg
+ *
+ * This file is modified from a platform independent file provided
+ * by Sun.   With any luck this will allow SWIG generated wrapper
+ * files to work on Unix, Windows, and Macintosh.
+ *
+ * Revision History
+ * $Log: swigtcl.cfg,v $
+ * Revision 1.1  1996/05/22 19:47:45  beazley
+ * Initial revision
+ *
+ *
+ * -- Dave Beazley, May 2, 1996.
+ *
+ *	This file is an example of a Tcl dynamically loadable extension.
+ *
+ * Copyright (c) 1996 by Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#if defined(__WIN32__)
+#   define WIN32_LEAN_AND_MEAN
+#   include <windows.h>
+#   undef WIN32_LEAN_AND_MEAN
+
+/*
+ * VC++ has an alternate entry point called DllMain, so we need to rename
+ * our entry point.
+ */
+
+#   if defined(_MSC_VER)
+#	define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#	define DllEntryPoint DllMain
+#   else
+#	if defined(__BORLANDC__)
+#	    define SWIGEXPORT(a,b) a _export b
+#	else
+#	    define SWIGEXPORT(a,b) a b
+#	endif
+#   endif
+#else
+#   define SWIGEXPORT(a,b) a b
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllEntryPoint --
+ *
+ *	This wrapper function is used by Windows to invoke the
+ *	initialization code for the DLL.  If we are compiling
+ *	with Visual C++, this routine will be renamed to DllMain.
+ *	routine.
+ *
+ * Results:
+ *	Returns TRUE;
+ *
+ * Side effects:
+ *	None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+#ifdef __WIN32__
+BOOL APIENTRY
+DllEntryPoint(HINSTANCE hInst, DWORD reason, LPVOID reserved)
+{
+    return TRUE;
+}
+#endif
+
+/**************************************************************************
+ * $Header:$
+ *
+ * tcl8ptr.swg
+ *
+ * This file provides type-checked pointer support to Tcl 8.0.
+ * Pointers are installed as new kinds of Tcl 8.0 objects consisting
+ * of the following structure
+ *
+ * typedef struct {
+ *         char     *name;            Name of the datatype
+ *         void     *value;           Value of the pointer
+ * } Tcl_SwigPtr;
+ *
+ * While we still need to perform string comparisons on the
+ * type-name, this function no longer needs to convert pointer
+ * values to hex so it should be a little faster.
+ *
+ * New Tcl datatypes are defined by the following data structure.
+ *
+ * typedef struct Tcl_ObjType {
+ *              char *name;
+ *              Tcl_FreeInternalRepProc *freeIntRepProc;
+ *              Tcl_DupInternalRepProc *dupIntRepProc;
+ *              Tcl_UpdateStringProc *updateStringProc;
+ *              Tcl_SetFromAnyProc *setFromAnyProc;
+ *             } Tcl_ObjType;
+ *
+ * Functions for manipulating SWIG pointers in wrapper code are:
+ *
+ *     void *SWIG_SetPointerObj(objPtr, ptr, type)
+ *     char *SWIG_GetPointerFromObj(objPtr, *ptr, type)
+ *
+ **********************************************************************/
+
+#ifdef SWIG_GLOBAL
+#include <tcl.h>
+#ifdef __cplusplus
+#define SWIGSTATIC extern "C"
+#else
+#define SWIGSTATIC
+#endif
+#endif
+
+#ifndef SWIGSTATIC
+#define SWIGSTATIC static
+#endif
+
+/* These are internal variables.   Should be static */
+
+typedef struct SwigPtrType {
+  char               *name;
+  int                 len;
+  void               *(*cast)(void *);
+  struct SwigPtrType *next;
+} SwigPtrType;
+
+/* Pointer cache structure */
+
+typedef struct {
+  int                 stat;               /* Status (valid) bit             */
+  SwigPtrType        *tp;                 /* Pointer to type structure      */
+  char                name[256];          /* Given datatype name            */
+  char                mapped[256];        /* Equivalent name                */
+} SwigCacheType;
+
+static int SwigPtrMax  = 64;           /* Max entries that can be currently held */
+static int SwigPtrN    = 0;            /* Current number of entries              */
+static int SwigPtrSort = 0;            /* Status flag indicating sort            */
+static int SwigStart[256];             /* Array containing start locations (for searching) */
+static SwigPtrType *SwigPtrTable = 0;  /* Table containing pointer equivalences  */
+
+/* Cached values */
+
+#define SWIG_CACHESIZE  8
+#define SWIG_CACHEMASK  0x7
+static SwigCacheType SwigCache[SWIG_CACHESIZE];
+static int SwigCacheIndex = 0;
+static int SwigLastCache = 0;
+
+/* Sort comparison function */
+static int swigsort(const void *data1, const void *data2) {
+	SwigPtrType *d1 = (SwigPtrType *) data1;
+	SwigPtrType *d2 = (SwigPtrType *) data2;
+	return strcmp(d1->name,d2->name);
+}
+
+/* Binary Search function */
+static int swigcmp(const void *key, const void *data) {
+  char *k = (char *) key;
+  SwigPtrType *d = (SwigPtrType *) data;
+  return strncmp(k,d->name,d->len);
+}
+
+
+/*---------------------------------------------------------------------
+ * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *))
+ *
+ * Register a new type-mapping with the type-checking system.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) {
+
+  int i;
+  SwigPtrType *t = 0, *t1;
+
+  if (!SwigPtrTable) {
+    SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType));
+    SwigPtrN = 0;
+  }
+  if (SwigPtrN >= SwigPtrMax) {
+    SwigPtrMax = 2*SwigPtrMax;
+    SwigPtrTable = (SwigPtrType *) realloc(SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType));
+  }
+  for (i = 0; i < SwigPtrN; i++)
+    if (strcmp(SwigPtrTable[i].name,origtype) == 0) {
+      t = &SwigPtrTable[i];
+      break;
+    }
+  if (!t) {
+    t = &SwigPtrTable[SwigPtrN];
+    t->name = origtype;
+    t->len = strlen(origtype);
+    t->cast = 0;
+    t->next = 0;
+    SwigPtrN++;
+  }
+  while (t->next) {
+    if (strcmp(t->name,newtype) == 0) {
+      if (cast) t->cast = cast;
+      return;
+    }
+    t = t->next;
+  }
+  t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType));
+  t1->name = newtype;
+  t1->len = strlen(newtype);
+  t1->cast = cast;
+  t1->next = 0;
+  t->next = t1;
+  SwigPtrSort = 0;
+}
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+
+
+
+/* This is for backwards compatibility */
+
+
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_RegisterType()
+ *
+ * Registers our new datatype with an interpreter.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterType() {
+  /* Does nothing at the moment */
+}
+#define SWIG_init    Ibdm_Init
+#define SWIG_name    "ibdm"
+#define SWIG_prefix  ""
+#define SWIG_namespace ""
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <sstream>
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+#include "TraceRoute.h"
+#include "TopoMatch.h"
+#include "Congestion.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+
+  /* GLOBALS */
+  static char ibdm_tcl_error_msg[1024];
+  static int  ibdm_tcl_error;
+  static vector< IBFabric *> ibdm_fabrics;
+  static IBLinkWidth UnknownLinkWidth = IB_UNKNOWN_LINK_WIDTH;
+  static IBLinkSpeed UnknownLinkSpeed = IB_UNKNOWN_LINK_SPEED;
+  static IBLinkWidth DefaultLinkWidth = IB_LINK_WIDTH_4X;
+  static IBLinkSpeed DefaultLinkSpeed = IB_LINK_SPEED_2_5;
+
+  /*
+	  MAPPING IBDM OBJECTS TO TCL and BACK:
+	  The idea is that we have specifc rules for naming
+	  Node, Port, System and SystemPort for a specific Fabric.
+
+	  All Fabrics are stored by id in a global vector.
+
+	  So the object names will follow:
+	  <type>:<fabricIdx>/<name>
+
+  */
+
+  /* Given a fabric pointer return its idx (starting w 1) or 0 */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric) {
+	 /* go over all fabrics and find it's index: */
+	 for (unsigned int i = 0; i < ibdm_fabrics.size(); i++) {
+		if (ibdm_fabrics[i] == p_fabric) {
+		  return(i+1);
+		}
+	 }
+	 return(0);
+  }
+
+  /* Given a fabric idx return it's pointer */
+  /* Note the index is 1-N and thus we need to -1 it before access */
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx) {
+	 if ((idx > ibdm_fabrics.size()) || (idx < 1)) {
+		return NULL;
+	 }
+	 return ibdm_fabrics[idx - 1];
+  }
+
+  /*
+	 we provide our own constructor such that all IBFabrics are
+	 registered in the global vector;
+  */
+  IBFabric *new_IBFabric(void) {
+	 IBFabric *p_fabric = new IBFabric();
+    unsigned int i;
+	 if (p_fabric) {
+      /* look for an open index in the vector of fabrics */
+      for (i = 0; i < ibdm_fabrics.size(); i++)
+      {
+        if (ibdm_fabrics[i] == NULL)
+        {
+          ibdm_fabrics[i] = p_fabric;
+          return p_fabric;
+        }
+      }
+      ibdm_fabrics.push_back(p_fabric);
+	 }
+	 return p_fabric;
+  }
+
+  /*
+	 we provide our own destructor such that the deleted fabric is
+    de-registered from the global fabrics vector
+  */
+  void delete_IBFabric(IBFabric *p_fabric) {
+    int idx = ibdmGetFabricIdxByPtr(p_fabric);
+    if (! idx) {
+      printf("ERROR: Fabric idx:%p does not exist in the global vector!\n",
+             p_fabric);
+    } else {
+      ibdm_fabrics[idx-1] = NULL;
+    }
+    delete p_fabric;
+  }
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBNode *")) {
+		IBNode *p_node = (IBNode *)ptr;
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "node";
+	 } else if (!strcmp(type, "IBPort *")) {
+		IBPort *p_port = (IBPort *)ptr;
+		sprintf(name,":%s/%u", p_port->p_node->name.c_str(), p_port->num);
+		p_fabric = p_port->p_node->p_fabric;
+		uiType = "port";
+	 } else if (!strcmp(type, "IBSystem *")) {
+		IBSystem *p_system = (IBSystem *)ptr;
+		sprintf(name, ":%s", p_system->name.c_str());
+		uiType = "system";
+		p_fabric = p_system->p_fabric;
+	 } else if (!strcmp(type, "IBSysPort *")) {
+		IBSysPort *p_sysPort = (IBSysPort *)ptr;
+		sprintf(name, ":%s:%s",  p_sysPort->p_system->name.c_str(),
+				  p_sysPort->name.c_str());
+		uiType = "sysport";
+		p_fabric = p_sysPort->p_system->p_fabric;
+	 } else if (!strcmp(type, "IBFabric *")) {
+		p_fabric = (IBFabric *)ptr;
+		uiType = "fabric";
+		name[0] = '\0';
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name=0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if tyep is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* Ok so now get the fabic pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+	 if (!strcmp(type, "fabric")) {
+		*ptr = p_fabric;
+	 } else if (!strcmp(type, "node")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_node;
+	 } else if (!strcmp(type, "port")) {
+		slashIdx = rindex(name,'/');
+		if (!slashIdx) {
+		  printf("-E- Bad formatted ibdm node object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		int portNum = atoi(++slashIdx);
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBPort *p_port = p_node->getPort(portNum);
+		if (! p_port) {
+		  printf("-E- Fail to get node:%s port:%u\n",
+					 name, portNum);
+		  return TCL_ERROR;
+		}
+		*ptr = p_port;
+	 } else if (!strcmp(type, "system")) {
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_system;
+	 } else if (!strcmp(type, "sysport")) {
+		/* the format of system port is:  <type>:<idx>:<sys>:<port> */
+		colonIdx = index(name,':');
+		if (!colonIdx) {
+		  printf("-E- Bad formatted ibdm sysport object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0) );
+		  return TCL_ERROR;
+		}
+		*colonIdx = '\0';
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBSysPort *p_sysPort = p_system->getSysPort(string(++colonIdx));
+		if (! p_sysPort) {
+		  printf("-E- Fail to get system:%s port:%s\n", name, colonIdx);
+		  return TCL_ERROR;
+		}
+		*ptr = p_sysPort;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+
+  int ibdmReportNonUpDownCa2CaPaths(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnReportNonUpDownCa2CaPaths(p_fabric, nodesRank));
+  }
+
+  int ibdmFatTreeRoute(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtFatTreeRoute(p_fabric));
+  }
+
+  int ibdmCheckFabricMCGrpsForCreditLoopPotential(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtCheckFabricMCGrpsForCreditLoopPotential(p_fabric, nodesRank));
+  }
+
+  int ibdmRankFabricByRoots(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return(0);
+  }
+
+
+#define new_string string
+
+#define new_uint64_t uint64_t
+static int  _wrap_const_IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE;
+static int  _wrap_const_IB_SW_NODE = IB_SW_NODE;
+static int  _wrap_const_IB_CA_NODE = IB_CA_NODE;
+static int  _wrap_const_FABU_LOG_NONE = 0x0;
+static int  _wrap_const_FABU_LOG_ERROR = 0x1;
+static int  _wrap_const_FABU_LOG_INFO = 0x2;
+static int  _wrap_const_FABU_LOG_VERBOSE = 0x4;
+
+#define list_pnode_arg_name list_pnode
+
+#define unsigned_int_arg_name unsigned int
+
+#include "swig_alternate_mangling.cpp"
+extern char * ibdmSourceVersion;
+static int _wrap_ibdmUseInternalLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmUseInternalLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmUseInternalLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmUseCoutLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmUseCoutLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmUseCoutLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmGetAndClearInternalLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmGetAndClearInternalLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (char *)ibdmGetAndClearInternalLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+delete [] _result;
+
+    return TCL_OK;
+}
+static int _wrap_new_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBFabric ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)new_IBFabric();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+static int _wrap_delete_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBFabric p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBFabric(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static int _wrap_ibdmAssignLids(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1 = 0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAssignLids p_smNodePort ?lmc? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >2) {
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtAssignLids(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcMinHopTables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcMinHopTables p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcMinHopTables(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcUpDnMinHopTbls(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcUpDnMinHopTblsByRootNodesRex(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmOsmRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmOsmRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmEnhancedRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmEnhancedRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmEnhancedRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeRoute p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmFatTreeRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeAnalysis p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )FatTreeAnalysis(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeRouteByPermutation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    char * _arg2;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeRouteByPermutation p_fabric srcs dsts ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )FatTreeRouteByPermutation(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyCAtoCARoutes(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyCAtoCARoutes p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllCaToCaRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyAllPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyAllPaths p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmAnalyzeLoops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAnalyzeLoops p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CrdLoopAnalyze(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFindSymmetricalTreeRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindSymmetricalTreeRoots p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindTreeRootNodes(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmFindRootNodesByMinHop(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindRootNodesByMinHop p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindRootNodesByMinHop(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmRankFabricByRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmRankFabricByRoots p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmRankFabricByRoots(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmReportNonUpDownCa2CaPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmReportNonUpDownCa2CaPaths(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckMulticastGroups(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckMulticastGroups p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCheckFabricMCGrps(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmCheckFabricMCGrpsForCreditLoopPotential(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmLinkCoverageAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmLinkCoverageAnalysis p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )LinkCoverageAnalysis(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceDRPathRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    list_int * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceDRPathRoute p_smNodePort drPathPortNums ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_list_int_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of ibdmTraceDRPathRoute. Expected _list_int_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceDRPathRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByMinHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByMinHops p_fabric slid dlid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByMinHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByLFT(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    unsigned_int_arg_name * _arg3;
+    list_pnode_arg_name * _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    unsigned int  tmp;
+    list_pnode  tmp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+	_arg3 = &tmp;
+}
+{
+	_arg4 = &tmp0;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByLFT(_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+   char buf[16];
+	sprintf(buf, "%u", tmp);
+   Tcl_SetVar(interp, Tcl_GetString(objv[4]), buf, 0);
+}
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _arg4->begin();
+  Tcl_Obj *p_tclObj;
+  Tcl_SetVar(interp, Tcl_GetString(objv[5]),"",0);
+  while (I != _arg4->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_SetVar(interp, Tcl_GetString(objv[5]), buf,
+					  TCL_LIST_ELEMENT|TCL_APPEND_VALUE);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmMatchFabrics(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    char * _arg2;
+    int  _arg3;
+    uint64_t * _arg4;
+    char ** _arg5;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    int templength;
+    int tempint;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg5 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMatchFabrics(_arg0,_arg1,_arg2,_arg3,*_arg4,_arg5);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (*_arg5) {
+     Tcl_SetStringObj(tcl_result,*_arg5,strlen(*_arg5));
+      free(*_arg5);
+  } else {
+     Tcl_SetStringObj(tcl_result,"",-1);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmBuildMergedFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    IBFabric * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMergeDiscAndSpecFabrics(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongInit(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongInit p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongInit(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongCleanup(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongCleanup p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongCleanup(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongClear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongClear p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongZero(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongTrace(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongTrace p_fabric srcLid dstLid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongTrackPath(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongReport(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongReport p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongReport(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmCongDump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongDump p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongDump(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_set(_swigobj,_swigval) (_swigobj->p_remotePort = _swigval,_swigval)
+static int _wrap_IBPort_p_remotePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_set { IBPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_get(_swigobj) ((IBPort *) _swigobj->p_remotePort)
+static int _wrap_IBPort_p_remotePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_set(_swigobj,_swigval) (_swigobj->p_sysPort = _swigval,_swigval)
+static int _wrap_IBPort_p_sysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_set { IBPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_sysPort)
+static int _wrap_IBPort_p_sysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_set(_swigobj,_swigval) (_swigobj->p_node = _swigval,_swigval)
+static int _wrap_IBPort_p_node_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    IBNode * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_set { IBPort * } { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_get(_swigobj) ((IBNode *) _swigobj->p_node)
+static int _wrap_IBPort_p_node_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_num_set(_swigobj,_swigval) (_swigobj->num = _swigval,_swigval)
+static int _wrap_IBPort_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_set { IBPort * } { int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_num_get(_swigobj) ((int ) _swigobj->num)
+static int _wrap_IBPort_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = _swigval,_swigval)
+static int _wrap_IBPort_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_get(_swigobj) ((unsigned int ) _swigobj->base_lid)
+static int _wrap_IBPort_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_width_set(_swigobj,_swigval) (_swigobj->width = *(_swigval),_swigval)
+static int _wrap_IBPort_width_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    IBLinkWidth * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_set { IBPort * } { IBLinkWidth * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp1;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_width_get(_swigobj) (&_swigobj->width)
+static int _wrap_IBPort_width_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_set(_swigobj,_swigval) (_swigobj->speed = *(_swigval),_swigval)
+static int _wrap_IBPort_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    IBLinkSpeed * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_set { IBPort * } { IBLinkSpeed * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp2;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_get(_swigobj) (&_swigobj->speed)
+static int _wrap_IBPort_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_counter1_set(_swigobj,_swigval) (_swigobj->counter1 = _swigval,_swigval)
+static int _wrap_IBPort_counter1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_counter1_get(_swigobj) ((unsigned int ) _swigobj->counter1)
+static int _wrap_IBPort_counter1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define new_IBPort(_swigarg0,_swigarg1) (new IBPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBPort p_nodePtr number ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)new_IBPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBPort_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBPort_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBPort_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_set { IBPort * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBPort_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_getName(_swigobj)  (_swigobj->getName())
+static int _wrap_IBPort_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_string * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_getName { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_string (IBPort_getName(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+   delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    IBPort * _arg1;
+    IBLinkWidth * _arg2 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg3 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_connect { IBPort * } p_otherPort ?w? ?s? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_disconnect { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBPort methods : { dump cget configure guid_get guid_set getName connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBPort_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBPort_guid_set;
+    }    else if (strcmp(_str,"getName") == 0) {
+        cmd = _wrap_IBPort_getName;
+    }    else if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_set;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_set;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_set;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_set;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_set;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_set;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_get;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_get;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_get;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_get;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_get;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_get;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBPort_p_remotePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remotePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_sysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_sysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_node_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_node ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_width_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-width ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_counter1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-counter1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set getName connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBNode_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBNode_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBNode_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_type_set(_swigobj,_swigval) (_swigobj->type = _swigval,_swigval)
+static int _wrap_IBNode_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_set { IBNode * } { IBNodeType  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_type_get(_swigobj) ((IBNodeType ) _swigobj->type)
+static int _wrap_IBNode_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_devId_set(_swigobj,_swigval) (_swigobj->devId = *(_swigval),_swigval)
+static int _wrap_IBNode_devId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_devId_get(_swigobj) (&_swigobj->devId)
+static int _wrap_IBNode_devId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_set(_swigobj,_swigval) (_swigobj->revId = *(_swigval),_swigval)
+static int _wrap_IBNode_revId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_get(_swigobj) (&_swigobj->revId)
+static int _wrap_IBNode_revId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_set(_swigobj,_swigval) (_swigobj->vendId = *(_swigval),_swigval)
+static int _wrap_IBNode_vendId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_get(_swigobj) (&_swigobj->vendId)
+static int _wrap_IBNode_vendId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_set(_swigobj,_swigval) (_swigobj->attributes = *(_swigval),_swigval)
+static int _wrap_IBNode_attributes_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_get(_swigobj) (&_swigobj->attributes)
+static int _wrap_IBNode_attributes_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_set(_swigobj,_swigval) (_swigobj->rank = *(_swigval),_swigval)
+static int _wrap_IBNode_rank_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_set { IBNode * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_get(_swigobj) (&_swigobj->rank)
+static int _wrap_IBNode_rank_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBNode_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_system_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBNode_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBNode_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBNode_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_fabric_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBNode_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBNode_numPorts_get(_swigobj) ((unsigned int ) _swigobj->numPorts)
+static int _wrap_IBNode_numPorts_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_numPorts_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBNode_numPorts_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_Ports_get(_swigobj) (&_swigobj->Ports)
+static int _wrap_IBNode_Ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_Ports_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBNode_Ports_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_MinHopsTable_get(_swigobj) (&_swigobj->MinHopsTable)
+static int _wrap_IBNode_MinHopsTable_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_MinHopsTable_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_vec_byte *)IBNode_MinHopsTable_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 Tcl_AppendResult(interp,"{", NULL);
+	 for (unsigned int j = 0; j < (*_result)[i].size(); j++) {
+		char buf[32];
+		sprintf(buf,"%u ", (*_result)[i][j]);
+		Tcl_AppendResult(interp, buf, NULL);
+	 }
+	 Tcl_AppendResult(interp,"} ", NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_LFT_get(_swigobj) (&_swigobj->LFT)
+static int _wrap_IBNode_LFT_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_LFT_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_byte *)IBNode_LFT_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 char buf[32];
+	 sprintf(buf,"%u ", (*_result)[i]);
+	 Tcl_AppendResult(interp, buf, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBNode_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBNode_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBNode_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBNode_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_set { IBNode * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define new_IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (new IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static int _wrap_new_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBNode n p_fab p_sys t np ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)new_IBNode(*_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define delete_IBNode(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBNode { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBNode(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_makePort(_swigobj,_swigarg0)  (_swigobj->makePort(_swigarg0))
+static int _wrap_IBNode_makePort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_makePort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_makePort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_getPort(_swigobj,_swigarg0)  (_swigobj->getPort(_swigarg0))
+static int _wrap_IBNode_getPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getPort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setHops(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setHops(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBNode_setHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    int  _arg3;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setHops { IBNode * } p_port lid hops ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setHops(_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getHops(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getHops(_swigarg0,_swigarg1))
+static int _wrap_IBNode_getHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getHops { IBNode * } p_port lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_getFirstMinHopPort(_swigobj,_swigarg0)  (_swigobj->getFirstMinHopPort(_swigarg0))
+static int _wrap_IBNode_getFirstMinHopPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getFirstMinHopPort { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getFirstMinHopPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setLFTPortForLid(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLFTPortForLid(_swigarg0,_swigarg1))
+static int _wrap_IBNode_setLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setLFTPortForLid { IBNode * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setLFTPortForLid(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getLFTPortForLid(_swigobj,_swigarg0)  (_swigobj->getLFTPortForLid(_swigarg0))
+static int _wrap_IBNode_getLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getLFTPortForLid { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getLFTPortForLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_repHopTable(_swigobj)  (_swigobj->repHopTable())
+static int _wrap_IBNode_repHopTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_repHopTable { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_repHopTable(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBNode(ClientData clientData) {
+    delete_IBNode((IBNode *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBNodeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBNode methods : { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBNode_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBNode_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBNode_guid_set;
+    }    else if (strcmp(_str,"makePort") == 0) {
+        cmd = _wrap_IBNode_makePort;
+    }    else if (strcmp(_str,"getPort") == 0) {
+        cmd = _wrap_IBNode_getPort;
+    }    else if (strcmp(_str,"setHops") == 0) {
+        cmd = _wrap_IBNode_setHops;
+    }    else if (strcmp(_str,"getHops") == 0) {
+        cmd = _wrap_IBNode_getHops;
+    }    else if (strcmp(_str,"getFirstMinHopPort") == 0) {
+        cmd = _wrap_IBNode_getFirstMinHopPort;
+    }    else if (strcmp(_str,"setLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_setLFTPortForLid;
+    }    else if (strcmp(_str,"getLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_getLFTPortForLid;
+    }    else if (strcmp(_str,"repHopTable") == 0) {
+        cmd = _wrap_IBNode_repHopTable;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_set;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_set;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_set;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_set;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_set;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -devId -revId -vendId -attributes -rank  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -devId -revId -vendId -attributes -rank  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_get;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_get;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_get;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_get;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_get;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBNode_p_system_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBNode_p_fabric_get;
+                }  else if (strcmp(_str,"-numPorts") == 0) {
+                    cmd = _wrap_IBNode_numPorts_get;
+                }  else if (strcmp(_str,"-Ports") == 0) {
+                    cmd = _wrap_IBNode_Ports_get;
+                }  else if (strcmp(_str,"-MinHopsTable") == 0) {
+                    cmd = _wrap_IBNode_MinHopsTable_get;
+                }  else if (strcmp(_str,"-LFT") == 0) {
+                    cmd = _wrap_IBNode_LFT_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBNode_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBNode_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_devId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-devId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_revId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_vendId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_attributes_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attributes ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_rank_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rank ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_numPorts_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-numPorts ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_Ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-Ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_MinHopsTable_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-MinHopsTable ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_LFT_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-LFT ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBNodeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBNode * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBNode;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBNode;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBNode;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBNode;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBNode_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBNode;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBNode_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBNode object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBNodeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSysPort_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSysPort_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_set { IBSysPort * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSysPort_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_set(_swigobj,_swigval) (_swigobj->p_remoteSysPort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_remoteSysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_set { IBSysPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_remoteSysPort)
+static int _wrap_IBSysPort_p_remoteSysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_set(_swigobj,_swigval) (_swigobj->p_system = _swigval,_swigval)
+static int _wrap_IBSysPort_p_system_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_set { IBSysPort * } { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBSysPort_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_set(_swigobj,_swigval) (_swigobj->p_nodePort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_nodePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_set { IBSysPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_get(_swigobj) ((IBPort *) _swigobj->p_nodePort)
+static int _wrap_IBSysPort_p_nodePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define new_IBSysPort(_swigarg0,_swigarg1) (new IBSysPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    string * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSysPort n p_sys ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)new_IBSysPort(*_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define delete_IBSysPort(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSysPort { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSysPort(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBSysPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    IBLinkWidth * _arg2 = &UnknownLinkWidth;
+    IBLinkSpeed * _arg3 = &UnknownLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_connect { IBSysPort * } p_otherSysPort ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBSysPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBSysPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_disconnect { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBSysPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSysPort(ClientData clientData) {
+    delete_IBSysPort((IBSysPort *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSysPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSysPort methods : { dump cget configure connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSysPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBSysPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBSysPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_set;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_set;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_set;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_get;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_get;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSysPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -p_remoteSysPort -p_system -p_nodePort  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSysPort_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remoteSysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_nodePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_nodePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSysPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSysPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSysPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSysPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSysPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSysPort;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSysPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSysPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSysPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSystem_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSystem_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSystem_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_set(_swigobj,_swigval) (_swigobj->type = *(_swigval),_swigval)
+static int _wrap_IBSystem_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_get(_swigobj) (&_swigobj->type)
+static int _wrap_IBSystem_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_set(_swigobj,_swigval) (_swigobj->p_fabric = _swigval,_swigval)
+static int _wrap_IBSystem_p_fabric_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    IBFabric * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_set { IBSystem * } { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBSystem_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBSystem_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_NodeByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBSystem_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBSystem_PortByName_get(_swigobj) (&_swigobj->PortByName)
+static int _wrap_IBSystem_PortByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psysport * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_PortByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psysport *)IBSystem_PortByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psysport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSysPort *") != TCL_OK) {
+		printf("-E- Fail to map SysPort Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define new_IBSystem(_swigarg0,_swigarg1,_swigarg2) (new IBSystem(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_new_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSystem n p_fab t ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)new_IBSystem(*_arg0,_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define delete_IBSystem(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSystem { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSystem(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBSystem_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBSystem_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBSystem_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBSystem_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_set { IBSystem * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBSystem_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_makeSysPort(_swigobj,_swigarg0)  (_swigobj->makeSysPort(_swigarg0))
+static int _wrap_IBSystem_makeSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_makeSysPort { IBSystem * } pName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_makeSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPortNodePortByName(_swigobj,_swigarg0)  (_swigobj->getSysPortNodePortByName(_swigarg0))
+static int _wrap_IBSystem_getSysPortNodePortByName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPortNodePortByName { IBSystem * } sysPortName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSystem_getSysPortNodePortByName(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPort(_swigobj,_swigarg0)  (_swigobj->getSysPort(_swigarg0))
+static int _wrap_IBSystem_getSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPort { IBSystem * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_getSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSystem(ClientData clientData) {
+    delete_IBSystem((IBSystem *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSystemMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSystem methods : { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSystem_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBSystem_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBSystem_guid_set;
+    }    else if (strcmp(_str,"makeSysPort") == 0) {
+        cmd = _wrap_IBSystem_makeSysPort;
+    }    else if (strcmp(_str,"getSysPortNodePortByName") == 0) {
+        cmd = _wrap_IBSystem_getSysPortNodePortByName;
+    }    else if (strcmp(_str,"getSysPort") == 0) {
+        cmd = _wrap_IBSystem_getSysPort;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_set;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -p_fabric  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -p_fabric  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_get;
+                }  else if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBSystem_NodeByName_get;
+                }  else if (strcmp(_str,"-PortByName") == 0) {
+                    cmd = _wrap_IBSystem_PortByName_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSystem_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -p_fabric -NodeByName -PortByName  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -p_fabric -NodeByName -PortByName  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSystem_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_PortByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSystemCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSystem * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSystem;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSystem;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSystem_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSystem;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSystem_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSystem object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSystemMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBFabric_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBFabric_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBFabric_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByName_get(_swigobj) (&_swigobj->SystemByName)
+static int _wrap_IBFabric_SystemByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psys *)IBFabric_SystemByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByLid_get(_swigobj) (&_swigobj->PortByLid)
+static int _wrap_IBFabric_PortByLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBFabric_PortByLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_NodeByGuid_get(_swigobj) (&_swigobj->NodeByGuid)
+static int _wrap_IBFabric_NodeByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pnode *)IBFabric_NodeByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByGuid_get(_swigobj) (&_swigobj->SystemByGuid)
+static int _wrap_IBFabric_SystemByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_psys *)IBFabric_SystemByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByGuid_get(_swigobj) (&_swigobj->PortByGuid)
+static int _wrap_IBFabric_PortByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pport *)IBFabric_PortByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBPort *") != TCL_OK) {
+		printf("-E- Fail to map Port Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_minLid_set(_swigobj,_swigval) (_swigobj->minLid = _swigval,_swigval)
+static int _wrap_IBFabric_minLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_minLid_get(_swigobj) ((unsigned int ) _swigobj->minLid)
+static int _wrap_IBFabric_minLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_set(_swigobj,_swigval) (_swigobj->maxLid = _swigval,_swigval)
+static int _wrap_IBFabric_maxLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_get(_swigobj) ((unsigned int ) _swigobj->maxLid)
+static int _wrap_IBFabric_maxLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_set(_swigobj,_swigval) (_swigobj->lmc = _swigval,_swigval)
+static int _wrap_IBFabric_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_get(_swigobj) ((unsigned int ) _swigobj->lmc)
+static int _wrap_IBFabric_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_makeNode(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->makeNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static int _wrap_IBFabric_makeNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    unsigned int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeNode { IBFabric * } n p_sys type numPorts ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_makeNode(_arg0,*_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNode(_swigobj,_swigarg0)  (_swigobj->getNode(_swigarg0))
+static int _wrap_IBFabric_getNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNode { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNode(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodesByType(_swigobj,_swigarg0)  (_swigobj->getNodesByType(_swigarg0))
+static int _wrap_IBFabric_getNodesByType(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodesByType { IBFabric * } type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (list_pnode *)IBFabric_getNodesByType(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_makeGenericSystem(_swigobj,_swigarg0)  (_swigobj->makeGenericSystem(_swigarg0))
+static int _wrap_IBFabric_makeGenericSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeGenericSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeGenericSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_makeSystem(_swigobj,_swigarg0,_swigarg1)  (_swigobj->makeSystem(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_makeSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeSystem { IBFabric * } name type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeSystem(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystem(_swigobj,_swigarg0)  (_swigobj->getSystem(_swigarg0))
+static int _wrap_IBFabric_getSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystemByGuid(_swigobj,_swigarg0)  (_swigobj->getSystemByGuid(_swigarg0))
+static int _wrap_IBFabric_getSystemByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystemByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystemByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodeByGuid(_swigobj,_swigarg0)  (_swigobj->getNodeByGuid(_swigarg0))
+static int _wrap_IBFabric_getNodeByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodeByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNodeByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getPortByGuid(_swigobj,_swigarg0)  (_swigobj->getPortByGuid(_swigarg0))
+static int _wrap_IBFabric_getPortByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBFabric_addCable(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7)  (_swigobj->addCable(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
+static int _wrap_IBFabric_addCable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    string * _arg3;
+    string * _arg4;
+    string * _arg5;
+    string * _arg6;
+    IBLinkWidth * _arg7 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg8 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 8) || (objc > 10)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addCable { IBFabric * } t1 n1 p1 t2 n2 p2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  int len;
+  static string _arg3_tmp;
+  _arg3_tmp = string(Tcl_GetStringFromObj(objv[4],&len));
+  _arg3 = &_arg3_tmp;
+}
+{
+  int len;
+  static string _arg4_tmp;
+  _arg4_tmp = string(Tcl_GetStringFromObj(objv[5],&len));
+  _arg4 = &_arg4_tmp;
+}
+{
+  int len;
+  static string _arg5_tmp;
+  _arg5_tmp = string(Tcl_GetStringFromObj(objv[6],&len));
+  _arg5 = &_arg5_tmp;
+}
+{
+  int len;
+  static string _arg6_tmp;
+  _arg6_tmp = string(Tcl_GetStringFromObj(objv[7],&len));
+  _arg6 = &_arg6_tmp;
+}
+    if (objc >8) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[8],NULL));
+  _arg7 = &temp1;
+}
+    }
+    if (objc >9) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[9],NULL));
+  _arg8 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBFabric_addCable(_arg0,*_arg1,*_arg2,*_arg3,*_arg4,*_arg5,*_arg6,*_arg7,*_arg8);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_parseCables(_swigobj,_swigarg0)  (_swigobj->parseCables(_swigarg0))
+static int _wrap_IBFabric_parseCables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseCables { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseCables(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseTopology(_swigobj,_swigarg0)  (_swigobj->parseTopology(_swigarg0))
+static int _wrap_IBFabric_parseTopology(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseTopology { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseTopology(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_addLink(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swigarg15,_swigarg16,_swigarg17,_swigarg18,_swigarg19,_swigarg20,_swigarg21,_swigarg22,_swigarg23,_swigarg24,_swigarg25)  (_swigobj->addLink(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swiga [...]
+static int _wrap_IBFabric_addLink(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    int  _arg2;
+    uint64_t * _arg3;
+    uint64_t * _arg4;
+    uint64_t * _arg5;
+    int  _arg6;
+    int  _arg7;
+    int  _arg8;
+    string * _arg9;
+    int  _arg10;
+    int  _arg11;
+    int  _arg12;
+    string * _arg13;
+    int  _arg14;
+    uint64_t * _arg15;
+    uint64_t * _arg16;
+    uint64_t * _arg17;
+    int  _arg18;
+    int  _arg19;
+    int  _arg20;
+    string * _arg21;
+    int  _arg22;
+    int  _arg23;
+    int  _arg24;
+    IBLinkWidth * _arg25 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg26 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    uint64_t  temp;
+    uint64_t  temp0;
+    uint64_t  temp1;
+    uint64_t  temp2;
+    uint64_t  temp3;
+    uint64_t  temp4;
+    IBLinkWidth  temp10;
+    IBLinkSpeed  temp20;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 26) || (objc > 28)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addLink { IBFabric * } type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 hcaIdx1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 hcaIdx2 lid2 portNum2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[4],NULL), NULL,16);
+  _arg3 = &temp;
+}
+{
+  temp0 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[6],NULL), NULL,16);
+  _arg5 = &temp1;
+}
+    if (Tcl_GetIntFromObj(interp,objv[7],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg6 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[8],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg7 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[9],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg8 = (int ) tempint;
+{
+  int len;
+  static string _arg9_tmp;
+  _arg9_tmp = string(Tcl_GetStringFromObj(objv[10],&len));
+  _arg9 = &_arg9_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[11],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg10 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[12],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg11 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[13],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg12 = (int ) tempint;
+{
+  int len;
+  static string _arg13_tmp;
+  _arg13_tmp = string(Tcl_GetStringFromObj(objv[14],&len));
+  _arg13 = &_arg13_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[15],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg14 = (int ) tempint;
+{
+  temp2 = strtoull(Tcl_GetStringFromObj(objv[16],NULL), NULL,16);
+  _arg15 = &temp2;
+}
+{
+  temp3 = strtoull(Tcl_GetStringFromObj(objv[17],NULL), NULL,16);
+  _arg16 = &temp3;
+}
+{
+  temp4 = strtoull(Tcl_GetStringFromObj(objv[18],NULL), NULL,16);
+  _arg17 = &temp4;
+}
+    if (Tcl_GetIntFromObj(interp,objv[19],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg18 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[20],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg19 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[21],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg20 = (int ) tempint;
+{
+  int len;
+  static string _arg21_tmp;
+  _arg21_tmp = string(Tcl_GetStringFromObj(objv[22],&len));
+  _arg21 = &_arg21_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[23],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg22 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[24],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg23 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[25],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg24 = (int ) tempint;
+    if (objc >26) {
+{
+  temp10 = char2width(Tcl_GetStringFromObj(objv[26],NULL));
+  _arg25 = &temp10;
+}
+    }
+    if (objc >27) {
+{
+  temp20 = char2speed(Tcl_GetStringFromObj(objv[27],NULL));
+  _arg26 = &temp20;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_addLink(_arg0,*_arg1,_arg2,*_arg3,*_arg4,*_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10,_arg11,_arg12,*_arg13,_arg14,*_arg15,*_arg16,*_arg17,_arg18,_arg19,_arg20,*_arg21,_arg22,_arg23,_arg24,*_arg25,*_arg26);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseSubnetLinks(_swigobj,_swigarg0)  (_swigobj->parseSubnetLinks(_swigarg0))
+static int _wrap_IBFabric_parseSubnetLinks(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseSubnetLinks { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseSubnetLinks(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseFdbFile(_swigobj,_swigarg0)  (_swigobj->parseFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseMCFdbFile(_swigobj,_swigarg0)  (_swigobj->parseMCFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseMCFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseMCFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseMCFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_setLidPort(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLidPort(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_setLidPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    IBPort * _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_setLidPort { IBFabric * } lid p_port ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBFabric_setLidPort(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_getPortByLid(_swigobj,_swigarg0)  (_swigobj->getPortByLid(_swigarg0))
+static int _wrap_IBFabric_getPortByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByLid { IBFabric * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBFabric_dumpTopology(_swigobj,_swigarg0,_swigarg1)  (_swigobj->dumpTopology(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_dumpTopology(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    char * _arg2;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_dumpTopology { IBFabric * } fileName ibnlDir ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_dumpTopology(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBFabricMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBFabric methods : { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid dumpTopology  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBFabric_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"makeNode") == 0) {
+        cmd = _wrap_IBFabric_makeNode;
+    }    else if (strcmp(_str,"getNode") == 0) {
+        cmd = _wrap_IBFabric_getNode;
+    }    else if (strcmp(_str,"getNodesByType") == 0) {
+        cmd = _wrap_IBFabric_getNodesByType;
+    }    else if (strcmp(_str,"makeGenericSystem") == 0) {
+        cmd = _wrap_IBFabric_makeGenericSystem;
+    }    else if (strcmp(_str,"makeSystem") == 0) {
+        cmd = _wrap_IBFabric_makeSystem;
+    }    else if (strcmp(_str,"getSystem") == 0) {
+        cmd = _wrap_IBFabric_getSystem;
+    }    else if (strcmp(_str,"getSystemByGuid") == 0) {
+        cmd = _wrap_IBFabric_getSystemByGuid;
+    }    else if (strcmp(_str,"getNodeByGuid") == 0) {
+        cmd = _wrap_IBFabric_getNodeByGuid;
+    }    else if (strcmp(_str,"getPortByGuid") == 0) {
+        cmd = _wrap_IBFabric_getPortByGuid;
+    }    else if (strcmp(_str,"addCable") == 0) {
+        cmd = _wrap_IBFabric_addCable;
+    }    else if (strcmp(_str,"parseCables") == 0) {
+        cmd = _wrap_IBFabric_parseCables;
+    }    else if (strcmp(_str,"parseTopology") == 0) {
+        cmd = _wrap_IBFabric_parseTopology;
+    }    else if (strcmp(_str,"addLink") == 0) {
+        cmd = _wrap_IBFabric_addLink;
+    }    else if (strcmp(_str,"parseSubnetLinks") == 0) {
+        cmd = _wrap_IBFabric_parseSubnetLinks;
+    }    else if (strcmp(_str,"parseFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseFdbFile;
+    }    else if (strcmp(_str,"parseMCFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseMCFdbFile;
+    }    else if (strcmp(_str,"setLidPort") == 0) {
+        cmd = _wrap_IBFabric_setLidPort;
+    }    else if (strcmp(_str,"getPortByLid") == 0) {
+        cmd = _wrap_IBFabric_getPortByLid;
+    }    else if (strcmp(_str,"dumpTopology") == 0) {
+        cmd = _wrap_IBFabric_dumpTopology;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_set;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_set;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -minLid -maxLid -lmc  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -minLid -maxLid -lmc  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBFabric_NodeByName_get;
+                }  else if (strcmp(_str,"-SystemByName") == 0) {
+                    cmd = _wrap_IBFabric_SystemByName_get;
+                }  else if (strcmp(_str,"-PortByLid") == 0) {
+                    cmd = _wrap_IBFabric_PortByLid_get;
+                }  else if (strcmp(_str,"-NodeByGuid") == 0) {
+                    cmd = _wrap_IBFabric_NodeByGuid_get;
+                }  else if (strcmp(_str,"-SystemByGuid") == 0) {
+                    cmd = _wrap_IBFabric_SystemByGuid_get;
+                }  else if (strcmp(_str,"-PortByGuid") == 0) {
+                    cmd = _wrap_IBFabric_PortByGuid_get;
+                }  else if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_get;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_get;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBFabric_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBFabric_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_NodeByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_minLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-minLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_maxLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-maxLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid dumpTopology }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBFabricCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBFabric * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBFabric_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBFabric_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBFabric object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBFabricMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *interp) {
+	 if (interp == 0)
+		 return TCL_ERROR;
+	 SWIG_RegisterType();
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_UNKNOWN_NODE_TYPE", (char *) &_wrap_const_IB_UNKNOWN_NODE_TYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SW_NODE", (char *) &_wrap_const_IB_SW_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_CA_NODE", (char *) &_wrap_const_IB_CA_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_NONE", (char *) &_wrap_const_FABU_LOG_NONE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_ERROR", (char *) &_wrap_const_FABU_LOG_ERROR, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_INFO", (char *) &_wrap_const_FABU_LOG_INFO, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_VERBOSE", (char *) &_wrap_const_FABU_LOG_VERBOSE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FabricUtilsVerboseLevel", (char *) &FabricUtilsVerboseLevel, TCL_LINK_INT);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmUseInternalLog", _wrap_ibdmUseInternalLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmUseCoutLog", _wrap_ibdmUseCoutLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmGetAndClearInternalLog", _wrap_ibdmGetAndClearInternalLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBFabric", _wrap_new_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBFabric", _wrap_delete_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAssignLids", _wrap_ibdmAssignLids, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcMinHopTables", _wrap_ibdmCalcMinHopTables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcUpDnMinHopTbls", _wrap_ibdmCalcUpDnMinHopTbls, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmOsmRoute", _wrap_ibdmOsmRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmEnhancedRoute", _wrap_ibdmEnhancedRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeRoute", _wrap_ibdmFatTreeRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeAnalysis", _wrap_ibdmFatTreeAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeRouteByPermutation", _wrap_ibdmFatTreeRouteByPermutation, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyCAtoCARoutes", _wrap_ibdmVerifyCAtoCARoutes, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyAllPaths", _wrap_ibdmVerifyAllPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAnalyzeLoops", _wrap_ibdmAnalyzeLoops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindSymmetricalTreeRoots", _wrap_ibdmFindSymmetricalTreeRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindRootNodesByMinHop", _wrap_ibdmFindRootNodesByMinHop, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmRankFabricByRoots", _wrap_ibdmRankFabricByRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmReportNonUpDownCa2CaPaths", _wrap_ibdmReportNonUpDownCa2CaPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckMulticastGroups", _wrap_ibdmCheckMulticastGroups, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckFabricMCGrpsForCreditLoopPotential", _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmLinkCoverageAnalysis", _wrap_ibdmLinkCoverageAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceDRPathRoute", _wrap_ibdmTraceDRPathRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByMinHops", _wrap_ibdmTraceRouteByMinHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByLFT", _wrap_ibdmTraceRouteByLFT, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmMatchFabrics", _wrap_ibdmMatchFabrics, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmBuildMergedFabric", _wrap_ibdmBuildMergedFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongInit", _wrap_ibdmCongInit, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongCleanup", _wrap_ibdmCongCleanup, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongClear", _wrap_ibdmCongClear, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongTrace", _wrap_ibdmCongTrace, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongReport", _wrap_ibdmCongReport, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongDump", _wrap_ibdmCongDump, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "ibdmSourceVersion", (char *) &ibdmSourceVersion, TCL_LINK_STRING);
+
+
+  /* mixing declarations .... */
+  {
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBFabric_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBFabric_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSystem_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSystem_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSysPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSysPort_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBNode_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBNode_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBPort_p"] = &ibdmGetObjPtrByTclName;
+  }
+
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_set", _wrap_IBPort_p_remotePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_get", _wrap_IBPort_p_remotePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_set", _wrap_IBPort_p_sysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_get", _wrap_IBPort_p_sysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_set", _wrap_IBPort_p_node_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_get", _wrap_IBPort_p_node_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_set", _wrap_IBPort_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_get", _wrap_IBPort_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_set", _wrap_IBPort_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_get", _wrap_IBPort_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_set", _wrap_IBPort_width_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_get", _wrap_IBPort_width_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_set", _wrap_IBPort_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_get", _wrap_IBPort_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_set", _wrap_IBPort_counter1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_get", _wrap_IBPort_counter1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBPort", _wrap_new_IBPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_get", _wrap_IBPort_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_set", _wrap_IBPort_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_getName", _wrap_IBPort_getName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_connect", _wrap_IBPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_disconnect", _wrap_IBPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBPort",TclIBPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_set", _wrap_IBNode_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_get", _wrap_IBNode_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_set", _wrap_IBNode_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_get", _wrap_IBNode_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_set", _wrap_IBNode_devId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_get", _wrap_IBNode_devId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_set", _wrap_IBNode_revId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_get", _wrap_IBNode_revId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_set", _wrap_IBNode_vendId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_get", _wrap_IBNode_vendId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_set", _wrap_IBNode_attributes_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_get", _wrap_IBNode_attributes_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_set", _wrap_IBNode_rank_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_get", _wrap_IBNode_rank_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_system_get", _wrap_IBNode_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_fabric_get", _wrap_IBNode_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_numPorts_get", _wrap_IBNode_numPorts_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_Ports_get", _wrap_IBNode_Ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_MinHopsTable_get", _wrap_IBNode_MinHopsTable_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_LFT_get", _wrap_IBNode_LFT_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_get", _wrap_IBNode_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_set", _wrap_IBNode_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBNode", _wrap_new_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBNode", _wrap_delete_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_makePort", _wrap_IBNode_makePort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getPort", _wrap_IBNode_getPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setHops", _wrap_IBNode_setHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getHops", _wrap_IBNode_getHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getFirstMinHopPort", _wrap_IBNode_getFirstMinHopPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setLFTPortForLid", _wrap_IBNode_setLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getLFTPortForLid", _wrap_IBNode_getLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_repHopTable", _wrap_IBNode_repHopTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBNode",TclIBNodeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_set", _wrap_IBSysPort_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_get", _wrap_IBSysPort_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_set", _wrap_IBSysPort_p_remoteSysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_get", _wrap_IBSysPort_p_remoteSysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_set", _wrap_IBSysPort_p_system_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_get", _wrap_IBSysPort_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_set", _wrap_IBSysPort_p_nodePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_get", _wrap_IBSysPort_p_nodePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSysPort", _wrap_new_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSysPort", _wrap_delete_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_connect", _wrap_IBSysPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_disconnect", _wrap_IBSysPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSysPort",TclIBSysPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_set", _wrap_IBSystem_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_get", _wrap_IBSystem_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_set", _wrap_IBSystem_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_get", _wrap_IBSystem_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_set", _wrap_IBSystem_p_fabric_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_get", _wrap_IBSystem_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_NodeByName_get", _wrap_IBSystem_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_PortByName_get", _wrap_IBSystem_PortByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSystem", _wrap_new_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSystem", _wrap_delete_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_get", _wrap_IBSystem_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_set", _wrap_IBSystem_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_makeSysPort", _wrap_IBSystem_makeSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPortNodePortByName", _wrap_IBSystem_getSysPortNodePortByName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPort", _wrap_IBSystem_getSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSystem",TclIBSystemCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByName_get", _wrap_IBFabric_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByName_get", _wrap_IBFabric_SystemByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByLid_get", _wrap_IBFabric_PortByLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByGuid_get", _wrap_IBFabric_NodeByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByGuid_get", _wrap_IBFabric_SystemByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByGuid_get", _wrap_IBFabric_PortByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_set", _wrap_IBFabric_minLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_get", _wrap_IBFabric_minLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_set", _wrap_IBFabric_maxLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_get", _wrap_IBFabric_maxLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_set", _wrap_IBFabric_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_get", _wrap_IBFabric_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeNode", _wrap_IBFabric_makeNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNode", _wrap_IBFabric_getNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodesByType", _wrap_IBFabric_getNodesByType, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeGenericSystem", _wrap_IBFabric_makeGenericSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeSystem", _wrap_IBFabric_makeSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystem", _wrap_IBFabric_getSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystemByGuid", _wrap_IBFabric_getSystemByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodeByGuid", _wrap_IBFabric_getNodeByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByGuid", _wrap_IBFabric_getPortByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addCable", _wrap_IBFabric_addCable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseCables", _wrap_IBFabric_parseCables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseTopology", _wrap_IBFabric_parseTopology, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addLink", _wrap_IBFabric_addLink, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseSubnetLinks", _wrap_IBFabric_parseSubnetLinks, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseFdbFile", _wrap_IBFabric_parseFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseMCFdbFile", _wrap_IBFabric_parseMCFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_setLidPort", _wrap_IBFabric_setLidPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByLid", _wrap_IBFabric_getPortByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_dumpTopology", _wrap_IBFabric_dumpTopology, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBFabric",TclIBFabricCmd, (ClientData) NULL, NULL);
+/*
+ * These are the pointer type-equivalency mappings.
+ * (Used by the SWIG pointer type-checker).
+ */
+	 SWIG_RegisterMapping("_signed_long","_long",0);
+	 SWIG_RegisterMapping("_IBPort","_class_IBPort",0);
+	 SWIG_RegisterMapping("_IBSystem","_class_IBSystem",0);
+	 SWIG_RegisterMapping("_long","_unsigned_long",0);
+	 SWIG_RegisterMapping("_long","_signed_long",0);
+	 SWIG_RegisterMapping("_class_IBPort","_IBPort",0);
+	 SWIG_RegisterMapping("_class_IBFabric","_IBFabric",0);
+	 SWIG_RegisterMapping("_unsigned_long","_long",0);
+	 SWIG_RegisterMapping("_signed_int","_int",0);
+	 SWIG_RegisterMapping("_IBSysPort","_class_IBSysPort",0);
+	 SWIG_RegisterMapping("_unsigned_short","_short",0);
+	 SWIG_RegisterMapping("_signed_short","_short",0);
+	 SWIG_RegisterMapping("_IBNode","_class_IBNode",0);
+	 SWIG_RegisterMapping("_unsigned_int","_int",0);
+	 SWIG_RegisterMapping("_class_IBSysPort","_IBSysPort",0);
+	 SWIG_RegisterMapping("_class_IBSystem","_IBSystem",0);
+	 SWIG_RegisterMapping("_short","_unsigned_short",0);
+	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("_int","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_signed_int",0);
+	 SWIG_RegisterMapping("_class_IBNode","_IBNode",0);
+	 SWIG_RegisterMapping("_IBFabric","_class_IBFabric",0);
+	 return TCL_OK;
+}
diff --git a/ibdm/ibdm/ibdmsh_wrap.cpp b/ibdm/ibdm/ibdmsh_wrap.cpp
new file mode 100644
index 0000000..63e4399
--- /dev/null
+++ b/ibdm/ibdm/ibdmsh_wrap.cpp
@@ -0,0 +1,18162 @@
+/*
+ * FILE : swig_wrap.c
+ *
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 5)
+ *
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ *
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : TCL 8.0 */
+
+#define INCLUDE_TCL    <tcl.h>
+#define INCLUDE_TK     <tk.h>
+#include INCLUDE_TCL
+#include <string.h>
+#include <stdlib.h>
+#define SWIGTCL
+#define SWIGTCL8
+/*
+ * $Header: /b2/dmb/SWIG/SWIG1.0b3/swig_lib/tcl/RCS/swigtcl.cfg,v 1.1 1996/05/22 19:47:45 beazley Exp $
+ *
+ * swigtcl.cfg
+ *
+ * This file is modified from a platform independent file provided
+ * by Sun.   With any luck this will allow SWIG generated wrapper
+ * files to work on Unix, Windows, and Macintosh.
+ *
+ * Revision History
+ * $Log: swigtcl.cfg,v $
+ * Revision 1.1  1996/05/22 19:47:45  beazley
+ * Initial revision
+ *
+ *
+ * -- Dave Beazley, May 2, 1996.
+ *
+ *	This file is an example of a Tcl dynamically loadable extension.
+ *
+ * Copyright (c) 1996 by Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#if defined(__WIN32__)
+#   define WIN32_LEAN_AND_MEAN
+#   include <windows.h>
+#   undef WIN32_LEAN_AND_MEAN
+
+/*
+ * VC++ has an alternate entry point called DllMain, so we need to rename
+ * our entry point.
+ */
+
+#   if defined(_MSC_VER)
+#	define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#	define DllEntryPoint DllMain
+#   else
+#	if defined(__BORLANDC__)
+#	    define SWIGEXPORT(a,b) a _export b
+#	else
+#	    define SWIGEXPORT(a,b) a b
+#	endif
+#   endif
+#else
+#   define SWIGEXPORT(a,b) a b
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllEntryPoint --
+ *
+ *	This wrapper function is used by Windows to invoke the
+ *	initialization code for the DLL.  If we are compiling
+ *	with Visual C++, this routine will be renamed to DllMain.
+ *	routine.
+ *
+ * Results:
+ *	Returns TRUE;
+ *
+ * Side effects:
+ *	None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+#ifdef __WIN32__
+BOOL APIENTRY
+DllEntryPoint(HINSTANCE hInst, DWORD reason, LPVOID reserved)
+{
+    return TRUE;
+}
+#endif
+
+/**************************************************************************
+ * $Header:$
+ *
+ * tcl8ptr.swg
+ *
+ * This file provides type-checked pointer support to Tcl 8.0.
+ * Pointers are installed as new kinds of Tcl 8.0 objects consisting
+ * of the following structure
+ *
+ * typedef struct {
+ *         char     *name;            Name of the datatype
+ *         void     *value;           Value of the pointer
+ * } Tcl_SwigPtr;
+ *
+ * While we still need to perform string comparisons on the
+ * type-name, this function no longer needs to convert pointer
+ * values to hex so it should be a little faster.
+ *
+ * New Tcl datatypes are defined by the following data structure.
+ *
+ * typedef struct Tcl_ObjType {
+ *              char *name;
+ *              Tcl_FreeInternalRepProc *freeIntRepProc;
+ *              Tcl_DupInternalRepProc *dupIntRepProc;
+ *              Tcl_UpdateStringProc *updateStringProc;
+ *              Tcl_SetFromAnyProc *setFromAnyProc;
+ *             } Tcl_ObjType;
+ *
+ * Functions for manipulating SWIG pointers in wrapper code are:
+ *
+ *     void *SWIG_SetPointerObj(objPtr, ptr, type)
+ *     char *SWIG_GetPointerFromObj(objPtr, *ptr, type)
+ *
+ **********************************************************************/
+
+#ifdef SWIG_GLOBAL
+#include <tcl.h>
+#ifdef __cplusplus
+#define SWIGSTATIC extern "C"
+#else
+#define SWIGSTATIC
+#endif
+#endif
+
+#ifndef SWIGSTATIC
+#define SWIGSTATIC static
+#endif
+
+/* These are internal variables.   Should be static */
+
+typedef struct SwigPtrType {
+  char               *name;
+  int                 len;
+  void               *(*cast)(void *);
+  struct SwigPtrType *next;
+} SwigPtrType;
+
+/* Pointer cache structure */
+
+typedef struct {
+  int                 stat;               /* Status (valid) bit             */
+  SwigPtrType        *tp;                 /* Pointer to type structure      */
+  char                name[256];          /* Given datatype name            */
+  char                mapped[256];        /* Equivalent name                */
+} SwigCacheType;
+
+static int SwigPtrMax  = 64;           /* Max entries that can be currently held */
+static int SwigPtrN    = 0;            /* Current number of entries              */
+static int SwigPtrSort = 0;            /* Status flag indicating sort            */
+static int SwigStart[256];             /* Array containing start locations (for searching) */
+static SwigPtrType *SwigPtrTable = 0;  /* Table containing pointer equivalences  */
+
+/* Cached values */
+
+#define SWIG_CACHESIZE  8
+#define SWIG_CACHEMASK  0x7
+static SwigCacheType SwigCache[SWIG_CACHESIZE];
+static int SwigCacheIndex = 0;
+static int SwigLastCache = 0;
+
+/* Sort comparison function */
+static int swigsort(const void *data1, const void *data2) {
+	SwigPtrType *d1 = (SwigPtrType *) data1;
+	SwigPtrType *d2 = (SwigPtrType *) data2;
+	return strcmp(d1->name,d2->name);
+}
+
+/* Binary Search function */
+static int swigcmp(const void *key, const void *data) {
+  char *k = (char *) key;
+  SwigPtrType *d = (SwigPtrType *) data;
+  return strncmp(k,d->name,d->len);
+}
+
+
+/*---------------------------------------------------------------------
+ * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *))
+ *
+ * Register a new type-mapping with the type-checking system.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) {
+
+  int i;
+  SwigPtrType *t = 0, *t1;
+
+  if (!SwigPtrTable) {
+    SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType));
+    SwigPtrN = 0;
+  }
+  if (SwigPtrN >= SwigPtrMax) {
+    SwigPtrMax = 2*SwigPtrMax;
+    SwigPtrTable = (SwigPtrType *) realloc(SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType));
+  }
+  for (i = 0; i < SwigPtrN; i++)
+    if (strcmp(SwigPtrTable[i].name,origtype) == 0) {
+      t = &SwigPtrTable[i];
+      break;
+    }
+  if (!t) {
+    t = &SwigPtrTable[SwigPtrN];
+    t->name = origtype;
+    t->len = strlen(origtype);
+    t->cast = 0;
+    t->next = 0;
+    SwigPtrN++;
+  }
+  while (t->next) {
+    if (strcmp(t->name,newtype) == 0) {
+      if (cast) t->cast = cast;
+      return;
+    }
+    t = t->next;
+  }
+  t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType));
+  t1->name = newtype;
+  t1->len = strlen(newtype);
+  t1->cast = cast;
+  t1->next = 0;
+  t->next = t1;
+  SwigPtrSort = 0;
+}
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+
+
+
+/* This is for backwards compatibility */
+
+
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_RegisterType()
+ *
+ * Registers our new datatype with an interpreter.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterType() {
+  /* Does nothing at the moment */
+}
+#define SWIG_init    Ibdm_Init
+#define SWIG_name    "ibdm"
+#define SWIG_prefix  ""
+#define SWIG_namespace ""
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <sstream>
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+#include "TraceRoute.h"
+#include "TopoMatch.h"
+#include "Congestion.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+
+  /* GLOBALS */
+  static char ibdm_tcl_error_msg[1024];
+  static int  ibdm_tcl_error;
+  static vector< IBFabric *> ibdm_fabrics;
+  static IBLinkWidth UnknownLinkWidth = IB_UNKNOWN_LINK_WIDTH;
+  static IBLinkSpeed UnknownLinkSpeed = IB_UNKNOWN_LINK_SPEED;
+  static IBLinkWidth DefaultLinkWidth = IB_LINK_WIDTH_4X;
+  static IBLinkSpeed DefaultLinkSpeed = IB_LINK_SPEED_2_5;
+
+  /*
+	  MAPPING IBDM OBJECTS TO TCL and BACK:
+	  The idea is that we have specifc rules for naming
+	  Node, Port, System and SystemPort for a specific Fabric.
+
+	  All Fabrics are stored by id in a global vector.
+
+	  So the object names will follow:
+	  <type>:<fabricIdx>/<name>
+
+  */
+
+  /* Given a fabric pointer return its idx (starting w 1) or 0 */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric) {
+	 /* go over all fabrics and find it's index: */
+	 for (unsigned int i = 0; i < ibdm_fabrics.size(); i++) {
+		if (ibdm_fabrics[i] == p_fabric) {
+		  return(i+1);
+		}
+	 }
+	 return(0);
+  }
+
+  /* Given a fabric idx return it's pointer */
+  /* Note the index is 1-N and thus we need to -1 it before access */
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx) {
+	 if ((idx > ibdm_fabrics.size()) || (idx < 1)) {
+		return NULL;
+	 }
+	 return ibdm_fabrics[idx - 1];
+  }
+
+  /*
+	 we provide our own constructor such that all IBFabrics are
+	 registered in the global vector;
+  */
+  IBFabric *new_IBFabric(void) {
+	 IBFabric *p_fabric = new IBFabric();
+    unsigned int i;
+	 if (p_fabric) {
+      /* look for an open index in the vector of fabrics */
+      for (i = 0; i < ibdm_fabrics.size(); i++)
+      {
+        if (ibdm_fabrics[i] == NULL)
+        {
+          ibdm_fabrics[i] = p_fabric;
+          return p_fabric;
+        }
+      }
+      ibdm_fabrics.push_back(p_fabric);
+	 }
+	 return p_fabric;
+  }
+
+  /*
+	 we provide our own destructor such that the deleted fabric is
+    de-registered from the global fabrics vector
+  */
+  void delete_IBFabric(IBFabric *p_fabric) {
+    int idx = ibdmGetFabricIdxByPtr(p_fabric);
+    if (! idx) {
+      printf("ERROR: Fabric idx:%p does not exist in the global vector!\n",
+             p_fabric);
+    } else {
+      ibdm_fabrics[idx-1] = NULL;
+    }
+    delete p_fabric;
+  }
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBNode *")) {
+		IBNode *p_node = (IBNode *)ptr;
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "node";
+	 } else if (!strcmp(type, "IBPort *")) {
+		IBPort *p_port = (IBPort *)ptr;
+		sprintf(name,":%s/%u", p_port->p_node->name.c_str(), p_port->num);
+		p_fabric = p_port->p_node->p_fabric;
+		uiType = "port";
+	 } else if (!strcmp(type, "IBSystem *")) {
+		IBSystem *p_system = (IBSystem *)ptr;
+		sprintf(name, ":%s", p_system->name.c_str());
+		uiType = "system";
+		p_fabric = p_system->p_fabric;
+	 } else if (!strcmp(type, "IBSysPort *")) {
+		IBSysPort *p_sysPort = (IBSysPort *)ptr;
+		sprintf(name, ":%s:%s",  p_sysPort->p_system->name.c_str(),
+				  p_sysPort->name.c_str());
+		uiType = "sysport";
+		p_fabric = p_sysPort->p_system->p_fabric;
+	 } else if (!strcmp(type, "IBFabric *")) {
+		p_fabric = (IBFabric *)ptr;
+		uiType = "fabric";
+		name[0] = '\0';
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name=0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if tyep is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* Ok so now get the fabic pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+	 if (!strcmp(type, "fabric")) {
+		*ptr = p_fabric;
+	 } else if (!strcmp(type, "node")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_node;
+	 } else if (!strcmp(type, "port")) {
+		slashIdx = rindex(name,'/');
+		if (!slashIdx) {
+		  printf("-E- Bad formatted ibdm node object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		int portNum = atoi(++slashIdx);
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBPort *p_port = p_node->getPort(portNum);
+		if (! p_port) {
+		  printf("-E- Fail to get node:%s port:%u\n",
+					 name, portNum);
+		  return TCL_ERROR;
+		}
+		*ptr = p_port;
+	 } else if (!strcmp(type, "system")) {
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_system;
+	 } else if (!strcmp(type, "sysport")) {
+		/* the format of system port is:  <type>:<idx>:<sys>:<port> */
+		colonIdx = index(name,':');
+		if (!colonIdx) {
+		  printf("-E- Bad formatted ibdm sysport object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0) );
+		  return TCL_ERROR;
+		}
+		*colonIdx = '\0';
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBSysPort *p_sysPort = p_system->getSysPort(string(++colonIdx));
+		if (! p_sysPort) {
+		  printf("-E- Fail to get system:%s port:%s\n", name, colonIdx);
+		  return TCL_ERROR;
+		}
+		*ptr = p_sysPort;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+
+  int ibdmReportNonUpDownCa2CaPaths(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnReportNonUpDownCa2CaPaths(p_fabric, nodesRank));
+  }
+
+  int ibdmFatTreeRoute(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtFatTreeRoute(p_fabric));
+  }
+
+  int ibdmCheckFabricMCGrpsForCreditLoopPotential(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtCheckFabricMCGrpsForCreditLoopPotential(p_fabric, nodesRank));
+  }
+
+  int ibdmRankFabricByRoots(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return(0);
+  }
+
+
+#define new_string string
+
+#define new_uint64_t uint64_t
+static int  _wrap_const_IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE;
+static int  _wrap_const_IB_SW_NODE = IB_SW_NODE;
+static int  _wrap_const_IB_CA_NODE = IB_CA_NODE;
+static int  _wrap_const_FABU_LOG_NONE = 0x0;
+static int  _wrap_const_FABU_LOG_ERROR = 0x1;
+static int  _wrap_const_FABU_LOG_INFO = 0x2;
+static int  _wrap_const_FABU_LOG_VERBOSE = 0x4;
+
+#define list_pnode_arg_name list_pnode
+
+#define unsigned_int_arg_name unsigned int
+
+#include "swig_alternate_mangling.cpp"
+extern char * ibdmSourceVersion;
+
+
+/* A TCL_AppInit() function that lets you build a new copy
+ * of tclsh.
+ *
+ * The macro SWIG_init contains the name of the initialization
+ * function in the wrapper file.
+ */
+
+#ifndef SWIG_RcFileName
+char *SWIG_RcFileName = "~/.myapprc";
+#endif
+
+
+#ifdef MAC_TCL
+extern int		MacintoshInit _ANSI_ARGS_((void));
+#endif
+
+int Tcl_AppInit(Tcl_Interp *interp){
+
+  if (Tcl_Init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+
+  /* Now initialize our functions */
+
+  if (SWIG_init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 5
+   Tcl_SetVar(interp,"tcl_rcFileName",SWIG_RcFileName,TCL_GLOBAL_ONLY);
+#else
+   tcl_RcFileName = SWIG_RcFileName;
+#endif
+#ifdef SWIG_RcRsrcName
+  Tcl_SetVar(interp,"tcl_rcRsrcName",SWIG_RcRsrcName,TCL_GLOBAL);
+#endif
+
+  return TCL_OK;
+}
+
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 4
+int main(int argc, char **argv) {
+#ifdef MAC_TCL
+    char *newArgv[2];
+
+    if (MacintoshInit()  != TCL_OK) {
+	Tcl_Exit(1);
+    }
+
+    argc = 1;
+    newArgv[0] = "tclsh";
+    newArgv[1] = NULL;
+    argv = newArgv;
+#endif
+
+  Tcl_Main(argc, argv, Tcl_AppInit);
+  return(0);
+
+}
+#else
+extern int main();
+#endif
+
+static int _wrap_ibdmUseInternalLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmUseInternalLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmUseInternalLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmUseCoutLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmUseCoutLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmUseCoutLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmGetAndClearInternalLog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmGetAndClearInternalLog ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (char *)ibdmGetAndClearInternalLog();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+delete [] _result;
+
+    return TCL_OK;
+}
+static int _wrap_new_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBFabric ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)new_IBFabric();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+static int _wrap_delete_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBFabric p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBFabric(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static int _wrap_ibdmAssignLids(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1 = 0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAssignLids p_smNodePort ?lmc? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >2) {
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtAssignLids(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcMinHopTables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcMinHopTables p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcMinHopTables(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcUpDnMinHopTbls(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcUpDnMinHopTblsByRootNodesRex(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmOsmRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmOsmRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmEnhancedRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmEnhancedRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmEnhancedRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeRoute p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmFatTreeRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeAnalysis p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )FatTreeAnalysis(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeRouteByPermutation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    char * _arg2;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeRouteByPermutation p_fabric srcs dsts ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )FatTreeRouteByPermutation(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyCAtoCARoutes(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyCAtoCARoutes p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllCaToCaRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyAllPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyAllPaths p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmAnalyzeLoops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAnalyzeLoops p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CrdLoopAnalyze(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFindSymmetricalTreeRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindSymmetricalTreeRoots p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindTreeRootNodes(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmFindRootNodesByMinHop(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindRootNodesByMinHop p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindRootNodesByMinHop(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmRankFabricByRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmRankFabricByRoots p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmRankFabricByRoots(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmReportNonUpDownCa2CaPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmReportNonUpDownCa2CaPaths(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckMulticastGroups(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckMulticastGroups p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCheckFabricMCGrps(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmCheckFabricMCGrpsForCreditLoopPotential(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmLinkCoverageAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmLinkCoverageAnalysis p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )LinkCoverageAnalysis(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceDRPathRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    list_int * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceDRPathRoute p_smNodePort drPathPortNums ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_list_int_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of ibdmTraceDRPathRoute. Expected _list_int_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceDRPathRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByMinHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByMinHops p_fabric slid dlid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByMinHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByLFT(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    unsigned_int_arg_name * _arg3;
+    list_pnode_arg_name * _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    unsigned int  tmp;
+    list_pnode  tmp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+	_arg3 = &tmp;
+}
+{
+	_arg4 = &tmp0;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByLFT(_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+   char buf[16];
+	sprintf(buf, "%u", tmp);
+   Tcl_SetVar(interp, Tcl_GetString(objv[4]), buf, 0);
+}
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _arg4->begin();
+  Tcl_Obj *p_tclObj;
+  Tcl_SetVar(interp, Tcl_GetString(objv[5]),"",0);
+  while (I != _arg4->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_SetVar(interp, Tcl_GetString(objv[5]), buf,
+					  TCL_LIST_ELEMENT|TCL_APPEND_VALUE);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmMatchFabrics(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    char * _arg2;
+    int  _arg3;
+    uint64_t * _arg4;
+    char ** _arg5;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    int templength;
+    int tempint;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg5 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMatchFabrics(_arg0,_arg1,_arg2,_arg3,*_arg4,_arg5);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (*_arg5) {
+     Tcl_SetStringObj(tcl_result,*_arg5,strlen(*_arg5));
+      free(*_arg5);
+  } else {
+     Tcl_SetStringObj(tcl_result,"",-1);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmBuildMergedFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    IBFabric * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMergeDiscAndSpecFabrics(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongInit(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongInit p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongInit(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongCleanup(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongCleanup p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongCleanup(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongClear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongClear p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongZero(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongTrace(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongTrace p_fabric srcLid dstLid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongTrackPath(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongReport(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongReport p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongReport(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmCongDump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongDump p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongDump(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_set(_swigobj,_swigval) (_swigobj->p_remotePort = _swigval,_swigval)
+static int _wrap_IBPort_p_remotePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_set { IBPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_get(_swigobj) ((IBPort *) _swigobj->p_remotePort)
+static int _wrap_IBPort_p_remotePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_set(_swigobj,_swigval) (_swigobj->p_sysPort = _swigval,_swigval)
+static int _wrap_IBPort_p_sysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_set { IBPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_sysPort)
+static int _wrap_IBPort_p_sysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_set(_swigobj,_swigval) (_swigobj->p_node = _swigval,_swigval)
+static int _wrap_IBPort_p_node_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    IBNode * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_set { IBPort * } { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_get(_swigobj) ((IBNode *) _swigobj->p_node)
+static int _wrap_IBPort_p_node_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_num_set(_swigobj,_swigval) (_swigobj->num = _swigval,_swigval)
+static int _wrap_IBPort_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_set { IBPort * } { int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_num_get(_swigobj) ((int ) _swigobj->num)
+static int _wrap_IBPort_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = _swigval,_swigval)
+static int _wrap_IBPort_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_get(_swigobj) ((unsigned int ) _swigobj->base_lid)
+static int _wrap_IBPort_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_width_set(_swigobj,_swigval) (_swigobj->width = *(_swigval),_swigval)
+static int _wrap_IBPort_width_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    IBLinkWidth * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_set { IBPort * } { IBLinkWidth * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp1;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_width_get(_swigobj) (&_swigobj->width)
+static int _wrap_IBPort_width_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_set(_swigobj,_swigval) (_swigobj->speed = *(_swigval),_swigval)
+static int _wrap_IBPort_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    IBLinkSpeed * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_set { IBPort * } { IBLinkSpeed * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp2;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_get(_swigobj) (&_swigobj->speed)
+static int _wrap_IBPort_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_counter1_set(_swigobj,_swigval) (_swigobj->counter1 = _swigval,_swigval)
+static int _wrap_IBPort_counter1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_counter1_get(_swigobj) ((unsigned int ) _swigobj->counter1)
+static int _wrap_IBPort_counter1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define new_IBPort(_swigarg0,_swigarg1) (new IBPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBPort p_nodePtr number ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)new_IBPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBPort_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBPort_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBPort_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_set { IBPort * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBPort_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_getName(_swigobj)  (_swigobj->getName())
+static int _wrap_IBPort_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_string * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_getName { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_string (IBPort_getName(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+   delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    IBPort * _arg1;
+    IBLinkWidth * _arg2 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg3 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_connect { IBPort * } p_otherPort ?w? ?s? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_disconnect { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBPort methods : { dump cget configure guid_get guid_set getName connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBPort_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBPort_guid_set;
+    }    else if (strcmp(_str,"getName") == 0) {
+        cmd = _wrap_IBPort_getName;
+    }    else if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_set;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_set;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_set;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_set;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_set;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_set;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_get;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_get;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_get;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_get;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_get;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_get;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBPort_p_remotePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remotePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_sysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_sysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_node_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_node ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_width_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-width ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_counter1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-counter1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set getName connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBNode_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBNode_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBNode_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_type_set(_swigobj,_swigval) (_swigobj->type = _swigval,_swigval)
+static int _wrap_IBNode_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_set { IBNode * } { IBNodeType  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_type_get(_swigobj) ((IBNodeType ) _swigobj->type)
+static int _wrap_IBNode_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_devId_set(_swigobj,_swigval) (_swigobj->devId = *(_swigval),_swigval)
+static int _wrap_IBNode_devId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_devId_get(_swigobj) (&_swigobj->devId)
+static int _wrap_IBNode_devId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_set(_swigobj,_swigval) (_swigobj->revId = *(_swigval),_swigval)
+static int _wrap_IBNode_revId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_get(_swigobj) (&_swigobj->revId)
+static int _wrap_IBNode_revId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_set(_swigobj,_swigval) (_swigobj->vendId = *(_swigval),_swigval)
+static int _wrap_IBNode_vendId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_get(_swigobj) (&_swigobj->vendId)
+static int _wrap_IBNode_vendId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_set(_swigobj,_swigval) (_swigobj->attributes = *(_swigval),_swigval)
+static int _wrap_IBNode_attributes_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_get(_swigobj) (&_swigobj->attributes)
+static int _wrap_IBNode_attributes_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_set(_swigobj,_swigval) (_swigobj->rank = *(_swigval),_swigval)
+static int _wrap_IBNode_rank_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_set { IBNode * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_get(_swigobj) (&_swigobj->rank)
+static int _wrap_IBNode_rank_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBNode_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_system_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBNode_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBNode_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBNode_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_fabric_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBNode_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBNode_numPorts_get(_swigobj) ((unsigned int ) _swigobj->numPorts)
+static int _wrap_IBNode_numPorts_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_numPorts_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBNode_numPorts_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_Ports_get(_swigobj) (&_swigobj->Ports)
+static int _wrap_IBNode_Ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_Ports_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBNode_Ports_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_MinHopsTable_get(_swigobj) (&_swigobj->MinHopsTable)
+static int _wrap_IBNode_MinHopsTable_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_MinHopsTable_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_vec_byte *)IBNode_MinHopsTable_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 Tcl_AppendResult(interp,"{", NULL);
+	 for (unsigned int j = 0; j < (*_result)[i].size(); j++) {
+		char buf[32];
+		sprintf(buf,"%u ", (*_result)[i][j]);
+		Tcl_AppendResult(interp, buf, NULL);
+	 }
+	 Tcl_AppendResult(interp,"} ", NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_LFT_get(_swigobj) (&_swigobj->LFT)
+static int _wrap_IBNode_LFT_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_LFT_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_byte *)IBNode_LFT_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 char buf[32];
+	 sprintf(buf,"%u ", (*_result)[i]);
+	 Tcl_AppendResult(interp, buf, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBNode_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBNode_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBNode_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBNode_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_set { IBNode * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define new_IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (new IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static int _wrap_new_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBNode n p_fab p_sys t np ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)new_IBNode(*_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define delete_IBNode(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBNode { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBNode(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_makePort(_swigobj,_swigarg0)  (_swigobj->makePort(_swigarg0))
+static int _wrap_IBNode_makePort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_makePort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_makePort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_getPort(_swigobj,_swigarg0)  (_swigobj->getPort(_swigarg0))
+static int _wrap_IBNode_getPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getPort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setHops(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setHops(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBNode_setHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    int  _arg3;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setHops { IBNode * } p_port lid hops ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setHops(_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getHops(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getHops(_swigarg0,_swigarg1))
+static int _wrap_IBNode_getHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getHops { IBNode * } p_port lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_getFirstMinHopPort(_swigobj,_swigarg0)  (_swigobj->getFirstMinHopPort(_swigarg0))
+static int _wrap_IBNode_getFirstMinHopPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getFirstMinHopPort { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getFirstMinHopPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setLFTPortForLid(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLFTPortForLid(_swigarg0,_swigarg1))
+static int _wrap_IBNode_setLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setLFTPortForLid { IBNode * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setLFTPortForLid(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getLFTPortForLid(_swigobj,_swigarg0)  (_swigobj->getLFTPortForLid(_swigarg0))
+static int _wrap_IBNode_getLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getLFTPortForLid { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getLFTPortForLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_repHopTable(_swigobj)  (_swigobj->repHopTable())
+static int _wrap_IBNode_repHopTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_repHopTable { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_repHopTable(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBNode(ClientData clientData) {
+    delete_IBNode((IBNode *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBNodeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBNode methods : { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBNode_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBNode_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBNode_guid_set;
+    }    else if (strcmp(_str,"makePort") == 0) {
+        cmd = _wrap_IBNode_makePort;
+    }    else if (strcmp(_str,"getPort") == 0) {
+        cmd = _wrap_IBNode_getPort;
+    }    else if (strcmp(_str,"setHops") == 0) {
+        cmd = _wrap_IBNode_setHops;
+    }    else if (strcmp(_str,"getHops") == 0) {
+        cmd = _wrap_IBNode_getHops;
+    }    else if (strcmp(_str,"getFirstMinHopPort") == 0) {
+        cmd = _wrap_IBNode_getFirstMinHopPort;
+    }    else if (strcmp(_str,"setLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_setLFTPortForLid;
+    }    else if (strcmp(_str,"getLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_getLFTPortForLid;
+    }    else if (strcmp(_str,"repHopTable") == 0) {
+        cmd = _wrap_IBNode_repHopTable;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_set;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_set;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_set;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_set;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_set;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -devId -revId -vendId -attributes -rank  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -devId -revId -vendId -attributes -rank  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_get;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_get;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_get;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_get;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_get;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBNode_p_system_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBNode_p_fabric_get;
+                }  else if (strcmp(_str,"-numPorts") == 0) {
+                    cmd = _wrap_IBNode_numPorts_get;
+                }  else if (strcmp(_str,"-Ports") == 0) {
+                    cmd = _wrap_IBNode_Ports_get;
+                }  else if (strcmp(_str,"-MinHopsTable") == 0) {
+                    cmd = _wrap_IBNode_MinHopsTable_get;
+                }  else if (strcmp(_str,"-LFT") == 0) {
+                    cmd = _wrap_IBNode_LFT_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBNode_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBNode_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_devId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-devId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_revId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_vendId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_attributes_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attributes ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_rank_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rank ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_numPorts_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-numPorts ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_Ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-Ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_MinHopsTable_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-MinHopsTable ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_LFT_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-LFT ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBNodeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBNode * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBNode;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBNode;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBNode;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBNode;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBNode_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBNode;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBNode_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBNode object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBNodeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSysPort_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSysPort_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_set { IBSysPort * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSysPort_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_set(_swigobj,_swigval) (_swigobj->p_remoteSysPort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_remoteSysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_set { IBSysPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_remoteSysPort)
+static int _wrap_IBSysPort_p_remoteSysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_set(_swigobj,_swigval) (_swigobj->p_system = _swigval,_swigval)
+static int _wrap_IBSysPort_p_system_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_set { IBSysPort * } { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBSysPort_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_set(_swigobj,_swigval) (_swigobj->p_nodePort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_nodePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_set { IBSysPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_get(_swigobj) ((IBPort *) _swigobj->p_nodePort)
+static int _wrap_IBSysPort_p_nodePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define new_IBSysPort(_swigarg0,_swigarg1) (new IBSysPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    string * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSysPort n p_sys ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)new_IBSysPort(*_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define delete_IBSysPort(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSysPort { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSysPort(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBSysPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    IBLinkWidth * _arg2 = &UnknownLinkWidth;
+    IBLinkSpeed * _arg3 = &UnknownLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_connect { IBSysPort * } p_otherSysPort ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBSysPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBSysPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_disconnect { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBSysPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSysPort(ClientData clientData) {
+    delete_IBSysPort((IBSysPort *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSysPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSysPort methods : { dump cget configure connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSysPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBSysPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBSysPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_set;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_set;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_set;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_get;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_get;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSysPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -p_remoteSysPort -p_system -p_nodePort  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSysPort_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remoteSysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_nodePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_nodePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSysPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSysPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSysPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSysPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSysPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSysPort;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSysPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSysPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSysPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSystem_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSystem_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSystem_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_set(_swigobj,_swigval) (_swigobj->type = *(_swigval),_swigval)
+static int _wrap_IBSystem_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_get(_swigobj) (&_swigobj->type)
+static int _wrap_IBSystem_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_set(_swigobj,_swigval) (_swigobj->p_fabric = _swigval,_swigval)
+static int _wrap_IBSystem_p_fabric_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    IBFabric * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_set { IBSystem * } { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBSystem_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBSystem_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_NodeByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBSystem_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBSystem_PortByName_get(_swigobj) (&_swigobj->PortByName)
+static int _wrap_IBSystem_PortByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psysport * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_PortByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psysport *)IBSystem_PortByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psysport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSysPort *") != TCL_OK) {
+		printf("-E- Fail to map SysPort Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define new_IBSystem(_swigarg0,_swigarg1,_swigarg2) (new IBSystem(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_new_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSystem n p_fab t ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)new_IBSystem(*_arg0,_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define delete_IBSystem(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSystem { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSystem(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBSystem_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBSystem_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBSystem_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBSystem_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_set { IBSystem * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBSystem_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_makeSysPort(_swigobj,_swigarg0)  (_swigobj->makeSysPort(_swigarg0))
+static int _wrap_IBSystem_makeSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_makeSysPort { IBSystem * } pName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_makeSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPortNodePortByName(_swigobj,_swigarg0)  (_swigobj->getSysPortNodePortByName(_swigarg0))
+static int _wrap_IBSystem_getSysPortNodePortByName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPortNodePortByName { IBSystem * } sysPortName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSystem_getSysPortNodePortByName(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPort(_swigobj,_swigarg0)  (_swigobj->getSysPort(_swigarg0))
+static int _wrap_IBSystem_getSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPort { IBSystem * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_getSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSystem(ClientData clientData) {
+    delete_IBSystem((IBSystem *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSystemMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSystem methods : { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSystem_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBSystem_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBSystem_guid_set;
+    }    else if (strcmp(_str,"makeSysPort") == 0) {
+        cmd = _wrap_IBSystem_makeSysPort;
+    }    else if (strcmp(_str,"getSysPortNodePortByName") == 0) {
+        cmd = _wrap_IBSystem_getSysPortNodePortByName;
+    }    else if (strcmp(_str,"getSysPort") == 0) {
+        cmd = _wrap_IBSystem_getSysPort;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_set;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -p_fabric  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -p_fabric  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_get;
+                }  else if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBSystem_NodeByName_get;
+                }  else if (strcmp(_str,"-PortByName") == 0) {
+                    cmd = _wrap_IBSystem_PortByName_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSystem_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -p_fabric -NodeByName -PortByName  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -p_fabric -NodeByName -PortByName  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSystem_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_PortByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSystemCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSystem * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSystem;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSystem;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSystem_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSystem;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSystem_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSystem object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSystemMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBFabric_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBFabric_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBFabric_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByName_get(_swigobj) (&_swigobj->SystemByName)
+static int _wrap_IBFabric_SystemByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psys *)IBFabric_SystemByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByLid_get(_swigobj) (&_swigobj->PortByLid)
+static int _wrap_IBFabric_PortByLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBFabric_PortByLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_NodeByGuid_get(_swigobj) (&_swigobj->NodeByGuid)
+static int _wrap_IBFabric_NodeByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pnode *)IBFabric_NodeByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByGuid_get(_swigobj) (&_swigobj->SystemByGuid)
+static int _wrap_IBFabric_SystemByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_psys *)IBFabric_SystemByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByGuid_get(_swigobj) (&_swigobj->PortByGuid)
+static int _wrap_IBFabric_PortByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pport *)IBFabric_PortByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBPort *") != TCL_OK) {
+		printf("-E- Fail to map Port Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_minLid_set(_swigobj,_swigval) (_swigobj->minLid = _swigval,_swigval)
+static int _wrap_IBFabric_minLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_minLid_get(_swigobj) ((unsigned int ) _swigobj->minLid)
+static int _wrap_IBFabric_minLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_set(_swigobj,_swigval) (_swigobj->maxLid = _swigval,_swigval)
+static int _wrap_IBFabric_maxLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_get(_swigobj) ((unsigned int ) _swigobj->maxLid)
+static int _wrap_IBFabric_maxLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_set(_swigobj,_swigval) (_swigobj->lmc = _swigval,_swigval)
+static int _wrap_IBFabric_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_get(_swigobj) ((unsigned int ) _swigobj->lmc)
+static int _wrap_IBFabric_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_makeNode(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->makeNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static int _wrap_IBFabric_makeNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    unsigned int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeNode { IBFabric * } n p_sys type numPorts ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_makeNode(_arg0,*_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNode(_swigobj,_swigarg0)  (_swigobj->getNode(_swigarg0))
+static int _wrap_IBFabric_getNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNode { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNode(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodesByType(_swigobj,_swigarg0)  (_swigobj->getNodesByType(_swigarg0))
+static int _wrap_IBFabric_getNodesByType(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodesByType { IBFabric * } type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (list_pnode *)IBFabric_getNodesByType(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_makeGenericSystem(_swigobj,_swigarg0)  (_swigobj->makeGenericSystem(_swigarg0))
+static int _wrap_IBFabric_makeGenericSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeGenericSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeGenericSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_makeSystem(_swigobj,_swigarg0,_swigarg1)  (_swigobj->makeSystem(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_makeSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeSystem { IBFabric * } name type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeSystem(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystem(_swigobj,_swigarg0)  (_swigobj->getSystem(_swigarg0))
+static int _wrap_IBFabric_getSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystemByGuid(_swigobj,_swigarg0)  (_swigobj->getSystemByGuid(_swigarg0))
+static int _wrap_IBFabric_getSystemByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystemByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystemByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodeByGuid(_swigobj,_swigarg0)  (_swigobj->getNodeByGuid(_swigarg0))
+static int _wrap_IBFabric_getNodeByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodeByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNodeByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getPortByGuid(_swigobj,_swigarg0)  (_swigobj->getPortByGuid(_swigarg0))
+static int _wrap_IBFabric_getPortByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBFabric_addCable(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7)  (_swigobj->addCable(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
+static int _wrap_IBFabric_addCable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    string * _arg3;
+    string * _arg4;
+    string * _arg5;
+    string * _arg6;
+    IBLinkWidth * _arg7 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg8 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 8) || (objc > 10)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addCable { IBFabric * } t1 n1 p1 t2 n2 p2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  int len;
+  static string _arg3_tmp;
+  _arg3_tmp = string(Tcl_GetStringFromObj(objv[4],&len));
+  _arg3 = &_arg3_tmp;
+}
+{
+  int len;
+  static string _arg4_tmp;
+  _arg4_tmp = string(Tcl_GetStringFromObj(objv[5],&len));
+  _arg4 = &_arg4_tmp;
+}
+{
+  int len;
+  static string _arg5_tmp;
+  _arg5_tmp = string(Tcl_GetStringFromObj(objv[6],&len));
+  _arg5 = &_arg5_tmp;
+}
+{
+  int len;
+  static string _arg6_tmp;
+  _arg6_tmp = string(Tcl_GetStringFromObj(objv[7],&len));
+  _arg6 = &_arg6_tmp;
+}
+    if (objc >8) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[8],NULL));
+  _arg7 = &temp1;
+}
+    }
+    if (objc >9) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[9],NULL));
+  _arg8 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBFabric_addCable(_arg0,*_arg1,*_arg2,*_arg3,*_arg4,*_arg5,*_arg6,*_arg7,*_arg8);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_parseCables(_swigobj,_swigarg0)  (_swigobj->parseCables(_swigarg0))
+static int _wrap_IBFabric_parseCables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseCables { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseCables(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseTopology(_swigobj,_swigarg0)  (_swigobj->parseTopology(_swigarg0))
+static int _wrap_IBFabric_parseTopology(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseTopology { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseTopology(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_addLink(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swigarg15,_swigarg16,_swigarg17,_swigarg18,_swigarg19,_swigarg20,_swigarg21,_swigarg22,_swigarg23,_swigarg24,_swigarg25)  (_swigobj->addLink(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swiga [...]
+static int _wrap_IBFabric_addLink(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    int  _arg2;
+    uint64_t * _arg3;
+    uint64_t * _arg4;
+    uint64_t * _arg5;
+    int  _arg6;
+    int  _arg7;
+    int  _arg8;
+    string * _arg9;
+    int  _arg10;
+    int  _arg11;
+    int  _arg12;
+    string * _arg13;
+    int  _arg14;
+    uint64_t * _arg15;
+    uint64_t * _arg16;
+    uint64_t * _arg17;
+    int  _arg18;
+    int  _arg19;
+    int  _arg20;
+    string * _arg21;
+    int  _arg22;
+    int  _arg23;
+    int  _arg24;
+    IBLinkWidth * _arg25 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg26 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    uint64_t  temp;
+    uint64_t  temp0;
+    uint64_t  temp1;
+    uint64_t  temp2;
+    uint64_t  temp3;
+    uint64_t  temp4;
+    IBLinkWidth  temp10;
+    IBLinkSpeed  temp20;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 26) || (objc > 28)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addLink { IBFabric * } type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 hcaIdx1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 hcaIdx2 lid2 portNum2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[4],NULL), NULL,16);
+  _arg3 = &temp;
+}
+{
+  temp0 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[6],NULL), NULL,16);
+  _arg5 = &temp1;
+}
+    if (Tcl_GetIntFromObj(interp,objv[7],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg6 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[8],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg7 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[9],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg8 = (int ) tempint;
+{
+  int len;
+  static string _arg9_tmp;
+  _arg9_tmp = string(Tcl_GetStringFromObj(objv[10],&len));
+  _arg9 = &_arg9_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[11],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg10 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[12],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg11 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[13],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg12 = (int ) tempint;
+{
+  int len;
+  static string _arg13_tmp;
+  _arg13_tmp = string(Tcl_GetStringFromObj(objv[14],&len));
+  _arg13 = &_arg13_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[15],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg14 = (int ) tempint;
+{
+  temp2 = strtoull(Tcl_GetStringFromObj(objv[16],NULL), NULL,16);
+  _arg15 = &temp2;
+}
+{
+  temp3 = strtoull(Tcl_GetStringFromObj(objv[17],NULL), NULL,16);
+  _arg16 = &temp3;
+}
+{
+  temp4 = strtoull(Tcl_GetStringFromObj(objv[18],NULL), NULL,16);
+  _arg17 = &temp4;
+}
+    if (Tcl_GetIntFromObj(interp,objv[19],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg18 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[20],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg19 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[21],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg20 = (int ) tempint;
+{
+  int len;
+  static string _arg21_tmp;
+  _arg21_tmp = string(Tcl_GetStringFromObj(objv[22],&len));
+  _arg21 = &_arg21_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[23],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg22 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[24],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg23 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[25],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg24 = (int ) tempint;
+    if (objc >26) {
+{
+  temp10 = char2width(Tcl_GetStringFromObj(objv[26],NULL));
+  _arg25 = &temp10;
+}
+    }
+    if (objc >27) {
+{
+  temp20 = char2speed(Tcl_GetStringFromObj(objv[27],NULL));
+  _arg26 = &temp20;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_addLink(_arg0,*_arg1,_arg2,*_arg3,*_arg4,*_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10,_arg11,_arg12,*_arg13,_arg14,*_arg15,*_arg16,*_arg17,_arg18,_arg19,_arg20,*_arg21,_arg22,_arg23,_arg24,*_arg25,*_arg26);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseSubnetLinks(_swigobj,_swigarg0)  (_swigobj->parseSubnetLinks(_swigarg0))
+static int _wrap_IBFabric_parseSubnetLinks(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseSubnetLinks { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseSubnetLinks(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseFdbFile(_swigobj,_swigarg0)  (_swigobj->parseFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseMCFdbFile(_swigobj,_swigarg0)  (_swigobj->parseMCFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseMCFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseMCFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseMCFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_setLidPort(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLidPort(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_setLidPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    IBPort * _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_setLidPort { IBFabric * } lid p_port ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBFabric_setLidPort(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_getPortByLid(_swigobj,_swigarg0)  (_swigobj->getPortByLid(_swigarg0))
+static int _wrap_IBFabric_getPortByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByLid { IBFabric * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBFabric_dumpTopology(_swigobj,_swigarg0,_swigarg1)  (_swigobj->dumpTopology(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_dumpTopology(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    char * _arg2;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_dumpTopology { IBFabric * } fileName ibnlDir ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_dumpTopology(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBFabricMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBFabric methods : { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid dumpTopology  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBFabric_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"makeNode") == 0) {
+        cmd = _wrap_IBFabric_makeNode;
+    }    else if (strcmp(_str,"getNode") == 0) {
+        cmd = _wrap_IBFabric_getNode;
+    }    else if (strcmp(_str,"getNodesByType") == 0) {
+        cmd = _wrap_IBFabric_getNodesByType;
+    }    else if (strcmp(_str,"makeGenericSystem") == 0) {
+        cmd = _wrap_IBFabric_makeGenericSystem;
+    }    else if (strcmp(_str,"makeSystem") == 0) {
+        cmd = _wrap_IBFabric_makeSystem;
+    }    else if (strcmp(_str,"getSystem") == 0) {
+        cmd = _wrap_IBFabric_getSystem;
+    }    else if (strcmp(_str,"getSystemByGuid") == 0) {
+        cmd = _wrap_IBFabric_getSystemByGuid;
+    }    else if (strcmp(_str,"getNodeByGuid") == 0) {
+        cmd = _wrap_IBFabric_getNodeByGuid;
+    }    else if (strcmp(_str,"getPortByGuid") == 0) {
+        cmd = _wrap_IBFabric_getPortByGuid;
+    }    else if (strcmp(_str,"addCable") == 0) {
+        cmd = _wrap_IBFabric_addCable;
+    }    else if (strcmp(_str,"parseCables") == 0) {
+        cmd = _wrap_IBFabric_parseCables;
+    }    else if (strcmp(_str,"parseTopology") == 0) {
+        cmd = _wrap_IBFabric_parseTopology;
+    }    else if (strcmp(_str,"addLink") == 0) {
+        cmd = _wrap_IBFabric_addLink;
+    }    else if (strcmp(_str,"parseSubnetLinks") == 0) {
+        cmd = _wrap_IBFabric_parseSubnetLinks;
+    }    else if (strcmp(_str,"parseFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseFdbFile;
+    }    else if (strcmp(_str,"parseMCFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseMCFdbFile;
+    }    else if (strcmp(_str,"setLidPort") == 0) {
+        cmd = _wrap_IBFabric_setLidPort;
+    }    else if (strcmp(_str,"getPortByLid") == 0) {
+        cmd = _wrap_IBFabric_getPortByLid;
+    }    else if (strcmp(_str,"dumpTopology") == 0) {
+        cmd = _wrap_IBFabric_dumpTopology;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_set;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_set;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -minLid -maxLid -lmc  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -minLid -maxLid -lmc  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBFabric_NodeByName_get;
+                }  else if (strcmp(_str,"-SystemByName") == 0) {
+                    cmd = _wrap_IBFabric_SystemByName_get;
+                }  else if (strcmp(_str,"-PortByLid") == 0) {
+                    cmd = _wrap_IBFabric_PortByLid_get;
+                }  else if (strcmp(_str,"-NodeByGuid") == 0) {
+                    cmd = _wrap_IBFabric_NodeByGuid_get;
+                }  else if (strcmp(_str,"-SystemByGuid") == 0) {
+                    cmd = _wrap_IBFabric_SystemByGuid_get;
+                }  else if (strcmp(_str,"-PortByGuid") == 0) {
+                    cmd = _wrap_IBFabric_PortByGuid_get;
+                }  else if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_get;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_get;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBFabric_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBFabric_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_NodeByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_minLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-minLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_maxLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-maxLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid dumpTopology }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBFabricCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBFabric * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBFabric_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBFabric_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBFabric object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBFabricMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *interp) {
+	 if (interp == 0)
+		 return TCL_ERROR;
+	 SWIG_RegisterType();
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_UNKNOWN_NODE_TYPE", (char *) &_wrap_const_IB_UNKNOWN_NODE_TYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SW_NODE", (char *) &_wrap_const_IB_SW_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_CA_NODE", (char *) &_wrap_const_IB_CA_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_NONE", (char *) &_wrap_const_FABU_LOG_NONE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_ERROR", (char *) &_wrap_const_FABU_LOG_ERROR, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_INFO", (char *) &_wrap_const_FABU_LOG_INFO, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_VERBOSE", (char *) &_wrap_const_FABU_LOG_VERBOSE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FabricUtilsVerboseLevel", (char *) &FabricUtilsVerboseLevel, TCL_LINK_INT);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmUseInternalLog", _wrap_ibdmUseInternalLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmUseCoutLog", _wrap_ibdmUseCoutLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmGetAndClearInternalLog", _wrap_ibdmGetAndClearInternalLog, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBFabric", _wrap_new_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBFabric", _wrap_delete_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAssignLids", _wrap_ibdmAssignLids, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcMinHopTables", _wrap_ibdmCalcMinHopTables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcUpDnMinHopTbls", _wrap_ibdmCalcUpDnMinHopTbls, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmOsmRoute", _wrap_ibdmOsmRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmEnhancedRoute", _wrap_ibdmEnhancedRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeRoute", _wrap_ibdmFatTreeRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeAnalysis", _wrap_ibdmFatTreeAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeRouteByPermutation", _wrap_ibdmFatTreeRouteByPermutation, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyCAtoCARoutes", _wrap_ibdmVerifyCAtoCARoutes, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyAllPaths", _wrap_ibdmVerifyAllPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAnalyzeLoops", _wrap_ibdmAnalyzeLoops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindSymmetricalTreeRoots", _wrap_ibdmFindSymmetricalTreeRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindRootNodesByMinHop", _wrap_ibdmFindRootNodesByMinHop, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmRankFabricByRoots", _wrap_ibdmRankFabricByRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmReportNonUpDownCa2CaPaths", _wrap_ibdmReportNonUpDownCa2CaPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckMulticastGroups", _wrap_ibdmCheckMulticastGroups, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckFabricMCGrpsForCreditLoopPotential", _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmLinkCoverageAnalysis", _wrap_ibdmLinkCoverageAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceDRPathRoute", _wrap_ibdmTraceDRPathRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByMinHops", _wrap_ibdmTraceRouteByMinHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByLFT", _wrap_ibdmTraceRouteByLFT, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmMatchFabrics", _wrap_ibdmMatchFabrics, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmBuildMergedFabric", _wrap_ibdmBuildMergedFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongInit", _wrap_ibdmCongInit, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongCleanup", _wrap_ibdmCongCleanup, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongClear", _wrap_ibdmCongClear, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongTrace", _wrap_ibdmCongTrace, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongReport", _wrap_ibdmCongReport, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongDump", _wrap_ibdmCongDump, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "ibdmSourceVersion", (char *) &ibdmSourceVersion, TCL_LINK_STRING);
+
+
+  /* mixing declarations .... */
+  {
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBFabric_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBFabric_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSystem_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSystem_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSysPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSysPort_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBNode_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBNode_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBPort_p"] = &ibdmGetObjPtrByTclName;
+  }
+
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_set", _wrap_IBPort_p_remotePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_get", _wrap_IBPort_p_remotePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_set", _wrap_IBPort_p_sysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_get", _wrap_IBPort_p_sysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_set", _wrap_IBPort_p_node_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_get", _wrap_IBPort_p_node_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_set", _wrap_IBPort_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_get", _wrap_IBPort_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_set", _wrap_IBPort_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_get", _wrap_IBPort_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_set", _wrap_IBPort_width_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_get", _wrap_IBPort_width_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_set", _wrap_IBPort_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_get", _wrap_IBPort_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_set", _wrap_IBPort_counter1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_get", _wrap_IBPort_counter1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBPort", _wrap_new_IBPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_get", _wrap_IBPort_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_set", _wrap_IBPort_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_getName", _wrap_IBPort_getName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_connect", _wrap_IBPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_disconnect", _wrap_IBPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBPort",TclIBPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_set", _wrap_IBNode_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_get", _wrap_IBNode_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_set", _wrap_IBNode_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_get", _wrap_IBNode_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_set", _wrap_IBNode_devId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_get", _wrap_IBNode_devId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_set", _wrap_IBNode_revId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_get", _wrap_IBNode_revId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_set", _wrap_IBNode_vendId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_get", _wrap_IBNode_vendId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_set", _wrap_IBNode_attributes_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_get", _wrap_IBNode_attributes_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_set", _wrap_IBNode_rank_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_get", _wrap_IBNode_rank_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_system_get", _wrap_IBNode_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_fabric_get", _wrap_IBNode_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_numPorts_get", _wrap_IBNode_numPorts_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_Ports_get", _wrap_IBNode_Ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_MinHopsTable_get", _wrap_IBNode_MinHopsTable_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_LFT_get", _wrap_IBNode_LFT_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_get", _wrap_IBNode_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_set", _wrap_IBNode_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBNode", _wrap_new_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBNode", _wrap_delete_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_makePort", _wrap_IBNode_makePort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getPort", _wrap_IBNode_getPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setHops", _wrap_IBNode_setHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getHops", _wrap_IBNode_getHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getFirstMinHopPort", _wrap_IBNode_getFirstMinHopPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setLFTPortForLid", _wrap_IBNode_setLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getLFTPortForLid", _wrap_IBNode_getLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_repHopTable", _wrap_IBNode_repHopTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBNode",TclIBNodeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_set", _wrap_IBSysPort_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_get", _wrap_IBSysPort_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_set", _wrap_IBSysPort_p_remoteSysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_get", _wrap_IBSysPort_p_remoteSysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_set", _wrap_IBSysPort_p_system_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_get", _wrap_IBSysPort_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_set", _wrap_IBSysPort_p_nodePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_get", _wrap_IBSysPort_p_nodePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSysPort", _wrap_new_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSysPort", _wrap_delete_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_connect", _wrap_IBSysPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_disconnect", _wrap_IBSysPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSysPort",TclIBSysPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_set", _wrap_IBSystem_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_get", _wrap_IBSystem_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_set", _wrap_IBSystem_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_get", _wrap_IBSystem_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_set", _wrap_IBSystem_p_fabric_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_get", _wrap_IBSystem_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_NodeByName_get", _wrap_IBSystem_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_PortByName_get", _wrap_IBSystem_PortByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSystem", _wrap_new_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSystem", _wrap_delete_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_get", _wrap_IBSystem_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_set", _wrap_IBSystem_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_makeSysPort", _wrap_IBSystem_makeSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPortNodePortByName", _wrap_IBSystem_getSysPortNodePortByName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPort", _wrap_IBSystem_getSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSystem",TclIBSystemCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByName_get", _wrap_IBFabric_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByName_get", _wrap_IBFabric_SystemByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByLid_get", _wrap_IBFabric_PortByLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByGuid_get", _wrap_IBFabric_NodeByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByGuid_get", _wrap_IBFabric_SystemByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByGuid_get", _wrap_IBFabric_PortByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_set", _wrap_IBFabric_minLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_get", _wrap_IBFabric_minLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_set", _wrap_IBFabric_maxLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_get", _wrap_IBFabric_maxLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_set", _wrap_IBFabric_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_get", _wrap_IBFabric_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeNode", _wrap_IBFabric_makeNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNode", _wrap_IBFabric_getNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodesByType", _wrap_IBFabric_getNodesByType, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeGenericSystem", _wrap_IBFabric_makeGenericSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeSystem", _wrap_IBFabric_makeSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystem", _wrap_IBFabric_getSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystemByGuid", _wrap_IBFabric_getSystemByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodeByGuid", _wrap_IBFabric_getNodeByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByGuid", _wrap_IBFabric_getPortByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addCable", _wrap_IBFabric_addCable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseCables", _wrap_IBFabric_parseCables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseTopology", _wrap_IBFabric_parseTopology, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addLink", _wrap_IBFabric_addLink, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseSubnetLinks", _wrap_IBFabric_parseSubnetLinks, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseFdbFile", _wrap_IBFabric_parseFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseMCFdbFile", _wrap_IBFabric_parseMCFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_setLidPort", _wrap_IBFabric_setLidPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByLid", _wrap_IBFabric_getPortByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_dumpTopology", _wrap_IBFabric_dumpTopology, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBFabric",TclIBFabricCmd, (ClientData) NULL, NULL);
+/*
+ * These are the pointer type-equivalency mappings.
+ * (Used by the SWIG pointer type-checker).
+ */
+	 SWIG_RegisterMapping("_signed_long","_long",0);
+	 SWIG_RegisterMapping("_IBPort","_class_IBPort",0);
+	 SWIG_RegisterMapping("_IBSystem","_class_IBSystem",0);
+	 SWIG_RegisterMapping("_long","_unsigned_long",0);
+	 SWIG_RegisterMapping("_long","_signed_long",0);
+	 SWIG_RegisterMapping("_class_IBPort","_IBPort",0);
+	 SWIG_RegisterMapping("_class_IBFabric","_IBFabric",0);
+	 SWIG_RegisterMapping("_unsigned_long","_long",0);
+	 SWIG_RegisterMapping("_signed_int","_int",0);
+	 SWIG_RegisterMapping("_IBSysPort","_class_IBSysPort",0);
+	 SWIG_RegisterMapping("_unsigned_short","_short",0);
+	 SWIG_RegisterMapping("_signed_short","_short",0);
+	 SWIG_RegisterMapping("_IBNode","_class_IBNode",0);
+	 SWIG_RegisterMapping("_unsigned_int","_int",0);
+	 SWIG_RegisterMapping("_class_IBSysPort","_IBSysPort",0);
+	 SWIG_RegisterMapping("_class_IBSystem","_IBSystem",0);
+	 SWIG_RegisterMapping("_short","_unsigned_short",0);
+	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("_int","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_signed_int",0);
+	 SWIG_RegisterMapping("_class_IBNode","_IBNode",0);
+	 SWIG_RegisterMapping("_IBFabric","_class_IBFabric",0);
+	 
+   if (Tcl_PkgRequire(interp,"tclreadline",0,0) != NULL) {
+     Tcl_Eval(interp,
+				  "if {$tcl_interactive} {namespace eval tclreadline {proc prompt1 {} {return \"ibdm >\"} }; ::tclreadline::Loop ibdm.log }"
+     );
+   }
+return TCL_OK;
+}
diff --git a/ibdm/ibdm/ibnl_parser.cc b/ibdm/ibdm/ibnl_parser.cc
new file mode 100644
index 0000000..3069c72
--- /dev/null
+++ b/ibdm/ibdm/ibnl_parser.cc
@@ -0,0 +1,1741 @@
+/* A Bison parser, made by GNU Bison 2.0.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     INT = 258,
+     SYSTEM = 259,
+     TOPSYSTEM = 260,
+     NODE = 261,
+     SUBSYSTEM = 262,
+     NODETYPE = 263,
+     NAME = 264,
+     SPEED = 265,
+     WIDTH = 266,
+     LINE = 267,
+     CFG = 268
+   };
+#endif
+#define INT 258
+#define SYSTEM 259
+#define TOPSYSTEM 260
+#define NODE 261
+#define SUBSYSTEM 262
+#define NODETYPE 263
+#define NAME 264
+#define SPEED 265
+#define WIDTH 266
+#define LINE 267
+#define CFG 268
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 40 "ibnl_parser.yy"
+
+
+  /* header section */
+#include <stdlib.h>
+#include <stdio.h>
+#include "SysDef.h"
+#define YYERROR_VERBOSE 1
+
+#define	yymaxdepth ibnl_maxdepth
+#define	yyparse	ibnl_parse
+#define	yylex	ibnl_lex
+#define	yyerror	ibnl_error
+#define	yylval	ibnl_lval
+#define	yychar	ibnl_char
+#define	yydebug	ibnl_debug
+#define	yypact	ibnl_pact
+#define	yyr1	ibnl_r1
+#define	yyr2	ibnl_r2
+#define	yydef	ibnl_def
+#define	yychk	ibnl_chk
+#define	yypgo	ibnl_pgo
+#define	yyact	ibnl_act
+#define	yyexca	ibnl_exca
+#define  yyerrflag ibnl_errflag
+#define  yynerrs	ibnl_nerrs
+#define	yyps	ibnl_ps
+#define	yypv	ibnl_pv
+#define	yys	ibnl_s
+#define	yy_yys	ibnl_yys
+#define	yystate	ibnl_state
+#define	yytmp	ibnl_tmp
+#define	yyv	ibnl_v
+#define	yy_yyv	ibnl_yyv
+#define	yyval	ibnl_val
+#define	yylloc	ibnl_lloc
+#define yyreds	ibnl_reds
+#define yytoks	ibnl_toks
+#define yylhs	ibnl_yylhs
+#define yylen	ibnl_yylen
+#define yydefred ibnl_yydefred
+#define yydgoto	ibnl_yydgoto
+#define yysindex ibnl_yysindex
+#define yyrindex ibnl_yyrindex
+#define yygindex ibnl_yygindex
+#define yytable	 ibnl_yytable
+#define yycheck	 ibnl_yycheck
+#define yyname   ibnl_yyname
+#define yyrule   ibnl_yyrule
+
+  extern int yyerror(char *msg);
+  extern int yylex(void);
+
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 96 "ibnl_parser.yy"
+typedef union YYSTYPE {
+  IBNodeType tval;
+  int        ival;
+  char      *sval;
+} YYSTYPE;
+/* Line 190 of yacc.c.  */
+#line 163 "ibnl_parser.cc"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+#line 111 "ibnl_parser.yy"
+
+
+  static int ibnlErr;
+  long lineNum;
+  static const char *gp_fileName;
+  static int gIsTopSystem = 0;
+  static list< char * > gSysNames;
+  static IBSystemsCollection *gp_sysColl = 0;
+  static IBSysDef *gp_curSysDef = 0;
+  static IBSysInst *gp_curInstDef = 0;
+
+  void ibnlMakeSystem(list< char * > &sysNames) {
+#ifdef DEBUG
+    printf("Making new system named:");
+#endif
+    gp_curSysDef = new IBSysDef(gp_fileName);
+
+    for( list< char * >::iterator snI = sysNames.begin();
+         snI != sysNames.end(); snI++) {
+      char sname[1024];
+      if (gIsTopSystem) {
+        sprintf(sname, "%s", *snI);
+      } else {
+        sprintf(sname, "%s/%s", gp_fileName, *snI);
+      }
+      string sNameStr(sname);
+      gp_sysColl->addSysDef(sNameStr, gp_curSysDef);
+#ifdef DEBUG
+      printf("%s ", sname);
+#endif
+    }
+#ifdef DEBUG
+    printf("\n");
+#endif
+
+    // cleanup for next systems.
+    sysNames.erase(sysNames.begin(), sysNames.end());
+  }
+
+  void ibnlMakeSubInstAttribute(char *hInst, char *attr, char *value) {
+#ifdef DEBUG
+    printf("Making new sub instance attribute inst:%s %s=%s\n",
+           hInst, attr, value);
+#endif
+    if (! gp_curSysDef) {
+        printf("-E- How com e we got no system???\n");
+        exit(3);
+    }
+    // append to existing attr or create new
+    string hierInstName = string(hInst);
+    string attrStr = string(attr);
+    if (value)
+       attrStr += "=" +  string(value);
+    gp_curSysDef->setSubInstAttr(hierInstName, attrStr);
+  }
+
+  void ibnlMakeNode(IBNodeType type, int numPorts, char *devName, char* name) {
+#ifdef DEBUG
+    printf(" Making Node:%s dev:%s ports:%d\n", name, devName, numPorts);
+#endif
+    gp_curInstDef = new IBSysInst(name, devName, numPorts, type);
+    gp_curSysDef->addInst(gp_curInstDef);
+  }
+
+  void ibnlMakeNodeToNodeConn(
+    int fromPort, char *width, char *speed, char *toNode, int toPort) {
+#ifdef DEBUG
+    printf("  Connecting N-N port:%d to Node:%s/%d (w=%s,s=%s)\n",
+           fromPort, toNode, toPort, width, speed);
+#endif
+    char buf1[8],buf2[8] ;
+    sprintf(buf1, "%d", toPort);
+    sprintf(buf2, "%d", fromPort);
+    IBSysInstPort *p_port =
+      new IBSysInstPort(buf2, toNode, buf1, char2width(width),
+                        char2speed(speed));
+    gp_curInstDef->addPort(p_port);
+  }
+
+  void ibnlMakeNodeToPortConn(
+    int fromPort, char *width, char *speed, char *sysPortName) {
+#ifdef DEBUG
+    printf("  System port:%s on port:%d (w=%s,s=%s)\n",
+           sysPortName, fromPort, width, speed);
+#endif
+    char buf[8];
+    sprintf(buf,"%d",fromPort);
+    IBSysPortDef *p_sysPort =
+      new IBSysPortDef(sysPortName, gp_curInstDef->getName(), buf,
+                       char2width(width), char2speed(speed));
+    gp_curSysDef->addSysPort(p_sysPort);
+  }
+
+  void ibnlMakeSubsystem( char *masterName, char *instName) {
+#ifdef DEBUG
+    printf(" Making SubSystem:%s of type:%s\n", instName, masterName);
+#endif
+    gp_curInstDef = new IBSysInst(instName, masterName);
+    gp_curSysDef->addInst(gp_curInstDef);
+  }
+
+  void ibnlRecordModification( char *subSystem, char *modifier) {
+#ifdef DEBUG
+    printf("  Using modifier:%s on %s\n", modifier, subSystem);
+#endif
+    gp_curInstDef->addInstMod(subSystem, modifier);
+  }
+
+  void ibnlMakeSubsystemToSubsystemConn(
+    char *fromPort, char *width, char *speed, char *toSystem, char *toPort) {
+#ifdef DEBUG
+    printf("  Connecting S-S port:%s to SubSys:%s/%s\n",
+         fromPort, toSystem, toPort);
+#endif
+    IBSysInstPort *p_port =
+      new IBSysInstPort(fromPort, toSystem, toPort, char2width(width),
+                        char2speed(speed));
+    gp_curInstDef->addPort(p_port);
+  }
+
+  void ibnlMakeSubsystemToPortConn(
+    char *fromPort, char *width, char *speed, char *toPort) {
+#ifdef DEBUG
+    printf("  Connecting port:%s to SysPort:%s\n",
+         fromPort, toPort);
+#endif
+
+    IBSysPortDef *p_sysPort =
+      new IBSysPortDef(toPort, gp_curInstDef->getName(), fromPort,
+                       char2width(width), char2speed(speed));
+    gp_curSysDef->addSysPort(p_sysPort);
+  }
+
+
+
+/* Line 213 of yacc.c.  */
+#line 309 "ibnl_parser.cc"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+#  define YYFREE free
+# endif
+# ifndef YYMALLOC
+#  define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short int yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  7
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   82
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  18
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  30
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  57
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  107
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   268
+
+#define YYTRANSLATE(YYX) 						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    15,    16,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    14,    17,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned char yyprhs[] =
+{
+       0,     0,     3,     5,     8,     9,    11,    15,    16,    19,
+      20,    24,    30,    36,    40,    41,    42,    50,    51,    52,
+      59,    61,    65,    67,    68,    71,    74,    78,    84,    85,
+      89,    91,    93,   103,   111,   119,   125,   134,   141,   148,
+     153,   157,   164,   168,   169,   172,   176,   177,   181,   183,
+     185,   195,   203,   211,   217,   226,   233,   240
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      21,     0,    -1,    12,    -1,    19,    12,    -1,    -1,    19,
+      -1,    20,    22,    25,    -1,    -1,    22,    28,    -1,    -1,
+      23,    24,    19,    -1,     9,    14,     9,    14,     9,    -1,
+       9,    14,     9,    14,     3,    -1,     9,    14,     9,    -1,
+      -1,    -1,     5,    26,    31,    27,    19,    23,    33,    -1,
+      -1,    -1,     4,    29,    31,    30,    19,    33,    -1,    32,
+      -1,    31,    15,    32,    -1,     9,    -1,    -1,    33,    34,
+      -1,    33,    40,    -1,    35,    19,    36,    -1,     6,     8,
+       3,     9,     9,    -1,    -1,    36,    37,    19,    -1,    38,
+      -1,    39,    -1,     3,    16,    11,    16,    10,    16,    17,
+       9,     3,    -1,     3,    16,    11,    16,    17,     9,     3,
+      -1,     3,    16,    10,    16,    17,     9,     3,    -1,     3,
+      16,    17,     9,     3,    -1,     3,    16,    11,    16,    10,
+      16,    17,     9,    -1,     3,    16,    11,    16,    17,     9,
+      -1,     3,    16,    10,    16,    17,     9,    -1,     3,    16,
+      17,     9,    -1,    41,    19,    44,    -1,    41,    19,    13,
+      42,    19,    44,    -1,     7,     9,     9,    -1,    -1,    42,
+      43,    -1,     9,    14,     9,    -1,    -1,    44,    45,    19,
+      -1,    46,    -1,    47,    -1,     9,    16,    11,    16,    10,
+      16,    17,     9,     9,    -1,     9,    16,    11,    16,    17,
+       9,     9,    -1,     9,    16,    10,    16,    17,     9,     9,
+      -1,     9,    16,    17,     9,     9,    -1,     9,    16,    11,
+      16,    10,    16,    17,     9,    -1,     9,    16,    11,    16,
+      17,     9,    -1,     9,    16,    10,    16,    17,     9,    -1,
+       9,    16,    17,     9,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short int yyrline[] =
+{
+       0,   248,   248,   249,   251,   252,   254,   256,   257,   260,
+     261,   265,   266,   271,   275,   276,   275,   282,   283,   282,
+     287,   288,   292,   295,   296,   297,   301,   305,   308,   309,
+     313,   314,   318,   321,   324,   327,   333,   336,   339,   342,
+     348,   349,   353,   356,   357,   361,   364,   365,   369,   370,
+     374,   377,   380,   383,   389,   392,   395,   398
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "INT", "SYSTEM", "TOPSYSTEM", "NODE",
+  "SUBSYSTEM", "NODETYPE", "NAME", "SPEED", "WIDTH", "LINE", "CFG", "'='",
+  "','", "'-'", "'>'", "$accept", "NL", "ONL", "ibnl", "systems",
+  "sub_inst_attributes", "sub_inst_attribute", "topsystem", "@1", "@2",
+  "system", "@3", "@4", "system_names", "system_name", "insts", "node",
+  "node_header", "node_connections", "node_connection",
+  "node_to_node_link", "node_to_port_link", "subsystem",
+  "subsystem_header", "insts_modifications", "modification",
+  "subsystem_connections", "subsystem_connection",
+  "subsystem_to_subsystem_link", "subsystem_to_port_link", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short int yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,    61,    44,    45,    62
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    18,    19,    19,    20,    20,    21,    22,    22,    23,
+      23,    24,    24,    24,    26,    27,    25,    29,    30,    28,
+      31,    31,    32,    33,    33,    33,    34,    35,    36,    36,
+      37,    37,    38,    38,    38,    38,    39,    39,    39,    39,
+      40,    40,    41,    42,    42,    43,    44,    44,    45,    45,
+      46,    46,    46,    46,    47,    47,    47,    47
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     1,     2,     0,     1,     3,     0,     2,     0,
+       3,     5,     5,     3,     0,     0,     7,     0,     0,     6,
+       1,     3,     1,     0,     2,     2,     3,     5,     0,     3,
+       1,     1,     9,     7,     7,     5,     8,     6,     6,     4,
+       3,     6,     3,     0,     2,     3,     0,     3,     1,     1,
+       9,     7,     7,     5,     8,     6,     6,     4
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       4,     2,     5,     7,     0,     3,     0,     1,    17,    14,
+       6,     8,     0,     0,    22,    18,    20,    15,     0,     0,
+       0,    21,    23,     9,    19,    23,     0,     0,    24,     0,
+      25,     0,     0,     0,    16,     0,     0,    28,    46,     0,
+      10,     0,    42,    26,    43,    40,    13,     0,     0,     0,
+      30,    31,     0,     0,     0,    48,    49,     0,    27,     0,
+      29,     0,    46,    44,     0,    47,    12,    11,     0,     0,
+       0,     0,    41,     0,     0,     0,     0,     0,    39,    45,
+       0,     0,    57,     0,     0,     0,    35,     0,     0,     0,
+      53,    38,     0,    37,    56,     0,    55,    34,     0,    33,
+      52,     0,    51,    36,    54,    32,    50
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+      -1,     2,     3,     4,     6,    25,    33,    10,    13,    20,
+      11,    12,    19,    15,    16,    24,    28,    29,    43,    49,
+      50,    51,    30,    31,    52,    63,    45,    54,    55,    56
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -20
+static const yysigned_char yypact[] =
+{
+      -5,   -20,     9,   -20,    25,   -20,    14,   -20,   -20,   -20,
+     -20,   -20,    20,    20,   -20,    11,   -20,    11,    20,    -5,
+      -5,   -20,     9,     9,    17,    22,    24,    27,   -20,    -5,
+     -20,    -5,    23,    -5,    17,    31,    29,     9,    15,    30,
+       9,    32,   -20,    37,   -20,    33,    34,    35,    36,    -5,
+     -20,   -20,     8,    38,    -5,   -20,   -20,    13,   -20,    -8,
+       9,    39,     9,   -20,    -6,     9,   -20,   -20,    40,    41,
+      42,    46,    33,    43,    44,    49,    26,    -4,    47,   -20,
+      28,    -2,    52,    53,    48,    54,   -20,    56,    50,    58,
+     -20,    65,    55,    66,    61,    57,    62,   -20,    64,   -20,
+     -20,    67,   -20,    72,    68,   -20,   -20
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yysigned_char yypgoto[] =
+{
+     -20,   -19,   -20,   -20,   -20,   -20,   -20,   -20,   -20,   -20,
+     -20,   -20,   -20,    69,    60,    21,   -20,   -20,   -20,   -20,
+     -20,   -20,   -20,   -20,   -20,   -20,   -15,   -20,   -20,   -20
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const unsigned char yytable[] =
+{
+      22,    23,    68,    69,    73,    74,    84,     1,    88,    70,
+      37,    75,    38,    85,    40,    89,    66,    61,     8,     9,
+       1,     5,    67,    26,    27,     7,    18,     5,    44,    14,
+      60,    32,    35,    62,    41,    65,    36,    39,    42,    46,
+      48,    47,    53,    83,    58,    87,    34,    72,    57,     0,
+      86,    78,    59,    71,    64,    79,    76,    77,    82,    80,
+      81,    90,    91,    93,    92,    94,    95,    96,    97,    99,
+     100,   102,    98,   103,   101,   105,   104,   106,    21,     0,
+       0,     0,    17
+};
+
+static const yysigned_char yycheck[] =
+{
+      19,    20,    10,    11,    10,    11,    10,    12,    10,    17,
+      29,    17,    31,    17,    33,    17,     3,     9,     4,     5,
+      12,    12,     9,     6,     7,     0,    15,    12,    13,     9,
+      49,     9,     8,    52,     3,    54,     9,    14,     9,     9,
+       3,     9,     9,    17,     9,    17,    25,    62,    14,    -1,
+       3,     9,    16,    14,    16,     9,    16,    16,     9,    16,
+      16,     9,     9,     9,    16,     9,    16,     9,     3,     3,
+       9,     9,    17,     9,    17,     3,     9,     9,    18,    -1,
+      -1,    -1,    13
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,    12,    19,    20,    21,    12,    22,     0,     4,     5,
+      25,    28,    29,    26,     9,    31,    32,    31,    15,    30,
+      27,    32,    19,    19,    33,    23,     6,     7,    34,    35,
+      40,    41,     9,    24,    33,     8,     9,    19,    19,    14,
+      19,     3,     9,    36,    13,    44,     9,     9,     3,    37,
+      38,    39,    42,     9,    45,    46,    47,    14,     9,    16,
+      19,     9,    19,    43,    16,    19,     3,     9,    10,    11,
+      17,    14,    44,    10,    11,    17,    16,    16,     9,     9,
+      16,    16,     9,    17,    10,    17,     3,    17,    10,    17,
+       9,     9,    16,     9,     9,    16,     9,     3,    17,     3,
+       9,    17,     9,     9,     9,     3,     9
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK;						\
+      goto yybackup;						\
+    }								\
+  else								\
+    { 								\
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;							\
+    }								\
+while (0)
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (N)								\
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (0)
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+              (Loc).first_line, (Loc).first_column,	\
+              (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr, 					\
+                  Type, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short int *bottom;
+    short int *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
+#endif
+{
+  int yyi;
+  unsigned int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+

+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  register const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+

+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
+

+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+
+  register int yystate;
+  register int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK   (yyvsp--, yyssp--)
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
+  int yylen;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+
+  yyvsp[0] = yylval;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short int *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyoverflowlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	short int *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state.  */
+/* Read a look-ahead token if we need one and don't already have one.  */
+/* yyresume: */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the token being shifted unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  *++yyvsp = yylval;
+
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 11:
+#line 265 "ibnl_parser.yy"
+    { ibnlMakeSubInstAttribute((yyvsp[-4].sval),(yyvsp[-2].sval),(yyvsp[0].sval)); }
+    break;
+
+  case 12:
+#line 266 "ibnl_parser.yy"
+    {
+      char buf[16];
+      sprintf(buf, "%d", (yyvsp[0].ival));
+      ibnlMakeSubInstAttribute((yyvsp[-4].sval),(yyvsp[-2].sval),buf);
+   }
+    break;
+
+  case 13:
+#line 271 "ibnl_parser.yy"
+    {ibnlMakeSubInstAttribute((yyvsp[-2].sval),(yyvsp[0].sval),NULL); }
+    break;
+
+  case 14:
+#line 275 "ibnl_parser.yy"
+    { gIsTopSystem = 1; }
+    break;
+
+  case 15:
+#line 276 "ibnl_parser.yy"
+    { ibnlMakeSystem(gSysNames); }
+    break;
+
+  case 17:
+#line 282 "ibnl_parser.yy"
+    { gIsTopSystem = 0; }
+    break;
+
+  case 18:
+#line 283 "ibnl_parser.yy"
+    { ibnlMakeSystem(gSysNames); }
+    break;
+
+  case 22:
+#line 292 "ibnl_parser.yy"
+    { gSysNames.push_back((yyvsp[0].sval)); }
+    break;
+
+  case 27:
+#line 305 "ibnl_parser.yy"
+    { ibnlMakeNode((yyvsp[-3].tval),(yyvsp[-2].ival),(yyvsp[-1].sval),(yyvsp[0].sval)); }
+    break;
+
+  case 32:
+#line 318 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToNodeConn((yyvsp[-8].ival), (yyvsp[-6].sval), (yyvsp[-4].sval), (yyvsp[-1].sval), (yyvsp[0].ival));
+    }
+    break;
+
+  case 33:
+#line 321 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToNodeConn((yyvsp[-6].ival), (yyvsp[-4].sval), "2.5", (yyvsp[-1].sval), (yyvsp[0].ival));
+    }
+    break;
+
+  case 34:
+#line 324 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToNodeConn((yyvsp[-6].ival), "4x", (yyvsp[-4].sval), (yyvsp[-1].sval), (yyvsp[0].ival));
+    }
+    break;
+
+  case 35:
+#line 327 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToNodeConn((yyvsp[-4].ival), "4x", "2.5", (yyvsp[-1].sval), (yyvsp[0].ival));
+    }
+    break;
+
+  case 36:
+#line 333 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToPortConn((yyvsp[-7].ival), (yyvsp[-5].sval), (yyvsp[-3].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 37:
+#line 336 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToPortConn((yyvsp[-5].ival), (yyvsp[-3].sval), "2.5", (yyvsp[0].sval));
+    }
+    break;
+
+  case 38:
+#line 339 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToPortConn((yyvsp[-5].ival), "4x", (yyvsp[-3].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 39:
+#line 342 "ibnl_parser.yy"
+    {
+      ibnlMakeNodeToPortConn((yyvsp[-3].ival), "4x", "2.5", (yyvsp[0].sval));
+    }
+    break;
+
+  case 42:
+#line 353 "ibnl_parser.yy"
+    { ibnlMakeSubsystem((yyvsp[-1].sval),(yyvsp[0].sval)); }
+    break;
+
+  case 45:
+#line 361 "ibnl_parser.yy"
+    { ibnlRecordModification((yyvsp[-2].sval),(yyvsp[0].sval)); }
+    break;
+
+  case 50:
+#line 374 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToSubsystemConn((yyvsp[-8].sval), (yyvsp[-6].sval), (yyvsp[-4].sval), (yyvsp[-1].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 51:
+#line 377 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToSubsystemConn((yyvsp[-6].sval), (yyvsp[-4].sval), "2.5", (yyvsp[-1].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 52:
+#line 380 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToSubsystemConn((yyvsp[-6].sval), "4x", (yyvsp[-4].sval), (yyvsp[-1].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 53:
+#line 383 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToSubsystemConn((yyvsp[-4].sval), "4x", "2.5", (yyvsp[-1].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 54:
+#line 389 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToPortConn((yyvsp[-7].sval), (yyvsp[-5].sval), (yyvsp[-3].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 55:
+#line 392 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToPortConn((yyvsp[-5].sval), (yyvsp[-3].sval), "2.5", (yyvsp[0].sval));
+    }
+    break;
+
+  case 56:
+#line 395 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToPortConn((yyvsp[-5].sval), "4x", (yyvsp[-3].sval), (yyvsp[0].sval));
+    }
+    break;
+
+  case 57:
+#line 398 "ibnl_parser.yy"
+    {
+      ibnlMakeSubsystemToPortConn((yyvsp[-3].sval), "4x", "2.5", (yyvsp[0].sval));
+    }
+    break;
+
+
+    }
+
+/* Line 1037 of yacc.c.  */
+#line 1478 "ibnl_parser.cc"
+

+  yyvsp -= yylen;
+  yyssp -= yylen;
+
+
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if YYERROR_VERBOSE
+      yyn = yypact[yystate];
+
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
+	{
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  const char* yyprefix;
+	  char *yymsg;
+	  int yyx;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn < 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 0;
+
+	  yyprefix = ", expecting ";
+	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      {
+		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+		yycount += 1;
+		if (yycount == 5)
+		  {
+		    yysize = 0;
+		    break;
+		  }
+	      }
+	  yysize += (sizeof ("syntax error, unexpected ")
+		     + yystrlen (yytname[yytype]));
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
+	    {
+	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
+
+	      if (yycount < 5)
+		{
+		  yyprefix = ", expecting ";
+		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+		      {
+			yyp = yystpcpy (yyp, yyprefix);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yyprefix = " or ";
+		      }
+		}
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
+	    }
+	  else
+	    yyerror ("syntax error; also virtual memory exhausted");
+	}
+      else
+#endif /* YYERROR_VERBOSE */
+	yyerror ("syntax error");
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* If at end of input, pop the error token,
+	     then the rest of the stack, then return failure.  */
+	  if (yychar == YYEOF)
+	     for (;;)
+	       {
+
+		 YYPOPSTACK;
+		 if (yyssp == yyss)
+		   YYABORT;
+		 yydestruct ("Error: popping",
+                             yystos[*yyssp], yyvsp);
+	       }
+        }
+      else
+	{
+	  yydestruct ("Error: discarding", yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+  /* Pacify GCC when the user code never invokes YYERROR and the label
+     yyerrorlab therefore never appears in user code.  */
+  if (0)
+     goto yyerrorlab;
+#endif
+
+yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping", yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token. */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yydestruct ("Error: discarding lookahead",
+              yytoken, &yylval);
+  yychar = YYEMPTY;
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+  return yyresult;
+}
+
+
+#line 403 "ibnl_parser.yy"
+
+
+int yyerror(char *msg)
+{
+  printf("-E-ibnlParse:%s at line:%ld\n", msg, lineNum);
+  ibnlErr = 1;
+  return 1;
+}
+
+/* parse apollo route dump file */
+int ibnlParseSysDefs (IBSystemsCollection *p_sysColl, const char *fileName) {
+  extern FILE * yyin;
+
+  gp_sysColl = p_sysColl;
+  gp_fileName = fileName;
+
+  /* open the file */
+  yyin = fopen(fileName,"r");
+  if (!yyin) {
+	 printf("-E- Fail to Open File:%s\n", fileName);
+	 return(1);
+  }
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+     printf("-I- Parsing:%s\n", fileName);
+
+  ibnlErr = 0;
+  lineNum = 1;
+  /* parse it */
+  yyparse();
+
+  fclose(yyin);
+  return(ibnlErr);
+}
+
+
+
diff --git a/ibdm/ibdm/ibnl_parser.h b/ibdm/ibdm/ibnl_parser.h
new file mode 100644
index 0000000..1469274
--- /dev/null
+++ b/ibdm/ibdm/ibnl_parser.h
@@ -0,0 +1,77 @@
+/* A Bison parser, made by GNU Bison 2.0.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     INT = 258,
+     SYSTEM = 259,
+     TOPSYSTEM = 260,
+     NODE = 261,
+     SUBSYSTEM = 262,
+     NODETYPE = 263,
+     NAME = 264,
+     SPEED = 265,
+     WIDTH = 266,
+     LINE = 267,
+     CFG = 268
+   };
+#endif
+#define INT 258
+#define SYSTEM 259
+#define TOPSYSTEM 260
+#define NODE 261
+#define SUBSYSTEM 262
+#define NODETYPE 263
+#define NAME 264
+#define SPEED 265
+#define WIDTH 266
+#define LINE 267
+#define CFG 268
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 96 "ibnl_parser.yy"
+typedef union YYSTYPE {
+  IBNodeType tval;
+  int        ival;
+  char      *sval;
+} YYSTYPE;
+/* Line 1318 of yacc.c.  */
+#line 69 "ibnl_parser.h"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+extern YYSTYPE yylval;
+
+
+
diff --git a/ibdm/ibdm/ibnl_parser.yy b/ibdm/ibdm/ibnl_parser.yy
new file mode 100644
index 0000000..d5d9f08
--- /dev/null
+++ b/ibdm/ibdm/ibnl_parser.yy
@@ -0,0 +1,437 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+
+/*
+
+*/
+
+%{
+
+  /* header section */
+#include <stdlib.h>
+#include <stdio.h>
+#include "SysDef.h"
+#define YYERROR_VERBOSE 1
+
+#define	yymaxdepth ibnl_maxdepth
+#define	yyparse	ibnl_parse
+#define	yylex	ibnl_lex
+#define	yyerror	ibnl_error
+#define	yylval	ibnl_lval
+#define	yychar	ibnl_char
+#define	yydebug	ibnl_debug
+#define	yypact	ibnl_pact
+#define	yyr1	ibnl_r1
+#define	yyr2	ibnl_r2
+#define	yydef	ibnl_def
+#define	yychk	ibnl_chk
+#define	yypgo	ibnl_pgo
+#define	yyact	ibnl_act
+#define	yyexca	ibnl_exca
+#define  yyerrflag ibnl_errflag
+#define  yynerrs	ibnl_nerrs
+#define	yyps	ibnl_ps
+#define	yypv	ibnl_pv
+#define	yys	ibnl_s
+#define	yy_yys	ibnl_yys
+#define	yystate	ibnl_state
+#define	yytmp	ibnl_tmp
+#define	yyv	ibnl_v
+#define	yy_yyv	ibnl_yyv
+#define	yyval	ibnl_val
+#define	yylloc	ibnl_lloc
+#define yyreds	ibnl_reds
+#define yytoks	ibnl_toks
+#define yylhs	ibnl_yylhs
+#define yylen	ibnl_yylen
+#define yydefred ibnl_yydefred
+#define yydgoto	ibnl_yydgoto
+#define yysindex ibnl_yysindex
+#define yyrindex ibnl_yyrindex
+#define yygindex ibnl_yygindex
+#define yytable	 ibnl_yytable
+#define yycheck	 ibnl_yycheck
+#define yyname   ibnl_yyname
+#define yyrule   ibnl_yyrule
+
+  extern int yyerror(char *msg);
+  extern int yylex(void);
+
+
+%}
+
+
+%union {
+  IBNodeType tval;
+  int        ival;
+  char      *sval;
+}
+
+%token INT SYSTEM TOPSYSTEM NODE SUBSYSTEM NODETYPE NAME SPEED WIDTH LINE
+%token CFG
+
+%type <sval> NAME WIDTH SPEED
+%type <ival> INT SYSTEM NODE SUBSYSTEM TOPSYSTEM CFG
+%type <tval> NODETYPE
+
+%start ibnl
+
+%{
+
+  static int ibnlErr;
+  long lineNum;
+  static const char *gp_fileName;
+  static int gIsTopSystem = 0;
+  static list< char * > gSysNames;
+  static IBSystemsCollection *gp_sysColl = 0;
+  static IBSysDef *gp_curSysDef = 0;
+  static IBSysInst *gp_curInstDef = 0;
+
+  void ibnlMakeSystem(list< char * > &sysNames) {
+#ifdef DEBUG
+    printf("Making new system named:");
+#endif
+    gp_curSysDef = new IBSysDef(gp_fileName);
+
+    for( list< char * >::iterator snI = sysNames.begin();
+         snI != sysNames.end(); snI++) {
+      char sname[1024];
+      if (gIsTopSystem) {
+        sprintf(sname, "%s", *snI);
+      } else {
+        sprintf(sname, "%s/%s", gp_fileName, *snI);
+      }
+      string sNameStr(sname);
+      gp_sysColl->addSysDef(sNameStr, gp_curSysDef);
+#ifdef DEBUG
+      printf("%s ", sname);
+#endif
+    }
+#ifdef DEBUG
+    printf("\n");
+#endif
+
+    // cleanup for next systems.
+    sysNames.erase(sysNames.begin(), sysNames.end());
+  }
+
+  void ibnlMakeSubInstAttribute(char *hInst, char *attr, char *value) {
+#ifdef DEBUG
+    printf("Making new sub instance attribute inst:%s %s=%s\n",
+           hInst, attr, value);
+#endif
+    if (! gp_curSysDef) {
+        printf("-E- How com e we got no system???\n");
+        exit(3);
+    }
+    // append to existing attr or create new
+    string hierInstName = string(hInst);
+    string attrStr = string(attr);
+    if (value)
+       attrStr += "=" +  string(value);
+    gp_curSysDef->setSubInstAttr(hierInstName, attrStr);
+  }
+
+  void ibnlMakeNode(IBNodeType type, int numPorts, char *devName, char* name) {
+#ifdef DEBUG
+    printf(" Making Node:%s dev:%s ports:%d\n", name, devName, numPorts);
+#endif
+    gp_curInstDef = new IBSysInst(name, devName, numPorts, type);
+    gp_curSysDef->addInst(gp_curInstDef);
+  }
+
+  void ibnlMakeNodeToNodeConn(
+    int fromPort, char *width, char *speed, char *toNode, int toPort) {
+#ifdef DEBUG
+    printf("  Connecting N-N port:%d to Node:%s/%d (w=%s,s=%s)\n",
+           fromPort, toNode, toPort, width, speed);
+#endif
+    char buf1[8],buf2[8] ;
+    sprintf(buf1, "%d", toPort);
+    sprintf(buf2, "%d", fromPort);
+    IBSysInstPort *p_port =
+      new IBSysInstPort(buf2, toNode, buf1, char2width(width),
+                        char2speed(speed));
+    gp_curInstDef->addPort(p_port);
+  }
+
+  void ibnlMakeNodeToPortConn(
+    int fromPort, char *width, char *speed, char *sysPortName) {
+#ifdef DEBUG
+    printf("  System port:%s on port:%d (w=%s,s=%s)\n",
+           sysPortName, fromPort, width, speed);
+#endif
+    char buf[8];
+    sprintf(buf,"%d",fromPort);
+    IBSysPortDef *p_sysPort =
+      new IBSysPortDef(sysPortName, gp_curInstDef->getName(), buf,
+                       char2width(width), char2speed(speed));
+    gp_curSysDef->addSysPort(p_sysPort);
+  }
+
+  void ibnlMakeSubsystem( char *masterName, char *instName) {
+#ifdef DEBUG
+    printf(" Making SubSystem:%s of type:%s\n", instName, masterName);
+#endif
+    gp_curInstDef = new IBSysInst(instName, masterName);
+    gp_curSysDef->addInst(gp_curInstDef);
+  }
+
+  void ibnlRecordModification( char *subSystem, char *modifier) {
+#ifdef DEBUG
+    printf("  Using modifier:%s on %s\n", modifier, subSystem);
+#endif
+    gp_curInstDef->addInstMod(subSystem, modifier);
+  }
+
+  void ibnlMakeSubsystemToSubsystemConn(
+    char *fromPort, char *width, char *speed, char *toSystem, char *toPort) {
+#ifdef DEBUG
+    printf("  Connecting S-S port:%s to SubSys:%s/%s\n",
+         fromPort, toSystem, toPort);
+#endif
+    IBSysInstPort *p_port =
+      new IBSysInstPort(fromPort, toSystem, toPort, char2width(width),
+                        char2speed(speed));
+    gp_curInstDef->addPort(p_port);
+  }
+
+  void ibnlMakeSubsystemToPortConn(
+    char *fromPort, char *width, char *speed, char *toPort) {
+#ifdef DEBUG
+    printf("  Connecting port:%s to SysPort:%s\n",
+         fromPort, toPort);
+#endif
+
+    IBSysPortDef *p_sysPort =
+      new IBSysPortDef(toPort, gp_curInstDef->getName(), fromPort,
+                       char2width(width), char2speed(speed));
+    gp_curSysDef->addSysPort(p_sysPort);
+  }
+
+%}
+%%
+
+NL:
+    LINE
+  | NL LINE;
+
+ONL:
+  | NL;
+
+ibnl: ONL systems topsystem;
+
+systems:
+  | systems system
+  ;
+
+sub_inst_attributes:
+  | sub_inst_attributes sub_inst_attribute NL
+  ;
+
+sub_inst_attribute:
+  NAME '=' NAME '=' NAME { ibnlMakeSubInstAttribute($1,$3,$5); }
+  | NAME '=' NAME '=' INT {
+      char buf[16];
+      sprintf(buf, "%d", $5);
+      ibnlMakeSubInstAttribute($1,$3,buf);
+   }
+  | NAME '=' NAME {ibnlMakeSubInstAttribute($1,$3,NULL); }
+  ;
+
+topsystem:
+    TOPSYSTEM { gIsTopSystem = 1; }
+    system_names { ibnlMakeSystem(gSysNames); }
+    NL sub_inst_attributes
+    insts
+  ;
+
+system:
+    SYSTEM { gIsTopSystem = 0; }
+    system_names { ibnlMakeSystem(gSysNames); } NL insts
+  ;
+
+system_names:
+    system_name
+  | system_names ',' system_name
+  ;
+
+system_name:
+    NAME { gSysNames.push_back($1); }
+  ;
+
+insts:
+  | insts node
+  | insts subsystem
+  ;
+
+node:
+   node_header NL node_connections
+  ;
+
+node_header:
+    NODE NODETYPE INT NAME NAME { ibnlMakeNode($2,$3,$4,$5); }
+  ;
+
+node_connections:
+  | node_connections node_connection NL
+  ;
+
+node_connection:
+    node_to_node_link
+  | node_to_port_link
+  ;
+
+node_to_node_link:
+    INT '-' WIDTH '-' SPEED '-' '>' NAME INT {
+      ibnlMakeNodeToNodeConn($1, $3, $5, $8, $9);
+    }
+  | INT '-' WIDTH '-' '>' NAME INT {
+      ibnlMakeNodeToNodeConn($1, $3, "2.5", $6, $7);
+    }
+  | INT '-' SPEED '-' '>' NAME INT {
+      ibnlMakeNodeToNodeConn($1, "4x", $3, $6, $7);
+    }
+  | INT '-' '>' NAME INT {
+      ibnlMakeNodeToNodeConn($1, "4x", "2.5", $4, $5);
+    }
+  ;
+
+node_to_port_link:
+    INT '-' WIDTH '-' SPEED '-' '>' NAME {
+      ibnlMakeNodeToPortConn($1, $3, $5, $8);
+    }
+  | INT '-' WIDTH '-' '>' NAME {
+      ibnlMakeNodeToPortConn($1, $3, "2.5", $6);
+    }
+  | INT '-' SPEED '-' '>' NAME {
+      ibnlMakeNodeToPortConn($1, "4x", $3, $6);
+    }
+  | INT '-' '>' NAME {
+      ibnlMakeNodeToPortConn($1, "4x", "2.5", $4);
+    }
+  ;
+
+subsystem:
+    subsystem_header NL subsystem_connections
+  | subsystem_header NL CFG insts_modifications NL subsystem_connections
+  ;
+
+subsystem_header:
+    SUBSYSTEM NAME NAME { ibnlMakeSubsystem($2,$3); }
+  ;
+
+insts_modifications:
+  | insts_modifications modification
+  ;
+
+modification:
+    NAME '=' NAME { ibnlRecordModification($1,$3); }
+  ;
+
+subsystem_connections:
+  | subsystem_connections subsystem_connection NL
+  ;
+
+subsystem_connection:
+    subsystem_to_subsystem_link
+  | subsystem_to_port_link
+  ;
+
+subsystem_to_subsystem_link:
+    NAME '-' WIDTH '-' SPEED '-' '>' NAME NAME {
+      ibnlMakeSubsystemToSubsystemConn($1, $3, $5, $8, $9);
+    }
+  | NAME '-' WIDTH '-' '>' NAME NAME {
+      ibnlMakeSubsystemToSubsystemConn($1, $3, "2.5", $6, $7);
+    }
+  | NAME '-' SPEED '-' '>' NAME NAME {
+      ibnlMakeSubsystemToSubsystemConn($1, "4x", $3, $6, $7);
+    }
+  | NAME '-' '>' NAME NAME {
+      ibnlMakeSubsystemToSubsystemConn($1, "4x", "2.5", $4, $5);
+    }
+  ;
+
+subsystem_to_port_link:
+    NAME '-' WIDTH '-' SPEED '-' '>' NAME {
+      ibnlMakeSubsystemToPortConn($1, $3, $5, $8);
+    }
+  | NAME '-' WIDTH '-' '>' NAME {
+      ibnlMakeSubsystemToPortConn($1, $3, "2.5", $6);
+    }
+  | NAME '-' SPEED '-' '>' NAME {
+      ibnlMakeSubsystemToPortConn($1, "4x", $3, $6);
+    }
+  | NAME '-' '>' NAME {
+      ibnlMakeSubsystemToPortConn($1, "4x", "2.5", $4);
+    }
+  ;
+
+%%
+
+int yyerror(char *msg)
+{
+  printf("-E-ibnlParse:%s at line:%ld\n", msg, lineNum);
+  ibnlErr = 1;
+  return 1;
+}
+
+/* parse apollo route dump file */
+int ibnlParseSysDefs (IBSystemsCollection *p_sysColl, const char *fileName) {
+  extern FILE * yyin;
+
+  gp_sysColl = p_sysColl;
+  gp_fileName = fileName;
+
+  /* open the file */
+  yyin = fopen(fileName,"r");
+  if (!yyin) {
+	 printf("-E- Fail to Open File:%s\n", fileName);
+	 return(1);
+  }
+  if (FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+     printf("-I- Parsing:%s\n", fileName);
+
+  ibnlErr = 0;
+  lineNum = 1;
+  /* parse it */
+  yyparse();
+
+  fclose(yyin);
+  return(ibnlErr);
+}
+
+
diff --git a/ibdm/ibdm/ibnl_scanner.cc b/ibdm/ibdm/ibnl_scanner.cc
new file mode 100644
index 0000000..ae070e7
--- /dev/null
+++ b/ibdm/ibdm/ibnl_scanner.cc
@@ -0,0 +1,1769 @@
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif	/* __STDC__ */
+#endif	/* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator).  This
+ * avoids problems with code like:
+ *
+ * 	if ( condition_holds )
+ *		yyless( 5 );
+ *	else
+ *		do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+		*yy_cp = yy_hold_char; \
+		YY_RESTORE_YY_MORE_OFFSET \
+		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+	};
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! yy_current_buffer ) \
+		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	yy_current_buffer->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! yy_current_buffer ) \
+		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	yy_current_buffer->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	yytext_ptr = yy_bp; \
+	yyleng = (int) (yy_cp - yy_bp); \
+	yy_hold_char = *yy_cp; \
+	*yy_cp = '\0'; \
+	yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 14
+#define YY_END_OF_BUFFER 15
+static yyconst short int yy_accept[61] =
+    {   0,
+        0,    0,   15,   13,   12,   11,    1,    1,    1,    1,
+        1,    1,    1,   13,   13,   13,   13,   13,   13,   12,
+        1,    1,    1,    5,    0,    1,    6,   10,    9,   10,
+       10,   10,   10,   10,   10,    0,    1,   10,   10,   10,
+       10,   10,    8,    4,   10,   10,   10,   10,   10,   10,
+       10,    2,   10,   10,   10,   10,   10,    7,    3,    0
+    } ;
+
+static yyconst int yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    1,    1,    1,    1,    4,    1,    1,    1,
+        1,    4,    1,    1,    4,    4,    4,    5,    6,    7,
+        8,    9,   10,    8,    8,   11,    8,   12,    1,    1,
+        1,    1,    1,    4,   13,   14,   15,   16,   17,   18,
+       19,   20,   21,   21,   21,   21,   22,   23,   24,   25,
+       21,   21,   26,   27,   28,   21,   29,   21,   30,   21,
+        4,    4,    4,    1,    4,    1,   21,   21,   21,   21,
+
+       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
+       21,   21,   21,   21,   21,   21,   21,   21,   21,   31,
+       21,   21,    1,    1,    1,    4,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static yyconst int yy_meta[32] =
+    {   0,
+        1,    1,    2,    3,    4,    4,    4,    4,    4,    4,
+        4,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        4
+    } ;
+
+static yyconst short int yy_base[64] =
+    {   0,
+        0,    0,   92,   93,   89,   93,   93,   27,   54,   59,
+       58,   14,   57,    0,   22,   72,   62,    8,   61,   82,
+        0,   64,   51,   93,   71,   36,   93,    0,    0,   61,
+       66,   62,   63,   50,   50,   55,    0,   57,   49,   31,
+       29,   29,    0,    0,   24,   36,   22,   25,   28,   23,
+       21,    0,   20,   27,   26,   20,   19,    0,    0,   93,
+       35,   67,   69
+    } ;
+
+static yyconst short int yy_def[64] =
+    {   0,
+       60,    1,   60,   60,   60,   60,   60,   61,   62,   61,
+       61,   61,   61,   63,   63,   63,   63,   63,   63,   60,
+       12,   12,   61,   60,   60,   61,   60,   63,   63,   63,
+       63,   63,   63,   63,   63,   60,   12,   63,   63,   63,
+       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
+       63,   63,   63,   63,   63,   63,   63,   63,   63,    0,
+       60,   60,   60
+    } ;
+
+static yyconst short int yy_nxt[125] =
+    {   0,
+        4,    5,    6,    4,    7,    8,    9,   10,   11,   12,
+       13,    4,   14,   14,   15,   14,   14,   14,   14,   16,
+       14,   14,   17,   14,   14,   18,   19,   14,   14,   14,
+       14,   21,   27,   23,   29,   33,   29,   34,   22,   30,
+       59,   58,   57,   56,   60,   37,   55,   54,   53,   52,
+       51,   50,   49,   48,   47,   46,   45,   24,   26,   26,
+       26,   26,   26,   26,   26,   44,   60,   25,   43,   25,
+       25,   28,   28,   27,   42,   41,   40,   39,   29,   38,
+       36,   24,   60,   20,   35,   32,   31,   24,   24,   60,
+       20,   60,    3,   60,   60,   60,   60,   60,   60,   60,
+
+       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
+       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
+       60,   60,   60,   60
+    } ;
+
+static yyconst short int yy_chk[125] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    8,   12,    8,   15,   18,   18,   18,   61,   15,
+       57,   56,   55,   54,   12,   26,   53,   51,   50,   49,
+       48,   47,   46,   45,   42,   41,   40,    8,    9,    9,
+        9,    9,    9,    9,    9,   39,   26,   62,   38,   62,
+       62,   63,   63,   36,   35,   34,   33,   32,   31,   30,
+       25,   23,   22,   20,   19,   17,   16,   13,   11,   10,
+        5,    3,   60,   60,   60,   60,   60,   60,   60,   60,
+
+       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
+       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
+       60,   60,   60,   60
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "ibnl_scanner.ll"
+#define INITIAL 0
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+#line 36 "ibnl_scanner.ll"
+
+// #define DEBUG 1
+#define	yymaxdepth ibnl_maxdepth
+#define	yyparse	ibnl_parse
+#define	yylex	ibnl_lex
+#define	yyerror	ibnl_error
+#define	yylval	ibnl_lval
+#define	yychar	ibnl_char
+#define	yydebug	ibnl_debug
+#define	yypact	ibnl_pact
+#define	yyr1	ibnl_r1
+#define	yyr2	ibnl_r2
+#define	yydef	ibnl_def
+#define	yychk	ibnl_chk
+#define	yypgo	ibnl_pgo
+#define	yyact	ibnl_act
+#define	yyexca	ibnl_exca
+#define  yyerrflag ibnl_errflag
+#define  yynerrs	ibnl_nerrs
+#define	yyps	ibnl_ps
+#define	yypv	ibnl_pv
+#define	yys	ibnl_s
+#define	yy_yys	ibnl_yys
+#define	yystate	ibnl_state
+#define	yytmp	ibnl_tmp
+#define	yyv	ibnl_v
+#define	yy_yyv	ibnl_yyv
+#define	yyval	ibnl_val
+#define	yylloc	ibnl_lloc
+#define yyreds	ibnl_reds
+#define yytoks	ibnl_toks
+#define yylhs	ibnl_yylhs
+#define yylen	ibnl_yylen
+#define yydefred ibnl_yydefred
+#define yydgoto	ibnl_yydgoto
+#define yysindex ibnl_yysindex
+#define yyrindex ibnl_yyrindex
+#define yygindex ibnl_yygindex
+#define yytable	 ibnl_yytable
+#define yycheck	 ibnl_yycheck
+#define yyname   ibnl_yyname
+#define yyrule   ibnl_yyrule
+
+#include <string.h>
+#include <stdio.h>
+#include "Fabric.h"
+#include "ibnl_parser.h"
+#include "SysDef.h"
+extern long lineNum;
+#line 492 "ibnl_scanner.cc"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines.  This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( yy_current_buffer->yy_is_interactive ) \
+		{ \
+		int c = '*', n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+		  && ferror( yyin ) ) \
+		YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+YY_DECL
+	{
+	register yy_state_type yy_current_state;
+	register char *yy_cp = NULL, *yy_bp = NULL;
+	register int yy_act;
+
+#line 87 "ibnl_scanner.ll"
+
+
+#line 646 "ibnl_scanner.cc"
+
+	if ( yy_init )
+		{
+		yy_init = 0;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! yy_start )
+			yy_start = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! yy_current_buffer )
+			yy_current_buffer =
+				yy_create_buffer( yyin, YY_BUF_SIZE );
+
+		yy_load_buffer_state();
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = yy_c_buf_p;
+
+		/* Support of yytext. */
+		*yy_cp = yy_hold_char;
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = yy_start;
+yy_match:
+		do
+			{
+			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+			if ( yy_accept[yy_current_state] )
+				{
+				yy_last_accepting_state = yy_current_state;
+				yy_last_accepting_cpos = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 61 )
+					yy_c = yy_meta[(unsigned int) yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 93 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = yy_last_accepting_cpos;
+			yy_current_state = yy_last_accepting_state;
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+
+do_action:	/* This label is used only to access EOF actions. */
+
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = yy_hold_char;
+			yy_cp = yy_last_accepting_cpos;
+			yy_current_state = yy_last_accepting_state;
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 89 "ibnl_scanner.ll"
+{
+  yylval.ival = atoi(yytext);
+#ifdef DEBUG
+  printf("INT:%d\n",yylval.ival);
+#endif
+  return INT;
+}
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 97 "ibnl_scanner.ll"
+{
+  yylval.ival = SYSTEM;
+#ifdef DEBUG
+  printf("SYSTEM\n");
+#endif
+  return SYSTEM;
+}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 105 "ibnl_scanner.ll"
+{
+  yylval.ival = TOPSYSTEM;
+#ifdef DEBUG
+  printf("TOPSYSTEM\n");
+#endif
+  return TOPSYSTEM;
+}
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 113 "ibnl_scanner.ll"
+{
+  yylval.ival = NODE;
+#ifdef DEBUG
+  printf("NODE\n");
+#endif
+  return NODE;
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 121 "ibnl_scanner.ll"
+{
+	 yylval.sval = (char *)malloc(strlen(yytext) + 1);
+    strcpy(yylval.sval, yytext);
+#ifdef DEBUG
+	 printf("WIDTH:%s\n",yylval.sval);
+#endif
+  return WIDTH;
+}
+	YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 130 "ibnl_scanner.ll"
+{
+	 yylval.sval = (char *)malloc(strlen(yytext));
+    strncpy(yylval.sval, yytext, strlen(yytext) - 1);
+    strcat(yylval.sval, "");
+#ifdef DEBUG
+	 printf("SPEED:%s\n",yylval.sval);
+#endif
+  return SPEED;
+}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 140 "ibnl_scanner.ll"
+{
+  yylval.ival = SUBSYSTEM;
+#ifdef DEBUG
+  printf("SUBSYSTEM\n");
+#endif
+  return SUBSYSTEM;
+}
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 148 "ibnl_scanner.ll"
+{
+  yylval.ival = CFG;
+#ifdef DEBUG
+  printf("CFG\n");
+#endif
+  return CFG;
+}
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 156 "ibnl_scanner.ll"
+{
+  if (!strcmp(yytext,"SW")) {
+    yylval.tval = IB_SW_NODE;
+  } else {
+    yylval.tval = IB_CA_NODE;
+  }
+#ifdef DEBUG
+  printf("%s\n", yytext);
+#endif
+  return NODETYPE;
+}
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 168 "ibnl_scanner.ll"
+{
+	 yylval.sval = (char *)malloc(strlen(yytext) + 1);
+    strcpy(yylval.sval, yytext);
+#ifdef DEBUG
+	 printf("NAME:%s\n",yylval.sval);
+#endif
+	 return (NAME);
+}
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 177 "ibnl_scanner.ll"
+{
+  lineNum++;
+#ifdef DEBUG
+  printf("LINE\n");
+#endif
+  if(lineNum % 10000==0)
+	 fprintf(stderr,"-I- Parsed %ld lines\r",lineNum);
+  yylval.ival = LINE;
+  return(LINE);
+}
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 188 "ibnl_scanner.ll"
+{}
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 190 "ibnl_scanner.ll"
+{
+#ifdef DEBUG
+  printf("CHAR:%c\n",yytext[0]);
+#endif
+  return(yytext[0]);
+}
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 197 "ibnl_scanner.ll"
+ECHO;
+	YY_BREAK
+#line 881 "ibnl_scanner.cc"
+case YY_STATE_EOF(INITIAL):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = yy_hold_char;
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between yy_current_buffer and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			yy_n_chars = yy_current_buffer->yy_n_chars;
+			yy_current_buffer->yy_input_file = yyin;
+			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state();
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++yy_c_buf_p;
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = yy_c_buf_p;
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer() )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				yy_did_buffer_switch_on_eof = 0;
+
+				if ( yywrap() )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! yy_did_buffer_switch_on_eof )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				yy_c_buf_p =
+					yytext_ptr + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state();
+
+				yy_cp = yy_c_buf_p;
+				yy_bp = yytext_ptr + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				yy_c_buf_p =
+				&yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+				yy_current_state = yy_get_previous_state();
+
+				yy_cp = yy_c_buf_p;
+				yy_bp = yytext_ptr + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+	} /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+	{
+	register char *dest = yy_current_buffer->yy_ch_buf;
+	register char *source = yytext_ptr;
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( yy_current_buffer->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+	else
+		{
+		int num_to_read =
+			yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+			YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = yy_current_buffer;
+
+			int yy_c_buf_p_offset =
+				(int) (yy_c_buf_p - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yy_flex_realloc( (void *) b->yy_ch_buf,
+							 b->yy_buf_size + 2 );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = yy_current_buffer->yy_buf_size -
+						number_to_move - 1;
+#endif
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+			yy_n_chars, num_to_read );
+
+		yy_current_buffer->yy_n_chars = yy_n_chars;
+		}
+
+	if ( yy_n_chars == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart( yyin );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			yy_current_buffer->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	yy_n_chars += number_to_move;
+	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+	return ret_val;
+	}
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+	{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+
+	yy_current_state = yy_start;
+
+	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+		{
+		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			yy_last_accepting_state = yy_current_state;
+			yy_last_accepting_cpos = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 61 )
+				yy_c = yy_meta[(unsigned int) yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+		}
+
+	return yy_current_state;
+	}
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+	{
+	register int yy_is_jam;
+	register char *yy_cp = yy_c_buf_p;
+
+	register YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		yy_last_accepting_state = yy_current_state;
+		yy_last_accepting_cpos = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 61 )
+			yy_c = yy_meta[(unsigned int) yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+	yy_is_jam = (yy_current_state == 60);
+
+	return yy_is_jam ? 0 : yy_current_state;
+	}
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+	{
+	register char *yy_cp = yy_c_buf_p;
+
+	/* undo effects of setting up yytext */
+	*yy_cp = yy_hold_char;
+
+	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = yy_n_chars + 2;
+		register char *dest = &yy_current_buffer->yy_ch_buf[
+					yy_current_buffer->yy_buf_size + 2];
+		register char *source =
+				&yy_current_buffer->yy_ch_buf[number_to_move];
+
+		while ( source > yy_current_buffer->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		yy_current_buffer->yy_n_chars =
+			yy_n_chars = yy_current_buffer->yy_buf_size;
+
+		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+
+	yytext_ptr = yy_bp;
+	yy_hold_char = *yy_cp;
+	yy_c_buf_p = yy_cp;
+	}
+#endif	/* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+	{
+	int c;
+
+	*yy_c_buf_p = yy_hold_char;
+
+	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+			/* This was really a NUL. */
+			*yy_c_buf_p = '\0';
+
+		else
+			{ /* need more input */
+			int offset = yy_c_buf_p - yytext_ptr;
+			++yy_c_buf_p;
+
+			switch ( yy_get_next_buffer() )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart( yyin );
+
+					/* fall through */
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap() )
+						return EOF;
+
+					if ( ! yy_did_buffer_switch_on_eof )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					yy_c_buf_p = yytext_ptr + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
+	*yy_c_buf_p = '\0';	/* preserve yytext */
+	yy_hold_char = *++yy_c_buf_p;
+
+
+	return c;
+	}
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+	{
+	if ( ! yy_current_buffer )
+		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+	yy_init_buffer( yy_current_buffer, input_file );
+	yy_load_buffer_state();
+	}
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+	{
+	if ( yy_current_buffer == new_buffer )
+		return;
+
+	if ( yy_current_buffer )
+		{
+		/* Flush out information for old buffer. */
+		*yy_c_buf_p = yy_hold_char;
+		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+		yy_current_buffer->yy_n_chars = yy_n_chars;
+		}
+
+	yy_current_buffer = new_buffer;
+	yy_load_buffer_state();
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	yy_did_buffer_switch_on_eof = 1;
+	}
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+	{
+	yy_n_chars = yy_current_buffer->yy_n_chars;
+	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+	yyin = yy_current_buffer->yy_input_file;
+	yy_hold_char = *yy_c_buf_p;
+	}
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+	{
+	YY_BUFFER_STATE b;
+
+	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer( b, file );
+
+	return b;
+	}
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+	{
+	if ( ! b )
+		return;
+
+	if ( b == yy_current_buffer )
+		yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yy_flex_free( (void *) b->yy_ch_buf );
+
+	yy_flex_free( (void *) b );
+	}
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+	{
+	yy_flush_buffer( b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+	b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+	b->yy_is_interactive = 0;
+#else
+	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+	}
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+	{
+	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == yy_current_buffer )
+		yy_load_buffer_state();
+	}
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+	{
+	YY_BUFFER_STATE b;
+
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer( b );
+
+	return b;
+	}
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+	{
+	int len;
+	for ( len = 0; yy_str[len]; ++len )
+		;
+
+	return yy_scan_bytes( yy_str, len );
+	}
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+	{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = len + 2;
+	buf = (char *) yy_flex_alloc( n );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < len; ++i )
+		buf[i] = bytes[i];
+
+	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer( buf, n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+	}
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+	{
+	if ( yy_start_stack_ptr >= yy_start_stack_depth )
+		{
+		yy_size_t new_size;
+
+		yy_start_stack_depth += YY_START_STACK_INCR;
+		new_size = yy_start_stack_depth * sizeof( int );
+
+		if ( ! yy_start_stack )
+			yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+		else
+			yy_start_stack = (int *) yy_flex_realloc(
+					(void *) yy_start_stack, new_size );
+
+		if ( ! yy_start_stack )
+			YY_FATAL_ERROR(
+			"out of memory expanding start-condition stack" );
+		}
+
+	yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+	BEGIN(new_state);
+	}
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+	{
+	if ( --yy_start_stack_ptr < 0 )
+		YY_FATAL_ERROR( "start-condition stack underflow" );
+
+	BEGIN(yy_start_stack[yy_start_stack_ptr]);
+	}
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+	{
+	return yy_start_stack[yy_start_stack_ptr - 1];
+	}
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+	{
+	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+	}
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+		yytext[yyleng] = yy_hold_char; \
+		yy_c_buf_p = yytext + n; \
+		yy_hold_char = *yy_c_buf_p; \
+		*yy_c_buf_p = '\0'; \
+		yyleng = n; \
+		} \
+	while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+	{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+	}
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+	{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+	}
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+	{
+	return (void *) malloc( size );
+	}
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+	{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+	}
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+	{
+	free( ptr );
+	}
+
+#if YY_MAIN
+int main()
+	{
+	yylex();
+	return 0;
+	}
+#endif
+#line 197 "ibnl_scanner.ll"
+
+
+int yywrap ()
+{
+  return (1);
+}
+
diff --git a/ibdm/ibdm/ibnl_scanner.ll b/ibdm/ibdm/ibnl_scanner.ll
new file mode 100644
index 0000000..67c1d77
--- /dev/null
+++ b/ibdm/ibdm/ibnl_scanner.ll
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+
+// #define DEBUG 1
+#define	yymaxdepth ibnl_maxdepth
+#define	yyparse	ibnl_parse
+#define	yylex	ibnl_lex
+#define	yyerror	ibnl_error
+#define	yylval	ibnl_lval
+#define	yychar	ibnl_char
+#define	yydebug	ibnl_debug
+#define	yypact	ibnl_pact
+#define	yyr1	ibnl_r1
+#define	yyr2	ibnl_r2
+#define	yydef	ibnl_def
+#define	yychk	ibnl_chk
+#define	yypgo	ibnl_pgo
+#define	yyact	ibnl_act
+#define	yyexca	ibnl_exca
+#define  yyerrflag ibnl_errflag
+#define  yynerrs	ibnl_nerrs
+#define	yyps	ibnl_ps
+#define	yypv	ibnl_pv
+#define	yys	ibnl_s
+#define	yy_yys	ibnl_yys
+#define	yystate	ibnl_state
+#define	yytmp	ibnl_tmp
+#define	yyv	ibnl_v
+#define	yy_yyv	ibnl_yyv
+#define	yyval	ibnl_val
+#define	yylloc	ibnl_lloc
+#define yyreds	ibnl_reds
+#define yytoks	ibnl_toks
+#define yylhs	ibnl_yylhs
+#define yylen	ibnl_yylen
+#define yydefred ibnl_yydefred
+#define yydgoto	ibnl_yydgoto
+#define yysindex ibnl_yysindex
+#define yyrindex ibnl_yyrindex
+#define yygindex ibnl_yygindex
+#define yytable	 ibnl_yytable
+#define yycheck	 ibnl_yycheck
+#define yyname   ibnl_yyname
+#define yyrule   ibnl_yyrule
+
+#include <string.h>
+#include <stdio.h>
+#include "Fabric.h"
+#include "ibnl_parser.h"
+#include "SysDef.h"
+extern long lineNum;
+%}
+
+%%
+
+([1-9][0-9]*|0) {
+  yylval.ival = atoi(yytext);
+#ifdef DEBUG
+  printf("INT:%d\n",yylval.ival);
+#endif
+  return INT;
+}
+
+SYSTEM {
+  yylval.ival = SYSTEM;
+#ifdef DEBUG
+  printf("SYSTEM\n");
+#endif
+  return SYSTEM;
+}
+
+TOPSYSTEM {
+  yylval.ival = TOPSYSTEM;
+#ifdef DEBUG
+  printf("TOPSYSTEM\n");
+#endif
+  return TOPSYSTEM;
+}
+
+NODE {
+  yylval.ival = NODE;
+#ifdef DEBUG
+  printf("NODE\n");
+#endif
+  return NODE;
+}
+
+1x|4x|8x|12x {
+	 yylval.sval = (char *)malloc(strlen(yytext) + 1);
+    strcpy(yylval.sval, yytext);
+#ifdef DEBUG
+	 printf("WIDTH:%s\n",yylval.sval);
+#endif
+  return WIDTH;
+}
+
+2.5G|5G|10G {
+	 yylval.sval = (char *)malloc(strlen(yytext));
+    strncpy(yylval.sval, yytext, strlen(yytext) - 1);
+    strcat(yylval.sval, "");
+#ifdef DEBUG
+	 printf("SPEED:%s\n",yylval.sval);
+#endif
+  return SPEED;
+}
+
+SUBSYSTEM {
+  yylval.ival = SUBSYSTEM;
+#ifdef DEBUG
+  printf("SUBSYSTEM\n");
+#endif
+  return SUBSYSTEM;
+}
+
+CFG: {
+  yylval.ival = CFG;
+#ifdef DEBUG
+  printf("CFG\n");
+#endif
+  return CFG;
+}
+
+(SW|CA|HCA) {
+  if (!strcmp(yytext,"SW")) {
+    yylval.tval = IB_SW_NODE;
+  } else {
+    yylval.tval = IB_CA_NODE;
+  }
+#ifdef DEBUG
+  printf("%s\n", yytext);
+#endif
+  return NODETYPE;
+}
+
+[A-Za-z][-\[\]\\\*/A-Za-z0-9_.:%@~]+ {
+	 yylval.sval = (char *)malloc(strlen(yytext) + 1);
+    strcpy(yylval.sval, yytext);
+#ifdef DEBUG
+	 printf("NAME:%s\n",yylval.sval);
+#endif
+	 return (NAME);
+}
+
+\n {
+  lineNum++;
+#ifdef DEBUG
+  printf("LINE\n");
+#endif
+  if(lineNum % 10000==0)
+	 fprintf(stderr,"-I- Parsed %ld lines\r",lineNum);
+  yylval.ival = LINE;
+  return(LINE);
+}
+
+[ \t]+ {}
+
+. {
+#ifdef DEBUG
+  printf("CHAR:%c\n",yytext[0]);
+#endif
+  return(yytext[0]);
+}
+
+%%
+
+int yywrap ()
+{
+  return (1);
+}
+
diff --git a/ibdm/ibdm/pkgIndex.tcl b/ibdm/ibdm/pkgIndex.tcl
new file mode 100644
index 0000000..aecd5d5
--- /dev/null
+++ b/ibdm/ibdm/pkgIndex.tcl
@@ -0,0 +1,17 @@
+# Main idea here is to intialize the ibnl_path
+proc ibdmLoad%VERSION% {dir} {
+   global ibnl_path
+   global env
+   # support env variable for extending the search path for
+   # system definition files.
+   if {[info exists env(IBADM_IBNL_PATH)]} {
+      set ibnl_path "$env(IBADM_IBNL_PATH)"
+   } else {
+      set ibnl_path ""
+   }
+   puts "Loading IBDM from: $dir"
+   uplevel \#0 load [file join $dir libibdm.so.%VERSION%]
+	package provide ibdm %VERSION%
+}
+
+package ifneeded ibdm %VERSION% [list ibdmLoad%VERSION% $dir]
diff --git a/ibdm/ibdm/swig_alternate_mangling.cpp b/ibdm/ibdm/swig_alternate_mangling.cpp
new file mode 100644
index 0000000..67e974d
--- /dev/null
+++ b/ibdm/ibdm/swig_alternate_mangling.cpp
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+
+// the type of map holding alternate object mangling function and reverse one
+// note we hold it by the original mangled type
+// the type of map holding alternate object mangling function and reverse one
+// note we hold it by the original mangled type
+struct less_char_array : public binary_function<const char *, const char *, bool> {
+        bool operator() (const char * x, const char * y) const { return (strcmp(x,y) < 0); }
+};
+
+#define charp_getname_map map<const char *, int (*)(Tcl_Obj *, void *,char *type),  less_char_array >
+#define charp_getobjp_map map<const char *, int (*)(Tcl_Obj *, void **), less_char_array >
+
+// two maps - for in and out of C++ space
+charp_getname_map SWIG_AlternateObjMangling;
+charp_getobjp_map SWIG_AlternateNameToObj;
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+SWIGSTATIC
+void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *_ptr, char *type) {
+
+  // if we have an alternate mangling use it:
+  charp_getname_map::const_iterator I = SWIG_AlternateObjMangling.find(type);
+  if (I != SWIG_AlternateObjMangling.end()) {
+	 int (*getName)(Tcl_Obj *, void *, char *type) = (*I).second;
+	 if (getName(objPtr, _ptr, type)) {
+		cerr << "-E- Fail to convert object to string\n";
+	 }
+	 return;
+  }
+
+  static char _hex[16] =
+  {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+	  'a', 'b', 'c', 'd', 'e', 'f'};
+  unsigned long _p, _s;
+  char _result[20], *_r;    /* Note : a 64-bit hex number = 16 digits */
+  char _temp[20], *_c;
+  _r = _result;
+  _p = (unsigned long) _ptr;
+  if (_p > 0) {
+    while (_p > 0) {
+      _s = _p & 0xf;
+      *(_r++) = _hex[_s];
+      _p = _p >> 4;
+    }
+    *_r = '_';
+    _c = &_temp[0];
+    while (_r >= _result)
+      *(_c++) = *(_r--);
+    *_c = 0;
+    Tcl_SetStringObj(objPtr,_temp,-1);
+  } else {
+    Tcl_SetStringObj(objPtr,"NULL",-1);
+  }
+  if (_ptr)
+    Tcl_AppendToObj(objPtr,type,-1);
+}
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *_t) {
+  unsigned long _p;
+  char temp_type[256];
+  char *name;
+  int  i, len;
+  SwigPtrType *sp,*tp;
+  SwigCacheType *cache;
+  int  start, end;
+  char *_c;
+  _p = 0;
+
+  // if altername mangling is defined use it:
+  charp_getobjp_map::const_iterator I = SWIG_AlternateNameToObj.find(_t);
+  if (I != SWIG_AlternateNameToObj.end()) {
+	 int (* getObjByName)(Tcl_Obj *, void **) = (*I).second;
+	 if (getObjByName(objPtr, ptr)) {
+		cerr << "-E- fail to get object by name\n";
+		return Tcl_GetStringFromObj(objPtr, &i);
+	 }
+	 return 0;
+  }
+
+  /* Extract the pointer value as a string */
+  _c = Tcl_GetStringFromObj(objPtr, &i);
+
+  /* Pointer values must start with leading underscore */
+  if (*_c == '_') {
+	 _c++;
+	 /* Extract hex value from pointer */
+	 while (*_c) {
+		if ((*_c >= '0') && (*_c <= '9'))
+		  _p = (_p << 4) + (*_c - '0');
+		else if ((*_c >= 'a') && (*_c <= 'f'))
+		  _p = (_p << 4) + ((*_c - 'a') + 10);
+		else
+		  break;
+		_c++;
+	 }
+
+	 if (_t) {
+		if (strcmp(_t,_c)) {
+		  if (!SwigPtrSort) {
+			 qsort((void *) SwigPtrTable, SwigPtrN, sizeof(SwigPtrType), swigsort);
+			 for (i = 0; i < 256; i++) {
+				SwigStart[i] = SwigPtrN;
+			 }
+			 for (i = SwigPtrN-1; i >= 0; i--) {
+				SwigStart[(int) (SwigPtrTable[i].name[1])] = i;
+			 }
+			 for (i = 255; i >= 1; i--) {
+				if (SwigStart[i-1] > SwigStart[i])
+				  SwigStart[i-1] = SwigStart[i];
+			 }
+			 SwigPtrSort = 1;
+			 for (i = 0; i < SWIG_CACHESIZE; i++)
+				SwigCache[i].stat = 0;
+		  }
+
+		  /* First check cache for matches.  Uses last cache value as starting point */
+		  cache = &SwigCache[SwigLastCache];
+		  for (i = 0; i < SWIG_CACHESIZE; i++) {
+			 if (cache->stat) {
+				if (strcmp(_t,cache->name) == 0) {
+				  if (strcmp(_c,cache->mapped) == 0) {
+					 cache->stat++;
+					 *ptr = (void *) _p;
+					 if (cache->tp->cast) *ptr = (*(cache->tp->cast))(*ptr);
+					 return (char *) 0;
+				  }
+				}
+			 }
+			 SwigLastCache = (SwigLastCache+1) & SWIG_CACHEMASK;
+			 if (!SwigLastCache) cache = SwigCache;
+			 else cache++;
+		  }
+		  /* We have a type mismatch.  Will have to look through our type
+			  mapping table to figure out whether or not we can accept this datatype */
+
+		  start = SwigStart[(int) _t[1]];
+		  end = SwigStart[(int) _t[1]+1];
+		  sp = &SwigPtrTable[start];
+		  while (start < end) {
+			 if (swigcmp(_t,sp) == 0) break;
+			 sp++;
+			 start++;
+		  }
+		  if (start >= end) sp = 0;
+		  /* Try to find a match for this */
+		  if (sp) {
+			 while (swigcmp(_t,sp) == 0) {
+				name = sp->name;
+				len = sp->len;
+				tp = sp->next;
+				/* Try to find entry for our given datatype */
+				while(tp) {
+				  if (tp->len >= 255) {
+					 return _c;
+				  }
+				  strcpy(temp_type,tp->name);
+				  strncat(temp_type,_t+len,255-tp->len);
+				  if (strcmp(_c,temp_type) == 0) {
+
+					 strcpy(SwigCache[SwigCacheIndex].mapped,_c);
+					 strcpy(SwigCache[SwigCacheIndex].name,_t);
+					 SwigCache[SwigCacheIndex].stat = 1;
+					 SwigCache[SwigCacheIndex].tp = tp;
+					 SwigCacheIndex = SwigCacheIndex & SWIG_CACHEMASK;
+
+					 /* Get pointer value */
+					 *ptr = (void *) _p;
+					 if (tp->cast) *ptr = (*(tp->cast))(*ptr);
+					 return (char *) 0;
+				  }
+				  tp = tp->next;
+				}
+				sp++;
+				/* Hmmm. Didn't find it this time */
+			 }
+		  }
+		  /* Didn't find any sort of match for this data.
+			  Get the pointer value and return the received type */
+		  *ptr = (void *) _p;
+		  return _c;
+		} else {
+		  /* Found a match on the first try.  Return pointer value */
+		  *ptr = (void *) _p;
+		  return (char *) 0;
+		}
+	 } else {
+		/* No type specified.  Good luck */
+		*ptr = (void *) _p;
+		return (char *) 0;
+	 }
+  } else {
+    if (strcmp (_c, "NULL") == 0) {
+		*ptr = (void *) 0;
+		return (char *) 0;
+    }
+    *ptr = (void *) 0;
+    return _c;
+  }
+}
diff --git a/ibdm/ibnl/Buffalo.ibnl b/ibdm/ibnl/Buffalo.ibnl
new file mode 100644
index 0000000..1c65410
--- /dev/null
+++ b/ibdm/ibnl/Buffalo.ibnl
@@ -0,0 +1,11 @@
+TOPSYSTEM Buffalo,MTS800
+
+NODE SW 8 MT43132 U1
+    1  -> P1
+    2  -> P2
+    3  -> P3
+    4  -> P4
+    5  -> P5
+    6  -> P6
+    7  -> P7
+    8  -> P8
diff --git a/ibdm/ibnl/Cheetah.ibnl b/ibdm/ibnl/Cheetah.ibnl
new file mode 100644
index 0000000..799cf5a
--- /dev/null
+++ b/ibdm/ibnl/Cheetah.ibnl
@@ -0,0 +1,5 @@
+
+TOPSYSTEM Cheetah,MHGS18-XT,MT25204
+
+NODE CA 1 MT25204 U1
+   1 -> P1
diff --git a/ibdm/ibnl/Cougar.ibnl b/ibdm/ibnl/Cougar.ibnl
new file mode 100644
index 0000000..281d9d0
--- /dev/null
+++ b/ibdm/ibnl/Cougar.ibnl
@@ -0,0 +1,7 @@
+
+
+TOPSYSTEM Cougar,MT23108,MTPB23108,MHX-CE128-T,MHX-CE256-T,MHX-CE512-T,MHXL-CF128-T,MHXL-CF256-T,MHXL-CF512-T
+
+NODE CA 2 MT23108 U1
+   1 -> P1
+   2 -> P2
diff --git a/ibdm/ibnl/Eagle.ibnl b/ibdm/ibnl/Eagle.ibnl
new file mode 100644
index 0000000..04ce265
--- /dev/null
+++ b/ibdm/ibnl/Eagle.ibnl
@@ -0,0 +1,6 @@
+
+TOPSYSTEM Eagle,MT25408,MHEH28,MHGH28
+
+NODE CA 2 M25408 U1
+   1 -> P1
+   2 -> P2
diff --git a/ibdm/ibnl/Gazelle.ibnl b/ibdm/ibnl/Gazelle.ibnl
new file mode 100644
index 0000000..6fd7a0c
--- /dev/null
+++ b/ibdm/ibnl/Gazelle.ibnl
@@ -0,0 +1,411 @@
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+NODE SW 8 MT43132 U1
+   1 -> P16
+   2 -> P15
+   3 -> P14
+   4 -> P13
+   5 -> U4 4
+   6 -> U5 4
+   7 -> U6 4
+   8 -> U7 4
+
+NODE SW 8 MT43132 U2
+   1 -> P20
+   2 -> P19
+   3 -> P18
+   4 -> P17
+   5 -> U4 3
+   6 -> U5 3
+   7 -> U6 3
+   8 -> U7 3
+
+NODE SW 8 MT43132 U3
+   1 -> P24
+   2 -> P23
+   3 -> P22
+   4 -> P21
+   5 -> U4 2
+   6 -> U5 2
+   7 -> U6 2
+   8 -> U7 2
+
+NODE SW 8 MT43132 U4
+   5 -> P1
+   6 -> P2
+   7 -> P3
+   2 -> U3 5
+   3 -> U2 5
+   4 -> U1 5
+
+NODE SW 8 MT43132 U5
+   5 -> P4
+   6 -> P5
+   7 -> P6
+   2 -> U3 6
+   3 -> U2 6
+   4 -> U1 6
+
+NODE SW 8 MT43132 U6
+   5 -> P7
+   6 -> P8
+   7 -> P9
+   2 -> U3 7
+   3 -> U2 7
+   4 -> U1 7
+
+NODE SW 8 MT43132 U7
+   5 -> P10
+   6 -> P11
+   7 -> P12
+   2 -> U3 8
+   3 -> U2 8
+   4 -> U1 8
+
+
+SYSTEM SPINE,SPINE:4X,SPINE:4x
+
+NODE SW 8 MT43132 U1
+   1 -> P10
+   2 -> P7
+   3 -> P16
+   4 -> P15
+   5 -> P22
+   6 -> P19
+   7 -> P6
+   8 -> P3
+
+NODE SW 8 MT43132 U2
+   1 -> P11
+   2 -> P8
+   3 -> P17
+   4 -> P14
+   5 -> P23
+   6 -> P20
+   7 -> P5
+   8 -> P2
+
+NODE SW 8 MT43132 U3
+   1 -> P12
+   2 -> P9
+   3 -> P18
+   4 -> P13
+   5 -> P24
+   6 -> P21
+   7 -> P4
+   8 -> P1
+
+TOPSYSTEM MTS9600,Gazelle,GZ
+
+SUBSYSTEM LEAF leaf1
+   P1 -> spine2 P1
+   P2 -> spine2 P2
+   P3 -> spine2 P3
+   P4 -> spine3 P4
+   P5 -> spine3 P5
+   P6 -> spine3 P6
+   P7 -> spine1 P7
+   P8 -> spine1 P8
+   P9 -> spine1 P9
+   P10 -> spine4 P10
+   P11 -> spine4 P11
+   P12 -> spine4 P12
+   P13 -> L1/P1
+   P14 -> L1/P2
+   P15 -> L1/P3
+   P16 -> L1/P4
+   P17 -> L1/P5
+   P18 -> L1/P6
+   P19 -> L1/P7
+   P20 -> L1/P8
+   P21 -> L1/P9
+   P22 -> L1/P10
+   P23 -> L1/P11
+   P24 -> L1/P12
+
+SUBSYSTEM LEAF leaf2
+   P1 -> spine4 P1
+   P2 -> spine4 P2
+   P3 -> spine4 P3
+   P4 -> spine2 P13
+   P5 -> spine2 P14
+   P6 -> spine2 P15
+   P7 -> spine1 P16
+   P8 -> spine1 P17
+   P9 -> spine1 P18
+   P10 -> spine3 P7
+   P11 -> spine3 P8
+   P12 -> spine3 P9
+   P13 -> L2/P1
+   P14 -> L2/P2
+   P15 -> L2/P3
+   P16 -> L2/P4
+   P17 -> L2/P5
+   P18 -> L2/P6
+   P19 -> L2/P7
+   P20 -> L2/P8
+   P21 -> L2/P9
+   P22 -> L2/P10
+   P23 -> L2/P11
+   P24 -> L2/P12
+
+SUBSYSTEM LEAF leaf3
+   P1 -> spine3 P19
+   P2 -> spine3 P20
+   P3 -> spine3 P21
+   P4 -> spine4 P22
+   P5 -> spine4 P23
+   P6 -> spine4 P24
+   P7 -> spine1 P13
+   P8 -> spine1 P14
+   P9 -> spine1 P15
+   P10 -> spine2 P16
+   P11 -> spine2 P17
+   P12 -> spine2 P18
+   P13 -> L3/P1
+   P14 -> L3/P2
+   P15 -> L3/P3
+   P16 -> L3/P4
+   P17 -> L3/P5
+   P18 -> L3/P6
+   P19 -> L3/P7
+   P20 -> L3/P8
+   P21 -> L3/P9
+   P22 -> L3/P10
+   P23 -> L3/P11
+   P24 -> L3/P12
+
+SUBSYSTEM LEAF leaf4
+   P1 -> spine1 P21
+   P2 -> spine1 P20
+   P3 -> spine1 P19
+   P4 -> spine4 P4
+   P5 -> spine4 P5
+   P6 -> spine4 P6
+   P7 -> spine3 P22
+   P8 -> spine3 P23
+   P9 -> spine3 P24
+   P10 -> spine2 P10
+   P11 -> spine2 P11
+   P12 -> spine2 P12
+   P13 -> L4/P1
+   P14 -> L4/P2
+   P15 -> L4/P3
+   P16 -> L4/P4
+   P17 -> L4/P5
+   P18 -> L4/P6
+   P19 -> L4/P7
+   P20 -> L4/P8
+   P21 -> L4/P9
+   P22 -> L4/P10
+   P23 -> L4/P11
+   P24 -> L4/P12
+
+SUBSYSTEM LEAF leaf5
+   P1 -> spine4 P19
+   P2 -> spine4 P20
+   P3 -> spine4 P21
+   P4 -> spine1 P4
+   P5 -> spine1 P5
+   P6 -> spine1 P6
+   P7 -> spine2 P24
+   P8 -> spine2 P23
+   P9 -> spine2 P22
+   P10 -> spine3 P10
+   P11 -> spine3 P11
+   P12 -> spine3 P12
+   P13 -> L5/P1
+   P14 -> L5/P2
+   P15 -> L5/P3
+   P16 -> L5/P4
+   P17 -> L5/P5
+   P18 -> L5/P6
+   P19 -> L5/P7
+   P20 -> L5/P8
+   P21 -> L5/P9
+   P22 -> L5/P10
+   P23 -> L5/P11
+   P24 -> L5/P12
+
+SUBSYSTEM LEAF leaf6
+   P1 -> spine2 P21
+   P2 -> spine2 P20
+   P3 -> spine2 P19
+   P4 -> spine1 P22
+   P5 -> spine1 P23
+   P6 -> spine1 P24
+   P7 -> spine4 P15
+   P8 -> spine4 P14
+   P9 -> spine4 P13
+   P10 -> spine3 P16
+   P11 -> spine3 P17
+   P12 -> spine3 P18
+   P13 -> L6/P1
+   P14 -> L6/P2
+   P15 -> L6/P3
+   P16 -> L6/P4
+   P17 -> L6/P5
+   P18 -> L6/P6
+   P19 -> L6/P7
+   P20 -> L6/P8
+   P21 -> L6/P9
+   P22 -> L6/P10
+   P23 -> L6/P11
+   P24 -> L6/P12
+
+SUBSYSTEM LEAF leaf7
+   P1 -> spine1 P1
+   P2 -> spine1 P2
+   P3 -> spine1 P3
+   P4 -> spine3 P13
+   P5 -> spine3 P14
+   P6 -> spine3 P15
+   P7 -> spine4 P16
+   P8 -> spine4 P17
+   P9 -> spine4 P18
+   P10 -> spine2 P9
+   P11 -> spine2 P8
+   P12 -> spine2 P7
+   P13 -> L7/P1
+   P14 -> L7/P2
+   P15 -> L7/P3
+   P16 -> L7/P4
+   P17 -> L7/P5
+   P18 -> L7/P6
+   P19 -> L7/P7
+   P20 -> L7/P8
+   P21 -> L7/P9
+   P22 -> L7/P10
+   P23 -> L7/P11
+   P24 -> L7/P12
+
+SUBSYSTEM LEAF leaf8
+   P1 -> spine3 P1
+   P2 -> spine3 P2
+   P3 -> spine3 P3
+   P4 -> spine2 P4
+   P5 -> spine2 P5
+   P6 -> spine2 P6
+   P7 -> spine4 P7
+   P8 -> spine4 P8
+   P9 -> spine4 P9
+   P10 -> spine1 P10
+   P11 -> spine1 P11
+   P12 -> spine1 P12
+   P13 -> L8/P1
+   P14 -> L8/P2
+   P15 -> L8/P3
+   P16 -> L8/P4
+   P17 -> L8/P5
+   P18 -> L8/P6
+   P19 -> L8/P7
+   P20 -> L8/P8
+   P21 -> L8/P9
+   P22 -> L8/P10
+   P23 -> L8/P11
+   P24 -> L8/P12
+
+SUBSYSTEM SPINE spine1
+   P10 -> leaf8 P10
+   P7 -> leaf1 P7
+   P16 -> leaf2 P7
+   P15 -> leaf3 P9
+   P22 -> leaf6 P4
+   P19 -> leaf4 P3
+   P6 -> leaf5 P6
+   P3 -> leaf7 P3
+   P11 -> leaf8 P11
+   P8 -> leaf1 P8
+   P17 -> leaf2 P8
+   P14 -> leaf3 P8
+   P23 -> leaf6 P5
+   P20 -> leaf4 P2
+   P5 -> leaf5 P5
+   P2 -> leaf7 P2
+   P12 -> leaf8 P12
+   P9 -> leaf1 P9
+   P18 -> leaf2 P9
+   P13 -> leaf3 P7
+   P24 -> leaf6 P6
+   P21 -> leaf4 P1
+   P4 -> leaf5 P4
+   P1 -> leaf7 P1
+
+SUBSYSTEM SPINE spine2
+   P10 -> leaf4 P10
+   P7 -> leaf7 P12
+   P16 -> leaf3 P10
+   P15 -> leaf2 P6
+   P22 -> leaf5 P9
+   P19 -> leaf6 P3
+   P6 -> leaf8 P6
+   P3 -> leaf1 P3
+   P11 -> leaf4 P11
+   P8 -> leaf7 P11
+   P17 -> leaf3 P11
+   P14 -> leaf2 P5
+   P23 -> leaf5 P8
+   P20 -> leaf6 P2
+   P5 -> leaf8 P5
+   P2 -> leaf1 P2
+   P12 -> leaf4 P12
+   P9 -> leaf7 P10
+   P18 -> leaf3 P12
+   P13 -> leaf2 P4
+   P24 -> leaf5 P7
+   P21 -> leaf6 P1
+   P4 -> leaf8 P4
+   P1 -> leaf1 P1
+
+SUBSYSTEM SPINE spine3
+   P10 -> leaf5 P10
+   P7 -> leaf2 P10
+   P16 -> leaf6 P10
+   P15 -> leaf7 P6
+   P22 -> leaf4 P7
+   P19 -> leaf3 P1
+   P6 -> leaf1 P6
+   P3 -> leaf8 P3
+   P11 -> leaf5 P11
+   P8 -> leaf2 P11
+   P17 -> leaf6 P11
+   P14 -> leaf7 P5
+   P23 -> leaf4 P8
+   P20 -> leaf3 P2
+   P5 -> leaf1 P5
+   P2 -> leaf8 P2
+   P12 -> leaf5 P12
+   P9 -> leaf2 P12
+   P18 -> leaf6 P12
+   P13 -> leaf7 P4
+   P24 -> leaf4 P9
+   P21 -> leaf3 P3
+   P4 -> leaf1 P4
+   P1 -> leaf8 P1
+
+SUBSYSTEM SPINE spine4
+   P10 -> leaf1 P10
+   P7 -> leaf8 P7
+   P16 -> leaf7 P7
+   P15 -> leaf6 P7
+   P22 -> leaf3 P4
+   P19 -> leaf5 P1
+   P6 -> leaf4 P6
+   P3 -> leaf2 P3
+   P11 -> leaf1 P11
+   P8 -> leaf8 P8
+   P17 -> leaf7 P8
+   P14 -> leaf6 P8
+   P23 -> leaf3 P5
+   P20 -> leaf5 P2
+   P5 -> leaf4 P5
+   P2 -> leaf2 P2
+   P12 -> leaf1 P12
+   P9 -> leaf8 P9
+   P18 -> leaf7 P9
+   P13 -> leaf6 P9
+   P24 -> leaf3 P6
+   P21 -> leaf5 P3
+   P4 -> leaf4 P4
+   P1 -> leaf2 P1
+
diff --git a/ibdm/ibnl/Gnu.ibnl b/ibdm/ibnl/Gnu.ibnl
new file mode 100644
index 0000000..8a13e46
--- /dev/null
+++ b/ibdm/ibnl/Gnu.ibnl
@@ -0,0 +1,93 @@
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+NODE SW 8 MT43132 U1
+   1 -> P1
+   2 -> P2
+   3 -> P3
+   4 -> P4
+   5 -> P5
+   6 -> P6
+   7 -> P7
+   8 -> P8
+
+SYSTEM MAIN
+
+NODE SW 8 MT43132 U1
+   1 -> U3 8
+   2 -> U3 7
+   3 -> P1
+   4 -> P2
+   5 -> P3
+   6 -> P4
+   7 -> U4 2
+   8 -> U4 1
+
+NODE SW 8 MT43132 U2
+   1 -> U4 8
+   2 -> U4 7
+   3 -> P5
+   4 -> P6
+   5 -> P7
+   6 -> P8
+   7 -> U3 2
+   8 -> U3 1
+
+NODE SW 8 MT43132 U3
+   1 -> U2 8
+   2 -> U2 7
+   3 -> P9
+   4 -> P10
+   5 -> P11
+   6 -> P12
+   7 -> U1 2
+   8 -> U1 1
+
+NODE SW 8 MT43132 U4
+   1 -> U1 8
+   2 -> U1 7
+   3 -> P13
+   4 -> P14
+   5 -> P15
+   6 -> P16
+   7 -> U2 2
+   8 -> U2 1
+
+TOPSYSTEM Gnu
+
+SUBSYSTEM MAIN main
+   P1 -> leaf2 P1
+   P2 -> leaf2 P2
+   P3 -> leaf1 P2
+   P4 -> leaf1 P1
+   P5 -> leaf2 P8
+   P6 -> leaf2 P7
+   P7 -> leaf1 P7
+   P8 -> leaf1 P8
+   P9 ->  M/P4
+   P10 -> M/P3
+   P11 -> M/P2
+   P12 -> M/P1
+   P13 -> M/P8
+   P14 -> M/P7
+   P15 -> M/P6
+   P16 -> M/P5
+
+SUBSYSTEM LEAF leaf1
+   P1 -> main P4
+   P2 -> main P3
+   P3 -> L1/P4
+   P4 -> L1/P3
+   P5 -> L1/P2
+   P6 -> L1/P1
+   P7 -> main P7
+   P8 -> main P8
+
+SUBSYSTEM LEAF leaf2
+   P1 -> main P1
+   P2 -> main P2
+   P3 -> L2/P4
+   P4 -> L2/P3
+   P5 -> L2/P2
+   P6 -> L2/P1
+   P7 -> main P6
+   P8 -> main P5
diff --git a/ibdm/ibnl/Lion.ibnl b/ibdm/ibnl/Lion.ibnl
new file mode 100644
index 0000000..5b1af2b
--- /dev/null
+++ b/ibdm/ibnl/Lion.ibnl
@@ -0,0 +1,6 @@
+
+TOPSYSTEM Lion,MT25208,MTLP25208,MHEL-CF128-T,MHEL-CF256-T,MHEL-CF512-T
+
+NODE CA 2 M25208 U1
+   1 -> P1
+   2 -> P2
diff --git a/ibdm/ibnl/LionMini.ibnl b/ibdm/ibnl/LionMini.ibnl
new file mode 100644
index 0000000..23eddf7
--- /dev/null
+++ b/ibdm/ibnl/LionMini.ibnl
@@ -0,0 +1,6 @@
+
+TOPSYSTEM LionMini,MHEA28-XT,MT25218
+
+NODE CA 2 M25218 U1
+   1 -> P1
+   2 -> P2
diff --git a/ibdm/ibnl/MTS14400-48.ibnl b/ibdm/ibnl/MTS14400-48.ibnl
new file mode 100644
index 0000000..65bb350
--- /dev/null
+++ b/ibdm/ibnl/MTS14400-48.ibnl
@@ -0,0 +1,443 @@
+
+SYSTEM LEAF,LEAF:12x, LEAF:12X
+
+ NODE SW 24 MT47396 U1
+  10 -12x-> J4_S9_S40_12x_P4
+  7  -12x-> J3_S9_S40_12x_P3
+  1  -12x-> J1_S9_S40_12x_P1
+  4  -12x-> J2_S9_S40_12x_P2
+  13 -12x-> J102_A3_K4
+  16 -12x-> J101_A3_K4
+  19 -12x-> J103_A7_K8
+  22 -12x-> J104_A7_K8
+
+SYSTEM SPINE, SPINE:12x, SPINE:12X
+
+ NODE SW 24 MT47396 U1
+  1 -12x-5G-> U3 7
+  4 -12x-5G-> U3 10
+  7 -12x-5G-> U5 1
+  10 -12x-5G-> U5 4
+  13 -12x-> J1_A9_K10
+  16 -12x-> J1_A21_K22
+  19 -12x-> J2_A9_K10
+  22 -12x-> J2_A21_K22
+
+ NODE SW 24 MT47396 U2
+  1 -12x-5G-> U4 7
+  4 -12x-5G-> U4 10
+  7 -12x-5G-> U6 1
+  10 -12x-5G-> U6 4
+  13 -12x-> J1_A3_K4
+  16 -12x-> J1_A15_K16
+  19 -12x-> J2_A3_K4
+  22 -12x-> J2_A15_K16
+
+ NODE SW 24 MT47396 U3
+  1 -12x-5G-> U5 7
+  4 -12x-5G-> U5 10
+  7 -12x-5G-> U1 1
+  10 -12x-5G-> U1 4
+  13 -12x-> J3_A9_K10
+  16 -12x-> J3_A21_K22
+  19 -12x-> J4_A9_K10
+  22 -12x-> J4_A21_K22
+
+ NODE SW 24 MT47396 U4
+  1 -12x-5G-> U6 7
+  4 -12x-5G-> U6 10
+  7 -12x-5G-> U2 1
+  10 -12x-5G-> U2 4
+  13 -12x-> J3_A3_K4
+  16 -12x-> J3_A15_K16
+  19 -12x-> J4_A3_K4
+  22 -12x-> J4_A15_K16
+
+ NODE SW 24 MT47396 U5
+  1 -12x-5G-> U1 7
+  4 -12x-5G-> U1 10
+  7 -12x-5G-> U3 1
+  10 -12x-5G-> U3 4
+  13 -12x-> J5_A9_K10
+  16 -12x-> J5_A21_K22
+  19 -12x-> J6_A9_K10
+  22 -12x-> J6_A21_K22
+
+ NODE SW 24 MT47396 U6
+  1 -12x-5G-> U2 7
+  4 -12x-5G-> U2 10
+  7 -12x-5G-> U4 1
+  10 -12x-5G-> U4 4
+  13 -12x-> J5_A3_K4
+  16 -12x-> J5_A15_K16
+  19 -12x-> J6_A3_K4
+  22 -12x-> J6_A15_K16
+
+TOPSYSTEM MTS14400-48,Rhino12X,Rhino-12x
+
+spine1/U1=isChaBma
+
+ SUBSYSTEM LEAF leaf1
+  J101_A1_K2 -12x-> spine2 J6_A5_K6
+  J101_A3_K4 -12x-> spine2 J6_A3_K4
+  J101_A5_K6 -12x-> spine2 J6_A1_K2
+  J102_A1_K2 -12x-> spine2 J6_A11_K12
+  J102_A3_K4 -12x-> spine2 J6_A9_K10
+  J102_A5_K6 -12x-> spine2 J6_A7_K8
+  J103_A5_K6 -12x-> spine1 J1_A17_K18
+  J103_A7_K8 -12x-> spine1 J1_A15_K16
+  J103_A9_K10 -12x-> spine1 J1_A13_K14
+  J104_A5_K6 -12x-> spine1 J1_A23_K24
+  J104_A7_K8 -12x-> spine1 J1_A21_K22
+  J104_A9_K10 -12x-> spine1 J1_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L1/P1
+  J2_S9_S40_12x_P2 -12x-> L1/P2
+  J3_S9_S40_12x_P3 -12x-> L1/P3
+  J4_S9_S40_12x_P4 -12x-> L1/P4
+
+ SUBSYSTEM LEAF leaf2
+  J101_A1_K2 -12x-> spine2 J6_A17_K18
+  J101_A3_K4 -12x-> spine2 J6_A15_K16
+  J101_A5_K6 -12x-> spine2 J6_A13_K14
+  J102_A1_K2 -12x-> spine2 J6_A23_K24
+  J102_A3_K4 -12x-> spine2 J6_A21_K22
+  J102_A5_K6 -12x-> spine2 J6_A19_K20
+  J103_A5_K6 -12x-> spine1 J1_A5_K6
+  J103_A7_K8 -12x-> spine1 J1_A3_K4
+  J103_A9_K10 -12x-> spine1 J1_A1_K2
+  J104_A5_K6 -12x-> spine1 J1_A11_K12
+  J104_A7_K8 -12x-> spine1 J1_A9_K10
+  J104_A9_K10 -12x-> spine1 J1_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L2/P1
+  J2_S9_S40_12x_P2 -12x-> L2/P2
+  J3_S9_S40_12x_P3 -12x-> L2/P3
+  J4_S9_S40_12x_P4 -12x-> L2/P4
+
+ SUBSYSTEM LEAF leaf3
+  J101_A1_K2 -12x-> spine2 J5_A5_K6
+  J101_A3_K4 -12x-> spine2 J5_A3_K4
+  J101_A5_K6 -12x-> spine2 J5_A1_K2
+  J102_A1_K2 -12x-> spine2 J5_A11_K12
+  J102_A3_K4 -12x-> spine2 J5_A9_K10
+  J102_A5_K6 -12x-> spine2 J5_A7_K8
+  J103_A5_K6 -12x-> spine1 J2_A17_K18
+  J103_A7_K8 -12x-> spine1 J2_A15_K16
+  J103_A9_K10 -12x-> spine1 J2_A13_K14
+  J104_A5_K6 -12x-> spine1 J2_A23_K24
+  J104_A7_K8 -12x-> spine1 J2_A21_K22
+  J104_A9_K10 -12x-> spine1 J2_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L3/P1
+  J2_S9_S40_12x_P2 -12x-> L3/P2
+  J3_S9_S40_12x_P3 -12x-> L3/P3
+  J4_S9_S40_12x_P4 -12x-> L3/P4
+
+ SUBSYSTEM LEAF leaf4
+  J101_A1_K2 -12x-> spine2 J5_A17_K18
+  J101_A3_K4 -12x-> spine2 J5_A15_K16
+  J101_A5_K6 -12x-> spine2 J5_A13_K14
+  J102_A1_K2 -12x-> spine2 J5_A23_K24
+  J102_A3_K4 -12x-> spine2 J5_A21_K22
+  J102_A5_K6 -12x-> spine2 J5_A19_K20
+  J103_A5_K6 -12x-> spine1 J2_A5_K6
+  J103_A7_K8 -12x-> spine1 J2_A3_K4
+  J103_A9_K10 -12x-> spine1 J2_A1_K2
+  J104_A5_K6 -12x-> spine1 J2_A11_K12
+  J104_A7_K8 -12x-> spine1 J2_A9_K10
+  J104_A9_K10 -12x-> spine1 J2_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L4/P1
+  J2_S9_S40_12x_P2 -12x-> L4/P2
+  J3_S9_S40_12x_P3 -12x-> L4/P3
+  J4_S9_S40_12x_P4 -12x-> L4/P4
+
+ SUBSYSTEM LEAF leaf5
+  J101_A1_K2 -12x-> spine2 J4_A5_K6
+  J101_A3_K4 -12x-> spine2 J4_A3_K4
+  J101_A5_K6 -12x-> spine2 J4_A1_K2
+  J102_A1_K2 -12x-> spine2 J4_A11_K12
+  J102_A3_K4 -12x-> spine2 J4_A9_K10
+  J102_A5_K6 -12x-> spine2 J4_A7_K8
+  J103_A5_K6 -12x-> spine1 J3_A17_K18
+  J103_A7_K8 -12x-> spine1 J3_A15_K16
+  J103_A9_K10 -12x-> spine1 J3_A13_K14
+  J104_A5_K6 -12x-> spine1 J3_A23_K24
+  J104_A7_K8 -12x-> spine1 J3_A21_K22
+  J104_A9_K10 -12x-> spine1 J3_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L5/P1
+  J2_S9_S40_12x_P2 -12x-> L5/P2
+  J3_S9_S40_12x_P3 -12x-> L5/P3
+  J4_S9_S40_12x_P4 -12x-> L5/P4
+
+ SUBSYSTEM LEAF leaf6
+  J101_A1_K2 -12x-> spine2 J4_A17_K18
+  J101_A3_K4 -12x-> spine2 J4_A15_K16
+  J101_A5_K6 -12x-> spine2 J4_A13_K14
+  J102_A1_K2 -12x-> spine2 J4_A23_K24
+  J102_A3_K4 -12x-> spine2 J4_A21_K22
+  J102_A5_K6 -12x-> spine2 J4_A19_K20
+  J103_A5_K6 -12x-> spine1 J3_A5_K6
+  J103_A7_K8 -12x-> spine1 J3_A3_K4
+  J103_A9_K10 -12x-> spine1 J3_A1_K2
+  J104_A5_K6 -12x-> spine1 J3_A11_K12
+  J104_A7_K8 -12x-> spine1 J3_A9_K10
+  J104_A9_K10 -12x-> spine1 J3_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L6/P1
+  J2_S9_S40_12x_P2 -12x-> L6/P2
+  J3_S9_S40_12x_P3 -12x-> L6/P3
+  J4_S9_S40_12x_P4 -12x-> L6/P4
+
+ SUBSYSTEM LEAF leaf7
+  J101_A1_K2 -12x-> spine2 J3_A5_K6
+  J101_A3_K4 -12x-> spine2 J3_A3_K4
+  J101_A5_K6 -12x-> spine2 J3_A1_K2
+  J102_A1_K2 -12x-> spine2 J3_A11_K12
+  J102_A3_K4 -12x-> spine2 J3_A9_K10
+  J102_A5_K6 -12x-> spine2 J3_A7_K8
+  J103_A5_K6 -12x-> spine1 J4_A17_K18
+  J103_A7_K8 -12x-> spine1 J4_A15_K16
+  J103_A9_K10 -12x-> spine1 J4_A13_K14
+  J104_A5_K6 -12x-> spine1 J4_A23_K24
+  J104_A7_K8 -12x-> spine1 J4_A21_K22
+  J104_A9_K10 -12x-> spine1 J4_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L7/P1
+  J2_S9_S40_12x_P2 -12x-> L7/P2
+  J3_S9_S40_12x_P3 -12x-> L7/P3
+  J4_S9_S40_12x_P4 -12x-> L7/P4
+
+ SUBSYSTEM LEAF leaf8
+  J101_A1_K2 -12x-> spine2 J3_A17_K18
+  J101_A3_K4 -12x-> spine2 J3_A15_K16
+  J101_A5_K6 -12x-> spine2 J3_A13_K14
+  J102_A1_K2 -12x-> spine2 J3_A23_K24
+  J102_A3_K4 -12x-> spine2 J3_A21_K22
+  J102_A5_K6 -12x-> spine2 J3_A19_K20
+  J103_A5_K6 -12x-> spine1 J4_A5_K6
+  J103_A7_K8 -12x-> spine1 J4_A3_K4
+  J103_A9_K10 -12x-> spine1 J4_A1_K2
+  J104_A5_K6 -12x-> spine1 J4_A11_K12
+  J104_A7_K8 -12x-> spine1 J4_A9_K10
+  J104_A9_K10 -12x-> spine1 J4_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L8/P1
+  J2_S9_S40_12x_P2 -12x-> L8/P2
+  J3_S9_S40_12x_P3 -12x-> L8/P3
+  J4_S9_S40_12x_P4 -12x-> L8/P4
+
+ SUBSYSTEM LEAF leaf9
+  J101_A1_K2 -12x-> spine2 J2_A5_K6
+  J101_A3_K4 -12x-> spine2 J2_A3_K4
+  J101_A5_K6 -12x-> spine2 J2_A1_K2
+  J102_A1_K2 -12x-> spine2 J2_A11_K12
+  J102_A3_K4 -12x-> spine2 J2_A9_K10
+  J102_A5_K6 -12x-> spine2 J2_A7_K8
+  J103_A5_K6 -12x-> spine1 J5_A17_K18
+  J103_A7_K8 -12x-> spine1 J5_A15_K16
+  J103_A9_K10 -12x-> spine1 J5_A13_K14
+  J104_A5_K6 -12x-> spine1 J5_A23_K24
+  J104_A7_K8 -12x-> spine1 J5_A21_K22
+  J104_A9_K10 -12x-> spine1 J5_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L9/P1
+  J2_S9_S40_12x_P2 -12x-> L9/P2
+  J3_S9_S40_12x_P3 -12x-> L9/P3
+  J4_S9_S40_12x_P4 -12x-> L9/P4
+
+ SUBSYSTEM LEAF leaf10
+  J101_A1_K2 -12x-> spine2 J2_A17_K18
+  J101_A3_K4 -12x-> spine2 J2_A15_K16
+  J101_A5_K6 -12x-> spine2 J2_A13_K14
+  J102_A1_K2 -12x-> spine2 J2_A23_K24
+  J102_A3_K4 -12x-> spine2 J2_A21_K22
+  J102_A5_K6 -12x-> spine2 J2_A19_K20
+  J103_A5_K6 -12x-> spine1 J5_A5_K6
+  J103_A7_K8 -12x-> spine1 J5_A3_K4
+  J103_A9_K10 -12x-> spine1 J5_A1_K2
+  J104_A5_K6 -12x-> spine1 J5_A11_K12
+  J104_A7_K8 -12x-> spine1 J5_A9_K10
+  J104_A9_K10 -12x-> spine1 J5_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L10/P1
+  J2_S9_S40_12x_P2 -12x-> L10/P2
+  J3_S9_S40_12x_P3 -12x-> L10/P3
+  J4_S9_S40_12x_P4 -12x-> L10/P4
+
+ SUBSYSTEM LEAF leaf11
+  J101_A1_K2 -12x-> spine2 J1_A5_K6
+  J101_A3_K4 -12x-> spine2 J1_A3_K4
+  J101_A5_K6 -12x-> spine2 J1_A1_K2
+  J102_A1_K2 -12x-> spine2 J1_A11_K12
+  J102_A3_K4 -12x-> spine2 J1_A9_K10
+  J102_A5_K6 -12x-> spine2 J1_A7_K8
+  J103_A5_K6 -12x-> spine1 J6_A17_K18
+  J103_A7_K8 -12x-> spine1 J6_A15_K16
+  J103_A9_K10 -12x-> spine1 J6_A13_K14
+  J104_A5_K6 -12x-> spine1 J6_A23_K24
+  J104_A7_K8 -12x-> spine1 J6_A21_K22
+  J104_A9_K10 -12x-> spine1 J6_A19_K20
+  J1_S9_S40_12x_P1 -12x-> L11/P1
+  J2_S9_S40_12x_P2 -12x-> L11/P2
+  J3_S9_S40_12x_P3 -12x-> L11/P3
+  J4_S9_S40_12x_P4 -12x-> L11/P4
+
+ SUBSYSTEM LEAF leaf12
+  J101_A1_K2 -12x-> spine2 J1_A17_K18
+  J101_A3_K4 -12x-> spine2 J1_A15_K16
+  J101_A5_K6 -12x-> spine2 J1_A13_K14
+  J102_A1_K2 -12x-> spine2 J1_A23_K24
+  J102_A3_K4 -12x-> spine2 J1_A21_K22
+  J102_A5_K6 -12x-> spine2 J1_A19_K20
+  J103_A5_K6 -12x-> spine1 J6_A5_K6
+  J103_A7_K8 -12x-> spine1 J6_A3_K4
+  J103_A9_K10 -12x-> spine1 J6_A1_K2
+  J104_A5_K6 -12x-> spine1 J6_A11_K12
+  J104_A7_K8 -12x-> spine1 J6_A9_K10
+  J104_A9_K10 -12x-> spine1 J6_A7_K8
+  J1_S9_S40_12x_P1 -12x-> L12/P1
+  J2_S9_S40_12x_P2 -12x-> L12/P2
+  J3_S9_S40_12x_P3 -12x-> L12/P3
+  J4_S9_S40_12x_P4 -12x-> L12/P4
+
+ SUBSYSTEM SPINE spine2
+  J1_A11_K12 -12x-> leaf11 J102_A1_K2
+  J1_A13_K14 -12x-> leaf12 J101_A5_K6
+  J1_A15_K16 -12x-> leaf12 J101_A3_K4
+  J1_A17_K18 -12x-> leaf12 J101_A1_K2
+  J1_A19_K20 -12x-> leaf12 J102_A5_K6
+  J1_A1_K2 -12x-> leaf11 J101_A5_K6
+  J1_A21_K22 -12x-> leaf12 J102_A3_K4
+  J1_A23_K24 -12x-> leaf12 J102_A1_K2
+  J1_A3_K4 -12x-> leaf11 J101_A3_K4
+  J1_A5_K6 -12x-> leaf11 J101_A1_K2
+  J1_A7_K8 -12x-> leaf11 J102_A5_K6
+  J1_A9_K10 -12x-> leaf11 J102_A3_K4
+  J2_A11_K12 -12x-> leaf9 J102_A1_K2
+  J2_A13_K14 -12x-> leaf10 J101_A5_K6
+  J2_A15_K16 -12x-> leaf10 J101_A3_K4
+  J2_A17_K18 -12x-> leaf10 J101_A1_K2
+  J2_A19_K20 -12x-> leaf10 J102_A5_K6
+  J2_A1_K2 -12x-> leaf9 J101_A5_K6
+  J2_A21_K22 -12x-> leaf10 J102_A3_K4
+  J2_A23_K24 -12x-> leaf10 J102_A1_K2
+  J2_A3_K4 -12x-> leaf9 J101_A3_K4
+  J2_A5_K6 -12x-> leaf9 J101_A1_K2
+  J2_A7_K8 -12x-> leaf9 J102_A5_K6
+  J2_A9_K10 -12x-> leaf9 J102_A3_K4
+  J3_A11_K12 -12x-> leaf7 J102_A1_K2
+  J3_A13_K14 -12x-> leaf8 J101_A5_K6
+  J3_A15_K16 -12x-> leaf8 J101_A3_K4
+  J3_A17_K18 -12x-> leaf8 J101_A1_K2
+  J3_A19_K20 -12x-> leaf8 J102_A5_K6
+  J3_A1_K2 -12x-> leaf7 J101_A5_K6
+  J3_A21_K22 -12x-> leaf8 J102_A3_K4
+  J3_A23_K24 -12x-> leaf8 J102_A1_K2
+  J3_A3_K4 -12x-> leaf7 J101_A3_K4
+  J3_A5_K6 -12x-> leaf7 J101_A1_K2
+  J3_A7_K8 -12x-> leaf7 J102_A5_K6
+  J3_A9_K10 -12x-> leaf7 J102_A3_K4
+  J4_A11_K12 -12x-> leaf5 J102_A1_K2
+  J4_A13_K14 -12x-> leaf6 J101_A5_K6
+  J4_A15_K16 -12x-> leaf6 J101_A3_K4
+  J4_A17_K18 -12x-> leaf6 J101_A1_K2
+  J4_A19_K20 -12x-> leaf6 J102_A5_K6
+  J4_A1_K2 -12x-> leaf5 J101_A5_K6
+  J4_A21_K22 -12x-> leaf6 J102_A3_K4
+  J4_A23_K24 -12x-> leaf6 J102_A1_K2
+  J4_A3_K4 -12x-> leaf5 J101_A3_K4
+  J4_A5_K6 -12x-> leaf5 J101_A1_K2
+  J4_A7_K8 -12x-> leaf5 J102_A5_K6
+  J4_A9_K10 -12x-> leaf5 J102_A3_K4
+  J5_A11_K12 -12x-> leaf3 J102_A1_K2
+  J5_A13_K14 -12x-> leaf4 J101_A5_K6
+  J5_A15_K16 -12x-> leaf4 J101_A3_K4
+  J5_A17_K18 -12x-> leaf4 J101_A1_K2
+  J5_A19_K20 -12x-> leaf4 J102_A5_K6
+  J5_A1_K2 -12x-> leaf3 J101_A5_K6
+  J5_A21_K22 -12x-> leaf4 J102_A3_K4
+  J5_A23_K24 -12x-> leaf4 J102_A1_K2
+  J5_A3_K4 -12x-> leaf3 J101_A3_K4
+  J5_A5_K6 -12x-> leaf3 J101_A1_K2
+  J5_A7_K8 -12x-> leaf3 J102_A5_K6
+  J5_A9_K10 -12x-> leaf3 J102_A3_K4
+  J6_A11_K12 -12x-> leaf1 J102_A1_K2
+  J6_A13_K14 -12x-> leaf2 J101_A5_K6
+  J6_A15_K16 -12x-> leaf2 J101_A3_K4
+  J6_A17_K18 -12x-> leaf2 J101_A1_K2
+  J6_A19_K20 -12x-> leaf2 J102_A5_K6
+  J6_A1_K2 -12x-> leaf1 J101_A5_K6
+  J6_A21_K22 -12x-> leaf2 J102_A3_K4
+  J6_A23_K24 -12x-> leaf2 J102_A1_K2
+  J6_A3_K4 -12x-> leaf1 J101_A3_K4
+  J6_A5_K6 -12x-> leaf1 J101_A1_K2
+  J6_A7_K8 -12x-> leaf1 J102_A5_K6
+  J6_A9_K10 -12x-> leaf1 J102_A3_K4
+
+ SUBSYSTEM SPINE spine1
+  J1_A11_K12 -12x-> leaf2 J104_A5_K6
+  J1_A13_K14 -12x-> leaf1 J103_A9_K10
+  J1_A15_K16 -12x-> leaf1 J103_A7_K8
+  J1_A17_K18 -12x-> leaf1 J103_A5_K6
+  J1_A19_K20 -12x-> leaf1 J104_A9_K10
+  J1_A1_K2 -12x-> leaf2 J103_A9_K10
+  J1_A21_K22 -12x-> leaf1 J104_A7_K8
+  J1_A23_K24 -12x-> leaf1 J104_A5_K6
+  J1_A3_K4 -12x-> leaf2 J103_A7_K8
+  J1_A5_K6 -12x-> leaf2 J103_A5_K6
+  J1_A7_K8 -12x-> leaf2 J104_A9_K10
+  J1_A9_K10 -12x-> leaf2 J104_A7_K8
+  J2_A11_K12 -12x-> leaf4 J104_A5_K6
+  J2_A13_K14 -12x-> leaf3 J103_A9_K10
+  J2_A15_K16 -12x-> leaf3 J103_A7_K8
+  J2_A17_K18 -12x-> leaf3 J103_A5_K6
+  J2_A19_K20 -12x-> leaf3 J104_A9_K10
+  J2_A1_K2 -12x-> leaf4 J103_A9_K10
+  J2_A21_K22 -12x-> leaf3 J104_A7_K8
+  J2_A23_K24 -12x-> leaf3 J104_A5_K6
+  J2_A3_K4 -12x-> leaf4 J103_A7_K8
+  J2_A5_K6 -12x-> leaf4 J103_A5_K6
+  J2_A7_K8 -12x-> leaf4 J104_A9_K10
+  J2_A9_K10 -12x-> leaf4 J104_A7_K8
+  J3_A11_K12 -12x-> leaf6 J104_A5_K6
+  J3_A13_K14 -12x-> leaf5 J103_A9_K10
+  J3_A15_K16 -12x-> leaf5 J103_A7_K8
+  J3_A17_K18 -12x-> leaf5 J103_A5_K6
+  J3_A19_K20 -12x-> leaf5 J104_A9_K10
+  J3_A1_K2 -12x-> leaf6 J103_A9_K10
+  J3_A21_K22 -12x-> leaf5 J104_A7_K8
+  J3_A23_K24 -12x-> leaf5 J104_A5_K6
+  J3_A3_K4 -12x-> leaf6 J103_A7_K8
+  J3_A5_K6 -12x-> leaf6 J103_A5_K6
+  J3_A7_K8 -12x-> leaf6 J104_A9_K10
+  J3_A9_K10 -12x-> leaf6 J104_A7_K8
+  J4_A11_K12 -12x-> leaf8 J104_A5_K6
+  J4_A13_K14 -12x-> leaf7 J103_A9_K10
+  J4_A15_K16 -12x-> leaf7 J103_A7_K8
+  J4_A17_K18 -12x-> leaf7 J103_A5_K6
+  J4_A19_K20 -12x-> leaf7 J104_A9_K10
+  J4_A1_K2 -12x-> leaf8 J103_A9_K10
+  J4_A21_K22 -12x-> leaf7 J104_A7_K8
+  J4_A23_K24 -12x-> leaf7 J104_A5_K6
+  J4_A3_K4 -12x-> leaf8 J103_A7_K8
+  J4_A5_K6 -12x-> leaf8 J103_A5_K6
+  J4_A7_K8 -12x-> leaf8 J104_A9_K10
+  J4_A9_K10 -12x-> leaf8 J104_A7_K8
+  J5_A11_K12 -12x-> leaf10 J104_A5_K6
+  J5_A13_K14 -12x-> leaf9 J103_A9_K10
+  J5_A15_K16 -12x-> leaf9 J103_A7_K8
+  J5_A17_K18 -12x-> leaf9 J103_A5_K6
+  J5_A19_K20 -12x-> leaf9 J104_A9_K10
+  J5_A1_K2 -12x-> leaf10 J103_A9_K10
+  J5_A21_K22 -12x-> leaf9 J104_A7_K8
+  J5_A23_K24 -12x-> leaf9 J104_A5_K6
+  J5_A3_K4 -12x-> leaf10 J103_A7_K8
+  J5_A5_K6 -12x-> leaf10 J103_A5_K6
+  J5_A7_K8 -12x-> leaf10 J104_A9_K10
+  J5_A9_K10 -12x-> leaf10 J104_A7_K8
+  J6_A11_K12 -12x-> leaf12 J104_A5_K6
+  J6_A13_K14 -12x-> leaf11 J103_A9_K10
+  J6_A15_K16 -12x-> leaf11 J103_A7_K8
+  J6_A17_K18 -12x-> leaf11 J103_A5_K6
+  J6_A19_K20 -12x-> leaf11 J104_A9_K10
+  J6_A1_K2 -12x-> leaf12 J103_A9_K10
+  J6_A21_K22 -12x-> leaf11 J104_A7_K8
+  J6_A23_K24 -12x-> leaf11 J104_A5_K6
+  J6_A3_K4 -12x-> leaf12 J103_A7_K8
+  J6_A5_K6 -12x-> leaf12 J103_A5_K6
+  J6_A7_K8 -12x-> leaf12 J104_A9_K10
+  J6_A9_K10 -12x-> leaf12 J104_A7_K8
+
diff --git a/ibdm/ibnl/MTS14400-DDR.ibnl b/ibdm/ibnl/MTS14400-DDR.ibnl
new file mode 100644
index 0000000..bd36c83
--- /dev/null
+++ b/ibdm/ibnl/MTS14400-DDR.ibnl
@@ -0,0 +1,570 @@
+SYSTEM LEAF, LEAF:4x, LEAF:4X
+
+ NODE SW 24 MT47396 U1
+ 12 -5G-> J12_S1_S16_4x_P12
+ 11 -5G-> J11_S1_S16_4x_P11
+ 10 -5G-> J10_S1_S16_4x_P10
+ 13 -5G-> J103_A10_K10__J104_A10_K10
+ 14 -5G-> J103_A9_K9__J104_A9_K9
+ 15 -5G-> J103_A7_K7__J104_A7_K7
+ 7 -5G-> J7_S1_S16_4x_P7
+ 8 -5G-> J8_S1_S16_4x_P8
+ 9 -5G-> J9_S1_S16_4x_P9
+ 16 -5G-> J103_A1_K1__J104_A1_K1
+ 17 -5G-> J103_A3_K3__J104_A3_K3
+ 18 -5G-> J103_A5_K5__J104_A5_K5
+ 19 -5G-> J102_A10_K10__J101_A10_K10
+ 20 -5G-> J102_A8_K8__J101_A8_K8
+ 21 -5G-> J102_A6_K6__J101_A6_K6
+ 6 -5G-> J6_S1_S16_4x_P6
+ 5 -5G-> J5_S1_S16_4x_P5
+ 4 -5G-> J4_S1_S16_4x_P4
+ 22 -5G-> J102_A1_K1__J101_A1_K1
+ 23 -5G-> J102_A2_K2__J101_A2_K2
+ 24 -5G-> J102_A4_K4__J101_A4_K4
+ 1 -5G-> J1_S1_S16_4x_P1
+ 2 -5G-> J2_S1_S16_4x_P2
+ 3 -5G-> J3_S1_S16_4x_P3
+
+SYSTEM SPINE, SPINE:4x, SPINE:4X
+
+ NODE SW 24 MT47396 U1
+  22 -5G-> J2_A9_K10
+  23 -5G-> J2_A5_K6
+  24 -5G-> J2_A1_K2
+  1 -5G-> J2_A11_K12
+  2 -5G-> J2_A7_K8
+  3 -5G-> J2_A3_K4
+  4 -5G-> J1_A14_K15
+  5 -5G-> J1_A18_K19
+  6 -5G-> J1_A22_K23
+  7  -5G-> J1_A16_K17
+  8  -5G-> J1_A20_K21
+  9  -5G-> J1_A24_K25
+  10 -5G-> J1_A12_K13
+  11 -5G-> J1_A8_K9
+  12 -5G-> J1_A4_K5
+  13 -5G-> J1_A10_K11
+  14 -5G-> J1_A6_K7
+  15 -5G-> J1_A2_K3
+  16 -5G-> J2_A15_K16
+  17 -5G-> J2_A19_K20
+  18 -5G-> J2_A23_K24
+  19 -5G-> J2_A13_K14
+  20 -5G-> J2_A17_K18
+  21 -5G-> J2_A21_K22
+
+ NODE SW 24 MT47396 U2
+  22 -5G-> J4_A9_K10
+  23 -5G-> J4_A5_K6
+  24 -5G-> J4_A1_K2
+  1  -5G-> J4_A11_K12
+  2  -5G-> J4_A7_K8
+  3  -5G-> J4_A3_K4
+  4  -5G-> J3_A14_K15
+  5  -5G-> J3_A18_K19
+  6  -5G-> J3_A22_K23
+  7  -5G-> J3_A16_K17
+  8  -5G-> J3_A20_K21
+  9  -5G-> J3_A24_K25
+  10 -5G-> J3_A12_K13
+  11 -5G-> J3_A8_K9
+  12 -5G-> J3_A4_K5
+  13 -5G-> J3_A10_K11
+  14 -5G-> J3_A6_K7
+  15 -5G-> J3_A2_K3
+  16 -5G-> J4_A15_K16
+  17 -5G-> J4_A19_K20
+  18 -5G-> J4_A23_K24
+  19 -5G-> J4_A13_K14
+  20 -5G-> J4_A17_K18
+  21 -5G-> J4_A21_K22
+
+ NODE SW 24 MT47396 U3
+  22 -5G-> J6_A9_K10
+  23 -5G-> J6_A5_K6
+  24 -5G-> J6_A1_K2
+  1  -5G-> J6_A11_K12
+  2  -5G-> J6_A7_K8
+  3  -5G-> J6_A3_K4
+  4  -5G-> J5_A14_K15
+  5  -5G-> J5_A18_K19
+  6  -5G-> J5_A22_K23
+  7  -5G-> J5_A16_K17
+  8  -5G-> J5_A20_K21
+  9  -5G-> J5_A24_K25
+  10 -5G-> J5_A12_K13
+  11 -5G-> J5_A8_K9
+  12 -5G-> J5_A4_K5
+  13 -5G-> J5_A10_K11
+  14 -5G-> J5_A6_K7
+  15 -5G-> J5_A2_K3
+  16 -5G-> J6_A15_K16
+  17 -5G-> J6_A19_K20
+  18 -5G-> J6_A23_K24
+  19 -5G-> J6_A13_K14
+  20 -5G-> J6_A17_K18
+  21 -5G-> J6_A21_K22
+
+TOPSYSTEM MTS14400-DDR,RhinoDDR
+
+ SUBSYSTEM LEAF leaf1
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A3_K4
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A3_K4
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A1_K2
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A1_K2
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A3_K4
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A1_K2
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A22_K23
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A22_K23
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A24_K25
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A22_K23
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A24_K25
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A24_K25
+  J10_S1_S16_4x_P10 -5G-> L1/P10
+  J11_S1_S16_4x_P11 -5G-> L1/P11
+  J12_S1_S16_4x_P12 -5G-> L1/P12
+  J1_S1_S16_4x_P1 -5G-> L1/P1
+  J2_S1_S16_4x_P2 -5G-> L1/P2
+  J3_S1_S16_4x_P3 -5G-> L1/P3
+  J4_S1_S16_4x_P4 -5G-> L1/P4
+  J5_S1_S16_4x_P5 -5G-> L1/P5
+  J6_S1_S16_4x_P6 -5G-> L1/P6
+  J7_S1_S16_4x_P7 -5G-> L1/P7
+  J8_S1_S16_4x_P8 -5G-> L1/P8
+  J9_S1_S16_4x_P9 -5G-> L1/P9
+
+ SUBSYSTEM LEAF leaf2
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A7_K8
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A7_K8
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A5_K6
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A5_K6
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A7_K8
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A5_K6
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A18_K19
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A18_K19
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A20_K21
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A18_K19
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A20_K21
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A20_K21
+  J10_S1_S16_4x_P10 -5G-> L2/P10
+  J11_S1_S16_4x_P11 -5G-> L2/P11
+  J12_S1_S16_4x_P12 -5G-> L2/P12
+  J1_S1_S16_4x_P1 -5G-> L2/P1
+  J2_S1_S16_4x_P2 -5G-> L2/P2
+  J3_S1_S16_4x_P3 -5G-> L2/P3
+  J4_S1_S16_4x_P4 -5G-> L2/P4
+  J5_S1_S16_4x_P5 -5G-> L2/P5
+  J6_S1_S16_4x_P6 -5G-> L2/P6
+  J7_S1_S16_4x_P7 -5G-> L2/P7
+  J8_S1_S16_4x_P8 -5G-> L2/P8
+  J9_S1_S16_4x_P9 -5G-> L2/P9
+
+ SUBSYSTEM LEAF leaf3
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A11_K12
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A11_K12
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A9_K10
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A9_K10
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A11_K12
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A9_K10
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A14_K15
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A14_K15
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A16_K17
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A14_K15
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A16_K17
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A16_K17
+  J10_S1_S16_4x_P10 -5G-> L3/P10
+  J11_S1_S16_4x_P11 -5G-> L3/P11
+  J12_S1_S16_4x_P12 -5G-> L3/P12
+  J1_S1_S16_4x_P1 -5G-> L3/P1
+  J2_S1_S16_4x_P2 -5G-> L3/P2
+  J3_S1_S16_4x_P3 -5G-> L3/P3
+  J4_S1_S16_4x_P4 -5G-> L3/P4
+  J5_S1_S16_4x_P5 -5G-> L3/P5
+  J6_S1_S16_4x_P6 -5G-> L3/P6
+  J7_S1_S16_4x_P7 -5G-> L3/P7
+  J8_S1_S16_4x_P8 -5G-> L3/P8
+  J9_S1_S16_4x_P9 -5G-> L3/P9
+
+ SUBSYSTEM LEAF leaf4
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A15_K16
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A15_K16
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A13_K14
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A13_K14
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A15_K16
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A13_K14
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A10_K11
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A10_K11
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A12_K13
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A10_K11
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A12_K13
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A12_K13
+  J10_S1_S16_4x_P10 -5G-> L4/P10
+  J11_S1_S16_4x_P11 -5G-> L4/P11
+  J12_S1_S16_4x_P12 -5G-> L4/P12
+  J1_S1_S16_4x_P1 -5G-> L4/P1
+  J2_S1_S16_4x_P2 -5G-> L4/P2
+  J3_S1_S16_4x_P3 -5G-> L4/P3
+  J4_S1_S16_4x_P4 -5G-> L4/P4
+  J5_S1_S16_4x_P5 -5G-> L4/P5
+  J6_S1_S16_4x_P6 -5G-> L4/P6
+  J7_S1_S16_4x_P7 -5G-> L4/P7
+  J8_S1_S16_4x_P8 -5G-> L4/P8
+  J9_S1_S16_4x_P9 -5G-> L4/P9
+
+ SUBSYSTEM LEAF leaf5
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A19_K20
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A19_K20
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A17_K18
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A17_K18
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A19_K20
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A17_K18
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A6_K7
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A6_K7
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A8_K9
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A6_K7
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A8_K9
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A8_K9
+  J10_S1_S16_4x_P10 -5G-> L5/P10
+  J11_S1_S16_4x_P11 -5G-> L5/P11
+  J12_S1_S16_4x_P12 -5G-> L5/P12
+  J1_S1_S16_4x_P1 -5G-> L5/P1
+  J2_S1_S16_4x_P2 -5G-> L5/P2
+  J3_S1_S16_4x_P3 -5G-> L5/P3
+  J4_S1_S16_4x_P4 -5G-> L5/P4
+  J5_S1_S16_4x_P5 -5G-> L5/P5
+  J6_S1_S16_4x_P6 -5G-> L5/P6
+  J7_S1_S16_4x_P7 -5G-> L5/P7
+  J8_S1_S16_4x_P8 -5G-> L5/P8
+  J9_S1_S16_4x_P9 -5G-> L5/P9
+
+ SUBSYSTEM LEAF leaf6
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J6_A23_K24
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J2_A23_K24
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J2_A21_K22
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J4_A21_K22
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J4_A23_K24
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J6_A21_K22
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J5_A2_K3
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J1_A2_K3
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J1_A4_K5
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J3_A2_K3
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J3_A4_K5
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J5_A4_K5
+  J10_S1_S16_4x_P10 -5G-> L6/P10
+  J11_S1_S16_4x_P11 -5G-> L6/P11
+  J12_S1_S16_4x_P12 -5G-> L6/P12
+  J1_S1_S16_4x_P1 -5G-> L6/P1
+  J2_S1_S16_4x_P2 -5G-> L6/P2
+  J3_S1_S16_4x_P3 -5G-> L6/P3
+  J4_S1_S16_4x_P4 -5G-> L6/P4
+  J5_S1_S16_4x_P5 -5G-> L6/P5
+  J6_S1_S16_4x_P6 -5G-> L6/P6
+  J7_S1_S16_4x_P7 -5G-> L6/P7
+  J8_S1_S16_4x_P8 -5G-> L6/P8
+  J9_S1_S16_4x_P9 -5G-> L6/P9
+
+ SUBSYSTEM LEAF leaf7
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A2_K3
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A2_K3
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A4_K5
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A4_K5
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A2_K3
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A4_K5
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A23_K24
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A23_K24
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A21_K22
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A23_K24
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A21_K22
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A21_K22
+  J10_S1_S16_4x_P10 -5G-> L7/P10
+  J11_S1_S16_4x_P11 -5G-> L7/P11
+  J12_S1_S16_4x_P12 -5G-> L7/P12
+  J1_S1_S16_4x_P1 -5G-> L7/P1
+  J2_S1_S16_4x_P2 -5G-> L7/P2
+  J3_S1_S16_4x_P3 -5G-> L7/P3
+  J4_S1_S16_4x_P4 -5G-> L7/P4
+  J5_S1_S16_4x_P5 -5G-> L7/P5
+  J6_S1_S16_4x_P6 -5G-> L7/P6
+  J7_S1_S16_4x_P7 -5G-> L7/P7
+  J8_S1_S16_4x_P8 -5G-> L7/P8
+  J9_S1_S16_4x_P9 -5G-> L7/P9
+
+ SUBSYSTEM LEAF leaf8
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A6_K7
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A6_K7
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A8_K9
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A8_K9
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A6_K7
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A8_K9
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A19_K20
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A19_K20
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A17_K18
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A19_K20
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A17_K18
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A17_K18
+  J10_S1_S16_4x_P10 -5G-> L8/P10
+  J11_S1_S16_4x_P11 -5G-> L8/P11
+  J12_S1_S16_4x_P12 -5G-> L8/P12
+  J1_S1_S16_4x_P1 -5G-> L8/P1
+  J2_S1_S16_4x_P2 -5G-> L8/P2
+  J3_S1_S16_4x_P3 -5G-> L8/P3
+  J4_S1_S16_4x_P4 -5G-> L8/P4
+  J5_S1_S16_4x_P5 -5G-> L8/P5
+  J6_S1_S16_4x_P6 -5G-> L8/P6
+  J7_S1_S16_4x_P7 -5G-> L8/P7
+  J8_S1_S16_4x_P8 -5G-> L8/P8
+  J9_S1_S16_4x_P9 -5G-> L8/P9
+
+ SUBSYSTEM LEAF leaf9
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A10_K11
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A10_K11
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A12_K13
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A12_K13
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A10_K11
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A12_K13
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A15_K16
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A15_K16
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A13_K14
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A15_K16
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A13_K14
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A13_K14
+  J10_S1_S16_4x_P10 -5G-> L9/P10
+  J11_S1_S16_4x_P11 -5G-> L9/P11
+  J12_S1_S16_4x_P12 -5G-> L9/P12
+  J1_S1_S16_4x_P1 -5G-> L9/P1
+  J2_S1_S16_4x_P2 -5G-> L9/P2
+  J3_S1_S16_4x_P3 -5G-> L9/P3
+  J4_S1_S16_4x_P4 -5G-> L9/P4
+  J5_S1_S16_4x_P5 -5G-> L9/P5
+  J6_S1_S16_4x_P6 -5G-> L9/P6
+  J7_S1_S16_4x_P7 -5G-> L9/P7
+  J8_S1_S16_4x_P8 -5G-> L9/P8
+  J9_S1_S16_4x_P9 -5G-> L9/P9
+
+ SUBSYSTEM LEAF leaf10
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A14_K15
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A14_K15
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A16_K17
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A16_K17
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A14_K15
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A16_K17
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A11_K12
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A11_K12
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A9_K10
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A11_K12
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A9_K10
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A9_K10
+  J10_S1_S16_4x_P10 -5G-> L10/P10
+  J11_S1_S16_4x_P11 -5G-> L10/P11
+  J12_S1_S16_4x_P12 -5G-> L10/P12
+  J1_S1_S16_4x_P1 -5G-> L10/P1
+  J2_S1_S16_4x_P2 -5G-> L10/P2
+  J3_S1_S16_4x_P3 -5G-> L10/P3
+  J4_S1_S16_4x_P4 -5G-> L10/P4
+  J5_S1_S16_4x_P5 -5G-> L10/P5
+  J6_S1_S16_4x_P6 -5G-> L10/P6
+  J7_S1_S16_4x_P7 -5G-> L10/P7
+  J8_S1_S16_4x_P8 -5G-> L10/P8
+  J9_S1_S16_4x_P9 -5G-> L10/P9
+
+ SUBSYSTEM LEAF leaf11
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A18_K19
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A18_K19
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A20_K21
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A20_K21
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A18_K19
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A20_K21
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A7_K8
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A7_K8
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A5_K6
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A7_K8
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A5_K6
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A5_K6
+  J10_S1_S16_4x_P10 -5G-> L11/P10
+  J11_S1_S16_4x_P11 -5G-> L11/P11
+  J12_S1_S16_4x_P12 -5G-> L11/P12
+  J1_S1_S16_4x_P1 -5G-> L11/P1
+  J2_S1_S16_4x_P2 -5G-> L11/P2
+  J3_S1_S16_4x_P3 -5G-> L11/P3
+  J4_S1_S16_4x_P4 -5G-> L11/P4
+  J5_S1_S16_4x_P5 -5G-> L11/P5
+  J6_S1_S16_4x_P6 -5G-> L11/P6
+  J7_S1_S16_4x_P7 -5G-> L11/P7
+  J8_S1_S16_4x_P8 -5G-> L11/P8
+  J9_S1_S16_4x_P9 -5G-> L11/P9
+
+ SUBSYSTEM LEAF leaf12
+  J102_A10_K10__J101_A10_K10 -5G-> spine2 J1_A22_K23
+  J102_A1_K1__J101_A1_K1 -5G-> spine2 J5_A22_K23
+  J102_A2_K2__J101_A2_K2 -5G-> spine2 J5_A24_K25
+  J102_A4_K4__J101_A4_K4 -5G-> spine2 J3_A24_K25
+  J102_A6_K6__J101_A6_K6 -5G-> spine2 J3_A22_K23
+  J102_A8_K8__J101_A8_K8 -5G-> spine2 J1_A24_K25
+  J103_A10_K10__J104_A10_K10 -5G-> spine1 J2_A3_K4
+  J103_A1_K1__J104_A1_K1 -5G-> spine1 J6_A3_K4
+  J103_A3_K3__J104_A3_K3 -5G-> spine1 J6_A1_K2
+  J103_A5_K5__J104_A5_K5 -5G-> spine1 J4_A3_K4
+  J103_A7_K7__J104_A7_K7 -5G-> spine1 J4_A1_K2
+  J103_A9_K9__J104_A9_K9 -5G-> spine1 J2_A1_K2
+  J10_S1_S16_4x_P10 -5G-> L12/P10
+  J11_S1_S16_4x_P11 -5G-> L12/P11
+  J12_S1_S16_4x_P12 -5G-> L12/P12
+  J1_S1_S16_4x_P1 -5G-> L12/P1
+  J2_S1_S16_4x_P2 -5G-> L12/P2
+  J3_S1_S16_4x_P3 -5G-> L12/P3
+  J4_S1_S16_4x_P4 -5G-> L12/P4
+  J5_S1_S16_4x_P5 -5G-> L12/P5
+  J6_S1_S16_4x_P6 -5G-> L12/P6
+  J7_S1_S16_4x_P7 -5G-> L12/P7
+  J8_S1_S16_4x_P8 -5G-> L12/P8
+  J9_S1_S16_4x_P9 -5G-> L12/P9
+
+ SUBSYSTEM SPINE spine1
+  J1_A10_K11 -5G-> leaf4 J103_A1_K1__J104_A1_K1
+  J1_A12_K13 -5G-> leaf4 J103_A3_K3__J104_A3_K3
+  J1_A14_K15 -5G-> leaf3 J103_A1_K1__J104_A1_K1
+  J1_A16_K17 -5G-> leaf3 J103_A3_K3__J104_A3_K3
+  J1_A18_K19 -5G-> leaf2 J103_A1_K1__J104_A1_K1
+  J1_A20_K21 -5G-> leaf2 J103_A3_K3__J104_A3_K3
+  J1_A22_K23 -5G-> leaf1 J103_A1_K1__J104_A1_K1
+  J1_A24_K25 -5G-> leaf1 J103_A3_K3__J104_A3_K3
+  J1_A2_K3 -5G-> leaf6 J103_A1_K1__J104_A1_K1
+  J1_A4_K5 -5G-> leaf6 J103_A3_K3__J104_A3_K3
+  J1_A6_K7 -5G-> leaf5 J103_A1_K1__J104_A1_K1
+  J1_A8_K9 -5G-> leaf5 J103_A3_K3__J104_A3_K3
+  J2_A11_K12 -5G-> leaf10 J103_A10_K10__J104_A10_K10
+  J2_A13_K14 -5G-> leaf9 J103_A9_K9__J104_A9_K9
+  J2_A15_K16 -5G-> leaf9 J103_A10_K10__J104_A10_K10
+  J2_A17_K18 -5G-> leaf8 J103_A9_K9__J104_A9_K9
+  J2_A19_K20 -5G-> leaf8 J103_A10_K10__J104_A10_K10
+  J2_A1_K2 -5G-> leaf12 J103_A9_K9__J104_A9_K9
+  J2_A21_K22 -5G-> leaf7 J103_A9_K9__J104_A9_K9
+  J2_A23_K24 -5G-> leaf7 J103_A10_K10__J104_A10_K10
+  J2_A3_K4 -5G-> leaf12 J103_A10_K10__J104_A10_K10
+  J2_A5_K6 -5G-> leaf11 J103_A9_K9__J104_A9_K9
+  J2_A7_K8 -5G-> leaf11 J103_A10_K10__J104_A10_K10
+  J2_A9_K10 -5G-> leaf10 J103_A9_K9__J104_A9_K9
+  J3_A10_K11 -5G-> leaf4 J103_A5_K5__J104_A5_K5
+  J3_A12_K13 -5G-> leaf4 J103_A7_K7__J104_A7_K7
+  J3_A14_K15 -5G-> leaf3 J103_A5_K5__J104_A5_K5
+  J3_A16_K17 -5G-> leaf3 J103_A7_K7__J104_A7_K7
+  J3_A18_K19 -5G-> leaf2 J103_A5_K5__J104_A5_K5
+  J3_A20_K21 -5G-> leaf2 J103_A7_K7__J104_A7_K7
+  J3_A22_K23 -5G-> leaf1 J103_A5_K5__J104_A5_K5
+  J3_A24_K25 -5G-> leaf1 J103_A7_K7__J104_A7_K7
+  J3_A2_K3 -5G-> leaf6 J103_A5_K5__J104_A5_K5
+  J3_A4_K5 -5G-> leaf6 J103_A7_K7__J104_A7_K7
+  J3_A6_K7 -5G-> leaf5 J103_A5_K5__J104_A5_K5
+  J3_A8_K9 -5G-> leaf5 J103_A7_K7__J104_A7_K7
+  J4_A11_K12 -5G-> leaf10 J103_A5_K5__J104_A5_K5
+  J4_A13_K14 -5G-> leaf9 J103_A7_K7__J104_A7_K7
+  J4_A15_K16 -5G-> leaf9 J103_A5_K5__J104_A5_K5
+  J4_A17_K18 -5G-> leaf8 J103_A7_K7__J104_A7_K7
+  J4_A19_K20 -5G-> leaf8 J103_A5_K5__J104_A5_K5
+  J4_A1_K2 -5G-> leaf12 J103_A7_K7__J104_A7_K7
+  J4_A21_K22 -5G-> leaf7 J103_A7_K7__J104_A7_K7
+  J4_A23_K24 -5G-> leaf7 J103_A5_K5__J104_A5_K5
+  J4_A3_K4 -5G-> leaf12 J103_A5_K5__J104_A5_K5
+  J4_A5_K6 -5G-> leaf11 J103_A7_K7__J104_A7_K7
+  J4_A7_K8 -5G-> leaf11 J103_A5_K5__J104_A5_K5
+  J4_A9_K10 -5G-> leaf10 J103_A7_K7__J104_A7_K7
+  J5_A10_K11 -5G-> leaf4 J103_A10_K10__J104_A10_K10
+  J5_A12_K13 -5G-> leaf4 J103_A9_K9__J104_A9_K9
+  J5_A14_K15 -5G-> leaf3 J103_A10_K10__J104_A10_K10
+  J5_A16_K17 -5G-> leaf3 J103_A9_K9__J104_A9_K9
+  J5_A18_K19 -5G-> leaf2 J103_A10_K10__J104_A10_K10
+  J5_A20_K21 -5G-> leaf2 J103_A9_K9__J104_A9_K9
+  J5_A22_K23 -5G-> leaf1 J103_A10_K10__J104_A10_K10
+  J5_A24_K25 -5G-> leaf1 J103_A9_K9__J104_A9_K9
+  J5_A2_K3 -5G-> leaf6 J103_A10_K10__J104_A10_K10
+  J5_A4_K5 -5G-> leaf6 J103_A9_K9__J104_A9_K9
+  J5_A6_K7 -5G-> leaf5 J103_A10_K10__J104_A10_K10
+  J5_A8_K9 -5G-> leaf5 J103_A9_K9__J104_A9_K9
+  J6_A11_K12 -5G-> leaf10 J103_A1_K1__J104_A1_K1
+  J6_A13_K14 -5G-> leaf9 J103_A3_K3__J104_A3_K3
+  J6_A15_K16 -5G-> leaf9 J103_A1_K1__J104_A1_K1
+  J6_A17_K18 -5G-> leaf8 J103_A3_K3__J104_A3_K3
+  J6_A19_K20 -5G-> leaf8 J103_A1_K1__J104_A1_K1
+  J6_A1_K2 -5G-> leaf12 J103_A3_K3__J104_A3_K3
+  J6_A21_K22 -5G-> leaf7 J103_A3_K3__J104_A3_K3
+  J6_A23_K24 -5G-> leaf7 J103_A1_K1__J104_A1_K1
+  J6_A3_K4 -5G-> leaf12 J103_A1_K1__J104_A1_K1
+  J6_A5_K6 -5G-> leaf11 J103_A3_K3__J104_A3_K3
+  J6_A7_K8 -5G-> leaf11 J103_A1_K1__J104_A1_K1
+  J6_A9_K10 -5G-> leaf10 J103_A3_K3__J104_A3_K3
+
+ SUBSYSTEM SPINE spine2
+  J1_A10_K11 -5G-> leaf9 J102_A10_K10__J101_A10_K10
+  J1_A12_K13 -5G-> leaf9 J102_A8_K8__J101_A8_K8
+  J1_A14_K15 -5G-> leaf10 J102_A10_K10__J101_A10_K10
+  J1_A16_K17 -5G-> leaf10 J102_A8_K8__J101_A8_K8
+  J1_A18_K19 -5G-> leaf11 J102_A10_K10__J101_A10_K10
+  J1_A20_K21 -5G-> leaf11 J102_A8_K8__J101_A8_K8
+  J1_A22_K23 -5G-> leaf12 J102_A10_K10__J101_A10_K10
+  J1_A24_K25 -5G-> leaf12 J102_A8_K8__J101_A8_K8
+  J1_A2_K3 -5G-> leaf7 J102_A10_K10__J101_A10_K10
+  J1_A4_K5 -5G-> leaf7 J102_A8_K8__J101_A8_K8
+  J1_A6_K7 -5G-> leaf8 J102_A10_K10__J101_A10_K10
+  J1_A8_K9 -5G-> leaf8 J102_A8_K8__J101_A8_K8
+  J2_A11_K12 -5G-> leaf3 J102_A1_K1__J101_A1_K1
+  J2_A13_K14 -5G-> leaf4 J102_A2_K2__J101_A2_K2
+  J2_A15_K16 -5G-> leaf4 J102_A1_K1__J101_A1_K1
+  J2_A17_K18 -5G-> leaf5 J102_A2_K2__J101_A2_K2
+  J2_A19_K20 -5G-> leaf5 J102_A1_K1__J101_A1_K1
+  J2_A1_K2 -5G-> leaf1 J102_A2_K2__J101_A2_K2
+  J2_A21_K22 -5G-> leaf6 J102_A2_K2__J101_A2_K2
+  J2_A23_K24 -5G-> leaf6 J102_A1_K1__J101_A1_K1
+  J2_A3_K4 -5G-> leaf1 J102_A1_K1__J101_A1_K1
+  J2_A5_K6 -5G-> leaf2 J102_A2_K2__J101_A2_K2
+  J2_A7_K8 -5G-> leaf2 J102_A1_K1__J101_A1_K1
+  J2_A9_K10 -5G-> leaf3 J102_A2_K2__J101_A2_K2
+  J3_A10_K11 -5G-> leaf9 J102_A6_K6__J101_A6_K6
+  J3_A12_K13 -5G-> leaf9 J102_A4_K4__J101_A4_K4
+  J3_A14_K15 -5G-> leaf10 J102_A6_K6__J101_A6_K6
+  J3_A16_K17 -5G-> leaf10 J102_A4_K4__J101_A4_K4
+  J3_A18_K19 -5G-> leaf11 J102_A6_K6__J101_A6_K6
+  J3_A20_K21 -5G-> leaf11 J102_A4_K4__J101_A4_K4
+  J3_A22_K23 -5G-> leaf12 J102_A6_K6__J101_A6_K6
+  J3_A24_K25 -5G-> leaf12 J102_A4_K4__J101_A4_K4
+  J3_A2_K3 -5G-> leaf7 J102_A6_K6__J101_A6_K6
+  J3_A4_K5 -5G-> leaf7 J102_A4_K4__J101_A4_K4
+  J3_A6_K7 -5G-> leaf8 J102_A6_K6__J101_A6_K6
+  J3_A8_K9 -5G-> leaf8 J102_A4_K4__J101_A4_K4
+  J4_A11_K12 -5G-> leaf3 J102_A6_K6__J101_A6_K6
+  J4_A13_K14 -5G-> leaf4 J102_A4_K4__J101_A4_K4
+  J4_A15_K16 -5G-> leaf4 J102_A6_K6__J101_A6_K6
+  J4_A17_K18 -5G-> leaf5 J102_A4_K4__J101_A4_K4
+  J4_A19_K20 -5G-> leaf5 J102_A6_K6__J101_A6_K6
+  J4_A1_K2 -5G-> leaf1 J102_A4_K4__J101_A4_K4
+  J4_A21_K22 -5G-> leaf6 J102_A4_K4__J101_A4_K4
+  J4_A23_K24 -5G-> leaf6 J102_A6_K6__J101_A6_K6
+  J4_A3_K4 -5G-> leaf1 J102_A6_K6__J101_A6_K6
+  J4_A5_K6 -5G-> leaf2 J102_A4_K4__J101_A4_K4
+  J4_A7_K8 -5G-> leaf2 J102_A6_K6__J101_A6_K6
+  J4_A9_K10 -5G-> leaf3 J102_A4_K4__J101_A4_K4
+  J5_A10_K11 -5G-> leaf9 J102_A1_K1__J101_A1_K1
+  J5_A12_K13 -5G-> leaf9 J102_A2_K2__J101_A2_K2
+  J5_A14_K15 -5G-> leaf10 J102_A1_K1__J101_A1_K1
+  J5_A16_K17 -5G-> leaf10 J102_A2_K2__J101_A2_K2
+  J5_A18_K19 -5G-> leaf11 J102_A1_K1__J101_A1_K1
+  J5_A20_K21 -5G-> leaf11 J102_A2_K2__J101_A2_K2
+  J5_A22_K23 -5G-> leaf12 J102_A1_K1__J101_A1_K1
+  J5_A24_K25 -5G-> leaf12 J102_A2_K2__J101_A2_K2
+  J5_A2_K3 -5G-> leaf7 J102_A1_K1__J101_A1_K1
+  J5_A4_K5 -5G-> leaf7 J102_A2_K2__J101_A2_K2
+  J5_A6_K7 -5G-> leaf8 J102_A1_K1__J101_A1_K1
+  J5_A8_K9 -5G-> leaf8 J102_A2_K2__J101_A2_K2
+  J6_A11_K12 -5G-> leaf3 J102_A10_K10__J101_A10_K10
+  J6_A13_K14 -5G-> leaf4 J102_A8_K8__J101_A8_K8
+  J6_A15_K16 -5G-> leaf4 J102_A10_K10__J101_A10_K10
+  J6_A17_K18 -5G-> leaf5 J102_A8_K8__J101_A8_K8
+  J6_A19_K20 -5G-> leaf5 J102_A10_K10__J101_A10_K10
+  J6_A1_K2 -5G-> leaf1 J102_A8_K8__J101_A8_K8
+  J6_A21_K22 -5G-> leaf6 J102_A8_K8__J101_A8_K8
+  J6_A23_K24 -5G-> leaf6 J102_A10_K10__J101_A10_K10
+  J6_A3_K4 -5G-> leaf1 J102_A10_K10__J101_A10_K10
+  J6_A5_K6 -5G-> leaf2 J102_A8_K8__J101_A8_K8
+  J6_A7_K8 -5G-> leaf2 J102_A10_K10__J101_A10_K10
+  J6_A9_K10 -5G-> leaf3 J102_A8_K8__J101_A8_K8
+
diff --git a/ibdm/ibnl/MTS14400-IntraDDR.ibnl b/ibdm/ibnl/MTS14400-IntraDDR.ibnl
new file mode 100644
index 0000000..3989fbb
--- /dev/null
+++ b/ibdm/ibnl/MTS14400-IntraDDR.ibnl
@@ -0,0 +1,574 @@
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+NODE SW 24 MT47396 U1
+    1  -> P13
+    2  -> P14
+    3  -> P15
+    4  -> P16
+    5  -> P17
+    6  -> P18
+    7  -> P19
+    8  -> P20
+    9  -> P21
+    10 -> P22
+    11 -> P23
+    12 -> P24
+    13 -> P1
+    14 -> P2
+    15 -> P3
+    16 -> P4
+    17 -> P5
+    18 -> P6
+    19 -> P7
+    20 -> P8
+    21 -> P9
+    22 -> P10
+    23 -> P11
+    24 -> P12
+
+SYSTEM SPINE,SPINE:4x,SPINE:4X
+
+NODE SW 24 MT47396 U1
+    21 -> P63
+    22 -> P30
+    23 -> P18
+    24 -> P6
+    1 -> P27
+    2 -> P15
+    3 -> P3
+    4 -> P31
+    5 -> P19
+    6 -> P7
+    7 -> P34
+    8 -> P22
+    9 -> P10
+    10 -> P43
+    11 -> P55
+    12 -> P67
+    13 -> P46
+    14 -> P58
+    15 -> P70
+    16 -> P42
+    17 -> P54
+    18 -> P66
+    20 -> P51
+    19 -> P39
+
+NODE SW 24 MT47396 U2
+    10 -> P44
+    11 -> P56
+    12 -> P68
+    13 -> P47
+    14 -> P59
+    15 -> P71
+    16 -> P41
+    17 -> P53
+    18 -> P65
+    20 -> P50
+    19 -> P38
+    21 -> P62
+    22 -> P29
+    23 -> P17
+    24 -> P5
+    1 -> P26
+    2 -> P14
+    3 -> P2
+    4 -> P32
+    5 -> P20
+    6 -> P8
+    7 -> P35
+    8 -> P23
+    9 -> P11
+
+NODE SW 24 MT47396 U3
+    9 -> P12
+    10 -> P45
+    11 -> P57
+    12 -> P69
+    13 -> P48
+    14 -> P60
+    15 -> P72
+    16 -> P40
+    17 -> P52
+    18 -> P64
+    20 -> P49
+    19 -> P37
+    21 -> P61
+    22 -> P28
+    23 -> P16
+    24 -> P4
+    1 -> P25
+    2 -> P13
+    3 -> P1
+    4 -> P33
+    5 -> P21
+    6 -> P9
+    7 -> P36
+    8 -> P24
+
+TOPSYSTEM MTS14400-IntraDDR,Rhino-IntraDDR
+
+spine1/U1=isChaBma
+
+SUBSYSTEM LEAF leaf1
+   P1 -5G-> spine2 P1
+   P2 -5G-> spine2 P2
+   P3 -5G-> spine2 P3
+   P4 -5G-> spine2 P4
+   P5 -5G-> spine2 P5
+   P6 -5G-> spine2 P6
+   P7 -5G-> spine1 P7
+   P8 -5G-> spine1 P8
+   P9 -5G-> spine1 P9
+   P10 -5G-> spine1 P10
+   P11 -5G-> spine1 P11
+   P12 -5G-> spine1 P12
+   P13 -> L1/P1
+   P14 -> L1/P2
+   P15 -> L1/P3
+   P16 -> L1/P4
+   P17 -> L1/P5
+   P18 -> L1/P6
+   P19 -> L1/P7
+   P20 -> L1/P8
+   P21 -> L1/P9
+   P22 -> L1/P10
+   P23 -> L1/P11
+   P24 -> L1/P12
+
+SUBSYSTEM LEAF leaf2
+   P1 -5G-> spine2 P13
+   P2 -5G-> spine2 P14
+   P3 -5G-> spine2 P15
+   P4 -5G-> spine2 P16
+   P5 -5G-> spine2 P17
+   P6 -5G-> spine2 P18
+   P7 -5G-> spine1 P19
+   P8 -5G-> spine1 P20
+   P9 -5G-> spine1 P21
+   P10 -5G-> spine1 P22
+   P11 -5G-> spine1 P23
+   P12 -5G-> spine1 P24
+   P13 -> L2/P1
+   P14 -> L2/P2
+   P15 -> L2/P3
+   P16 -> L2/P4
+   P17 -> L2/P5
+   P18 -> L2/P6
+   P19 -> L2/P7
+   P20 -> L2/P8
+   P21 -> L2/P9
+   P22 -> L2/P10
+   P23 -> L2/P11
+   P24 -> L2/P12
+
+SUBSYSTEM LEAF leaf3
+   P1 -5G-> spine2 P25
+   P2 -5G-> spine2 P26
+   P3 -5G-> spine2 P27
+   P4 -5G-> spine2 P28
+   P5 -5G-> spine2 P29
+   P6 -5G-> spine2 P30
+   P7 -5G-> spine1 P31
+   P8 -5G-> spine1 P32
+   P9 -5G-> spine1 P33
+   P10 -5G-> spine1 P34
+   P11 -5G-> spine1 P35
+   P12 -5G-> spine1 P36
+   P13 -> L3/P1
+   P14 -> L3/P2
+   P15 -> L3/P3
+   P16 -> L3/P4
+   P17 -> L3/P5
+   P18 -> L3/P6
+   P19 -> L3/P7
+   P20 -> L3/P8
+   P21 -> L3/P9
+   P22 -> L3/P10
+   P23 -> L3/P11
+   P24 -> L3/P12
+
+SUBSYSTEM LEAF leaf4
+   P1 -5G-> spine2 P37
+   P2 -5G-> spine2 P38
+   P3 -5G-> spine2 P39
+   P4 -5G-> spine2 P40
+   P5 -5G-> spine2 P41
+   P6 -5G-> spine2 P42
+   P7 -5G-> spine1 P43
+   P8 -5G-> spine1 P44
+   P9 -5G-> spine1 P45
+   P10 -5G-> spine1 P46
+   P11 -5G-> spine1 P47
+   P12 -5G-> spine1 P48
+   P13 -> L4/P1
+   P14 -> L4/P2
+   P15 -> L4/P3
+   P16 -> L4/P4
+   P17 -> L4/P5
+   P18 -> L4/P6
+   P19 -> L4/P7
+   P20 -> L4/P8
+   P21 -> L4/P9
+   P22 -> L4/P10
+   P23 -> L4/P11
+   P24 -> L4/P12
+
+SUBSYSTEM LEAF leaf5
+   P1 -5G-> spine2 P49
+   P2 -5G-> spine2 P50
+   P3 -5G-> spine2 P51
+   P4 -5G-> spine2 P52
+   P5 -5G-> spine2 P53
+   P6 -5G-> spine2 P54
+   P7 -5G-> spine1 P55
+   P8 -5G-> spine1 P56
+   P9 -5G-> spine1 P57
+   P10 -5G-> spine1 P58
+   P11 -5G-> spine1 P59
+   P12 -5G-> spine1 P60
+   P13 -> L5/P1
+   P14 -> L5/P2
+   P15 -> L5/P3
+   P16 -> L5/P4
+   P17 -> L5/P5
+   P18 -> L5/P6
+   P19 -> L5/P7
+   P20 -> L5/P8
+   P21 -> L5/P9
+   P22 -> L5/P10
+   P23 -> L5/P11
+   P24 -> L5/P12
+
+SUBSYSTEM LEAF leaf6
+   P1 -5G-> spine2 P61
+   P2 -5G-> spine2 P62
+   P3 -5G-> spine2 P63
+   P4 -5G-> spine2 P64
+   P5 -5G-> spine2 P65
+   P6 -5G-> spine2 P66
+   P7 -5G-> spine1 P67
+   P8 -5G-> spine1 P68
+   P9 -5G-> spine1 P69
+   P10 -5G-> spine1 P70
+   P11 -5G-> spine1 P71
+   P12 -5G-> spine1 P72
+   P13 -> L6/P1
+   P14 -> L6/P2
+   P15 -> L6/P3
+   P16 -> L6/P4
+   P17 -> L6/P5
+   P18 -> L6/P6
+   P19 -> L6/P7
+   P20 -> L6/P8
+   P21 -> L6/P9
+   P22 -> L6/P10
+   P23 -> L6/P11
+   P24 -> L6/P12
+
+SUBSYSTEM LEAF leaf7
+   P1 -5G-> spine2 P72
+   P2 -5G-> spine2 P71
+   P3 -5G-> spine2 P70
+   P4 -5G-> spine2 P69
+   P5 -5G-> spine2 P68
+   P6 -5G-> spine2 P67
+   P7 -5G-> spine1 P66
+   P8 -5G-> spine1 P65
+   P9 -5G-> spine1 P64
+   P10 -5G-> spine1 P63
+   P11 -5G-> spine1 P62
+   P12 -5G-> spine1 P61
+   P13 -> L7/P1
+   P14 -> L7/P2
+   P15 -> L7/P3
+   P16 -> L7/P4
+   P17 -> L7/P5
+   P18 -> L7/P6
+   P19 -> L7/P7
+   P20 -> L7/P8
+   P21 -> L7/P9
+   P22 -> L7/P10
+   P23 -> L7/P11
+   P24 -> L7/P12
+
+SUBSYSTEM LEAF leaf8
+   P1 -5G-> spine2 P60
+   P2 -5G-> spine2 P59
+   P3 -5G-> spine2 P58
+   P4 -5G-> spine2 P57
+   P5 -5G-> spine2 P56
+   P6 -5G-> spine2 P55
+   P7 -5G-> spine1 P54
+   P8 -5G-> spine1 P53
+   P9 -5G-> spine1 P52
+   P10 -5G-> spine1 P51
+   P11 -5G-> spine1 P50
+   P12 -5G-> spine1 P49
+   P13 -> L8/P1
+   P14 -> L8/P2
+   P15 -> L8/P3
+   P16 -> L8/P4
+   P17 -> L8/P5
+   P18 -> L8/P6
+   P19 -> L8/P7
+   P20 -> L8/P8
+   P21 -> L8/P9
+   P22 -> L8/P10
+   P23 -> L8/P11
+   P24 -> L8/P12
+
+SUBSYSTEM LEAF leaf9
+   P1 -5G-> spine2 P48
+   P2 -5G-> spine2 P47
+   P3 -5G-> spine2 P46
+   P4 -5G-> spine2 P45
+   P5 -5G-> spine2 P44
+   P6 -5G-> spine2 P43
+   P7 -5G-> spine1 P42
+   P8 -5G-> spine1 P41
+   P9 -5G-> spine1 P40
+   P10 -5G-> spine1 P39
+   P11 -5G-> spine1 P38
+   P12 -5G-> spine1 P37
+   P13 -> L9/P1
+   P14 -> L9/P2
+   P15 -> L9/P3
+   P16 -> L9/P4
+   P17 -> L9/P5
+   P18 -> L9/P6
+   P19 -> L9/P7
+   P20 -> L9/P8
+   P21 -> L9/P9
+   P22 -> L9/P10
+   P23 -> L9/P11
+   P24 -> L9/P12
+
+SUBSYSTEM LEAF leaf10
+   P1 -5G-> spine2 P36
+   P2 -5G-> spine2 P35
+   P3 -5G-> spine2 P34
+   P4 -5G-> spine2 P33
+   P5 -5G-> spine2 P32
+   P6 -5G-> spine2 P31
+   P7 -5G-> spine1 P30
+   P8 -5G-> spine1 P29
+   P9 -5G-> spine1 P28
+   P10 -5G-> spine1 P27
+   P11 -5G-> spine1 P26
+   P12 -5G-> spine1 P25
+   P13 -> L10/P1
+   P14 -> L10/P2
+   P15 -> L10/P3
+   P16 -> L10/P4
+   P17 -> L10/P5
+   P18 -> L10/P6
+   P19 -> L10/P7
+   P20 -> L10/P8
+   P21 -> L10/P9
+   P22 -> L10/P10
+   P23 -> L10/P11
+   P24 -> L10/P12
+
+
+SUBSYSTEM LEAF leaf11
+   P1 -5G-> spine2 P24
+   P2 -5G-> spine2 P23
+   P3 -5G-> spine2 P22
+   P4 -5G-> spine2 P21
+   P5 -5G-> spine2 P20
+   P6 -5G-> spine2 P19
+   P7 -5G-> spine1 P18
+   P8 -5G-> spine1 P17
+   P9 -5G-> spine1 P16
+   P10 -5G-> spine1 P15
+   P11 -5G-> spine1 P14
+   P12 -5G-> spine1 P13
+   P13 -> L11/P1
+   P14 -> L11/P2
+   P15 -> L11/P3
+   P16 -> L11/P4
+   P17 -> L11/P5
+   P18 -> L11/P6
+   P19 -> L11/P7
+   P20 -> L11/P8
+   P21 -> L11/P9
+   P22 -> L11/P10
+   P23 -> L11/P11
+   P24 -> L11/P12
+
+SUBSYSTEM LEAF leaf12
+   P1 -5G-> spine2 P12
+   P2 -5G-> spine2 P11
+   P3 -5G-> spine2 P10
+   P4 -5G-> spine2 P9
+   P5 -5G-> spine2 P8
+   P6 -5G-> spine2 P7
+   P7 -5G-> spine1 P6
+   P8 -5G-> spine1 P5
+   P9 -5G-> spine1 P4
+   P10 -5G-> spine1 P3
+   P11 -5G-> spine1 P2
+   P12 -5G-> spine1 P1
+   P13 -> L12/P1
+   P14 -> L12/P2
+   P15 -> L12/P3
+   P16 -> L12/P4
+   P17 -> L12/P5
+   P18 -> L12/P6
+   P19 -> L12/P7
+   P20 -> L12/P8
+   P21 -> L12/P9
+   P22 -> L12/P10
+   P23 -> L12/P11
+   P24 -> L12/P12
+
+SUBSYSTEM SPINE spine2
+   P30 -5G-> leaf3 P6
+   P18 -5G-> leaf2 P6
+   P6 -5G-> leaf1 P6
+   P27 -5G-> leaf3 P3
+   P15 -5G-> leaf2 P3
+   P3 -5G-> leaf1 P3
+   P31 -5G-> leaf10 P6
+   P19 -5G-> leaf11 P6
+   P7 -5G-> leaf12 P6
+   P34 -5G-> leaf10 P3
+   P22 -5G-> leaf11 P3
+   P10 -5G-> leaf12 P3
+   P43 -5G-> leaf9 P6
+   P55 -5G-> leaf8 P6
+   P67 -5G-> leaf7 P6
+   P46 -5G-> leaf9 P3
+   P58 -5G-> leaf8 P3
+   P70 -5G-> leaf7 P3
+   P42 -5G-> leaf4 P6
+   P54 -5G-> leaf5 P6
+   P66 -5G-> leaf6 P6
+   P39 -5G-> leaf4 P3
+   P51 -5G-> leaf5 P3
+   P63 -5G-> leaf6 P3
+   P29 -5G-> leaf3 P5
+   P17 -5G-> leaf2 P5
+   P5 -5G-> leaf1 P5
+   P26 -5G-> leaf3 P2
+   P14 -5G-> leaf2 P2
+   P2 -5G-> leaf1 P2
+   P32 -5G-> leaf10 P5
+   P20 -5G-> leaf11 P5
+   P8 -5G-> leaf12 P5
+   P35 -5G-> leaf10 P2
+   P23 -5G-> leaf11 P2
+   P11 -5G-> leaf12 P2
+   P44 -5G-> leaf9 P5
+   P56 -5G-> leaf8 P5
+   P68 -5G-> leaf7 P5
+   P47 -5G-> leaf9 P2
+   P59 -5G-> leaf8 P2
+   P71 -5G-> leaf7 P2
+   P41 -5G-> leaf4 P5
+   P53 -5G-> leaf5 P5
+   P65 -5G-> leaf6 P5
+   P38 -5G-> leaf4 P2
+   P50 -5G-> leaf5 P2
+   P62 -5G-> leaf6 P2
+   P28 -5G-> leaf3 P4
+   P16 -5G-> leaf2 P4
+   P4 -5G-> leaf1 P4
+   P25 -5G-> leaf3 P1
+   P13 -5G-> leaf2 P1
+   P1 -5G-> leaf1 P1
+   P33 -5G-> leaf10 P4
+   P21 -5G-> leaf11 P4
+   P9 -5G-> leaf12 P4
+   P36 -5G-> leaf10 P1
+   P24 -5G-> leaf11 P1
+   P12 -5G-> leaf12 P1
+   P45 -5G-> leaf9 P4
+   P57 -5G-> leaf8 P4
+   P69 -5G-> leaf7 P4
+   P48 -5G-> leaf9 P1
+   P60 -5G-> leaf8 P1
+   P72 -5G-> leaf7 P1
+   P40 -5G-> leaf4 P4
+   P52 -5G-> leaf5 P4
+   P64 -5G-> leaf6 P4
+   P37 -5G-> leaf4 P1
+   P49 -5G-> leaf5 P1
+   P61 -5G-> leaf6 P1
+
+SUBSYSTEM SPINE spine1
+   P30 -5G-> leaf10 P7
+   P18 -5G-> leaf11 P7
+   P6 -5G-> leaf12 P7
+   P27 -5G-> leaf10 P10
+   P15 -5G-> leaf11 P10
+   P3 -5G-> leaf12 P10
+   P31 -5G-> leaf3 P7
+   P19 -5G-> leaf2 P7
+   P7 -5G-> leaf1 P7
+   P34 -5G-> leaf3 P10
+   P22 -5G-> leaf2 P10
+   P10 -5G-> leaf1 P10
+   P43 -5G-> leaf4 P7
+   P55 -5G-> leaf5 P7
+   P67 -5G-> leaf6 P7
+   P46 -5G-> leaf4 P10
+   P58 -5G-> leaf5 P10
+   P70 -5G-> leaf6 P10
+   P42 -5G-> leaf9 P7
+   P54 -5G-> leaf8 P7
+   P66 -5G-> leaf7 P7
+   P39 -5G-> leaf9 P10
+   P51 -5G-> leaf8 P10
+   P63 -5G-> leaf7 P10
+   P29 -5G-> leaf10 P8
+   P17 -5G-> leaf11 P8
+   P5 -5G-> leaf12 P8
+   P26 -5G-> leaf10 P11
+   P14 -5G-> leaf11 P11
+   P2 -5G-> leaf12 P11
+   P32 -5G-> leaf3 P8
+   P20 -5G-> leaf2 P8
+   P8 -5G-> leaf1 P8
+   P35 -5G-> leaf3 P11
+   P23 -5G-> leaf2 P11
+   P11 -5G-> leaf1 P11
+   P44 -5G-> leaf4 P8
+   P56 -5G-> leaf5 P8
+   P68 -5G-> leaf6 P8
+   P47 -5G-> leaf4 P11
+   P59 -5G-> leaf5 P11
+   P71 -5G-> leaf6 P11
+   P41 -5G-> leaf9 P8
+   P53 -5G-> leaf8 P8
+   P65 -5G-> leaf7 P8
+   P38 -5G-> leaf9 P11
+   P50 -5G-> leaf8 P11
+   P62 -5G-> leaf7 P11
+   P28 -5G-> leaf10 P9
+   P16 -5G-> leaf11 P9
+   P4 -5G-> leaf12 P9
+   P25 -5G-> leaf10 P12
+   P13 -5G-> leaf11 P12
+   P1 -5G-> leaf12 P12
+   P33 -5G-> leaf3 P9
+   P21 -5G-> leaf2 P9
+   P9 -5G-> leaf1 P9
+   P36 -5G-> leaf3 P12
+   P24 -5G-> leaf2 P12
+   P12 -5G-> leaf1 P12
+   P45 -5G-> leaf4 P9
+   P57 -5G-> leaf5 P9
+   P69 -5G-> leaf6 P9
+   P48 -5G-> leaf4 P12
+   P60 -5G-> leaf5 P12
+   P72 -5G-> leaf6 P12
+   P40 -5G-> leaf9 P9
+   P52 -5G-> leaf8 P9
+   P64 -5G-> leaf7 P9
+   P37 -5G-> leaf9 P12
+   P49 -5G-> leaf8 P12
+   P61 -5G-> leaf7 P12
+
+
diff --git a/ibdm/ibnl/MTS14400.ibnl b/ibdm/ibnl/MTS14400.ibnl
new file mode 100644
index 0000000..dab65bf
--- /dev/null
+++ b/ibdm/ibnl/MTS14400.ibnl
@@ -0,0 +1,574 @@
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+NODE SW 24 MT47396 U1
+    1  -> P13
+    2  -> P14
+    3  -> P15
+    4  -> P16
+    5  -> P17
+    6  -> P18
+    7  -> P19
+    8  -> P20
+    9  -> P21
+    10 -> P22
+    11 -> P23
+    12 -> P24
+    13 -> P1
+    14 -> P2
+    15 -> P3
+    16 -> P4
+    17 -> P5
+    18 -> P6
+    19 -> P7
+    20 -> P8
+    21 -> P9
+    22 -> P10
+    23 -> P11
+    24 -> P12
+
+SYSTEM SPINE,SPINE:4x,SPINE:4X
+
+NODE SW 24 MT47396 U1
+    21 -> P63
+    22 -> P30
+    23 -> P18
+    24 -> P6
+    1 -> P27
+    2 -> P15
+    3 -> P3
+    4 -> P31
+    5 -> P19
+    6 -> P7
+    7 -> P34
+    8 -> P22
+    9 -> P10
+    10 -> P43
+    11 -> P55
+    12 -> P67
+    13 -> P46
+    14 -> P58
+    15 -> P70
+    16 -> P42
+    17 -> P54
+    18 -> P66
+    20 -> P51
+    19 -> P39
+
+NODE SW 24 MT47396 U2
+    10 -> P44
+    11 -> P56
+    12 -> P68
+    13 -> P47
+    14 -> P59
+    15 -> P71
+    16 -> P41
+    17 -> P53
+    18 -> P65
+    20 -> P50
+    19 -> P38
+    21 -> P62
+    22 -> P29
+    23 -> P17
+    24 -> P5
+    1 -> P26
+    2 -> P14
+    3 -> P2
+    4 -> P32
+    5 -> P20
+    6 -> P8
+    7 -> P35
+    8 -> P23
+    9 -> P11
+
+NODE SW 24 MT47396 U3
+    9 -> P12
+    10 -> P45
+    11 -> P57
+    12 -> P69
+    13 -> P48
+    14 -> P60
+    15 -> P72
+    16 -> P40
+    17 -> P52
+    18 -> P64
+    20 -> P49
+    19 -> P37
+    21 -> P61
+    22 -> P28
+    23 -> P16
+    24 -> P4
+    1 -> P25
+    2 -> P13
+    3 -> P1
+    4 -> P33
+    5 -> P21
+    6 -> P9
+    7 -> P36
+    8 -> P24
+
+TOPSYSTEM MTS14400,Rhino
+
+spine1/U1=isChaBma
+
+SUBSYSTEM LEAF leaf1
+   P1 -> spine2 P1
+   P2 -> spine2 P2
+   P3 -> spine2 P3
+   P4 -> spine2 P4
+   P5 -> spine2 P5
+   P6 -> spine2 P6
+   P7 -> spine1 P7
+   P8 -> spine1 P8
+   P9 -> spine1 P9
+   P10 -> spine1 P10
+   P11 -> spine1 P11
+   P12 -> spine1 P12
+   P13 -> L1/P1
+   P14 -> L1/P2
+   P15 -> L1/P3
+   P16 -> L1/P4
+   P17 -> L1/P5
+   P18 -> L1/P6
+   P19 -> L1/P7
+   P20 -> L1/P8
+   P21 -> L1/P9
+   P22 -> L1/P10
+   P23 -> L1/P11
+   P24 -> L1/P12
+
+SUBSYSTEM LEAF leaf2
+   P1 -> spine2 P13
+   P2 -> spine2 P14
+   P3 -> spine2 P15
+   P4 -> spine2 P16
+   P5 -> spine2 P17
+   P6 -> spine2 P18
+   P7 -> spine1 P19
+   P8 -> spine1 P20
+   P9 -> spine1 P21
+   P10 -> spine1 P22
+   P11 -> spine1 P23
+   P12 -> spine1 P24
+   P13 -> L2/P1
+   P14 -> L2/P2
+   P15 -> L2/P3
+   P16 -> L2/P4
+   P17 -> L2/P5
+   P18 -> L2/P6
+   P19 -> L2/P7
+   P20 -> L2/P8
+   P21 -> L2/P9
+   P22 -> L2/P10
+   P23 -> L2/P11
+   P24 -> L2/P12
+
+SUBSYSTEM LEAF leaf3
+   P1 -> spine2 P25
+   P2 -> spine2 P26
+   P3 -> spine2 P27
+   P4 -> spine2 P28
+   P5 -> spine2 P29
+   P6 -> spine2 P30
+   P7 -> spine1 P31
+   P8 -> spine1 P32
+   P9 -> spine1 P33
+   P10 -> spine1 P34
+   P11 -> spine1 P35
+   P12 -> spine1 P36
+   P13 -> L3/P1
+   P14 -> L3/P2
+   P15 -> L3/P3
+   P16 -> L3/P4
+   P17 -> L3/P5
+   P18 -> L3/P6
+   P19 -> L3/P7
+   P20 -> L3/P8
+   P21 -> L3/P9
+   P22 -> L3/P10
+   P23 -> L3/P11
+   P24 -> L3/P12
+
+SUBSYSTEM LEAF leaf4
+   P1 -> spine2 P37
+   P2 -> spine2 P38
+   P3 -> spine2 P39
+   P4 -> spine2 P40
+   P5 -> spine2 P41
+   P6 -> spine2 P42
+   P7 -> spine1 P43
+   P8 -> spine1 P44
+   P9 -> spine1 P45
+   P10 -> spine1 P46
+   P11 -> spine1 P47
+   P12 -> spine1 P48
+   P13 -> L4/P1
+   P14 -> L4/P2
+   P15 -> L4/P3
+   P16 -> L4/P4
+   P17 -> L4/P5
+   P18 -> L4/P6
+   P19 -> L4/P7
+   P20 -> L4/P8
+   P21 -> L4/P9
+   P22 -> L4/P10
+   P23 -> L4/P11
+   P24 -> L4/P12
+
+SUBSYSTEM LEAF leaf5
+   P1 -> spine2 P49
+   P2 -> spine2 P50
+   P3 -> spine2 P51
+   P4 -> spine2 P52
+   P5 -> spine2 P53
+   P6 -> spine2 P54
+   P7 -> spine1 P55
+   P8 -> spine1 P56
+   P9 -> spine1 P57
+   P10 -> spine1 P58
+   P11 -> spine1 P59
+   P12 -> spine1 P60
+   P13 -> L5/P1
+   P14 -> L5/P2
+   P15 -> L5/P3
+   P16 -> L5/P4
+   P17 -> L5/P5
+   P18 -> L5/P6
+   P19 -> L5/P7
+   P20 -> L5/P8
+   P21 -> L5/P9
+   P22 -> L5/P10
+   P23 -> L5/P11
+   P24 -> L5/P12
+
+SUBSYSTEM LEAF leaf6
+   P1 -> spine2 P61
+   P2 -> spine2 P62
+   P3 -> spine2 P63
+   P4 -> spine2 P64
+   P5 -> spine2 P65
+   P6 -> spine2 P66
+   P7 -> spine1 P67
+   P8 -> spine1 P68
+   P9 -> spine1 P69
+   P10 -> spine1 P70
+   P11 -> spine1 P71
+   P12 -> spine1 P72
+   P13 -> L6/P1
+   P14 -> L6/P2
+   P15 -> L6/P3
+   P16 -> L6/P4
+   P17 -> L6/P5
+   P18 -> L6/P6
+   P19 -> L6/P7
+   P20 -> L6/P8
+   P21 -> L6/P9
+   P22 -> L6/P10
+   P23 -> L6/P11
+   P24 -> L6/P12
+
+SUBSYSTEM LEAF leaf7
+   P1 -> spine2 P72
+   P2 -> spine2 P71
+   P3 -> spine2 P70
+   P4 -> spine2 P69
+   P5 -> spine2 P68
+   P6 -> spine2 P67
+   P7 -> spine1 P66
+   P8 -> spine1 P65
+   P9 -> spine1 P64
+   P10 -> spine1 P63
+   P11 -> spine1 P62
+   P12 -> spine1 P61
+   P13 -> L7/P1
+   P14 -> L7/P2
+   P15 -> L7/P3
+   P16 -> L7/P4
+   P17 -> L7/P5
+   P18 -> L7/P6
+   P19 -> L7/P7
+   P20 -> L7/P8
+   P21 -> L7/P9
+   P22 -> L7/P10
+   P23 -> L7/P11
+   P24 -> L7/P12
+
+SUBSYSTEM LEAF leaf8
+   P1 -> spine2 P60
+   P2 -> spine2 P59
+   P3 -> spine2 P58
+   P4 -> spine2 P57
+   P5 -> spine2 P56
+   P6 -> spine2 P55
+   P7 -> spine1 P54
+   P8 -> spine1 P53
+   P9 -> spine1 P52
+   P10 -> spine1 P51
+   P11 -> spine1 P50
+   P12 -> spine1 P49
+   P13 -> L8/P1
+   P14 -> L8/P2
+   P15 -> L8/P3
+   P16 -> L8/P4
+   P17 -> L8/P5
+   P18 -> L8/P6
+   P19 -> L8/P7
+   P20 -> L8/P8
+   P21 -> L8/P9
+   P22 -> L8/P10
+   P23 -> L8/P11
+   P24 -> L8/P12
+
+SUBSYSTEM LEAF leaf9
+   P1 -> spine2 P48
+   P2 -> spine2 P47
+   P3 -> spine2 P46
+   P4 -> spine2 P45
+   P5 -> spine2 P44
+   P6 -> spine2 P43
+   P7 -> spine1 P42
+   P8 -> spine1 P41
+   P9 -> spine1 P40
+   P10 -> spine1 P39
+   P11 -> spine1 P38
+   P12 -> spine1 P37
+   P13 -> L9/P1
+   P14 -> L9/P2
+   P15 -> L9/P3
+   P16 -> L9/P4
+   P17 -> L9/P5
+   P18 -> L9/P6
+   P19 -> L9/P7
+   P20 -> L9/P8
+   P21 -> L9/P9
+   P22 -> L9/P10
+   P23 -> L9/P11
+   P24 -> L9/P12
+
+SUBSYSTEM LEAF leaf10
+   P1 -> spine2 P36
+   P2 -> spine2 P35
+   P3 -> spine2 P34
+   P4 -> spine2 P33
+   P5 -> spine2 P32
+   P6 -> spine2 P31
+   P7 -> spine1 P30
+   P8 -> spine1 P29
+   P9 -> spine1 P28
+   P10 -> spine1 P27
+   P11 -> spine1 P26
+   P12 -> spine1 P25
+   P13 -> L10/P1
+   P14 -> L10/P2
+   P15 -> L10/P3
+   P16 -> L10/P4
+   P17 -> L10/P5
+   P18 -> L10/P6
+   P19 -> L10/P7
+   P20 -> L10/P8
+   P21 -> L10/P9
+   P22 -> L10/P10
+   P23 -> L10/P11
+   P24 -> L10/P12
+
+
+SUBSYSTEM LEAF leaf11
+   P1 -> spine2 P24
+   P2 -> spine2 P23
+   P3 -> spine2 P22
+   P4 -> spine2 P21
+   P5 -> spine2 P20
+   P6 -> spine2 P19
+   P7 -> spine1 P18
+   P8 -> spine1 P17
+   P9 -> spine1 P16
+   P10 -> spine1 P15
+   P11 -> spine1 P14
+   P12 -> spine1 P13
+   P13 -> L11/P1
+   P14 -> L11/P2
+   P15 -> L11/P3
+   P16 -> L11/P4
+   P17 -> L11/P5
+   P18 -> L11/P6
+   P19 -> L11/P7
+   P20 -> L11/P8
+   P21 -> L11/P9
+   P22 -> L11/P10
+   P23 -> L11/P11
+   P24 -> L11/P12
+
+SUBSYSTEM LEAF leaf12
+   P1 -> spine2 P12
+   P2 -> spine2 P11
+   P3 -> spine2 P10
+   P4 -> spine2 P9
+   P5 -> spine2 P8
+   P6 -> spine2 P7
+   P7 -> spine1 P6
+   P8 -> spine1 P5
+   P9 -> spine1 P4
+   P10 -> spine1 P3
+   P11 -> spine1 P2
+   P12 -> spine1 P1
+   P13 -> L12/P1
+   P14 -> L12/P2
+   P15 -> L12/P3
+   P16 -> L12/P4
+   P17 -> L12/P5
+   P18 -> L12/P6
+   P19 -> L12/P7
+   P20 -> L12/P8
+   P21 -> L12/P9
+   P22 -> L12/P10
+   P23 -> L12/P11
+   P24 -> L12/P12
+
+SUBSYSTEM SPINE spine2
+   P30 -> leaf3 P6
+   P18 -> leaf2 P6
+   P6 -> leaf1 P6
+   P27 -> leaf3 P3
+   P15 -> leaf2 P3
+   P3 -> leaf1 P3
+   P31 -> leaf10 P6
+   P19 -> leaf11 P6
+   P7 -> leaf12 P6
+   P34 -> leaf10 P3
+   P22 -> leaf11 P3
+   P10 -> leaf12 P3
+   P43 -> leaf9 P6
+   P55 -> leaf8 P6
+   P67 -> leaf7 P6
+   P46 -> leaf9 P3
+   P58 -> leaf8 P3
+   P70 -> leaf7 P3
+   P42 -> leaf4 P6
+   P54 -> leaf5 P6
+   P66 -> leaf6 P6
+   P39 -> leaf4 P3
+   P51 -> leaf5 P3
+   P63 -> leaf6 P3
+   P29 -> leaf3 P5
+   P17 -> leaf2 P5
+   P5 -> leaf1 P5
+   P26 -> leaf3 P2
+   P14 -> leaf2 P2
+   P2 -> leaf1 P2
+   P32 -> leaf10 P5
+   P20 -> leaf11 P5
+   P8 -> leaf12 P5
+   P35 -> leaf10 P2
+   P23 -> leaf11 P2
+   P11 -> leaf12 P2
+   P44 -> leaf9 P5
+   P56 -> leaf8 P5
+   P68 -> leaf7 P5
+   P47 -> leaf9 P2
+   P59 -> leaf8 P2
+   P71 -> leaf7 P2
+   P41 -> leaf4 P5
+   P53 -> leaf5 P5
+   P65 -> leaf6 P5
+   P38 -> leaf4 P2
+   P50 -> leaf5 P2
+   P62 -> leaf6 P2
+   P28 -> leaf3 P4
+   P16 -> leaf2 P4
+   P4 -> leaf1 P4
+   P25 -> leaf3 P1
+   P13 -> leaf2 P1
+   P1 -> leaf1 P1
+   P33 -> leaf10 P4
+   P21 -> leaf11 P4
+   P9 -> leaf12 P4
+   P36 -> leaf10 P1
+   P24 -> leaf11 P1
+   P12 -> leaf12 P1
+   P45 -> leaf9 P4
+   P57 -> leaf8 P4
+   P69 -> leaf7 P4
+   P48 -> leaf9 P1
+   P60 -> leaf8 P1
+   P72 -> leaf7 P1
+   P40 -> leaf4 P4
+   P52 -> leaf5 P4
+   P64 -> leaf6 P4
+   P37 -> leaf4 P1
+   P49 -> leaf5 P1
+   P61 -> leaf6 P1
+
+SUBSYSTEM SPINE spine1
+   P30 -> leaf10 P7
+   P18 -> leaf11 P7
+   P6 -> leaf12 P7
+   P27 -> leaf10 P10
+   P15 -> leaf11 P10
+   P3 -> leaf12 P10
+   P31 -> leaf3 P7
+   P19 -> leaf2 P7
+   P7 -> leaf1 P7
+   P34 -> leaf3 P10
+   P22 -> leaf2 P10
+   P10 -> leaf1 P10
+   P43 -> leaf4 P7
+   P55 -> leaf5 P7
+   P67 -> leaf6 P7
+   P46 -> leaf4 P10
+   P58 -> leaf5 P10
+   P70 -> leaf6 P10
+   P42 -> leaf9 P7
+   P54 -> leaf8 P7
+   P66 -> leaf7 P7
+   P39 -> leaf9 P10
+   P51 -> leaf8 P10
+   P63 -> leaf7 P10
+   P29 -> leaf10 P8
+   P17 -> leaf11 P8
+   P5 -> leaf12 P8
+   P26 -> leaf10 P11
+   P14 -> leaf11 P11
+   P2 -> leaf12 P11
+   P32 -> leaf3 P8
+   P20 -> leaf2 P8
+   P8 -> leaf1 P8
+   P35 -> leaf3 P11
+   P23 -> leaf2 P11
+   P11 -> leaf1 P11
+   P44 -> leaf4 P8
+   P56 -> leaf5 P8
+   P68 -> leaf6 P8
+   P47 -> leaf4 P11
+   P59 -> leaf5 P11
+   P71 -> leaf6 P11
+   P41 -> leaf9 P8
+   P53 -> leaf8 P8
+   P65 -> leaf7 P8
+   P38 -> leaf9 P11
+   P50 -> leaf8 P11
+   P62 -> leaf7 P11
+   P28 -> leaf10 P9
+   P16 -> leaf11 P9
+   P4 -> leaf12 P9
+   P25 -> leaf10 P12
+   P13 -> leaf11 P12
+   P1 -> leaf12 P12
+   P33 -> leaf3 P9
+   P21 -> leaf2 P9
+   P9 -> leaf1 P9
+   P36 -> leaf3 P12
+   P24 -> leaf2 P12
+   P12 -> leaf1 P12
+   P45 -> leaf4 P9
+   P57 -> leaf5 P9
+   P69 -> leaf6 P9
+   P48 -> leaf4 P12
+   P60 -> leaf5 P12
+   P72 -> leaf6 P12
+   P40 -> leaf9 P9
+   P52 -> leaf8 P9
+   P64 -> leaf7 P9
+   P37 -> leaf9 P12
+   P49 -> leaf8 P12
+   P61 -> leaf7 P12
+
+
diff --git a/ibdm/ibnl/MTS2400-12T4.ibnl b/ibdm/ibnl/MTS2400-12T4.ibnl
new file mode 100644
index 0000000..85efd39
--- /dev/null
+++ b/ibdm/ibnl/MTS2400-12T4.ibnl
@@ -0,0 +1,22 @@
+
+TOPSYSTEM Reindeer-12x12x,MTS2400-12T4
+
+U1=isChaBma
+
+NODE SW 24 MT47396 U1
+    1  -> P1
+    2  -> P2
+    3  -> P3
+    4  -> P4
+    5  -> P5
+    6  -> P6
+    7  -> P7
+    8  -> P8
+    9  -> P9
+    10 -> P10
+    11 -> P11
+    12 -> P12
+    13 -12x-> P13
+    16 -12x-> P16
+    19 -12x-> P19
+    22 -12x-> P22
diff --git a/ibdm/ibnl/MTS2400-24.ibnl b/ibdm/ibnl/MTS2400-24.ibnl
new file mode 100644
index 0000000..9472a4a
--- /dev/null
+++ b/ibdm/ibnl/MTS2400-24.ibnl
@@ -0,0 +1,30 @@
+
+TOPSYSTEM Reindeer,MTS2400,MTS2400-24
+
+U1=isChaBma
+
+NODE SW 24 MT47396 U1
+    1  -> P1
+    2  -> P2
+    3  -> P3
+    4  -> P4
+    5  -> P5
+    6  -> P6
+    7  -> P7
+    8  -> P8
+    9  -> P9
+    10 -> P10
+    11 -> P11
+    12 -> P12
+    13 -> P13
+    14 -> P14
+    15 -> P15
+    16 -> P16
+    17 -> P17
+    18 -> P18
+    19 -> P19
+    20 -> P20
+    21 -> P21
+    22 -> P22
+    23 -> P23
+    24 -> P24
diff --git a/ibdm/ibnl/MTS3600.ibnl b/ibdm/ibnl/MTS3600.ibnl
new file mode 100755
index 0000000..d495bcf
--- /dev/null
+++ b/ibdm/ibnl/MTS3600.ibnl
@@ -0,0 +1,43 @@
+
+TOPSYSTEM MTS3600,Shark
+
+U1=isChaBma
+
+NODE SW 36 MT48436 U1
+    1  -> P1
+    2  -> P2
+    3  -> P3
+    4  -> P4
+    5  -> P5
+    6  -> P6
+    7  -> P7
+    8  -> P8
+    9  -> P9
+    10 -> P10
+    11 -> P11
+    12 -> P12
+    13 -> P13
+    14 -> P14
+    15 -> P15
+    16 -> P16
+    17 -> P17
+    18 -> P18
+    19 -> P19
+    20 -> P20
+    21 -> P21
+    22 -> P22
+    23 -> P23
+    24 -> P24
+    25 -> P25
+    26 -> P26
+    27 -> P27
+    28 -> P28
+    29 -> P29
+    30 -> P30
+    31 -> P31
+    32 -> P32
+    33 -> P33
+    34 -> P34
+    35 -> P35
+    36 -> P36
+
diff --git a/ibdm/ibnl/MTS3610.ibnl b/ibdm/ibnl/MTS3610.ibnl
new file mode 100755
index 0000000..adae895
--- /dev/null
+++ b/ibdm/ibnl/MTS3610.ibnl
@@ -0,0 +1,1108 @@
+SYSTEM LEAF,LEAF:4x,LEAF:4X
+
+ NODE SW 36 MT48436 U1
+  1  -10G-> P1        
+  2  -10G-> P2    
+  3  -10G-> P3    
+  4  -10G-> P4    
+  5  -10G-> P5    
+  6  -10G-> P6    
+  7  -10G-> P7    
+  8  -10G-> P8    
+  9  -10G-> P9    
+  10 -10G-> P10     
+  11 -10G-> P11     
+  12 -10G-> P12     
+  13 -10G-> P13     
+  14 -10G-> P14     
+  15 -10G-> P15    
+  16 -10G-> P16         
+  17 -10G-> P17       
+  18 -10G-> P18       
+  19 -10G-> P19        
+  20 -10G-> P20        
+  21 -10G-> P21       
+  22 -10G-> P22        
+  23 -10G-> P23        
+  24 -10G-> P24        
+  25 -10G-> P25        
+  26 -10G-> P26        
+  27 -10G-> P27        
+  28 -10G-> P28        
+  29 -10G-> P29        
+  30 -10G-> P30       
+  31 -10G-> P31        
+  32 -10G-> P32        
+  33 -10G-> P33        
+  34 -10G-> P34        
+  35 -10G-> P35        
+  36 -10G-> P36        
+    
+SYSTEM SPINE,SPINE:4x,SPINE:4X
+
+ NODE SW 36 MT48436 U1
+  1  -10G-> P1
+  2  -10G-> P2
+  3  -10G-> P3
+  4  -10G-> P4
+  5  -10G-> P5
+  6  -10G-> P6
+  7  -10G-> P7
+  8  -10G-> P8
+  9  -10G-> P9
+  10 -10G-> P10
+  11 -10G-> P11
+  12 -10G-> P12
+  13 -10G-> P13
+  14 -10G-> P14
+  15 -10G-> P15
+  16 -10G-> P16
+  17 -10G-> P17
+  18 -10G-> P18
+  19 -10G-> P19
+  20 -10G-> P20
+  21 -10G-> P21
+  22 -10G-> P22
+  23 -10G-> P23
+  24 -10G-> P24
+  25 -10G-> P25
+  26 -10G-> P26
+  27 -10G-> P27
+  28 -10G-> P28
+  29 -10G-> P29
+  30 -10G-> P30
+  31 -10G-> P31
+  32 -10G-> P32
+  33 -10G-> P33
+  34 -10G-> P34
+  35 -10G-> P35
+  36 -10G-> P36
+
+TOPSYSTEM MTS3610,Mammoth
+
+ SUBSYSTEM LEAF leaf1
+   P1 -10G-> L1/P1
+   P2 -10G-> L1/P2
+   P3 -10G-> L1/P3
+   P4 -10G-> L1/P4
+   P5 -10G-> L1/P5
+   P6 -10G-> L1/P6
+   P7 -10G-> L1/P7
+   P8 -10G-> L1/P8
+   P9 -10G-> L1/P9
+   P10 -10G-> L1/P10
+   P11 -10G-> L1/P11
+   P12 -10G-> L1/P12
+   P13 -10G-> L1/P13
+   P14 -10G-> L1/P14
+   P15 -10G-> L1/P15
+   P16 -10G-> L1/P16
+   P17 -10G-> L1/P17
+   P18 -10G-> L1/P18
+   P19 -10G-> spine1 P1
+   P20 -10G-> spine1 P2
+   P21 -10G-> spine2 P2
+   P22 -10G-> spine2 P1
+   P23 -10G-> spine3 P1
+   P24 -10G-> spine3 P2
+   P25 -10G-> spine4 P1
+   P26 -10G-> spine4 P2
+   P27 -10G-> spine5 P1
+   P28 -10G-> spine5 P2
+   P29 -10G-> spine6 P1
+   P30 -10G-> spine6 P2
+   P31 -10G-> spine7 P1
+   P32 -10G-> spine7 P2
+   P33 -10G-> spine8 P2
+   P34 -10G-> spine8 P1
+   P35 -10G-> spine9 P1
+   P36 -10G-> spine9 P2
+
+ SUBSYSTEM LEAF leaf2
+   P1 -10G-> L2/P1
+   P2 -10G-> L2/P2
+   P3 -10G-> L2/P3
+   P4 -10G-> L2/P4
+   P5 -10G-> L2/P5
+   P6 -10G-> L2/P6
+   P7 -10G-> L2/P7
+   P8 -10G-> L2/P8
+   P9 -10G-> L2/P9
+   P10 -10G-> L2/P10
+   P11 -10G-> L2/P11
+   P12 -10G-> L2/P12
+   P13 -10G-> L2/P13
+   P14 -10G-> L2/P14
+   P15 -10G-> L2/P15
+   P16 -10G-> L2/P16
+   P17 -10G-> L2/P17
+   P18 -10G-> L2/P18
+   P19 -10G-> spine1 P3
+   P20 -10G-> spine1 P4
+   P21 -10G-> spine2 P4
+   P22 -10G-> spine2 P3
+   P23 -10G-> spine3 P3
+   P24 -10G-> spine3 P4
+   P25 -10G-> spine4 P3
+   P26 -10G-> spine4 P4
+   P27 -10G-> spine5 P3
+   P28 -10G-> spine5 P4
+   P29 -10G-> spine6 P3
+   P30 -10G-> spine6 P4
+   P31 -10G-> spine7 P3
+   P32 -10G-> spine7 P4
+   P33 -10G-> spine8 P4
+   P34 -10G-> spine8 P3
+   P35 -10G-> spine9 P3
+   P36 -10G-> spine9 P4
+
+ SUBSYSTEM LEAF leaf3
+   P1 -10G-> L3/P1
+   P2 -10G-> L3/P2
+   P3 -10G-> L3/P3
+   P4 -10G-> L3/P4
+   P5 -10G-> L3/P5
+   P6 -10G-> L3/P6
+   P7 -10G-> L3/P7
+   P8 -10G-> L3/P8
+   P9 -10G-> L3/P9
+   P10 -10G-> L3/P10
+   P11 -10G-> L3/P11
+   P12 -10G-> L3/P12
+   P13 -10G-> L3/P13
+   P14 -10G-> L3/P14
+   P15 -10G-> L3/P15
+   P16 -10G-> L3/P16
+   P17 -10G-> L3/P17
+   P18 -10G-> L3/P18
+   P19 -10G-> spine1 P5
+   P20 -10G-> spine1 P6
+   P21 -10G-> spine2 P6
+   P22 -10G-> spine2 P5
+   P23 -10G-> spine3 P5
+   P24 -10G-> spine3 P6
+   P25 -10G-> spine4 P5
+   P26 -10G-> spine4 P6
+   P27 -10G-> spine5 P5
+   P28 -10G-> spine5 P6
+   P29 -10G-> spine6 P5
+   P30 -10G-> spine6 P6
+   P31 -10G-> spine7 P5
+   P32 -10G-> spine7 P6
+   P33 -10G-> spine8 P6
+   P34 -10G-> spine8 P5
+   P35 -10G-> spine9 P5
+   P36 -10G-> spine9 P6
+
+ SUBSYSTEM LEAF leaf4
+   P1 -10G-> L4/P1
+   P2 -10G-> L4/P2
+   P3 -10G-> L4/P3
+   P4 -10G-> L4/P4
+   P5 -10G-> L4/P5
+   P6 -10G-> L4/P6
+   P7 -10G-> L4/P7
+   P8 -10G-> L4/P8
+   P9 -10G-> L4/P9
+   P10 -10G-> L4/P10
+   P11 -10G-> L4/P11
+   P12 -10G-> L4/P12
+   P13 -10G-> L4/P13
+   P14 -10G-> L4/P14
+   P15 -10G-> L4/P15
+   P16 -10G-> L4/P16
+   P17 -10G-> L4/P17
+   P18 -10G-> L4/P18
+   P19 -10G-> spine1 P7
+   P20 -10G-> spine1 P8
+   P21 -10G-> spine2 P8
+   P22 -10G-> spine2 P7
+   P23 -10G-> spine3 P7
+   P24 -10G-> spine3 P8
+   P25 -10G-> spine4 P7
+   P26 -10G-> spine4 P8
+   P27 -10G-> spine5 P7
+   P28 -10G-> spine5 P8
+   P29 -10G-> spine6 P7
+   P30 -10G-> spine6 P8
+   P31 -10G-> spine7 P7
+   P32 -10G-> spine7 P8
+   P33 -10G-> spine8 P8
+   P34 -10G-> spine8 P7
+   P35 -10G-> spine9 P7
+   P36 -10G-> spine9 P8
+
+ SUBSYSTEM LEAF leaf5
+   P1 -10G-> L5/P1
+   P2 -10G-> L5/P2
+   P3 -10G-> L5/P3
+   P4 -10G-> L5/P4
+   P5 -10G-> L5/P5
+   P6 -10G-> L5/P6
+   P7 -10G-> L5/P7
+   P8 -10G-> L5/P8
+   P9 -10G-> L5/P9
+   P10 -10G-> L5/P10
+   P11 -10G-> L5/P11
+   P12 -10G-> L5/P12
+   P13 -10G-> L5/P13
+   P14 -10G-> L5/P14
+   P15 -10G-> L5/P15
+   P16 -10G-> L5/P16
+   P17 -10G-> L5/P17
+   P18 -10G-> L5/P18
+   P19 -10G-> spine1 P9
+   P20 -10G-> spine1 P10
+   P21 -10G-> spine2 P10
+   P22 -10G-> spine2 P9
+   P23 -10G-> spine3 P9
+   P24 -10G-> spine3 P10
+   P25 -10G-> spine4 P9
+   P26 -10G-> spine4 P10
+   P27 -10G-> spine5 P9
+   P28 -10G-> spine5 P10
+   P29 -10G-> spine6 P9
+   P30 -10G-> spine6 P10
+   P31 -10G-> spine7 P9
+   P32 -10G-> spine7 P10
+   P33 -10G-> spine8 P10
+   P34 -10G-> spine8 P9
+   P35 -10G-> spine9 P9
+   P36 -10G-> spine9 P10
+
+ SUBSYSTEM LEAF leaf6
+   P1 -10G-> L6/P1
+   P2 -10G-> L6/P2
+   P3 -10G-> L6/P3
+   P4 -10G-> L6/P4
+   P5 -10G-> L6/P5
+   P6 -10G-> L6/P6
+   P7 -10G-> L6/P7
+   P8 -10G-> L6/P8
+   P9 -10G-> L6/P9
+   P10 -10G-> L6/P10
+   P11 -10G-> L6/P11
+   P12 -10G-> L6/P12
+   P13 -10G-> L6/P13
+   P14 -10G-> L6/P14
+   P15 -10G-> L6/P15
+   P16 -10G-> L6/P16
+   P17 -10G-> L6/P17
+   P18 -10G-> L6/P18
+   P19 -10G-> spine1 P11
+   P20 -10G-> spine1 P12
+   P21 -10G-> spine2 P12
+   P22 -10G-> spine2 P11
+   P23 -10G-> spine3 P11
+   P24 -10G-> spine3 P12
+   P25 -10G-> spine4 P11
+   P26 -10G-> spine4 P12
+   P27 -10G-> spine5 P11
+   P28 -10G-> spine5 P12
+   P29 -10G-> spine6 P11
+   P30 -10G-> spine6 P12
+   P31 -10G-> spine7 P11
+   P32 -10G-> spine7 P12
+   P33 -10G-> spine8 P12
+   P34 -10G-> spine8 P11
+   P35 -10G-> spine9 P11
+   P36 -10G-> spine9 P12
+
+ SUBSYSTEM LEAF leaf7
+   P1 -10G-> L7/P1
+   P2 -10G-> L7/P2
+   P3 -10G-> L7/P3
+   P4 -10G-> L7/P4
+   P5 -10G-> L7/P5
+   P6 -10G-> L7/P6
+   P7 -10G-> L7/P7
+   P8 -10G-> L7/P8
+   P9 -10G-> L7/P9
+   P10 -10G-> L7/P10
+   P11 -10G-> L7/P11
+   P12 -10G-> L7/P12
+   P13 -10G-> L7/P13
+   P14 -10G-> L7/P14
+   P15 -10G-> L7/P15
+   P16 -10G-> L7/P16
+   P17 -10G-> L7/P17
+   P18 -10G-> L7/P18
+   P19 -10G-> spine1 P13
+   P20 -10G-> spine1 P14
+   P21 -10G-> spine2 P14
+   P22 -10G-> spine2 P13
+   P23 -10G-> spine3 P13
+   P24 -10G-> spine3 P14
+   P25 -10G-> spine4 P13
+   P26 -10G-> spine4 P14
+   P27 -10G-> spine5 P13
+   P28 -10G-> spine5 P14
+   P29 -10G-> spine6 P13
+   P30 -10G-> spine6 P14
+   P31 -10G-> spine7 P13
+   P32 -10G-> spine7 P14
+   P33 -10G-> spine8 P14
+   P34 -10G-> spine8 P13
+   P35 -10G-> spine9 P13
+   P36 -10G-> spine9 P14
+
+ SUBSYSTEM LEAF leaf8
+   P1 -10G-> L8/P1
+   P2 -10G-> L8/P2
+   P3 -10G-> L8/P3
+   P4 -10G-> L8/P4
+   P5 -10G-> L8/P5
+   P6 -10G-> L8/P6
+   P7 -10G-> L8/P7
+   P8 -10G-> L8/P8
+   P9 -10G-> L8/P9
+   P10 -10G-> L8/P10
+   P11 -10G-> L8/P11
+   P12 -10G-> L8/P12
+   P13 -10G-> L8/P13
+   P14 -10G-> L8/P14
+   P15 -10G-> L8/P15
+   P16 -10G-> L8/P16
+   P17 -10G-> L8/P17
+   P18 -10G-> L8/P18
+   P19 -10G-> spine1 P15
+   P20 -10G-> spine1 P16
+   P21 -10G-> spine2 P16
+   P22 -10G-> spine2 P15
+   P23 -10G-> spine3 P15
+   P24 -10G-> spine3 P16
+   P25 -10G-> spine4 P15
+   P26 -10G-> spine4 P16
+   P27 -10G-> spine5 P15
+   P28 -10G-> spine5 P16
+   P29 -10G-> spine6 P15
+   P30 -10G-> spine6 P16
+   P31 -10G-> spine7 P15
+   P32 -10G-> spine7 P16
+   P33 -10G-> spine8 P16
+   P34 -10G-> spine8 P15
+   P35 -10G-> spine9 P15
+   P36 -10G-> spine9 P16
+
+ SUBSYSTEM LEAF leaf9
+   P1 -10G-> L9/P1
+   P2 -10G-> L9/P2
+   P3 -10G-> L9/P3
+   P4 -10G-> L9/P4
+   P5 -10G-> L9/P5
+   P6 -10G-> L9/P6
+   P7 -10G-> L9/P7
+   P8 -10G-> L9/P8
+   P9 -10G-> L9/P9
+   P10 -10G-> L9/P10
+   P11 -10G-> L9/P11
+   P12 -10G-> L9/P12
+   P13 -10G-> L9/P13
+   P14 -10G-> L9/P14
+   P15 -10G-> L9/P15
+   P16 -10G-> L9/P16
+   P17 -10G-> L9/P17
+   P18 -10G-> L9/P18
+   P19 -10G-> spine1 P17
+   P20 -10G-> spine1 P18
+   P21 -10G-> spine2 P18
+   P22 -10G-> spine2 P17
+   P23 -10G-> spine3 P17
+   P24 -10G-> spine3 P18
+   P25 -10G-> spine4 P17
+   P26 -10G-> spine4 P18
+   P27 -10G-> spine5 P17
+   P28 -10G-> spine5 P18
+   P29 -10G-> spine6 P17
+   P30 -10G-> spine6 P18
+   P31 -10G-> spine7 P17
+   P32 -10G-> spine7 P18
+   P33 -10G-> spine8 P18
+   P34 -10G-> spine8 P17
+   P35 -10G-> spine9 P17
+   P36 -10G-> spine9 P18
+
+ SUBSYSTEM LEAF leaf10
+   P1 -10G-> L10/P1
+   P2 -10G-> L10/P2
+   P3 -10G-> L10/P3
+   P4 -10G-> L10/P4
+   P5 -10G-> L10/P5
+   P6 -10G-> L10/P6
+   P7 -10G-> L10/P7
+   P8 -10G-> L10/P8
+   P9 -10G-> L10/P9
+   P10 -10G-> L10/P10
+   P11 -10G-> L10/P11
+   P12 -10G-> L10/P12
+   P13 -10G-> L10/P13
+   P14 -10G-> L10/P14
+   P15 -10G-> L10/P15
+   P16 -10G-> L10/P16
+   P17 -10G-> L10/P17
+   P18 -10G-> L10/P18
+   P19 -10G-> spine1 P19
+   P20 -10G-> spine1 P20
+   P21 -10G-> spine2 P20
+   P22 -10G-> spine2 P19
+   P23 -10G-> spine3 P19
+   P24 -10G-> spine3 P20
+   P25 -10G-> spine4 P19
+   P26 -10G-> spine4 P20
+   P27 -10G-> spine5 P19
+   P28 -10G-> spine5 P20
+   P29 -10G-> spine6 P19
+   P30 -10G-> spine6 P20
+   P31 -10G-> spine7 P19
+   P32 -10G-> spine7 P20
+   P33 -10G-> spine8 P20
+   P34 -10G-> spine8 P19
+   P35 -10G-> spine9 P19
+   P36 -10G-> spine9 P20
+
+ SUBSYSTEM LEAF leaf11
+   P1 -10G-> L11/P1
+   P2 -10G-> L11/P2
+   P3 -10G-> L11/P3
+   P4 -10G-> L11/P4
+   P5 -10G-> L11/P5
+   P6 -10G-> L11/P6
+   P7 -10G-> L11/P7
+   P8 -10G-> L11/P8
+   P9 -10G-> L11/P9
+   P10 -10G-> L11/P10
+   P11 -10G-> L11/P11
+   P12 -10G-> L11/P12
+   P13 -10G-> L11/P13
+   P14 -10G-> L11/P14
+   P15 -10G-> L11/P15
+   P16 -10G-> L11/P16
+   P17 -10G-> L11/P17
+   P18 -10G-> L11/P18
+   P19 -10G-> spine1 P21
+   P20 -10G-> spine1 P22
+   P21 -10G-> spine2 P22
+   P22 -10G-> spine2 P21
+   P23 -10G-> spine3 P21
+   P24 -10G-> spine3 P22
+   P25 -10G-> spine4 P21
+   P26 -10G-> spine4 P22
+   P27 -10G-> spine5 P21
+   P28 -10G-> spine5 P22
+   P29 -10G-> spine6 P21
+   P30 -10G-> spine6 P22
+   P31 -10G-> spine7 P21
+   P32 -10G-> spine7 P22
+   P33 -10G-> spine8 P22
+   P34 -10G-> spine8 P21
+   P35 -10G-> spine9 P21
+   P36 -10G-> spine9 P22
+
+ SUBSYSTEM LEAF leaf12
+   P1 -10G-> L12/P1
+   P2 -10G-> L12/P2
+   P3 -10G-> L12/P3
+   P4 -10G-> L12/P4
+   P5 -10G-> L12/P5
+   P6 -10G-> L12/P6
+   P7 -10G-> L12/P7
+   P8 -10G-> L12/P8
+   P9 -10G-> L12/P9
+   P10 -10G-> L12/P10
+   P11 -10G-> L12/P11
+   P12 -10G-> L12/P12
+   P13 -10G-> L12/P13
+   P14 -10G-> L12/P14
+   P15 -10G-> L12/P15
+   P16 -10G-> L12/P16
+   P17 -10G-> L12/P17
+   P18 -10G-> L12/P18
+   P19 -10G-> spine1 P23
+   P20 -10G-> spine1 P24
+   P21 -10G-> spine2 P24
+   P22 -10G-> spine2 P23
+   P23 -10G-> spine3 P23
+   P24 -10G-> spine3 P24
+   P25 -10G-> spine4 P23
+   P26 -10G-> spine4 P24
+   P27 -10G-> spine5 P23
+   P28 -10G-> spine5 P24
+   P29 -10G-> spine6 P23
+   P30 -10G-> spine6 P24
+   P31 -10G-> spine7 P23
+   P32 -10G-> spine7 P24
+   P33 -10G-> spine8 P24
+   P34 -10G-> spine8 P23
+   P35 -10G-> spine9 P23
+   P36 -10G-> spine9 P24
+
+ SUBSYSTEM LEAF leaf13
+   P1 -10G-> L13/P1
+   P2 -10G-> L13/P2
+   P3 -10G-> L13/P3
+   P4 -10G-> L13/P4
+   P5 -10G-> L13/P5
+   P6 -10G-> L13/P6
+   P7 -10G-> L13/P7
+   P8 -10G-> L13/P8
+   P9 -10G-> L13/P9
+   P10 -10G-> L13/P10
+   P11 -10G-> L13/P11
+   P12 -10G-> L13/P12
+   P13 -10G-> L13/P13
+   P14 -10G-> L13/P14
+   P15 -10G-> L13/P15
+   P16 -10G-> L13/P16
+   P17 -10G-> L13/P17
+   P18 -10G-> L13/P18
+   P19 -10G-> spine1 P25
+   P20 -10G-> spine1 P26
+   P21 -10G-> spine2 P26
+   P22 -10G-> spine2 P25
+   P23 -10G-> spine3 P25
+   P24 -10G-> spine3 P26
+   P25 -10G-> spine4 P25
+   P26 -10G-> spine4 P26
+   P27 -10G-> spine5 P25
+   P28 -10G-> spine5 P26
+   P29 -10G-> spine6 P25
+   P30 -10G-> spine6 P26
+   P31 -10G-> spine7 P25
+   P32 -10G-> spine7 P26
+   P33 -10G-> spine8 P26
+   P34 -10G-> spine8 P25
+   P35 -10G-> spine9 P25
+   P36 -10G-> spine9 P26
+
+ SUBSYSTEM LEAF leaf14
+   P1 -10G-> L14/P1
+   P2 -10G-> L14/P2
+   P3 -10G-> L14/P3
+   P4 -10G-> L14/P4
+   P5 -10G-> L14/P5
+   P6 -10G-> L14/P6
+   P7 -10G-> L14/P7
+   P8 -10G-> L14/P8
+   P9 -10G-> L14/P9
+   P10 -10G-> L14/P10
+   P11 -10G-> L14/P11
+   P12 -10G-> L14/P12
+   P13 -10G-> L14/P13
+   P14 -10G-> L14/P14
+   P15 -10G-> L14/P15
+   P16 -10G-> L14/P16
+   P17 -10G-> L14/P17
+   P18 -10G-> L14/P18
+   P19 -10G-> spine1 P27
+   P20 -10G-> spine1 P28
+   P21 -10G-> spine2 P28
+   P22 -10G-> spine2 P27
+   P23 -10G-> spine3 P27
+   P24 -10G-> spine3 P28
+   P25 -10G-> spine4 P27
+   P26 -10G-> spine4 P28
+   P27 -10G-> spine5 P27
+   P28 -10G-> spine5 P28
+   P29 -10G-> spine6 P27
+   P30 -10G-> spine6 P28
+   P31 -10G-> spine7 P27
+   P32 -10G-> spine7 P28
+   P33 -10G-> spine8 P28
+   P34 -10G-> spine8 P27
+   P35 -10G-> spine9 P27
+   P36 -10G-> spine9 P28
+
+ SUBSYSTEM LEAF leaf15
+   P1 -10G-> L15/P1
+   P2 -10G-> L15/P2
+   P3 -10G-> L15/P3
+   P4 -10G-> L15/P4
+   P5 -10G-> L15/P5
+   P6 -10G-> L15/P6
+   P7 -10G-> L15/P7
+   P8 -10G-> L15/P8
+   P9 -10G-> L15/P9
+   P10 -10G-> L15/P10
+   P11 -10G-> L15/P11
+   P12 -10G-> L15/P12
+   P13 -10G-> L15/P13
+   P14 -10G-> L15/P14
+   P15 -10G-> L15/P15
+   P16 -10G-> L15/P16
+   P17 -10G-> L15/P17
+   P18 -10G-> L15/P18
+   P19 -10G-> spine1 P29
+   P20 -10G-> spine1 P30
+   P21 -10G-> spine2 P30
+   P22 -10G-> spine2 P29
+   P23 -10G-> spine3 P29
+   P24 -10G-> spine3 P30
+   P25 -10G-> spine4 P29
+   P26 -10G-> spine4 P30
+   P27 -10G-> spine5 P29
+   P28 -10G-> spine5 P30
+   P29 -10G-> spine6 P29
+   P30 -10G-> spine6 P30
+   P31 -10G-> spine7 P29
+   P32 -10G-> spine7 P30
+   P33 -10G-> spine8 P30
+   P34 -10G-> spine8 P29
+   P35 -10G-> spine9 P29
+   P36 -10G-> spine9 P30
+
+ SUBSYSTEM LEAF leaf16
+   P1 -10G-> L16/P1
+   P2 -10G-> L16/P2
+   P3 -10G-> L16/P3
+   P4 -10G-> L16/P4
+   P5 -10G-> L16/P5
+   P6 -10G-> L16/P6
+   P7 -10G-> L16/P7
+   P8 -10G-> L16/P8
+   P9 -10G-> L16/P9
+   P10 -10G-> L16/P10
+   P11 -10G-> L16/P11
+   P12 -10G-> L16/P12
+   P13 -10G-> L16/P13
+   P14 -10G-> L16/P14
+   P15 -10G-> L16/P15
+   P16 -10G-> L16/P16
+   P17 -10G-> L16/P17
+   P18 -10G-> L16/P18
+   P19 -10G-> spine1 P31
+   P20 -10G-> spine1 P32
+   P21 -10G-> spine2 P32
+   P22 -10G-> spine2 P31
+   P23 -10G-> spine3 P31
+   P24 -10G-> spine3 P32
+   P25 -10G-> spine4 P31
+   P26 -10G-> spine4 P32
+   P27 -10G-> spine5 P31
+   P28 -10G-> spine5 P32
+   P29 -10G-> spine6 P31
+   P30 -10G-> spine6 P32
+   P31 -10G-> spine7 P31
+   P32 -10G-> spine7 P32
+   P33 -10G-> spine8 P32
+   P34 -10G-> spine8 P31
+   P35 -10G-> spine9 P31
+   P36 -10G-> spine9 P32
+
+ SUBSYSTEM LEAF leaf17
+   P1 -10G-> L17/P1
+   P2 -10G-> L17/P2
+   P3 -10G-> L17/P3
+   P4 -10G-> L17/P4
+   P5 -10G-> L17/P5
+   P6 -10G-> L17/P6
+   P7 -10G-> L17/P7
+   P8 -10G-> L17/P8
+   P9 -10G-> L17/P9
+   P10 -10G-> L17/P10
+   P11 -10G-> L17/P11
+   P12 -10G-> L17/P12
+   P13 -10G-> L17/P13
+   P14 -10G-> L17/P14
+   P15 -10G-> L17/P15
+   P16 -10G-> L17/P16
+   P17 -10G-> L17/P17
+   P18 -10G-> L17/P18
+   P19 -10G-> spine1 P33
+   P20 -10G-> spine1 P34
+   P21 -10G-> spine2 P34
+   P22 -10G-> spine2 P33
+   P23 -10G-> spine3 P33
+   P24 -10G-> spine3 P34
+   P25 -10G-> spine4 P33
+   P26 -10G-> spine4 P34
+   P27 -10G-> spine5 P33
+   P28 -10G-> spine5 P34
+   P29 -10G-> spine6 P33
+   P30 -10G-> spine6 P34
+   P31 -10G-> spine7 P33
+   P32 -10G-> spine7 P34
+   P33 -10G-> spine8 P34
+   P34 -10G-> spine8 P33
+   P35 -10G-> spine9 P33
+   P36 -10G-> spine9 P34
+
+ SUBSYSTEM LEAF leaf18
+   P1 -10G-> L18/P1
+   P2 -10G-> L18/P2
+   P3 -10G-> L18/P3
+   P4 -10G-> L18/P4
+   P5 -10G-> L18/P5
+   P6 -10G-> L18/P6
+   P7 -10G-> L18/P7
+   P8 -10G-> L18/P8
+   P9 -10G-> L18/P9
+   P10 -10G-> L18/P10
+   P11 -10G-> L18/P11
+   P12 -10G-> L18/P12
+   P13 -10G-> L18/P13
+   P14 -10G-> L18/P14
+   P15 -10G-> L18/P15
+   P16 -10G-> L18/P16
+   P17 -10G-> L18/P17
+   P18 -10G-> L18/P18
+   P19 -10G-> spine1 P35
+   P20 -10G-> spine1 P36
+   P21 -10G-> spine2 P36
+   P22 -10G-> spine2 P35
+   P23 -10G-> spine3 P35
+   P24 -10G-> spine3 P36
+   P25 -10G-> spine4 P35
+   P26 -10G-> spine4 P36
+   P27 -10G-> spine5 P35
+   P28 -10G-> spine5 P36
+   P29 -10G-> spine6 P35
+   P30 -10G-> spine6 P36
+   P31 -10G-> spine7 P35
+   P32 -10G-> spine7 P36
+   P33 -10G-> spine8 P36
+   P34 -10G-> spine8 P35
+   P35 -10G-> spine9 P35
+   P36 -10G-> spine9 P36
+
+ SUBSYSTEM SPINE spine1
+   P1 -10G-> leaf1 P19
+   P2 -10G-> leaf1 P20
+   P3 -10G-> leaf2 P19
+   P4 -10G-> leaf2 P20
+   P5 -10G-> leaf3 P19
+   P6 -10G-> leaf3 P20
+   P7 -10G-> leaf4 P19
+   P8 -10G-> leaf4 P20
+   P9 -10G-> leaf5 P19
+   P10 -10G-> leaf5 P20
+   P11 -10G-> leaf6 P19
+   P12 -10G-> leaf6 P20
+   P13 -10G-> leaf7 P19
+   P14 -10G-> leaf7 P20
+   P15 -10G-> leaf8 P19
+   P16 -10G-> leaf8 P20
+   P17 -10G-> leaf9 P19
+   P18 -10G-> leaf9 P20
+   P19 -10G-> leaf10 P19
+   P20 -10G-> leaf10 P20
+   P21 -10G-> leaf11 P19
+   P22 -10G-> leaf11 P20
+   P23 -10G-> leaf12 P19
+   P24 -10G-> leaf12 P20
+   P25 -10G-> leaf13 P19
+   P26 -10G-> leaf13 P20
+   P27 -10G-> leaf14 P19
+   P28 -10G-> leaf14 P20
+   P29 -10G-> leaf15 P19
+   P30 -10G-> leaf15 P20
+   P31 -10G-> leaf16 P19
+   P32 -10G-> leaf16 P20
+   P33 -10G-> leaf17 P19
+   P34 -10G-> leaf17 P20
+   P35 -10G-> leaf18 P19
+   P36 -10G-> leaf18 P20
+
+ SUBSYSTEM SPINE spine2
+   P1 -10G-> leaf1 P22
+   P2 -10G-> leaf1 P21
+   P3 -10G-> leaf2 P22
+   P4 -10G-> leaf2 P21
+   P5 -10G-> leaf3 P22
+   P6 -10G-> leaf3 P21
+   P7 -10G-> leaf4 P22
+   P8 -10G-> leaf4 P21
+   P9 -10G-> leaf5 P22
+   P10 -10G-> leaf5 P21
+   P11 -10G-> leaf6 P22
+   P12 -10G-> leaf6 P21
+   P13 -10G-> leaf7 P22
+   P14 -10G-> leaf7 P21
+   P15 -10G-> leaf8 P22
+   P16 -10G-> leaf8 P21
+   P17 -10G-> leaf9 P22
+   P18 -10G-> leaf9 P21
+   P19 -10G-> leaf10 P22
+   P20 -10G-> leaf10 P21
+   P21 -10G-> leaf11 P22
+   P22 -10G-> leaf11 P21
+   P23 -10G-> leaf12 P22
+   P24 -10G-> leaf12 P21
+   P25 -10G-> leaf13 P22
+   P26 -10G-> leaf13 P21
+   P27 -10G-> leaf14 P22
+   P28 -10G-> leaf14 P21
+   P29 -10G-> leaf15 P22
+   P30 -10G-> leaf15 P21
+   P31 -10G-> leaf16 P22
+   P32 -10G-> leaf16 P21
+   P33 -10G-> leaf17 P22
+   P34 -10G-> leaf17 P21
+   P35 -10G-> leaf18 P22
+   P36 -10G-> leaf18 P21
+
+ SUBSYSTEM SPINE spine3
+   P1 -10G-> leaf1 P23
+   P2 -10G-> leaf1 P24
+   P3 -10G-> leaf2 P23
+   P4 -10G-> leaf2 P24
+   P5 -10G-> leaf3 P23
+   P6 -10G-> leaf3 P24
+   P7 -10G-> leaf4 P23
+   P8 -10G-> leaf4 P24
+   P9 -10G-> leaf5 P23
+   P10 -10G-> leaf5 P24
+   P11 -10G-> leaf6 P23
+   P12 -10G-> leaf6 P24
+   P13 -10G-> leaf7 P23
+   P14 -10G-> leaf7 P24
+   P15 -10G-> leaf8 P23
+   P16 -10G-> leaf8 P24
+   P17 -10G-> leaf9 P23
+   P18 -10G-> leaf9 P24
+   P19 -10G-> leaf10 P23
+   P20 -10G-> leaf10 P24
+   P21 -10G-> leaf11 P23
+   P22 -10G-> leaf11 P24
+   P23 -10G-> leaf12 P23
+   P24 -10G-> leaf12 P24
+   P25 -10G-> leaf13 P23
+   P26 -10G-> leaf13 P24
+   P27 -10G-> leaf14 P23
+   P28 -10G-> leaf14 P24
+   P29 -10G-> leaf15 P23
+   P30 -10G-> leaf15 P24
+   P31 -10G-> leaf16 P23
+   P32 -10G-> leaf16 P24
+   P33 -10G-> leaf17 P23
+   P34 -10G-> leaf17 P24
+   P35 -10G-> leaf18 P23
+   P36 -10G-> leaf18 P24
+
+ SUBSYSTEM SPINE spine4
+   P1 -10G-> leaf1 P25
+   P2 -10G-> leaf1 P26
+   P3 -10G-> leaf2 P25
+   P4 -10G-> leaf2 P26
+   P5 -10G-> leaf3 P25
+   P6 -10G-> leaf3 P26
+   P7 -10G-> leaf4 P25
+   P8 -10G-> leaf4 P26
+   P9 -10G-> leaf5 P25
+   P10 -10G-> leaf5 P26
+   P11 -10G-> leaf6 P25
+   P12 -10G-> leaf6 P26
+   P13 -10G-> leaf7 P25
+   P14 -10G-> leaf7 P26
+   P15 -10G-> leaf8 P25
+   P16 -10G-> leaf8 P26
+   P17 -10G-> leaf9 P25
+   P18 -10G-> leaf9 P26
+   P19 -10G-> leaf10 P25
+   P20 -10G-> leaf10 P26
+   P21 -10G-> leaf11 P25
+   P22 -10G-> leaf11 P26
+   P23 -10G-> leaf12 P25
+   P24 -10G-> leaf12 P26
+   P25 -10G-> leaf13 P25
+   P26 -10G-> leaf13 P26
+   P27 -10G-> leaf14 P25
+   P28 -10G-> leaf14 P26
+   P29 -10G-> leaf15 P25
+   P30 -10G-> leaf15 P26
+   P31 -10G-> leaf16 P25
+   P32 -10G-> leaf16 P26
+   P33 -10G-> leaf17 P25
+   P34 -10G-> leaf17 P26
+   P35 -10G-> leaf18 P25
+   P36 -10G-> leaf18 P26
+
+ SUBSYSTEM SPINE spine5
+   P1 -10G-> leaf1 P27
+   P2 -10G-> leaf1 P28
+   P3 -10G-> leaf2 P27
+   P4 -10G-> leaf2 P28
+   P5 -10G-> leaf3 P27
+   P6 -10G-> leaf3 P28
+   P7 -10G-> leaf4 P27
+   P8 -10G-> leaf4 P28
+   P9 -10G-> leaf5 P27
+   P10 -10G-> leaf5 P28
+   P11 -10G-> leaf6 P27
+   P12 -10G-> leaf6 P28
+   P13 -10G-> leaf7 P27
+   P14 -10G-> leaf7 P28
+   P15 -10G-> leaf8 P27
+   P16 -10G-> leaf8 P28
+   P17 -10G-> leaf9 P27
+   P18 -10G-> leaf9 P28
+   P19 -10G-> leaf10 P27
+   P20 -10G-> leaf10 P28
+   P21 -10G-> leaf11 P27
+   P22 -10G-> leaf11 P28
+   P23 -10G-> leaf12 P27
+   P24 -10G-> leaf12 P28
+   P25 -10G-> leaf13 P27
+   P26 -10G-> leaf13 P28
+   P27 -10G-> leaf14 P27
+   P28 -10G-> leaf14 P28
+   P29 -10G-> leaf15 P27
+   P30 -10G-> leaf15 P28
+   P31 -10G-> leaf16 P27
+   P32 -10G-> leaf16 P28
+   P33 -10G-> leaf17 P27
+   P34 -10G-> leaf17 P28
+   P35 -10G-> leaf18 P27
+   P36 -10G-> leaf18 P28
+
+ SUBSYSTEM SPINE spine6
+   P1 -10G-> leaf1 P29
+   P2 -10G-> leaf1 P30
+   P3 -10G-> leaf2 P29
+   P4 -10G-> leaf2 P30
+   P5 -10G-> leaf3 P29
+   P6 -10G-> leaf3 P30
+   P7 -10G-> leaf4 P29
+   P8 -10G-> leaf4 P30
+   P9 -10G-> leaf5 P29
+   P10 -10G-> leaf5 P30
+   P11 -10G-> leaf6 P29
+   P12 -10G-> leaf6 P30
+   P13 -10G-> leaf7 P29
+   P14 -10G-> leaf7 P30
+   P15 -10G-> leaf8 P29
+   P16 -10G-> leaf8 P30
+   P17 -10G-> leaf9 P29
+   P18 -10G-> leaf9 P30
+   P19 -10G-> leaf10 P29
+   P20 -10G-> leaf10 P30
+   P21 -10G-> leaf11 P29
+   P22 -10G-> leaf11 P30
+   P23 -10G-> leaf12 P29
+   P24 -10G-> leaf12 P30
+   P25 -10G-> leaf13 P29
+   P26 -10G-> leaf13 P30
+   P27 -10G-> leaf14 P29
+   P28 -10G-> leaf14 P30
+   P29 -10G-> leaf15 P29
+   P30 -10G-> leaf15 P30
+   P31 -10G-> leaf16 P29
+   P32 -10G-> leaf16 P30
+   P33 -10G-> leaf17 P29
+   P34 -10G-> leaf17 P30
+   P35 -10G-> leaf18 P29
+   P36 -10G-> leaf18 P30
+
+ SUBSYSTEM SPINE spine7
+   P1 -10G-> leaf1 P31
+   P2 -10G-> leaf1 P32
+   P3 -10G-> leaf2 P31
+   P4 -10G-> leaf2 P32
+   P5 -10G-> leaf3 P31
+   P6 -10G-> leaf3 P32
+   P7 -10G-> leaf4 P31
+   P8 -10G-> leaf4 P32
+   P9 -10G-> leaf5 P31
+   P10 -10G-> leaf5 P32
+   P11 -10G-> leaf6 P31
+   P12 -10G-> leaf6 P32
+   P13 -10G-> leaf7 P31
+   P14 -10G-> leaf7 P32
+   P15 -10G-> leaf8 P31
+   P16 -10G-> leaf8 P32
+   P17 -10G-> leaf9 P31
+   P18 -10G-> leaf9 P32
+   P19 -10G-> leaf10 P31
+   P20 -10G-> leaf10 P32
+   P21 -10G-> leaf11 P31
+   P22 -10G-> leaf11 P32
+   P23 -10G-> leaf12 P31
+   P24 -10G-> leaf12 P32
+   P25 -10G-> leaf13 P31
+   P26 -10G-> leaf13 P32
+   P27 -10G-> leaf14 P31
+   P28 -10G-> leaf14 P32
+   P29 -10G-> leaf15 P31
+   P30 -10G-> leaf15 P32
+   P31 -10G-> leaf16 P31
+   P32 -10G-> leaf16 P32
+   P33 -10G-> leaf17 P31
+   P34 -10G-> leaf17 P32
+   P35 -10G-> leaf18 P31
+   P36 -10G-> leaf18 P32
+
+ SUBSYSTEM SPINE spine8
+   P1 -10G-> leaf1 P34
+   P2 -10G-> leaf1 P33
+   P3 -10G-> leaf2 P34
+   P4 -10G-> leaf2 P33
+   P5 -10G-> leaf3 P34
+   P6 -10G-> leaf3 P33
+   P7 -10G-> leaf4 P34
+   P8 -10G-> leaf4 P33
+   P9 -10G-> leaf5 P34
+   P10 -10G-> leaf5 P33
+   P11 -10G-> leaf6 P34
+   P12 -10G-> leaf6 P33
+   P13 -10G-> leaf7 P34
+   P14 -10G-> leaf7 P33
+   P15 -10G-> leaf8 P34
+   P16 -10G-> leaf8 P33
+   P17 -10G-> leaf9 P34
+   P18 -10G-> leaf9 P33
+   P19 -10G-> leaf10 P34
+   P20 -10G-> leaf10 P33
+   P21 -10G-> leaf11 P34
+   P22 -10G-> leaf11 P33
+   P23 -10G-> leaf12 P34
+   P24 -10G-> leaf12 P33
+   P25 -10G-> leaf13 P34
+   P26 -10G-> leaf13 P33
+   P27 -10G-> leaf14 P34
+   P28 -10G-> leaf14 P33
+   P29 -10G-> leaf15 P34
+   P30 -10G-> leaf15 P33
+   P31 -10G-> leaf16 P34
+   P32 -10G-> leaf16 P33
+   P33 -10G-> leaf17 P34
+   P34 -10G-> leaf17 P33
+   P35 -10G-> leaf18 P34
+   P36 -10G-> leaf18 P33
+
+ SUBSYSTEM SPINE spine9
+   P1 -10G-> leaf1 P35
+   P2 -10G-> leaf1 P36
+   P3 -10G-> leaf2 P35
+   P4 -10G-> leaf2 P36
+   P5 -10G-> leaf3 P35
+   P6 -10G-> leaf3 P36
+   P7 -10G-> leaf4 P35
+   P8 -10G-> leaf4 P36
+   P9 -10G-> leaf5 P35
+   P10 -10G-> leaf5 P36
+   P11 -10G-> leaf6 P35
+   P12 -10G-> leaf6 P36
+   P13 -10G-> leaf7 P35
+   P14 -10G-> leaf7 P36
+   P15 -10G-> leaf8 P35
+   P16 -10G-> leaf8 P36
+   P17 -10G-> leaf9 P35
+   P18 -10G-> leaf9 P36
+   P19 -10G-> leaf10 P35
+   P20 -10G-> leaf10 P36
+   P21 -10G-> leaf11 P35
+   P22 -10G-> leaf11 P36
+   P23 -10G-> leaf12 P35
+   P24 -10G-> leaf12 P36
+   P25 -10G-> leaf13 P35
+   P26 -10G-> leaf13 P36
+   P27 -10G-> leaf14 P35
+   P28 -10G-> leaf14 P36
+   P29 -10G-> leaf15 P35
+   P30 -10G-> leaf15 P36
+   P31 -10G-> leaf16 P35
+   P32 -10G-> leaf16 P36
+   P33 -10G-> leaf17 P35
+   P34 -10G-> leaf17 P36
+   P35 -10G-> leaf18 P35
+   P36 -10G-> leaf18 P36
+
diff --git a/ibdm/ibnl/Makefile b/ibdm/ibnl/Makefile
new file mode 100644
index 0000000..7471006
--- /dev/null
+++ b/ibdm/ibnl/Makefile
@@ -0,0 +1,374 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# ibnl/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = ibnl
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+
+# All the provided in package systems:
+KNOWN_IBNLS = $(wildcard $(srcdir)/*.ibnl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_IBNLS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_IBNLS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  ibnl/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  ibnl/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(KNOWN_IBNLS); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/ibnl/Makefile.am b/ibdm/ibnl/Makefile.am
new file mode 100644
index 0000000..8069b2b
--- /dev/null
+++ b/ibdm/ibnl/Makefile.am
@@ -0,0 +1,13 @@
+# All the provided in package systems:
+KNOWN_IBNLS = $(wildcard $(srcdir)/*.ibnl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_IBNLS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_IBNLS)
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(KNOWN_IBNLS); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
+
diff --git a/ibdm/ibnl/Makefile.in b/ibdm/ibnl/Makefile.in
new file mode 100644
index 0000000..d58329d
--- /dev/null
+++ b/ibdm/ibnl/Makefile.in
@@ -0,0 +1,374 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ibnl
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+
+# All the provided in package systems:
+KNOWN_IBNLS = $(wildcard $(srcdir)/*.ibnl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_IBNLS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_IBNLS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  ibnl/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  ibnl/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+	mkdir -p $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl
+	for s in $(KNOWN_IBNLS); do cp $$s $(DESTDIR)$(libdir)/ibdm$(VERSION)/ibnl/; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/libtool b/ibdm/libtool
new file mode 100644
index 0000000..14f49f8
--- /dev/null
+++ b/ibdm/libtool
@@ -0,0 +1,7528 @@
+#! /bin/sh
+
+# libtoolT - Provide generalized library-building support services.
+# Generated automatically by  (GNU ibdm 1.2)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED="/bin/sed"
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="/bin/sed -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=" CXX"
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host deb1:
+
+# Shell to use when invoking shell scripts.
+SHELL="/bin/sh"
+
+# Whether or not to build shared libraries.
+build_libtool_libs=yes
+
+# Whether or not to build static libraries.
+build_old_libs=yes
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=no
+
+# Whether or not to optimize for fast installation.
+fast_install=yes
+
+# The host system.
+host_alias=
+host=i486-pc-linux-gnu
+host_os=linux-gnu
+
+# The build system.
+build_alias=i486-linux-gnu
+build=i486-pc-linux-gnu
+build_os=linux-gnu
+
+# An echo program that does not interpret backslashes.
+echo="echo"
+
+# The archiver.
+AR="ar"
+AR_FLAGS="cru"
+
+# A C compiler.
+LTCC="gcc"
+
+# LTCC compiler flags.
+LTCFLAGS="-g -O2"
+
+# A language-specific compiler.
+CC="gcc"
+
+# Is the compiler the GNU C compiler?
+with_gcc=yes
+
+# An ERE matcher.
+EGREP="grep -E"
+
+# The linker used to build libraries.
+LD="/usr/bin/ld"
+
+# Whether we need hard or soft links.
+LN_S="ln -s"
+
+# A BSD-compatible nm program.
+NM="/usr/bin/nm -B"
+
+# A symbol stripping program
+STRIP="strip"
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=file
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="dlltool"
+
+# Used on cygwin: object dumper.
+OBJDUMP="objdump"
+
+# Used on cygwin: assembler.
+AS="as"
+
+# The name of the directory that contains temporary libtool files.
+objdir=.libs
+
+# How to create reloadable object files.
+reload_flag=" -r"
+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Object file suffix (normally "o").
+objext="o"
+
+# Old archive suffix (normally "a").
+libext="a"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='.so'
+
+# Executable file suffix (normally "").
+exeext=""
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+pic_mode=default
+
+# What is the maximum length of a command?
+max_cmd_len=32768
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Must we lock files when doing compilation?
+need_locks="no"
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=no
+
+# Do we need a version for libraries?
+need_version=no
+
+# Whether dlopen is supported.
+dlopen_support=unknown
+
+# Whether dlopen of programs is supported.
+dlopen_self=unknown
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=unknown
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=""
+
+# Library versioning type.
+version_type=linux
+
+# Format of library name prefix.
+libname_spec="lib\$name"
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+
+# The coded name of the library, if different from the real name.
+soname_spec="\${libname}\${release}\${shared_ext}\$major"
+
+# Commands used to build and install an old-style archive.
+RANLIB="ranlib"
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
+old_postuninstall_cmds=""
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build and install a shared archive.
+archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
+  cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
+  \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
+	  \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
+postinstall_cmds=""
+postuninstall_cmds=""
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=""
+module_expsym_cmds=""
+
+# Commands to strip libraries.
+old_striplib="strip --strip-debug"
+striplib="strip --strip-unneeded"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=""
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=""
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=""
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method="pass_all"
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd="\$MAGIC_CMD"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=""
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=""
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
+
+# This is the shared library runtime path variable.
+runpath_var=LD_RUN_PATH
+
+# This is the shared library path variable.
+shlibpath_var=LD_LIBRARY_PATH
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=no
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=yes
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into
+# a binary during linking. This must work even if $libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=no
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=no
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=no
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/ /lib/i486-linux-gnu/4.3.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3 [...]
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib "
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to yes if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=""
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# ### END LIBTOOL CONFIG
+
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# Libtool was configured on host deb1:
+
+# Shell to use when invoking shell scripts.
+SHELL="/bin/sh"
+
+# Whether or not to build shared libraries.
+build_libtool_libs=yes
+
+# Whether or not to build static libraries.
+build_old_libs=yes
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=no
+
+# Whether or not to optimize for fast installation.
+fast_install=yes
+
+# The host system.
+host_alias=
+host=i486-pc-linux-gnu
+host_os=linux-gnu
+
+# The build system.
+build_alias=i486-linux-gnu
+build=i486-pc-linux-gnu
+build_os=linux-gnu
+
+# An echo program that does not interpret backslashes.
+echo="echo"
+
+# The archiver.
+AR="ar"
+AR_FLAGS="cru"
+
+# A C compiler.
+LTCC="gcc"
+
+# LTCC compiler flags.
+LTCFLAGS="-g -O2"
+
+# A language-specific compiler.
+CC="g++"
+
+# Is the compiler the GNU C compiler?
+with_gcc=yes
+
+# An ERE matcher.
+EGREP="grep -E"
+
+# The linker used to build libraries.
+LD="/usr/bin/ld"
+
+# Whether we need hard or soft links.
+LN_S="ln -s"
+
+# A BSD-compatible nm program.
+NM="/usr/bin/nm -B"
+
+# A symbol stripping program
+STRIP="strip"
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=file
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="dlltool"
+
+# Used on cygwin: object dumper.
+OBJDUMP="objdump"
+
+# Used on cygwin: assembler.
+AS="as"
+
+# The name of the directory that contains temporary libtool files.
+objdir=.libs
+
+# How to create reloadable object files.
+reload_flag=" -r"
+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Object file suffix (normally "o").
+objext="o"
+
+# Old archive suffix (normally "a").
+libext="a"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='.so'
+
+# Executable file suffix (normally "").
+exeext=""
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+pic_mode=default
+
+# What is the maximum length of a command?
+max_cmd_len=32768
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Must we lock files when doing compilation?
+need_locks="no"
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=no
+
+# Do we need a version for libraries?
+need_version=no
+
+# Whether dlopen is supported.
+dlopen_support=unknown
+
+# Whether dlopen of programs is supported.
+dlopen_self=unknown
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=unknown
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=""
+
+# Library versioning type.
+version_type=linux
+
+# Format of library name prefix.
+libname_spec="lib\$name"
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+
+# The coded name of the library, if different from the real name.
+soname_spec="\${libname}\${release}\${shared_ext}\$major"
+
+# Commands used to build and install an old-style archive.
+RANLIB="ranlib"
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
+old_postuninstall_cmds=""
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build and install a shared archive.
+archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
+postinstall_cmds=""
+postuninstall_cmds=""
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=""
+module_expsym_cmds=""
+
+# Commands to strip libraries.
+old_striplib="strip --strip-debug"
+striplib="strip --strip-unneeded"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.3/crtbeginS.o"
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.."
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method="pass_all"
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd="\$MAGIC_CMD"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=""
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=""
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
+
+# This is the shared library runtime path variable.
+runpath_var=LD_RUN_PATH
+
+# This is the shared library path variable.
+shlibpath_var=LD_LIBRARY_PATH
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=no
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=yes
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into
+# a binary during linking. This must work even if $libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=no
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=no
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=no
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/ /lib/i486-linux-gnu/4.3.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3 [...]
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib "
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to yes if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=""
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=""
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# ### END LIBTOOL TAG CONFIG: CXX
+
diff --git a/ibdm/replace/.deps/memset.Po b/ibdm/replace/.deps/memset.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/ibdm/replace/.deps/memset.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/ibdm/replace/.deps/regex.Po b/ibdm/replace/.deps/regex.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/ibdm/replace/.deps/regex.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/ibdm/replace/Makefile b/ibdm/replace/Makefile
new file mode 100644
index 0000000..dcf13d3
--- /dev/null
+++ b/ibdm/replace/Makefile
@@ -0,0 +1,444 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# replace/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = replace
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in memset.c \
+	regex.c
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+libreplace_a_AR = $(AR) $(ARFLAGS)
+libreplace_a_DEPENDENCIES = 
+am_libreplace_a_OBJECTS =
+libreplace_a_OBJECTS = $(am_libreplace_a_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libreplace_a_SOURCES)
+DIST_SOURCES = $(libreplace_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+INCLUDES = -I$(top_builddir) -I$(top_srcdir)
+noinst_LIBRARIES = libreplace.a
+libreplace_a_SOURCES = 
+libreplace_a_LIBADD = 
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  replace/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  replace/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libreplace.a: $(libreplace_a_OBJECTS) $(libreplace_a_DEPENDENCIES) 
+	-rm -f libreplace.a
+	$(libreplace_a_AR) libreplace.a $(libreplace_a_OBJECTS) $(libreplace_a_LIBADD)
+	$(RANLIB) libreplace.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include $(DEPDIR)/memset.Po
+include $(DEPDIR)/regex.Po
+
+.c.o:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf $(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf $(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	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 uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/replace/Makefile.am b/ibdm/replace/Makefile.am
new file mode 100644
index 0000000..a878772
--- /dev/null
+++ b/ibdm/replace/Makefile.am
@@ -0,0 +1,7 @@
+## Makefile.am -- Process this file with automake to produce Makefile.in
+
+INCLUDES                =  -I$(top_builddir) -I$(top_srcdir)
+
+noinst_LIBRARIES        = libreplace.a
+libreplace_a_SOURCES       =
+libreplace_a_LIBADD        = @LIBOBJS@
diff --git a/ibdm/replace/Makefile.in b/ibdm/replace/Makefile.in
new file mode 100644
index 0000000..42b9c7b
--- /dev/null
+++ b/ibdm/replace/Makefile.in
@@ -0,0 +1,444 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = replace
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in memset.c \
+	regex.c
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+libreplace_a_AR = $(AR) $(ARFLAGS)
+libreplace_a_DEPENDENCIES = @LIBOBJS@
+am_libreplace_a_OBJECTS =
+libreplace_a_OBJECTS = $(am_libreplace_a_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libreplace_a_SOURCES)
+DIST_SOURCES = $(libreplace_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+INCLUDES = -I$(top_builddir) -I$(top_srcdir)
+noinst_LIBRARIES = libreplace.a
+libreplace_a_SOURCES = 
+libreplace_a_LIBADD = @LIBOBJS@
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  replace/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  replace/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libreplace.a: $(libreplace_a_OBJECTS) $(libreplace_a_DEPENDENCIES) 
+	-rm -f libreplace.a
+	$(libreplace_a_AR) libreplace.a $(libreplace_a_OBJECTS) $(libreplace_a_LIBADD)
+	$(RANLIB) libreplace.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memset.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf $(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf $(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	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 uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/replace/malloc.c b/ibdm/replace/malloc.c
new file mode 100644
index 0000000..5e7674b
--- /dev/null
+++ b/ibdm/replace/malloc.c
@@ -0,0 +1,38 @@
+/* Work around bug on some systems where malloc (0) fails.
+   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* written by Jim Meyering */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+#undef malloc
+
+#include <sys/types.h>
+
+char *malloc ();
+
+/* Allocate an N-byte block of memory from the heap.
+   If N is zero, allocate a 1-byte block.  */
+
+char *
+rpl_malloc (size_t n)
+{
+  if (n == 0)
+    n = 1;
+  return malloc (n);
+}
diff --git a/ibdm/replace/memset.c b/ibdm/replace/memset.c
new file mode 100644
index 0000000..5744bcb
--- /dev/null
+++ b/ibdm/replace/memset.c
@@ -0,0 +1,26 @@
+/* memset.c -- set an area of memory to a given value
+   Copyright (C) 1991 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+char *
+memset (char *str, int c, unsigned int len)
+{
+  register char *st = str;
+
+  while (len-- > 0)
+    *st++ = c;
+  return str;
+}
diff --git a/ibdm/replace/realloc.c b/ibdm/replace/realloc.c
new file mode 100644
index 0000000..d0d3e4a
--- /dev/null
+++ b/ibdm/replace/realloc.c
@@ -0,0 +1,44 @@
+/* Work around bug on some systems where realloc (NULL, 0) fails.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* written by Jim Meyering */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+#undef realloc
+
+#include <sys/types.h>
+
+char *malloc ();
+char *realloc ();
+
+/* Change the size of an allocated block of memory P to N bytes,
+   with error checking.  If N is zero, change it to 1.  If P is NULL,
+   use malloc.  */
+
+char *
+rpl_realloc (p, n)
+     char *p;
+     size_t n;
+{
+  if (n == 0)
+    n = 1;
+  if (p == 0)
+    return malloc (n);
+  return realloc (p, n);
+}
diff --git a/ibdm/replace/regex.c b/ibdm/replace/regex.c
new file mode 100644
index 0000000..79c12e9
--- /dev/null
+++ b/ibdm/replace/regex.c
@@ -0,0 +1,5837 @@
+/* Extended regular expression matching and search library,
+   version 0.12.
+   (Implements POSIX draft P1003.2/D11.2, except for some of the
+   internationalization features.)
+   Copyright (C) 1993, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* AIX requires this to be the first thing in the file. */
+#if defined _AIX && !defined REGEX_MALLOC
+  #pragma alloca
+#endif
+
+#undef	_GNU_SOURCE
+#define _GNU_SOURCE
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifndef PARAMS
+# if defined __GNUC__ || (defined __STDC__ && __STDC__)
+#  define PARAMS(args) args
+# else
+#  define PARAMS(args) ()
+# endif  /* GCC.  */
+#endif  /* Not PARAMS.  */
+
+#if defined STDC_HEADERS && !defined emacs
+# include <stddef.h>
+#else
+/* We need this for `regex.h', and perhaps for the Emacs include files.  */
+# include <sys/types.h>
+#endif
+
+#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
+
+/* For platform which support the ISO C amendement 1 functionality we
+   support user defined character classes.  */
+#if defined _LIBC || WIDE_CHAR_SUPPORT
+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
+# include <wchar.h>
+# include <wctype.h>
+#endif
+
+#ifdef _LIBC
+/* We have to keep the namespace clean.  */
+# define regfree(preg) __regfree (preg)
+# define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef)
+# define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags)
+# define regerror(errcode, preg, errbuf, errbuf_size) \
+	__regerror(errcode, preg, errbuf, errbuf_size)
+# define re_set_registers(bu, re, nu, st, en) \
+	__re_set_registers (bu, re, nu, st, en)
+# define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \
+	__re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+# define re_match(bufp, string, size, pos, regs) \
+	__re_match (bufp, string, size, pos, regs)
+# define re_search(bufp, string, size, startpos, range, regs) \
+	__re_search (bufp, string, size, startpos, range, regs)
+# define re_compile_pattern(pattern, length, bufp) \
+	__re_compile_pattern (pattern, length, bufp)
+# define re_set_syntax(syntax) __re_set_syntax (syntax)
+# define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \
+	__re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop)
+# define re_compile_fastmap(bufp) __re_compile_fastmap (bufp)
+
+#define btowc __btowc
+#endif
+
+/* This is for other GNU distributions with internationalized messages.  */
+#if HAVE_LIBINTL_H || defined _LIBC
+# include <libintl.h>
+#else
+# define gettext(msgid) (msgid)
+#endif
+
+#ifndef gettext_noop
+/* This define is so xgettext can find the internationalizable
+   strings.  */
+# define gettext_noop(String) String
+#endif
+
+/* The `emacs' switch turns on certain matching commands
+   that make sense only in Emacs. */
+#ifdef emacs
+
+# include "lisp.h"
+# include "buffer.h"
+# include "syntax.h"
+
+#else  /* not emacs */
+
+/* If we are not linking with Emacs proper,
+   we can't use the relocating allocator
+   even if config.h says that we can.  */
+# undef REL_ALLOC
+
+# if defined STDC_HEADERS || defined _LIBC
+#  include <stdlib.h>
+# else
+/*
+char *malloc ();
+char *realloc ();
+*/
+# endif
+
+/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.
+   If nothing else has been done, use the method below.  */
+# ifdef INHIBIT_STRING_HEADER
+#  if !(defined HAVE_BZERO && defined HAVE_BCOPY)
+#   if !defined bzero && !defined bcopy
+#    undef INHIBIT_STRING_HEADER
+#   endif
+#  endif
+# endif
+
+/* This is the normal way of making sure we have a bcopy and a bzero.
+   This is used in most programs--a few other programs avoid this
+   by defining INHIBIT_STRING_HEADER.  */
+# ifndef INHIBIT_STRING_HEADER
+#  if defined HAVE_STRING_H || defined STDC_HEADERS || defined _LIBC
+#   include <string.h>
+#   ifndef bzero
+#    ifndef _LIBC
+#     define bzero(s, n)	(memset (s, '\0', n), (s))
+#    else
+#     define bzero(s, n)	__bzero (s, n)
+#    endif
+#   endif
+#  else
+#   include <strings.h>
+#   ifndef memcmp
+#    define memcmp(s1, s2, n)	bcmp (s1, s2, n)
+#   endif
+#   ifndef memcpy
+#    define memcpy(d, s, n)	(bcopy (s, d, n), (d))
+#   endif
+#  endif
+# endif
+
+/* Define the syntax stuff for \<, \>, etc.  */
+
+/* This must be nonzero for the wordchar and notwordchar pattern
+   commands in re_match_2.  */
+# ifndef Sword
+#  define Sword 1
+# endif
+
+# ifdef SWITCH_ENUM_BUG
+#  define SWITCH_ENUM_CAST(x) ((int)(x))
+# else
+#  define SWITCH_ENUM_CAST(x) (x)
+# endif
+
+/* How many characters in the character set.  */
+# define CHAR_SET_SIZE 256
+
+# ifdef SYNTAX_TABLE
+
+extern char *re_syntax_table;
+
+# else /* not SYNTAX_TABLE */
+
+static char re_syntax_table[CHAR_SET_SIZE];
+
+static void
+init_syntax_once ()
+{
+   register int c;
+   static int done = 0;
+
+   if (done)
+     return;
+
+   bzero (re_syntax_table, sizeof re_syntax_table);
+
+   for (c = 'a'; c <= 'z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = 'A'; c <= 'Z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = '0'; c <= '9'; c++)
+     re_syntax_table[c] = Sword;
+
+   re_syntax_table['_'] = Sword;
+
+   done = 1;
+}
+
+# endif /* not SYNTAX_TABLE */
+
+# define SYNTAX(c) re_syntax_table[c]
+
+#endif /* not emacs */
+

+/* Get the interface, including the syntax bits.  */
+#include <regex.h>
+
+/* isalpha etc. are used for the character classes.  */
+#include <ctype.h>
+
+/* Jim Meyering writes:
+
+   "... Some ctype macros are valid only for character codes that
+   isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
+   using /bin/cc or gcc but without giving an ansi option).  So, all
+   ctype uses should be through macros like ISPRINT...  If
+   STDC_HEADERS is defined, then autoconf has verified that the ctype
+   macros don't need to be guarded with references to isascii. ...
+   Defining isascii to 1 should let any compiler worth its salt
+   eliminate the && through constant folding."
+   Solaris defines some of these symbols so we must undefine them first.  */
+
+#undef ISASCII
+#if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)
+# define ISASCII(c) 1
+#else
+# define ISASCII(c) isascii(c)
+#endif
+
+#ifdef isblank
+# define ISBLANK(c) (ISASCII (c) && isblank (c))
+#else
+# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+#endif
+#ifdef isgraph
+# define ISGRAPH(c) (ISASCII (c) && isgraph (c))
+#else
+# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
+#endif
+
+#undef ISPRINT
+#define ISPRINT(c) (ISASCII (c) && isprint (c))
+#define ISDIGIT(c) (ISASCII (c) && isdigit (c))
+#define ISALNUM(c) (ISASCII (c) && isalnum (c))
+#define ISALPHA(c) (ISASCII (c) && isalpha (c))
+#define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
+#define ISLOWER(c) (ISASCII (c) && islower (c))
+#define ISPUNCT(c) (ISASCII (c) && ispunct (c))
+#define ISSPACE(c) (ISASCII (c) && isspace (c))
+#define ISUPPER(c) (ISASCII (c) && isupper (c))
+#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
+
+#ifdef _tolower
+# define TOLOWER(c) _tolower(c)
+#else
+# define TOLOWER(c) tolower(c)
+#endif
+
+#ifndef NULL
+# define NULL (void *)0
+#endif
+
+/* We remove any previous definition of `SIGN_EXTEND_CHAR',
+   since ours (we hope) works properly with all combinations of
+   machines, compilers, `char' and `unsigned char' argument types.
+   (Per Bothner suggested the basic approach.)  */
+#undef SIGN_EXTEND_CHAR
+#if __STDC__
+# define SIGN_EXTEND_CHAR(c) ((signed char) (c))
+#else  /* not __STDC__ */
+/* As in Harbison and Steele.  */
+# define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
+#endif
+

+/* Should we use malloc or alloca?  If REGEX_MALLOC is not defined, we
+   use `alloca' instead of `malloc'.  This is because using malloc in
+   re_search* or re_match* could cause memory leaks when C-g is used in
+   Emacs; also, malloc is slower and causes storage fragmentation.  On
+   the other hand, malloc is more portable, and easier to debug.
+
+   Because we sometimes use alloca, some routines have to be macros,
+   not functions -- `alloca'-allocated space disappears at the end of the
+   function it is called in.  */
+
+#ifdef REGEX_MALLOC
+
+# define REGEX_ALLOCATE malloc
+# define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
+# define REGEX_FREE free
+
+#else /* not REGEX_MALLOC  */
+
+/* Emacs already defines alloca, sometimes.  */
+# ifndef alloca
+
+/* Make alloca work the best possible way.  */
+#  ifdef __GNUC__
+#   define alloca __builtin_alloca
+#  else /* not __GNUC__ */
+#   if HAVE_ALLOCA_H
+#    include <alloca.h>
+#   endif /* HAVE_ALLOCA_H */
+#  endif /* not __GNUC__ */
+
+# endif /* not alloca */
+
+# define REGEX_ALLOCATE alloca
+
+/* Assumes a `char *destination' variable.  */
+# define REGEX_REALLOCATE(source, osize, nsize)				\
+  (destination = (char *) alloca (nsize),				\
+   memcpy (destination, source, osize))
+
+/* No need to do anything to free, after alloca.  */
+# define REGEX_FREE(arg) ((void)0) /* Do nothing!  But inhibit gcc warning.  */
+
+#endif /* not REGEX_MALLOC */
+
+/* Define how to allocate the failure stack.  */
+
+#if defined REL_ALLOC && defined REGEX_MALLOC
+
+# define REGEX_ALLOCATE_STACK(size)				\
+  r_alloc (&failure_stack_ptr, (size))
+# define REGEX_REALLOCATE_STACK(source, osize, nsize)		\
+  r_re_alloc (&failure_stack_ptr, (nsize))
+# define REGEX_FREE_STACK(ptr)					\
+  r_alloc_free (&failure_stack_ptr)
+
+#else /* not using relocating allocator */
+
+# ifdef REGEX_MALLOC
+
+#  define REGEX_ALLOCATE_STACK malloc
+#  define REGEX_REALLOCATE_STACK(source, osize, nsize) realloc (source, nsize)
+#  define REGEX_FREE_STACK free
+
+# else /* not REGEX_MALLOC */
+
+#  define REGEX_ALLOCATE_STACK alloca
+
+#  define REGEX_REALLOCATE_STACK(source, osize, nsize)			\
+   REGEX_REALLOCATE (source, osize, nsize)
+/* No need to explicitly free anything.  */
+#  define REGEX_FREE_STACK(arg)
+
+# endif /* not REGEX_MALLOC */
+#endif /* not using relocating allocator */
+
+
+/* True if `size1' is non-NULL and PTR is pointing anywhere inside
+   `string1' or just past its end.  This works if PTR is NULL, which is
+   a good thing.  */
+#define FIRST_STRING_P(ptr) 					\
+  (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
+
+/* (Re)Allocate N items of type T using malloc, or fail.  */
+#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
+#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
+#define RETALLOC_IF(addr, n, t) \
+  if (addr) RETALLOC((addr), (n), t); else (addr) = TALLOC ((n), t)
+#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
+
+#define BYTEWIDTH 8 /* In bits.  */
+
+#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+#undef MAX
+#undef MIN
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
+typedef char boolean;
+#define false 0
+#define true 1
+
+static int re_match_2_internal PARAMS ((struct re_pattern_buffer *bufp,
+					const char *string1, int size1,
+					const char *string2, int size2,
+					int pos,
+					struct re_registers *regs,
+					int stop));
+

+/* These are the command codes that appear in compiled regular
+   expressions.  Some opcodes are followed by argument bytes.  A
+   command code can specify any interpretation whatsoever for its
+   arguments.  Zero bytes may appear in the compiled regular expression.  */
+
+typedef enum
+{
+  no_op = 0,
+
+  /* Succeed right away--no more backtracking.  */
+  succeed,
+
+        /* Followed by one byte giving n, then by n literal bytes.  */
+  exactn,
+
+        /* Matches any (more or less) character.  */
+  anychar,
+
+        /* Matches any one char belonging to specified set.  First
+           following byte is number of bitmap bytes.  Then come bytes
+           for a bitmap saying which chars are in.  Bits in each byte
+           are ordered low-bit-first.  A character is in the set if its
+           bit is 1.  A character too large to have a bit in the map is
+           automatically not in the set.  */
+  charset,
+
+        /* Same parameters as charset, but match any character that is
+           not one of those specified.  */
+  charset_not,
+
+        /* Start remembering the text that is matched, for storing in a
+           register.  Followed by one byte with the register number, in
+           the range 0 to one less than the pattern buffer's re_nsub
+           field.  Then followed by one byte with the number of groups
+           inner to this one.  (This last has to be part of the
+           start_memory only because we need it in the on_failure_jump
+           of re_match_2.)  */
+  start_memory,
+
+        /* Stop remembering the text that is matched and store it in a
+           memory register.  Followed by one byte with the register
+           number, in the range 0 to one less than `re_nsub' in the
+           pattern buffer, and one byte with the number of inner groups,
+           just like `start_memory'.  (We need the number of inner
+           groups here because we don't have any easy way of finding the
+           corresponding start_memory when we're at a stop_memory.)  */
+  stop_memory,
+
+        /* Match a duplicate of something remembered. Followed by one
+           byte containing the register number.  */
+  duplicate,
+
+        /* Fail unless at beginning of line.  */
+  begline,
+
+        /* Fail unless at end of line.  */
+  endline,
+
+        /* Succeeds if at beginning of buffer (if emacs) or at beginning
+           of string to be matched (if not).  */
+  begbuf,
+
+        /* Analogously, for end of buffer/string.  */
+  endbuf,
+
+        /* Followed by two byte relative address to which to jump.  */
+  jump,
+
+	/* Same as jump, but marks the end of an alternative.  */
+  jump_past_alt,
+
+        /* Followed by two-byte relative address of place to resume at
+           in case of failure.  */
+  on_failure_jump,
+
+        /* Like on_failure_jump, but pushes a placeholder instead of the
+           current string position when executed.  */
+  on_failure_keep_string_jump,
+
+        /* Throw away latest failure point and then jump to following
+           two-byte relative address.  */
+  pop_failure_jump,
+
+        /* Change to pop_failure_jump if know won't have to backtrack to
+           match; otherwise change to jump.  This is used to jump
+           back to the beginning of a repeat.  If what follows this jump
+           clearly won't match what the repeat does, such that we can be
+           sure that there is no use backtracking out of repetitions
+           already matched, then we change it to a pop_failure_jump.
+           Followed by two-byte address.  */
+  maybe_pop_jump,
+
+        /* Jump to following two-byte address, and push a dummy failure
+           point. This failure point will be thrown away if an attempt
+           is made to use it for a failure.  A `+' construct makes this
+           before the first repeat.  Also used as an intermediary kind
+           of jump when compiling an alternative.  */
+  dummy_failure_jump,
+
+	/* Push a dummy failure point and continue.  Used at the end of
+	   alternatives.  */
+  push_dummy_failure,
+
+        /* Followed by two-byte relative address and two-byte number n.
+           After matching N times, jump to the address upon failure.  */
+  succeed_n,
+
+        /* Followed by two-byte relative address, and two-byte number n.
+           Jump to the address N times, then fail.  */
+  jump_n,
+
+        /* Set the following two-byte relative address to the
+           subsequent two-byte number.  The address *includes* the two
+           bytes of number.  */
+  set_number_at,
+
+  wordchar,	/* Matches any word-constituent character.  */
+  notwordchar,	/* Matches any char that is not a word-constituent.  */
+
+  wordbeg,	/* Succeeds if at word beginning.  */
+  wordend,	/* Succeeds if at word end.  */
+
+  wordbound,	/* Succeeds if at a word boundary.  */
+  notwordbound	/* Succeeds if not at a word boundary.  */
+
+#ifdef emacs
+  ,before_dot,	/* Succeeds if before point.  */
+  at_dot,	/* Succeeds if at point.  */
+  after_dot,	/* Succeeds if after point.  */
+
+	/* Matches any character whose syntax is specified.  Followed by
+           a byte which contains a syntax code, e.g., Sword.  */
+  syntaxspec,
+
+	/* Matches any character whose syntax is not that specified.  */
+  notsyntaxspec
+#endif /* emacs */
+} re_opcode_t;
+

+/* Common operations on the compiled pattern.  */
+
+/* Store NUMBER in two contiguous bytes starting at DESTINATION.  */
+
+#define STORE_NUMBER(destination, number)				\
+  do {									\
+    (destination)[0] = (number) & 0377;					\
+    (destination)[1] = (number) >> 8;					\
+  } while (0)
+
+/* Same as STORE_NUMBER, except increment DESTINATION to
+   the byte after where the number is stored.  Therefore, DESTINATION
+   must be an lvalue.  */
+
+#define STORE_NUMBER_AND_INCR(destination, number)			\
+  do {									\
+    STORE_NUMBER (destination, number);					\
+    (destination) += 2;							\
+  } while (0)
+
+/* Put into DESTINATION a number stored in two contiguous bytes starting
+   at SOURCE.  */
+
+#define EXTRACT_NUMBER(destination, source)				\
+  do {									\
+    (destination) = *(source) & 0377;					\
+    (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8;		\
+  } while (0)
+
+#ifdef DEBUG
+static void extract_number _RE_ARGS ((int *dest, unsigned char *source));
+static void
+extract_number (dest, source)
+    int *dest;
+    unsigned char *source;
+{
+  int temp = SIGN_EXTEND_CHAR (*(source + 1));
+  *dest = *source & 0377;
+  *dest += temp << 8;
+}
+
+# ifndef EXTRACT_MACROS /* To debug the macros.  */
+#  undef EXTRACT_NUMBER
+#  define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
+# endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
+   SOURCE must be an lvalue.  */
+
+#define EXTRACT_NUMBER_AND_INCR(destination, source)			\
+  do {									\
+    EXTRACT_NUMBER (destination, source);				\
+    (source) += 2; 							\
+  } while (0)
+
+#ifdef DEBUG
+static void extract_number_and_incr _RE_ARGS ((int *destination,
+					       unsigned char **source));
+static void
+extract_number_and_incr (destination, source)
+    int *destination;
+    unsigned char **source;
+{
+  extract_number (destination, *source);
+  *source += 2;
+}
+
+# ifndef EXTRACT_MACROS
+#  undef EXTRACT_NUMBER_AND_INCR
+#  define EXTRACT_NUMBER_AND_INCR(dest, src) \
+  extract_number_and_incr (&dest, &src)
+# endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+

+/* If DEBUG is defined, Regex prints many voluminous messages about what
+   it is doing (if the variable `debug' is nonzero).  If linked with the
+   main program in `iregex.c', you can enter patterns and strings
+   interactively.  And if linked with the main program in `main.c' and
+   the other test files, you can run the already-written tests.  */
+
+#ifdef DEBUG
+
+/* We use standard I/O for debugging.  */
+# include <stdio.h>
+
+/* It is useful to test things that ``must'' be true when debugging.  */
+# include <assert.h>
+
+static int debug = 0;
+
+# define DEBUG_STATEMENT(e) e
+# define DEBUG_PRINT1(x) if (debug) printf (x)
+# define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
+# define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
+# define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
+# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) 				\
+  if (debug) print_partial_compiled_pattern (s, e)
+# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)			\
+  if (debug) print_double_string (w, s1, sz1, s2, sz2)
+
+
+/* Print the fastmap in human-readable form.  */
+
+void
+print_fastmap (fastmap)
+    char *fastmap;
+{
+  unsigned was_a_range = 0;
+  unsigned i = 0;
+
+  while (i < (1 << BYTEWIDTH))
+    {
+      if (fastmap[i++])
+	{
+	  was_a_range = 0;
+          putchar (i - 1);
+          while (i < (1 << BYTEWIDTH)  &&  fastmap[i])
+            {
+              was_a_range = 1;
+              i++;
+            }
+	  if (was_a_range)
+            {
+              printf ("-");
+              putchar (i - 1);
+            }
+        }
+    }
+  putchar ('\n');
+}
+
+
+/* Print a compiled pattern string in human-readable form, starting at
+   the START pointer into it and ending just before the pointer END.  */
+
+void
+print_partial_compiled_pattern (start, end)
+    unsigned char *start;
+    unsigned char *end;
+{
+  int mcnt, mcnt2;
+  unsigned char *p1;
+  unsigned char *p = start;
+  unsigned char *pend = end;
+
+  if (start == NULL)
+    {
+      printf ("(null)\n");
+      return;
+    }
+
+  /* Loop over pattern commands.  */
+  while (p < pend)
+    {
+      printf ("%d:\t", p - start);
+
+      switch ((re_opcode_t) *p++)
+	{
+        case no_op:
+          printf ("/no_op");
+          break;
+
+	case exactn:
+	  mcnt = *p++;
+          printf ("/exactn/%d", mcnt);
+          do
+	    {
+              putchar ('/');
+	      putchar (*p++);
+            }
+          while (--mcnt);
+          break;
+
+	case start_memory:
+          mcnt = *p++;
+          printf ("/start_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case stop_memory:
+          mcnt = *p++;
+	  printf ("/stop_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case duplicate:
+	  printf ("/duplicate/%d", *p++);
+	  break;
+
+	case anychar:
+	  printf ("/anychar");
+	  break;
+
+	case charset:
+        case charset_not:
+          {
+            register int c, last = -100;
+	    register int in_range = 0;
+
+	    printf ("/charset [%s",
+	            (re_opcode_t) *(p - 1) == charset_not ? "^" : "");
+
+            assert (p + *p < pend);
+
+            for (c = 0; c < 256; c++)
+	      if (c / 8 < *p
+		  && (p[1 + (c/8)] & (1 << (c % 8))))
+		{
+		  /* Are we starting a range?  */
+		  if (last + 1 == c && ! in_range)
+		    {
+		      putchar ('-');
+		      in_range = 1;
+		    }
+		  /* Have we broken a range?  */
+		  else if (last + 1 != c && in_range)
+              {
+		      putchar (last);
+		      in_range = 0;
+		    }
+
+		  if (! in_range)
+		    putchar (c);
+
+		  last = c;
+              }
+
+	    if (in_range)
+	      putchar (last);
+
+	    putchar (']');
+
+	    p += 1 + *p;
+	  }
+	  break;
+
+	case begline:
+	  printf ("/begline");
+          break;
+
+	case endline:
+          printf ("/endline");
+          break;
+
+	case on_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_jump to %d", p + mcnt - start);
+          break;
+
+	case on_failure_keep_string_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_keep_string_jump to %d", p + mcnt - start);
+          break;
+
+	case dummy_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/dummy_failure_jump to %d", p + mcnt - start);
+          break;
+
+	case push_dummy_failure:
+          printf ("/push_dummy_failure");
+          break;
+
+        case maybe_pop_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/maybe_pop_jump to %d", p + mcnt - start);
+	  break;
+
+        case pop_failure_jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/pop_failure_jump to %d", p + mcnt - start);
+	  break;
+
+        case jump_past_alt:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump_past_alt to %d", p + mcnt - start);
+	  break;
+
+        case jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump to %d", p + mcnt - start);
+	  break;
+
+        case succeed_n:
+          extract_number_and_incr (&mcnt, &p);
+	  p1 = p + mcnt;
+          extract_number_and_incr (&mcnt2, &p);
+	  printf ("/succeed_n to %d, %d times", p1 - start, mcnt2);
+          break;
+
+        case jump_n:
+          extract_number_and_incr (&mcnt, &p);
+	  p1 = p + mcnt;
+          extract_number_and_incr (&mcnt2, &p);
+	  printf ("/jump_n to %d, %d times", p1 - start, mcnt2);
+          break;
+
+        case set_number_at:
+          extract_number_and_incr (&mcnt, &p);
+	  p1 = p + mcnt;
+          extract_number_and_incr (&mcnt2, &p);
+	  printf ("/set_number_at location %d to %d", p1 - start, mcnt2);
+          break;
+
+        case wordbound:
+	  printf ("/wordbound");
+	  break;
+
+	case notwordbound:
+	  printf ("/notwordbound");
+          break;
+
+	case wordbeg:
+	  printf ("/wordbeg");
+	  break;
+
+	case wordend:
+	  printf ("/wordend");
+
+# ifdef emacs
+	case before_dot:
+	  printf ("/before_dot");
+          break;
+
+	case at_dot:
+	  printf ("/at_dot");
+          break;
+
+	case after_dot:
+	  printf ("/after_dot");
+          break;
+
+	case syntaxspec:
+          printf ("/syntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+          break;
+
+	case notsyntaxspec:
+          printf ("/notsyntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+	  break;
+# endif /* emacs */
+
+	case wordchar:
+	  printf ("/wordchar");
+          break;
+
+	case notwordchar:
+	  printf ("/notwordchar");
+          break;
+
+	case begbuf:
+	  printf ("/begbuf");
+          break;
+
+	case endbuf:
+	  printf ("/endbuf");
+          break;
+
+        default:
+          printf ("?%d", *(p-1));
+	}
+
+      putchar ('\n');
+    }
+
+  printf ("%d:\tend of pattern.\n", p - start);
+}
+
+
+void
+print_compiled_pattern (bufp)
+    struct re_pattern_buffer *bufp;
+{
+  unsigned char *buffer = bufp->buffer;
+
+  print_partial_compiled_pattern (buffer, buffer + bufp->used);
+  printf ("%ld bytes used/%ld bytes allocated.\n",
+	  bufp->used, bufp->allocated);
+
+  if (bufp->fastmap_accurate && bufp->fastmap)
+    {
+      printf ("fastmap: ");
+      print_fastmap (bufp->fastmap);
+    }
+
+  printf ("re_nsub: %d\t", bufp->re_nsub);
+  printf ("regs_alloc: %d\t", bufp->regs_allocated);
+  printf ("can_be_null: %d\t", bufp->can_be_null);
+  printf ("newline_anchor: %d\n", bufp->newline_anchor);
+  printf ("no_sub: %d\t", bufp->no_sub);
+  printf ("not_bol: %d\t", bufp->not_bol);
+  printf ("not_eol: %d\t", bufp->not_eol);
+  printf ("syntax: %lx\n", bufp->syntax);
+  /* Perhaps we should print the translate table?  */
+}
+
+
+void
+print_double_string (where, string1, size1, string2, size2)
+    const char *where;
+    const char *string1;
+    const char *string2;
+    int size1;
+    int size2;
+{
+  int this_char;
+
+  if (where == NULL)
+    printf ("(null)");
+  else
+    {
+      if (FIRST_STRING_P (where))
+        {
+          for (this_char = where - string1; this_char < size1; this_char++)
+            putchar (string1[this_char]);
+
+          where = string2;
+        }
+
+      for (this_char = where - string2; this_char < size2; this_char++)
+        putchar (string2[this_char]);
+    }
+}
+
+void
+printchar (c)
+     int c;
+{
+  putc (c, stderr);
+}
+
+#else /* not DEBUG */
+
+# undef assert
+# define assert(e)
+
+# define DEBUG_STATEMENT(e)
+# define DEBUG_PRINT1(x)
+# define DEBUG_PRINT2(x1, x2)
+# define DEBUG_PRINT3(x1, x2, x3)
+# define DEBUG_PRINT4(x1, x2, x3, x4)
+# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
+# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
+
+#endif /* not DEBUG */
+

+/* Set by `re_set_syntax' to the current regexp syntax to recognize.  Can
+   also be assigned to arbitrarily: each pattern buffer stores its own
+   syntax, so it can be changed between regex compilations.  */
+/* This has no initializer because initialized variables in Emacs
+   become read-only after dumping.  */
+reg_syntax_t re_syntax_options;
+
+
+/* Specify the precise syntax of regexps for compilation.  This provides
+   for compatibility for various utilities which historically have
+   different, incompatible syntaxes.
+
+   The argument SYNTAX is a bit mask comprised of the various bits
+   defined in regex.h.  We return the old syntax.  */
+
+reg_syntax_t
+re_set_syntax (syntax)
+    reg_syntax_t syntax;
+{
+  reg_syntax_t ret = re_syntax_options;
+
+  re_syntax_options = syntax;
+#ifdef DEBUG
+  if (syntax & RE_DEBUG)
+    debug = 1;
+  else if (debug) /* was on but now is not */
+    debug = 0;
+#endif /* DEBUG */
+  return ret;
+}
+#ifdef _LIBC
+weak_alias (__re_set_syntax, re_set_syntax)
+#endif
+

+/* This table gives an error message for each of the error codes listed
+   in regex.h.  Obviously the order here has to be same as there.
+   POSIX doesn't require that we do anything for REG_NOERROR,
+   but why not be nice?  */
+
+static const char *re_error_msgid[] =
+  {
+    gettext_noop ("Success"),	/* REG_NOERROR */
+    gettext_noop ("No match"),	/* REG_NOMATCH */
+    gettext_noop ("Invalid regular expression"), /* REG_BADPAT */
+    gettext_noop ("Invalid collation character"), /* REG_ECOLLATE */
+    gettext_noop ("Invalid character class name"), /* REG_ECTYPE */
+    gettext_noop ("Trailing backslash"), /* REG_EESCAPE */
+    gettext_noop ("Invalid back reference"), /* REG_ESUBREG */
+    gettext_noop ("Unmatched [ or [^"),	/* REG_EBRACK */
+    gettext_noop ("Unmatched ( or \\("), /* REG_EPAREN */
+    gettext_noop ("Unmatched \\{"), /* REG_EBRACE */
+    gettext_noop ("Invalid content of \\{\\}"), /* REG_BADBR */
+    gettext_noop ("Invalid range end"),	/* REG_ERANGE */
+    gettext_noop ("Memory exhausted"), /* REG_ESPACE */
+    gettext_noop ("Invalid preceding regular expression"), /* REG_BADRPT */
+    gettext_noop ("Premature end of regular expression"), /* REG_EEND */
+    gettext_noop ("Regular expression too big"), /* REG_ESIZE */
+    gettext_noop ("Unmatched ) or \\)"), /* REG_ERPAREN */
+  };
+

+/* Avoiding alloca during matching, to placate r_alloc.  */
+
+/* Define MATCH_MAY_ALLOCATE unless we need to make sure that the
+   searching and matching functions should not call alloca.  On some
+   systems, alloca is implemented in terms of malloc, and if we're
+   using the relocating allocator routines, then malloc could cause a
+   relocation, which might (if the strings being searched are in the
+   ralloc heap) shift the data out from underneath the regexp
+   routines.
+
+   Here's another reason to avoid allocation: Emacs
+   processes input from X in a signal handler; processing X input may
+   call malloc; if input arrives while a matching routine is calling
+   malloc, then we're scrod.  But Emacs can't just block input while
+   calling matching routines; then we don't notice interrupts when
+   they come in.  So, Emacs blocks input around all regexp calls
+   except the matching calls, which it leaves unprotected, in the
+   faith that they will not malloc.  */
+
+/* Normally, this is fine.  */
+#define MATCH_MAY_ALLOCATE
+
+/* When using GNU C, we are not REALLY using the C alloca, no matter
+   what config.h may say.  So don't take precautions for it.  */
+#ifdef __GNUC__
+# undef C_ALLOCA
+#endif
+
+/* The match routines may not allocate if (1) they would do it with malloc
+   and (2) it's not safe for them to use malloc.
+   Note that if REL_ALLOC is defined, matching would not use malloc for the
+   failure stack, but we would still use it for the register vectors;
+   so REL_ALLOC should not affect this.  */
+#if (defined C_ALLOCA || defined REGEX_MALLOC) && defined emacs
+# undef MATCH_MAY_ALLOCATE
+#endif
+
+

+/* Failure stack declarations and macros; both re_compile_fastmap and
+   re_match_2 use a failure stack.  These have to be macros because of
+   REGEX_ALLOCATE_STACK.  */
+
+
+/* Number of failure points for which to initially allocate space
+   when matching.  If this number is exceeded, we allocate more
+   space, so it is not a hard limit.  */
+#ifndef INIT_FAILURE_ALLOC
+# define INIT_FAILURE_ALLOC 5
+#endif
+
+/* Roughly the maximum number of failure points on the stack.  Would be
+   exactly that if always used MAX_FAILURE_ITEMS items each time we failed.
+   This is a variable only so users of regex can assign to it; we never
+   change it ourselves.  */
+
+#ifdef INT_IS_16BIT
+
+# if defined MATCH_MAY_ALLOCATE
+/* 4400 was enough to cause a crash on Alpha OSF/1,
+   whose default stack limit is 2mb.  */
+long int re_max_failures = 4000;
+# else
+long int re_max_failures = 2000;
+# endif
+
+union fail_stack_elt
+{
+  unsigned char *pointer;
+  long int integer;
+};
+
+typedef union fail_stack_elt fail_stack_elt_t;
+
+typedef struct
+{
+  fail_stack_elt_t *stack;
+  unsigned long int size;
+  unsigned long int avail;		/* Offset of next open position.  */
+} fail_stack_type;
+
+#else /* not INT_IS_16BIT */
+
+# if defined MATCH_MAY_ALLOCATE
+/* 4400 was enough to cause a crash on Alpha OSF/1,
+   whose default stack limit is 2mb.  */
+int re_max_failures = 20000;
+# else
+int re_max_failures = 2000;
+# endif
+
+union fail_stack_elt
+{
+  unsigned char *pointer;
+  int integer;
+};
+
+typedef union fail_stack_elt fail_stack_elt_t;
+
+typedef struct
+{
+  fail_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} fail_stack_type;
+
+#endif /* INT_IS_16BIT */
+
+#define FAIL_STACK_EMPTY()     (fail_stack.avail == 0)
+#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
+#define FAIL_STACK_FULL()      (fail_stack.avail == fail_stack.size)
+
+
+/* Define macros to initialize and free the failure stack.
+   Do `return -2' if the alloc fails.  */
+
+#ifdef MATCH_MAY_ALLOCATE
+# define INIT_FAIL_STACK()						\
+  do {									\
+    fail_stack.stack = (fail_stack_elt_t *)				\
+      REGEX_ALLOCATE_STACK (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t)); \
+									\
+    if (fail_stack.stack == NULL)					\
+      return -2;							\
+									\
+    fail_stack.size = INIT_FAILURE_ALLOC;				\
+    fail_stack.avail = 0;						\
+  } while (0)
+
+# define RESET_FAIL_STACK()  REGEX_FREE_STACK (fail_stack.stack)
+#else
+# define INIT_FAIL_STACK()						\
+  do {									\
+    fail_stack.avail = 0;						\
+  } while (0)
+
+# define RESET_FAIL_STACK()
+#endif
+
+
+/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
+
+   Return 1 if succeeds, and 0 if either ran out of memory
+   allocating space for it or it was already too large.
+
+   REGEX_REALLOCATE_STACK requires `destination' be declared.   */
+
+#define DOUBLE_FAIL_STACK(fail_stack)					\
+  ((fail_stack).size > (unsigned) (re_max_failures * MAX_FAILURE_ITEMS)	\
+   ? 0									\
+   : ((fail_stack).stack = (fail_stack_elt_t *)				\
+        REGEX_REALLOCATE_STACK ((fail_stack).stack, 			\
+          (fail_stack).size * sizeof (fail_stack_elt_t),		\
+          ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)),	\
+									\
+      (fail_stack).stack == NULL					\
+      ? 0								\
+      : ((fail_stack).size <<= 1, 					\
+         1)))
+
+
+/* Push pointer POINTER on FAIL_STACK.
+   Return 1 if was able to do so and 0 if ran out of memory allocating
+   space to do so.  */
+#define PUSH_PATTERN_OP(POINTER, FAIL_STACK)				\
+  ((FAIL_STACK_FULL ()							\
+    && !DOUBLE_FAIL_STACK (FAIL_STACK))					\
+   ? 0									\
+   : ((FAIL_STACK).stack[(FAIL_STACK).avail++].pointer = POINTER,	\
+      1))
+
+/* Push a pointer value onto the failure stack.
+   Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_POINTER(item)					\
+  fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (item)
+
+/* This pushes an integer-valued item onto the failure stack.
+   Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_INT(item)					\
+  fail_stack.stack[fail_stack.avail++].integer = (item)
+
+/* Push a fail_stack_elt_t value onto the failure stack.
+   Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_ELT(item)					\
+  fail_stack.stack[fail_stack.avail++] =  (item)
+
+/* These three POP... operations complement the three PUSH... operations.
+   All assume that `fail_stack' is nonempty.  */
+#define POP_FAILURE_POINTER() fail_stack.stack[--fail_stack.avail].pointer
+#define POP_FAILURE_INT() fail_stack.stack[--fail_stack.avail].integer
+#define POP_FAILURE_ELT() fail_stack.stack[--fail_stack.avail]
+
+/* Used to omit pushing failure point id's when we're not debugging.  */
+#ifdef DEBUG
+# define DEBUG_PUSH PUSH_FAILURE_INT
+# define DEBUG_POP(item_addr) *(item_addr) = POP_FAILURE_INT ()
+#else
+# define DEBUG_PUSH(item)
+# define DEBUG_POP(item_addr)
+#endif
+
+
+/* Push the information about the state we will need
+   if we ever fail back to it.
+
+   Requires variables fail_stack, regstart, regend, reg_info, and
+   num_regs_pushed be declared.  DOUBLE_FAIL_STACK requires `destination'
+   be declared.
+
+   Does `return FAILURE_CODE' if runs out of memory.  */
+
+#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code)	\
+  do {									\
+    char *destination;							\
+    /* Must be int, so when we don't save any registers, the arithmetic	\
+       of 0 + -1 isn't done as unsigned.  */				\
+    /* Can't be int, since there is not a shred of a guarantee that int	\
+       is wide enough to hold a value of something to which pointer can	\
+       be assigned */							\
+    active_reg_t this_reg;						\
+    									\
+    DEBUG_STATEMENT (failure_id++);					\
+    DEBUG_STATEMENT (nfailure_points_pushed++);				\
+    DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id);		\
+    DEBUG_PRINT2 ("  Before push, next avail: %d\n", (fail_stack).avail);\
+    DEBUG_PRINT2 ("                     size: %d\n", (fail_stack).size);\
+									\
+    DEBUG_PRINT2 ("  slots needed: %ld\n", NUM_FAILURE_ITEMS);		\
+    DEBUG_PRINT2 ("     available: %d\n", REMAINING_AVAIL_SLOTS);	\
+									\
+    /* Ensure we have enough space allocated for what we will push.  */	\
+    while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS)			\
+      {									\
+        if (!DOUBLE_FAIL_STACK (fail_stack))				\
+          return failure_code;						\
+									\
+        DEBUG_PRINT2 ("\n  Doubled stack; size now: %d\n",		\
+		       (fail_stack).size);				\
+        DEBUG_PRINT2 ("  slots available: %d\n", REMAINING_AVAIL_SLOTS);\
+      }									\
+									\
+    /* Push the info, starting with the registers.  */			\
+    DEBUG_PRINT1 ("\n");						\
+									\
+    if (1)								\
+      for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; \
+	   this_reg++)							\
+	{								\
+	  DEBUG_PRINT2 ("  Pushing reg: %lu\n", this_reg);		\
+	  DEBUG_STATEMENT (num_regs_pushed++);				\
+									\
+	  DEBUG_PRINT2 ("    start: %p\n", regstart[this_reg]);		\
+	  PUSH_FAILURE_POINTER (regstart[this_reg]);			\
+									\
+	  DEBUG_PRINT2 ("    end: %p\n", regend[this_reg]);		\
+	  PUSH_FAILURE_POINTER (regend[this_reg]);			\
+									\
+	  DEBUG_PRINT2 ("    info: %p\n      ",				\
+			reg_info[this_reg].word.pointer);		\
+	  DEBUG_PRINT2 (" match_null=%d",				\
+			REG_MATCH_NULL_STRING_P (reg_info[this_reg]));	\
+	  DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg]));	\
+	  DEBUG_PRINT2 (" matched_something=%d",			\
+			MATCHED_SOMETHING (reg_info[this_reg]));	\
+	  DEBUG_PRINT2 (" ever_matched=%d",				\
+			EVER_MATCHED_SOMETHING (reg_info[this_reg]));	\
+	  DEBUG_PRINT1 ("\n");						\
+	  PUSH_FAILURE_ELT (reg_info[this_reg].word);			\
+	}								\
+									\
+    DEBUG_PRINT2 ("  Pushing  low active reg: %ld\n", lowest_active_reg);\
+    PUSH_FAILURE_INT (lowest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing high active reg: %ld\n", highest_active_reg);\
+    PUSH_FAILURE_INT (highest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing pattern %p:\n", pattern_place);		\
+    DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend);		\
+    PUSH_FAILURE_POINTER (pattern_place);				\
+									\
+    DEBUG_PRINT2 ("  Pushing string %p: `", string_place);		\
+    DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2,   \
+				 size2);				\
+    DEBUG_PRINT1 ("'\n");						\
+    PUSH_FAILURE_POINTER (string_place);				\
+									\
+    DEBUG_PRINT2 ("  Pushing failure id: %u\n", failure_id);		\
+    DEBUG_PUSH (failure_id);						\
+  } while (0)
+
+/* This is the number of items that are pushed and popped on the stack
+   for each register.  */
+#define NUM_REG_ITEMS  3
+
+/* Individual items aside from the registers.  */
+#ifdef DEBUG
+# define NUM_NONREG_ITEMS 5 /* Includes failure point id.  */
+#else
+# define NUM_NONREG_ITEMS 4
+#endif
+
+/* We push at most this many items on the stack.  */
+/* We used to use (num_regs - 1), which is the number of registers
+   this regexp will save; but that was changed to 5
+   to avoid stack overflow for a regexp with lots of parens.  */
+#define MAX_FAILURE_ITEMS (5 * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
+
+/* We actually push this many items.  */
+#define NUM_FAILURE_ITEMS				\
+  (((0							\
+     ? 0 : highest_active_reg - lowest_active_reg + 1)	\
+    * NUM_REG_ITEMS)					\
+   + NUM_NONREG_ITEMS)
+
+/* How many items can still be added to the stack without overflowing it.  */
+#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
+
+
+/* Pops what PUSH_FAIL_STACK pushes.
+
+   We restore into the parameters, all of which should be lvalues:
+     STR -- the saved data position.
+     PAT -- the saved pattern position.
+     LOW_REG, HIGH_REG -- the highest and lowest active registers.
+     REGSTART, REGEND -- arrays of string positions.
+     REG_INFO -- array of information about each subexpression.
+
+   Also assumes the variables `fail_stack' and (if debugging), `bufp',
+   `pend', `string1', `size1', `string2', and `size2'.  */
+
+#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
+{									\
+  DEBUG_STATEMENT (unsigned failure_id;)				\
+  active_reg_t this_reg;						\
+  const unsigned char *string_temp;					\
+									\
+  assert (!FAIL_STACK_EMPTY ());					\
+									\
+  /* Remove failure points and point to how many regs pushed.  */	\
+  DEBUG_PRINT1 ("POP_FAILURE_POINT:\n");				\
+  DEBUG_PRINT2 ("  Before pop, next avail: %d\n", fail_stack.avail);	\
+  DEBUG_PRINT2 ("                    size: %d\n", fail_stack.size);	\
+									\
+  assert (fail_stack.avail >= NUM_NONREG_ITEMS);			\
+									\
+  DEBUG_POP (&failure_id);						\
+  DEBUG_PRINT2 ("  Popping failure id: %u\n", failure_id);		\
+									\
+  /* If the saved string location is NULL, it came from an		\
+     on_failure_keep_string_jump opcode, and we want to throw away the	\
+     saved NULL, thus retaining our current position in the string.  */	\
+  string_temp = POP_FAILURE_POINTER ();					\
+  if (string_temp != NULL)						\
+    str = (const char *) string_temp;					\
+									\
+  DEBUG_PRINT2 ("  Popping string %p: `", str);				\
+  DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2);	\
+  DEBUG_PRINT1 ("'\n");							\
+									\
+  pat = (unsigned char *) POP_FAILURE_POINTER ();			\
+  DEBUG_PRINT2 ("  Popping pattern %p:\n", pat);			\
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend);			\
+									\
+  /* Restore register info.  */						\
+  high_reg = (active_reg_t) POP_FAILURE_INT ();				\
+  DEBUG_PRINT2 ("  Popping high active reg: %ld\n", high_reg);		\
+									\
+  low_reg = (active_reg_t) POP_FAILURE_INT ();				\
+  DEBUG_PRINT2 ("  Popping  low active reg: %ld\n", low_reg);		\
+									\
+  if (1)								\
+    for (this_reg = high_reg; this_reg >= low_reg; this_reg--)		\
+      {									\
+	DEBUG_PRINT2 ("    Popping reg: %ld\n", this_reg);		\
+									\
+	reg_info[this_reg].word = POP_FAILURE_ELT ();			\
+	DEBUG_PRINT2 ("      info: %p\n",				\
+		      reg_info[this_reg].word.pointer);			\
+									\
+	regend[this_reg] = (const char *) POP_FAILURE_POINTER ();	\
+	DEBUG_PRINT2 ("      end: %p\n", regend[this_reg]);		\
+									\
+	regstart[this_reg] = (const char *) POP_FAILURE_POINTER ();	\
+	DEBUG_PRINT2 ("      start: %p\n", regstart[this_reg]);		\
+      }									\
+  else									\
+    {									\
+      for (this_reg = highest_active_reg; this_reg > high_reg; this_reg--) \
+	{								\
+	  reg_info[this_reg].word.integer = 0;				\
+	  regend[this_reg] = 0;						\
+	  regstart[this_reg] = 0;					\
+	}								\
+      highest_active_reg = high_reg;					\
+    }									\
+									\
+  set_regs_matched_done = 0;						\
+  DEBUG_STATEMENT (nfailure_points_popped++);				\
+} /* POP_FAILURE_POINT */
+
+
+

+/* Structure for per-register (a.k.a. per-group) information.
+   Other register information, such as the
+   starting and ending positions (which are addresses), and the list of
+   inner groups (which is a bits list) are maintained in separate
+   variables.
+
+   We are making a (strictly speaking) nonportable assumption here: that
+   the compiler will pack our bit fields into something that fits into
+   the type of `word', i.e., is something that fits into one item on the
+   failure stack.  */
+
+
+/* Declarations and macros for re_match_2.  */
+
+typedef union
+{
+  fail_stack_elt_t word;
+  struct
+  {
+      /* This field is one if this group can match the empty string,
+         zero if not.  If not yet determined,  `MATCH_NULL_UNSET_VALUE'.  */
+#define MATCH_NULL_UNSET_VALUE 3
+    unsigned match_null_string_p : 2;
+    unsigned is_active : 1;
+    unsigned matched_something : 1;
+    unsigned ever_matched_something : 1;
+  } bits;
+} register_info_type;
+
+#define REG_MATCH_NULL_STRING_P(R)  ((R).bits.match_null_string_p)
+#define IS_ACTIVE(R)  ((R).bits.is_active)
+#define MATCHED_SOMETHING(R)  ((R).bits.matched_something)
+#define EVER_MATCHED_SOMETHING(R)  ((R).bits.ever_matched_something)
+
+
+/* Call this when have matched a real character; it sets `matched' flags
+   for the subexpressions which we are currently inside.  Also records
+   that those subexprs have matched.  */
+#define SET_REGS_MATCHED()						\
+  do									\
+    {									\
+      if (!set_regs_matched_done)					\
+	{								\
+	  active_reg_t r;						\
+	  set_regs_matched_done = 1;					\
+	  for (r = lowest_active_reg; r <= highest_active_reg; r++)	\
+	    {								\
+	      MATCHED_SOMETHING (reg_info[r])				\
+		= EVER_MATCHED_SOMETHING (reg_info[r])			\
+		= 1;							\
+	    }								\
+	}								\
+    }									\
+  while (0)
+
+/* Registers are set to a sentinel when they haven't yet matched.  */
+static char reg_unset_dummy;
+#define REG_UNSET_VALUE (&reg_unset_dummy)
+#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
+

+/* Subroutine declarations and macros for regex_compile.  */
+
+static reg_errcode_t regex_compile _RE_ARGS ((const char *pattern, size_t size,
+					      reg_syntax_t syntax,
+					      struct re_pattern_buffer *bufp));
+static void store_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc, int arg));
+static void store_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
+				 int arg1, int arg2));
+static void insert_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
+				  int arg, unsigned char *end));
+static void insert_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
+				  int arg1, int arg2, unsigned char *end));
+static boolean at_begline_loc_p _RE_ARGS ((const char *pattern, const char *p,
+					   reg_syntax_t syntax));
+static boolean at_endline_loc_p _RE_ARGS ((const char *p, const char *pend,
+					   reg_syntax_t syntax));
+static reg_errcode_t compile_range _RE_ARGS ((const char **p_ptr,
+					      const char *pend,
+					      char *translate,
+					      reg_syntax_t syntax,
+					      unsigned char *b));
+
+/* Fetch the next character in the uncompiled pattern---translating it
+   if necessary.  Also cast from a signed character in the constant
+   string passed to us by the user to an unsigned char that we can use
+   as an array index (in, e.g., `translate').  */
+#ifndef PATFETCH
+# define PATFETCH(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++;						\
+    if (translate) c = (unsigned char) translate[c];			\
+  } while (0)
+#endif
+
+/* Fetch the next character in the uncompiled pattern, with no
+   translation.  */
+#define PATFETCH_RAW(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++; 						\
+  } while (0)
+
+/* Go backwards one character in the pattern.  */
+#define PATUNFETCH p--
+
+
+/* If `translate' is non-null, return translate[D], else just D.  We
+   cast the subscript to translate because some data is declared as
+   `char *', to avoid warnings when a string constant is passed.  But
+   when we use a character as a subscript we must make it unsigned.  */
+#ifndef TRANSLATE
+# define TRANSLATE(d) \
+  (translate ? (char) translate[(unsigned char) (d)] : (d))
+#endif
+
+
+/* Macros for outputting the compiled pattern into `buffer'.  */
+
+/* If the buffer isn't allocated when it comes in, use this.  */
+#define INIT_BUF_SIZE  32
+
+/* Make sure we have at least N more bytes of space in buffer.  */
+#define GET_BUFFER_SPACE(n)						\
+    while ((unsigned long) (b - bufp->buffer + (n)) > bufp->allocated)	\
+      EXTEND_BUFFER ()
+
+/* Make sure we have one more byte of buffer space and then add C to it.  */
+#define BUF_PUSH(c)							\
+  do {									\
+    GET_BUFFER_SPACE (1);						\
+    *b++ = (unsigned char) (c);						\
+  } while (0)
+
+
+/* Ensure we have two more bytes of buffer space and then append C1 and C2.  */
+#define BUF_PUSH_2(c1, c2)						\
+  do {									\
+    GET_BUFFER_SPACE (2);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+  } while (0)
+
+
+/* As with BUF_PUSH_2, except for three bytes.  */
+#define BUF_PUSH_3(c1, c2, c3)						\
+  do {									\
+    GET_BUFFER_SPACE (3);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+    *b++ = (unsigned char) (c3);					\
+  } while (0)
+
+
+/* Store a jump with opcode OP at LOC to location TO.  We store a
+   relative address offset by the three bytes the jump itself occupies.  */
+#define STORE_JUMP(op, loc, to) \
+  store_op1 (op, loc, (int) ((to) - (loc) - 3))
+
+/* Likewise, for a two-argument jump.  */
+#define STORE_JUMP2(op, loc, to, arg) \
+  store_op2 (op, loc, (int) ((to) - (loc) - 3), arg)
+
+/* Like `STORE_JUMP', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP(op, loc, to) \
+  insert_op1 (op, loc, (int) ((to) - (loc) - 3), b)
+
+/* Like `STORE_JUMP2', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP2(op, loc, to, arg) \
+  insert_op2 (op, loc, (int) ((to) - (loc) - 3), arg, b)
+
+
+/* This is not an arbitrary limit: the arguments which represent offsets
+   into the pattern are two bytes long.  So if 2^16 bytes turns out to
+   be too small, many things would have to change.  */
+/* Any other compiler which, like MSC, has allocation limit below 2^16
+   bytes will have to use approach similar to what was done below for
+   MSC and drop MAX_BUF_SIZE a bit.  Otherwise you may end up
+   reallocating to 0 bytes.  Such thing is not going to work too well.
+   You have been warned!!  */
+#if defined _MSC_VER  && !defined WIN32
+/* Microsoft C 16-bit versions limit malloc to approx 65512 bytes.
+   The REALLOC define eliminates a flurry of conversion warnings,
+   but is not required. */
+# define MAX_BUF_SIZE  65500L
+# define REALLOC(p,s) realloc ((p), (size_t) (s))
+#else
+# define MAX_BUF_SIZE (1L << 16)
+# define REALLOC(p,s) realloc ((p), (s))
+#endif
+
+/* Extend the buffer by twice its current size via realloc and
+   reset the pointers that pointed into the old block to point to the
+   correct places in the new one.  If extending the buffer results in it
+   being larger than MAX_BUF_SIZE, then flag memory exhausted.  */
+#define EXTEND_BUFFER()							\
+  do { 									\
+    unsigned char *old_buffer = bufp->buffer;				\
+    if (bufp->allocated == MAX_BUF_SIZE) 				\
+      return REG_ESIZE;							\
+    bufp->allocated <<= 1;						\
+    if (bufp->allocated > MAX_BUF_SIZE)					\
+      bufp->allocated = MAX_BUF_SIZE; 					\
+    bufp->buffer = (unsigned char *) REALLOC (bufp->buffer, bufp->allocated);\
+    if (bufp->buffer == NULL)						\
+      return REG_ESPACE;						\
+    /* If the buffer moved, move all the pointers into it.  */		\
+    if (old_buffer != bufp->buffer)					\
+      {									\
+        b = (b - old_buffer) + bufp->buffer;				\
+        begalt = (begalt - old_buffer) + bufp->buffer;			\
+        if (fixup_alt_jump)						\
+          fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
+        if (laststart)							\
+          laststart = (laststart - old_buffer) + bufp->buffer;		\
+        if (pending_exact)						\
+          pending_exact = (pending_exact - old_buffer) + bufp->buffer;	\
+      }									\
+  } while (0)
+
+
+/* Since we have one byte reserved for the register number argument to
+   {start,stop}_memory, the maximum number of groups we can report
+   things about is what fits in that byte.  */
+#define MAX_REGNUM 255
+
+/* But patterns can have more than `MAX_REGNUM' registers.  We just
+   ignore the excess.  */
+typedef unsigned regnum_t;
+
+
+/* Macros for the compile stack.  */
+
+/* Since offsets can go either forwards or backwards, this type needs to
+   be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1.  */
+/* int may be not enough when sizeof(int) == 2.  */
+typedef long pattern_offset_t;
+
+typedef struct
+{
+  pattern_offset_t begalt_offset;
+  pattern_offset_t fixup_alt_jump;
+  pattern_offset_t inner_group_offset;
+  pattern_offset_t laststart_offset;
+  regnum_t regnum;
+} compile_stack_elt_t;
+
+
+typedef struct
+{
+  compile_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} compile_stack_type;
+
+
+#define INIT_COMPILE_STACK_SIZE 32
+
+#define COMPILE_STACK_EMPTY  (compile_stack.avail == 0)
+#define COMPILE_STACK_FULL  (compile_stack.avail == compile_stack.size)
+
+/* The next available element.  */
+#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
+
+
+/* Set the bit for character C in a list.  */
+#define SET_LIST_BIT(c)                               \
+  (b[((unsigned char) (c)) / BYTEWIDTH]               \
+   |= 1 << (((unsigned char) c) % BYTEWIDTH))
+
+
+/* Get the next unsigned number in the uncompiled pattern.  */
+#define GET_UNSIGNED_NUMBER(num) 					\
+  { if (p != pend)							\
+     {									\
+       PATFETCH (c); 							\
+       while (ISDIGIT (c)) 						\
+         { 								\
+           if (num < 0)							\
+              num = 0;							\
+           num = num * 10 + c - '0'; 					\
+           if (p == pend) 						\
+              break; 							\
+           PATFETCH (c);						\
+         } 								\
+       } 								\
+    }
+
+#if defined _LIBC || WIDE_CHAR_SUPPORT
+/* The GNU C library provides support for user-defined character classes
+   and the functions from ISO C amendement 1.  */
+# ifdef CHARCLASS_NAME_MAX
+#  define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
+# else
+/* This shouldn't happen but some implementation might still have this
+   problem.  Use a reasonable default value.  */
+#  define CHAR_CLASS_MAX_LENGTH 256
+# endif
+
+# ifdef _LIBC
+#  define IS_CHAR_CLASS(string) __wctype (string)
+# else
+#  define IS_CHAR_CLASS(string) wctype (string)
+# endif
+#else
+# define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+
+# define IS_CHAR_CLASS(string)						\
+   (STREQ (string, "alpha") || STREQ (string, "upper")			\
+    || STREQ (string, "lower") || STREQ (string, "digit")		\
+    || STREQ (string, "alnum") || STREQ (string, "xdigit")		\
+    || STREQ (string, "space") || STREQ (string, "print")		\
+    || STREQ (string, "punct") || STREQ (string, "graph")		\
+    || STREQ (string, "cntrl") || STREQ (string, "blank"))
+#endif
+

+#ifndef MATCH_MAY_ALLOCATE
+
+/* If we cannot allocate large objects within re_match_2_internal,
+   we make the fail stack and register vectors global.
+   The fail stack, we grow to the maximum size when a regexp
+   is compiled.
+   The register vectors, we adjust in size each time we
+   compile a regexp, according to the number of registers it needs.  */
+
+static fail_stack_type fail_stack;
+
+/* Size with which the following vectors are currently allocated.
+   That is so we can make them bigger as needed,
+   but never make them smaller.  */
+static int regs_allocated_size;
+
+static const char **     regstart, **     regend;
+static const char ** old_regstart, ** old_regend;
+static const char **best_regstart, **best_regend;
+static register_info_type *reg_info;
+static const char **reg_dummy;
+static register_info_type *reg_info_dummy;
+
+/* Make the register vectors big enough for NUM_REGS registers,
+   but don't make them smaller.  */
+
+static
+regex_grow_registers (num_regs)
+     int num_regs;
+{
+  if (num_regs > regs_allocated_size)
+    {
+      RETALLOC_IF (regstart,	 num_regs, const char *);
+      RETALLOC_IF (regend,	 num_regs, const char *);
+      RETALLOC_IF (old_regstart, num_regs, const char *);
+      RETALLOC_IF (old_regend,	 num_regs, const char *);
+      RETALLOC_IF (best_regstart, num_regs, const char *);
+      RETALLOC_IF (best_regend,	 num_regs, const char *);
+      RETALLOC_IF (reg_info,	 num_regs, register_info_type);
+      RETALLOC_IF (reg_dummy,	 num_regs, const char *);
+      RETALLOC_IF (reg_info_dummy, num_regs, register_info_type);
+
+      regs_allocated_size = num_regs;
+    }
+}
+
+#endif /* not MATCH_MAY_ALLOCATE */
+

+static boolean group_in_compile_stack _RE_ARGS ((compile_stack_type
+						 compile_stack,
+						 regnum_t regnum));
+
+/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
+   Returns one of error codes defined in `regex.h', or zero for success.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate'
+   fields are set in BUFP on entry.
+
+   If it succeeds, results are put in BUFP (if it returns an error, the
+   contents of BUFP are undefined):
+     `buffer' is the compiled pattern;
+     `syntax' is set to SYNTAX;
+     `used' is set to the length of the compiled pattern;
+     `fastmap_accurate' is zero;
+     `re_nsub' is the number of subexpressions in PATTERN;
+     `not_bol' and `not_eol' are zero;
+
+   The `fastmap' and `newline_anchor' fields are neither
+   examined nor set.  */
+
+/* Return, freeing storage we allocated.  */
+#define FREE_STACK_RETURN(value)		\
+  return (free (compile_stack.stack), value)
+
+static reg_errcode_t
+regex_compile (pattern, size, syntax, bufp)
+     const char *pattern;
+     size_t size;
+     reg_syntax_t syntax;
+     struct re_pattern_buffer *bufp;
+{
+  /* We fetch characters from PATTERN here.  Even though PATTERN is
+     `char *' (i.e., signed), we declare these variables as unsigned, so
+     they can be reliably used as array indices.  */
+  register unsigned char c, c1;
+
+  /* A random temporary spot in PATTERN.  */
+  const char *p1;
+
+  /* Points to the end of the buffer, where we should append.  */
+  register unsigned char *b;
+
+  /* Keeps track of unclosed groups.  */
+  compile_stack_type compile_stack;
+
+  /* Points to the current (ending) position in the pattern.  */
+  const char *p = pattern;
+  const char *pend = pattern + size;
+
+  /* How to translate the characters in the pattern.  */
+  RE_TRANSLATE_TYPE translate = bufp->translate;
+
+  /* Address of the count-byte of the most recently inserted `exactn'
+     command.  This makes it possible to tell if a new exact-match
+     character can be added to that command or if the character requires
+     a new `exactn' command.  */
+  unsigned char *pending_exact = 0;
+
+  /* Address of start of the most recently finished expression.
+     This tells, e.g., postfix * where to find the start of its
+     operand.  Reset at the beginning of groups and alternatives.  */
+  unsigned char *laststart = 0;
+
+  /* Address of beginning of regexp, or inside of last group.  */
+  unsigned char *begalt;
+
+  /* Place in the uncompiled pattern (i.e., the {) to
+     which to go back if the interval is invalid.  */
+  const char *beg_interval;
+
+  /* Address of the place where a forward jump should go to the end of
+     the containing expression.  Each alternative of an `or' -- except the
+     last -- ends with a forward jump of this sort.  */
+  unsigned char *fixup_alt_jump = 0;
+
+  /* Counts open-groups as they are encountered.  Remembered for the
+     matching close-group on the compile stack, so the same register
+     number is put in the stop_memory as the start_memory.  */
+  regnum_t regnum = 0;
+
+#ifdef DEBUG
+  DEBUG_PRINT1 ("\nCompiling pattern: ");
+  if (debug)
+    {
+      unsigned debug_count;
+
+      for (debug_count = 0; debug_count < size; debug_count++)
+        putchar (pattern[debug_count]);
+      putchar ('\n');
+    }
+#endif /* DEBUG */
+
+  /* Initialize the compile stack.  */
+  compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
+  if (compile_stack.stack == NULL)
+    return REG_ESPACE;
+
+  compile_stack.size = INIT_COMPILE_STACK_SIZE;
+  compile_stack.avail = 0;
+
+  /* Initialize the pattern buffer.  */
+  bufp->syntax = syntax;
+  bufp->fastmap_accurate = 0;
+  bufp->not_bol = bufp->not_eol = 0;
+
+  /* Set `used' to zero, so that if we return an error, the pattern
+     printer (for debugging) will think there's no pattern.  We reset it
+     at the end.  */
+  bufp->used = 0;
+
+  /* Always count groups, whether or not bufp->no_sub is set.  */
+  bufp->re_nsub = 0;
+
+#if !defined emacs && !defined SYNTAX_TABLE
+  /* Initialize the syntax table.  */
+   init_syntax_once ();
+#endif
+
+  if (bufp->allocated == 0)
+    {
+      if (bufp->buffer)
+	{ /* If zero allocated, but buffer is non-null, try to realloc
+             enough space.  This loses if buffer's address is bogus, but
+             that is the user's responsibility.  */
+          RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
+        }
+      else
+        { /* Caller did not allocate a buffer.  Do it for them.  */
+          bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
+        }
+      if (!bufp->buffer) FREE_STACK_RETURN (REG_ESPACE);
+
+      bufp->allocated = INIT_BUF_SIZE;
+    }
+
+  begalt = b = bufp->buffer;
+
+  /* Loop through the uncompiled pattern until we're at the end.  */
+  while (p != pend)
+    {
+      PATFETCH (c);
+
+      switch (c)
+        {
+        case '^':
+          {
+            if (   /* If at start of pattern, it's an operator.  */
+                   p == pattern + 1
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's come before.  */
+                || at_begline_loc_p (pattern, p, syntax))
+              BUF_PUSH (begline);
+            else
+              goto normal_char;
+          }
+          break;
+
+
+        case '$':
+          {
+            if (   /* If at end of pattern, it's an operator.  */
+                   p == pend
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's next.  */
+                || at_endline_loc_p (p, pend, syntax))
+               BUF_PUSH (endline);
+             else
+               goto normal_char;
+           }
+           break;
+
+
+	case '+':
+        case '?':
+          if ((syntax & RE_BK_PLUS_QM)
+              || (syntax & RE_LIMITED_OPS))
+            goto normal_char;
+        handle_plus:
+        case '*':
+          /* If there is no previous pattern... */
+          if (!laststart)
+            {
+              if (syntax & RE_CONTEXT_INVALID_OPS)
+                FREE_STACK_RETURN (REG_BADRPT);
+              else if (!(syntax & RE_CONTEXT_INDEP_OPS))
+                goto normal_char;
+            }
+
+          {
+            /* Are we optimizing this jump?  */
+            boolean keep_string_p = false;
+
+            /* 1 means zero (many) matches is allowed.  */
+            char zero_times_ok = 0, many_times_ok = 0;
+
+            /* If there is a sequence of repetition chars, collapse it
+               down to just one (the right one).  We can't combine
+               interval operators with these because of, e.g., `a{2}*',
+               which should only match an even number of `a's.  */
+
+            for (;;)
+              {
+                zero_times_ok |= c != '+';
+                many_times_ok |= c != '?';
+
+                if (p == pend)
+                  break;
+
+                PATFETCH (c);
+
+                if (c == '*'
+                    || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
+                  ;
+
+                else if (syntax & RE_BK_PLUS_QM  &&  c == '\\')
+                  {
+                    if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
+
+                    PATFETCH (c1);
+                    if (!(c1 == '+' || c1 == '?'))
+                      {
+                        PATUNFETCH;
+                        PATUNFETCH;
+                        break;
+                      }
+
+                    c = c1;
+                  }
+                else
+                  {
+                    PATUNFETCH;
+                    break;
+                  }
+
+                /* If we get here, we found another repeat character.  */
+               }
+
+            /* Star, etc. applied to an empty pattern is equivalent
+               to an empty pattern.  */
+            if (!laststart)
+              break;
+
+            /* Now we know whether or not zero matches is allowed
+               and also whether or not two or more matches is allowed.  */
+            if (many_times_ok)
+              { /* More than one repetition is allowed, so put in at the
+                   end a backward relative jump from `b' to before the next
+                   jump we're going to put in below (which jumps from
+                   laststart to after this jump).
+
+                   But if we are at the `*' in the exact sequence `.*\n',
+                   insert an unconditional jump backwards to the .,
+                   instead of the beginning of the loop.  This way we only
+                   push a failure point once, instead of every time
+                   through the loop.  */
+                assert (p - 1 > pattern);
+
+                /* Allocate the space for the jump.  */
+                GET_BUFFER_SPACE (3);
+
+                /* We know we are not at the first character of the pattern,
+                   because laststart was nonzero.  And we've already
+                   incremented `p', by the way, to be the character after
+                   the `*'.  Do we have to do something analogous here
+                   for null bytes, because of RE_DOT_NOT_NULL?  */
+                if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
+		    && zero_times_ok
+                    && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
+                    && !(syntax & RE_DOT_NEWLINE))
+                  { /* We have .*\n.  */
+                    STORE_JUMP (jump, b, laststart);
+                    keep_string_p = true;
+                  }
+                else
+                  /* Anything else.  */
+                  STORE_JUMP (maybe_pop_jump, b, laststart - 3);
+
+                /* We've added more stuff to the buffer.  */
+                b += 3;
+              }
+
+            /* On failure, jump from laststart to b + 3, which will be the
+               end of the buffer after this jump is inserted.  */
+            GET_BUFFER_SPACE (3);
+            INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
+                                       : on_failure_jump,
+                         laststart, b + 3);
+            pending_exact = 0;
+            b += 3;
+
+            if (!zero_times_ok)
+              {
+                /* At least one repetition is required, so insert a
+                   `dummy_failure_jump' before the initial
+                   `on_failure_jump' instruction of the loop. This
+                   effects a skip over that instruction the first time
+                   we hit that loop.  */
+                GET_BUFFER_SPACE (3);
+                INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
+                b += 3;
+              }
+            }
+	  break;
+
+
+	case '.':
+          laststart = b;
+          BUF_PUSH (anychar);
+          break;
+
+
+        case '[':
+          {
+            boolean had_char_class = false;
+
+            if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
+
+            /* Ensure that we have enough space to push a charset: the
+               opcode, the length count, and the bitset; 34 bytes in all.  */
+	    GET_BUFFER_SPACE (34);
+
+            laststart = b;
+
+            /* We test `*p == '^' twice, instead of using an if
+               statement, so we only need one BUF_PUSH.  */
+            BUF_PUSH (*p == '^' ? charset_not : charset);
+            if (*p == '^')
+              p++;
+
+            /* Remember the first position in the bracket expression.  */
+            p1 = p;
+
+            /* Push the number of bytes in the bitmap.  */
+            BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* Clear the whole map.  */
+            bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* charset_not matches newline according to a syntax bit.  */
+            if ((re_opcode_t) b[-2] == charset_not
+                && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
+              SET_LIST_BIT ('\n');
+
+            /* Read in characters and ranges, setting map bits.  */
+            for (;;)
+              {
+                if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
+
+                PATFETCH (c);
+
+                /* \ might escape characters inside [...] and [^...].  */
+                if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
+                  {
+                    if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
+
+                    PATFETCH (c1);
+                    SET_LIST_BIT (c1);
+                    continue;
+                  }
+
+                /* Could be the end of the bracket expression.  If it's
+                   not (i.e., when the bracket expression is `[]' so
+                   far), the ']' character bit gets set way below.  */
+                if (c == ']' && p != p1 + 1)
+                  break;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character class.  */
+                if (had_char_class && c == '-' && *p != ']')
+                  FREE_STACK_RETURN (REG_ERANGE);
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character: if this is a hyphen not at the
+                   beginning or the end of a list, then it's the range
+                   operator.  */
+                if (c == '-'
+                    && !(p - 2 >= pattern && p[-2] == '[')
+                    && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
+                    && *p != ']')
+                  {
+                    reg_errcode_t ret
+                      = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) FREE_STACK_RETURN (ret);
+                  }
+
+                else if (p[0] == '-' && p[1] != ']')
+                  { /* This handles ranges made up of characters only.  */
+                    reg_errcode_t ret;
+
+		    /* Move past the `-'.  */
+                    PATFETCH (c1);
+
+                    ret = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) FREE_STACK_RETURN (ret);
+                  }
+
+                /* See if we're at the beginning of a possible character
+                   class.  */
+
+                else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
+                  { /* Leave room for the null.  */
+                    char str[CHAR_CLASS_MAX_LENGTH + 1];
+
+                    PATFETCH (c);
+                    c1 = 0;
+
+                    /* If pattern is `[[:'.  */
+                    if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
+
+                    for (;;)
+                      {
+                        PATFETCH (c);
+                        if ((c == ':' && *p == ']') || p == pend)
+                          break;
+			if (c1 < CHAR_CLASS_MAX_LENGTH)
+			  str[c1++] = c;
+			else
+			  /* This is in any case an invalid class name.  */
+			  str[0] = '\0';
+                      }
+                    str[c1] = '\0';
+
+                    /* If isn't a word bracketed by `[:' and `:]':
+                       undo the ending character, the letters, and leave
+                       the leading `:' and `[' (but set bits for them).  */
+                    if (c == ':' && *p == ']')
+                      {
+#if defined _LIBC || WIDE_CHAR_SUPPORT
+                        boolean is_lower = STREQ (str, "lower");
+                        boolean is_upper = STREQ (str, "upper");
+			wctype_t wt;
+                        int ch;
+
+			wt = IS_CHAR_CLASS (str);
+			if (wt == 0)
+			  FREE_STACK_RETURN (REG_ECTYPE);
+
+                        /* Throw away the ] at the end of the character
+                           class.  */
+                        PATFETCH (c);
+
+                        if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
+
+                        for (ch = 0; ch < 1 << BYTEWIDTH; ++ch)
+			  {
+# ifdef _LIBC
+			    if (__iswctype (__btowc (ch), wt))
+			      SET_LIST_BIT (ch);
+# else
+			    if (iswctype (btowc (ch), wt))
+			      SET_LIST_BIT (ch);
+# endif
+
+			    if (translate && (is_upper || is_lower)
+				&& (ISUPPER (ch) || ISLOWER (ch)))
+			      SET_LIST_BIT (ch);
+			  }
+
+                        had_char_class = true;
+#else
+                        int ch;
+                        boolean is_alnum = STREQ (str, "alnum");
+                        boolean is_alpha = STREQ (str, "alpha");
+                        boolean is_blank = STREQ (str, "blank");
+                        boolean is_cntrl = STREQ (str, "cntrl");
+                        boolean is_digit = STREQ (str, "digit");
+                        boolean is_graph = STREQ (str, "graph");
+                        boolean is_lower = STREQ (str, "lower");
+                        boolean is_print = STREQ (str, "print");
+                        boolean is_punct = STREQ (str, "punct");
+                        boolean is_space = STREQ (str, "space");
+                        boolean is_upper = STREQ (str, "upper");
+                        boolean is_xdigit = STREQ (str, "xdigit");
+
+                        if (!IS_CHAR_CLASS (str))
+			  FREE_STACK_RETURN (REG_ECTYPE);
+
+                        /* Throw away the ] at the end of the character
+                           class.  */
+                        PATFETCH (c);
+
+                        if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
+
+                        for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
+                          {
+			    /* This was split into 3 if's to
+			       avoid an arbitrary limit in some compiler.  */
+                            if (   (is_alnum  && ISALNUM (ch))
+                                || (is_alpha  && ISALPHA (ch))
+                                || (is_blank  && ISBLANK (ch))
+                                || (is_cntrl  && ISCNTRL (ch)))
+			      SET_LIST_BIT (ch);
+			    if (   (is_digit  && ISDIGIT (ch))
+                                || (is_graph  && ISGRAPH (ch))
+                                || (is_lower  && ISLOWER (ch))
+                                || (is_print  && ISPRINT (ch)))
+			      SET_LIST_BIT (ch);
+			    if (   (is_punct  && ISPUNCT (ch))
+                                || (is_space  && ISSPACE (ch))
+                                || (is_upper  && ISUPPER (ch))
+                                || (is_xdigit && ISXDIGIT (ch)))
+			      SET_LIST_BIT (ch);
+			    if (   translate && (is_upper || is_lower)
+				&& (ISUPPER (ch) || ISLOWER (ch)))
+			      SET_LIST_BIT (ch);
+                          }
+                        had_char_class = true;
+#endif	/* libc || wctype.h */
+                      }
+                    else
+                      {
+                        c1++;
+                        while (c1--)
+                          PATUNFETCH;
+                        SET_LIST_BIT ('[');
+                        SET_LIST_BIT (':');
+                        had_char_class = false;
+                      }
+                  }
+                else
+                  {
+                    had_char_class = false;
+                    SET_LIST_BIT (c);
+                  }
+              }
+
+            /* Discard any (non)matching list bytes that are all 0 at the
+               end of the map.  Decrease the map-length byte too.  */
+            while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
+              b[-1]--;
+            b += b[-1];
+          }
+          break;
+
+
+	case '(':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_open;
+          else
+            goto normal_char;
+
+
+        case ')':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_close;
+          else
+            goto normal_char;
+
+
+        case '\n':
+          if (syntax & RE_NEWLINE_ALT)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+	case '|':
+          if (syntax & RE_NO_BK_VBAR)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+        case '{':
+           if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
+             goto handle_interval;
+           else
+             goto normal_char;
+
+
+        case '\\':
+          if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
+
+          /* Do not translate the character after the \, so that we can
+             distinguish, e.g., \B from \b, even if we normally would
+             translate, e.g., B to b.  */
+          PATFETCH_RAW (c);
+
+          switch (c)
+            {
+            case '(':
+              if (syntax & RE_NO_BK_PARENS)
+                goto normal_backslash;
+
+            handle_open:
+              bufp->re_nsub++;
+              regnum++;
+
+              if (COMPILE_STACK_FULL)
+                {
+                  RETALLOC (compile_stack.stack, compile_stack.size << 1,
+                            compile_stack_elt_t);
+                  if (compile_stack.stack == NULL) return REG_ESPACE;
+
+                  compile_stack.size <<= 1;
+                }
+
+              /* These are the values to restore when we hit end of this
+                 group.  They are all relative offsets, so that if the
+                 whole pattern moves because of realloc, they will still
+                 be valid.  */
+              COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
+              COMPILE_STACK_TOP.fixup_alt_jump
+                = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+              COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
+              COMPILE_STACK_TOP.regnum = regnum;
+
+              /* We will eventually replace the 0 with the number of
+                 groups inner to this one.  But do not push a
+                 start_memory for groups beyond the last one we can
+                 represent in the compiled pattern.  */
+              if (regnum <= MAX_REGNUM)
+                {
+                  COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
+                  BUF_PUSH_3 (start_memory, regnum, 0);
+                }
+
+              compile_stack.avail++;
+
+              fixup_alt_jump = 0;
+              laststart = 0;
+              begalt = b;
+	      /* If we've reached MAX_REGNUM groups, then this open
+		 won't actually generate any code, so we'll have to
+		 clear pending_exact explicitly.  */
+	      pending_exact = 0;
+              break;
+
+
+            case ')':
+              if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
+
+              if (COMPILE_STACK_EMPTY)
+		{
+		  if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+		    goto normal_backslash;
+		  else
+		    FREE_STACK_RETURN (REG_ERPAREN);
+		}
+
+            handle_close:
+              if (fixup_alt_jump)
+                { /* Push a dummy failure point at the end of the
+                     alternative for a possible future
+                     `pop_failure_jump' to pop.  See comments at
+                     `push_dummy_failure' in `re_match_2'.  */
+                  BUF_PUSH (push_dummy_failure);
+
+                  /* We allocated space for this jump when we assigned
+                     to `fixup_alt_jump', in the `handle_alt' case below.  */
+                  STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
+                }
+
+              /* See similar code for backslashed left paren above.  */
+              if (COMPILE_STACK_EMPTY)
+		{
+		  if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+		    goto normal_char;
+		  else
+		    FREE_STACK_RETURN (REG_ERPAREN);
+		}
+
+              /* Since we just checked for an empty stack above, this
+                 ``can't happen''.  */
+              assert (compile_stack.avail != 0);
+              {
+                /* We don't just want to restore into `regnum', because
+                   later groups should continue to be numbered higher,
+                   as in `(ab)c(de)' -- the second group is #2.  */
+                regnum_t this_group_regnum;
+
+                compile_stack.avail--;
+                begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
+                fixup_alt_jump
+                  = COMPILE_STACK_TOP.fixup_alt_jump
+                    ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1
+                    : 0;
+                laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
+                this_group_regnum = COMPILE_STACK_TOP.regnum;
+		/* If we've reached MAX_REGNUM groups, then this open
+		   won't actually generate any code, so we'll have to
+		   clear pending_exact explicitly.  */
+		pending_exact = 0;
+
+                /* We're at the end of the group, so now we know how many
+                   groups were inside this one.  */
+                if (this_group_regnum <= MAX_REGNUM)
+                  {
+                    unsigned char *inner_group_loc
+                      = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
+
+                    *inner_group_loc = regnum - this_group_regnum;
+                    BUF_PUSH_3 (stop_memory, this_group_regnum,
+                                regnum - this_group_regnum);
+                  }
+              }
+              break;
+
+
+            case '|':					/* `\|'.  */
+              if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
+                goto normal_backslash;
+            handle_alt:
+              if (syntax & RE_LIMITED_OPS)
+                goto normal_char;
+
+              /* Insert before the previous alternative a jump which
+                 jumps to this alternative if the former fails.  */
+              GET_BUFFER_SPACE (3);
+              INSERT_JUMP (on_failure_jump, begalt, b + 6);
+              pending_exact = 0;
+              b += 3;
+
+              /* The alternative before this one has a jump after it
+                 which gets executed if it gets matched.  Adjust that
+                 jump so it will jump to this alternative's analogous
+                 jump (put in below, which in turn will jump to the next
+                 (if any) alternative's such jump, etc.).  The last such
+                 jump jumps to the correct final destination.  A picture:
+                          _____ _____
+                          |   | |   |
+                          |   v |   v
+                         a | b   | c
+
+                 If we are at `b', then fixup_alt_jump right now points to a
+                 three-byte space after `a'.  We'll put in the jump, set
+                 fixup_alt_jump to right after `b', and leave behind three
+                 bytes which we'll fill in when we get to after `c'.  */
+
+              if (fixup_alt_jump)
+                STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+              /* Mark and leave space for a jump after this alternative,
+                 to be filled in later either by next alternative or
+                 when know we're at the end of a series of alternatives.  */
+              fixup_alt_jump = b;
+              GET_BUFFER_SPACE (3);
+              b += 3;
+
+              laststart = 0;
+              begalt = b;
+              break;
+
+
+            case '{':
+              /* If \{ is a literal.  */
+              if (!(syntax & RE_INTERVALS)
+                     /* If we're at `\{' and it's not the open-interval
+                        operator.  */
+                  || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
+                  || (p - 2 == pattern  &&  p == pend))
+                goto normal_backslash;
+
+            handle_interval:
+              {
+                /* If got here, then the syntax allows intervals.  */
+
+                /* At least (most) this many matches must be made.  */
+                int lower_bound = -1, upper_bound = -1;
+
+                beg_interval = p - 1;
+
+                if (p == pend)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      FREE_STACK_RETURN (REG_EBRACE);
+                  }
+
+                GET_UNSIGNED_NUMBER (lower_bound);
+
+                if (c == ',')
+                  {
+                    GET_UNSIGNED_NUMBER (upper_bound);
+                    if (upper_bound < 0) upper_bound = RE_DUP_MAX;
+                  }
+                else
+                  /* Interval such as `{1}' => match exactly once. */
+                  upper_bound = lower_bound;
+
+                if (lower_bound < 0 || upper_bound > RE_DUP_MAX
+                    || lower_bound > upper_bound)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      FREE_STACK_RETURN (REG_BADBR);
+                  }
+
+                if (!(syntax & RE_NO_BK_BRACES))
+                  {
+                    if (c != '\\') FREE_STACK_RETURN (REG_EBRACE);
+
+                    PATFETCH (c);
+                  }
+
+                if (c != '}')
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      FREE_STACK_RETURN (REG_BADBR);
+                  }
+
+                /* We just parsed a valid interval.  */
+
+                /* If it's invalid to have no preceding re.  */
+                if (!laststart)
+                  {
+                    if (syntax & RE_CONTEXT_INVALID_OPS)
+                      FREE_STACK_RETURN (REG_BADRPT);
+                    else if (syntax & RE_CONTEXT_INDEP_OPS)
+                      laststart = b;
+                    else
+                      goto unfetch_interval;
+                  }
+
+                /* If the upper bound is zero, don't want to succeed at
+                   all; jump from `laststart' to `b + 3', which will be
+                   the end of the buffer after we insert the jump.  */
+                 if (upper_bound == 0)
+                   {
+                     GET_BUFFER_SPACE (3);
+                     INSERT_JUMP (jump, laststart, b + 3);
+                     b += 3;
+                   }
+
+                 /* Otherwise, we have a nontrivial interval.  When
+                    we're all done, the pattern will look like:
+                      set_number_at <jump count> <upper bound>
+                      set_number_at <succeed_n count> <lower bound>
+                      succeed_n <after jump addr> <succeed_n count>
+                      <body of loop>
+                      jump_n <succeed_n addr> <jump count>
+                    (The upper bound and `jump_n' are omitted if
+                    `upper_bound' is 1, though.)  */
+                 else
+                   { /* If the upper bound is > 1, we need to insert
+                        more at the end of the loop.  */
+                     unsigned nbytes = 10 + (upper_bound > 1) * 10;
+
+                     GET_BUFFER_SPACE (nbytes);
+
+                     /* Initialize lower bound of the `succeed_n', even
+                        though it will be set during matching by its
+                        attendant `set_number_at' (inserted next),
+                        because `re_compile_fastmap' needs to know.
+                        Jump to the `jump_n' we might insert below.  */
+                     INSERT_JUMP2 (succeed_n, laststart,
+                                   b + 5 + (upper_bound > 1) * 5,
+                                   lower_bound);
+                     b += 5;
+
+                     /* Code to initialize the lower bound.  Insert
+                        before the `succeed_n'.  The `5' is the last two
+                        bytes of this `set_number_at', plus 3 bytes of
+                        the following `succeed_n'.  */
+                     insert_op2 (set_number_at, laststart, 5, lower_bound, b);
+                     b += 5;
+
+                     if (upper_bound > 1)
+                       { /* More than one repetition is allowed, so
+                            append a backward jump to the `succeed_n'
+                            that starts this interval.
+
+                            When we've reached this during matching,
+                            we'll have matched the interval once, so
+                            jump back only `upper_bound - 1' times.  */
+                         STORE_JUMP2 (jump_n, b, laststart + 5,
+                                      upper_bound - 1);
+                         b += 5;
+
+                         /* The location we want to set is the second
+                            parameter of the `jump_n'; that is `b-2' as
+                            an absolute address.  `laststart' will be
+                            the `set_number_at' we're about to insert;
+                            `laststart+3' the number to set, the source
+                            for the relative address.  But we are
+                            inserting into the middle of the pattern --
+                            so everything is getting moved up by 5.
+                            Conclusion: (b - 2) - (laststart + 3) + 5,
+                            i.e., b - laststart.
+
+                            We insert this at the beginning of the loop
+                            so that if we fail during matching, we'll
+                            reinitialize the bounds.  */
+                         insert_op2 (set_number_at, laststart, b - laststart,
+                                     upper_bound - 1, b);
+                         b += 5;
+                       }
+                   }
+                pending_exact = 0;
+                beg_interval = NULL;
+              }
+              break;
+
+            unfetch_interval:
+              /* If an invalid interval, match the characters as literals.  */
+               assert (beg_interval);
+               p = beg_interval;
+               beg_interval = NULL;
+
+               /* normal_char and normal_backslash need `c'.  */
+               PATFETCH (c);
+
+               if (!(syntax & RE_NO_BK_BRACES))
+                 {
+                   if (p > pattern  &&  p[-1] == '\\')
+                     goto normal_backslash;
+                 }
+               goto normal_char;
+
+#ifdef emacs
+            /* There is no way to specify the before_dot and after_dot
+               operators.  rms says this is ok.  --karl  */
+            case '=':
+              BUF_PUSH (at_dot);
+              break;
+
+            case 's':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
+              break;
+
+            case 'S':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
+              break;
+#endif /* emacs */
+
+
+            case 'w':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              laststart = b;
+              BUF_PUSH (wordchar);
+              break;
+
+
+            case 'W':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              laststart = b;
+              BUF_PUSH (notwordchar);
+              break;
+
+
+            case '<':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (wordbeg);
+              break;
+
+            case '>':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (wordend);
+              break;
+
+            case 'b':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (wordbound);
+              break;
+
+            case 'B':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (notwordbound);
+              break;
+
+            case '`':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (begbuf);
+              break;
+
+            case '\'':
+	      if (syntax & RE_NO_GNU_OPS)
+		goto normal_char;
+              BUF_PUSH (endbuf);
+              break;
+
+            case '1': case '2': case '3': case '4': case '5':
+            case '6': case '7': case '8': case '9':
+              if (syntax & RE_NO_BK_REFS)
+                goto normal_char;
+
+              c1 = c - '0';
+
+              if (c1 > regnum)
+                FREE_STACK_RETURN (REG_ESUBREG);
+
+              /* Can't back reference to a subexpression if inside of it.  */
+              if (group_in_compile_stack (compile_stack, (regnum_t) c1))
+                goto normal_char;
+
+              laststart = b;
+              BUF_PUSH_2 (duplicate, c1);
+              break;
+
+
+            case '+':
+            case '?':
+              if (syntax & RE_BK_PLUS_QM)
+                goto handle_plus;
+              else
+                goto normal_backslash;
+
+            default:
+            normal_backslash:
+              /* You might think it would be useful for \ to mean
+                 not to translate; but if we don't translate it
+                 it will never match anything.  */
+              c = TRANSLATE (c);
+              goto normal_char;
+            }
+          break;
+
+
+	default:
+        /* Expects the character in `c'.  */
+	normal_char:
+	      /* If no exactn currently being built.  */
+          if (!pending_exact
+
+              /* If last exactn not at current position.  */
+              || pending_exact + *pending_exact + 1 != b
+
+              /* We have only one byte following the exactn for the count.  */
+	      || *pending_exact == (1 << BYTEWIDTH) - 1
+
+              /* If followed by a repetition operator.  */
+              || *p == '*' || *p == '^'
+	      || ((syntax & RE_BK_PLUS_QM)
+		  ? *p == '\\' && (p[1] == '+' || p[1] == '?')
+		  : (*p == '+' || *p == '?'))
+	      || ((syntax & RE_INTERVALS)
+                  && ((syntax & RE_NO_BK_BRACES)
+		      ? *p == '{'
+                      : (p[0] == '\\' && p[1] == '{'))))
+	    {
+	      /* Start building a new exactn.  */
+
+              laststart = b;
+
+	      BUF_PUSH_2 (exactn, 0);
+	      pending_exact = b - 1;
+            }
+
+	  BUF_PUSH (c);
+          (*pending_exact)++;
+	  break;
+        } /* switch (c) */
+    } /* while p != pend */
+
+
+  /* Through the pattern now.  */
+
+  if (fixup_alt_jump)
+    STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+  if (!COMPILE_STACK_EMPTY)
+    FREE_STACK_RETURN (REG_EPAREN);
+
+  /* If we don't want backtracking, force success
+     the first time we reach the end of the compiled pattern.  */
+  if (syntax & RE_NO_POSIX_BACKTRACKING)
+    BUF_PUSH (succeed);
+
+  free (compile_stack.stack);
+
+  /* We have succeeded; set the length of the buffer.  */
+  bufp->used = b - bufp->buffer;
+
+#ifdef DEBUG
+  if (debug)
+    {
+      DEBUG_PRINT1 ("\nCompiled pattern: \n");
+      print_compiled_pattern (bufp);
+    }
+#endif /* DEBUG */
+
+#ifndef MATCH_MAY_ALLOCATE
+  /* Initialize the failure stack to the largest possible stack.  This
+     isn't necessary unless we're trying to avoid calling alloca in
+     the search and match routines.  */
+  {
+    int num_regs = bufp->re_nsub + 1;
+
+    /* Since DOUBLE_FAIL_STACK refuses to double only if the current size
+       is strictly greater than re_max_failures, the largest possible stack
+       is 2 * re_max_failures failure points.  */
+    if (fail_stack.size < (2 * re_max_failures * MAX_FAILURE_ITEMS))
+      {
+	fail_stack.size = (2 * re_max_failures * MAX_FAILURE_ITEMS);
+
+# ifdef emacs
+	if (! fail_stack.stack)
+	  fail_stack.stack
+	    = (fail_stack_elt_t *) xmalloc (fail_stack.size
+					    * sizeof (fail_stack_elt_t));
+	else
+	  fail_stack.stack
+	    = (fail_stack_elt_t *) xrealloc (fail_stack.stack,
+					     (fail_stack.size
+					      * sizeof (fail_stack_elt_t)));
+# else /* not emacs */
+	if (! fail_stack.stack)
+	  fail_stack.stack
+	    = (fail_stack_elt_t *) malloc (fail_stack.size
+					   * sizeof (fail_stack_elt_t));
+	else
+	  fail_stack.stack
+	    = (fail_stack_elt_t *) realloc (fail_stack.stack,
+					    (fail_stack.size
+					     * sizeof (fail_stack_elt_t)));
+# endif /* not emacs */
+      }
+
+    regex_grow_registers (num_regs);
+  }
+#endif /* not MATCH_MAY_ALLOCATE */
+
+  return REG_NOERROR;
+} /* regex_compile */
+

+/* Subroutines for `regex_compile'.  */
+
+/* Store OP at LOC followed by two-byte integer parameter ARG.  */
+
+static void
+store_op1 (op, loc, arg)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg);
+}
+
+
+/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+store_op2 (op, loc, arg1, arg2)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg1);
+  STORE_NUMBER (loc + 3, arg2);
+}
+
+
+/* Copy the bytes from LOC to END to open up three bytes of space at LOC
+   for OP followed by two-byte integer parameter ARG.  */
+
+static void
+insert_op1 (op, loc, arg, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+    unsigned char *end;
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 3;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+
+  store_op1 (op, loc, arg);
+}
+
+
+/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+insert_op2 (op, loc, arg1, arg2, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+    unsigned char *end;
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 5;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+
+  store_op2 (op, loc, arg1, arg2);
+}
+
+
+/* P points to just after a ^ in PATTERN.  Return true if that ^ comes
+   after an alternative or a begin-subexpression.  We assume there is at
+   least one character before the ^.  */
+
+static boolean
+at_begline_loc_p (pattern, p, syntax)
+    const char *pattern, *p;
+    reg_syntax_t syntax;
+{
+  const char *prev = p - 2;
+  boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
+
+  return
+       /* After a subexpression?  */
+       (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
+       /* After an alternative?  */
+    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+}
+
+
+/* The dual of at_begline_loc_p.  This one is for $.  We assume there is
+   at least one character after the $, i.e., `P < PEND'.  */
+
+static boolean
+at_endline_loc_p (p, pend, syntax)
+    const char *p, *pend;
+    reg_syntax_t syntax;
+{
+  const char *next = p;
+  boolean next_backslash = *next == '\\';
+  const char *next_next = p + 1 < pend ? p + 1 : 0;
+
+  return
+       /* Before a subexpression?  */
+       (syntax & RE_NO_BK_PARENS ? *next == ')'
+        : next_backslash && next_next && *next_next == ')')
+       /* Before an alternative?  */
+    || (syntax & RE_NO_BK_VBAR ? *next == '|'
+        : next_backslash && next_next && *next_next == '|');
+}
+
+
+/* Returns true if REGNUM is in one of COMPILE_STACK's elements and
+   false if it's not.  */
+
+static boolean
+group_in_compile_stack (compile_stack, regnum)
+    compile_stack_type compile_stack;
+    regnum_t regnum;
+{
+  int this_element;
+
+  for (this_element = compile_stack.avail - 1;
+       this_element >= 0;
+       this_element--)
+    if (compile_stack.stack[this_element].regnum == regnum)
+      return true;
+
+  return false;
+}
+
+
+/* Read the ending character of a range (in a bracket expression) from the
+   uncompiled pattern *P_PTR (which ends at PEND).  We assume the
+   starting character is in `P[-2]'.  (`P[-1]' is the character `-'.)
+   Then we set the translation of all bits between the starting and
+   ending characters (inclusive) in the compiled pattern B.
+
+   Return an error code.
+
+   We use these short variable names so we can use the same macros as
+   `regex_compile' itself.  */
+
+static reg_errcode_t
+compile_range (p_ptr, pend, translate, syntax, b)
+    const char **p_ptr, *pend;
+    RE_TRANSLATE_TYPE translate;
+    reg_syntax_t syntax;
+    unsigned char *b;
+{
+  unsigned this_char;
+
+  const char *p = *p_ptr;
+  unsigned int range_start, range_end;
+
+  if (p == pend)
+    return REG_ERANGE;
+
+  /* Even though the pattern is a signed `char *', we need to fetch
+     with unsigned char *'s; if the high bit of the pattern character
+     is set, the range endpoints will be negative if we fetch using a
+     signed char *.
+
+     We also want to fetch the endpoints without translating them; the
+     appropriate translation is done in the bit-setting loop below.  */
+  /* The SVR4 compiler on the 3B2 had trouble with unsigned const char *.  */
+  range_start = ((const unsigned char *) p)[-2];
+  range_end   = ((const unsigned char *) p)[0];
+
+  /* Have to increment the pointer into the pattern string, so the
+     caller isn't still at the ending character.  */
+  (*p_ptr)++;
+
+  /* If the start is after the end, the range is empty.  */
+  if (range_start > range_end)
+    return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
+
+  /* Here we see why `this_char' has to be larger than an `unsigned
+     char' -- the range is inclusive, so if `range_end' == 0xff
+     (assuming 8-bit characters), we would otherwise go into an infinite
+     loop, since all characters <= 0xff.  */
+  for (this_char = range_start; this_char <= range_end; this_char++)
+    {
+      SET_LIST_BIT (TRANSLATE (this_char));
+    }
+
+  return REG_NOERROR;
+}
+

+/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
+   BUFP.  A fastmap records which of the (1 << BYTEWIDTH) possible
+   characters can start a string that matches the pattern.  This fastmap
+   is used by re_search to skip quickly over impossible starting points.
+
+   The caller must supply the address of a (1 << BYTEWIDTH)-byte data
+   area as BUFP->fastmap.
+
+   We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
+   the pattern buffer.
+
+   Returns 0 if we succeed, -2 if an internal error.   */
+
+int
+re_compile_fastmap (bufp)
+     struct re_pattern_buffer *bufp;
+{
+  int j, k;
+#ifdef MATCH_MAY_ALLOCATE
+  fail_stack_type fail_stack;
+#endif
+#ifndef REGEX_MALLOC
+  char *destination;
+#endif
+
+  register char *fastmap = bufp->fastmap;
+  unsigned char *pattern = bufp->buffer;
+  unsigned char *p = pattern;
+  register unsigned char *pend = pattern + bufp->used;
+
+#ifdef REL_ALLOC
+  /* This holds the pointer to the failure stack, when
+     it is allocated relocatably.  */
+  fail_stack_elt_t *failure_stack_ptr;
+#endif
+
+  /* Assume that each path through the pattern can be null until
+     proven otherwise.  We set this false at the bottom of switch
+     statement, to which we get only if a particular path doesn't
+     match the empty string.  */
+  boolean path_can_be_null = true;
+
+  /* We aren't doing a `succeed_n' to begin with.  */
+  boolean succeed_n_p = false;
+
+  assert (fastmap != NULL && p != NULL);
+
+  INIT_FAIL_STACK ();
+  bzero (fastmap, 1 << BYTEWIDTH);  /* Assume nothing's valid.  */
+  bufp->fastmap_accurate = 1;	    /* It will be when we're done.  */
+  bufp->can_be_null = 0;
+
+  while (1)
+    {
+      if (p == pend || *p == succeed)
+	{
+	  /* We have reached the (effective) end of pattern.  */
+	  if (!FAIL_STACK_EMPTY ())
+	    {
+	      bufp->can_be_null |= path_can_be_null;
+
+	      /* Reset for next path.  */
+	      path_can_be_null = true;
+
+	      p = fail_stack.stack[--fail_stack.avail].pointer;
+
+	      continue;
+	    }
+	  else
+	    break;
+	}
+
+      /* We should never be about to go beyond the end of the pattern.  */
+      assert (p < pend);
+
+      switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
+	{
+
+        /* I guess the idea here is to simply not bother with a fastmap
+           if a backreference is used, since it's too hard to figure out
+           the fastmap for the corresponding group.  Setting
+           `can_be_null' stops `re_search_2' from using the fastmap, so
+           that is all we do.  */
+	case duplicate:
+	  bufp->can_be_null = 1;
+          goto done;
+
+
+      /* Following are the cases which match a character.  These end
+         with `break'.  */
+
+	case exactn:
+          fastmap[p[1]] = 1;
+	  break;
+
+
+        case charset:
+          for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
+              fastmap[j] = 1;
+	  break;
+
+
+	case charset_not:
+	  /* Chars beyond end of map must be allowed.  */
+	  for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+	  for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
+              fastmap[j] = 1;
+          break;
+
+
+	case wordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notwordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+        case anychar:
+	  {
+	    int fastmap_newline = fastmap['\n'];
+
+	    /* `.' matches anything ...  */
+	    for (j = 0; j < (1 << BYTEWIDTH); j++)
+	      fastmap[j] = 1;
+
+	    /* ... except perhaps newline.  */
+	    if (!(bufp->syntax & RE_DOT_NEWLINE))
+	      fastmap['\n'] = fastmap_newline;
+
+	    /* Return if we have already set `can_be_null'; if we have,
+	       then the fastmap is irrelevant.  Something's wrong here.  */
+	    else if (bufp->can_be_null)
+	      goto done;
+
+	    /* Otherwise, have to check alternative paths.  */
+	    break;
+	  }
+
+#ifdef emacs
+        case syntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notsyntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+      /* All cases after this match the empty string.  These end with
+         `continue'.  */
+
+
+	case before_dot:
+	case at_dot:
+	case after_dot:
+          continue;
+#endif /* emacs */
+
+
+        case no_op:
+        case begline:
+        case endline:
+	case begbuf:
+	case endbuf:
+	case wordbound:
+	case notwordbound:
+	case wordbeg:
+	case wordend:
+        case push_dummy_failure:
+          continue;
+
+
+	case jump_n:
+        case pop_failure_jump:
+	case maybe_pop_jump:
+	case jump:
+        case jump_past_alt:
+	case dummy_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+	  p += j;
+	  if (j > 0)
+	    continue;
+
+          /* Jump backward implies we just went through the body of a
+             loop and matched nothing.  Opcode jumped to should be
+             `on_failure_jump' or `succeed_n'.  Just treat it like an
+             ordinary jump.  For a * loop, it has pushed its failure
+             point already; if so, discard that as redundant.  */
+          if ((re_opcode_t) *p != on_failure_jump
+	      && (re_opcode_t) *p != succeed_n)
+	    continue;
+
+          p++;
+          EXTRACT_NUMBER_AND_INCR (j, p);
+          p += j;
+
+          /* If what's on the stack is where we are now, pop it.  */
+          if (!FAIL_STACK_EMPTY ()
+	      && fail_stack.stack[fail_stack.avail - 1].pointer == p)
+            fail_stack.avail--;
+
+          continue;
+
+
+        case on_failure_jump:
+        case on_failure_keep_string_jump:
+	handle_on_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+
+          /* For some patterns, e.g., `(a?)?', `p+j' here points to the
+             end of the pattern.  We don't want to push such a point,
+             since when we restore it above, entering the switch will
+             increment `p' past the end of the pattern.  We don't need
+             to push such a point since we obviously won't find any more
+             fastmap entries beyond `pend'.  Such a pattern can match
+             the null string, though.  */
+          if (p + j < pend)
+            {
+              if (!PUSH_PATTERN_OP (p + j, fail_stack))
+		{
+		  RESET_FAIL_STACK ();
+		  return -2;
+		}
+            }
+          else
+            bufp->can_be_null = 1;
+
+          if (succeed_n_p)
+            {
+              EXTRACT_NUMBER_AND_INCR (k, p);	/* Skip the n.  */
+              succeed_n_p = false;
+	    }
+
+          continue;
+
+
+	case succeed_n:
+          /* Get to the number of times to succeed.  */
+          p += 2;
+
+          /* Increment p past the n for when k != 0.  */
+          EXTRACT_NUMBER_AND_INCR (k, p);
+          if (k == 0)
+	    {
+              p -= 4;
+  	      succeed_n_p = true;  /* Spaghetti code alert.  */
+              goto handle_on_failure_jump;
+            }
+          continue;
+
+
+	case set_number_at:
+          p += 4;
+          continue;
+
+
+	case start_memory:
+        case stop_memory:
+	  p += 2;
+	  continue;
+
+
+	default:
+          abort (); /* We have listed all the cases.  */
+        } /* switch *p++ */
+
+      /* Getting here means we have found the possible starting
+         characters for one path of the pattern -- and that the empty
+         string does not match.  We need not follow this path further.
+         Instead, look at the next alternative (remembered on the
+         stack), or quit if no more.  The test at the top of the loop
+         does these things.  */
+      path_can_be_null = false;
+      p = pend;
+    } /* while p */
+
+  /* Set `can_be_null' for the last path (also the first path, if the
+     pattern is empty).  */
+  bufp->can_be_null |= path_can_be_null;
+
+ done:
+  RESET_FAIL_STACK ();
+  return 0;
+} /* re_compile_fastmap */
+#ifdef _LIBC
+weak_alias (__re_compile_fastmap, re_compile_fastmap)
+#endif
+

+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using PATTERN_BUFFER and REGS will use
+   this memory for recording register information.  STARTS and ENDS
+   must be allocated using the malloc library routine, and must each
+   be at least NUM_REGS * sizeof (regoff_t) bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+
+void
+re_set_registers (bufp, regs, num_regs, starts, ends)
+    struct re_pattern_buffer *bufp;
+    struct re_registers *regs;
+    unsigned num_regs;
+    regoff_t *starts, *ends;
+{
+  if (num_regs)
+    {
+      bufp->regs_allocated = REGS_REALLOCATE;
+      regs->num_regs = num_regs;
+      regs->start = starts;
+      regs->end = ends;
+    }
+  else
+    {
+      bufp->regs_allocated = REGS_UNALLOCATED;
+      regs->num_regs = 0;
+      regs->start = regs->end = (regoff_t *) 0;
+    }
+}
+#ifdef _LIBC
+weak_alias (__re_set_registers, re_set_registers)
+#endif
+

+/* Searching routines.  */
+
+/* Like re_search_2, below, but only one string is specified, and
+   doesn't let you say where to stop matching. */
+
+int
+re_search (bufp, string, size, startpos, range, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, startpos, range;
+     struct re_registers *regs;
+{
+  return re_search_2 (bufp, NULL, 0, string, size, startpos, range,
+		      regs, size);
+}
+#ifdef _LIBC
+weak_alias (__re_search, re_search)
+#endif
+
+
+/* Using the compiled pattern in BUFP->buffer, first tries to match the
+   virtual concatenation of STRING1 and STRING2, starting first at index
+   STARTPOS, then at STARTPOS + 1, and so on.
+
+   STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
+
+   RANGE is how far to scan while trying to match.  RANGE = 0 means try
+   only at STARTPOS; in general, the last start tried is STARTPOS +
+   RANGE.
+
+   In REGS, return the indices of the virtual concatenation of STRING1
+   and STRING2 that matched the entire BUFP->buffer and its contained
+   subexpressions.
+
+   Do not consider matching one past the index STOP in the virtual
+   concatenation of STRING1 and STRING2.
+
+   We return either the position in the strings at which the match was
+   found, -1 if no match, or -2 if error (such as failure
+   stack overflow).  */
+
+int
+re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int startpos;
+     int range;
+     struct re_registers *regs;
+     int stop;
+{
+  int val;
+  register char *fastmap = bufp->fastmap;
+  register RE_TRANSLATE_TYPE translate = bufp->translate;
+  int total_size = size1 + size2;
+  int endpos = startpos + range;
+
+  /* Check for out-of-range STARTPOS.  */
+  if (startpos < 0 || startpos > total_size)
+    return -1;
+
+  /* Fix up RANGE if it might eventually take us outside
+     the virtual concatenation of STRING1 and STRING2.
+     Make sure we won't move STARTPOS below 0 or above TOTAL_SIZE.  */
+  if (endpos < 0)
+    range = 0 - startpos;
+  else if (endpos > total_size)
+    range = total_size - startpos;
+
+  /* If the search isn't to be a backwards one, don't waste time in a
+     search for a pattern that must be anchored.  */
+  if (bufp->used > 0 && range > 0
+      && ((re_opcode_t) bufp->buffer[0] == begbuf
+	  /* `begline' is like `begbuf' if it cannot match at newlines.  */
+	  || ((re_opcode_t) bufp->buffer[0] == begline
+	      && !bufp->newline_anchor)))
+    {
+      if (startpos > 0)
+	return -1;
+      else
+	range = 1;
+    }
+
+#ifdef emacs
+  /* In a forward search for something that starts with \=.
+     don't keep searching past point.  */
+  if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == at_dot && range > 0)
+    {
+      range = PT - startpos;
+      if (range <= 0)
+	return -1;
+    }
+#endif /* emacs */
+
+  /* Update the fastmap now if not correct already.  */
+  if (fastmap && !bufp->fastmap_accurate)
+    if (re_compile_fastmap (bufp) == -2)
+      return -2;
+
+  /* Loop through the string, looking for a place to start matching.  */
+  for (;;)
+    {
+      /* If a fastmap is supplied, skip quickly over characters that
+         cannot be the start of a match.  If the pattern can match the
+         null string, however, we don't need to skip characters; we want
+         the first null string.  */
+      if (fastmap && startpos < total_size && !bufp->can_be_null)
+	{
+	  if (range > 0)	/* Searching forwards.  */
+	    {
+	      register const char *d;
+	      register int lim = 0;
+	      int irange = range;
+
+              if (startpos < size1 && startpos + range >= size1)
+                lim = range - (size1 - startpos);
+
+	      d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
+
+              /* Written out as an if-else to avoid testing `translate'
+                 inside the loop.  */
+	      if (translate)
+                while (range > lim
+                       && !fastmap[(unsigned char)
+				   translate[(unsigned char) *d++]])
+                  range--;
+	      else
+                while (range > lim && !fastmap[(unsigned char) *d++])
+                  range--;
+
+	      startpos += irange - range;
+	    }
+	  else				/* Searching backwards.  */
+	    {
+	      register char c = (size1 == 0 || startpos >= size1
+                                 ? string2[startpos - size1]
+                                 : string1[startpos]);
+
+	      if (!fastmap[(unsigned char) TRANSLATE (c)])
+		goto advance;
+	    }
+	}
+
+      /* If can't match the null string, and that's all we have left, fail.  */
+      if (range >= 0 && startpos == total_size && fastmap
+          && !bufp->can_be_null)
+	return -1;
+
+      val = re_match_2_internal (bufp, string1, size1, string2, size2,
+				 startpos, regs, stop);
+#ifndef REGEX_MALLOC
+# ifdef C_ALLOCA
+      alloca (0);
+# endif
+#endif
+
+      if (val >= 0)
+	return startpos;
+
+      if (val == -2)
+	return -2;
+
+    advance:
+      if (!range)
+        break;
+      else if (range > 0)
+        {
+          range--;
+          startpos++;
+        }
+      else
+        {
+          range++;
+          startpos--;
+        }
+    }
+  return -1;
+} /* re_search_2 */
+#ifdef _LIBC
+weak_alias (__re_search_2, re_search_2)
+#endif
+

+/* This converts PTR, a pointer into one of the search strings `string1'
+   and `string2' into an offset from the beginning of that string.  */
+#define POINTER_TO_OFFSET(ptr)			\
+  (FIRST_STRING_P (ptr)				\
+   ? ((regoff_t) ((ptr) - string1))		\
+   : ((regoff_t) ((ptr) - string2 + size1)))
+
+/* Macros for dealing with the split strings in re_match_2.  */
+
+#define MATCHING_IN_FIRST_STRING  (dend == end_match_1)
+
+/* Call before fetching a character with *d.  This switches over to
+   string2 if necessary.  */
+#define PREFETCH()							\
+  while (d == dend)						    	\
+    {									\
+      /* End of string2 => fail.  */					\
+      if (dend == end_match_2) 						\
+        goto fail;							\
+      /* End of string1 => advance to string2.  */ 			\
+      d = string2;						        \
+      dend = end_match_2;						\
+    }
+
+
+/* Test if at very beginning or at very end of the virtual concatenation
+   of `string1' and `string2'.  If only one string, it's `string2'.  */
+#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
+#define AT_STRINGS_END(d) ((d) == end2)
+
+
+/* Test if D points to a character which is word-constituent.  We have
+   two special cases to check for: if past the end of string1, look at
+   the first character in string2; and if before the beginning of
+   string2, look at the last character in string1.  */
+#define WORDCHAR_P(d)							\
+  (SYNTAX ((d) == end1 ? *string2					\
+           : (d) == string2 - 1 ? *(end1 - 1) : *(d))			\
+   == Sword)
+
+/* Disabled due to a compiler bug -- see comment at case wordbound */
+#if 0
+/* Test if the character before D and the one at D differ with respect
+   to being word-constituent.  */
+#define AT_WORD_BOUNDARY(d)						\
+  (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)				\
+   || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
+#endif
+
+/* Free everything we malloc.  */
+#ifdef MATCH_MAY_ALLOCATE
+# define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL
+# define FREE_VARIABLES()						\
+  do {									\
+    REGEX_FREE_STACK (fail_stack.stack);				\
+    FREE_VAR (regstart);						\
+    FREE_VAR (regend);							\
+    FREE_VAR (old_regstart);						\
+    FREE_VAR (old_regend);						\
+    FREE_VAR (best_regstart);						\
+    FREE_VAR (best_regend);						\
+    FREE_VAR (reg_info);						\
+    FREE_VAR (reg_dummy);						\
+    FREE_VAR (reg_info_dummy);						\
+  } while (0)
+#else
+# define FREE_VARIABLES() ((void)0) /* Do nothing!  But inhibit gcc warning. */
+#endif /* not MATCH_MAY_ALLOCATE */
+
+/* These values must meet several constraints.  They must not be valid
+   register values; since we have a limit of 255 registers (because
+   we use only one byte in the pattern for the register number), we can
+   use numbers larger than 255.  They must differ by 1, because of
+   NUM_FAILURE_ITEMS above.  And the value for the lowest register must
+   be larger than the value for the highest register, so we do not try
+   to actually save any registers when none are active.  */
+#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
+#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
+

+/* Matching routines.  */
+
+#ifndef emacs   /* Emacs never uses this.  */
+/* re_match is like re_match_2 except it takes only a single string.  */
+
+int
+re_match (bufp, string, size, pos, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, pos;
+     struct re_registers *regs;
+{
+  int result = re_match_2_internal (bufp, NULL, 0, string, size,
+				    pos, regs, size);
+# ifndef REGEX_MALLOC
+#  ifdef C_ALLOCA
+  alloca (0);
+#  endif
+# endif
+  return result;
+}
+# ifdef _LIBC
+weak_alias (__re_match, re_match)
+# endif
+#endif /* not emacs */
+
+static boolean group_match_null_string_p _RE_ARGS ((unsigned char **p,
+						    unsigned char *end,
+						register_info_type *reg_info));
+static boolean alt_match_null_string_p _RE_ARGS ((unsigned char *p,
+						  unsigned char *end,
+						register_info_type *reg_info));
+static boolean common_op_match_null_string_p _RE_ARGS ((unsigned char **p,
+							unsigned char *end,
+						register_info_type *reg_info));
+static int bcmp_translate _RE_ARGS ((const char *s1, const char *s2,
+				     int len, char *translate));
+
+/* re_match_2 matches the compiled pattern in BUFP against the
+   the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+   and SIZE2, respectively).  We start matching at POS, and stop
+   matching at STOP.
+
+   If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
+   store offsets for the substring each group matched in REGS.  See the
+   documentation for exactly how many groups we fill.
+
+   We return -1 if no match, -2 if an internal error (such as the
+   failure stack overflowing).  Otherwise, we return the length of the
+   matched substring.  */
+
+int
+re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int pos;
+     struct re_registers *regs;
+     int stop;
+{
+  int result = re_match_2_internal (bufp, string1, size1, string2, size2,
+				    pos, regs, stop);
+#ifndef REGEX_MALLOC
+# ifdef C_ALLOCA
+  alloca (0);
+# endif
+#endif
+  return result;
+}
+#ifdef _LIBC
+weak_alias (__re_match_2, re_match_2)
+#endif
+
+/* This is a separate function so that we can force an alloca cleanup
+   afterwards.  */
+static int
+re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int pos;
+     struct re_registers *regs;
+     int stop;
+{
+  /* General temporaries.  */
+  int mcnt;
+  unsigned char *p1;
+
+  /* Just past the end of the corresponding string.  */
+  const char *end1, *end2;
+
+  /* Pointers into string1 and string2, just past the last characters in
+     each to consider matching.  */
+  const char *end_match_1, *end_match_2;
+
+  /* Where we are in the data, and the end of the current string.  */
+  const char *d, *dend;
+
+  /* Where we are in the pattern, and the end of the pattern.  */
+  unsigned char *p = bufp->buffer;
+  register unsigned char *pend = p + bufp->used;
+
+  /* Mark the opcode just after a start_memory, so we can test for an
+     empty subpattern when we get to the stop_memory.  */
+  unsigned char *just_past_start_mem = 0;
+
+  /* We use this to map every character in the string.  */
+  RE_TRANSLATE_TYPE translate = bufp->translate;
+
+  /* Failure point stack.  Each place that can handle a failure further
+     down the line pushes a failure point on this stack.  It consists of
+     restart, regend, and reg_info for all registers corresponding to
+     the subexpressions we're currently inside, plus the number of such
+     registers, and, finally, two char *'s.  The first char * is where
+     to resume scanning the pattern; the second one is where to resume
+     scanning the strings.  If the latter is zero, the failure point is
+     a ``dummy''; if a failure happens and the failure point is a dummy,
+     it gets discarded and the next next one is tried.  */
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global.  */
+  fail_stack_type fail_stack;
+#endif
+#ifdef DEBUG
+  static unsigned failure_id = 0;
+  unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
+#endif
+
+#ifdef REL_ALLOC
+  /* This holds the pointer to the failure stack, when
+     it is allocated relocatably.  */
+  fail_stack_elt_t *failure_stack_ptr;
+#endif
+
+  /* We fill all the registers internally, independent of what we
+     return, for use in backreferences.  The number here includes
+     an element for register zero.  */
+  size_t num_regs = bufp->re_nsub + 1;
+
+  /* The currently active registers.  */
+  active_reg_t lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+  active_reg_t highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+  /* Information on the contents of registers. These are pointers into
+     the input strings; they record just what was matched (on this
+     attempt) by a subexpression part of the pattern, that is, the
+     regnum-th regstart pointer points to where in the pattern we began
+     matching and the regnum-th regend points to right after where we
+     stopped matching the regnum-th subexpression.  (The zeroth register
+     keeps track of what the whole pattern matches.)  */
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global.  */
+  const char **regstart, **regend;
+#endif
+
+  /* If a group that's operated upon by a repetition operator fails to
+     match anything, then the register for its start will need to be
+     restored because it will have been set to wherever in the string we
+     are when we last see its open-group operator.  Similarly for a
+     register's end.  */
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global.  */
+  const char **old_regstart, **old_regend;
+#endif
+
+  /* The is_active field of reg_info helps us keep track of which (possibly
+     nested) subexpressions we are currently in. The matched_something
+     field of reg_info[reg_num] helps us tell whether or not we have
+     matched any of the pattern so far this time through the reg_num-th
+     subexpression.  These two fields get reset each time through any
+     loop their register is in.  */
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global.  */
+  register_info_type *reg_info;
+#endif
+
+  /* The following record the register info as found in the above
+     variables when we find a match better than any we've seen before.
+     This happens as we backtrack through the failure points, which in
+     turn happens only if we have not yet matched the entire string. */
+  unsigned best_regs_set = false;
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global.  */
+  const char **best_regstart, **best_regend;
+#endif
+
+  /* Logically, this is `best_regend[0]'.  But we don't want to have to
+     allocate space for that if we're not allocating space for anything
+     else (see below).  Also, we never need info about register 0 for
+     any of the other register vectors, and it seems rather a kludge to
+     treat `best_regend' differently than the rest.  So we keep track of
+     the end of the best match so far in a separate variable.  We
+     initialize this to NULL so that when we backtrack the first time
+     and need to test it, it's not garbage.  */
+  const char *match_end = NULL;
+
+  /* This helps SET_REGS_MATCHED avoid doing redundant work.  */
+  int set_regs_matched_done = 0;
+
+  /* Used when we pop values we don't care about.  */
+#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global.  */
+  const char **reg_dummy;
+  register_info_type *reg_info_dummy;
+#endif
+
+#ifdef DEBUG
+  /* Counts the total number of registers pushed.  */
+  unsigned num_regs_pushed = 0;
+#endif
+
+  DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
+
+  INIT_FAIL_STACK ();
+
+#ifdef MATCH_MAY_ALLOCATE
+  /* Do not bother to initialize all the register variables if there are
+     no groups in the pattern, as it takes a fair amount of time.  If
+     there are groups, we include space for register 0 (the whole
+     pattern), even though we never use it, since it simplifies the
+     array indexing.  We should fix this.  */
+  if (bufp->re_nsub)
+    {
+      regstart = REGEX_TALLOC (num_regs, const char *);
+      regend = REGEX_TALLOC (num_regs, const char *);
+      old_regstart = REGEX_TALLOC (num_regs, const char *);
+      old_regend = REGEX_TALLOC (num_regs, const char *);
+      best_regstart = REGEX_TALLOC (num_regs, const char *);
+      best_regend = REGEX_TALLOC (num_regs, const char *);
+      reg_info = REGEX_TALLOC (num_regs, register_info_type);
+      reg_dummy = REGEX_TALLOC (num_regs, const char *);
+      reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
+
+      if (!(regstart && regend && old_regstart && old_regend && reg_info
+            && best_regstart && best_regend && reg_dummy && reg_info_dummy))
+        {
+          FREE_VARIABLES ();
+          return -2;
+        }
+    }
+  else
+    {
+      /* We must initialize all our variables to NULL, so that
+         `FREE_VARIABLES' doesn't try to free them.  */
+      regstart = regend = old_regstart = old_regend = best_regstart
+        = best_regend = reg_dummy = NULL;
+      reg_info = reg_info_dummy = (register_info_type *) NULL;
+    }
+#endif /* MATCH_MAY_ALLOCATE */
+
+  /* The starting position is bogus.  */
+  if (pos < 0 || pos > size1 + size2)
+    {
+      FREE_VARIABLES ();
+      return -1;
+    }
+
+  /* Initialize subexpression text positions to -1 to mark ones that no
+     start_memory/stop_memory has been seen for. Also initialize the
+     register information struct.  */
+  for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
+    {
+      regstart[mcnt] = regend[mcnt]
+        = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
+
+      REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
+      IS_ACTIVE (reg_info[mcnt]) = 0;
+      MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+      EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+    }
+
+  /* We move `string1' into `string2' if the latter's empty -- but not if
+     `string1' is null.  */
+  if (size2 == 0 && string1 != NULL)
+    {
+      string2 = string1;
+      size2 = size1;
+      string1 = 0;
+      size1 = 0;
+    }
+  end1 = string1 + size1;
+  end2 = string2 + size2;
+
+  /* Compute where to stop matching, within the two strings.  */
+  if (stop <= size1)
+    {
+      end_match_1 = string1 + stop;
+      end_match_2 = string2;
+    }
+  else
+    {
+      end_match_1 = end1;
+      end_match_2 = string2 + stop - size1;
+    }
+
+  /* `p' scans through the pattern as `d' scans through the data.
+     `dend' is the end of the input string that `d' points within.  `d'
+     is advanced into the following input string whenever necessary, but
+     this happens before fetching; therefore, at the beginning of the
+     loop, `d' can be pointing at the end of a string, but it cannot
+     equal `string2'.  */
+  if (size1 > 0 && pos <= size1)
+    {
+      d = string1 + pos;
+      dend = end_match_1;
+    }
+  else
+    {
+      d = string2 + pos - size1;
+      dend = end_match_2;
+    }
+
+  DEBUG_PRINT1 ("The compiled pattern is:\n");
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
+  DEBUG_PRINT1 ("The string to match is: `");
+  DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
+  DEBUG_PRINT1 ("'\n");
+
+  /* This loops over pattern commands.  It exits by returning from the
+     function if the match is complete, or it drops through if the match
+     fails at this starting point in the input data.  */
+  for (;;)
+    {
+#ifdef _LIBC
+      DEBUG_PRINT2 ("\n%p: ", p);
+#else
+      DEBUG_PRINT2 ("\n0x%x: ", p);
+#endif
+
+      if (p == pend)
+	{ /* End of pattern means we might have succeeded.  */
+          DEBUG_PRINT1 ("end of pattern ... ");
+
+	  /* If we haven't matched the entire string, and we want the
+             longest match, try backtracking.  */
+          if (d != end_match_2)
+	    {
+	      /* 1 if this match ends in the same string (string1 or string2)
+		 as the best previous match.  */
+	      boolean same_str_p = (FIRST_STRING_P (match_end)
+				    == MATCHING_IN_FIRST_STRING);
+	      /* 1 if this match is the best seen so far.  */
+	      boolean best_match_p;
+
+	      /* AIX compiler got confused when this was combined
+		 with the previous declaration.  */
+	      if (same_str_p)
+		best_match_p = d > match_end;
+	      else
+		best_match_p = !MATCHING_IN_FIRST_STRING;
+
+              DEBUG_PRINT1 ("backtracking.\n");
+
+              if (!FAIL_STACK_EMPTY ())
+                { /* More failure points to try.  */
+
+                  /* If exceeds best match so far, save it.  */
+                  if (!best_regs_set || best_match_p)
+                    {
+                      best_regs_set = true;
+                      match_end = d;
+
+                      DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
+
+                      for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
+                        {
+                          best_regstart[mcnt] = regstart[mcnt];
+                          best_regend[mcnt] = regend[mcnt];
+                        }
+                    }
+                  goto fail;
+                }
+
+              /* If no failure points, don't restore garbage.  And if
+                 last match is real best match, don't restore second
+                 best one. */
+              else if (best_regs_set && !best_match_p)
+                {
+  	        restore_best_regs:
+                  /* Restore best match.  It may happen that `dend ==
+                     end_match_1' while the restored d is in string2.
+                     For example, the pattern `x.*y.*z' against the
+                     strings `x-' and `y-z-', if the two strings are
+                     not consecutive in memory.  */
+                  DEBUG_PRINT1 ("Restoring best registers.\n");
+
+                  d = match_end;
+                  dend = ((d >= string1 && d <= end1)
+		           ? end_match_1 : end_match_2);
+
+		  for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
+		    {
+		      regstart[mcnt] = best_regstart[mcnt];
+		      regend[mcnt] = best_regend[mcnt];
+		    }
+                }
+            } /* d != end_match_2 */
+
+	succeed_label:
+          DEBUG_PRINT1 ("Accepting match.\n");
+
+          /* If caller wants register contents data back, do it.  */
+          if (regs && !bufp->no_sub)
+	    {
+              /* Have the register data arrays been allocated?  */
+              if (bufp->regs_allocated == REGS_UNALLOCATED)
+                { /* No.  So allocate them with malloc.  We need one
+                     extra element beyond `num_regs' for the `-1' marker
+                     GNU code uses.  */
+                  regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+                  regs->start = TALLOC (regs->num_regs, regoff_t);
+                  regs->end = TALLOC (regs->num_regs, regoff_t);
+                  if (regs->start == NULL || regs->end == NULL)
+		    {
+		      FREE_VARIABLES ();
+		      return -2;
+		    }
+                  bufp->regs_allocated = REGS_REALLOCATE;
+                }
+              else if (bufp->regs_allocated == REGS_REALLOCATE)
+                { /* Yes.  If we need more elements than were already
+                     allocated, reallocate them.  If we need fewer, just
+                     leave it alone.  */
+                  if (regs->num_regs < num_regs + 1)
+                    {
+                      regs->num_regs = num_regs + 1;
+                      RETALLOC (regs->start, regs->num_regs, regoff_t);
+                      RETALLOC (regs->end, regs->num_regs, regoff_t);
+                      if (regs->start == NULL || regs->end == NULL)
+			{
+			  FREE_VARIABLES ();
+			  return -2;
+			}
+                    }
+                }
+              else
+		{
+		  /* These braces fend off a "empty body in an else-statement"
+		     warning under GCC when assert expands to nothing.  */
+		  assert (bufp->regs_allocated == REGS_FIXED);
+		}
+
+              /* Convert the pointer data in `regstart' and `regend' to
+                 indices.  Register zero has to be set differently,
+                 since we haven't kept track of any info for it.  */
+              if (regs->num_regs > 0)
+                {
+                  regs->start[0] = pos;
+                  regs->end[0] = (MATCHING_IN_FIRST_STRING
+				  ? ((regoff_t) (d - string1))
+			          : ((regoff_t) (d - string2 + size1)));
+                }
+
+              /* Go through the first `min (num_regs, regs->num_regs)'
+                 registers, since that is all we initialized.  */
+	      for (mcnt = 1; (unsigned) mcnt < MIN (num_regs, regs->num_regs);
+		   mcnt++)
+		{
+                  if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+                    regs->start[mcnt] = regs->end[mcnt] = -1;
+                  else
+                    {
+		      regs->start[mcnt]
+			= (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]);
+                      regs->end[mcnt]
+			= (regoff_t) POINTER_TO_OFFSET (regend[mcnt]);
+                    }
+		}
+
+              /* If the regs structure we return has more elements than
+                 were in the pattern, set the extra elements to -1.  If
+                 we (re)allocated the registers, this is the case,
+                 because we always allocate enough to have at least one
+                 -1 at the end.  */
+              for (mcnt = num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)
+                regs->start[mcnt] = regs->end[mcnt] = -1;
+	    } /* regs && !bufp->no_sub */
+
+          DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+                        nfailure_points_pushed, nfailure_points_popped,
+                        nfailure_points_pushed - nfailure_points_popped);
+          DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+          mcnt = d - pos - (MATCHING_IN_FIRST_STRING
+			    ? string1
+			    : string2 - size1);
+
+          DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+
+          FREE_VARIABLES ();
+          return mcnt;
+        }
+
+      /* Otherwise match next pattern command.  */
+      switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
+	{
+        /* Ignore these.  Used to ignore the n of succeed_n's which
+           currently have n == 0.  */
+        case no_op:
+          DEBUG_PRINT1 ("EXECUTING no_op.\n");
+          break;
+
+	case succeed:
+          DEBUG_PRINT1 ("EXECUTING succeed.\n");
+	  goto succeed_label;
+
+        /* Match the next n pattern characters exactly.  The following
+           byte in the pattern defines n, and the n bytes after that
+           are the characters to match.  */
+	case exactn:
+	  mcnt = *p++;
+          DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
+
+          /* This is written out as an if-else so we don't waste time
+             testing `translate' inside the loop.  */
+          if (translate)
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if ((unsigned char) translate[(unsigned char) *d++]
+		      != (unsigned char) *p++)
+                    goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  else
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if (*d++ != (char) *p++) goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  SET_REGS_MATCHED ();
+          break;
+
+
+        /* Match any character except possibly a newline or a null.  */
+	case anychar:
+          DEBUG_PRINT1 ("EXECUTING anychar.\n");
+
+          PREFETCH ();
+
+          if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
+              || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
+	    goto fail;
+
+          SET_REGS_MATCHED ();
+          DEBUG_PRINT2 ("  Matched `%d'.\n", *d);
+          d++;
+	  break;
+
+
+	case charset:
+	case charset_not:
+	  {
+	    register unsigned char c;
+	    boolean not = (re_opcode_t) *(p - 1) == charset_not;
+
+            DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+
+	    PREFETCH ();
+	    c = TRANSLATE (*d); /* The character to match.  */
+
+            /* Cast to `unsigned' instead of `unsigned char' in case the
+               bit list is a full 32 bytes long.  */
+	    if (c < (unsigned) (*p * BYTEWIDTH)
+		&& p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+	      not = !not;
+
+	    p += 1 + *p;
+
+	    if (!not) goto fail;
+
+	    SET_REGS_MATCHED ();
+            d++;
+	    break;
+	  }
+
+
+        /* The beginning of a group is represented by start_memory.
+           The arguments are the register number in the next byte, and the
+           number of groups inner to this one in the next.  The text
+           matched within the group is recorded (in the internal
+           registers data structure) under the register number.  */
+        case start_memory:
+	  DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
+
+          /* Find out if this group can match the empty string.  */
+	  p1 = p;		/* To send to group_match_null_string_p.  */
+
+          if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
+            REG_MATCH_NULL_STRING_P (reg_info[*p])
+              = group_match_null_string_p (&p1, pend, reg_info);
+
+          /* Save the position in the string where we were the last time
+             we were at this open-group operator in case the group is
+             operated upon by a repetition operator, e.g., with `(a*)*b'
+             against `ab'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                             ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
+                             : regstart[*p];
+	  DEBUG_PRINT2 ("  old_regstart: %d\n",
+			 POINTER_TO_OFFSET (old_regstart[*p]));
+
+          regstart[*p] = d;
+	  DEBUG_PRINT2 ("  regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
+
+          IS_ACTIVE (reg_info[*p]) = 1;
+          MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+	  /* Clear this whenever we change the register activity status.  */
+	  set_regs_matched_done = 0;
+
+          /* This is the new highest active register.  */
+          highest_active_reg = *p;
+
+          /* If nothing was active before, this is the new lowest active
+             register.  */
+          if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+            lowest_active_reg = *p;
+
+          /* Move past the register number and inner group count.  */
+          p += 2;
+	  just_past_start_mem = p;
+
+          break;
+
+
+        /* The stop_memory opcode represents the end of a group.  Its
+           arguments are the same as start_memory's: the register
+           number, and the number of inner groups.  */
+	case stop_memory:
+	  DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
+
+          /* We need to save the string position the last time we were at
+             this close-group operator in case the group is operated
+             upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
+             against `aba'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                           ? REG_UNSET (regend[*p]) ? d : regend[*p]
+			   : regend[*p];
+	  DEBUG_PRINT2 ("      old_regend: %d\n",
+			 POINTER_TO_OFFSET (old_regend[*p]));
+
+          regend[*p] = d;
+	  DEBUG_PRINT2 ("      regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
+
+          /* This register isn't active anymore.  */
+          IS_ACTIVE (reg_info[*p]) = 0;
+
+	  /* Clear this whenever we change the register activity status.  */
+	  set_regs_matched_done = 0;
+
+          /* If this was the only register active, nothing is active
+             anymore.  */
+          if (lowest_active_reg == highest_active_reg)
+            {
+              lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+              highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+            }
+          else
+            { /* We must scan for the new highest active register, since
+                 it isn't necessarily one less than now: consider
+                 (a(b)c(d(e)f)g).  When group 3 ends, after the f), the
+                 new highest active register is 1.  */
+              unsigned char r = *p - 1;
+              while (r > 0 && !IS_ACTIVE (reg_info[r]))
+                r--;
+
+              /* If we end up at register zero, that means that we saved
+                 the registers as the result of an `on_failure_jump', not
+                 a `start_memory', and we jumped to past the innermost
+                 `stop_memory'.  For example, in ((.)*) we save
+                 registers 1 and 2 as a result of the *, but when we pop
+                 back to the second ), we are at the stop_memory 1.
+                 Thus, nothing is active.  */
+	      if (r == 0)
+                {
+                  lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+                  highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+                }
+              else
+                highest_active_reg = r;
+            }
+
+          /* If just failed to match something this time around with a
+             group that's operated on by a repetition operator, try to
+             force exit from the ``loop'', and restore the register
+             information for this group that we had before trying this
+             last match.  */
+          if ((!MATCHED_SOMETHING (reg_info[*p])
+               || just_past_start_mem == p - 1)
+	      && (p + 2) < pend)
+            {
+              boolean is_a_jump_n = false;
+
+              p1 = p + 2;
+              mcnt = 0;
+              switch ((re_opcode_t) *p1++)
+                {
+                  case jump_n:
+		    is_a_jump_n = true;
+                  case pop_failure_jump:
+		  case maybe_pop_jump:
+		  case jump:
+		  case dummy_failure_jump:
+                    EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+		    if (is_a_jump_n)
+		      p1 += 2;
+                    break;
+
+                  default:
+                    /* do nothing */ ;
+                }
+	      p1 += mcnt;
+
+              /* If the next operation is a jump backwards in the pattern
+	         to an on_failure_jump right before the start_memory
+                 corresponding to this stop_memory, exit from the loop
+                 by forcing a failure after pushing on the stack the
+                 on_failure_jump's jump in the pattern, and d.  */
+              if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
+                  && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
+		{
+                  /* If this group ever matched anything, then restore
+                     what its registers were before trying this last
+                     failed match, e.g., with `(a*)*b' against `ab' for
+                     regstart[1], and, e.g., with `((a*)*(b*)*)*'
+                     against `aba' for regend[3].
+
+                     Also restore the registers for inner groups for,
+                     e.g., `((a*)(b*))*' against `aba' (register 3 would
+                     otherwise get trashed).  */
+
+                  if (EVER_MATCHED_SOMETHING (reg_info[*p]))
+		    {
+		      unsigned r;
+
+                      EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+		      /* Restore this and inner groups' (if any) registers.  */
+                      for (r = *p; r < (unsigned) *p + (unsigned) *(p + 1);
+			   r++)
+                        {
+                          regstart[r] = old_regstart[r];
+
+                          /* xx why this test?  */
+                          if (old_regend[r] >= regstart[r])
+                            regend[r] = old_regend[r];
+                        }
+                    }
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
+
+                  goto fail;
+                }
+            }
+
+          /* Move past the register number and the inner group count.  */
+          p += 2;
+          break;
+
+
+	/* \<digit> has been turned into a `duplicate' command which is
+           followed by the numeric value of <digit> as the register number.  */
+        case duplicate:
+	  {
+	    register const char *d2, *dend2;
+	    int regno = *p++;   /* Get which register to match against.  */
+	    DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
+
+	    /* Can't back reference a group which we've never matched.  */
+            if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
+              goto fail;
+
+            /* Where in input to try to start matching.  */
+            d2 = regstart[regno];
+
+            /* Where to stop matching; if both the place to start and
+               the place to stop matching are in the same string, then
+               set to the place to stop, otherwise, for now have to use
+               the end of the first string.  */
+
+            dend2 = ((FIRST_STRING_P (regstart[regno])
+		      == FIRST_STRING_P (regend[regno]))
+		     ? regend[regno] : end_match_1);
+	    for (;;)
+	      {
+		/* If necessary, advance to next segment in register
+                   contents.  */
+		while (d2 == dend2)
+		  {
+		    if (dend2 == end_match_2) break;
+		    if (dend2 == regend[regno]) break;
+
+                    /* End of string1 => advance to string2. */
+                    d2 = string2;
+                    dend2 = regend[regno];
+		  }
+		/* At end of register contents => success */
+		if (d2 == dend2) break;
+
+		/* If necessary, advance to next segment in data.  */
+		PREFETCH ();
+
+		/* How many characters left in this segment to match.  */
+		mcnt = dend - d;
+
+		/* Want how many consecutive characters we can match in
+                   one shot, so, if necessary, adjust the count.  */
+                if (mcnt > dend2 - d2)
+		  mcnt = dend2 - d2;
+
+		/* Compare that many; failure if mismatch, else move
+                   past them.  */
+		if (translate
+                    ? bcmp_translate (d, d2, mcnt, translate)
+                    : memcmp (d, d2, mcnt))
+		  goto fail;
+		d += mcnt, d2 += mcnt;
+
+		/* Do this because we've match some characters.  */
+		SET_REGS_MATCHED ();
+	      }
+	  }
+	  break;
+
+
+        /* begline matches the empty string at the beginning of the string
+           (unless `not_bol' is set in `bufp'), and, if
+           `newline_anchor' is set, after newlines.  */
+	case begline:
+          DEBUG_PRINT1 ("EXECUTING begline.\n");
+
+          if (AT_STRINGS_BEG (d))
+            {
+              if (!bufp->not_bol) break;
+            }
+          else if (d[-1] == '\n' && bufp->newline_anchor)
+            {
+              break;
+            }
+          /* In all other cases, we fail.  */
+          goto fail;
+
+
+        /* endline is the dual of begline.  */
+	case endline:
+          DEBUG_PRINT1 ("EXECUTING endline.\n");
+
+          if (AT_STRINGS_END (d))
+            {
+              if (!bufp->not_eol) break;
+            }
+
+          /* We have to ``prefetch'' the next character.  */
+          else if ((d == end1 ? *string2 : *d) == '\n'
+                   && bufp->newline_anchor)
+            {
+              break;
+            }
+          goto fail;
+
+
+	/* Match at the very beginning of the data.  */
+        case begbuf:
+          DEBUG_PRINT1 ("EXECUTING begbuf.\n");
+          if (AT_STRINGS_BEG (d))
+            break;
+          goto fail;
+
+
+	/* Match at the very end of the data.  */
+        case endbuf:
+          DEBUG_PRINT1 ("EXECUTING endbuf.\n");
+	  if (AT_STRINGS_END (d))
+	    break;
+          goto fail;
+
+
+        /* on_failure_keep_string_jump is used to optimize `.*\n'.  It
+           pushes NULL as the value for the string on the stack.  Then
+           `pop_failure_point' will keep the current value for the
+           string, instead of restoring it.  To see why, consider
+           matching `foo\nbar' against `.*\n'.  The .* matches the foo;
+           then the . fails against the \n.  But the next thing we want
+           to do is match the \n against the \n; if we restored the
+           string value, we would be back at the foo.
+
+           Because this is used only in specific cases, we don't need to
+           check all the things that `on_failure_jump' does, to make
+           sure the right things get saved on the stack.  Hence we don't
+           share its code.  The only reason to push anything on the
+           stack at all is that otherwise we would have to change
+           `anychar's code to do something besides goto fail in this
+           case; that seems worse than this.  */
+        case on_failure_keep_string_jump:
+          DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+#ifdef _LIBC
+          DEBUG_PRINT3 (" %d (to %p):\n", mcnt, p + mcnt);
+#else
+          DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
+#endif
+
+          PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
+          break;
+
+
+	/* Uses of on_failure_jump:
+
+           Each alternative starts with an on_failure_jump that points
+           to the beginning of the next alternative.  Each alternative
+           except the last ends with a jump that in effect jumps past
+           the rest of the alternatives.  (They really jump to the
+           ending jump of the following alternative, because tensioning
+           these jumps is a hassle.)
+
+           Repeats start with an on_failure_jump that points past both
+           the repetition text and either the following jump or
+           pop_failure_jump back to this on_failure_jump.  */
+	case on_failure_jump:
+        on_failure:
+          DEBUG_PRINT1 ("EXECUTING on_failure_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+#ifdef _LIBC
+          DEBUG_PRINT3 (" %d (to %p)", mcnt, p + mcnt);
+#else
+          DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
+#endif
+
+          /* If this on_failure_jump comes right before a group (i.e.,
+             the original * applied to a group), save the information
+             for that group and all inner ones, so that if we fail back
+             to this point, the group's information will be correct.
+             For example, in \(a*\)*\1, we need the preceding group,
+             and in \(zz\(a*\)b*\)\2, we need the inner group.  */
+
+          /* We can't use `p' to check ahead because we push
+             a failure point to `p + mcnt' after we do this.  */
+          p1 = p;
+
+          /* We need to skip no_op's before we look for the
+             start_memory in case this on_failure_jump is happening as
+             the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
+             against aba.  */
+          while (p1 < pend && (re_opcode_t) *p1 == no_op)
+            p1++;
+
+          if (p1 < pend && (re_opcode_t) *p1 == start_memory)
+            {
+              /* We have a new highest active register now.  This will
+                 get reset at the start_memory we are about to get to,
+                 but we will have saved all the registers relevant to
+                 this repetition op, as described above.  */
+              highest_active_reg = *(p1 + 1) + *(p1 + 2);
+              if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+                lowest_active_reg = *(p1 + 1);
+            }
+
+          DEBUG_PRINT1 (":\n");
+          PUSH_FAILURE_POINT (p + mcnt, d, -2);
+          break;
+
+
+        /* A smart repeat ends with `maybe_pop_jump'.
+	   We change it to either `pop_failure_jump' or `jump'.  */
+        case maybe_pop_jump:
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
+          {
+	    register unsigned char *p2 = p;
+
+            /* Compare the beginning of the repeat with what in the
+               pattern follows its end. If we can establish that there
+               is nothing that they would both match, i.e., that we
+               would have to backtrack because of (as in, e.g., `a*a')
+               then we can change to pop_failure_jump, because we'll
+               never have to backtrack.
+
+               This is not true in the case of alternatives: in
+               `(a|ab)*' we do need to backtrack to the `ab' alternative
+               (e.g., if the string was `ab').  But instead of trying to
+               detect that here, the alternative has put on a dummy
+               failure point which is what we will end up popping.  */
+
+	    /* Skip over open/close-group commands.
+	       If what follows this loop is a ...+ construct,
+	       look at what begins its body, since we will have to
+	       match at least one of that.  */
+	    while (1)
+	      {
+		if (p2 + 2 < pend
+		    && ((re_opcode_t) *p2 == stop_memory
+			|| (re_opcode_t) *p2 == start_memory))
+		  p2 += 3;
+		else if (p2 + 6 < pend
+			 && (re_opcode_t) *p2 == dummy_failure_jump)
+		  p2 += 6;
+		else
+		  break;
+	      }
+
+	    p1 = p + mcnt;
+	    /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
+	       to the `maybe_finalize_jump' of this case.  Examine what
+	       follows.  */
+
+            /* If we're at the end of the pattern, we can change.  */
+            if (p2 == pend)
+	      {
+		/* Consider what happens when matching ":\(.*\)"
+		   against ":/".  I don't really understand this code
+		   yet.  */
+  	        p[-3] = (unsigned char) pop_failure_jump;
+                DEBUG_PRINT1
+                  ("  End of pattern: change to `pop_failure_jump'.\n");
+              }
+
+            else if ((re_opcode_t) *p2 == exactn
+		     || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
+	      {
+		register unsigned char c
+                  = *p2 == (unsigned char) endline ? '\n' : p2[2];
+
+                if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
+                  {
+  		    p[-3] = (unsigned char) pop_failure_jump;
+                    DEBUG_PRINT3 ("  %c != %c => pop_failure_jump.\n",
+                                  c, p1[5]);
+                  }
+
+		else if ((re_opcode_t) p1[3] == charset
+			 || (re_opcode_t) p1[3] == charset_not)
+		  {
+		    int not = (re_opcode_t) p1[3] == charset_not;
+
+		    if (c < (unsigned char) (p1[4] * BYTEWIDTH)
+			&& p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+		      not = !not;
+
+                    /* `not' is equal to 1 if c would match, which means
+                        that we can't change to pop_failure_jump.  */
+		    if (!not)
+                      {
+  		        p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+		  }
+	      }
+            else if ((re_opcode_t) *p2 == charset)
+	      {
+#ifdef DEBUG
+		register unsigned char c
+                  = *p2 == (unsigned char) endline ? '\n' : p2[2];
+#endif
+
+#if 0
+                if ((re_opcode_t) p1[3] == exactn
+		    && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5]
+			  && (p2[2 + p1[5] / BYTEWIDTH]
+			      & (1 << (p1[5] % BYTEWIDTH)))))
+#else
+                if ((re_opcode_t) p1[3] == exactn
+		    && ! ((int) p2[1] * BYTEWIDTH > (int) p1[4]
+			  && (p2[2 + p1[4] / BYTEWIDTH]
+			      & (1 << (p1[4] % BYTEWIDTH)))))
+#endif
+                  {
+  		    p[-3] = (unsigned char) pop_failure_jump;
+                    DEBUG_PRINT3 ("  %c != %c => pop_failure_jump.\n",
+                                  c, p1[5]);
+                  }
+
+		else if ((re_opcode_t) p1[3] == charset_not)
+		  {
+		    int idx;
+		    /* We win if the charset_not inside the loop
+		       lists every character listed in the charset after.  */
+		    for (idx = 0; idx < (int) p2[1]; idx++)
+		      if (! (p2[2 + idx] == 0
+			     || (idx < (int) p1[4]
+				 && ((p2[2 + idx] & ~ p1[5 + idx]) == 0))))
+			break;
+
+		    if (idx == p2[1])
+                      {
+  		        p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+		  }
+		else if ((re_opcode_t) p1[3] == charset)
+		  {
+		    int idx;
+		    /* We win if the charset inside the loop
+		       has no overlap with the one after the loop.  */
+		    for (idx = 0;
+			 idx < (int) p2[1] && idx < (int) p1[4];
+			 idx++)
+		      if ((p2[2 + idx] & p1[5 + idx]) != 0)
+			break;
+
+		    if (idx == p2[1] || idx == p1[4])
+                      {
+  		        p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+		  }
+	      }
+	  }
+	  p -= 2;		/* Point at relative address again.  */
+	  if ((re_opcode_t) p[-1] != pop_failure_jump)
+	    {
+	      p[-1] = (unsigned char) jump;
+              DEBUG_PRINT1 ("  Match => jump.\n");
+	      goto unconditional_jump;
+	    }
+        /* Note fall through.  */
+
+
+	/* The end of a simple repeat has a pop_failure_jump back to
+           its matching on_failure_jump, where the latter will push a
+           failure point.  The pop_failure_jump takes off failure
+           points put on by this pop_failure_jump's matching
+           on_failure_jump; we got through the pattern to here from the
+           matching on_failure_jump, so didn't fail.  */
+        case pop_failure_jump:
+          {
+            /* We need to pass separate storage for the lowest and
+               highest registers, even though we don't care about the
+               actual values.  Otherwise, we will restore only one
+               register from the stack, since lowest will == highest in
+               `pop_failure_point'.  */
+            active_reg_t dummy_low_reg, dummy_high_reg;
+            unsigned char *pdummy;
+            const char *sdummy;
+
+            DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
+            POP_FAILURE_POINT (sdummy, pdummy,
+                               dummy_low_reg, dummy_high_reg,
+                               reg_dummy, reg_dummy, reg_info_dummy);
+          }
+	  /* Note fall through.  */
+
+	unconditional_jump:
+#ifdef _LIBC
+	  DEBUG_PRINT2 ("\n%p: ", p);
+#else
+	  DEBUG_PRINT2 ("\n0x%x: ", p);
+#endif
+          /* Note fall through.  */
+
+        /* Unconditionally jump (without popping any failure points).  */
+        case jump:
+	  EXTRACT_NUMBER_AND_INCR (mcnt, p);	/* Get the amount to jump.  */
+          DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
+	  p += mcnt;				/* Do the jump.  */
+#ifdef _LIBC
+          DEBUG_PRINT2 ("(to %p).\n", p);
+#else
+          DEBUG_PRINT2 ("(to 0x%x).\n", p);
+#endif
+	  break;
+
+
+        /* We need this opcode so we can detect where alternatives end
+           in `group_match_null_string_p' et al.  */
+        case jump_past_alt:
+          DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
+          goto unconditional_jump;
+
+
+        /* Normally, the on_failure_jump pushes a failure point, which
+           then gets popped at pop_failure_jump.  We will end up at
+           pop_failure_jump, also, and with a pattern of, say, `a+', we
+           are skipping over the on_failure_jump, so we have to push
+           something meaningless for pop_failure_jump to pop.  */
+        case dummy_failure_jump:
+          DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
+          /* It doesn't matter what we push for the string here.  What
+             the code at `fail' tests is the value for the pattern.  */
+          PUSH_FAILURE_POINT (NULL, NULL, -2);
+          goto unconditional_jump;
+
+
+        /* At the end of an alternative, we need to push a dummy failure
+           point in case we are followed by a `pop_failure_jump', because
+           we don't want the failure point for the alternative to be
+           popped.  For example, matching `(a|ab)*' against `aab'
+           requires that we match the `ab' alternative.  */
+        case push_dummy_failure:
+          DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
+          /* See comments just above at `dummy_failure_jump' about the
+             two zeroes.  */
+          PUSH_FAILURE_POINT (NULL, NULL, -2);
+          break;
+
+        /* Have to succeed matching what follows at least n times.
+           After that, handle like `on_failure_jump'.  */
+        case succeed_n:
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
+
+          assert (mcnt >= 0);
+          /* Originally, this is how many times we HAVE to succeed.  */
+          if (mcnt > 0)
+            {
+               mcnt--;
+	       p += 2;
+               STORE_NUMBER_AND_INCR (p, mcnt);
+#ifdef _LIBC
+               DEBUG_PRINT3 ("  Setting %p to %d.\n", p - 2, mcnt);
+#else
+               DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p - 2, mcnt);
+#endif
+            }
+	  else if (mcnt == 0)
+            {
+#ifdef _LIBC
+              DEBUG_PRINT2 ("  Setting two bytes from %p to no_op.\n", p+2);
+#else
+              DEBUG_PRINT2 ("  Setting two bytes from 0x%x to no_op.\n", p+2);
+#endif
+	      p[2] = (unsigned char) no_op;
+              p[3] = (unsigned char) no_op;
+              goto on_failure;
+            }
+          break;
+
+        case jump_n:
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
+
+          /* Originally, this is how many times we CAN jump.  */
+          if (mcnt)
+            {
+               mcnt--;
+               STORE_NUMBER (p + 2, mcnt);
+#ifdef _LIBC
+               DEBUG_PRINT3 ("  Setting %p to %d.\n", p + 2, mcnt);
+#else
+               DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p + 2, mcnt);
+#endif
+	       goto unconditional_jump;
+            }
+          /* If don't have to jump any more, skip over the rest of command.  */
+	  else
+	    p += 4;
+          break;
+
+	case set_number_at:
+	  {
+            DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
+
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            p1 = p + mcnt;
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+#ifdef _LIBC
+            DEBUG_PRINT3 ("  Setting %p to %d.\n", p1, mcnt);
+#else
+            DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p1, mcnt);
+#endif
+	    STORE_NUMBER (p1, mcnt);
+            break;
+          }
+
+#if 0
+	/* The DEC Alpha C compiler 3.x generates incorrect code for the
+	   test  WORDCHAR_P (d - 1) != WORDCHAR_P (d)  in the expansion of
+	   AT_WORD_BOUNDARY, so this code is disabled.  Expanding the
+	   macro and introducing temporary variables works around the bug.  */
+
+	case wordbound:
+	  DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+	  if (AT_WORD_BOUNDARY (d))
+	    break;
+	  goto fail;
+
+	case notwordbound:
+	  DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+	  if (AT_WORD_BOUNDARY (d))
+	    goto fail;
+	  break;
+#else
+	case wordbound:
+	{
+	  boolean prevchar, thischar;
+
+	  DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+	  if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
+	    break;
+
+	  prevchar = WORDCHAR_P (d - 1);
+	  thischar = WORDCHAR_P (d);
+	  if (prevchar != thischar)
+	    break;
+	  goto fail;
+	}
+
+      case notwordbound:
+	{
+	  boolean prevchar, thischar;
+
+	  DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+	  if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
+	    goto fail;
+
+	  prevchar = WORDCHAR_P (d - 1);
+	  thischar = WORDCHAR_P (d);
+	  if (prevchar != thischar)
+	    goto fail;
+	  break;
+	}
+#endif
+
+	case wordbeg:
+          DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
+	  if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
+	    break;
+          goto fail;
+
+	case wordend:
+          DEBUG_PRINT1 ("EXECUTING wordend.\n");
+	  if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
+              && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
+	    break;
+          goto fail;
+
+#ifdef emacs
+  	case before_dot:
+          DEBUG_PRINT1 ("EXECUTING before_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) >= point)
+  	    goto fail;
+  	  break;
+
+  	case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) != point)
+  	    goto fail;
+  	  break;
+
+  	case after_dot:
+          DEBUG_PRINT1 ("EXECUTING after_dot.\n");
+          if (PTR_CHAR_POS ((unsigned char *) d) <= point)
+  	    goto fail;
+  	  break;
+
+	case syntaxspec:
+          DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchsyntax;
+
+        case wordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
+	  mcnt = (int) Sword;
+        matchsyntax:
+	  PREFETCH ();
+	  /* Can't use *d++ here; SYNTAX may be an unsafe macro.  */
+	  d++;
+	  if (SYNTAX (d[-1]) != (enum syntaxcode) mcnt)
+	    goto fail;
+          SET_REGS_MATCHED ();
+	  break;
+
+	case notsyntaxspec:
+          DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchnotsyntax;
+
+        case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
+	  mcnt = (int) Sword;
+        matchnotsyntax:
+	  PREFETCH ();
+	  /* Can't use *d++ here; SYNTAX may be an unsafe macro.  */
+	  d++;
+	  if (SYNTAX (d[-1]) == (enum syntaxcode) mcnt)
+	    goto fail;
+	  SET_REGS_MATCHED ();
+          break;
+
+#else /* not emacs */
+	case wordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
+	  PREFETCH ();
+          if (!WORDCHAR_P (d))
+            goto fail;
+	  SET_REGS_MATCHED ();
+          d++;
+	  break;
+
+	case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
+	  PREFETCH ();
+	  if (WORDCHAR_P (d))
+            goto fail;
+          SET_REGS_MATCHED ();
+          d++;
+	  break;
+#endif /* not emacs */
+
+        default:
+          abort ();
+	}
+      continue;  /* Successfully executed one pattern command; keep going.  */
+
+
+    /* We goto here if a matching operation fails. */
+    fail:
+      if (!FAIL_STACK_EMPTY ())
+	{ /* A restart point is known.  Restore to that state.  */
+          DEBUG_PRINT1 ("\nFAIL:\n");
+          POP_FAILURE_POINT (d, p,
+                             lowest_active_reg, highest_active_reg,
+                             regstart, regend, reg_info);
+
+          /* If this failure point is a dummy, try the next one.  */
+          if (!p)
+	    goto fail;
+
+          /* If we failed to the end of the pattern, don't examine *p.  */
+	  assert (p <= pend);
+          if (p < pend)
+            {
+              boolean is_a_jump_n = false;
+
+              /* If failed to a backwards jump that's part of a repetition
+                 loop, need to pop this failure point and use the next one.  */
+              switch ((re_opcode_t) *p)
+                {
+                case jump_n:
+                  is_a_jump_n = true;
+                case maybe_pop_jump:
+                case pop_failure_jump:
+                case jump:
+                  p1 = p + 1;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  p1 += mcnt;
+
+                  if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
+                      || (!is_a_jump_n
+                          && (re_opcode_t) *p1 == on_failure_jump))
+                    goto fail;
+                  break;
+                default:
+                  /* do nothing */ ;
+                }
+            }
+
+          if (d >= string1 && d <= end1)
+	    dend = end_match_1;
+        }
+      else
+        break;   /* Matching at this starting point really fails.  */
+    } /* for (;;) */
+
+  if (best_regs_set)
+    goto restore_best_regs;
+
+  FREE_VARIABLES ();
+
+  return -1;         			/* Failure to match.  */
+} /* re_match_2 */
+

+/* Subroutine definitions for re_match_2.  */
+
+
+/* We are passed P pointing to a register number after a start_memory.
+
+   Return true if the pattern up to the corresponding stop_memory can
+   match the empty string, and false otherwise.
+
+   If we find the matching stop_memory, sets P to point to one past its number.
+   Otherwise, sets P to an undefined byte less than or equal to END.
+
+   We don't handle duplicates properly (yet).  */
+
+static boolean
+group_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  /* Point to after the args to the start_memory.  */
+  unsigned char *p1 = *p + 2;
+
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and return true or
+	 false, as appropriate, when we get to one that can't, or to the
+         matching stop_memory.  */
+
+      switch ((re_opcode_t) *p1)
+        {
+        /* Could be either a loop or a series of alternatives.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+          /* If the next operation is not a jump backwards in the
+	     pattern.  */
+
+	  if (mcnt >= 0)
+	    {
+              /* Go through the on_failure_jumps of the alternatives,
+                 seeing if any of the alternatives cannot match nothing.
+                 The last alternative starts with only a jump,
+                 whereas the rest start with on_failure_jump and end
+                 with a jump, e.g., here is the pattern for `a|b|c':
+
+                 /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
+                 /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
+                 /exactn/1/c
+
+                 So, we have to first go through the first (n-1)
+                 alternatives and then deal with the last one separately.  */
+
+
+              /* Deal with the first (n-1) alternatives, which start
+                 with an on_failure_jump (see above) that jumps to right
+                 past a jump_past_alt.  */
+
+              while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
+                {
+                  /* `mcnt' holds how many bytes long the alternative
+                     is, including the ending `jump_past_alt' and
+                     its number.  */
+
+                  if (!alt_match_null_string_p (p1, p1 + mcnt - 3,
+				                      reg_info))
+                    return false;
+
+                  /* Move to right after this alternative, including the
+		     jump_past_alt.  */
+                  p1 += mcnt;
+
+                  /* Break if it's the beginning of an n-th alternative
+                     that doesn't begin with an on_failure_jump.  */
+                  if ((re_opcode_t) *p1 != on_failure_jump)
+                    break;
+
+		  /* Still have to check that it's not an n-th
+		     alternative that starts with an on_failure_jump.  */
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
+                    {
+		      /* Get to the beginning of the n-th alternative.  */
+                      p1 -= 3;
+                      break;
+                    }
+                }
+
+              /* Deal with the last alternative: go back and get number
+                 of the `jump_past_alt' just before it.  `mcnt' contains
+                 the length of the alternative.  */
+              EXTRACT_NUMBER (mcnt, p1 - 2);
+
+              if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+                return false;
+
+              p1 += mcnt;	/* Get past the n-th alternative.  */
+            } /* if mcnt > 0 */
+          break;
+
+
+        case stop_memory:
+	  assert (p1[1] == **p);
+          *p = p1 + 2;
+          return true;
+
+
+        default:
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    } /* while p1 < end */
+
+  return false;
+} /* group_match_null_string_p */
+
+
+/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
+   It expects P to be the first byte of a single alternative and END one
+   byte past the last. The alternative can contain groups.  */
+
+static boolean
+alt_match_null_string_p (p, end, reg_info)
+    unsigned char *p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  unsigned char *p1 = p;
+
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and break when we get
+         to one that can't.  */
+
+      switch ((re_opcode_t) *p1)
+        {
+	/* It's a loop.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+          break;
+
+	default:
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    }  /* while p1 < end */
+
+  return true;
+} /* alt_match_null_string_p */
+
+
+/* Deals with the ops common to group_match_null_string_p and
+   alt_match_null_string_p.
+
+   Sets P to one after the op and its arguments, if any.  */
+
+static boolean
+common_op_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  boolean ret;
+  int reg_no;
+  unsigned char *p1 = *p;
+
+  switch ((re_opcode_t) *p1++)
+    {
+    case no_op:
+    case begline:
+    case endline:
+    case begbuf:
+    case endbuf:
+    case wordbeg:
+    case wordend:
+    case wordbound:
+    case notwordbound:
+#ifdef emacs
+    case before_dot:
+    case at_dot:
+    case after_dot:
+#endif
+      break;
+
+    case start_memory:
+      reg_no = *p1;
+      assert (reg_no > 0 && reg_no <= MAX_REGNUM);
+      ret = group_match_null_string_p (&p1, end, reg_info);
+
+      /* Have to set this here in case we're checking a group which
+         contains a group and a back reference to it.  */
+
+      if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
+        REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+
+      if (!ret)
+        return false;
+      break;
+
+    /* If this is an optimized succeed_n for zero times, make the jump.  */
+    case jump:
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+      if (mcnt >= 0)
+        p1 += mcnt;
+      else
+        return false;
+      break;
+
+    case succeed_n:
+      /* Get to the number of times to succeed.  */
+      p1 += 2;
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+      if (mcnt == 0)
+        {
+          p1 -= 4;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+        }
+      else
+        return false;
+      break;
+
+    case duplicate:
+      if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+        return false;
+      break;
+
+    case set_number_at:
+      p1 += 4;
+
+    default:
+      /* All other opcodes mean we cannot match the empty string.  */
+      return false;
+  }
+
+  *p = p1;
+  return true;
+} /* common_op_match_null_string_p */
+
+
+/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
+   bytes; nonzero otherwise.  */
+
+static int
+bcmp_translate (s1, s2, len, translate)
+     const char *s1, *s2;
+     register int len;
+     RE_TRANSLATE_TYPE translate;
+{
+  register const unsigned char *p1 = (const unsigned char *) s1;
+  register const unsigned char *p2 = (const unsigned char *) s2;
+  while (len)
+    {
+      if (translate[*p1++] != translate[*p2++]) return 1;
+      len--;
+    }
+  return 0;
+}
+

+/* Entry points for GNU code.  */
+
+/* re_compile_pattern is the GNU regular expression compiler: it
+   compiles PATTERN (of length SIZE) and puts the result in BUFP.
+   Returns 0 if the pattern was valid, otherwise an error string.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+   are set in BUFP on entry.
+
+   We call regex_compile to do the actual compilation.  */
+
+const char *
+re_compile_pattern (pattern, length, bufp)
+     const char *pattern;
+     size_t length;
+     struct re_pattern_buffer *bufp;
+{
+  reg_errcode_t ret;
+
+  /* GNU code is written to assume at least RE_NREGS registers will be set
+     (and at least one extra will be -1).  */
+  bufp->regs_allocated = REGS_UNALLOCATED;
+
+  /* And GNU code determines whether or not to get register information
+     by passing null for the REGS argument to re_match, etc., not by
+     setting no_sub.  */
+  bufp->no_sub = 0;
+
+  /* Match anchors at newline.  */
+  bufp->newline_anchor = 1;
+
+  ret = regex_compile (pattern, length, re_syntax_options, bufp);
+
+  if (!ret)
+    return NULL;
+  return gettext (re_error_msgid[(int) ret]);
+}
+#ifdef _LIBC
+weak_alias (__re_compile_pattern, re_compile_pattern)
+#endif
+

+/* Entry points compatible with 4.2 BSD regex library.  We don't define
+   them unless specifically requested.  */
+
+#if defined _REGEX_RE_COMP || defined _LIBC
+
+/* BSD has one and only one pattern buffer.  */
+static struct re_pattern_buffer re_comp_buf;
+
+char *
+#ifdef _LIBC
+/* Make these definitions weak in libc, so POSIX programs can redefine
+   these names if they don't use our functions, and still use
+   regcomp/regexec below without link errors.  */
+weak_function
+#endif
+re_comp (s)
+    const char *s;
+{
+  reg_errcode_t ret;
+
+  if (!s)
+    {
+      if (!re_comp_buf.buffer)
+	return gettext ("No previous regular expression");
+      return 0;
+    }
+
+  if (!re_comp_buf.buffer)
+    {
+      re_comp_buf.buffer = (unsigned char *) malloc (200);
+      if (re_comp_buf.buffer == NULL)
+        return (char *) gettext (re_error_msgid[(int) REG_ESPACE]);
+      re_comp_buf.allocated = 200;
+
+      re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
+      if (re_comp_buf.fastmap == NULL)
+	return (char *) gettext (re_error_msgid[(int) REG_ESPACE]);
+    }
+
+  /* Since `re_exec' always passes NULL for the `regs' argument, we
+     don't need to initialize the pattern buffer fields which affect it.  */
+
+  /* Match anchors at newlines.  */
+  re_comp_buf.newline_anchor = 1;
+
+  ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
+
+  if (!ret)
+    return NULL;
+
+  /* Yes, we're discarding `const' here if !HAVE_LIBINTL.  */
+  return (char *) gettext (re_error_msgid[(int) ret]);
+}
+
+
+int
+#ifdef _LIBC
+weak_function
+#endif
+re_exec (s)
+    const char *s;
+{
+  const int len = strlen (s);
+  return
+    0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
+}
+
+#endif /* _REGEX_RE_COMP */
+

+/* POSIX.2 functions.  Don't define these for Emacs.  */
+
+#ifndef emacs
+
+/* regcomp takes a regular expression as a string and compiles it.
+
+   PREG is a regex_t *.  We do not expect any fields to be initialized,
+   since POSIX says we shouldn't.  Thus, we set
+
+     `buffer' to the compiled pattern;
+     `used' to the length of the compiled pattern;
+     `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+       REG_EXTENDED bit in CFLAGS is set; otherwise, to
+       RE_SYNTAX_POSIX_BASIC;
+     `newline_anchor' to REG_NEWLINE being set in CFLAGS;
+     `fastmap' to an allocated space for the fastmap;
+     `fastmap_accurate' to zero;
+     `re_nsub' to the number of subexpressions in PATTERN.
+
+   PATTERN is the address of the pattern string.
+
+   CFLAGS is a series of bits which affect compilation.
+
+     If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
+     use POSIX basic syntax.
+
+     If REG_NEWLINE is set, then . and [^...] don't match newline.
+     Also, regexec will try a match beginning after every newline.
+
+     If REG_ICASE is set, then we considers upper- and lowercase
+     versions of letters to be equivalent when matching.
+
+     If REG_NOSUB is set, then when PREG is passed to regexec, that
+     routine will report only success or failure, and nothing about the
+     registers.
+
+   It returns 0 if it succeeds, nonzero if it doesn't.  (See regex.h for
+   the return codes and their meanings.)  */
+
+int
+regcomp (preg, pattern, cflags)
+    regex_t *preg;
+    const char *pattern;
+    int cflags;
+{
+  reg_errcode_t ret;
+  reg_syntax_t syntax
+    = (cflags & REG_EXTENDED) ?
+      RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
+
+  /* regex_compile will allocate the space for the compiled pattern.  */
+  preg->buffer = 0;
+  preg->allocated = 0;
+  preg->used = 0;
+
+  /* Try to allocate space for the fastmap.  */
+  preg->fastmap = (char *) malloc (1 << BYTEWIDTH);
+
+  if (cflags & REG_ICASE)
+    {
+      unsigned i;
+
+      preg->translate
+	= (RE_TRANSLATE_TYPE) malloc (CHAR_SET_SIZE
+				      * sizeof (*(RE_TRANSLATE_TYPE)0));
+      if (preg->translate == NULL)
+        return (int) REG_ESPACE;
+
+      /* Map uppercase characters to corresponding lowercase ones.  */
+      for (i = 0; i < CHAR_SET_SIZE; i++)
+        preg->translate[i] = ISUPPER (i) ? TOLOWER (i) : i;
+    }
+  else
+    preg->translate = NULL;
+
+  /* If REG_NEWLINE is set, newlines are treated differently.  */
+  if (cflags & REG_NEWLINE)
+    { /* REG_NEWLINE implies neither . nor [^...] match newline.  */
+      syntax &= ~RE_DOT_NEWLINE;
+      syntax |= RE_HAT_LISTS_NOT_NEWLINE;
+      /* It also changes the matching behavior.  */
+      preg->newline_anchor = 1;
+    }
+  else
+    preg->newline_anchor = 0;
+
+  preg->no_sub = !!(cflags & REG_NOSUB);
+
+  /* POSIX says a null character in the pattern terminates it, so we
+     can use strlen here in compiling the pattern.  */
+  ret = regex_compile (pattern, strlen (pattern), syntax, preg);
+
+  /* POSIX doesn't distinguish between an unmatched open-group and an
+     unmatched close-group: both are REG_EPAREN.  */
+  if (ret == REG_ERPAREN) ret = REG_EPAREN;
+
+  if (ret == REG_NOERROR && preg->fastmap)
+    {
+      /* Compute the fastmap now, since regexec cannot modify the pattern
+	 buffer.  */
+      if (re_compile_fastmap (preg) == -2)
+	{
+	  /* Some error occured while computing the fastmap, just forget
+	     about it.  */
+	  free (preg->fastmap);
+	  preg->fastmap = NULL;
+	}
+    }
+
+  return (int) ret;
+}
+#ifdef _LIBC
+weak_alias (__regcomp, regcomp)
+#endif
+
+
+/* regexec searches for a given pattern, specified by PREG, in the
+   string STRING.
+
+   If NMATCH is zero or REG_NOSUB was set in the cflags argument to
+   `regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
+   least NMATCH elements, and we set them to the offsets of the
+   corresponding matched substrings.
+
+   EFLAGS specifies `execution flags' which affect matching: if
+   REG_NOTBOL is set, then ^ does not match at the beginning of the
+   string; if REG_NOTEOL is set, then $ does not match at the end.
+
+   We return 0 if we find a match and REG_NOMATCH if not.  */
+
+int
+regexec (preg, string, nmatch, pmatch, eflags)
+    const regex_t *preg;
+    const char *string;
+    size_t nmatch;
+    regmatch_t pmatch[];
+    int eflags;
+{
+  int ret;
+  struct re_registers regs;
+  regex_t private_preg;
+  int len = strlen (string);
+  boolean want_reg_info = !preg->no_sub && nmatch > 0;
+
+  private_preg = *preg;
+
+  private_preg.not_bol = !!(eflags & REG_NOTBOL);
+  private_preg.not_eol = !!(eflags & REG_NOTEOL);
+
+  /* The user has told us exactly how many registers to return
+     information about, via `nmatch'.  We have to pass that on to the
+     matching routines.  */
+  private_preg.regs_allocated = REGS_FIXED;
+
+  if (want_reg_info)
+    {
+      regs.num_regs = nmatch;
+      regs.start = TALLOC (nmatch * 2, regoff_t);
+      if (regs.start == NULL)
+        return (int) REG_NOMATCH;
+      regs.end = regs.start + nmatch;
+    }
+
+  /* Perform the searching operation.  */
+  ret = re_search (&private_preg, string, len,
+                   /* start: */ 0, /* range: */ len,
+                   want_reg_info ? &regs : (struct re_registers *) 0);
+
+  /* Copy the register information to the POSIX structure.  */
+  if (want_reg_info)
+    {
+      if (ret >= 0)
+        {
+          unsigned r;
+
+          for (r = 0; r < nmatch; r++)
+            {
+              pmatch[r].rm_so = regs.start[r];
+              pmatch[r].rm_eo = regs.end[r];
+            }
+        }
+
+      /* If we needed the temporary register info, free the space now.  */
+      free (regs.start);
+    }
+
+  /* We want zero return to mean success, unlike `re_search'.  */
+  return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
+}
+#ifdef _LIBC
+weak_alias (__regexec, regexec)
+#endif
+
+
+/* Returns a message corresponding to an error code, ERRCODE, returned
+   from either regcomp or regexec.   We don't use PREG here.  */
+
+size_t
+regerror (errcode, preg, errbuf, errbuf_size)
+    int errcode;
+    const regex_t *preg;
+    char *errbuf;
+    size_t errbuf_size;
+{
+  const char *msg;
+  size_t msg_size;
+
+  if (errcode < 0
+      || errcode >= (int) (sizeof (re_error_msgid)
+			   / sizeof (re_error_msgid[0])))
+    /* Only error codes returned by the rest of the code should be passed
+       to this routine.  If we are given anything else, or if other regex
+       code generates an invalid error code, then the program has a bug.
+       Dump core so we can fix it.  */
+    abort ();
+
+  msg = gettext (re_error_msgid[errcode]);
+
+  msg_size = strlen (msg) + 1; /* Includes the null.  */
+
+  if (errbuf_size != 0)
+    {
+      if (msg_size > errbuf_size)
+        {
+#if defined HAVE_MEMPCPY || defined _LIBC
+	  *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
+#else
+          memcpy (errbuf, msg, errbuf_size - 1);
+          errbuf[errbuf_size - 1] = 0;
+#endif
+        }
+      else
+        memcpy (errbuf, msg, msg_size);
+    }
+
+  return msg_size;
+}
+#ifdef _LIBC
+weak_alias (__regerror, regerror)
+#endif
+
+
+/* Free dynamically allocated space used by PREG.  */
+
+void
+regfree (preg)
+    regex_t *preg;
+{
+  if (preg->buffer != NULL)
+    free (preg->buffer);
+  preg->buffer = NULL;
+
+  preg->allocated = 0;
+  preg->used = 0;
+
+  if (preg->fastmap != NULL)
+    free (preg->fastmap);
+  preg->fastmap = NULL;
+  preg->fastmap_accurate = 0;
+
+  if (preg->translate != NULL)
+    free (preg->translate);
+  preg->translate = NULL;
+}
+#ifdef _LIBC
+weak_alias (__regfree, regfree)
+#endif
+
+#endif /* not emacs  */
diff --git a/ibdm/replace/regex.h b/ibdm/replace/regex.h
new file mode 100644
index 0000000..d88ab92
--- /dev/null
+++ b/ibdm/replace/regex.h
@@ -0,0 +1,542 @@
+/* Definitions for data structures and routines for the regular
+   expression library, version 0.12.
+   Copyright (C) 1985,89,90,91,92,93,95,96,97,98 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.  Its master source is NOT part of
+   the C library, however.  The master source lives in /gd/gnu/lib.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _REGEX_H
+#define _REGEX_H 1
+
+/* Allow the use in C++ code.  */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* POSIX says that <sys/types.h> must be included (by the caller) before
+   <regex.h>.  */
+
+#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS
+/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
+   should be there.  */
+# include <stddef.h>
+#endif
+
+/* The following two types have to be signed and unsigned integer type
+   wide enough to hold a value of a pointer.  For most ANSI compilers
+   ptrdiff_t and size_t should be likely OK.  Still size of these two
+   types is 2 for Microsoft C.  Ugh... */
+typedef long int s_reg_t;
+typedef unsigned long int active_reg_t;
+
+/* The following bits are used to determine the regexp syntax we
+   recognize.  The set/not-set meanings are chosen so that Emacs syntax
+   remains the value 0.  The bits are given in alphabetical order, and
+   the definitions shifted by one from the previous bit; thus, when we
+   add or remove a bit, only one other definition need change.  */
+typedef unsigned long int reg_syntax_t;
+
+/* If this bit is not set, then \ inside a bracket expression is literal.
+   If set, then such a \ quotes the following character.  */
+#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
+
+/* If this bit is not set, then + and ? are operators, and \+ and \? are
+     literals.
+   If set, then \+ and \? are operators and + and ? are literals.  */
+#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+
+/* If this bit is set, then character classes are supported.  They are:
+     [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
+     [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
+   If not set, then character classes are not supported.  */
+#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+
+/* If this bit is set, then ^ and $ are always anchors (outside bracket
+     expressions, of course).
+   If this bit is not set, then it depends:
+        ^  is an anchor if it is at the beginning of a regular
+           expression or after an open-group or an alternation operator;
+        $  is an anchor if it is at the end of a regular expression, or
+           before a close-group or an alternation operator.
+
+   This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
+   POSIX draft 11.2 says that * etc. in leading positions is undefined.
+   We already implemented a previous draft which made those constructs
+   invalid, though, so we haven't changed the code back.  */
+#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+
+/* If this bit is set, then special characters are always special
+     regardless of where they are in the pattern.
+   If this bit is not set, then special characters are special only in
+     some contexts; otherwise they are ordinary.  Specifically,
+     * + ? and intervals are only special when not after the beginning,
+     open-group, or alternation operator.  */
+#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+
+/* If this bit is set, then *, +, ?, and { cannot be first in an re or
+     immediately after an alternation or begin-group operator.  */
+#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+
+/* If this bit is set, then . matches newline.
+   If not set, then it doesn't.  */
+#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+
+/* If this bit is set, then . doesn't match NUL.
+   If not set, then it does.  */
+#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+
+/* If this bit is set, nonmatching lists [^...] do not match newline.
+   If not set, they do.  */
+#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+
+/* If this bit is set, either \{...\} or {...} defines an
+     interval, depending on RE_NO_BK_BRACES.
+   If not set, \{, \}, {, and } are literals.  */
+#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+
+/* If this bit is set, +, ? and | aren't recognized as operators.
+   If not set, they are.  */
+#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+
+/* If this bit is set, newline is an alternation operator.
+   If not set, newline is literal.  */
+#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+
+/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+     are literals.
+  If not set, then `\{...\}' defines an interval.  */
+#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+
+/* If this bit is set, (...) defines a group, and \( and \) are literals.
+   If not set, \(...\) defines a group, and ( and ) are literals.  */
+#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+
+/* If this bit is set, then \<digit> matches <digit>.
+   If not set, then \<digit> is a back-reference.  */
+#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+
+/* If this bit is set, then | is an alternation operator, and \| is literal.
+   If not set, then \| is an alternation operator, and | is literal.  */
+#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+
+/* If this bit is set, then an ending range point collating higher
+     than the starting range point, as in [z-a], is invalid.
+   If not set, then when ending range point collates higher than the
+     starting range point, the range is ignored.  */
+#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+
+/* If this bit is set, then an unmatched ) is ordinary.
+   If not set, then an unmatched ) is invalid.  */
+#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+
+/* If this bit is set, succeed as soon as we match the whole pattern,
+   without further backtracking.  */
+#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
+
+/* If this bit is set, do not process the GNU regex operators.
+   If not set, then the GNU regex operators are recognized. */
+#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
+
+/* If this bit is set, turn on internal regex debugging.
+   If not set, and debugging was on, turn it off.
+   This only works if regex.c is compiled -DDEBUG.
+   We define this bit always, so that all that's needed to turn on
+   debugging is to recompile regex.c; the calling code can always have
+   this bit set, and it won't affect anything in the normal case. */
+#define RE_DEBUG (RE_NO_GNU_OPS << 1)
+
+/* This global variable defines the particular regexp syntax to use (for
+   some interfaces).  When a regexp is compiled, the syntax used is
+   stored in the pattern buffer, so changing this does not affect
+   already-compiled regexps.  */
+extern reg_syntax_t re_syntax_options;
+

+/* Define combinations of the above bits for the standard possibilities.
+   (The [[[ comments delimit what gets put into the Texinfo file, so
+   don't delete them!)  */
+/* [[[begin syntaxes]]] */
+#define RE_SYNTAX_EMACS 0
+
+#define RE_SYNTAX_AWK							\
+  (RE_BACKSLASH_ESCAPE_IN_LISTS   | RE_DOT_NOT_NULL			\
+   | RE_NO_BK_PARENS              | RE_NO_BK_REFS			\
+   | RE_NO_BK_VBAR                | RE_NO_EMPTY_RANGES			\
+   | RE_DOT_NEWLINE		  | RE_CONTEXT_INDEP_ANCHORS		\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
+
+#define RE_SYNTAX_GNU_AWK						\
+  ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG)	\
+   & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS))
+
+#define RE_SYNTAX_POSIX_AWK 						\
+  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS		\
+   | RE_INTERVALS	    | RE_NO_GNU_OPS)
+
+#define RE_SYNTAX_GREP							\
+  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES				\
+   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS				\
+   | RE_NEWLINE_ALT)
+
+#define RE_SYNTAX_EGREP							\
+  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE			\
+   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS				\
+   | RE_NO_BK_VBAR)
+
+#define RE_SYNTAX_POSIX_EGREP						\
+  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
+
+/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
+#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
+
+#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
+
+/* Syntax bits common to both basic and extended POSIX regex syntax.  */
+#define _RE_SYNTAX_POSIX_COMMON						\
+  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL		\
+   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)
+
+#define RE_SYNTAX_POSIX_BASIC						\
+  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
+
+/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
+   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
+   isn't minimal, since other operators, such as \`, aren't disabled.  */
+#define RE_SYNTAX_POSIX_MINIMAL_BASIC					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
+
+#define RE_SYNTAX_POSIX_EXTENDED					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR				\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
+   replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added.  */
+#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED				\
+  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS        | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR	    | RE_UNMATCHED_RIGHT_PAREN_ORD)
+/* [[[end syntaxes]]] */
+

+/* Maximum number of duplicates an interval can allow.  Some systems
+   (erroneously) define this in other header files, but we want our
+   value, so remove any previous define.  */
+#ifdef RE_DUP_MAX
+# undef RE_DUP_MAX
+#endif
+/* If sizeof(int) == 2, then ((1 << 15) - 1) overflows.  */
+#define RE_DUP_MAX (0x7fff)
+
+
+/* POSIX `cflags' bits (i.e., information for `regcomp').  */
+
+/* If this bit is set, then use extended regular expression syntax.
+   If not set, then use basic regular expression syntax.  */
+#define REG_EXTENDED 1
+
+/* If this bit is set, then ignore case when matching.
+   If not set, then case is significant.  */
+#define REG_ICASE (REG_EXTENDED << 1)
+
+/* If this bit is set, then anchors do not match at newline
+     characters in the string.
+   If not set, then anchors do match at newlines.  */
+#define REG_NEWLINE (REG_ICASE << 1)
+
+/* If this bit is set, then report only success or fail in regexec.
+   If not set, then returns differ between not matching and errors.  */
+#define REG_NOSUB (REG_NEWLINE << 1)
+
+
+/* POSIX `eflags' bits (i.e., information for regexec).  */
+
+/* If this bit is set, then the beginning-of-line operator doesn't match
+     the beginning of the string (presumably because it's not the
+     beginning of a line).
+   If not set, then the beginning-of-line operator does match the
+     beginning of the string.  */
+#define REG_NOTBOL 1
+
+/* Like REG_NOTBOL, except for the end-of-line.  */
+#define REG_NOTEOL (1 << 1)
+
+
+/* If any error codes are removed, changed, or added, update the
+   `re_error_msg' table in regex.c.  */
+typedef enum
+{
+#ifdef _XOPEN_SOURCE
+  REG_ENOSYS = -1,	/* This will never happen for this implementation.  */
+#endif
+
+  REG_NOERROR = 0,	/* Success.  */
+  REG_NOMATCH,		/* Didn't find a match (for regexec).  */
+
+  /* POSIX regcomp return error codes.  (In the order listed in the
+     standard.)  */
+  REG_BADPAT,		/* Invalid pattern.  */
+  REG_ECOLLATE,		/* Not implemented.  */
+  REG_ECTYPE,		/* Invalid character class name.  */
+  REG_EESCAPE,		/* Trailing backslash.  */
+  REG_ESUBREG,		/* Invalid back reference.  */
+  REG_EBRACK,		/* Unmatched left bracket.  */
+  REG_EPAREN,		/* Parenthesis imbalance.  */
+  REG_EBRACE,		/* Unmatched \{.  */
+  REG_BADBR,		/* Invalid contents of \{\}.  */
+  REG_ERANGE,		/* Invalid range end.  */
+  REG_ESPACE,		/* Ran out of memory.  */
+  REG_BADRPT,		/* No preceding re for repetition op.  */
+
+  /* Error codes we've added.  */
+  REG_EEND,		/* Premature end.  */
+  REG_ESIZE,		/* Compiled pattern bigger than 2^16 bytes.  */
+  REG_ERPAREN		/* Unmatched ) or \); not returned from regcomp.  */
+} reg_errcode_t;
+

+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields `buffer', `allocated', `fastmap',
+   `translate', and `no_sub' can be set.  After the pattern has been
+   compiled, the `re_nsub' field is available.  All other fields are
+   private to the regex routines.  */
+
+#ifndef RE_TRANSLATE_TYPE
+# define RE_TRANSLATE_TYPE char *
+#endif
+
+struct re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+	/* Space that holds the compiled pattern.  It is declared as
+          `unsigned char *' because its elements are
+           sometimes used as array indexes.  */
+  unsigned char *buffer;
+
+	/* Number of bytes to which `buffer' points.  */
+  unsigned long int allocated;
+
+	/* Number of bytes actually used in `buffer'.  */
+  unsigned long int used;
+
+        /* Syntax setting with which the pattern was compiled.  */
+  reg_syntax_t syntax;
+
+        /* Pointer to a fastmap, if any, otherwise zero.  re_search uses
+           the fastmap, if there is one, to skip over impossible
+           starting points for matches.  */
+  char *fastmap;
+
+        /* Either a translate table to apply to all characters before
+           comparing them, or zero for no translation.  The translation
+           is applied to a pattern when it is compiled and to a string
+           when it is matched.  */
+  RE_TRANSLATE_TYPE translate;
+
+	/* Number of subexpressions found by the compiler.  */
+  size_t re_nsub;
+
+        /* Zero if this pattern cannot match the empty string, one else.
+           Well, in truth it's used only in `re_search_2', to see
+           whether or not we should use the fastmap, so we don't set
+           this absolutely perfectly; see `re_compile_fastmap' (the
+           `duplicate' case).  */
+  unsigned can_be_null : 1;
+
+        /* If REGS_UNALLOCATED, allocate space in the `regs' structure
+             for `max (RE_NREGS, re_nsub + 1)' groups.
+           If REGS_REALLOCATE, reallocate space if necessary.
+           If REGS_FIXED, use what's there.  */
+#define REGS_UNALLOCATED 0
+#define REGS_REALLOCATE 1
+#define REGS_FIXED 2
+  unsigned regs_allocated : 2;
+
+        /* Set to zero when `regex_compile' compiles a pattern; set to one
+           by `re_compile_fastmap' if it updates the fastmap.  */
+  unsigned fastmap_accurate : 1;
+
+        /* If set, `re_match_2' does not return information about
+           subexpressions.  */
+  unsigned no_sub : 1;
+
+        /* If set, a beginning-of-line anchor doesn't match at the
+           beginning of the string.  */
+  unsigned not_bol : 1;
+
+        /* Similarly for an end-of-line anchor.  */
+  unsigned not_eol : 1;
+
+        /* If true, an anchor at a newline matches.  */
+  unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+typedef struct re_pattern_buffer regex_t;
+

+/* Type for byte offsets within the string.  POSIX mandates this.  */
+typedef int regoff_t;
+
+
+/* This is the structure we store register match data in.  See
+   regex.texinfo for a full description of what registers match.  */
+struct re_registers
+{
+  unsigned num_regs;
+  regoff_t *start;
+  regoff_t *end;
+};
+
+
+/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+   `re_match_2' returns information about at least this many registers
+   the first time a `regs' structure is passed.  */
+#ifndef RE_NREGS
+# define RE_NREGS 30
+#endif
+
+
+/* POSIX specification for registers.  Aside from the different names than
+   `re_registers', POSIX uses an array of structures, instead of a
+   structure of arrays.  */
+typedef struct
+{
+  regoff_t rm_so;  /* Byte offset from string's start to substring's start.  */
+  regoff_t rm_eo;  /* Byte offset from string's start to substring's end.  */
+} regmatch_t;
+

+/* Declarations for routines.  */
+
+/* To avoid duplicating every routine declaration -- once with a
+   prototype (if we are ANSI), and once without (if we aren't) -- we
+   use the following macro to declare argument types.  This
+   unfortunately clutters up the declarations a bit, but I think it's
+   worth it.  */
+
+#if __STDC__
+
+# define _RE_ARGS(args) args
+
+#else /* not __STDC__ */
+
+# define _RE_ARGS(args) ()
+
+#endif /* not __STDC__ */
+
+/* Sets the current default syntax to SYNTAX, and return the old syntax.
+   You can also simply assign to the `re_syntax_options' variable.  */
+extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
+
+/* Compile the regular expression PATTERN, with length LENGTH
+   and syntax given by the global `re_syntax_options', into the buffer
+   BUFFER.  Return NULL if successful, and an error string if not.  */
+extern const char *re_compile_pattern
+  _RE_ARGS ((const char *pattern, size_t length,
+             struct re_pattern_buffer *buffer));
+
+
+/* Compile a fastmap for the compiled pattern in BUFFER; used to
+   accelerate searches.  Return 0 if successful and -2 if was an
+   internal error.  */
+extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
+
+
+/* Search in the string STRING (with length LENGTH) for the pattern
+   compiled into BUFFER.  Start searching at position START, for RANGE
+   characters.  Return the starting position of the match, -1 for no
+   match, or -2 for an internal error.  Also return register
+   information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
+extern int re_search
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
+            int length, int start, int range, struct re_registers *regs));
+
+
+/* Like `re_search', but search in the concatenation of STRING1 and
+   STRING2.  Also, stop searching at index START + STOP.  */
+extern int re_search_2
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
+             int length1, const char *string2, int length2,
+             int start, int range, struct re_registers *regs, int stop));
+
+
+/* Like `re_search', but return how many characters in STRING the regexp
+   in BUFFER matched, starting at position START.  */
+extern int re_match
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
+             int length, int start, struct re_registers *regs));
+
+
+/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
+extern int re_match_2
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
+             int length1, const char *string2, int length2,
+             int start, struct re_registers *regs, int stop));
+
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using BUFFER and REGS will use this memory
+   for recording register information.  STARTS and ENDS must be
+   allocated with malloc, and must each be at least `NUM_REGS * sizeof
+   (regoff_t)' bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+extern void re_set_registers
+  _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
+             unsigned num_regs, regoff_t *starts, regoff_t *ends));
+
+#if defined _REGEX_RE_COMP || defined _LIBC
+# ifndef _CRAY
+/* 4.2 bsd compatibility.  */
+extern char *re_comp _RE_ARGS ((const char *));
+extern int re_exec _RE_ARGS ((const char *));
+# endif
+#endif
+
+/* POSIX compatibility.  */
+extern int regcomp _RE_ARGS ((regex_t *__preg, const char *__pattern,
+			      int __cflags));
+
+extern int regexec _RE_ARGS ((const regex_t *__preg,
+			      const char *__string, size_t __nmatch,
+			      regmatch_t __pmatch[], int __eflags));
+
+extern size_t regerror _RE_ARGS ((int __errcode, const regex_t *__preg,
+				  char *__errbuf, size_t __errbuf_size));
+
+extern void regfree _RE_ARGS ((regex_t *__preg));
+
+
+#ifdef __cplusplus
+}
+#endif	/* C++ */
+
+#endif /* regex.h */
+

+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/ibdm/src/.deps/fabric_tr.Po b/ibdm/src/.deps/fabric_tr.Po
new file mode 100644
index 0000000..511a42c
--- /dev/null
+++ b/ibdm/src/.deps/fabric_tr.Po
@@ -0,0 +1,371 @@
+fabric_tr.o: fabric_tr.cpp ../ibdm/Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h ../ibdm/TraceRoute.h \
+  ../ibdm/Fabric.h
+
+../ibdm/Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+../ibdm/TraceRoute.h:
+
+../ibdm/Fabric.h:
diff --git a/ibdm/src/.deps/osm_check.Po b/ibdm/src/.deps/osm_check.Po
new file mode 100644
index 0000000..a26ea25
--- /dev/null
+++ b/ibdm/src/.deps/osm_check.Po
@@ -0,0 +1,371 @@
+osm_check.o: osm_check.cpp ../ibdm/Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h ../ibdm/SubnMgt.h \
+  ../ibdm/CredLoops.h
+
+../ibdm/Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+../ibdm/SubnMgt.h:
+
+../ibdm/CredLoops.h:
diff --git a/ibdm/src/.deps/test_ibnl_parser.Po b/ibdm/src/.deps/test_ibnl_parser.Po
new file mode 100644
index 0000000..0a3ef19
--- /dev/null
+++ b/ibdm/src/.deps/test_ibnl_parser.Po
@@ -0,0 +1,371 @@
+test_ibnl_parser.o: test_ibnl_parser.cpp ../ibdm/Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h ../ibdm/SysDef.h \
+  ../ibdm/Fabric.h
+
+../ibdm/Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+../ibdm/SysDef.h:
+
+../ibdm/Fabric.h:
diff --git a/ibdm/src/.deps/test_topo_match.Po b/ibdm/src/.deps/test_topo_match.Po
new file mode 100644
index 0000000..78b065d
--- /dev/null
+++ b/ibdm/src/.deps/test_topo_match.Po
@@ -0,0 +1,373 @@
+test_topo_match.o: test_topo_match.cpp ../ibdm/Fabric.h ../config.h \
+  /usr/include/c++/4.3/functional \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h \
+  /usr/include/c++/4.3/bits/stl_function.h \
+  /usr/include/c++/4.3/backward/binders.h /usr/include/c++/4.3/map \
+  /usr/include/c++/4.3/bits/stl_tree.h \
+  /usr/include/c++/4.3/bits/stl_algobase.h /usr/include/c++/4.3/cstddef \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/c++/4.3/bits/functexcept.h \
+  /usr/include/c++/4.3/exception_defines.h \
+  /usr/include/c++/4.3/bits/cpp_type_traits.h \
+  /usr/include/c++/4.3/ext/type_traits.h \
+  /usr/include/c++/4.3/ext/numeric_traits.h \
+  /usr/include/c++/4.3/bits/stl_pair.h \
+  /usr/include/c++/4.3/bits/stl_move.h \
+  /usr/include/c++/4.3/bits/concept_check.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_types.h \
+  /usr/include/c++/4.3/bits/stl_iterator_base_funcs.h \
+  /usr/include/c++/4.3/bits/stl_iterator.h \
+  /usr/include/c++/4.3/debug/debug.h \
+  /usr/include/c++/4.3/bits/allocator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h \
+  /usr/include/c++/4.3/ext/new_allocator.h /usr/include/c++/4.3/new \
+  /usr/include/c++/4.3/exception /usr/include/c++/4.3/bits/stl_map.h \
+  /usr/include/c++/4.3/bits/stl_multimap.h /usr/include/c++/4.3/set \
+  /usr/include/c++/4.3/bits/stl_set.h \
+  /usr/include/c++/4.3/bits/stl_multiset.h /usr/include/c++/4.3/list \
+  /usr/include/c++/4.3/bits/stl_list.h /usr/include/c++/4.3/bits/list.tcc \
+  /usr/include/c++/4.3/vector /usr/include/c++/4.3/bits/stl_construct.h \
+  /usr/include/c++/4.3/bits/stl_uninitialized.h \
+  /usr/include/c++/4.3/bits/stl_vector.h \
+  /usr/include/c++/4.3/bits/stl_bvector.h \
+  /usr/include/c++/4.3/bits/vector.tcc /usr/include/c++/4.3/fstream \
+  /usr/include/c++/4.3/istream /usr/include/c++/4.3/ios \
+  /usr/include/c++/4.3/iosfwd /usr/include/c++/4.3/bits/stringfwd.h \
+  /usr/include/c++/4.3/bits/postypes.h /usr/include/c++/4.3/cwchar \
+  /usr/include/wchar.h /usr/include/stdio.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/wchar.h /usr/include/xlocale.h /usr/include/stdint.h \
+  /usr/include/c++/4.3/bits/char_traits.h /usr/include/c++/4.3/cstdio \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/c++/4.3/bits/localefwd.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h \
+  /usr/include/c++/4.3/clocale /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/c++/4.3/cctype \
+  /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/c++/4.3/bits/ios_base.h \
+  /usr/include/c++/4.3/ext/atomicity.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h \
+  /usr/include/c++/4.3/bits/locale_classes.h /usr/include/c++/4.3/string \
+  /usr/include/c++/4.3/bits/ostream_insert.h \
+  /usr/include/c++/4.3/cxxabi-forced.h \
+  /usr/include/c++/4.3/bits/basic_string.h \
+  /usr/include/c++/4.3/bits/basic_string.tcc \
+  /usr/include/c++/4.3/bits/locale_classes.tcc \
+  /usr/include/c++/4.3/streambuf /usr/include/c++/4.3/bits/streambuf.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.h \
+  /usr/include/c++/4.3/bits/locale_facets.h /usr/include/c++/4.3/cwctype \
+  /usr/include/wctype.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h \
+  /usr/include/c++/4.3/bits/streambuf_iterator.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h \
+  /usr/include/c++/4.3/bits/locale_facets.tcc \
+  /usr/include/c++/4.3/bits/basic_ios.tcc /usr/include/c++/4.3/ostream \
+  /usr/include/c++/4.3/bits/ostream.tcc \
+  /usr/include/c++/4.3/bits/istream.tcc \
+  /usr/include/c++/4.3/bits/codecvt.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h \
+  /usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h \
+  /usr/include/c++/4.3/bits/fstream.tcc /usr/include/c++/4.3/iostream \
+  /usr/include/c++/4.3/sstream /usr/include/c++/4.3/bits/sstream.tcc \
+  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/inttypes.h ../ibdm/SubnMgt.h \
+  ../ibdm/CredLoops.h ../ibdm/TopoMatch.h
+
+../ibdm/Fabric.h:
+
+../config.h:
+
+/usr/include/c++/4.3/functional:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/4.3/bits/stl_function.h:
+
+/usr/include/c++/4.3/backward/binders.h:
+
+/usr/include/c++/4.3/map:
+
+/usr/include/c++/4.3/bits/stl_tree.h:
+
+/usr/include/c++/4.3/bits/stl_algobase.h:
+
+/usr/include/c++/4.3/cstddef:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/c++/4.3/bits/functexcept.h:
+
+/usr/include/c++/4.3/exception_defines.h:
+
+/usr/include/c++/4.3/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.3/ext/type_traits.h:
+
+/usr/include/c++/4.3/ext/numeric_traits.h:
+
+/usr/include/c++/4.3/bits/stl_pair.h:
+
+/usr/include/c++/4.3/bits/stl_move.h:
+
+/usr/include/c++/4.3/bits/concept_check.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.3/bits/stl_iterator.h:
+
+/usr/include/c++/4.3/debug/debug.h:
+
+/usr/include/c++/4.3/bits/allocator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/4.3/ext/new_allocator.h:
+
+/usr/include/c++/4.3/new:
+
+/usr/include/c++/4.3/exception:
+
+/usr/include/c++/4.3/bits/stl_map.h:
+
+/usr/include/c++/4.3/bits/stl_multimap.h:
+
+/usr/include/c++/4.3/set:
+
+/usr/include/c++/4.3/bits/stl_set.h:
+
+/usr/include/c++/4.3/bits/stl_multiset.h:
+
+/usr/include/c++/4.3/list:
+
+/usr/include/c++/4.3/bits/stl_list.h:
+
+/usr/include/c++/4.3/bits/list.tcc:
+
+/usr/include/c++/4.3/vector:
+
+/usr/include/c++/4.3/bits/stl_construct.h:
+
+/usr/include/c++/4.3/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.3/bits/stl_vector.h:
+
+/usr/include/c++/4.3/bits/stl_bvector.h:
+
+/usr/include/c++/4.3/bits/vector.tcc:
+
+/usr/include/c++/4.3/fstream:
+
+/usr/include/c++/4.3/istream:
+
+/usr/include/c++/4.3/ios:
+
+/usr/include/c++/4.3/iosfwd:
+
+/usr/include/c++/4.3/bits/stringfwd.h:
+
+/usr/include/c++/4.3/bits/postypes.h:
+
+/usr/include/c++/4.3/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.3/bits/char_traits.h:
+
+/usr/include/c++/4.3/cstdio:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.3/bits/localefwd.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/4.3/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/4.3/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.3/bits/ios_base.h:
+
+/usr/include/c++/4.3/ext/atomicity.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/4.3/bits/locale_classes.h:
+
+/usr/include/c++/4.3/string:
+
+/usr/include/c++/4.3/bits/ostream_insert.h:
+
+/usr/include/c++/4.3/cxxabi-forced.h:
+
+/usr/include/c++/4.3/bits/basic_string.h:
+
+/usr/include/c++/4.3/bits/basic_string.tcc:
+
+/usr/include/c++/4.3/bits/locale_classes.tcc:
+
+/usr/include/c++/4.3/streambuf:
+
+/usr/include/c++/4.3/bits/streambuf.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.h:
+
+/usr/include/c++/4.3/bits/locale_facets.h:
+
+/usr/include/c++/4.3/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_base.h:
+
+/usr/include/c++/4.3/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/ctype_inline.h:
+
+/usr/include/c++/4.3/bits/locale_facets.tcc:
+
+/usr/include/c++/4.3/bits/basic_ios.tcc:
+
+/usr/include/c++/4.3/ostream:
+
+/usr/include/c++/4.3/bits/ostream.tcc:
+
+/usr/include/c++/4.3/bits/istream.tcc:
+
+/usr/include/c++/4.3/bits/codecvt.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/basic_file.h:
+
+/usr/include/c++/4.3/i486-linux-gnu/bits/c++io.h:
+
+/usr/include/c++/4.3/bits/fstream.tcc:
+
+/usr/include/c++/4.3/iostream:
+
+/usr/include/c++/4.3/sstream:
+
+/usr/include/c++/4.3/bits/sstream.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/inttypes.h:
+
+../ibdm/SubnMgt.h:
+
+../ibdm/CredLoops.h:
+
+../ibdm/TopoMatch.h:
diff --git a/ibdm/src/Makefile b/ibdm/src/Makefile
new file mode 100644
index 0000000..deab1cb
--- /dev/null
+++ b/ibdm/src/Makefile
@@ -0,0 +1,553 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+# MAINTAINERCLEANFILES	= Makefile.in common.h stamp-common
+
+# INCLUDES		= -I$(top_builddir) -I$(top_srcdir) $(TCL_CPPFLAGS)
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibdm
+pkglibdir = $(libdir)/ibdm
+pkgincludedir = $(includedir)/ibdm
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+bin_PROGRAMS = ibdmchk$(EXEEXT) ibdmtr$(EXEEXT) ibtopodiff$(EXEEXT) \
+	ibnlparse$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibdmchk_OBJECTS = osm_check.$(OBJEXT)
+ibdmchk_OBJECTS = $(am_ibdmchk_OBJECTS)
+ibdmchk_LDADD = $(LDADD)
+am_ibdmtr_OBJECTS = fabric_tr.$(OBJEXT)
+ibdmtr_OBJECTS = $(am_ibdmtr_OBJECTS)
+ibdmtr_LDADD = $(LDADD)
+am_ibnlparse_OBJECTS = test_ibnl_parser.$(OBJEXT)
+ibnlparse_OBJECTS = $(am_ibnlparse_OBJECTS)
+ibnlparse_LDADD = $(LDADD)
+am_ibtopodiff_OBJECTS = test_topo_match.$(OBJEXT)
+ibtopodiff_OBJECTS = $(am_ibtopodiff_OBJECTS)
+ibtopodiff_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ibdmchk_SOURCES) $(ibdmtr_SOURCES) $(ibnlparse_SOURCES) \
+	$(ibtopodiff_SOURCES)
+DIST_SOURCES = $(ibdmchk_SOURCES) $(ibdmtr_SOURCES) \
+	$(ibnlparse_SOURCES) $(ibtopodiff_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/missing --run makeinfo
+OBJEXT = o
+PACKAGE = ibdm
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+REGEXP_INCLUDE = 
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+USE_FINAL_PREFIX_FALSE = 
+USE_FINAL_PREFIX_TRUE = #
+VERSION = 1.2
+YACC = bison -y
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibdm/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_final_prefix = 
+AM_CPPFLAGS = -I$(top_srcdir)/ibdm
+LDADD = -L../ibdm -libdmcom
+AM_LDFLAGS = -static
+
+# Why do we need to provide extra dep? the LDADD should have worked isnt it?
+# Deprecated : ibdmsim_DEPENDENCIES=../ibdm/libibdmcom.la
+ibdmtr_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibdmchk_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibtopodiff_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibnlparse_DEPENDENCIES = ../ibdm/libibdmcom.la
+
+# Deprecated : ibdmsim_SOURCES = fabric_sim.cpp
+ibdmtr_SOURCES = fabric_tr.cpp
+ibdmchk_SOURCES = osm_check.cpp
+ibtopodiff_SOURCES = test_topo_match.cpp
+ibnlparse_SOURCES = test_ibnl_parser.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibdmchk$(EXEEXT): $(ibdmchk_OBJECTS) $(ibdmchk_DEPENDENCIES) 
+	@rm -f ibdmchk$(EXEEXT)
+	$(CXXLINK) $(ibdmchk_LDFLAGS) $(ibdmchk_OBJECTS) $(ibdmchk_LDADD) $(LIBS)
+ibdmtr$(EXEEXT): $(ibdmtr_OBJECTS) $(ibdmtr_DEPENDENCIES) 
+	@rm -f ibdmtr$(EXEEXT)
+	$(CXXLINK) $(ibdmtr_LDFLAGS) $(ibdmtr_OBJECTS) $(ibdmtr_LDADD) $(LIBS)
+ibnlparse$(EXEEXT): $(ibnlparse_OBJECTS) $(ibnlparse_DEPENDENCIES) 
+	@rm -f ibnlparse$(EXEEXT)
+	$(CXXLINK) $(ibnlparse_LDFLAGS) $(ibnlparse_OBJECTS) $(ibnlparse_LDADD) $(LIBS)
+ibtopodiff$(EXEEXT): $(ibtopodiff_OBJECTS) $(ibtopodiff_DEPENDENCIES) 
+	@rm -f ibtopodiff$(EXEEXT)
+	$(CXXLINK) $(ibtopodiff_LDFLAGS) $(ibtopodiff_OBJECTS) $(ibtopodiff_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/fabric_tr.Po
+include ./$(DEPDIR)/osm_check.Po
+include ./$(DEPDIR)/test_ibnl_parser.Po
+include ./$(DEPDIR)/test_topo_match.Po
+
+.cpp.o:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags dist-hook 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-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man 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 uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am
+
+
+#regexp_test_SOURCES = regexp_test.cpp
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook:
+	rm -f $(distdir)/common.h
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/src/Makefile.am b/ibdm/src/Makefile.am
new file mode 100644
index 0000000..df35e02
--- /dev/null
+++ b/ibdm/src/Makefile.am
@@ -0,0 +1,64 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+## Makefile.am -- Process this file with automake to produce Makefile.in
+
+# MAINTAINERCLEANFILES	= Makefile.in common.h stamp-common
+
+# INCLUDES		= -I$(top_builddir) -I$(top_srcdir) $(TCL_CPPFLAGS)
+
+AM_CPPFLAGS = -I$(top_srcdir)/ibdm
+
+bin_PROGRAMS = ibdmchk ibdmtr ibtopodiff ibnlparse
+LDADD = -L../ibdm -libdmcom
+AM_LDFLAGS = -static
+
+# Why do we need to provide extra dep? the LDADD should have worked isnt it?
+# Deprecated : ibdmsim_DEPENDENCIES=../ibdm/libibdmcom.la
+ibdmtr_DEPENDENCIES=../ibdm/libibdmcom.la
+ibdmchk_DEPENDENCIES=../ibdm/libibdmcom.la
+ibtopodiff_DEPENDENCIES=../ibdm/libibdmcom.la
+ibnlparse_DEPENDENCIES=../ibdm/libibdmcom.la
+
+# Deprecated : ibdmsim_SOURCES = fabric_sim.cpp
+ibdmtr_SOURCES = fabric_tr.cpp
+ibdmchk_SOURCES = osm_check.cpp
+ibtopodiff_SOURCES = test_topo_match.cpp
+ibnlparse_SOURCES = test_ibnl_parser.cpp
+
+#regexp_test_SOURCES = regexp_test.cpp
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook:
+	rm -f $(distdir)/common.h
diff --git a/ibdm/src/Makefile.in b/ibdm/src/Makefile.in
new file mode 100644
index 0000000..575cdce
--- /dev/null
+++ b/ibdm/src/Makefile.in
@@ -0,0 +1,553 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+# MAINTAINERCLEANFILES	= Makefile.in common.h stamp-common
+
+# INCLUDES		= -I$(top_builddir) -I$(top_srcdir) $(TCL_CPPFLAGS)
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = ibdmchk$(EXEEXT) ibdmtr$(EXEEXT) ibtopodiff$(EXEEXT) \
+	ibnlparse$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/regex.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibdmchk_OBJECTS = osm_check.$(OBJEXT)
+ibdmchk_OBJECTS = $(am_ibdmchk_OBJECTS)
+ibdmchk_LDADD = $(LDADD)
+am_ibdmtr_OBJECTS = fabric_tr.$(OBJEXT)
+ibdmtr_OBJECTS = $(am_ibdmtr_OBJECTS)
+ibdmtr_LDADD = $(LDADD)
+am_ibnlparse_OBJECTS = test_ibnl_parser.$(OBJEXT)
+ibnlparse_OBJECTS = $(am_ibnlparse_OBJECTS)
+ibnlparse_LDADD = $(LDADD)
+am_ibtopodiff_OBJECTS = test_topo_match.$(OBJEXT)
+ibtopodiff_OBJECTS = $(am_ibtopodiff_OBJECTS)
+ibtopodiff_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ibdmchk_SOURCES) $(ibdmtr_SOURCES) $(ibnlparse_SOURCES) \
+	$(ibtopodiff_SOURCES)
+DIST_SOURCES = $(ibdmchk_SOURCES) $(ibdmtr_SOURCES) \
+	$(ibnlparse_SOURCES) $(ibtopodiff_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+REGEXP_INCLUDE = @REGEXP_INCLUDE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+USE_FINAL_PREFIX_FALSE = @USE_FINAL_PREFIX_FALSE@
+USE_FINAL_PREFIX_TRUE = @USE_FINAL_PREFIX_TRUE@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_final_prefix = @with_final_prefix@
+AM_CPPFLAGS = -I$(top_srcdir)/ibdm
+LDADD = -L../ibdm -libdmcom
+AM_LDFLAGS = -static
+
+# Why do we need to provide extra dep? the LDADD should have worked isnt it?
+# Deprecated : ibdmsim_DEPENDENCIES=../ibdm/libibdmcom.la
+ibdmtr_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibdmchk_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibtopodiff_DEPENDENCIES = ../ibdm/libibdmcom.la
+ibnlparse_DEPENDENCIES = ../ibdm/libibdmcom.la
+
+# Deprecated : ibdmsim_SOURCES = fabric_sim.cpp
+ibdmtr_SOURCES = fabric_tr.cpp
+ibdmchk_SOURCES = osm_check.cpp
+ibtopodiff_SOURCES = test_topo_match.cpp
+ibnlparse_SOURCES = test_ibnl_parser.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibdmchk$(EXEEXT): $(ibdmchk_OBJECTS) $(ibdmchk_DEPENDENCIES) 
+	@rm -f ibdmchk$(EXEEXT)
+	$(CXXLINK) $(ibdmchk_LDFLAGS) $(ibdmchk_OBJECTS) $(ibdmchk_LDADD) $(LIBS)
+ibdmtr$(EXEEXT): $(ibdmtr_OBJECTS) $(ibdmtr_DEPENDENCIES) 
+	@rm -f ibdmtr$(EXEEXT)
+	$(CXXLINK) $(ibdmtr_LDFLAGS) $(ibdmtr_OBJECTS) $(ibdmtr_LDADD) $(LIBS)
+ibnlparse$(EXEEXT): $(ibnlparse_OBJECTS) $(ibnlparse_DEPENDENCIES) 
+	@rm -f ibnlparse$(EXEEXT)
+	$(CXXLINK) $(ibnlparse_LDFLAGS) $(ibnlparse_OBJECTS) $(ibnlparse_LDADD) $(LIBS)
+ibtopodiff$(EXEEXT): $(ibtopodiff_OBJECTS) $(ibtopodiff_DEPENDENCIES) 
+	@rm -f ibtopodiff$(EXEEXT)
+	$(CXXLINK) $(ibtopodiff_LDFLAGS) $(ibtopodiff_OBJECTS) $(ibtopodiff_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fabric_tr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/osm_check.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_ibnl_parser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test_topo_match.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags dist-hook 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-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man 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 uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am
+
+
+#regexp_test_SOURCES = regexp_test.cpp
+
+# Don't distribute common.h, since it is build host dependent!
+dist-hook:
+	rm -f $(distdir)/common.h
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibdm/src/fabric_sim.cpp b/ibdm/src/fabric_sim.cpp
new file mode 100644
index 0000000..5c1e851
--- /dev/null
+++ b/ibdm/src/fabric_sim.cpp
@@ -0,0 +1,295 @@
+/*                  - Mellanox Confidential and Proprietary -
+ *
+ *  Copyright (C) Jan. 2004, 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".
+ *
+ *  End of legal section ......................................................
+ *
+ */
+/*
+
+Fabric Simulator
+
+Reads a cabling list file and run OpenSM like initialization
+providing statistics and analysis.
+
+*/
+
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+
+#include <getopt.h>
+
+static char FabricSimUsage[] =
+"Usage: ibdmsim [-v][-h] {-c <cbaling file>|-t <topo file>} -s <sm node name> -p <sm port num> [-l <lmc>] [-a][-e]";
+
+void
+show_usage() {
+  cout << FabricSimUsage << endl;
+}
+
+void
+show_help() {
+  cout << "\n"
+       << " Fabric Simulator\n"
+       << "------------------\n"
+       << "\n"
+       << FabricSimUsage << "\n"
+       << "\n"
+       << "Description:\n"
+       << "  This utility parses a cabling list or topology files describing the\n"
+       << " systems connections that make a fabric.\n"
+       << " Then it performs the following initialization\n"
+       << "  algorithms and reports back statistics:\n"
+       << "  1. Assign Lids\n"
+       << "  2. Calculate Min-Hop tables for all switch nodes\n"
+       << "  3. Route (populate the LFT in the switches)\n"
+       << "  4. Trace route of all CA - to - CA pairs.\n"
+       << "  5. Optionaly run check for Credit Loops.\n"
+       << "\n"
+       << "Arguments:\n"
+       << "  -t|--topology <file> = Topology file.\n"
+       << "   The format is defined in the IBDM user manual.\n"
+       << "  -c|--cables <file> = Cabling list file. Following the line format:\n"
+       << "   <Sys1Type> <Sys1Name> <Port1Name> <Sys2Type> <Sys2Name> <Port2Name>\n"
+       << "  -s|--sm-node <name> = The name of the SM node (not system). E.g. OSM/U1.\n"
+       << "  -p|--port-num <num> = The number of the port SM is connected to.\n"
+       << "\n"
+       << "Options:\n"
+       << "  -v|--verbose = verbsoe mode\n"
+       << "  -h|--help = provide this help message\n"
+       << "  -a|--analyze-loops = Analyze credit loops\n"
+       << "  -e|--enhanced-route = Use LMC aware Enhanced Routing algorithm.\n"
+       << "  -l|--lmc <lmc> = Use the LMC when assigning lids.\n"
+       << "\n"
+       << "\n"
+       << "Author: Eitan Zahavi, Mellanox Technologies LTD.\n"
+       << endl;
+}
+
+int main (int argc, char **argv) {
+  /*
+   * Parseing of Command Line
+   */
+
+  int EnhancedRouting = 0;
+  int AnalyzeLoops = 0;
+  string SmNodeName = string("");
+  string CablingFile = string("");
+  string TopoFile = string("");
+  int SmPortNum  = -1;
+  int lmc = 0;
+
+  char next_option;
+  const char * const short_option = "vheal:c:t:s:p:";
+  /*
+	 In the array below, the 2nd parameter specified the number
+	 of arguments as follows:
+	 0: no arguments
+	 1: argument
+	 2: optional
+  */
+  const option long_option[] =
+	 {
+		{	"verbose",	     0,	NULL,	'v'},
+		{	"help",		     0,	NULL,	'h'},
+		{	"analyze-loops", 0,	NULL,	'a'},
+		{	"sm-node",	     1,	NULL,	's'},
+		{  "enhanced-route",0,  NULL, 'e'},
+		{	"port-num",	     1,	NULL,	'p'},
+		{	"lmc",	        1,	NULL,	'l'},
+		{	"cables",	     1,	NULL,	'c'},
+		{	"topology",	     1,	NULL,	't'},
+		{	NULL,		0,	NULL,	 0 }	/* Required at the end of the array */
+	 };
+
+  printf("-------------------------------------------------\n");
+  do
+  {
+	 next_option = getopt_long(argc, argv, short_option, long_option, NULL);
+	 switch(next_option)
+	 {
+	 case 'v':
+		/*
+		  Verbose Mode
+		*/
+		FabricUtilsVerboseLevel |= FABU_LOG_VERBOSE;
+		printf(" Verbose Mode\n");
+		break;
+
+	 case 'a':
+		/*
+		  Analyze Loops
+		*/
+		AnalyzeLoops = 1;
+		printf(" Analyze Credit Loops\n");
+		break;
+
+	 case 'e':
+		/*
+		  Enhanced Routing
+		*/
+		EnhancedRouting = 1;
+		printf(" Use Enhanced Routing\n");
+		break;
+
+	 case 's':
+		/*
+		  Specifies SM Node
+		*/
+		SmNodeName = string(optarg);
+		break;
+
+	 case 'l':
+		/*
+		  Specifies SM Node
+		*/
+		lmc = atoi(optarg);
+		break;
+
+	 case 'p':
+		/*
+		  Specifies SM Port Num
+		*/
+		SmPortNum = atoi(optarg);
+		break;
+
+	 case 'c':
+		/*
+		  Specifies Subnet Cabling file
+		*/
+		CablingFile = string(optarg);
+		break;
+
+	 case 't':
+		/*
+		  Specifies Subnet Cabling file
+		*/
+		TopoFile = string(optarg);
+		break;
+
+	 case 'h':
+		show_help();
+		return 0;
+		break;
+
+	 case -1:
+		break; /* done with option */
+	 default: /* something wrong */
+		show_usage();
+		exit(1);
+	 }
+  }
+  while(next_option != -1);
+
+  if (!(CablingFile.size() || TopoFile.size()) || !SmNodeName.size() || 0 > SmPortNum) {
+	 printf("-E- Missing some mandatory arguments.\n");
+	 show_usage();
+	 exit(1);
+  }
+
+  printf(" Fabric Simulation:\n");
+  if (CablingFile.size())
+  {
+    printf(" Cabling File ... %s\n", CablingFile.c_str());
+  } else {
+    printf(" Topology File .. %s\n", TopoFile.c_str());
+  }
+
+  printf(" SM Node ........ %s\n", SmNodeName.c_str());
+  printf(" SM Port ........ %u\n", SmPortNum);
+  printf(" LMC ............ %u\n", lmc);
+  printf("-------------------------------------------------\n");
+
+  IBFabric fabric;
+
+  if (CablingFile.size()) {
+    if (fabric.parseCables(CablingFile)) {
+      cout << "-E- Fail to parse cables file:" << CablingFile << endl;
+      exit(1);
+    }
+  } else {
+    if (fabric.parseTopology(TopoFile)) {
+      cout << "-E- Fail to parse topology file:" << TopoFile << endl;
+      exit(1);
+    }
+  }
+
+	// get the SM Port
+	IBNode *p_smNode = fabric.getNode(SmNodeName);
+	if (! p_smNode ) {
+	  cout << "-E- Fail to find SM node:" << SmNodeName << endl;
+	  exit(1);
+	}
+
+	IBPort *p_smPort = p_smNode->getPort(SmPortNum);
+	if (! p_smPort) {
+	  cout <<  "-E- Fail to find SM Port: " << SmNodeName
+			 << "/" << SmPortNum << endl;
+	  exit(1);
+	}
+
+	// assign lids
+	if (SubnMgtAssignLids(p_smPort,lmc)) {
+	  cout << "-E- Fail to assign LIDs." << endl;
+	  exit(1);
+	}
+
+	// propagate lid hop count matrix:
+	if (SubnMgtCalcMinHopTables(&fabric)) {
+	  cout << "-E- Fail to update Min Hops Tables." << endl;
+	  exit(1);
+	}
+
+	if (!EnhancedRouting) {
+
+	  if (SubnMgtOsmRoute(&fabric)) {
+		 cout << "-E- Fail to update LFT Tables." << endl;
+		 exit(1);
+	  }
+	} else {
+	  if (SubnMgtOsmEnhancedRoute(&fabric)) {
+		 cout << "-E- Fail to update LFT Tables." << endl;
+		 exit(1);
+	  }
+	}
+
+	if (SubnMgtVerifyAllCaToCaRoutes(&fabric)) {
+	  cout << "-E- Some Point to Point Traversals Failed." << endl;
+	  exit(1);
+	}
+
+	if (AnalyzeLoops) {
+     list <IBNode *> rootNodes;
+
+     rootNodes = SubnMgtFindRootNodesByMinHop(&fabric);
+     if (!rootNodes.empty()) {
+       cout << "-I- Recognized " << rootNodes.size() << " root nodes:" << endl;
+       for (list <IBNode *>::iterator nI = rootNodes.begin();
+            nI != rootNodes.end(); nI++) {
+         cout << " " << (*nI)->name << endl;
+       }
+       cout << "-----------------------------------------" << endl;
+
+       // rank the fabric by these roots
+       map_pnode_int nodesRank;
+       SubnRankFabricNodesByRootNodes(&fabric, rootNodes, nodesRank);
+
+       // report non up down paths:
+       SubnReportNonUpDownCa2CaPaths(&fabric,nodesRank);
+
+     } else {
+       cout << "-I- Fail to recognize any root nodes. Using full credit loop check." << endl;
+       CrdLoopAnalyze(&fabric);
+     }
+   }
+
+  exit(0);
+}
diff --git a/ibdm/src/fabric_tr.cpp b/ibdm/src/fabric_tr.cpp
new file mode 100644
index 0000000..f1fee61
--- /dev/null
+++ b/ibdm/src/fabric_tr.cpp
@@ -0,0 +1,251 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "TraceRoute.h"
+
+#include <getopt.h>
+
+static char FabricTrUsage[] =
+"Usage: ibdmtr [-v][-h] {-c <cbaling file>|-t <topo file>} -s <sm node name> "
+" -p <sm port num> -d <comma-sep-dr-path>";
+
+void
+show_usage() {
+  cout << FabricTrUsage << endl;
+}
+
+void
+show_help() {
+  cout << "\n"
+       << " Fabric Trace Route\n"
+       << "--------------------\n"
+       << "\n"
+       << FabricTrUsage << "\n"
+       << "\n"
+       << "Description:\n"
+       << "  This utility parses a cabling list or topology file\n"
+       << " describing the systems connections that make a fabric.\n"
+       << " Then it start following the direct route provided and\n"
+       << " print out the systems and nodes on the route.\n"
+       << "\n"
+       << "Arguments:\n"
+       << "  -t|--topology <file> = Topology file.\n"
+       << "   The format is defined in the IBDM user manual.\n"
+       << "  -c|--cables <file> = Cabling list file. Following the line format:\n"
+       << "   <Sys1Type> <Sys1Name> <Port1Name> <Sys2Type> <Sys2Name> <Port2Name>\n"
+       << "  -s|--sm-node <name> = The name of the SM node (not system). E.g. OSM/U1.\n"
+       << "  -p|--port-num <num> = The number of the port SM is connected to.\n"
+       << "  -d|--dr-path <comm-sep-dr-path> = a list of ports to go out through\n"
+       << "\n"
+       << "Options:\n"
+       << "  -v|--verbose = verbsoe mode\n"
+       << "  -h|--help = provide this help message\n"
+       << "\n"
+       << "\n"
+       << "Author: Eitan Zahavi, Mellanox Technologies LTD.\n"
+       << endl;
+}
+
+int main (int argc, char **argv) {
+
+  /*
+   * Parseing of Command Line
+   */
+
+  string SmNodeName = string("");
+  string CablingFile = string("");
+  string TopoFile = string("");
+  char   drPathStr[1024];
+  char   *p_drPathStr  = NULL;
+  int SmPortNum  = -1;
+
+  char next_option;
+  const char * const short_option = "vheal:c:t:s:p:d:";
+  /*
+    In the array below, the 2nd parameter specified the number
+    of arguments as follows:
+    0: no arguments
+    1: argument
+    2: optional
+  */
+  const option long_option[] =
+    {
+      {  "verbose",       0,  NULL, 'v'},
+      {  "help",          0,  NULL, 'h'},
+      {  "sm-node",       1,  NULL, 's'},
+      {  "port-num",      1,  NULL, 'p'},
+      {  "dr-path",       1,  NULL, 'd'},
+      {  "cables",        1,  NULL, 'c'},
+      {  "topology",      1,  NULL, 't'},
+      {  NULL,    0, NULL,  0 }  /* Required at the end of the array */
+    };
+
+  printf("-------------------------------------------------\n");
+  do
+  {
+    next_option = getopt_long(argc, argv, short_option, long_option, NULL);
+    switch(next_option)
+    {
+    case 'v':
+      /*
+        Verbose Mode
+      */
+      FabricUtilsVerboseLevel |= FABU_LOG_VERBOSE;
+      printf(" Verbose Mode\n");
+      break;
+
+    case 's':
+      /*
+        Specifies SM Node
+      */
+      SmNodeName = string(optarg);
+      break;
+
+    case 'd':
+      /*
+        Specifies SM Node
+      */
+      strcpy(drPathStr, optarg);
+      p_drPathStr = &(drPathStr[0]);
+      break;
+
+    case 'p':
+      /*
+        Specifies SM Port Num
+      */
+      SmPortNum = atoi(optarg);
+      break;
+
+    case 'c':
+      /*
+        Specifies Subnet Cabling file
+      */
+      CablingFile = string(optarg);
+      break;
+
+    case 't':
+      /*
+        Specifies Subnet Cabling file
+      */
+      TopoFile = string(optarg);
+      break;
+
+    case 'h':
+      show_help();
+      return 0;
+      break;
+
+    case -1:
+      break; /* done with option */
+    default: /* something wrong */
+      show_usage();
+      exit(1);
+    }
+  }
+  while(next_option != -1);
+
+  if (!(CablingFile.size() || TopoFile.size()) || !SmNodeName.size() ||
+      0 > SmPortNum || ! p_drPathStr) {
+    printf("-E- Missing some mandatory arguments.\n");
+    show_usage();
+    exit(1);
+  }
+
+  printf(" Fabric Trace Route:\n");
+  if (CablingFile.size())
+  {
+    printf(" Cabling File ... %s\n", CablingFile.c_str());
+  }
+  else
+  {
+    printf(" Topology File .. %s\n", TopoFile.c_str());
+  }
+
+  printf(" SM Node ........ %s\n", SmNodeName.c_str());
+  printf(" SM Port ........ %u\n", SmPortNum);
+  printf(" DR Path ........ %s\n", p_drPathStr);
+  printf("-------------------------------------------------\n");
+
+  IBFabric fabric;
+
+  if (CablingFile.size())
+  {
+    if (fabric.parseCables(CablingFile))
+    {
+      cout << "-E- Fail to parse cables file:" << CablingFile << endl;
+      exit(1);
+    }
+  }
+  else
+  {
+    if (fabric.parseTopology(TopoFile))
+    {
+      cout << "-E- Fail to parse topology file:" << TopoFile << endl;
+      exit(1);
+    }
+  }
+
+  // get the SM Node
+  IBNode *p_smNode = fabric.getNode(SmNodeName);
+  if (! p_smNode )
+  {
+    cout << "-E- Fail to find SM node:" << SmNodeName << endl;
+    if (FabricUtilsVerboseLevel | FABU_LOG_VERBOSE)
+      fabric.dump(cout);
+    exit(1);
+  }
+
+  // get the SM Port
+  IBPort *p_smPort = p_smNode->getPort(SmPortNum);
+  if (! p_smPort)
+  {
+    cout <<  "-E- Fail to find SM Port: " << SmNodeName << "/" << SmPortNum << endl;
+    exit(1);
+  }
+
+  // Convert the DR arg to array of integers
+  list_int drPathPortNums;
+  char *p_pos;
+  while ((p_pos = strchr(p_drPathStr,','))) {
+    *p_pos = '\0';
+    drPathPortNums.push_back(atoi(p_drPathStr));
+    p_drPathStr = ++p_pos;
+  }
+  drPathPortNums.push_back(atoi(p_drPathStr));
+
+  TraceDRPathRoute(p_smPort, drPathPortNums);
+
+  exit(0);
+}
diff --git a/ibdm/src/lst2ibnl b/ibdm/src/lst2ibnl
new file mode 100755
index 0000000..d76eddf
--- /dev/null
+++ b/ibdm/src/lst2ibnl
@@ -0,0 +1,512 @@
+#!/bin/sh
+# just a comment line\
+   exec ibdmsh "$0" "$@"
+
+# This program provides an incremental way to build an ibnl
+# by providing lst file (with one HCA) and the name of the port
+# the HCA connects to
+
+# Usage:
+proc usage {} {
+   puts "Usage: lst2ibnl \[-h\]\[-v\] -l <lst file> <-p port-name> <-s sys-type>"
+}
+
+# Help message:
+proc help {} {
+   set helpMsg {
+NAME
+      lst2ibnl
+
+SYNOPSIS
+      lst2ibnl [-h][-v] -l <lst file> <-p port-name> <-s sys-type>
+
+DESCRIPTION
+      lst2ibnl provide means to create an IBNL (IB Netlist) describing a
+      system made of IB switch devices. The IBNL created is representing a box
+      holding the part of the fabric that is encapsulated in the explored
+      switch system. This utility enables "naming" a single "front panel port"
+      (FPP) of the box in each invocation. This FPP is the one connected to the
+      single in the fabric HCA. Performing a sequence of runs enables refining
+      the IBNL of the switch system until all FPPs (or the interesting ones)
+      are named. The resulting file is named <sys-type>.ibnl. A temporary file
+      which is used to accumulate data between runs is named <sys-type>.lst.
+
+      NOTE: after building and refining the IBNL file it should be copied into
+      the ibnl directory of the ibdm package. Under OFED it is in
+      /usr/local/ofed/lib/ibdm1.0/ibnl or /usr/local/ofed/lib64/ibdm1.0/ibnl
+
+ARGUMENTS (required)
+      -l <lst file>
+          Input fabric link listing file as generated by OpenSM
+          (/tmp/subnet.lst or /var/log/osm.lst depending on the version) or
+          ibdiagnet (/tmp/ibdiagnet.lst)
+
+      -p <port-name>
+          The name of the switch system front panel port connected to the
+          single HCA in the fabric.
+
+      -s <sys-type>
+          Name of the switch system being discovered. The output IBNL file
+          is going to describe the system with the exact given name and be
+          named <sys-type>.ibnl
+
+OPTIONS
+      -v
+          Verbose mode - provides much information on the process
+
+      -h
+          Provides this help message
+
+EXAMPLE
+      Here is an example series of steps required for building an IBNL for
+      system named "Gnu" which have 16 FPP named L1/P1 L1/P2 .. L1/P8
+      and L2/P1 .. L2/P8 :
+
+      0. Make sure the file Gnu.lst does not exist
+      1. Connect an HCA in machine we call "host" to FPP L1/P1
+      2. Run ibdiagnet on the "host" machine (will create /tmp/ibdiagnet.lst)
+      3. Run lst2ibnl -l /tmp/ibdiagnet.lst -s Gnu -p L1/P1
+      4. Perform steps 1..3 by connecting the "host" to each one of the
+         front panel ports and providing its name on the subsequent call to
+         lst2ibnl
+
+      NOTE: If you only plan to connect the system with specific set of
+      ports. You can limit the refinement steps to these ports only.
+
+    }
+    puts $helpMsg
+}
+
+########################################################################
+# get the list of fabric HCA ports
+proc getHcaPorts {fabric} {
+   global IB_SW_NODE
+
+   set hcaPorts {}
+   foreach nameNNode [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nameNNode 1]
+      if {[IBNode_type_get $node] != $IB_SW_NODE} {
+         set numPorts [IBNode_numPorts_get $node]
+         for {set pn 1} {$pn <= $numPorts} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+proc copyHcaPort {port portName old} {
+   global IB_CA_NODE
+   # find the node accross the port
+   set portNum [IBPort_num_get $port]
+   set remPort [IBPort_p_remotePort_get $port]
+   set remPortNum [IBPort_num_get $remPort]
+   set remNode [IBPort_p_node_get $remPort]
+   set nGuid [IBNode_guid_get $remNode]
+   set node [IBPort_p_node_get $port]
+   set nodeName [IBNode_name_get $node]
+   set sys [IBNode_p_system_get $node]
+   set sysName [IBSystem_name_get $sys]
+
+   set oldRemNode [IBFabric_getNodeByGuid $old $nGuid]
+   if {$oldRemNode == ""} {
+      puts "-E- Failed to find matching node for $portName (by guid:$nGuid)"
+      return 1
+   }
+
+   set oldRemPort [IBNode_getPort $oldRemNode $remPortNum]
+   if {$oldRemPort == ""} {
+      set n [IBNode_name_get $oldRemNode]
+      puts "-E- Failed to get port $remPortNum on node:$n"
+      return 1
+   }
+
+   # but we might already have it connected somewhere ????
+   set oldRemRemPort [IBPort_p_remotePort_get $oldRemPort]
+   if {$oldRemRemPort != ""} {
+      set n [IBPort_getName $oldRemPort]
+      set rn [IBPort_getName $oldRemRemPort]
+      puts "-E- Old port:$n already connected to port:$rn"
+      return 1
+   }
+
+   # ok now we are ready to make the new HCA, name it and connect:
+   set oldHcaSys  [new_IBSystem $sysName $old "HCA"]
+   set oldHcaNode [new_IBNode $nodeName $old $oldHcaSys $IB_CA_NODE 2]
+   set oldHcaPort [IBNode_makePort $oldHcaNode $portNum]
+
+   # copy relevant data
+   IBNode_devId_set $oldHcaNode [IBNode_devId_get $node]
+   IBNode_revId_set $oldHcaNode [IBNode_revId_get $node]
+   IBNode_guid_set $oldHcaNode [IBNode_guid_get $node]
+   IBPort_guid_set $oldHcaPort [IBPort_guid_get $port]
+   IBPort_base_lid_set $oldHcaPort [IBPort_base_lid_get $port]
+   IBSystem_guid_set $oldHcaSys [IBSystem_guid_get $sys]
+   # have the host represent the port name given
+   IBNode_attributes_set $oldHcaNode "host=$portName"
+
+   IBPort_connect $oldHcaPort $oldRemPort
+   return $oldHcaPort
+}
+
+# pad with 0 a 64 bit num
+proc pad64 {val} {
+   return [string range $val 2 end]
+}
+
+# provide LST file format for a single port
+proc getLstStr {port} {
+   global IB_CA_NODE
+   set str {}
+
+   set node [IBPort_p_node_get $port]
+   set sys [IBNode_p_system_get $node]
+
+   if {[IBNode_type_get $node] == $IB_CA_NODE} {
+      lappend str "CA"
+      if {![regexp {host=(.*)} [IBNode_attributes_get $node] d1 name]} {
+	set name "U[getNodeIndex $node]"
+      }
+      set desc "$name HCA-1 JUNK"
+   } else {
+      lappend str "SW"
+      set desc "SWITCH JUNK"
+   }
+
+   lappend str "Ports:[format %02x [IBNode_numPorts_get $node]]"
+   lappend str "SystemGUID:[pad64 [IBSystem_guid_get $sys]]"
+   lappend str "NodeGUID:[pad64 [IBNode_guid_get $node]]"
+   lappend str "PortGUID:[pad64 [IBPort_guid_get $port]]"
+   lappend str "VenID:000002C9"
+   lappend str "DevID:[format %08X [IBNode_devId_get $node]]"
+   lappend str "Rev:[format %08X [IBNode_revId_get $node]]"
+   lappend str $desc
+   lappend str "LID:[format %04x [IBPort_base_lid_get $port]]"
+   lappend str "PN:[format %02x [IBPort_num_get $port]]"
+
+   return $str
+}
+
+# reassign a unique guid to both port and node
+proc reassignGuid {fabric port} {
+    global RE_ASSIGNED
+    if {[info exists RE_ASSIGNED($port)]} {return}
+    set RE_ASSIGNED($port) 1
+    set newGuid "0x[llength [IBFabric_NodeByGuid_get $fabric]]"
+    if {[IBPort_guid_get $port] != $newGuid} {
+       set node [IBPort_p_node_get $port]
+       IBPort_guid_set $port $newGuid
+       IBNode_guid_set $node $newGuid
+       puts "-I- Re-Assign GUID to port [IBPort_getName $port] to $newGuid"
+    }
+}
+
+# write out an lst file
+proc writeLstFile {fabric fileName thisPort} {
+   set f [open $fileName w]
+
+   foreach nameNNode [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nameNNode 1]
+      set numPorts [IBNode_numPorts_get $node]
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == $thisPort} {
+             reassignGuid $fabric $port
+         }
+         if {$port != ""} {
+            set remPort [IBPort_p_remotePort_get $port]
+            if {$remPort != ""} {
+               if {$remPort == $thisPort} {
+                   reassignGuid $fabric $remPort
+               }
+               set p1Str [getLstStr $port]
+               set p2Str [getLstStr $remPort]
+               puts $f "{ $p1Str } { $p2Str } PHY=4x LOG=ACT SPD=2.5"
+            }
+         }
+      }
+   }
+
+   puts "-I- Written LST file:$fileName"
+   return 0
+}
+
+# allocate device indexies for the IBNL devices
+proc getNodeIndex {node} {
+   global IDX_BY_NODE
+
+   # we might already have an index is was connected
+   if {[info exists IDX_BY_NODE($node)]} {
+      set devIdx $IDX_BY_NODE($node)
+   } else {
+      set devIdx [expr [array size IDX_BY_NODE] + 1]
+      set IDX_BY_NODE($node) $devIdx
+   }
+   return $devIdx
+}
+
+proc getPortByGuid {ports guid} {
+  foreach p $ports {
+    if {[IBPort_guid_get $p] == $guid} {
+       return $p
+    }
+  }
+  return ""
+}
+
+# write out an IBNL of all switches in the given fabric.
+# assume every HCA represent external plug of the given node name
+proc writeIBNL {fabric sysName} {
+   global IB_SW_NODE
+   set fileName "$sysName.ibnl"
+   set f [open $fileName w]
+   fconfigure $f -translation lf
+   puts $f "TOPSYSTEM $sysName\n"
+
+   foreach nameNNode [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nameNNode 1]
+      set name [lindex $nameNNode 0]
+      set devIdx [getNodeIndex $node]
+      if {[IBNode_type_get $node] != $IB_SW_NODE} {
+         # WE SHOULD ONLY ADD THE EXTERNAL CONNS!
+         if {[regexp {^U} $name]} {
+            set numPorts [IBNode_numPorts_get $node]
+            set devId "MT[IBNode_devId_get $node]"
+            puts $f "NODE CA $numPorts $devId U$devIdx"
+         } else {
+            set numPorts 0
+         }
+      } else {
+         set numPorts [IBNode_numPorts_get $node]
+         if {$numPorts == 8} {
+            set devId MT43132
+         } elseif {$numPorts == 24} {
+            set devId MT47396
+         } else {
+            set devId UNKNOWN
+         }
+         puts $f "NODE SW $numPorts $devId U$devIdx"
+      }
+
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            set remPort [IBPort_p_remotePort_get $port]
+            if {$remPort != ""} {
+               # figure out if it connects to an HCA or SW
+               set remNode [IBPort_p_node_get $remPort]
+               if {[IBNode_type_get $remNode] != $IB_SW_NODE} {
+                  set atts [IBNode_attributes_get $remNode]
+                  if {![regexp {host=(.*)} $atts d1 name]} {
+                     set remIdx [getNodeIndex $remNode]
+                     set remPortNum [IBPort_num_get $remPort]
+                     puts $f "    $pn -> U$remIdx $remPortNum"
+                  } else {
+                     puts $f "    $pn -> $name"
+                  }
+               } else {
+                  set remIdx [getNodeIndex $remNode]
+                  set remPortNum [IBPort_num_get $remPort]
+                  puts $f "    $pn -> U$remIdx $remPortNum"
+               }
+            }
+            # has remote port
+         }
+         # is a port
+      }
+      # every port num
+
+      puts $f ""
+   }
+   # all nodes
+   puts "-I- Written IBNL file:$fileName"
+   return 0
+}
+
+########################################################################
+#
+# GETOPTS
+#
+set optind 0
+
+proc getopt { argslist optstring optret argret } {
+	global optind optindc
+	upvar $optret retvar
+	upvar $argret optarg
+
+	# default settings for a normal return
+	set optarg ""
+	set retvar ""
+	set retval 0
+
+	# check if we are in a single char mode or support long
+	# option string
+	if {[string match "* *" $optstring]} {
+		set longOptMode 1
+	} else {
+		set longOptMode 0
+	}
+
+	# check if we're past the end of the args list
+	if { $optind < [ llength $argslist ] } then {
+
+		# if we got -- or an option that doesn't begin with -, return (skipping
+		# the --).  otherwise process the option arg.
+		switch -glob -- [ set arg [ lindex $argslist $optind ]] {
+			"--" {
+				incr optind
+			}
+
+			"-" {
+            set optarg "Illegal option: '-'"
+            set retvar $optarg
+            set retval -1
+			}
+
+			"-*" {
+				# opt needs to return the name of the option
+				regexp -- {-([^:]+):?} $arg d1 opt
+				incr optind
+
+				if {$longOptMode} {
+					# options are defined as words optionaly containing ":"
+					if { [ lsearch -regexp $optstring "^$opt:?\$" ] >= 0 } then {
+						set retvar $opt
+						set retval 1
+						if { [ lsearch -regexp $optstring "^$opt:\$" ] >= 0 } then {
+							if { $optind < [ llength $argslist ] } then {
+								set optarg [lindex $argslist $optind]
+								incr optind
+							} else {
+								set optarg "Option requires an argument -- $opt"
+								set retvar $optarg
+								set retval -1
+							}
+						}
+					} else {
+						set optarg "Illegal option -- $opt"
+						set retvar $optarg
+						set retval -1
+					}
+				} else {
+					# traditional single char options
+					if { [ string match "*$opt*" $optstring ] } then {
+						set retvar $opt
+						set retval 1
+						if { [ string match "*$opt:*" $optstring ] } then {
+							if { $optind < [ llength $argslist ] } then {
+								set optarg [lindex $argslist $optind]
+								incr optind
+							} else {
+								set optarg "Option requires an argument -- $opt"
+								set retvar $optarg
+								set retval -1
+							}
+						}
+					} else {
+						set optarg "Illegal option -- $opt"
+						set retvar $optarg
+						set retval -1
+					}
+				}
+			}
+		}
+	}
+
+	return $retval
+}
+
+########################################################################
+#
+# MAIN FLOW:
+#
+
+set found(l) 0
+set found(s) 0
+set found(p) 0
+set found(g) 0
+
+while { [ set err [ getopt $argv "vhl:p:s:g:" opt optarg ]] } {
+  if { $err < 0 } then {
+    puts stderr "$argv0: $arg"
+    usage
+  } else {
+    switch -exact $opt {
+		 g {
+			 set found(g) 1
+			 set portGuid $optarg
+		 }
+		 p {
+			 set found(p) 1
+			 set portName $optarg
+		 }
+		 s {
+			 set found(s) 1
+			 set sysName $optarg
+		 }
+		 l {
+			 set found(l) 1
+			 set lstFile $optarg
+		 }
+		 v {
+			 set verboseMode 1
+		 }
+		 h {
+			 help
+			 exit 0
+		 }
+    }
+  }
+}
+
+set argv [ lrange $argv $optind end ]
+
+if { ! ($found(s) && $found(l) && $found(p) && $found(g))} then {
+	puts stdout "Error: missing mandatory arguments"
+	usage
+	exit 1
+}
+
+set old [new_IBFabric]
+set new [new_IBFabric]
+
+set sysLstFile "$sysName.lst"
+set sysIBNLFile "$sysName.ibnl"
+
+puts "-I- Parsing new system lst for port:$portName"
+IBFabric_parseSubnetLinks $new $lstFile
+
+set hcaPorts [getHcaPorts $new]
+#set nHcas [llength $hcaPorts]
+#if {$nHcas != 1} {
+#   puts "-E- Given lst file should have exactly one HCA (got $nHcas)"
+#   exit 1
+#}
+set thisPort [getPortByGuid $hcaPorts $portGuid]
+if {$thisPort == ""} {
+   puts "-E- Given port guid is not found in subnet"
+   exit 1
+}
+if {[file exist $sysLstFile]} {
+   IBFabric_parseSubnetLinks $old $sysLstFile
+   set thisPort [copyHcaPort $thisPort $portName $old]
+} else {
+   set old $new
+   set node [IBPort_p_node_get $thisPort]
+   IBNode_attributes_set $node host=$portName
+}
+
+# write lst file
+if {[file exists $sysLstFile]} {
+   file copy $sysLstFile $sysLstFile.[pid]
+}
+writeLstFile $old $sysLstFile $thisPort
+
+# write IBNL
+writeIBNL $old $sysName
+
+exit 0
+
diff --git a/ibdm/src/osm_check.cpp b/ibdm/src/osm_check.cpp
new file mode 100644
index 0000000..1c18c1c
--- /dev/null
+++ b/ibdm/src/osm_check.cpp
@@ -0,0 +1,607 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+#include <unistd.h>
+#include <getopt.h>
+#include <fstream>
+
+using namespace std;
+
+void
+show_usage() {
+  cout << "Usage: there are two modes: Design/Verify" << endl;
+  cout << "  Design: ibdmchk [-v][-h][-e][-u][-l <lmc>][-r <roots file>] -t <topology file> -n <SM Node> -p <SM Port>" << endl;
+  cout << "  Verify: ibdmchk [-v][-h][-l <lmc>][-r <roots file>] [-s <subnet file>] [-f <fdb file>] [-m <mcfdb file>] [-c <path-sl file>] [-d <sl2vl file>]\n\n" << endl;
+}
+
+void
+show_help() {
+  cout
+    << " IBDM Topology - Checker\n"
+    << "--------------------------\n"
+    << "\n"
+    << "Usage: \n"
+    << " ibdmchk has two operation modes: cluster design and verification.\n"
+    << "\n"
+    << "  CLUSTER DESIGN:\n"
+    << "  Usage:\n"
+    << "   ibdmchk [-v][-h][-u][-a <roots file>] -t <topology file> -n <SM Node> -p <SM Port> [-e] [-l <lmc>]\n\n"
+    << "  Description:\n"
+    << "   The Design mode is intended to be used before the cluster is built. It provides \n"
+    << "   basic checks of the specified network as described by a topology file.\n"
+    << "   After simulating the SM LID assignment and routing algorithms it provides reports\n"
+    << "   of the CA to CA paths depth histogram and credit deadlock potential \n"
+    << "   in the resulting routing scheme.\n\n"
+    << "  Arguments (required):\n"
+    << "  -t|--topo <topo file> = the topology file specifying the fabric.\n"
+    << "  -n|--node <SM Node> = the name of the Subnet Manager node (syntax: <Topo-File-System>/U1)\n"
+    << "  -p|--port <SM Port> = the port number by which the SM nodes is attached to the fabric.\n"
+    << "\n"
+    << "  Options:\n"
+    << "  -v|--verbose = verbose mode\n"
+    << "  -h|--help = provide this help message\n"
+    << "  -l|--lmc <lmc> = LMC value > 0 means assigning 2^lmc lids to each port.\n"
+    << "  -e|--enh = use enhanced routing algorithm when LMC > 0 and report the resulting paths\n"
+    << "       correlation (using same system/node) histogram\n"
+    << "  -u|--updn = use up/down routing algorithm instead of OpenSM min-hop.\n"
+    << "  -r|--roots <roots file> = a file with all the roots node names (one on each line).\n"
+    << "\n"
+    << "  CLUSTER VERIFICATION:\n"
+    << "  Usage:\n"
+    << "   ibdmchk [-v][-h][-r <roots file>] [-s <subnet file>] [-f <fdb file>] [-m <mcfdb file>] [-l <lmc>] [-c <path-sl file>] [-d <sl2vl file>]\n\n"
+    << "  Description:\n"
+    << "   After the cluster is built and OpenSM is run (using flag -D 0x43) it reports the\n"
+    << "   subnet and FDB tables into the files osm-subnet.lst, osm.fdbs and osm.fdbs in\n"
+    << "   /var/log/ (or subnet.lst, osm.fdbs and osm.mcfdbs into /tmp in older versions).\n"
+    << "   If more than one SL is known to be used additional file holding CAxCA->SL mapping \n"
+    << "   is generated (format: 0xsrc_guid dlid sl) . In this case the SL2VL mapping is \n"
+    << "   optionally supplied in an additional file (format: 0xsw_guid inport outport 0x(sl0)(sl1),\n"
+    << "   0x(sl2)(sl3),...). Without SL2VL mapping file an identity mapping is used.\n"
+    << "   Based on these files the utility checks all CA to CA connectivity. Further analysis\n"
+    << "   for credit deadlock potential is performed and reported. \n"
+    << "   In case of an LMC > 0 it reports histograms for how many systems and nodes\n"
+    << "   are common between the different paths for the same port pairs.\n"
+    << "\n"
+    << "  Arguments (required):\n"
+    << "  -l|--lmc <lmc> = The LMC value used while running OpenSM. Mandatory if not the default 0.\n"
+    << "\n"
+    << "  Options:\n"
+    << "  -v|--verbose = verbose mode\n"
+    << "  -h|--help = provide this help message\n"
+    << "  -s|--subnet <file> = OpenSM subnet.lst file (/var/log/osm-subnet.lst or /tmp/subnet.lst)\n"
+    << "  -f|--fdb <file> = OpenSM dump of Ucast LFDB. Use -D 0x41 to generate it.\n"
+    << "     (default is /var/log/osm.fdbs or /tmp/osm.fdbs).\n"
+    << "  -m|--mcfdb <file> = OpenSM dump of Multicast LFDB. Use -D 0x41 to generate it.\n"
+    << "     (default is /var/log/osm.mcfdbs or /tmp/osm.mcfdbs).\n"
+    << "  -c|--psl <file> = CAxCA->SL mapping. \n"
+    << "  -d|--slvl <file> = SL2VL mapping. \n"
+    << "  -r|--roots <roots file> = a file holding all root nodes guids (one per line).\n"
+    << "\n"
+    << "Author: Eitan Zahavi, Mellanox Technologies LTD.\n"
+    << endl;
+}
+
+list <IBNode *>
+ParseRootNodeNamesFile( IBFabric *p_fabric, string fileName)
+{
+  ifstream namesFile;
+  namesFile.open(fileName.c_str(), ifstream::in);
+  if (!namesFile.is_open())
+  {
+    cout << "-F- Given roots file could not be opened!" << endl;
+    exit(1);
+  }
+
+  char name[256];
+  list <IBNode *> roots;
+  cout << "-I- Parsing Root Node Names from file:" << fileName << endl;
+  namesFile.getline(name,256);
+  while (namesFile.good())
+  {
+    IBNode *pNode = p_fabric->getNode(string(name));
+    if (!pNode)
+    {
+      cout << "-E- Fail to find node:" << name << endl;
+    }
+    else
+    {
+      roots.push_back(pNode);
+    }
+    namesFile.getline(name,256);
+  }
+  cout << "-I- Defined " << roots.size() << " root nodes" << endl;
+  namesFile.close();
+  return roots;
+}
+
+list <IBNode *>
+ParseRootNodeGuidsFile( IBFabric *p_fabric, string fileName)
+{
+  ifstream guidsFile;
+  guidsFile.open(fileName.c_str(), ifstream::in);
+  if (!guidsFile.is_open())
+  {
+    cout << "-F- Given roots file could not be opened!" << endl;
+    exit(1);
+  }
+
+  uint64_t guid;
+  list <IBNode *> roots;
+
+  string line;
+
+  guidsFile >> line;
+  while (guidsFile.good())
+  {
+    guid = strtoull(line.c_str(), NULL, 0);
+
+    IBNode *pNode = p_fabric->getNodeByGuid(guid);
+    if (!pNode)
+    {
+      char g[20];
+      sprintf(g,"0x%016" PRIx64, guid);
+      cout << "-E- Fail to find node guid:" << g << endl;
+    }
+    else
+    {
+      roots.push_back(pNode);
+    }
+    guidsFile >> line;
+  }
+
+  guidsFile.close();
+  return roots;
+}
+
+int main (int argc, char **argv) {
+
+  FabricUtilsVerboseLevel = FABU_LOG_ERROR;
+  string subnetFile = string("");
+  string fdbFile = string("");
+  string mcFdbFile = string("");
+  string TopoFile = string("");
+  string SmNodeName = string("");
+  string PSLFile = string("");
+  string SLVLFile = string("");
+  string RootsFileName = string("");
+  int EnhancedRouting = 0;
+  int lmc = 0;
+  int SmPortNum  = -1;
+  int UseUpDown = 0;
+  int AllPaths = 0;
+
+  /*
+	* Parsing of Command Line
+	*/
+
+  char next_option;
+  const char * const short_option = "vhl:s:f:m:el:t:p:n:uar:c:d:";
+  /*
+	 In the array below, the 2nd parameter specified the number
+	 of arguments as follows:
+	 0: no arguments
+	 1: argument
+	 2: optional
+  */
+  const option long_option[] =
+	 {
+		{	"verbose",	1,	NULL,	'v'},
+		{	"help",		1,	NULL,	'h'},
+		{	"lmc",		1,	NULL,	'l'},
+		{	"subnet",	1,	NULL,	's'},
+		{	"fdb",	   1,	NULL,	'f'},
+		{	"mcfdb",	   1,	NULL,	'm'},
+		{       "psl",          1,      NULL,   'c'},
+		{       "slvl",         1,      NULL,   'd'},
+		{	"topology",	1,	NULL,	't'},
+		{  "node",     1, NULL, 'n'},
+  		{	"port",	   1,	NULL,	'p'},
+		{  "enh",      0, NULL, 'e'},
+		{  "updn",     0, NULL, 'u'},
+		{  "roots",    1, NULL, 'r'},
+		{  "all",      0, NULL, 'a'},
+		{	NULL,		0,	NULL,	 0 }	/* Required at the end of the array */
+	 };
+
+  printf("-------------------------------------------------\n");
+  do
+  {
+	 next_option = getopt_long(argc, argv, short_option,long_option, NULL);
+	 switch(next_option)
+	 {
+	 case 'h':
+		show_help();
+		return 0;
+		break;
+
+	 case 'v':
+		/*
+		  Verbose Mode
+		*/
+		FabricUtilsVerboseLevel |= FABU_LOG_VERBOSE;
+		printf(" Verbose Mode\n");
+		break;
+
+	 case 'l':
+		/*
+		  Specifies lmc
+		*/
+		lmc = atoi(optarg);
+		break;
+
+	 case 'f':
+		/*
+		  Specifies FDB
+		*/
+		fdbFile = string(optarg);
+		break;
+
+	 case 'm':
+		/*
+		  Specifies Multicast FDB
+		*/
+		mcFdbFile = string(optarg);
+		break;
+
+	 case 's':
+		/*
+		  Specifies Subnet
+		*/
+		subnetFile = string(optarg);
+		break;
+
+	 case 'c':
+	        /*
+		  Specifies CAxCA->SL
+		*/
+	        PSLFile = string(optarg);
+	        break;
+
+	 case 'd':
+	        /*
+		  Specifies SL->VL
+		*/
+	        SLVLFile = string(optarg);
+	        break;
+
+	 case 't':
+		/*
+		  Specifies Topology
+		*/
+		TopoFile = string(optarg);
+		break;
+
+	 case 'n':
+		/*
+		  Specifies SM Node
+		*/
+		SmNodeName = string(optarg);
+		break;
+
+ 	 case 'p':
+		/*
+		  Specifies SM Port Num
+		*/
+		SmPortNum = atoi(optarg);
+		break;
+
+	 case 'e':
+		/*
+		  Enhanced Routing
+		*/
+		EnhancedRouting = 1;
+		break;
+
+	 case 'r':
+		/*
+		  Use Roots File
+		*/
+		RootsFileName = string(optarg);
+		break;
+
+	 case 'u':
+		/*
+		  Use Up Down Routing
+		*/
+		UseUpDown = 1;
+		break;
+
+	 case 'a':
+		/*
+		  Use Up Down Routing
+		*/
+		AllPaths = 1;
+		break;
+
+	 case -1:
+		break; /* done with option */
+	 default: /* something wrong */
+		show_usage();
+		exit(1);
+	 }
+  }
+  while(next_option != -1);
+
+  int status = 0;
+  IBFabric fabric;
+
+  /* based on the topology file we decide what mode we are: */
+  if (TopoFile.size()) {
+    printf("IBDMCHK Cluster Design Mode:\n");
+    printf(" Topology File .. %s\n", TopoFile.c_str());
+    printf(" SM Node ........ %s\n", SmNodeName.c_str());
+    printf(" SM Port ........ %u\n", SmPortNum);
+    printf(" LMC ............ %u\n", lmc);
+
+    if (EnhancedRouting && lmc > 0)
+      printf(" Using Enhanced Routing\n");
+    if (RootsFileName.size())
+      printf(" Roots File ..... %s\n", RootsFileName.c_str());
+
+    if (fabric.parseTopology(TopoFile)) {
+      cout << "-E- Fail to parse topology file:" << TopoFile << endl;
+      exit(1);
+    }
+
+    // get the SM Port
+    IBNode *p_smNode = fabric.getNode(SmNodeName);
+    if (! p_smNode ) {
+      cout << "-E- Fail to find SM node:" << SmNodeName << endl;
+      exit(1);
+    }
+
+    IBPort *p_smPort = p_smNode->getPort(SmPortNum);
+    if (! p_smPort) {
+      cout <<  "-E- Fail to find SM Port: " << SmNodeName
+	   << "/" << SmPortNum << endl;
+      exit(1);
+    }
+
+    // assign lids
+    if (SubnMgtAssignLids(p_smPort,lmc)) {
+      cout << "-E- Fail to assign LIDs." << endl;
+      exit(1);
+    }
+
+    // we need to run min hop calculation anyway
+    if (SubnMgtCalcMinHopTables(&fabric)) {
+      cout << "-E- Fail to update Min Hops Tables." << endl;
+      exit(1);
+    }
+
+    if (UseUpDown) {
+      list <IBNode *> rootNodes;
+      if (RootsFileName.size()) {
+	rootNodes = ParseRootNodeNamesFile(&fabric, RootsFileName);
+      }
+      else {
+	rootNodes = SubnMgtFindRootNodesByMinHop(&fabric);
+      }
+
+      if (!rootNodes.empty()) {
+	cout << "-I- Recognized " << rootNodes.size() << " root nodes:" << endl;
+	for (list <IBNode *>::iterator nI = rootNodes.begin();
+	     nI != rootNodes.end(); nI++) {
+	  cout << " " << (*nI)->name << endl;
+	}
+	cout << "---------------------------------------------------------------------------\n" << endl;
+
+	map_pnode_int nodesRank;
+	SubnRankFabricNodesByRootNodes(&fabric, rootNodes, nodesRank);
+
+	if (SubnMgtCalcUpDnMinHopTbls(&fabric, nodesRank)) {
+	  cout << "-E- Fail to update Min Hops Tables." << endl;
+	  exit(1);
+	}
+      } else {
+	cout << "-E- Fail to recognize any root nodes. Up/Down is not active!" << endl;
+      }
+    }
+
+    if (!EnhancedRouting) {
+
+      if (SubnMgtOsmRoute(&fabric)) {
+	cout << "-E- Fail to update LFT Tables." << endl;
+	exit(1);
+      }
+    } else {
+      if (SubnMgtOsmEnhancedRoute(&fabric)) {
+	cout << "-E- Fail to update LFT Tables." << endl;
+	exit(1);
+      }
+    }
+
+
+  } else {
+	  int anyMissingFile = 0;
+	  // resolve the default files
+	  if (fdbFile.size() == 0) {
+		  if (access("/var/log/osm.fdbs",R_OK) == 0)
+			  fdbFile = string("/var/log/osm.fdbs");
+		  else if (access("/tmp/osm.fdbs",R_OK) == 0)
+			  fdbFile = string("/tmp/osm.fdbs");
+		  else {
+			  cout << "-E- Could not find a readble osm.fdbs in /var/log or  /tmp" << endl;
+			  anyMissingFile = 1;
+		  }
+	  }
+	  if (mcFdbFile.size() == 0) {
+		  if (access("/var/log/osm.mcfdbs",R_OK) == 0)
+			  mcFdbFile = string("/var/log/osm.mcfdbs");
+		  else if (access("/tmp/osm.mcfdbs",R_OK) == 0)
+			  mcFdbFile = string("/tmp/osm.mcfdbs");
+		  else {
+			  cout << "-E- Could not find a readble osm.mcfdbs in /var/log or  /tmp" << endl;
+			  anyMissingFile = 1;
+		  }
+	  }
+
+	  if (subnetFile.size() == 0) {
+		  if (access("/var/log/osm-subnet.lst",R_OK) == 0)
+			  subnetFile = string("/var/log/osm-subnet.lst");
+		  else if (access("/tmp/subnet.lst",R_OK) == 0)
+			  subnetFile = string("/tmp/subnet.lst");
+		  else {
+			  cout << "-E- Could not find a readble /var/log/osm-subnet.lst or /tmp/subnet.lst" << endl;
+			  anyMissingFile = 1;
+		  }
+	  }
+	  if (anyMissingFile)
+		  exit(1);
+
+    printf(" IBDMCHK OpenSM Routing Verification Mode:\n");
+    printf(" FDB File = %s\n", fdbFile.c_str());
+    printf(" MCFDB File = %s\n", mcFdbFile.c_str());
+    printf(" Subnet File = %s\n", subnetFile.c_str());
+    if (PSLFile.size() >0)
+      printf(" SL File = %s\n", PSLFile.c_str());
+    else
+      printf(" SL File = NONE, using single SL\n");
+    if (SLVLFile.size() >0)
+      printf(" SLVL File = %s\n", SLVLFile.c_str());
+    else
+      printf(" SLVL File = NONE, using identity mapping\n");
+    printf(" LMC = %u\n", lmc);
+    printf("-------------------------------------------------\n");
+
+    fabric.lmc = lmc;
+
+    if (fabric.parseSubnetLinks(subnetFile)) {
+      cout << "-E- Fail to parse subnet file:" << subnetFile << endl;
+      exit(1);
+    }
+
+    if (fabric.parseFdbFile(fdbFile)) {
+      cout << "-E- Fail to parse fdb file:" << fdbFile << endl;
+      exit(1);
+    }
+
+    if (PSLFile.size() && fabric.parsePSLFile(PSLFile)) {
+      cout << "-E- Fail to parse SL file:" << PSLFile << endl;
+      exit(1);
+    }
+
+    fabric.setNumVLs(fabric.getNumSLs());
+
+    if (SLVLFile.size() && fabric.parseSLVLFile(SLVLFile)) {
+      cout << "-E- Fail to parse SL file:" << SLVLFile << endl;
+      exit(1);
+    }
+
+    if (fabric.parseMCFdbFile(mcFdbFile)) {
+      cout << "-E- Fail to parse multicast fdb file:" << mcFdbFile << endl;
+      exit(1);
+    }
+
+    // propagate lid hop count matrix:
+    if (SubnMgtCalcMinHopTables(&fabric)) {
+      cout << "-E- Fail to update Min Hops Tables." << endl;
+      exit(1);
+    }
+  }
+
+  if (SubnMgtVerifyAllCaToCaRoutes(&fabric)) {
+    cout << "-E- Some Point to Point Traversals Failed." << endl;
+    exit(1);
+  }
+
+  if (AllPaths && SubnMgtVerifyAllRoutes(&fabric)) {
+    cout << "-E- Some Point to Point Traversals Failed." << endl;
+    exit(1);
+  }
+
+  if (SubnMgtCheckFabricMCGrps(&fabric)) {
+    cout << "-E- Some Multicast Groups Routing Check Failed." << endl;
+    exit(1);
+  }
+
+  list <IBNode *> rootNodes;
+  int anyErr = 0;
+
+  if (RootsFileName.size())
+    {
+      if (TopoFile.size())
+	{
+	  rootNodes = ParseRootNodeNamesFile(&fabric, RootsFileName);
+	}
+      else
+	{
+	  rootNodes = ParseRootNodeGuidsFile(&fabric, RootsFileName);
+	}
+    }
+  else
+    {
+      rootNodes = SubnMgtFindRootNodesByMinHop(&fabric);
+    }
+
+  if (!rootNodes.empty()) {
+    cout << "-I- Recognized " << rootNodes.size() << " root nodes:" << endl;
+    for (list <IBNode *>::iterator nI = rootNodes.begin();
+         nI != rootNodes.end(); nI++) {
+      cout << " " << (*nI)->name << endl;
+    }
+    cout << "---------------------------------------------------------------------------\n" << endl;
+
+    // rank the fabric by these roots
+    map_pnode_int nodesRank;
+    SubnRankFabricNodesByRootNodes(&fabric, rootNodes, nodesRank);
+    ofstream rankFile("/tmp/ibdmchk.node_ranking");
+    rankFile << "-I- Node Ranking:" << endl;
+    for(map_pnode_int::iterator nI = nodesRank.begin();
+        nI != nodesRank.end(); nI++)
+    {
+      rankFile << (*nI).first->name << " rank:" << (*nI).second << endl;
+    }
+    rankFile.close();
+
+    // report non up down paths:
+    anyErr |= SubnReportNonUpDownCa2CaPaths(&fabric, nodesRank);
+
+    // report non up down Multicast Groups
+    anyErr |= SubnMgtCheckFabricMCGrpsForCreditLoopPotential(&fabric, nodesRank);
+
+    // Analyze the fabric links to generate a list of src,dst pairs list
+    // to cover all fabric links
+    LinkCoverageAnalysis(&fabric, rootNodes);
+
+  } else {
+    cout << "-I- Fail to recognize any root nodes. Using full credit loop check." << endl;
+    anyErr |= CrdLoopAnalyze(&fabric);
+  }
+
+  exit(anyErr);
+}
diff --git a/ibdm/src/test_ibnl_parser.cpp b/ibdm/src/test_ibnl_parser.cpp
new file mode 100644
index 0000000..add10de
--- /dev/null
+++ b/ibdm/src/test_ibnl_parser.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "Fabric.h"
+#include "SysDef.h"
+
+int
+main(int argc,char **argv) {
+  IBSystemsCollection sysCol;
+  IBFabric fabric;
+  map_str_str mods;
+
+  if (argc != 3) {
+    printf("Usage: ibnlparse <ib netlist file> <sys type>\n");
+    return 1;
+  }
+
+  string fileName = argv[1];
+  if (sysCol.parseIBSysdef(fileName)) {
+	 printf("Error Parsing %s\n", argv[1]);
+  }
+
+  // build the system at hand:
+  if (!sysCol.makeSystem(&fabric, "SW", argv[2], mods)) {
+    printf("Error Building\n");
+  }
+
+  fabric.dump(cout);
+
+  return 0;
+}
diff --git a/ibdm/src/test_topo_match.cpp b/ibdm/src/test_topo_match.cpp
new file mode 100644
index 0000000..58d6a28
--- /dev/null
+++ b/ibdm/src/test_topo_match.cpp
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+
+Fabric Topology Matcher Test Program
+
+Reads a Topology file and OpenSM subnet file, try to match and report errors.
+
+*/
+
+#include <Fabric.h>
+#include <SubnMgt.h>
+#include <CredLoops.h>
+#include <TopoMatch.h>
+#include <getopt.h>
+
+static char TopoMatchTestUsage[] =
+"Usage: ibtopodiff [-v][-h] -t <topo file> -d <subnet file> -s <start node name> -p <start port num> -g <start port guid>";
+
+void
+show_usage() {
+  cout << TopoMatchTestUsage << endl;
+}
+
+void
+show_help() {
+  cout << "\n"
+       << " Fabric Topology Matcher\n"
+       << "-------------------------------\n"
+       << "\n"
+       << TopoMatchTestUsage << "\n"
+       << "\n"
+       << "Description:\n"
+       << "\n"
+       << "Arguments:\n"
+       << "  -t|--topology <file> = Topology file [ibdm.topo].\n"
+       << "   The format is defined in the IBDM user manual.\n"
+       << "  -d|--discovered <file> = [subnet.lst] file produced by OpenSM.\n"
+       << "  -s|--start-node <name> = The name of the start node [H-1/U1].\n"
+       << "  -p|--port-num <num> = The number of the start port [1].\n"
+       << "  -g|--port-guid <guid> = The guid of the start port [none].\n"
+       << "\n"
+       << "Options:\n"
+       << "  -v|--verbose = verbsoe mode\n"
+       << "  -h|--help = provide this help message\n"
+       << "\n"
+       << "\n"
+       << "Author: Eitan Zahavi, Mellanox Technologies LTD.\n"
+       << endl;
+}
+
+int main (int argc, char **argv) {
+  /*
+   * Parseing of Command Line
+   */
+
+  char * startSystemName = "H-1";
+  char * topoFileName = "ibdm.topo";
+  char * subnetFileName = "subnet.lst";
+  int startPortNum = 1;
+  uint64_t startPortGuid = 0;
+
+  char *p_diagnostics;
+  int noMatch = 0;
+  char next_option;
+  const char * const short_option = "vhs:p:g:d:t:";
+  /*
+	 In the array below, the 2nd parameter specified the number
+	 of arguments as follows:
+	 0: no arguments
+	 1: argument
+	 2: optional
+  */
+  const option long_option[] =
+	 {
+		{	"verbose",	     0,	NULL,	'v'},
+		{	"help",		     0,	NULL,	'h'},
+		{	"start-system",  1,	NULL,	's'},
+		{	"port-num",	     1,	NULL,	'p'},
+		{	"port-guid",     1,	NULL,	'g'},
+		{	"discovered",	  1,	NULL,	'd'},
+		{	"topology",	     1,	NULL,	't'},
+		{	NULL,		0,	NULL,	 0 }	/* Required at the end of the array */
+	 };
+
+  printf("-------------------------------------------------\n");
+  do
+  {
+	 next_option = getopt_long(argc, argv, short_option, long_option, NULL);
+	 switch(next_option)
+	 {
+	 case 'v':
+		/*
+		  Verbose Mode
+		*/
+		FabricUtilsVerboseLevel |= FABU_LOG_VERBOSE;
+		printf(" Verbose Mode\n");
+		break;
+
+	 case 's':
+		/*
+		  Specifies Start System
+		*/
+		startSystemName = optarg;
+		break;
+
+	 case 'd':
+		/*
+		  Specifies Discovered subnet.lst file name
+		*/
+		subnetFileName = optarg;
+		break;
+
+	 case 'p':
+		/*
+		  Specifies Start Port Num
+		*/
+		startPortNum = atoi(optarg);
+		break;
+
+	 case 'g':
+		/*
+		  Specifies Start Port Guid
+		*/
+		startPortGuid = strtoull(optarg, NULL, 16);
+		break;
+
+	 case 't':
+		/*
+		  Specifies Subnet Cabling file
+		*/
+		topoFileName = optarg;
+		break;
+
+	 case 'h':
+		show_help();
+		return 0;
+		break;
+
+	 case -1:
+		break; /* done with option */
+	 default: /* something wrong */
+		show_usage();
+		exit(1);
+	 }
+  }
+  while(next_option != -1);
+
+  if (!startPortGuid) {
+	 printf("-E- Missing -g/--port-guid mandatory argument.\n");
+	 show_usage();
+	 exit(1);
+  }
+
+  printf(" Fabric Topology Match:\n");
+  printf(" Topology File .. %s\n", topoFileName);
+  printf(" Subnet File .... %s\n", subnetFileName);
+  printf(" Start Node ..... %s\n", startSystemName);
+  printf(" Start Port ..... %u\n", startPortNum);
+  printf(" Start Guid ..... 0x%016Lx\n", startPortGuid);
+  printf("-------------------------------------------------\n");
+
+  IBFabric *p_dFabric, *p_sFabric;
+  IBFabric *p_mFabric;
+
+  p_dFabric = new IBFabric();
+  p_sFabric = new IBFabric();
+  p_mFabric = new IBFabric();
+
+  if (p_sFabric->parseTopology(topoFileName)) {
+    cout << "-E- Fail to parse topology file:" << topoFileName << endl;
+    exit(1);
+  }
+  //s_fabric.dump(cout);
+
+  if (p_dFabric->parseSubnetLinks(subnetFileName)) {
+    cout << "-E- Fail to parse subnet file:" << subnetFileName << endl;
+    exit(1);
+  }
+
+  noMatch =
+    TopoMatchFabrics(p_sFabric, p_dFabric, startSystemName, startPortNum,
+                     startPortGuid, &p_diagnostics);
+
+  TopoMatchFabrics(p_sFabric, p_dFabric, startSystemName, startPortNum,
+                   startPortGuid, &p_diagnostics);
+  if (p_diagnostics)
+  {
+    printf("---- Fabrics Topologies Differ ----\n");
+    printf("%s\n", p_diagnostics);
+    printf("-----------------------------------\n");
+    free(p_diagnostics);
+  } else {
+    printf("---- Fabrics Topologies Match ----\n");
+  }
+
+  if (TopoMergeDiscAndSpecFabrics( p_sFabric, p_dFabric, p_mFabric)) {
+    printf("-E- Fail to merge fabrics.\n");
+    exit(1);
+  }
+
+  if ( FabricUtilsVerboseLevel & FABU_LOG_VERBOSE)
+    p_mFabric->dump(cout);
+
+  delete p_mFabric;
+
+  delete p_sFabric;
+
+  delete p_dFabric;
+
+  exit(0);
+}
diff --git a/ibdm/stamp-h1 b/ibdm/stamp-h1
new file mode 100644
index 0000000..4547fe1
--- /dev/null
+++ b/ibdm/stamp-h1
@@ -0,0 +1 @@
+timestamp for config.h
diff --git a/ibis/AUTHORS b/ibis/AUTHORS
new file mode 100644
index 0000000..fff913b
--- /dev/null
+++ b/ibis/AUTHORS
@@ -0,0 +1 @@
+Eitan Zahavi, eitan at mellanox.co.il
diff --git a/ibis/COPYING b/ibis/COPYING
new file mode 100644
index 0000000..e329021
--- /dev/null
+++ b/ibis/COPYING
@@ -0,0 +1,33 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
diff --git a/ibis/ChangeLog b/ibis/ChangeLog
new file mode 100644
index 0000000..e69de29
diff --git a/ibis/INSTALL b/ibis/INSTALL
new file mode 100644
index 0000000..23e5f25
--- /dev/null
+++ b/ibis/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/ibis/LICENSE b/ibis/LICENSE
new file mode 100644
index 0000000..e329021
--- /dev/null
+++ b/ibis/LICENSE
@@ -0,0 +1,33 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
diff --git a/ibis/Makefile b/ibis/Makefile
new file mode 100644
index 0000000..ee32e63
--- /dev/null
+++ b/ibis/Makefile
@@ -0,0 +1,688 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/ibis
+pkglibdir = $(libdir)/ibis
+pkgincludedir = $(includedir)/ibis
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config/config.guess config/config.sub config/depcomp \
+	config/install-sh config/ltmain.sh config/missing
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run makeinfo
+OBJEXT = o
+OSM_BUILD = openib
+OSM_BUILD_OPENIB_FALSE = #
+OSM_BUILD_OPENIB_TRUE = 
+OSM_CFLAGS = -I/usr/include/infiniband -I/usr/include  -DOSM_VENDOR_INTF_OPENIB  -DOSM_BUILD_OPENIB -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
+OSM_LDFLAGS = -Wl,-rpath -Wl,/usr/lib -L/usr/lib -lopensm -losmvendor -losmcomp -libumad -libcommon
+OSM_VENDOR = openib
+OSM_VENDOR_MTL_FALSE = 
+OSM_VENDOR_MTL_TRUE = #
+OSM_VENDOR_SIM_FALSE = 
+OSM_VENDOR_SIM_TRUE = #
+OSM_VENDOR_TS_FALSE = 
+OSM_VENDOR_TS_TRUE = #
+PACKAGE = ibis
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+VERSION = 1.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_osm = /usr
+
+#
+SUBDIRS = src tests doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: # $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-recursive \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am uninstall-info-am
+
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in src; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/Makefile.am b/ibis/Makefile.am
new file mode 100644
index 0000000..4438456
--- /dev/null
+++ b/ibis/Makefile.am
@@ -0,0 +1,51 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+
+#
+SUBDIRS 		= src tests doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+
+ACLOCAL			= aclocal -I $(ac_aux_dir)
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in src; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
diff --git a/ibis/Makefile.in b/ibis/Makefile.in
new file mode 100644
index 0000000..3a21e5f
--- /dev/null
+++ b/ibis/Makefile.in
@@ -0,0 +1,688 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config/config.guess config/config.sub config/depcomp \
+	config/install-sh config/ltmain.sh config/missing
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_osm = @with_osm@
+
+#
+SUBDIRS = src tests doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-recursive \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am uninstall-info-am
+
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in src; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/NEWS b/ibis/NEWS
new file mode 100644
index 0000000..e69de29
diff --git a/ibis/README b/ibis/README
new file mode 100644
index 0000000..e2459c5
--- /dev/null
+++ b/ibis/README
@@ -0,0 +1,15 @@
+IBIS stands for IB In-band Services.
+It provides a TCL API for sending MADs over the local IB ports.
+
+It also provides C API for sending batches of MADs and waiting for the entire
+batch completion.
+
+The detailed API is described in the doc/ibis_wrap.html directory.
+
+Example applications are available in the tests directory:
+ibcr_test.tcl - simple test for CR space device access
+ibpm_test.tcl - simple performance monitoring agent queries
+ibvs_test.tcl - vendor specific gateways testing
+sac_demo.tcl - SA client queries
+obj.tcl - how to dump out TCL objects fields
+
diff --git a/ibis/aclocal.m4 b/ibis/aclocal.m4
new file mode 100644
index 0000000..15b742f
--- /dev/null
+++ b/ibis/aclocal.m4
@@ -0,0 +1,7299 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+         [],
+         [m4_define([AC_PROVIDE_IFELSE],
+	         [m4_ifdef([AC_PROVIDE_$1],
+		           [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+  ])])
+dnl And a similar setup for Fortran 77 support
+  AC_PROVIDE_IFELSE([AC_PROG_F77],
+    [AC_LIBTOOL_F77],
+    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+      [AC_LIBTOOL_GCJ],
+      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	[AC_LIBTOOL_GCJ],
+      [ifdef([AC_PROG_GCJ],
+	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([A][M_PROG_GCJ],
+	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([LT_AC_PROG_GCJ],
+	     [define([LT_AC_PROG_GCJ],
+		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+    [AC_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+[$]*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "[$]0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+  ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$5], , :, [$5])
+else
+    ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                          [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$4], , :, [$4])
+else
+    ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+   ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+    	  lt_cv_dlopen_self_static, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_AC_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         AC_MSG_RESULT([yes])
+       else
+  AC_MSG_RESULT([no])
+fi
+       ;;
+   *)
+  AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+        [include additional configurations @<:@automatic@:>@])],
+    [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    AC_MSG_WARN([output file `$ofile' does not exist])
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+    else
+      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+    "") ;;
+    *)  AC_MSG_ERROR([invalid tag name: $tagname])
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      AC_MSG_ERROR([tag name \"$tagname\" already exists])
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  AC_LIBTOOL_LANG_CXX_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+	  AC_LIBTOOL_LANG_F77_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+	  AC_LIBTOOL_LANG_GCJ_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+	AC_LIBTOOL_LANG_RC_CONFIG
+	;;
+
+      *)
+	AC_MSG_ERROR([Unsupported tag name: $tagname])
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    AC_MSG_ERROR([unable to update list of available tagged configurations.])
+  fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+    [AC_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case $enable_ltdl_convenience in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, lt_dlinit,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    LTDLINCL=
+  fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# Report which library types will actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+  AC_PROG_LD
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    _LT_AC_TAGVAR(archive_cmds, $1)=''
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	else
+	  # We have old collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      _LT_AC_SYS_LIBPATH_AIX
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	_LT_AC_SYS_LIBPATH_AIX
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+    # as there is no search path for DLLs.
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(always_export_symbols, $1)=no
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  freebsd[[12]]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  freebsd-elf*)
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    aCC*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+        ;;
+      *)
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+    *)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+	;;
+    esac
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_TAGVAR(postdeps,$1)=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars.  Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    _LT_AC_TAGVAR(compiler, $1) \
+    _LT_AC_TAGVAR(CC, $1) \
+    _LT_AC_TAGVAR(LD, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+    _LT_AC_TAGVAR(old_archive_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+    _LT_AC_TAGVAR(predep_objects, $1) \
+    _LT_AC_TAGVAR(postdep_objects, $1) \
+    _LT_AC_TAGVAR(predeps, $1) \
+    _LT_AC_TAGVAR(postdeps, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(archive_cmds, $1) \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(postinstall_cmds, $1) \
+    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+    _LT_AC_TAGVAR(no_undefined_flag, $1) \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+    _LT_AC_TAGVAR(hardcode_automatic, $1) \
+    _LT_AC_TAGVAR(module_cmds, $1) \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(exclude_expsyms, $1) \
+    _LT_AC_TAGVAR(include_expsyms, $1); do
+
+    case $var in
+    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(module_cmds, $1) | \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\[$]0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+    ;;
+  esac
+
+ifelse([$1], [],
+  [cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  AC_MSG_NOTICE([creating $ofile])],
+  [cfgfile="$ofile"])
+
+  cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+])
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  linux*)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  *)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+],[
+  runpath_var=
+  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_AC_TAGVAR(archive_cmds, $1)=
+  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+  _LT_AC_TAGVAR(module_cmds, $1)=
+  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(always_export_symbols, $1)=no
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_AC_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=no
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix3*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_AC_TAGVAR(archive_cmds, $1)=''
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  else
+  	  # We have old collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       _LT_AC_SYS_LIBPATH_AIX
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 _LT_AC_SYS_LIBPATH_AIX
+	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      # see comment about different semantics on the GNU ld section
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    bsdi[[45]]*)
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+      
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    openbsd*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	   ;;
+	 *)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_AC_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/osm.m4])
+m4_include([config/swig.m4])
+m4_include([config/tcl.m4])
diff --git a/ibis/autogen.sh b/ibis/autogen.sh
new file mode 100755
index 0000000..c0536a9
--- /dev/null
+++ b/ibis/autogen.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# get two strings of version numbers
+# parse the two strings and compare
+function compare_versions() {
+   cat <<EOF > /tmp/$$.awk
+/[0-9]+\.[0-9]+(\.[0-9]+)?[    ]+[0-9]+\.[0-9]+(\.[0-9]+)?/{
+  vb = "$2";
+  nb = split(vb,b,"[.]");
+  va = "$1";
+  na = split(va,a,"[.]");
+  for (i = na + 1; i < 4; i++) {
+      a[i] = 0;
+  }
+  for (i = nb + 1; i < 4; i++) {
+      b[i] = 0;
+  }
+  for (i = 1; i <= 3; i++) {
+    if (b[i] < a[i]) {
+#      print "FAIL:" va ">" vb " at index:" i;
+        exit(1);
+    } else if (b[i] > a[i]) {
+#       print "OK:" va "<" vb " at index:" i;
+       exit(0);
+    }
+  }
+#  print "OK:" va "==" vb;
+  exit(0);
+}
+{
+  exit(1);
+}
+EOF
+  echo "$1 $2 " | awk -f /tmp/$$.awk
+  status=$?
+  rm /tmp/$$.awk
+  return $status
+}
+
+cd ${0%*/*}
+\rm -rf autom4te.cache
+\rm -rf aclocal.m4
+\rm -f config/missing config/install-sh config/depcomp config/mkinstalldirs config/ltmain.sh config/config.sub config/config.guess
+# make sure autoconf is up-to-date
+ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
+compare_versions 2.59 $ac_ver
+if test $? = 1; then
+    echo Min autoconf version is 2.59
+    exit 1
+fi
+
+# make sure automake is up-to-date
+am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
+compare_versions 1.9.2 $am_ver
+if test $? = 1; then
+    echo Min automake version is 1.9.2
+    exit 1
+fi
+
+# make sure libtool is up-to-date
+lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
+compare_versions 1.4.2 $lt_ver
+if test $? = 1; then
+    echo Min libtool version is 1.4.2
+    exit 1
+fi
+
+aclocal -I config 2>&1 |  grep -v "arning: underquoted definition of"
+libtoolize --automake --copy
+automake --add-missing --gnu --copy --force
+autoconf
diff --git a/ibis/config.h b/ibis/config.h
new file mode 100644
index 0000000..cbf0bd4
--- /dev/null
+++ b/ibis/config.h
@@ -0,0 +1,86 @@
+/* config.h.  Generated by configure.  */
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `regcomp' function. */
+#define HAVE_REGCOMP 1
+
+/* Define to 1 if you have the `regexec' function. */
+#define HAVE_REGEXEC 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the `strtoull' function. */
+#define HAVE_STRTOULL 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Name of package */
+#define PACKAGE "ibis"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME ""
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING ""
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION ""
+
+/* Define to 1 if you have the ANSI C header files. */
+/* #undef STDC_HEADERS */
+
+/* Version number of package */
+#define VERSION "1.2"
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+/* #undef size_t */
diff --git a/ibis/config.h.in b/ibis/config.h.in
new file mode 100644
index 0000000..2269e13
--- /dev/null
+++ b/ibis/config.h.in
@@ -0,0 +1,85 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `regcomp' function. */
+#undef HAVE_REGCOMP
+
+/* Define to 1 if you have the `regexec' function. */
+#undef HAVE_REGEXEC
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/ibis/config/config.guess b/ibis/config/config.guess
new file mode 100755
index 0000000..ad5281e
--- /dev/null
+++ b/ibis/config/config.guess
@@ -0,0 +1,1466 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-08-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per at bothner.com>.
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibis/config/config.sub b/ibis/config/config.sub
new file mode 100755
index 0000000..1c366df
--- /dev/null
+++ b/ibis/config/config.sub
@@ -0,0 +1,1579 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibis/config/depcomp b/ibis/config/depcomp
new file mode 100755
index 0000000..04701da
--- /dev/null
+++ b/ibis/config/depcomp
@@ -0,0 +1,530 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2005-07-09.11
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibis/config/install-sh b/ibis/config/install-sh
new file mode 100755
index 0000000..4d4a951
--- /dev/null
+++ b/ibis/config/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibis/config/ltmain.sh b/ibis/config/ltmain.sh
new file mode 100644
index 0000000..8fc56db
--- /dev/null
+++ b/ibis/config/ltmain.sh
@@ -0,0 +1,6871 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/ibis/config/missing b/ibis/config/missing
new file mode 100755
index 0000000..894e786
--- /dev/null
+++ b/ibis/config/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibis/config/osm.m4 b/ibis/config/osm.m4
new file mode 100644
index 0000000..da9ae81
--- /dev/null
+++ b/ibis/config/osm.m4
@@ -0,0 +1,204 @@
+
+dnl osm.m4: an autoconf for OpenSM (vendor and complib) reference
+dnl
+dnl
+dnl To use this macro, just do OPENIB_APP_OSM.
+dnl The following variables are defined:
+dnl with-osm - the osm installation prefix
+dnl OSM_CFLAGS - CFLAGS additions required (-I and debug )
+dnl OSM_LDFLAGS - a variable holding link directives
+dnl OSM_VENDOR - The type of vendor library available (ts, sim)
+dnl OSM_BUILD - The type of build used for buikding OpenSM either gen1 or openib
+dnl
+dnl Several conditionals are also defined:
+dnl OSM_BUILD_OPENIB - set when the build type is openib (gen2)
+dnl OSM_VENDOR_TS - should use gen1/gen2 API
+dnl OSM_VENDOR_SIM - interface a simulator vendor
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_osm has the value "no".
+
+AC_DEFUN([OPENIB_APP_OSM], [
+# --- BEGIN OPENIB_APP_OSM ---
+dnl To link against OpenSM Vendor or Complib, configure does several
+dnl things to make my life "easier".
+dnl
+dnl * if the user did define where opensm is look for it in "standard" places
+dnl * if can not be found - ask the user for --with-osm
+dnl * figure out if OpenSM was compiles in debug mode or not
+dnl
+dnl As we might have an OpenSM installation of IBGD or OpenIB and
+dnl different vendors too we need to use some heuristics for
+dnl figuring out the type of both STACK and VENDOR.
+dnl Heuristics is:
+dnl
+dnl If with_osm is not provided look fo it under:
+dnl   /usr/local/ibgd/apps/osm
+dnl   /usr/mellanox/osm
+dnl   /usr/mellanox/osm-sim
+dnl   /usr/local/lib/libopensm.a
+dnl   /usr/lib/libopensm.a
+dnl
+dnl Figure out what kind of BUILD it is gen1 or gen2:
+dnl if the with_osm/include/infiniband exists we are on gen2 stack
+dnl
+dnl Now decide what vendor was built:
+dnl if gen2 build
+dnl  if $with_osm/lib/osmvendor_gen1.so -> ts
+dnl  if $with_osm/lib/osmvendor_mtl.so -> mtl
+dnl  if $with_osm/lib/osmvendor_sim.so -> sim
+dnl  if $with_osm/lib/osmvendor.so -> openib
+dnl if gen1 build
+dnl  if $with_osm/lib/osmsvc_ts.so -> ts
+dnl  if $with_osm/lib/osmsvc_mtl.so -> mtl
+dnl  if $with_osm/lib/osmsvc_sim.so -> sim
+dnl ----------------------------------------------------------------
+
+dnl Define a way for the user to provide path to OpenSM
+AC_ARG_WITH(osm,
+[  --with-osm=<dir> define OSM prefix],
+AC_MSG_NOTICE(Using OSM from:$with_osm),
+with_osm="none")
+
+dnl Define a way for the user to provide path to OpenSM libs
+AC_ARG_WITH(osm-libs,
+[  --with-osm-libs=<dir> define where to find OSM libs],
+AC_MSG_NOTICE(Using OSM libs from:$with_osm_libs),
+with_osm_libs="none")
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+   dnl if the user did not provide --with-osm look for it in reasonable places
+   if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+      dnl if it is an ofed or gen2 install, we can use /etc/infiniband/info for searching opensm prefix
+      elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         AC_MSG_ERROR([OSM: --with-osm must be provided - fail to find standard OpenSM installation])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: used from $with_osm)
+
+   if test "x$with_osm_libs" = "xnone"; then
+   dnl if the user did not provide --with-osm-libs then look for it based on $with_osm
+      if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+   dnl check what build we have gen1 or gen2
+   if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   AC_MSG_NOTICE(OSM: build type $OSM_BUILD)
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+   dnl based on the with_osm dir and the libs available
+   dnl we can try and decide what vendor was used:
+   if test $OSM_BUILD = openib; then
+      dnl it is an OpenIB based build but can be any vendor too.
+      osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: vendor type $OSM_VENDOR)
+
+
+   dnl validate the defined path - so the build id header is there
+   AC_CHECK_FILE($osm_include_dir/opensm/osm_build_id.h,,
+      AC_MSG_ERROR([OSM: could not find $with_osm/include/opensm/osm_build_id.h]))
+
+   dnl now figure out somehow if the build was for debug or not
+   if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+      dnl why did they need so many ???
+      osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      AC_MSG_NOTICE(OSM: compiled in DEBUG mode)
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+   dnl dummy values
+   with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+AM_CONDITIONAL(OSM_VENDOR_TS, test "x$OSM_VENDOR" = xts)
+AM_CONDITIONAL(OSM_VENDOR_MTL, test "x$OSM_VENDOR" = xmtl)
+AM_CONDITIONAL(OSM_VENDOR_SIM, test "x$OSM_VENDOR" = xsim)
+AM_CONDITIONAL(OSM_BUILD_OPENIB, test "x$OSM_BUILD" = xopenib)
+
+AC_SUBST(with_osm)
+AC_SUBST(OSM_CFLAGS)
+AC_SUBST(OSM_LDFLAGS)
+AC_SUBST(OSM_VENDOR)
+AC_SUBST(OSM_BUILD)
+
+# --- OPENIB_APP_OSM ---
+]) dnl OPENIB_APP_OSM
+
diff --git a/ibis/config/swig.m4 b/ibis/config/swig.m4
new file mode 100644
index 0000000..ba895e6
--- /dev/null
+++ b/ibis/config/swig.m4
@@ -0,0 +1,93 @@
+dnl This macro checks for the existance of swig and defines the
+dnl corresponding SWIG variable.
+dnl
+dnl Synopsys:
+dnl    MLX_PROG_SWIG(maj.min.patch, eq|lt)
+dnl The second parameter defines the required relation of the found version
+dnl to the requested version:
+dnl lt - the found version required to be newer or equal to the maj.min.patch
+dnl eq - the found version required to be equal to the maj.min.patch
+dnl
+dnl Result:
+dnl    HAS_SWIG conditional - set to 1 if swig was found or 0 if not
+dnl    SWIG - the executable name
+dnl
+AC_DEFUN([MLX_PROG_SWIG],[
+   AC_PATH_PROG([SWIG],[swig])
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "$1" ; then
+      AC_MSG_CHECKING([for SWIG version])
+      [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+      AC_MSG_RESULT([$swig_version])
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         [required=$1]
+         [required_major=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_major" ; then
+            [required_major=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_minor=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_minor" ; then
+            [required_minor=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_patch=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_patch" ; then
+            [required_patch=0]
+         fi
+         # Calculate the available version number components
+         [available=`echo $swig_version | sed 's/[^0-9]*//'`]
+         [available_major=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_major" ; then
+            [available_major=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_minor=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_minor" ; then
+            [available_minor=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `]
+         if test -z "$available_patch" ; then
+            [available_patch=0]
+         fi
+         # we have two modes of comparison...
+         if test x"$2" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               AC_MSG_WARN([SWIG version == $1 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org ])
+               SWIG='echo "Error: SWIG version == $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.  You should look at http://www.swig.org])
+               SWIG='echo "Error: SWIG version >= $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         AC_MSG_WARN([cannot determine SWIG version])
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+        dnl AC_MSG_INFO([SWIG executable is '$SWIG'])
+        SWIG_LIB=`$SWIG -swiglib`
+        dnl AC_MSG_INFO([SWIG runtime library directory is '$SWIG_LIB'])
+        AM_CONDITIONAL(HAS_SWIG,[test 1])
+   else
+        AM_CONDITIONAL(HAS_SWIG,[test 0])
+   fi
+   AC_SUBST([SWIG_LIB])
+])
diff --git a/ibis/config/tcl.m4 b/ibis/config/tcl.m4
new file mode 100644
index 0000000..1565d25
--- /dev/null
+++ b/ibis/config/tcl.m4
@@ -0,0 +1,191 @@
+
+dnl tcl.m4: an autoconf Tcl locator
+dnl
+dnl
+dnl BUGS
+dnl   The command-line arguments are overcomplicated.
+dnl   There are doubtlessly others...
+
+dnl To use this macro, just do MLX_LANG_TCL.  It outputs
+dnl TCL_LIBS, TCL_CPPFLAGS, and TCL_DEFS and SUBSTs them.
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_tcl has the value "no".
+
+AC_DEFUN([MLX_LANG_TCL], [
+# --- BEGIN MLX_LANG_TCL ---
+dnl To link against Tcl, configure does several things to make my life
+dnl "easier".
+dnl
+dnl * maybe ask the user where they think Tcl lives, and try to find it
+dnl * maybe ask the user what "tclsh" is called this week (i.e., "tclsh8.0")
+dnl * run tclsh, ask it for a path, then run that path through sed
+dnl * sanity check its result (many installs are a little broken)
+dnl * try to figure out where Tcl is based on this result
+dnl * try to guess where the Tcl include files are
+dnl
+dnl Notes from previous incarnations:
+dnl > XXX MUST CHECK FOR TCL BEFORE KERBEROS V4 XXX
+dnl > This is because some genius at MIT named one of the Kerberos v4
+dnl > library functions log().  This of course conflicts with the
+dnl > logarithm function in the standard math library, used by Tcl.
+dnl
+dnl > Checking for Tcl first puts -lm before -lkrb on the library list.
+dnl
+
+dnl do not do anything if we are in disabled libcheck mode...
+if test "x$libcheck" = "xtrue"; then
+
+   dnl Check for some information from the user on what the world looks like
+   AC_ARG_WITH(tclconfig,[  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)],
+           dnl trim tclConfig.sh off the end so we can add it back on later.
+   	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`)
+   AC_ARG_WITH(tcl,      [  --with-tcl=PATH         use Tcl from PATH],
+   	TclLibBase="${withval}/lib")
+   AC_ARG_WITH(tclsh,    [  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)],
+   	TCLSH="${withval}")
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     AC_MSG_WARN([Tcl disabled because tclsh or tclconfig specified as "no"])
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       AC_MSG_ERROR([--with-tclconfig requires a directory argument.])
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       AC_MSG_ERROR([--with-tclsh must specify an executable file.])
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         AC_PATH_PROGS(TCLSH, [tclsh tclsh8.3 tclsh8.4], "unknown")
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         AC_MSG_CHECKING([where Tcl says it lives])
+         dnl to avoid .tclshrc issues use from a file...
+         echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,[^/]*$,,'`
+         rm /tmp/tcl.conf.$$
+          AC_MSG_RESULT($TclLibBase)
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       AC_MSG_RESULT([can't find tclsh])
+       AC_MSG_WARN([can't find Tcl installtion; use of Tcl disabled.])
+       with_tcl=no
+     else
+       AC_MSG_CHECKING([for tclConfig.sh])
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         AC_MSG_RESULT("unknown")
+         AC_MSG_WARN([can't find Tcl configuration; use of Tcl disabled.])
+         with_tcl=no
+       else
+         AC_MSG_RESULT(${TclLibBase}/)
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         AC_MSG_CHECKING([Tcl configuration on what Tcl needs to compile])
+         . ${TclLibBase}/tclConfig.sh
+         AC_MSG_RESULT(ok)
+         dnl no TK stuff for us.
+         dnl . ${TclLibBase}/tkConfig.sh
+       fi
+
+       dnl We hack the provided TCL_LIB_SPEC since it is using the /usr/lib even
+       dnl if the build was using lib64
+       if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         dnl Now, hunt for the Tcl include files, since we don't strictly
+         dnl know where they are; some folks put them (properly) in the
+         dnl default include path, or maybe in /usr/local; the *BSD folks
+         dnl put them in other places.
+         AC_MSG_CHECKING([where Tcl includes are])
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           AC_MSG_WARN(can't find Tcl includes; use of Tcl disabled.)
+           with_tcl=no
+         fi
+         AC_MSG_RESULT(${TCL_CPPFLAGS})
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+         dnl TCL_LIBS="${TK_LIB_SPEC} ${TK_XLIBSW} ${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC}"
+         dnl we are using libtool so need to convert to -rpath if at all
+         TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+         dnl sometimes we got empty libs: use TCL_LIB_FILE
+         if test X"$TCL_LIBS" = X; then
+           dnl extract the lib style name...
+           TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([[^ \t]]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+         dnl sometimes we got empty libs: use TCL_LIB_SPEC
+         if test X"$TCL_LIB_SPEC" = X; then
+           dnl extract the lib style name...
+           TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+         dnl Filter out the ieee - I do not see a shared version for it.
+         TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+dnl disbled libcheck mode - we do not need anything...
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+AC_SUBST(TCL_DEFS)
+AC_SUBST(TCL_LIBS)
+AC_SUBST(TCL_CPPFLAGS)
+AC_SUBST(TCL_PREFIX)
+
+# --- END MLX_LANG_TCL ---
+]) dnl MLX_LANG_TCL
+
diff --git a/ibis/configure b/ibis/configure
new file mode 100755
index 0000000..70d3aa4
--- /dev/null
+++ b/ibis/configure
@@ -0,0 +1,21500 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "$0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+tagnames=${tagnames+${tagnames},}CXX
+
+tagnames=${tagnames+${tagnames},}F77
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="src/ibis_api.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INS [...]
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CXX_set=${CXX+set}
+ac_env_CXX_value=$CXX
+ac_cv_env_CXX_set=${CXX+set}
+ac_cv_env_CXX_value=$CXX
+ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_env_CXXFLAGS_value=$CXXFLAGS
+ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+ac_env_CXXCPP_set=${CXXCPP+set}
+ac_env_CXXCPP_value=$CXXCPP
+ac_cv_env_CXXCPP_set=${CXXCPP+set}
+ac_cv_env_CXXCPP_value=$CXXCPP
+ac_env_F77_set=${F77+set}
+ac_env_F77_value=$F77
+ac_cv_env_F77_set=${F77+set}
+ac_cv_env_F77_value=$F77
+ac_env_FFLAGS_set=${FFLAGS+set}
+ac_env_FFLAGS_value=$FFLAGS
+ac_cv_env_FFLAGS_set=${FFLAGS+set}
+ac_cv_env_FFLAGS_value=$FFLAGS
+
+#
+# Report the --help message.
+#
+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 this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-shared[=PKGS]
+                          build shared libraries [default=yes]
+  --enable-static[=PKGS]
+                          build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-libcheck    Enable Dependency Checking
+  --enable-debug    Turn on debugging
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-tags[=TAGS]
+                          include additional configurations [automatic]
+  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)
+  --with-tcl=PATH         use Tcl from PATH
+  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)
+  --with-osm=<dir> define OSM prefix
+  --with-osm-libs=<dir> define where to find OSM libs
+
+Some influential environment variables:
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  CPP         C preprocessor
+  CXXCPP      C++ preprocessor
+  F77         Fortran 77 compiler command
+  FFLAGS      Fortran 77 compiler flags
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+          ac_config_headers="$ac_config_headers config.h"
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=ibis
+ VERSION=1.2
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
+
+   # Extract the first word of "swig", so it can be a program name with args.
+set dummy swig; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_SWIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $SWIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+SWIG=$ac_cv_path_SWIG
+
+if test -n "$SWIG"; then
+  echo "$as_me:$LINENO: result: $SWIG" >&5
+echo "${ECHO_T}$SWIG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      { echo "$as_me:$LINENO: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "1.1.5" ; then
+      echo "$as_me:$LINENO: checking for SWIG version" >&5
+echo $ECHO_N "checking for SWIG version... $ECHO_C" >&6
+      swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
+      echo "$as_me:$LINENO: result: $swig_version" >&5
+echo "${ECHO_T}$swig_version" >&6
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         required=1.1.5
+         required_major=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_major" ; then
+            required_major=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_minor=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_minor" ; then
+            required_minor=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_patch=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_patch" ; then
+            required_patch=0
+         fi
+         # Calculate the available version number components
+         available=`echo $swig_version | sed 's/[^0-9]*//'`
+         available_major=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_major" ; then
+            available_major=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_minor=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_minor" ; then
+            available_minor=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `
+         if test -z "$available_patch" ; then
+            available_patch=0
+         fi
+         # we have two modes of comparison...
+         if test x"eq" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&5
+echo "$as_me: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&2;}
+               SWIG='echo "Error: SWIG version == 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&2;}
+               SWIG='echo "Error: SWIG version >= 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         { echo "$as_me:$LINENO: WARNING: cannot determine SWIG version" >&5
+echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+                SWIG_LIB=`$SWIG -swiglib`
+
+
+if test 1; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   else
+
+
+if test 0; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   fi
+
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CXX" && break
+done
+test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+
+  CXX=$ac_ct_CXX
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	# FIXME: I believe we export ac_cv_exeext for Libtool,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  export ac_cv_exeext
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cxx_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+          ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CXX"  am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi;
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi;
+
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval="$enable_fast_install"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi;
+
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+  ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+  ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+
+fi
+
+SED=$lt_cv_path_SED
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6
+NM="$lt_cv_path_NM"
+
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 4644 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  lt_cv_cc_needs_belf=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+lt_cv_cc_needs_belf=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+fi
+
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$F77"; then
+  ac_cv_prog_F77="$F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+  echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$F77" && break
+  done
+fi
+if test -z "$F77"; then
+  ac_ct_F77=$F77
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_F77"; then
+  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_F77="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_F77" && break
+done
+
+  F77=$ac_ct_F77
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:5541:" \
+     "checking for Fortran 77 compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file.  (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
+#ifndef __GNUC__
+       choke me
+#endif
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_f77_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_f77_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_f77_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+if test "$ac_test_FFLAGS" = set; then
+  FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-g -O2"
+  else
+    FFLAGS="-g"
+  fi
+else
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-O2"
+  else
+    FFLAGS=
+  fi
+fi
+
+G77=`test $ac_compiler_gnu = yes && echo yes`
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ 	]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+else
+  echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
+fi
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDGIRSTW]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
+else
+  echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+fi
+
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+if test "${lt_cv_objdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6
+objdir=$lt_cv_objdir
+
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  AR=$ac_ct_AR
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  RANLIB=$ac_ct_RANLIB
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+enable_dlopen=no
+enable_win32_dll=no
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+  withval="$with_pic"
+  pic_mode="$withval"
+else
+  pic_mode=default
+fi;
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6602: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:6606: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic='-qnocommon'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6870: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:6874: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
+     else
+       lt_prog_compiler_static_works=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6974: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:6978: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag=
+  enable_shared_with_static_runtimes=no
+  archive_cmds=
+  archive_expsym_cmds=
+  old_archive_From_new_cmds=
+  old_archive_from_expsyms_cmds=
+  export_dynamic_flag_spec=
+  whole_archive_flag_spec=
+  thread_safe_flag_spec=
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_direct=no
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  link_all_deplibs=unknown
+  hardcode_automatic=no
+  module_cmds=
+  module_expsym_cmds=
+  always_export_symbols=no
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs=no
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L=yes
+  	  hardcode_libdir_flag_spec='-L$libdir'
+  	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec='$convenience'
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc=no
+      hardcode_direct=no
+      hardcode_automatic=yes
+      hardcode_shlibpath_var=unsupported
+      whole_archive_flag_spec=''
+      link_all_deplibs=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      link_all_deplibs=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	hardcode_direct=yes
+	export_dynamic_flag_spec='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld='+b $libdir'
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  export_dynamic_flag_spec='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      link_all_deplibs=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    openbsd*)
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+	pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc=no
+        else
+	  archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var" || \
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+   ;;
+
+  *)
+    echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+  lt_cv_dlopen="shl_load"
+else
+  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+int
+main ()
+{
+shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+if test $ac_cv_lib_dld_shl_load = yes; then
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+  echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != dlopen;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+  lt_cv_dlopen="dlopen"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_svld_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+if test $ac_cv_lib_svld_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dld_link ();
+int
+main ()
+{
+dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_dld_link=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+if test $ac_cv_lib_dld_dld_link = yes; then
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9332 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9432 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+# Report which library types will actually be built
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler \
+    CC \
+    LD \
+    lt_prog_compiler_wl \
+    lt_prog_compiler_pic \
+    lt_prog_compiler_static \
+    lt_prog_compiler_no_builtin_flag \
+    export_dynamic_flag_spec \
+    thread_safe_flag_spec \
+    whole_archive_flag_spec \
+    enable_shared_with_static_runtimes \
+    old_archive_cmds \
+    old_archive_from_new_cmds \
+    predep_objects \
+    postdep_objects \
+    predeps \
+    postdeps \
+    compiler_lib_search_path \
+    archive_cmds \
+    archive_expsym_cmds \
+    postinstall_cmds \
+    postuninstall_cmds \
+    old_archive_from_expsyms_cmds \
+    allow_undefined_flag \
+    no_undefined_flag \
+    export_symbols_cmds \
+    hardcode_libdir_flag_spec \
+    hardcode_libdir_flag_spec_ld \
+    hardcode_libdir_separator \
+    hardcode_automatic \
+    module_cmds \
+    module_expsym_cmds \
+    lt_cv_prog_compiler_c_o \
+    exclude_expsyms \
+    include_expsyms; do
+
+    case $var in
+    old_archive_cmds | \
+    old_archive_from_new_cmds | \
+    archive_cmds | \
+    archive_expsym_cmds | \
+    module_cmds | \
+    module_expsym_cmds | \
+    old_archive_from_expsyms_cmds | \
+    export_symbols_cmds | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  { echo "$as_me:$LINENO: creating $ofile" >&5
+echo "$as_me: creating $ofile" >&6;}
+
+  cat <<__EOF__ >> "$cfgfile"
+#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+# Check whether --with-tags or --without-tags was given.
+if test "${with_tags+set}" = set; then
+  withval="$with_tags"
+  tagnames="$withval"
+fi;
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+    else
+      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+    "") ;;
+    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+echo "$as_me: error: invalid tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+compiler_CXX=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+else
+  lt_prog_compiler_no_builtin_flag_CXX=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec_CXX=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+ld_shlibs_CXX=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    archive_cmds_CXX=''
+    hardcode_direct_CXX=yes
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[012]|aix4.[012].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  hardcode_direct_CXX=yes
+	else
+	  # We have old collect2
+	  hardcode_direct_CXX=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L_CXX=yes
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  hardcode_libdir_separator_CXX=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    always_export_symbols_CXX=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      allow_undefined_flag_CXX='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+	allow_undefined_flag_CXX="-z nodefs"
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	no_undefined_flag_CXX=' ${wl}-bernotok'
+	allow_undefined_flag_CXX=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	whole_archive_flag_spec_CXX='$convenience'
+	archive_cmds_need_lc_CXX=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag_CXX=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+    # as there is no search path for DLLs.
+    hardcode_libdir_flag_spec_CXX='-L$libdir'
+    allow_undefined_flag_CXX=unsupported
+    always_export_symbols_CXX=no
+    enable_shared_with_static_runtimes_CXX=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      archive_cmds_need_lc_CXX=no
+      hardcode_direct_CXX=no
+      hardcode_automatic_CXX=yes
+      hardcode_shlibpath_var_CXX=unsupported
+      whole_archive_flag_spec_CXX=''
+      link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_CXX=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  freebsd[12]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    ld_shlibs_CXX=no
+    ;;
+  freebsd-elf*)
+    archive_cmds_need_lc_CXX=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    ld_shlibs_CXX=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    hardcode_direct_CXX=yes
+    hardcode_minus_L_CXX=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      ld_shlibs_CXX=no
+      ;;
+    aCC*)
+      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_CXX=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+        ;;
+      *)
+	export_dynamic_flag_spec_CXX='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      hardcode_direct_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      ;;
+    *)
+      hardcode_direct_CXX=yes
+      hardcode_minus_L_CXX=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    hardcode_direct_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	link_all_deplibs_CXX=yes
+	;;
+    esac
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	archive_cmds_need_lc_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      hardcode_libdir_flag_spec_CXX='-R$libdir'
+      hardcode_direct_CXX=yes
+      hardcode_shlibpath_var_CXX=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    ld_shlibs_CXX=no
+    ;;
+  openbsd*)
+    hardcode_direct_CXX=yes
+    hardcode_shlibpath_var_CXX=no
+    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      export_dynamic_flag_spec_CXX='${wl}-E'
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	  archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' -expect_unresolved \*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        archive_cmds_need_lc_CXX=yes
+	no_undefined_flag_CXX=' -zdefs'
+	archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-R$libdir'
+	hardcode_shlibpath_var_CXX=no
+	case $host_os in
+	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	link_all_deplibs_CXX=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+    no_undefined_flag_CXX='${wl}-z,text'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    no_undefined_flag_CXX='${wl}-z,text'
+    allow_undefined_flag_CXX='${wl}-z,nodefs'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+    export_dynamic_flag_spec_CXX='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+esac
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+GCC_CXX="$GXX"
+LD_CXX="$LD"
+
+
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$compiler_lib_search_path_CXX"; then
+	     compiler_lib_search_path_CXX="${prev}${p}"
+	   else
+	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$postdeps_CXX"; then
+	   postdeps_CXX="${prev}${p}"
+	 else
+	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$predep_objects_CXX"; then
+	   predep_objects_CXX="$p"
+	 else
+	   predep_objects_CXX="$predep_objects_CXX $p"
+	 fi
+       else
+	 if test -z "$postdep_objects_CXX"; then
+	   postdep_objects_CXX="$p"
+	 else
+	   postdep_objects_CXX="$postdep_objects_CXX $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    postdeps_CXX='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+
+lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	lt_prog_compiler_pic_CXX='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  lt_prog_compiler_static_CXX='-Bstatic'
+	else
+	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           lt_prog_compiler_pic_CXX='-qnocommon'
+           lt_prog_compiler_wl_CXX='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      lt_prog_compiler_pic_CXX='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      lt_prog_compiler_pic_CXX='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fpic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    lt_prog_compiler_pic_CXX='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    lt_prog_compiler_wl_CXX='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    lt_prog_compiler_pic_CXX='-pic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	lt_prog_compiler_can_build_shared_CXX=no
+	;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_CXX=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:11770: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:11774: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+
+if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:11874: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:11878: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    export_symbols_cmds_CXX="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    link_all_deplibs_CXX=no
+  ;;
+  linux*)
+    link_all_deplibs_CXX=no
+  ;;
+  *)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_CXX
+	pic_flag=$lt_prog_compiler_pic_CXX
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+        allow_undefined_flag_CXX=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_CXX=no
+        else
+	  archive_cmds_need_lc_CXX=yes
+        fi
+        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+   test -n "$runpath_var_CXX" || \
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6
+
+if test "$hardcode_action_CXX" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_CXX \
+    CC_CXX \
+    LD_CXX \
+    lt_prog_compiler_wl_CXX \
+    lt_prog_compiler_pic_CXX \
+    lt_prog_compiler_static_CXX \
+    lt_prog_compiler_no_builtin_flag_CXX \
+    export_dynamic_flag_spec_CXX \
+    thread_safe_flag_spec_CXX \
+    whole_archive_flag_spec_CXX \
+    enable_shared_with_static_runtimes_CXX \
+    old_archive_cmds_CXX \
+    old_archive_from_new_cmds_CXX \
+    predep_objects_CXX \
+    postdep_objects_CXX \
+    predeps_CXX \
+    postdeps_CXX \
+    compiler_lib_search_path_CXX \
+    archive_cmds_CXX \
+    archive_expsym_cmds_CXX \
+    postinstall_cmds_CXX \
+    postuninstall_cmds_CXX \
+    old_archive_from_expsyms_cmds_CXX \
+    allow_undefined_flag_CXX \
+    no_undefined_flag_CXX \
+    export_symbols_cmds_CXX \
+    hardcode_libdir_flag_spec_CXX \
+    hardcode_libdir_flag_spec_ld_CXX \
+    hardcode_libdir_separator_CXX \
+    hardcode_automatic_CXX \
+    module_cmds_CXX \
+    module_expsym_cmds_CXX \
+    lt_cv_prog_compiler_c_o_CXX \
+    exclude_expsyms_CXX \
+    include_expsyms_CXX; do
+
+    case $var in
+    old_archive_cmds_CXX | \
+    old_archive_from_new_cmds_CXX | \
+    archive_cmds_CXX | \
+    archive_expsym_cmds_CXX | \
+    module_cmds_CXX | \
+    module_expsym_cmds_CXX | \
+    old_archive_from_expsyms_cmds_CXX | \
+    export_symbols_cmds_CXX | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+
+
+archive_cmds_need_lc_F77=no
+allow_undefined_flag_F77=
+always_export_symbols_F77=no
+archive_expsym_cmds_F77=
+export_dynamic_flag_spec_F77=
+hardcode_direct_F77=no
+hardcode_libdir_flag_spec_F77=
+hardcode_libdir_flag_spec_ld_F77=
+hardcode_libdir_separator_F77=
+hardcode_minus_L_F77=no
+hardcode_automatic_F77=no
+module_cmds_F77=
+module_expsym_cmds_F77=
+link_all_deplibs_F77=unknown
+old_archive_cmds_F77=$old_archive_cmds
+no_undefined_flag_F77=
+whole_archive_flag_spec_F77=
+enable_shared_with_static_runtimes_F77=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+objext_F77=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+compiler_F77=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+GCC_F77="$G77"
+LD_F77="$LD"
+
+lt_prog_compiler_wl_F77=
+lt_prog_compiler_pic_F77=
+lt_prog_compiler_static_F77=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_F77='-Wl,'
+    lt_prog_compiler_static_F77='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_F77='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_F77=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_F77=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_F77='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      else
+	lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_F77='-qnocommon'
+         lt_prog_compiler_wl_F77='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-KPIC'
+	lt_prog_compiler_static_F77='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-fpic'
+	lt_prog_compiler_static_F77='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_F77='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_F77='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_F77='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_F77='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_F77='-Qoption ld '
+      lt_prog_compiler_pic_F77='-PIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_F77='-Kconform_pic'
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_F77='-pic'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_F77"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_F77=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_F77"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13462: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:13466: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+
+if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+    case $lt_prog_compiler_pic_F77 in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+     esac
+else
+    lt_prog_compiler_pic_F77=
+     lt_prog_compiler_can_build_shared_F77=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_F77=
+    ;;
+  *)
+    lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_F77=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_F77=yes
+       fi
+     else
+       lt_prog_compiler_static_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+    :
+else
+    lt_prog_compiler_static_F77=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_F77=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13566: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:13570: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_F77=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_F77=
+  enable_shared_with_static_runtimes_F77=no
+  archive_cmds_F77=
+  archive_expsym_cmds_F77=
+  old_archive_From_new_cmds_F77=
+  old_archive_from_expsyms_cmds_F77=
+  export_dynamic_flag_spec_F77=
+  whole_archive_flag_spec_F77=
+  thread_safe_flag_spec_F77=
+  hardcode_libdir_flag_spec_F77=
+  hardcode_libdir_flag_spec_ld_F77=
+  hardcode_libdir_separator_F77=
+  hardcode_direct_F77=no
+  hardcode_minus_L_F77=no
+  hardcode_shlibpath_var_F77=unsupported
+  link_all_deplibs_F77=unknown
+  hardcode_automatic_F77=no
+  module_cmds_F77=
+  module_expsym_cmds_F77=
+  always_export_symbols_F77=no
+  export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_F77=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_F77=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_F77=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_F77=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_F77=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=no
+      enable_shared_with_static_runtimes_F77=yes
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_F77='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_F77=no
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_F77=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_F77=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_F77" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_F77=
+      export_dynamic_flag_spec_F77=
+      whole_archive_flag_spec_F77=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=yes
+      archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_F77=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_F77=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_F77=''
+      hardcode_direct_F77=yes
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_F77=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_F77=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_F77=yes
+  	  hardcode_libdir_flag_spec_F77='-L$libdir'
+  	  hardcode_libdir_separator_F77=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_F77=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_F77='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_F77="-z nodefs"
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_F77=' ${wl}-bernotok'
+	  allow_undefined_flag_F77=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_F77='$convenience'
+	  archive_cmds_need_lc_F77=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_F77=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_F77=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_F77=' '
+      allow_undefined_flag_F77=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_F77='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_F77=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_F77=no
+      hardcode_direct_F77=no
+      hardcode_automatic_F77=yes
+      hardcode_shlibpath_var_F77=unsupported
+      whole_archive_flag_spec_F77=''
+      link_all_deplibs_F77=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_F77=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_F77=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      link_all_deplibs_F77=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_direct_F77=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	hardcode_direct_F77=yes
+	export_dynamic_flag_spec_F77='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_F77=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+	  hardcode_direct_F77=no
+	  hardcode_shlibpath_var_F77=no
+	  ;;
+	*)
+	  hardcode_direct_F77=yes
+	  export_dynamic_flag_spec_F77='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_F77=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      link_all_deplibs_F77=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    newsos6)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_F77='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_F77='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      allow_undefined_flag_F77=unsupported
+      archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_F77=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_shlibpath_var_F77=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_F77=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_F77='$CC -r -o $output$reload_objs'
+	  hardcode_direct_F77=no
+        ;;
+	motorola)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_F77=no
+      export_dynamic_flag_spec_F77='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_F77=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_F77=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_F77='${wl}-z,text'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_F77='${wl}-z,text'
+      allow_undefined_flag_F77='${wl}-z,nodefs'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      ld_shlibs_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_F77" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_F77=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_F77 in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_F77
+	pic_flag=$lt_prog_compiler_pic_F77
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+        allow_undefined_flag_F77=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_F77=no
+        else
+	  archive_cmds_need_lc_F77=yes
+        fi
+        allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+   test -n "$runpath_var_F77" || \
+   test "X$hardcode_automatic_F77" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_F77" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+     test "$hardcode_minus_L_F77" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_F77=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_F77=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_F77=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6
+
+if test "$hardcode_action_F77" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_F77 \
+    CC_F77 \
+    LD_F77 \
+    lt_prog_compiler_wl_F77 \
+    lt_prog_compiler_pic_F77 \
+    lt_prog_compiler_static_F77 \
+    lt_prog_compiler_no_builtin_flag_F77 \
+    export_dynamic_flag_spec_F77 \
+    thread_safe_flag_spec_F77 \
+    whole_archive_flag_spec_F77 \
+    enable_shared_with_static_runtimes_F77 \
+    old_archive_cmds_F77 \
+    old_archive_from_new_cmds_F77 \
+    predep_objects_F77 \
+    postdep_objects_F77 \
+    predeps_F77 \
+    postdeps_F77 \
+    compiler_lib_search_path_F77 \
+    archive_cmds_F77 \
+    archive_expsym_cmds_F77 \
+    postinstall_cmds_F77 \
+    postuninstall_cmds_F77 \
+    old_archive_from_expsyms_cmds_F77 \
+    allow_undefined_flag_F77 \
+    no_undefined_flag_F77 \
+    export_symbols_cmds_F77 \
+    hardcode_libdir_flag_spec_F77 \
+    hardcode_libdir_flag_spec_ld_F77 \
+    hardcode_libdir_separator_F77 \
+    hardcode_automatic_F77 \
+    module_cmds_F77 \
+    module_expsym_cmds_F77 \
+    lt_cv_prog_compiler_c_o_F77 \
+    exclude_expsyms_F77 \
+    include_expsyms_F77; do
+
+    case $var in
+    old_archive_cmds_F77 | \
+    old_archive_from_new_cmds_F77 | \
+    archive_cmds_F77 | \
+    archive_expsym_cmds_F77 | \
+    module_cmds_F77 | \
+    module_expsym_cmds_F77 | \
+    old_archive_from_expsyms_cmds_F77 | \
+    export_symbols_cmds_F77 | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_F77
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_F77
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_F77
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_F77
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_F77
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_F77
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_F77
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_F77
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_F77
+archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_F77
+module_expsym_cmds=$lt_module_expsym_cmds_F77
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_F77
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_F77
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_F77
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_F77
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_F77
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_F77
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_F77
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_F77
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_F77
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_F77"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_F77
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_F77
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_F77
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_F77
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+objext_GCJ=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+archive_cmds_need_lc_GCJ=no
+
+old_archive_cmds_GCJ=$old_archive_cmds
+
+
+lt_prog_compiler_no_builtin_flag_GCJ=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15789: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:15793: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl_GCJ=
+lt_prog_compiler_pic_GCJ=
+lt_prog_compiler_static_GCJ=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_GCJ='-Wl,'
+    lt_prog_compiler_static_GCJ='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_GCJ='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_GCJ=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_GCJ=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_GCJ='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      else
+	lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_GCJ='-qnocommon'
+         lt_prog_compiler_wl_GCJ='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-KPIC'
+	lt_prog_compiler_static_GCJ='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-fpic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_GCJ='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_GCJ='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_GCJ='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_GCJ='-Qoption ld '
+      lt_prog_compiler_pic_GCJ='-PIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_GCJ='-Kconform_pic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_GCJ='-pic'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_GCJ"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_GCJ=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16057: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:16061: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+    case $lt_prog_compiler_pic_GCJ in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+     esac
+else
+    lt_prog_compiler_pic_GCJ=
+     lt_prog_compiler_can_build_shared_GCJ=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_GCJ=
+    ;;
+  *)
+    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_GCJ=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_GCJ=yes
+       fi
+     else
+       lt_prog_compiler_static_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+    :
+else
+    lt_prog_compiler_static_GCJ=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_GCJ=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16161: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:16165: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_GCJ=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_GCJ=
+  enable_shared_with_static_runtimes_GCJ=no
+  archive_cmds_GCJ=
+  archive_expsym_cmds_GCJ=
+  old_archive_From_new_cmds_GCJ=
+  old_archive_from_expsyms_cmds_GCJ=
+  export_dynamic_flag_spec_GCJ=
+  whole_archive_flag_spec_GCJ=
+  thread_safe_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_ld_GCJ=
+  hardcode_libdir_separator_GCJ=
+  hardcode_direct_GCJ=no
+  hardcode_minus_L_GCJ=no
+  hardcode_shlibpath_var_GCJ=unsupported
+  link_all_deplibs_GCJ=unknown
+  hardcode_automatic_GCJ=no
+  module_cmds_GCJ=
+  module_expsym_cmds_GCJ=
+  always_export_symbols_GCJ=no
+  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_GCJ=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_GCJ=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_GCJ=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_GCJ=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_GCJ=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=no
+      enable_shared_with_static_runtimes_GCJ=yes
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_GCJ=no
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_GCJ=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_GCJ=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_GCJ" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_GCJ=
+      export_dynamic_flag_spec_GCJ=
+      whole_archive_flag_spec_GCJ=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=yes
+      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_GCJ=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_GCJ=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_GCJ=''
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_GCJ=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_GCJ=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_GCJ=yes
+  	  hardcode_libdir_flag_spec_GCJ='-L$libdir'
+  	  hardcode_libdir_separator_GCJ=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_GCJ=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_GCJ='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_GCJ="-z nodefs"
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_GCJ=' ${wl}-bernotok'
+	  allow_undefined_flag_GCJ=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_GCJ='$convenience'
+	  archive_cmds_need_lc_GCJ=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_GCJ=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_GCJ=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ=' '
+      allow_undefined_flag_GCJ=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_GCJ='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_GCJ=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_GCJ=no
+      hardcode_direct_GCJ=no
+      hardcode_automatic_GCJ=yes
+      hardcode_shlibpath_var_GCJ=unsupported
+      whole_archive_flag_spec_GCJ=''
+      link_all_deplibs_GCJ=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_GCJ=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_GCJ=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      link_all_deplibs_GCJ=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_direct_GCJ=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	hardcode_direct_GCJ=yes
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_GCJ=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+	  hardcode_direct_GCJ=no
+	  hardcode_shlibpath_var_GCJ=no
+	  ;;
+	*)
+	  hardcode_direct_GCJ=yes
+	  export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_GCJ=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    newsos6)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      allow_undefined_flag_GCJ=unsupported
+      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_GCJ=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+	  hardcode_direct_GCJ=no
+        ;;
+	motorola)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_GCJ=no
+      export_dynamic_flag_spec_GCJ='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_GCJ=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_GCJ=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_GCJ='${wl}-z,text'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_GCJ='${wl}-z,text'
+      allow_undefined_flag_GCJ='${wl}-z,nodefs'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      ld_shlibs_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+test "$ld_shlibs_GCJ" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_GCJ" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_GCJ=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_GCJ in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_GCJ
+	pic_flag=$lt_prog_compiler_pic_GCJ
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+        allow_undefined_flag_GCJ=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_GCJ=no
+        else
+	  archive_cmds_need_lc_GCJ=yes
+        fi
+        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+   test -n "$runpath_var_GCJ" || \
+   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_GCJ" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+     test "$hardcode_minus_L_GCJ" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_GCJ=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_GCJ=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_GCJ=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6
+
+if test "$hardcode_action_GCJ" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_GCJ \
+    CC_GCJ \
+    LD_GCJ \
+    lt_prog_compiler_wl_GCJ \
+    lt_prog_compiler_pic_GCJ \
+    lt_prog_compiler_static_GCJ \
+    lt_prog_compiler_no_builtin_flag_GCJ \
+    export_dynamic_flag_spec_GCJ \
+    thread_safe_flag_spec_GCJ \
+    whole_archive_flag_spec_GCJ \
+    enable_shared_with_static_runtimes_GCJ \
+    old_archive_cmds_GCJ \
+    old_archive_from_new_cmds_GCJ \
+    predep_objects_GCJ \
+    postdep_objects_GCJ \
+    predeps_GCJ \
+    postdeps_GCJ \
+    compiler_lib_search_path_GCJ \
+    archive_cmds_GCJ \
+    archive_expsym_cmds_GCJ \
+    postinstall_cmds_GCJ \
+    postuninstall_cmds_GCJ \
+    old_archive_from_expsyms_cmds_GCJ \
+    allow_undefined_flag_GCJ \
+    no_undefined_flag_GCJ \
+    export_symbols_cmds_GCJ \
+    hardcode_libdir_flag_spec_GCJ \
+    hardcode_libdir_flag_spec_ld_GCJ \
+    hardcode_libdir_separator_GCJ \
+    hardcode_automatic_GCJ \
+    module_cmds_GCJ \
+    module_expsym_cmds_GCJ \
+    lt_cv_prog_compiler_c_o_GCJ \
+    exclude_expsyms_GCJ \
+    include_expsyms_GCJ; do
+
+    case $var in
+    old_archive_cmds_GCJ | \
+    old_archive_from_new_cmds_GCJ | \
+    archive_cmds_GCJ | \
+    archive_expsym_cmds_GCJ | \
+    module_cmds_GCJ | \
+    module_expsym_cmds_GCJ | \
+    old_archive_from_expsyms_cmds_GCJ | \
+    export_symbols_cmds_GCJ | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_GCJ
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_GCJ
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_GCJ
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_GCJ
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_GCJ
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_GCJ
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_GCJ
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_GCJ
+archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_GCJ
+module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_GCJ
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_GCJ
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_GCJ
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_GCJ
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_GCJ
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_GCJ
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_GCJ
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_GCJ
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_GCJ"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_GCJ
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_GCJ
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_GCJ
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+
+
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+objext_RC=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+compiler_RC=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+lt_cv_prog_compiler_c_o_RC=yes
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_RC \
+    CC_RC \
+    LD_RC \
+    lt_prog_compiler_wl_RC \
+    lt_prog_compiler_pic_RC \
+    lt_prog_compiler_static_RC \
+    lt_prog_compiler_no_builtin_flag_RC \
+    export_dynamic_flag_spec_RC \
+    thread_safe_flag_spec_RC \
+    whole_archive_flag_spec_RC \
+    enable_shared_with_static_runtimes_RC \
+    old_archive_cmds_RC \
+    old_archive_from_new_cmds_RC \
+    predep_objects_RC \
+    postdep_objects_RC \
+    predeps_RC \
+    postdeps_RC \
+    compiler_lib_search_path_RC \
+    archive_cmds_RC \
+    archive_expsym_cmds_RC \
+    postinstall_cmds_RC \
+    postuninstall_cmds_RC \
+    old_archive_from_expsyms_cmds_RC \
+    allow_undefined_flag_RC \
+    no_undefined_flag_RC \
+    export_symbols_cmds_RC \
+    hardcode_libdir_flag_spec_RC \
+    hardcode_libdir_flag_spec_ld_RC \
+    hardcode_libdir_separator_RC \
+    hardcode_automatic_RC \
+    module_cmds_RC \
+    module_expsym_cmds_RC \
+    lt_cv_prog_compiler_c_o_RC \
+    exclude_expsyms_RC \
+    include_expsyms_RC; do
+
+    case $var in
+    old_archive_cmds_RC | \
+    old_archive_from_new_cmds_RC | \
+    archive_cmds_RC | \
+    archive_expsym_cmds_RC | \
+    module_cmds_RC | \
+    module_expsym_cmds_RC | \
+    old_archive_from_expsyms_cmds_RC | \
+    export_symbols_cmds_RC | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_RC
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_RC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_RC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_RC
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_RC
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_RC
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_RC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_RC
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_RC
+archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_RC
+module_expsym_cmds=$lt_module_expsym_cmds_RC
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_RC
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_RC
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_RC
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_RC
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_RC
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_RC
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_RC
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_RC
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_RC
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_RC"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_RC
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_RC
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_RC
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_RC
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	;;
+
+      *)
+	{ { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Prevent multiple expansion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libcheck or --disable-libcheck was given.
+if test "${enable_libcheck+set}" = set; then
+  enableval="$enable_libcheck"
+  case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libcheck" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-libcheck" >&2;}
+   { (exit 1); exit 1; }; } ;; esac
+else
+  libcheck=true
+fi;
+
+
+# --- BEGIN MLX_LANG_TCL ---
+
+if test "x$libcheck" = "xtrue"; then
+
+
+# Check whether --with-tclconfig or --without-tclconfig was given.
+if test "${with_tclconfig+set}" = set; then
+  withval="$with_tclconfig"
+     	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`
+fi;
+
+# Check whether --with-tcl or --without-tcl was given.
+if test "${with_tcl+set}" = set; then
+  withval="$with_tcl"
+  TclLibBase="${withval}/lib"
+fi;
+
+# Check whether --with-tclsh or --without-tclsh was given.
+if test "${with_tclsh+set}" = set; then
+  withval="$with_tclsh"
+  TCLSH="${withval}"
+fi;
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     { echo "$as_me:$LINENO: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&5
+echo "$as_me: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&2;}
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclconfig requires a directory argument." >&5
+echo "$as_me: error: --with-tclconfig requires a directory argument." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclsh must specify an executable file." >&5
+echo "$as_me: error: --with-tclsh must specify an executable file." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         for ac_prog in tclsh tclsh8.3 tclsh8.4
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_TCLSH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $TCLSH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_TCLSH="$TCLSH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_TCLSH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+TCLSH=$ac_cv_path_TCLSH
+
+if test -n "$TCLSH"; then
+  echo "$as_me:$LINENO: result: $TCLSH" >&5
+echo "${ECHO_T}$TCLSH" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$TCLSH" && break
+done
+test -n "$TCLSH" || TCLSH=""unknown""
+
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         echo "$as_me:$LINENO: checking where Tcl says it lives" >&5
+echo $ECHO_N "checking where Tcl says it lives... $ECHO_C" >&6
+                  echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,^/*$,,'`
+         rm /tmp/tcl.conf.$$
+          echo "$as_me:$LINENO: result: $TclLibBase" >&5
+echo "${ECHO_T}$TclLibBase" >&6
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       echo "$as_me:$LINENO: result: can't find tclsh" >&5
+echo "${ECHO_T}can't find tclsh" >&6
+       { echo "$as_me:$LINENO: WARNING: can't find Tcl installtion; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl installtion; use of Tcl disabled." >&2;}
+       with_tcl=no
+     else
+       echo "$as_me:$LINENO: checking for tclConfig.sh" >&5
+echo $ECHO_N "checking for tclConfig.sh... $ECHO_C" >&6
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         echo "$as_me:$LINENO: result: \"unknown\"" >&5
+echo "${ECHO_T}\"unknown\"" >&6
+         { echo "$as_me:$LINENO: WARNING: can't find Tcl configuration; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl configuration; use of Tcl disabled." >&2;}
+         with_tcl=no
+       else
+         echo "$as_me:$LINENO: result: ${TclLibBase}/" >&5
+echo "${ECHO_T}${TclLibBase}/" >&6
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         echo "$as_me:$LINENO: checking Tcl configuration on what Tcl needs to compile" >&5
+echo $ECHO_N "checking Tcl configuration on what Tcl needs to compile... $ECHO_C" >&6
+         . ${TclLibBase}/tclConfig.sh
+         echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+                         fi
+
+                     if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+                                             echo "$as_me:$LINENO: checking where Tcl includes are" >&5
+echo $ECHO_N "checking where Tcl includes are... $ECHO_C" >&6
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           { echo "$as_me:$LINENO: WARNING: can't find Tcl includes; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl includes; use of Tcl disabled." >&2;}
+           with_tcl=no
+         fi
+         echo "$as_me:$LINENO: result: ${TCL_CPPFLAGS}" >&5
+echo "${ECHO_T}${TCL_CPPFLAGS}" >&6
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+                           TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+                  if test X"$TCL_LIBS" = X; then
+                      TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([^ \t]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+                  if test X"$TCL_LIB_SPEC" = X; then
+                      TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+                  TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+
+
+
+
+
+# --- END MLX_LANG_TCL ---
+
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_header in inttypes.h stdlib.h string.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+if test "${ac_cv_c_const+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset x;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *ccp;
+  char **p;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  ccp = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++ccp;
+  p = (char**) ccp;
+  ccp = (char const *const *) p;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+  }
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_const=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_c_const=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define const
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for inline" >&5
+echo $ECHO_N "checking for inline... $ECHO_C" >&6
+if test "${ac_cv_c_inline+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_inline=$ac_kw; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+echo "${ECHO_T}$ac_cv_c_inline" >&6
+
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
+echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+if test "${ac_cv_type_size_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if ((size_t *) 0)
+  return 0;
+if (sizeof (size_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_size_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_size_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6
+if test $ac_cv_type_size_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+for ac_func in strchr strstr strtol strtoull regcomp regexec
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  debug=false
+fi;
+
+
+if test x$debug = xtrue; then
+  DEBUG_TRUE=
+  DEBUG_FALSE='#'
+else
+  DEBUG_TRUE='#'
+  DEBUG_FALSE=
+fi
+
+
+
+# --- BEGIN OPENIB_APP_OSM ---
+
+
+# Check whether --with-osm or --without-osm was given.
+if test "${with_osm+set}" = set; then
+  withval="$with_osm"
+  { echo "$as_me:$LINENO: Using OSM from:$with_osm" >&5
+echo "$as_me: Using OSM from:$with_osm" >&6;}
+else
+  with_osm="none"
+fi;
+
+
+# Check whether --with-osm-libs or --without-osm-libs was given.
+if test "${with_osm_libs+set}" = set; then
+  withval="$with_osm_libs"
+  { echo "$as_me:$LINENO: Using OSM libs from:$with_osm_libs" >&5
+echo "$as_me: Using OSM libs from:$with_osm_libs" >&6;}
+else
+  with_osm_libs="none"
+fi;
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+      if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+            elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         { { echo "$as_me:$LINENO: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&5
+echo "$as_me: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: used from $with_osm" >&5
+echo "$as_me: OSM: used from $with_osm" >&6;}
+
+   if test "x$with_osm_libs" = "xnone"; then
+         if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+      if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   { echo "$as_me:$LINENO: OSM: build type $OSM_BUILD" >&5
+echo "$as_me: OSM: build type $OSM_BUILD" >&6;}
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+         if test $OSM_BUILD = openib; then
+            osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: vendor type $OSM_VENDOR" >&5
+echo "$as_me: OSM: vendor type $OSM_VENDOR" >&6;}
+
+
+      as_ac_File=`echo "ac_cv_file_$osm_include_dir/opensm/osm_build_id.h" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $osm_include_dir/opensm/osm_build_id.h" >&5
+echo $ECHO_N "checking for $osm_include_dir/opensm/osm_build_id.h... $ECHO_C" >&6
+if eval "test \"\${$as_ac_File+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  test "$cross_compiling" = yes &&
+  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+   { (exit 1); exit 1; }; }
+if test -r "$osm_include_dir/opensm/osm_build_id.h"; then
+  eval "$as_ac_File=yes"
+else
+  eval "$as_ac_File=no"
+fi
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+if test `eval echo '${'$as_ac_File'}'` = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&5
+echo "$as_me: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+      if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+            osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      { echo "$as_me:$LINENO: OSM: compiled in DEBUG mode" >&5
+echo "$as_me: OSM: compiled in DEBUG mode" >&6;}
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+      with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+
+
+if test "x$OSM_VENDOR" = xts; then
+  OSM_VENDOR_TS_TRUE=
+  OSM_VENDOR_TS_FALSE='#'
+else
+  OSM_VENDOR_TS_TRUE='#'
+  OSM_VENDOR_TS_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xmtl; then
+  OSM_VENDOR_MTL_TRUE=
+  OSM_VENDOR_MTL_FALSE='#'
+else
+  OSM_VENDOR_MTL_TRUE='#'
+  OSM_VENDOR_MTL_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xsim; then
+  OSM_VENDOR_SIM_TRUE=
+  OSM_VENDOR_SIM_FALSE='#'
+else
+  OSM_VENDOR_SIM_TRUE='#'
+  OSM_VENDOR_SIM_FALSE=
+fi
+
+
+
+if test "x$OSM_BUILD" = xopenib; then
+  OSM_BUILD_OPENIB_TRUE=
+  OSM_BUILD_OPENIB_FALSE='#'
+else
+  OSM_BUILD_OPENIB_TRUE='#'
+  OSM_BUILD_OPENIB_FALSE=
+fi
+
+
+
+
+
+
+
+
+# --- OPENIB_APP_OSM ---
+
+
+                                        ac_config_files="$ac_config_files Makefile src/Makefile tests/Makefile doc/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_TS_TRUE}" && test -z "${OSM_VENDOR_TS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_MTL_TRUE}" && test -z "${OSM_VENDOR_MTL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_SIM_TRUE}" && test -z "${OSM_VENDOR_SIM_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_BUILD_OPENIB_TRUE}" && test -z "${OSM_BUILD_OPENIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at LN_S@,$LN_S,;t t
+s, at SWIG@,$SWIG,;t t
+s, at HAS_SWIG_TRUE@,$HAS_SWIG_TRUE,;t t
+s, at HAS_SWIG_FALSE@,$HAS_SWIG_FALSE,;t t
+s, at SWIG_LIB@,$SWIG_LIB,;t t
+s, at CXX@,$CXX,;t t
+s, at CXXFLAGS@,$CXXFLAGS,;t t
+s, at LDFLAGS@,$LDFLAGS,;t t
+s, at CPPFLAGS@,$CPPFLAGS,;t t
+s, at ac_ct_CXX@,$ac_ct_CXX,;t t
+s, at EXEEXT@,$EXEEXT,;t t
+s, at OBJEXT@,$OBJEXT,;t t
+s, at DEPDIR@,$DEPDIR,;t t
+s, at am__include@,$am__include,;t t
+s, at am__quote@,$am__quote,;t t
+s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s, at CXXDEPMODE@,$CXXDEPMODE,;t t
+s, at am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
+s, at am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
+s, at CC@,$CC,;t t
+s, at CFLAGS@,$CFLAGS,;t t
+s, at ac_ct_CC@,$ac_ct_CC,;t t
+s, at CCDEPMODE@,$CCDEPMODE,;t t
+s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s, at CPP@,$CPP,;t t
+s, at build@,$build,;t t
+s, at build_cpu@,$build_cpu,;t t
+s, at build_vendor@,$build_vendor,;t t
+s, at build_os@,$build_os,;t t
+s, at host@,$host,;t t
+s, at host_cpu@,$host_cpu,;t t
+s, at host_vendor@,$host_vendor,;t t
+s, at host_os@,$host_os,;t t
+s, at EGREP@,$EGREP,;t t
+s, at ECHO@,$ECHO,;t t
+s, at AR@,$AR,;t t
+s, at ac_ct_AR@,$ac_ct_AR,;t t
+s, at RANLIB@,$RANLIB,;t t
+s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s, at CXXCPP@,$CXXCPP,;t t
+s, at F77@,$F77,;t t
+s, at FFLAGS@,$FFLAGS,;t t
+s, at ac_ct_F77@,$ac_ct_F77,;t t
+s, at LIBTOOL@,$LIBTOOL,;t t
+s, at TCLSH@,$TCLSH,;t t
+s, at TCL_DEFS@,$TCL_DEFS,;t t
+s, at TCL_LIBS@,$TCL_LIBS,;t t
+s, at TCL_CPPFLAGS@,$TCL_CPPFLAGS,;t t
+s, at TCL_PREFIX@,$TCL_PREFIX,;t t
+s, at DEBUG_TRUE@,$DEBUG_TRUE,;t t
+s, at DEBUG_FALSE@,$DEBUG_FALSE,;t t
+s, at OSM_VENDOR_TS_TRUE@,$OSM_VENDOR_TS_TRUE,;t t
+s, at OSM_VENDOR_TS_FALSE@,$OSM_VENDOR_TS_FALSE,;t t
+s, at OSM_VENDOR_MTL_TRUE@,$OSM_VENDOR_MTL_TRUE,;t t
+s, at OSM_VENDOR_MTL_FALSE@,$OSM_VENDOR_MTL_FALSE,;t t
+s, at OSM_VENDOR_SIM_TRUE@,$OSM_VENDOR_SIM_TRUE,;t t
+s, at OSM_VENDOR_SIM_FALSE@,$OSM_VENDOR_SIM_FALSE,;t t
+s, at OSM_BUILD_OPENIB_TRUE@,$OSM_BUILD_OPENIB_TRUE,;t t
+s, at OSM_BUILD_OPENIB_FALSE@,$OSM_BUILD_OPENIB_FALSE,;t t
+s, at with_osm@,$with_osm,;t t
+s, at OSM_CFLAGS@,$OSM_CFLAGS,;t t
+s, at OSM_LDFLAGS@,$OSM_LDFLAGS,;t t
+s, at OSM_VENDOR@,$OSM_VENDOR,;t t
+s, at OSM_BUILD@,$OSM_BUILD,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
+ac_dB='[	 ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X$ac_file : 'X\(//\)[^/]' \| \
+	 X$ac_file : 'X\(//\)$' \| \
+	 X$ac_file : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_dest" : 'X\(//\)[^/]' \| \
+	 X"$ac_dest" : 'X\(//\)$' \| \
+	 X"$ac_dest" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
diff --git a/ibis/configure.in b/ibis/configure.in
new file mode 100644
index 0000000..5f87c9d
--- /dev/null
+++ b/ibis/configure.in
@@ -0,0 +1,80 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(src/ibis_api.h)
+
+dnl use local config dir for extras
+AC_CONFIG_AUX_DIR(config)
+
+dnl Defines the Language - we need g++ linker ...
+AC_LANG_CPLUSPLUS
+
+dnl we use auto cheader
+AM_CONFIG_HEADER(config.h)
+
+dnl Auto make
+AM_INIT_AUTOMAKE(ibis,1.2)
+
+dnl Provides control over re-making of all auto files
+dnl We also use it to define swig dependencies so end
+dnl users do not see them.
+AM_MAINTAINER_MODE
+
+dnl Required for cases make defines a MAKE=make ??? Why
+AC_PROG_MAKE_SET
+
+dnl Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_LN_S
+MLX_PROG_SWIG(1.1.5, eq)
+
+dnl We will use libtool for making ...
+AC_PROG_CXX
+AC_PROG_CPP
+AC_PROG_LIBTOOL
+
+dnl For making dist we need not check any lib dependency
+AC_ARG_ENABLE(libcheck,
+[  --enable-libcheck    Enable Dependency Checking],
+[case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;; esac],[libcheck=true])
+
+dnl Get the TCL defs: TCL_LIBS TCL_CPPFLAGS
+MLX_LANG_TCL
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([inttypes.h stdlib.h string.h])
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl AC_HEADER_STDBOOL
+
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+
+dnl Checks for library functions.
+dnl AC_FUNC_MALLOC
+dnl AC_FUNC_REALLOC
+AC_CHECK_FUNCS([strchr strstr strtol strtoull regcomp regexec])
+
+dnl Define an input config option to control debug compile
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=false])
+AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+
+dnl Define an input config option to allow ibis know where
+dnl the OSM is installed. This should point to one directory above
+dnl the include directory holding opensm/osm_build_id.h
+OPENIB_APP_OSM
+
+dnl Create the following Makefiles
+AC_OUTPUT(Makefile src/Makefile tests/Makefile doc/Makefile)
+
diff --git a/ibis/doc/Makefile b/ibis/doc/Makefile
new file mode 100644
index 0000000..a95e319
--- /dev/null
+++ b/ibis/doc/Makefile
@@ -0,0 +1,432 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# doc/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibis
+pkglibdir = $(libdir)/ibis
+pkgincludedir = $(includedir)/ibis
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run makeinfo
+OBJEXT = o
+OSM_BUILD = openib
+OSM_BUILD_OPENIB_FALSE = #
+OSM_BUILD_OPENIB_TRUE = 
+OSM_CFLAGS = -I/usr/include/infiniband -I/usr/include  -DOSM_VENDOR_INTF_OPENIB  -DOSM_BUILD_OPENIB -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
+OSM_LDFLAGS = -Wl,-rpath -Wl,/usr/lib -L/usr/lib -lopensm -losmvendor -losmcomp -libumad -libcommon
+OSM_VENDOR = openib
+OSM_VENDOR_MTL_FALSE = 
+OSM_VENDOR_MTL_TRUE = #
+OSM_VENDOR_SIM_FALSE = 
+OSM_VENDOR_SIM_TRUE = #
+OSM_VENDOR_TS_FALSE = 
+OSM_VENDOR_TS_TRUE = #
+PACKAGE = ibis
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+VERSION = 1.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_osm = /usr
+man_MANS = ibis.1
+EXTRA_DIST = ibis.pod ibis.1
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-man1 \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-man \
+	uninstall-man1
+
+
+%.1: # %.pod
+	$(srcdir)/ibis_pod2man $< $@
+	cp -f $@ $(srcdir)/$@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/doc/Makefile.am b/ibis/doc/Makefile.am
new file mode 100644
index 0000000..05aff87
--- /dev/null
+++ b/ibis/doc/Makefile.am
@@ -0,0 +1,41 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+
+man_MANS = ibis.1
+
+EXTRA_DIST = ibis.pod ibis.1
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibis_pod2man $< $@
+	cp -f $@ $(srcdir)/$@
diff --git a/ibis/doc/Makefile.in b/ibis/doc/Makefile.in
new file mode 100644
index 0000000..cbbba24
--- /dev/null
+++ b/ibis/doc/Makefile.in
@@ -0,0 +1,432 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_osm = @with_osm@
+man_MANS = ibis.1
+EXTRA_DIST = ibis.pod ibis.1
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-man1 \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-man \
+	uninstall-man1
+
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibis_pod2man $< $@
+	cp -f $@ $(srcdir)/$@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/doc/ibis.1 b/ibis/doc/ibis.1
new file mode 100644
index 0000000..f80e425
--- /dev/null
+++ b/ibis/doc/ibis.1
@@ -0,0 +1,2254 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBIS 1"
+.TH IBIS 1 "2008-06-16" "IBIS 1.0" "IB MANAGEMENT IN-BAND SERVICES PACKAGE"
+.SH "NAME"
+\&\fBibis\fR \- IB management Inband Services \- an extended TCL shell
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibis [\-port_num <port number to attach to>]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBibis\fR is a \s-1TCL\s0 shell extended with interface for sending and receiving \s-1IB\s0 management datagrams (\s-1MADS\s0).
+To use this shell you will write \s-1TCL\s0 code that excersizes the regular \s-1TCL\s0 command and the special \s-1API\s0 provided by this extension. Interactive use is also possible and is greatly enhanced if tclreadline package is available on the machine.
+.PP
+The following sub sections provide detailed definition for the \s-1API\s0 and global objects defined by the extension. The different MADs APIs are group by the management class.
+.SH "IBIS Constants"
+.IX Header "IBIS Constants"
+These constants are provided by \s-1IBIS:\s0
+.Sh "Log Verbosity Flags"
+.IX Subsection "Log Verbosity Flags"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_NONE = 0x00" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_NONE\fR = 0x00" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_NONE = 0x00"
+.PD 0
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_ERROR = 0x01" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_ERROR\fR = 0x01" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_ERROR = 0x01"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_INFO = 0x02" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_INFO\fR = 0x02" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_INFO = 0x02"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_VERBOSE = 0x04" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_VERBOSE\fR = 0x04" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_VERBOSE = 0x04"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_DEBUG = 0x08" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_DEBUG\fR = 0x08" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_DEBUG = 0x08"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_FUNCS = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_FUNCS\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_FUNCS = 0x10"
+.ie n .IP "[ Constant : int  ] $IBIS_LOG_FRAMES = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$IBIS_LOG_FRAMES\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $IBIS_LOG_FRAMES = 0x20"
+.PD
+.SH "IBIS Functions"
+.IX Header "IBIS Functions"
+This section provide the details about the functions \s-1IBIS\s0 exposes.
+They all return 0 on succes.
+.IP "[return list] ibis_get_local_ports_info" 4
+.IX Item "[return list] ibis_get_local_ports_info"
+Return the list of available \s-1IB\s0 ports with \s-1GUID\s0, \s-1LID\s0, state and port number.
+.IP "[ returns int  ] ibis_init" 4
+.IX Item "[ returns int  ] ibis_init"
+Initialize ibis object
+.IP "[ returns int  ] ibis_set_verbosity level" 4
+.IX Item "[ returns int  ] ibis_set_verbosity level"
+Change the log verbosity
+.IP "[ returns int  ] ibis_set_port guid" 4
+.IX Item "[ returns int  ] ibis_set_port guid"
+Set the port \s-1IBIS\s0 is attached to and initialize all sub packages.
+Must be called once during ibis operation.
+.IP "[ returns new_uint64_t  ] ibis_get_port" 4
+.IX Item "[ returns new_uint64_t  ] ibis_get_port"
+Provide the \s-1GUID\s0 of the port \s-1IBIS\s0 is attached to
+.IP "[ returns int  ] ibis_set_transaction_timeout timeout_ms" 4
+.IX Item "[ returns int  ] ibis_set_transaction_timeout timeout_ms"
+Set the transaction time out in [msec]
+.IP "[ returns int  ] ibis_exit" 4
+.IX Item "[ returns int  ] ibis_exit"
+Exit \s-1IBIS\s0.
+.IP "[ returns int  ] ibis_puts verbosity msg" 4
+.IX Item "[ returns int  ] ibis_puts verbosity msg"
+Appends a message to the OpenSM log
+.Sh "\s-1IBIS\s0 Options Object"
+.IX Subsection "IBIS Options Object"
+.RS 4
+The \s-1IBIS\s0 options are available through the predefined object: ibis_opts.
+It can be manipulated using the standard Tcl methods: cget and configure.
+Examples:
+.Sp
+.Vb 1
+\&   ibis_opts cget -force_log_flush
+.Ve
+.Sp
+.Vb 1
+\&   ibis_opts configure -force_log_flush TRUE
+.Ve
+.Sp
+The following are the different options that can be configured:
+.RE
+.IP "[ Member data: returns boolean_t * ] \-single_thread" 4
+.IX Item "[ Member data: returns boolean_t * ] -single_thread"
+Run single threaded
+.IP "[ Member data: returns boolean_t * ] \-force_log_flush" 4
+.IX Item "[ Member data: returns boolean_t * ] -force_log_flush"
+If \s-1TRUE\s0 \- forces flash after each log message (\s-1TRUE\s0).
+.IP "[ Member data: returns uint8_t * ] \-log_flags" 4
+.IX Item "[ Member data: returns uint8_t * ] -log_flags"
+The log levels to be used
+.IP "[ Member data: returns char * ] \-log_file" 4
+.IX Item "[ Member data: returns char * ] -log_file"
+The name of the log file to be used.Must be configured before \fBibis_init\fR
+is used to make an affect
+.IP "[ Member data: returns uint64_t * ] \-sm_key" 4
+.IX Item "[ Member data: returns uint64_t * ] -sm_key"
+The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs
+.IP "[ Member data: returns uint64_t * ] \-m_key" 4
+.IX Item "[ Member data: returns uint64_t * ] -m_key"
+The M_Key to be used when sending SubnetMgt
+.IP "[ Member data: returns uint64_t * ] \-v_key" 4
+.IX Item "[ Member data: returns uint64_t * ] -v_key"
+The Vendor Key to be used when sending Vendor Specific MADs.
+.SH "IBPM"
+.IX Header "IBPM"
+\&\s-1IBPM\s0 stands for \s-1IB\s0 Performance Monitoring MADs. \s-1IB\s0 provides standard facilities for tracking statistics on every port.
+.Sp
+This section provide the details about the functions \s-1IBPM\s0 exposes.
+They all return 0 on succes.
+.IP "[ returns int  ] pmMultiMaxGet" 4
+.IX Item "[ returns int  ] pmMultiMaxGet"
+Obtain the maximal number of parallel queries that can be sent
+.IP "[ returns int  ] pmGetPortCounters lid port_select" 4
+.IX Item "[ returns int  ] pmGetPortCounters lid port_select"
+Send a \*(L"PortCounters\*(R" query to teh given \s-1LID\s0 and port
+.IP "[ returns int  ] pmGetPortCountersMulti num lid_list port_select_list" 4
+.IX Item "[ returns int  ] pmGetPortCountersMulti num lid_list port_select_list"
+Send a batch of \*(L"PortCounters\*(R" queries to the given list of LIDs and ports.
+num \- defines the number of elements in each list.
+.IP "[ returns int  ] pmGetExtPortCountersMulti num lid_list port_select_list" 4
+.IX Item "[ returns int  ] pmGetExtPortCountersMulti num lid_list port_select_list"
+Send a batch of \*(L"ExtendedPortCounters\*(R" queries to the given list of LIDs and ports.
+num \- defines the number of elements in each list.
+.IP "[ returns int  ] pmClrAllCounters lid port_select" 4
+.IX Item "[ returns int  ] pmClrAllCounters lid port_select"
+Sends a command to \*(L"clear all counters\*(R" on the given \s-1LID\s0 and port
+.IP "[ returns int  ] pmClrAllCountersMulti num lid_list port_select_list" 4
+.IX Item "[ returns int  ] pmClrAllCountersMulti num lid_list port_select_list"
+Send a batch of \*(L"clear all counters\*(R" commands to the given list of LIDs and ports.
+num \- defines the number of elements in each list.
+.SH "IBSAC"
+.IX Header "IBSAC"
+\&\s-1IBSAC\s0 stands for \s-1IB\s0 Subnet Administrator (\s-1SA\s0) Client. It provide means to query the \s-1SA\s0 for information about the various objects it manages
+.Sp
+The following sections describe the concepts behind the \s-1SAC\s0 interface and then provides detailed description of each attribute that can be queried.
+.Sh "\s-1IBSAC\s0 Objects"
+.IX Subsection "IBSAC Objects"
+.RS 4
+\&\s-1IBSAC\s0 uses predefined global objects to facilitate \s-1SA\s0 Queries.
+Such objects are named sac<Attribute>Query. Each such object
+exposes a standard set of methods:
+.RE
+.IP "dump" 4
+.IX Item "dump"
+dump out all fields and values for the obejct
+.IP "cget \-<field>:" 4
+.IX Item "cget -<field>:"
+obtain the value of the given field
+.IP "configure \-<field> <value>:" 4
+.IX Item "configure -<field> <value>:"
+set the field value
+.IP "get <comp mask>:" 4
+.IX Item "get <comp mask>:"
+query the \s-1SA\s0 for one record using the component mask and field values as set on the query object
+.IP "getTable <comp mask>:" 4
+.IX Item "getTable <comp mask>:"
+query the \s-1SA\s0 for all records matching component mask and field values as set on the query object
+.Sp
+Some \s-1SA\s0 maintained objects support the \*(L"set\*(R" and \*(L"delete\*(R" methods. In that case the following methods are made available on the corresponding query object:
+.IP "set <comp mask>:" 4
+.IX Item "set <comp mask>:"
+send a \fBset\fR method to the \s-1SA\s0 with the component mask and field values as set on the query object
+.IP "delete <comp mask>:" 4
+.IX Item "delete <comp mask>:"
+send a \fBdelete\fR method to the \s-1SA\s0 with the component mask and field values as set on the query object
+.Sh "Returned Objects"
+.IX Subsection "Returned Objects"
+This section describes the values returned from the get/getTable/set/delete methods of the query objects:
+.Sp
+Each query returns a list (or one) identifiers (pointers) for objects. There identifiers are formatted according to the type of object they point to using the following prefixes:
+.Sp
+Queries embedding Subnet Management Attributes:
+.IP "ni:<idx>   = node info" 4
+.IX Item "ni:<idx>   = node info"
+.PD 0
+.IP "nr:<idx>   = node info record (\s-1SA\s0 \s-1RID\s0 + node info)" 4
+.IX Item "nr:<idx>   = node info record (SA RID + node info)"
+.IP "pi:<idx>   = port info" 4
+.IX Item "pi:<idx>   = port info"
+.IP "pir:<idx>  = port info record (\s-1SA\s0 \s-1RID\s0 + port info)" 4
+.IX Item "pir:<idx>  = port info record (SA RID + port info)"
+.IP "smi:<idx>  = \s-1SM\s0 info" 4
+.IX Item "smi:<idx>  = SM info"
+.IP "smir:<idx> = \s-1SM\s0 info record (\s-1SA\s0 \s-1RID\s0 + \s-1SM\s0 info)" 4
+.IX Item "smir:<idx> = SM info record (SA RID + SM info)"
+.IP "swi:<idx>  = switch info" 4
+.IX Item "swi:<idx>  = switch info"
+.IP "swir:<idx> = switch info record (\s-1SA\s0 \s-1RID\s0 + switch info)" 4
+.IX Item "swir:<idx> = switch info record (SA RID + switch info)"
+.IP "slvt:<idx> = \s-1SL\s0 to \s-1VL\s0 table" 4
+.IX Item "slvt:<idx> = SL to VL table"
+.IP "slvr:<idx> = \s-1SL\s0 to \s-1VL\s0 table Record (\s-1SA\s0 \s-1RID\s0 + \s-1SL\s0 to \s-1VL\s0 table)" 4
+.IX Item "slvr:<idx> = SL to VL table Record (SA RID + SL to VL table)"
+.IP "pkt:<idx>  = PKey table" 4
+.IX Item "pkt:<idx>  = PKey table"
+.IP "pkr:<idx>  = PKey table record (\s-1SA\s0 \s-1RID\s0 + PKey table)" 4
+.IX Item "pkr:<idx>  = PKey table record (SA RID + PKey table)"
+.PD
+Queries of non embedded attributes:
+.IP "link:<idx> = link record" 4
+.IX Item "link:<idx> = link record"
+.PD 0
+.IP "path:<idx> = path record" 4
+.IX Item "path:<idx> = path record"
+.IP "lft:<idx>  = Linear forwarding table" 4
+.IX Item "lft:<idx>  = Linear forwarding table"
+.IP "mcm:<idx>  = Multicast Member Record" 4
+.IX Item "mcm:<idx>  = Multicast Member Record"
+.IP "cpi:<idx>  = \s-1SA\s0 Class Port Info" 4
+.IX Item "cpi:<idx>  = SA Class Port Info"
+.IP "info:<idx> = Inform info (registration of event forwarding)" 4
+.IX Item "info:<idx> = Inform info (registration of event forwarding)"
+.IP "svc:<idx>  = Service Record" 4
+.IX Item "svc:<idx>  = Service Record"
+.IP "vlarb:<idx>= \s-1VL\s0 Arbitration table record" 4
+.IX Item "vlarb:<idx>= VL Arbitration table record"
+.PD
+.Sh "\s-1NODE\s0 \s-1INFO\s0 \s-1RECORD\s0"
+.IX Subsection "NODE INFO RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_RESERVED1 = 0x2" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_RESERVED1\fR = 0x2" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_RESERVED1 = 0x2"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_BASEVERSION = 0x4" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_BASEVERSION\fR = 0x4" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_BASEVERSION = 0x4"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_CLASSVERSION = 0x8" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_CLASSVERSION\fR = 0x8" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_CLASSVERSION = 0x8"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_NODETYPE = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_NODETYPE\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_NODETYPE = 0x10"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_NUMPORTS = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_NUMPORTS\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_NUMPORTS = 0x20"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_SYSIMAGEGUID = 0x40" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_SYSIMAGEGUID\fR = 0x40" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_SYSIMAGEGUID = 0x40"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_NODEGUID = 0x80" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_NODEGUID\fR = 0x80" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_NODEGUID = 0x80"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_PORTGUID = 0x100" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_PORTGUID\fR = 0x100" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_PORTGUID = 0x100"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_PARTCAP = 0x200" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_PARTCAP\fR = 0x200" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_PARTCAP = 0x200"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_DEVID = 0x400" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_DEVID\fR = 0x400" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_DEVID = 0x400"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_REV = 0x800" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_REV\fR = 0x800" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_REV = 0x800"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_PORTNUM = 0x1000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_PORTNUM\fR = 0x1000" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_PORTNUM = 0x1000"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_VENDID = 0x2000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_VENDID\fR = 0x2000" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_VENDID = 0x2000"
+.ie n .IP "[ Constant : int  ] $IB_NR_COMPMASK_NODEDESC = 0x4000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_NR_COMPMASK_NODEDESC\fR = 0x4000" 4
+.IX Item "[ Constant : int  ] $IB_NR_COMPMASK_NODEDESC = 0x4000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacNodeInfo\fR
+.IX Subsection "class sacNodeInfo"
+.Sp
+Fields:
+.IP "[ Member data: returns uint8_t * ] \-base_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -base_version"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-class_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -class_version"
+.IP "[ Member data: returns uint8_t * ] \-node_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -node_type"
+.IP "[ Member data: returns uint8_t * ] \-num_ports" 4
+.IX Item "[ Member data: returns uint8_t * ] -num_ports"
+.IP "[ Member data: returns ib_net64_t * ] \-sys_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -sys_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-node_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -node_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-port_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -port_guid"
+.IP "[ Member data: returns ib_net16_t * ] \-partition_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -partition_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-device_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -device_id"
+.IP "[ Member data: returns ib_net32_t * ] \-revision" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -revision"
+.IP "[ Member data: returns ib_net32_t * ] \-port_num_vendor_id" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_num_vendor_id"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacNodeRec\fR
+.IX Subsection "class sacNodeRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns sacNodeInfo * ] \-node_info" 4
+.IX Item "[ Member data: returns sacNodeInfo * ] -node_info"
+.IP "[ Member data: returns ib_node_desc_t * ] \-node_desc" 4
+.IX Item "[ Member data: returns ib_node_desc_t * ] -node_desc"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1PORT\s0 \s-1INFO\s0 \s-1RECORD\s0"
+.IX Subsection "PORT INFO RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_PORTNUM = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_PORTNUM\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_PORTNUM = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_RESV1 = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_RESV1\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_RESV1 = 0x4"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_MKEY = 0x8" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_MKEY\fR = 0x8" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_MKEY = 0x8"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_GIDPRE = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_GIDPRE\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_GIDPRE = 0x10"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_BASELID = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_BASELID\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_BASELID = 0x20"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_SMLID = 0x40" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_SMLID\fR = 0x40" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_SMLID = 0x40"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_CAPMASK = 0x80" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_CAPMASK\fR = 0x80" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_CAPMASK = 0x80"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_DIAGCODE = 0x100" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_DIAGCODE\fR = 0x100" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_DIAGCODE = 0x100"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_MKEYLEASEPRD\fR = 0x200" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LOCALPORTNUM = 0x400" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LOCALPORTNUM\fR = 0x400" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LOCALPORTNUM = 0x400"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LNKWIDTHSUPPORT\fR = 0x800" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LNKWIDTHACTIVE\fR = 0x1000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LINKWIDTHENABLED\fR = 0x2000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LNKSPEEDSUPPORT\fR = 0x4000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_PORTSTATE = 0x10000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_PORTSTATE\fR = 0x10000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_PORTSTATE = 0x10000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_PORTPHYSTATE\fR = 0x20000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LINKDWNDFLTSTATE\fR = 0x40000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_MKEYPROTBITS\fR = 0x80000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LMC = 0x100000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LMC\fR = 0x100000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LMC = 0x100000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LINKSPEEDACTIVE\fR = 0x200000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_LINKSPEEDENABLE\fR = 0x400000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_NEIGHBORMTU\fR = 0x800000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_MASTERSMSL = 0x1000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_MASTERSMSL\fR = 0x1000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_MASTERSMSL = 0x1000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_VLCAP = 0x2000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_VLCAP\fR = 0x2000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_VLCAP = 0x2000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_INITTYPE = 0x4000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_INITTYPE\fR = 0x4000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_INITTYPE = 0x4000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_VLHIGHLIMIT\fR = 0x8000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_VLARBHIGHCAP\fR = 0x10000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_VLARBLOWCAP\fR = 0x20000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_INITTYPEREPLY\fR = 0x40000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000"
+.ie n .IP "[ Constant : int  ] $IB_PIR_COMPMASK_MTUCAP = 0x80000000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PIR_COMPMASK_MTUCAP\fR = 0x80000000" 4
+.IX Item "[ Constant : int  ] $IB_PIR_COMPMASK_MTUCAP = 0x80000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_VLSTALLCNT\fR = 0x100000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_HOQLIFE = 0x200000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_HOQLIFE\fR = 0x200000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_HOQLIFE = 0x200000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_OPVLS = 0x400000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_OPVLS\fR = 0x400000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_OPVLS = 0x400000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_PARENFIN = 0x800000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_PARENFIN\fR = 0x800000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_PARENFIN = 0x800000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_PARENFOUT = 0x1000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_PARENFOUT\fR = 0x1000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_PARENFOUT = 0x1000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_FILTERRAWIN\fR = 0x2000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_FILTERRAWOUT\fR = 0x4000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_MKEYVIO = 0x8000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_MKEYVIO\fR = 0x8000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_MKEYVIO = 0x8000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_PKEYVIO = 0x10000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_PKEYVIO\fR = 0x10000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_PKEYVIO = 0x10000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_QKEYVIO = 0x20000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_QKEYVIO\fR = 0x20000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_QKEYVIO = 0x20000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_GUIDCAP = 0x40000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_GUIDCAP\fR = 0x40000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_GUIDCAP = 0x40000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_RESV2 = 0x80000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_RESV2\fR = 0x80000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_RESV2 = 0x80000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_SUBNTO = 0x100000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_SUBNTO\fR = 0x100000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_SUBNTO = 0x100000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_RESV3 = 0x200000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_RESV3\fR = 0x200000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_RESV3 = 0x200000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_RESPTIME = 0x400000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_RESPTIME\fR = 0x400000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_RESPTIME = 0x400000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_LOCALPHYERR\fR = 0x800000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000"
+.ie n .IP "[ Constant : char * ] $IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PIR_COMPMASK_OVERRUNERR\fR = 0x1000000000000" 4
+.IX Item "[ Constant : char * ] $IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacPortInfo\fR
+.IX Subsection "class sacPortInfo"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net64_t * ] \-m_key" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -m_key"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-subnet_prefix" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -subnet_prefix"
+.IP "[ Member data: returns ib_net16_t * ] \-base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -base_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-master_sm_base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -master_sm_base_lid"
+.IP "[ Member data: returns ib_net32_t * ] \-capability_mask" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -capability_mask"
+.IP "[ Member data: returns ib_net16_t * ] \-diag_code" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -diag_code"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_lease_period" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_lease_period"
+.IP "[ Member data: returns uint8_t * ] \-local_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -local_port_num"
+.IP "[ Member data: returns uint8_t * ] \-link_width_enabled" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_enabled"
+.IP "[ Member data: returns uint8_t * ] \-link_width_supported" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_supported"
+.IP "[ Member data: returns uint8_t * ] \-link_width_active" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_active"
+.IP "[ Member data: returns uint8_t * ] \-state_info1" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info1"
+.PD
+LinkSpeedSupported and PortState
+.IP "[ Member data: returns uint8_t * ] \-state_info2" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info2"
+PortPhysState and LinkDownDefaultState
+.IP "[ Member data: returns uint8_t * ] \-mkey_lmc" 4
+.IX Item "[ Member data: returns uint8_t * ] -mkey_lmc"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-link_speed" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_speed"
+.PD
+LinkSpeedEnabled and LinkSpeedActive
+.IP "[ Member data: returns uint8_t * ] \-mtu_smsl" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_smsl"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_cap"
+.PD
+VlCap and InitType
+.IP "[ Member data: returns uint8_t * ] \-vl_high_limit" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_high_limit"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_high_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_high_cap"
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_low_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_low_cap"
+.IP "[ Member data: returns uint8_t * ] \-mtu_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_cap"
+.IP "[ Member data: returns uint8_t * ] \-vl_stall_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_stall_life"
+.IP "[ Member data: returns uint8_t * ] \-vl_enforce" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_enforce"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-p_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -p_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-q_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -q_key_violations"
+.IP "[ Member data: returns uint8_t * ] \-guid_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -guid_cap"
+.IP "[ Member data: returns uint8_t * ] \-subnet_timeout" 4
+.IX Item "[ Member data: returns uint8_t * ] -subnet_timeout"
+.IP "[ Member data: returns uint8_t * ] \-resp_time_value" 4
+.IX Item "[ Member data: returns uint8_t * ] -resp_time_value"
+.IP "[ Member data: returns uint8_t * ] \-error_threshold" 4
+.IX Item "[ Member data: returns uint8_t * ] -error_threshold"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacPortRec\fR
+.IX Subsection "class sacPortRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_num"
+.IP "[ Member data: returns sacPortInfo * ] \-port_info" 4
+.IX Item "[ Member data: returns sacPortInfo * ] -port_info"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1SM\s0 \s-1INFO\s0 \s-1RECORD\s0"
+.IX Subsection "SM INFO RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_SMR_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SMR_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_SMR_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_SMR_COMPMASK_GUID = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SMR_COMPMASK_GUID\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_SMR_COMPMASK_GUID = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_SMR_COMPMASK_SM_KEY = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SMR_COMPMASK_SM_KEY\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_SMR_COMPMASK_SM_KEY = 0x4"
+.ie n .IP "[ Constant : char * ] $IB_SMR_COMPMASK_ACT_COUNT = 0x8" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SMR_COMPMASK_ACT_COUNT\fR = 0x8" 4
+.IX Item "[ Constant : char * ] $IB_SMR_COMPMASK_ACT_COUNT = 0x8"
+.ie n .IP "[ Constant : int  ] $IB_SMR_COMPMASK_STATE = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_SMR_COMPMASK_STATE\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $IB_SMR_COMPMASK_STATE = 0x10"
+.ie n .IP "[ Constant : int  ] $IB_SMR_COMPMASK_PRI = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_SMR_COMPMASK_PRI\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $IB_SMR_COMPMASK_PRI = 0x20"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacSmInfo\fR
+.IX Subsection "class sacSmInfo"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net64_t * ] \-guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -guid"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-sm_key" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -sm_key"
+.IP "[ Member data: returns ib_net32_t * ] \-act_count" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -act_count"
+.IP "[ Member data: returns uint8_t * ] \-pri_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -pri_state"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacSmRec\fR
+.IX Subsection "class sacSmRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns sacSmInfo * ] \-sm_info" 4
+.IX Item "[ Member data: returns sacSmInfo * ] -sm_info"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1SWITCH\s0 \s-1INFO\s0 \s-1RECORD\s0"
+.IX Subsection "SWITCH INFO RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_LIN_CAP = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_LIN_CAP\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_LIN_CAP = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_RAND_CAP = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_RAND_CAP\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_RAND_CAP = 0x4"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_MCAST_CAP = 0x8" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_MCAST_CAP\fR = 0x8" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_MCAST_CAP = 0x8"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_LIN_TOP = 0x10" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_LIN_TOP\fR = 0x10" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_LIN_TOP = 0x10"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_PORT = 0x20" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_DEF_PORT\fR = 0x20" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_PORT = 0x20"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_DEF_MCAST_PRI\fR = 0x40" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_DEF_MCAST_NOT\fR = 0x80" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_STATE = 0x100" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_STATE\fR = 0x100" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_STATE = 0x100"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_LIFE = 0x200" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_LIFE\fR = 0x200" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_LIFE = 0x200"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_LMC = 0x400" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_LMC\fR = 0x400" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_LMC = 0x400"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_ENFORCE_CAP = 0x800" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_ENFORCE_CAP\fR = 0x800" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_ENFORCE_CAP = 0x800"
+.ie n .IP "[ Constant : char * ] $IB_SWR_COMPMASK_FLAGS = 0x1000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SWR_COMPMASK_FLAGS\fR = 0x1000" 4
+.IX Item "[ Constant : char * ] $IB_SWR_COMPMASK_FLAGS = 0x1000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacSwInfo\fR
+.IX Subsection "class sacSwInfo"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lin_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_cap"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-rand_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -rand_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-mcast_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -mcast_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-lin_top" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_top"
+.IP "[ Member data: returns uint8_t * ] \-def_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_pri_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_pri_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_not_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_not_port"
+.IP "[ Member data: returns uint8_t * ] \-life_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -life_state"
+.IP "[ Member data: returns ib_net16_t * ] \-lids_per_port" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lids_per_port"
+.IP "[ Member data: returns ib_net16_t * ] \-enforce_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -enforce_cap"
+.IP "[ Member data: returns uint8_t * ] \-flags" 4
+.IX Item "[ Member data: returns uint8_t * ] -flags"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacSwRec\fR
+.IX Subsection "class sacSwRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns sacSwInfo * ] \-switch_info" 4
+.IX Item "[ Member data: returns sacSwInfo * ] -switch_info"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1LINK\s0 \s-1RECORD\s0"
+.IX Subsection "LINK RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : int  ] $IB_LR_COMPMASK_FROM_LID = 0x1" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_LR_COMPMASK_FROM_LID\fR = 0x1" 4
+.IX Item "[ Constant : int  ] $IB_LR_COMPMASK_FROM_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : int  ] $IB_LR_COMPMASK_FROM_PORT = 0x2" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_LR_COMPMASK_FROM_PORT\fR = 0x2" 4
+.IX Item "[ Constant : int  ] $IB_LR_COMPMASK_FROM_PORT = 0x2"
+.ie n .IP "[ Constant : int  ] $IB_LR_COMPMASK_TO_PORT = 0x4" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_LR_COMPMASK_TO_PORT\fR = 0x4" 4
+.IX Item "[ Constant : int  ] $IB_LR_COMPMASK_TO_PORT = 0x4"
+.ie n .IP "[ Constant : int  ] $IB_LR_COMPMASK_TO_LID = 0x8" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_LR_COMPMASK_TO_LID\fR = 0x8" 4
+.IX Item "[ Constant : int  ] $IB_LR_COMPMASK_TO_LID = 0x8"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacLinkRec\fR
+.IX Subsection "class sacLinkRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-from_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -from_lid"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-from_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -from_port_num"
+.IP "[ Member data: returns uint8_t * ] \-to_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -to_port_num"
+.IP "[ Member data: returns ib_net16_t * ] \-to_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -to_lid"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1PATH\s0 \s-1RECORD\s0"
+.IX Subsection "PATH RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_DGID = 0x4" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_DGID\fR = 0x4" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_DGID = 0x4"
+.PD 0
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_SGID = 0x8" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_SGID\fR = 0x8" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_SGID = 0x8"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_DLID = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_DLID\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_DLID = 0x10"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_SLID = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_SLID\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_SLID = 0x20"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_RAWTRAFIC = 0x40" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_RAWTRAFIC\fR = 0x40" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_RAWTRAFIC = 0x40"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_RESV0 = 0x80" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_RESV0\fR = 0x80" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_RESV0 = 0x80"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_FLOWLABEL = 0x100" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_FLOWLABEL\fR = 0x100" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_FLOWLABEL = 0x100"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_HOPLIMIT = 0x200" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_HOPLIMIT\fR = 0x200" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_HOPLIMIT = 0x200"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_TCLASS = 0x400" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_TCLASS\fR = 0x400" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_TCLASS = 0x400"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_REVERSIBLE = 0x800" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_REVERSIBLE\fR = 0x800" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_REVERSIBLE = 0x800"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_NUMBPATH = 0x1000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_NUMBPATH\fR = 0x1000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_NUMBPATH = 0x1000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_PKEY = 0x2000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_PKEY\fR = 0x2000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_PKEY = 0x2000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_RESV1 = 0x4000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_RESV1\fR = 0x4000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_RESV1 = 0x4000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_SL = 0x8000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_SL\fR = 0x8000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_SL = 0x8000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_MTUSELEC = 0x10000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_MTUSELEC\fR = 0x10000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_MTUSELEC = 0x10000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_MTU = 0x20000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_MTU\fR = 0x20000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_MTU = 0x20000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_RATESELEC = 0x40000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_RATESELEC\fR = 0x40000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_RATESELEC = 0x40000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_RATE = 0x80000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_RATE\fR = 0x80000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_RATE = 0x80000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_PKTLIFETIMESELEC\fR = 0x100000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000"
+.ie n .IP "[ Constant : int  ] $IB_PR_COMPMASK_PFTLIFETIME = 0x200000" 4
+.el .IP "[ Constant : int  ] \f(CW$IB_PR_COMPMASK_PFTLIFETIME\fR = 0x200000" 4
+.IX Item "[ Constant : int  ] $IB_PR_COMPMASK_PFTLIFETIME = 0x200000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacPathRec\fR
+.IX Subsection "class sacPathRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_gid_t * ] \-dgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -dgid"
+.PD 0
+.IP "[ Member data: returns ib_gid_t * ] \-sgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -sgid"
+.IP "[ Member data: returns ib_net16_t * ] \-dlid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -dlid"
+.IP "[ Member data: returns ib_net16_t * ] \-slid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -slid"
+.IP "[ Member data: returns ib_net32_t * ] \-hop_flow_raw" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -hop_flow_raw"
+.IP "[ Member data: returns uint8_t * ] \-tclass" 4
+.IX Item "[ Member data: returns uint8_t * ] -tclass"
+.IP "[ Member data: returns uint8_t * ] \-num_path" 4
+.IX Item "[ Member data: returns uint8_t * ] -num_path"
+.IP "[ Member data: returns ib_net16_t * ] \-pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pkey"
+.IP "[ Member data: returns ib_net16_t * ] \-sl" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -sl"
+.IP "[ Member data: returns uint8_t * ] \-mtu" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu"
+.IP "[ Member data: returns uint8_t * ] \-rate" 4
+.IX Item "[ Member data: returns uint8_t * ] -rate"
+.IP "[ Member data: returns uint8_t * ] \-pkt_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -pkt_life"
+.IP "[ Member data: returns uint8_t * ] \-preference" 4
+.IX Item "[ Member data: returns uint8_t * ] -preference"
+.PD
+Methds:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1LINEAR\s0 \s-1FORWARDING\s0 \s-1TABLE\s0"
+.IX Subsection "LINEAR FORWARDING TABLE"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_LFT_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_LFT_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_LFT_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_LFT_COMPMASK_BLOCK = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_LFT_COMPMASK_BLOCK\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_LFT_COMPMASK_BLOCK = 0x2"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacLFTRec\fR
+.IX Subsection "class sacLFTRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-block_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -block_num"
+.IP "[ Member data: returns ib_lft_t * ] \-lft" 4
+.IX Item "[ Member data: returns ib_lft_t * ] -lft"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1MULTICAST\s0 \s-1MEMBER\s0 \s-1RECORD\s0"
+.IX Subsection "MULTICAST MEMBER RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_GID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_GID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_GID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_MGID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_MGID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_MGID = 0x1"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_PORT_GID = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_PORT_GID\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_PORT_GID = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_QKEY = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_QKEY\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_QKEY = 0x4"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_MLID = 0x8" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_MLID\fR = 0x8" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_MLID = 0x8"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_MTU_SEL = 0x10" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_MTU_SEL\fR = 0x10" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_MTU_SEL = 0x10"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_MTU = 0x20" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_MTU\fR = 0x20" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_MTU = 0x20"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_TCLASS = 0x40" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_TCLASS\fR = 0x40" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_TCLASS = 0x40"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_PKEY = 0x80" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_PKEY\fR = 0x80" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_PKEY = 0x80"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_RATE_SEL = 0x100" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_RATE_SEL\fR = 0x100" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_RATE_SEL = 0x100"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_RATE = 0x200" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_RATE\fR = 0x200" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_RATE = 0x200"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_LIFE_SEL = 0x400" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_LIFE_SEL\fR = 0x400" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_LIFE_SEL = 0x400"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_LIFE = 0x800" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_LIFE\fR = 0x800" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_LIFE = 0x800"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_SL = 0x1000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_SL\fR = 0x1000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_SL = 0x1000"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_FLOW = 0x2000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_FLOW\fR = 0x2000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_FLOW = 0x2000"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_HOP = 0x4000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_HOP\fR = 0x4000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_HOP = 0x4000"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_SCOPE = 0x8000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_SCOPE\fR = 0x8000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_SCOPE = 0x8000"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_JOIN_STATE = 0x10000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_JOIN_STATE\fR = 0x10000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_JOIN_STATE = 0x10000"
+.ie n .IP "[ Constant : char * ] $IB_MCR_COMPMASK_PROXY = 0x20000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_MCR_COMPMASK_PROXY\fR = 0x20000" 4
+.IX Item "[ Constant : char * ] $IB_MCR_COMPMASK_PROXY = 0x20000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacMCMRec\fR
+.IX Subsection "class sacMCMRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_gid_t * ] \-mgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -mgid"
+.PD 0
+.IP "[ Member data: returns ib_gid_t * ] \-port_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -port_gid"
+.IP "[ Member data: returns ib_net32_t * ] \-qkey" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qkey"
+.IP "[ Member data: returns ib_net16_t * ] \-mlid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -mlid"
+.IP "[ Member data: returns uint8_t * ] \-mtu" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu"
+.IP "[ Member data: returns uint8_t * ] \-tclass" 4
+.IX Item "[ Member data: returns uint8_t * ] -tclass"
+.IP "[ Member data: returns ib_net16_t * ] \-pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pkey"
+.IP "[ Member data: returns uint8_t * ] \-rate" 4
+.IX Item "[ Member data: returns uint8_t * ] -rate"
+.IP "[ Member data: returns uint8_t * ] \-pkt_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -pkt_life"
+.IP "[ Member data: returns ib_net32_t * ] \-sl_flow_hop" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -sl_flow_hop"
+.IP "[ Member data: returns uint8_t * ] \-scope_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -scope_state"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns char * ] set comp_mask" 4
+.IX Item "[ Member : returns char * ] set comp_mask"
+.IP "[ Member : returns char * ] del comp_mask" 4
+.IX Item "[ Member : returns char * ] del comp_mask"
+.IP "[ Member : returns int  ] proxy_join_get" 4
+.IX Item "[ Member : returns int  ] proxy_join_get"
+.PD
+Instead of simple field cget
+.IP "[ Member : returns void  ] proxy_join_set proxy_join" 4
+.IX Item "[ Member : returns void  ] proxy_join_set proxy_join"
+Instead of simple field configure
+.IP "[ Member : returns void  ] obj_delete" 4
+.IX Item "[ Member : returns void  ] obj_delete"
+Delete the object
+.Sh "\s-1SA\s0 \s-1CLASS\s0 \s-1PORT\s0 \s-1INFO\s0"
+.IX Subsection "SA CLASS PORT INFO"
+.RS 4
+\&\-\-\-\-
+.Sp
+\fIclass sacClassPortInfo\fR
+.IX Subsection "class sacClassPortInfo"
+.Sp
+Fields:
+.RE
+.IP "[ Member data: returns uint8_t * ] \-base_ver" 4
+.IX Item "[ Member data: returns uint8_t * ] -base_ver"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-class_ver" 4
+.IX Item "[ Member data: returns uint8_t * ] -class_ver"
+.IP "[ Member data: returns ib_net16_t * ] \-cap_mask" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -cap_mask"
+.IP "[ Member data: returns ib_net32_t * ] \-resp_time_val" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -resp_time_val"
+.IP "[ Member data: returns ib_gid_t * ] \-redir_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -redir_gid"
+.IP "[ Member data: returns ib_net32_t * ] \-redir_tc_sl_fl" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -redir_tc_sl_fl"
+.IP "[ Member data: returns ib_net16_t * ] \-redir_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -redir_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-redir_pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -redir_pkey"
+.IP "[ Member data: returns ib_net32_t * ] \-redir_qp" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -redir_qp"
+.IP "[ Member data: returns ib_net32_t * ] \-redir_qkey" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -redir_qkey"
+.IP "[ Member data: returns ib_gid_t * ] \-trap_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -trap_gid"
+.IP "[ Member data: returns ib_net32_t * ] \-trap_tc_sl_fl" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -trap_tc_sl_fl"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_pkey"
+.IP "[ Member data: returns ib_net32_t * ] \-trap_hop_qp" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -trap_hop_qp"
+.IP "[ Member data: returns ib_net32_t * ] \-trap_qkey" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -trap_qkey"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get" 4
+.IX Item "[ Member : returns char * ] get"
+.PD 0
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1INFORM\s0 \s-1INFO\s0 \s-1RECORD\s0"
+.IX Subsection "INFORM INFO RECORD"
+.RS 4
+The inform Info is built with heirarchy of objects. So several classes are defined.
+.Sp
+\&\-\-\-\-
+.Sp
+\fIclass sacInformInfo\fR
+.IX Subsection "class sacInformInfo"
+.Sp
+Fields:
+.RE
+.IP "[ Member data: returns ib_gid_t * ] \-gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid_range_begin" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid_range_begin"
+.IP "[ Member data: returns ib_net16_t * ] \-lid_range_end" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid_range_end"
+.IP "[ Member data: returns ib_net16_t * ] \-reserved1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -reserved1"
+.IP "[ Member data: returns uint8_t * ] \-is_generic" 4
+.IX Item "[ Member data: returns uint8_t * ] -is_generic"
+.IP "[ Member data: returns uint8_t * ] \-subscribe" 4
+.IX Item "[ Member data: returns uint8_t * ] -subscribe"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_type" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_type"
+.IP "[ Member data: returns sacInformInfo_g_or_v * ] \-g_or_v" 4
+.IX Item "[ Member data: returns sacInformInfo_g_or_v * ] -g_or_v"
+.PD
+Methods:
+.IP "[ Member : returns char * ] set" 4
+.IX Item "[ Member : returns char * ] set"
+.PD 0
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacInformInfo_g_or_v\fR
+.IX Subsection "class sacInformInfo_g_or_v"
+.Sp
+Fields:
+.IP "[ Member data: returns sacInformInfo_g_or_v_generic * ] \-generic" 4
+.IX Item "[ Member data: returns sacInformInfo_g_or_v_generic * ] -generic"
+.PD 0
+.IP "[ Member data: returns sacInformInfo_g_or_v_vend * ] \-vend" 4
+.IX Item "[ Member data: returns sacInformInfo_g_or_v_vend * ] -vend"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacInformInfo_g_or_v_generic\fR
+.IX Subsection "class sacInformInfo_g_or_v_generic"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-trap_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_num"
+.PD 0
+.IP "[ Member data: returns ib_net32_t * ] \-qpn_resp_time_val" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qpn_resp_time_val"
+.IP "[ Member data: returns uint8_t * ] \-reserved2" 4
+.IX Item "[ Member data: returns uint8_t * ] -reserved2"
+.IP "[ Member data: returns uint8_t * ] \-node_type_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -node_type_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-node_type_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -node_type_lsb"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacInformInfo_g_or_v_vend\fR
+.IX Subsection "class sacInformInfo_g_or_v_vend"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-dev_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -dev_id"
+.PD 0
+.IP "[ Member data: returns ib_net32_t * ] \-qpn_resp_time_val" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qpn_resp_time_val"
+.IP "[ Member data: returns uint8_t * ] \-reserved2" 4
+.IX Item "[ Member data: returns uint8_t * ] -reserved2"
+.IP "[ Member data: returns uint8_t * ] \-vendor_id_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -vendor_id_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-vendor_id_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -vendor_id_lsb"
+.PD
+.Sh "\s-1SERVICE\s0 \s-1RECORD\s0"
+.IX Subsection "SERVICE RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SGID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SGID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SGID = 0x1"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SPKEY = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SPKEY\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SPKEY = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_RES1 = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_RES1\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_RES1 = 0x4"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SLEASE = 0x8" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SLEASE\fR = 0x8" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SLEASE = 0x8"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SKEY = 0x10" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SKEY\fR = 0x10" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SKEY = 0x10"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SNAME = 0x20" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SNAME\fR = 0x20" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SNAME = 0x20"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_0 = 0x40" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_0\fR = 0x40" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_0 = 0x40"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_1 = 0x80" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_1\fR = 0x80" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_1 = 0x80"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_2 = 0x100" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_2\fR = 0x100" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_2 = 0x100"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_3 = 0x200" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_3\fR = 0x200" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_3 = 0x200"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_4 = 0x400" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_4\fR = 0x400" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_4 = 0x400"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_5 = 0x800" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_5\fR = 0x800" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_5 = 0x800"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_6 = 0x1000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_6\fR = 0x1000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_6 = 0x1000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_7 = 0x2000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_7\fR = 0x2000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_7 = 0x2000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_8 = 0x4000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_8\fR = 0x4000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_8 = 0x4000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_9 = 0x8000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_9\fR = 0x8000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_9 = 0x8000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_10 = 0x10000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_10\fR = 0x10000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_10 = 0x10000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_11 = 0x20000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_11\fR = 0x20000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_11 = 0x20000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_12 = 0x40000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_12\fR = 0x40000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_12 = 0x40000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_13 = 0x80000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_13\fR = 0x80000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_13 = 0x80000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_14 = 0x100000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_14\fR = 0x100000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_14 = 0x100000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_15 = 0x200000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA8_15\fR = 0x200000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA8_15 = 0x200000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_0 = 0x400000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_0\fR = 0x400000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_0 = 0x400000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_1 = 0x800000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_1\fR = 0x800000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_1 = 0x800000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_2 = 0x1000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_2\fR = 0x1000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_2 = 0x1000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_3 = 0x2000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_3\fR = 0x2000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_3 = 0x2000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_4 = 0x4000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_4\fR = 0x4000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_4 = 0x4000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_5 = 0x8000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_5\fR = 0x8000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_5 = 0x8000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_6 = 0x10000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_6\fR = 0x10000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_6 = 0x10000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_7 = 0x20000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA16_7\fR = 0x20000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA16_7 = 0x20000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_0 = 0x40000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA32_0\fR = 0x40000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_0 = 0x40000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_1 = 0x80000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA32_1\fR = 0x80000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_1 = 0x80000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_2 = 0x100000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA32_2\fR = 0x100000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_2 = 0x100000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_3 = 0x200000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA32_3\fR = 0x200000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA32_3 = 0x200000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA64_0 = 0x400000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA64_0\fR = 0x400000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA64_0 = 0x400000000"
+.ie n .IP "[ Constant : char * ] $IB_SR_COMPMASK_SDATA64_1 = 0x800000000" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SR_COMPMASK_SDATA64_1\fR = 0x800000000" 4
+.IX Item "[ Constant : char * ] $IB_SR_COMPMASK_SDATA64_1 = 0x800000000"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacServiceRec\fR
+.IX Subsection "class sacServiceRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net64_t * ] \-service_id" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -service_id"
+.PD 0
+.IP "[ Member data: returns ib_gid_t * ] \-service_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -service_gid"
+.IP "[ Member data: returns ib_net16_t * ] \-service_pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -service_pkey"
+.IP "[ Member data: returns ib_net16_t * ] \-resv" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -resv"
+.IP "[ Member data: returns ib_net32_t * ] \-service_lease" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -service_lease"
+.IP "[ Member data: returns uint8_array_t * ] \-service_key" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -service_key"
+.IP "[ Member data: returns ib_svc_name_t * ] \-service_name" 4
+.IX Item "[ Member data: returns ib_svc_name_t * ] -service_name"
+.IP "[ Member data: returns uint8_array_t * ] \-service_data8" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -service_data8"
+.IP "[ Member data: returns ib_net16_array_t * ] \-service_data16" 4
+.IX Item "[ Member data: returns ib_net16_array_t * ] -service_data16"
+.IP "[ Member data: returns ib_net32_array_t * ] \-service_data32" 4
+.IX Item "[ Member data: returns ib_net32_array_t * ] -service_data32"
+.IP "[ Member data: returns ib_net64_array_t * ] \-service_data64" 4
+.IX Item "[ Member data: returns ib_net64_array_t * ] -service_data64"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] set comp_mask" 4
+.IX Item "[ Member : returns char * ] set comp_mask"
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns char * ] delete comp_mask" 4
+.IX Item "[ Member : returns char * ] delete comp_mask"
+.IP "[ Member : returns void  ] obj_delete" 4
+.IX Item "[ Member : returns void  ] obj_delete"
+.PD
+.Sh "\s-1SL\s0 to \s-1VL\s0 \s-1TABLE\s0 \s-1RECORD\s0"
+.IX Subsection "SL to VL TABLE RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_SLVL_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SLVL_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_SLVL_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_SLVL_COMPMASK_IN_PORT = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SLVL_COMPMASK_IN_PORT\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_SLVL_COMPMASK_IN_PORT = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_SLVL_COMPMASK_OUT_PORT = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_SLVL_COMPMASK_OUT_PORT\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_SLVL_COMPMASK_OUT_PORT = 0x4"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacSlVlTbl\fR
+.IX Subsection "class sacSlVlTbl"
+.IP "[ Member data: returns uint8_array_t * ] \-raw_vl_by_sl" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -raw_vl_by_sl"
+\&\-\-\-\-
+.Sp
+\fIclass sacSlVlRec\fR
+.IX Subsection "class sacSlVlRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+for \s-1CA:\s0 lid of port, for switch lid of port 0
+.IP "[ Member data: returns uint8_t * ] \-in_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -in_port_num"
+reserved for \s-1CA\s0's
+.IP "[ Member data: returns uint8_t * ] \-out_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -out_port_num"
+reserved for \s-1CA\s0's
+.IP "[ Member data: returns uint32_t * ] \-resv" 4
+.IX Item "[ Member data: returns uint32_t * ] -resv"
+.PD 0
+.IP "[ Member data: returns sacSlVlTbl * ] \-slvl_tbl" 4
+.IX Item "[ Member data: returns sacSlVlTbl * ] -slvl_tbl"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1VL\s0 \s-1ARBITRATION\s0 \s-1TABLE\s0 \s-1RECORD\s0"
+.IX Subsection "VL ARBITRATION TABLE RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_VLA_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_VLA_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_VLA_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_VLA_COMPMASK_OUT_PORT = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_VLA_COMPMASK_OUT_PORT\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_VLA_COMPMASK_OUT_PORT = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_VLA_COMPMASK_BLOCK = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_VLA_COMPMASK_BLOCK\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_VLA_COMPMASK_BLOCK = 0x4"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacVlArbRec\fR
+.IX Subsection "class sacVlArbRec"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+for \s-1CA:\s0 lid of port, for switch lid of port 0
+.IP "[ Member data: returns uint8_t * ] \-port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_num"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-block_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -block_num"
+.IP "[ Member data: returns uint32_t * ] \-reserved" 4
+.IX Item "[ Member data: returns uint32_t * ] -reserved"
+.IP "[ Member data: returns sac_vl_arb_tbl_t * ] \-vl_arb_tbl" 4
+.IX Item "[ Member data: returns sac_vl_arb_tbl_t * ] -vl_arb_tbl"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.Sh "\s-1PKEY\s0 \s-1TABLE\s0 \s-1RECORD\s0"
+.IX Subsection "PKEY TABLE RECORD"
+.RS 4
+Component mask bits:
+.RE
+.ie n .IP "[ Constant : char * ] $IB_PKEY_COMPMASK_LID = 0x1" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PKEY_COMPMASK_LID\fR = 0x1" 4
+.IX Item "[ Constant : char * ] $IB_PKEY_COMPMASK_LID = 0x1"
+.PD 0
+.ie n .IP "[ Constant : char * ] $IB_PKEY_COMPMASK_BLOCK = 0x2" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PKEY_COMPMASK_BLOCK\fR = 0x2" 4
+.IX Item "[ Constant : char * ] $IB_PKEY_COMPMASK_BLOCK = 0x2"
+.ie n .IP "[ Constant : char * ] $IB_PKEY_COMPMASK_PORT = 0x4" 4
+.el .IP "[ Constant : char * ] \f(CW$IB_PKEY_COMPMASK_PORT\fR = 0x4" 4
+.IX Item "[ Constant : char * ] $IB_PKEY_COMPMASK_PORT = 0x4"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass sacPKeyTbl\fR
+.IX Subsection "class sacPKeyTbl"
+.Sp
+Fields:
+.IP "[ Member data: returns ib_net16_array_t * ] \-pkey_entry" 4
+.IX Item "[ Member data: returns ib_net16_array_t * ] -pkey_entry"
+\&\-\-\-\-
+.Sp
+\fIclass sacPKeyRec\fR
+.IX Subsection "class sacPKeyRec"
+.Sp
+\&\s-1RID\s0 Fields:
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+for \s-1CA:\s0 lid of port, for switch lid of port 0
+.IP "[ Member data: returns uint16_t * ] \-block_num" 4
+.IX Item "[ Member data: returns uint16_t * ] -block_num"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_num"
+.PD
+for switch: port number, for \s-1CA:\s0 reserved
+.IP "[ Member data: returns uint8_t * ] \-reserved1" 4
+.IX Item "[ Member data: returns uint8_t * ] -reserved1"
+.PD 0
+.IP "[ Member data: returns uint16_t * ] \-reserved2" 4
+.IX Item "[ Member data: returns uint16_t * ] -reserved2"
+.IP "[ Member data: returns sacPKeyTbl * ] \-pkey_tbl" 4
+.IX Item "[ Member data: returns sacPKeyTbl * ] -pkey_tbl"
+.PD
+Methods:
+.IP "[ Member : returns char * ] get comp_mask" 4
+.IX Item "[ Member : returns char * ] get comp_mask"
+.PD 0
+.IP "[ Member : returns char * ] getTable comp_mask" 4
+.IX Item "[ Member : returns char * ] getTable comp_mask"
+.IP "[ Member : returns void  ] delete" 4
+.IX Item "[ Member : returns void  ] delete"
+.PD
+.SH "Subnet Management MADs (SMPs)"
+.IX Header "Subnet Management MADs (SMPs)"
+The \s-1SM\s0 interface supports sending Subnet Management Packets to the fabric devices. The specific attributes that can be access is provided in detail in each sub section below.
+.Sp
+A set of object types is defined. The user can allocate a new attribute object. Then the object can be set using configure or the direct manipulation methods.
+Extra methods are provided for each object:
+=item setByDr <dr> <attrMod>
+.Sp
+Set the attribute on the object accessible by the given directed route. A directed route is a list of port numbers to go out from.
+.IP "getByDr <dr> <attrMod>" 4
+.IX Item "getByDr <dr> <attrMod>"
+Get the attribute value by traversing a directed route.
+.Sp
+setByLid <lid> <attrMod>
+.Sp
+Set the attribute on the object accessible by the given \s-1LID\s0
+.Sp
+getByLid <lid> <attrMod>
+.Sp
+get the attribute on the object accessible by the given \s-1LID\s0
+.Sh "class smNodeInfo"
+.IX Subsection "class smNodeInfo"
+.RS 4
+Fields:
+.RE
+.IP "[ Member data: returns uint8_t * ] \-base_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -base_version"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-class_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -class_version"
+.IP "[ Member data: returns uint8_t * ] \-node_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -node_type"
+.IP "[ Member data: returns uint8_t * ] \-num_ports" 4
+.IX Item "[ Member data: returns uint8_t * ] -num_ports"
+.IP "[ Member data: returns ib_net64_t * ] \-sys_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -sys_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-node_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -node_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-port_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -port_guid"
+.IP "[ Member data: returns ib_net16_t * ] \-partition_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -partition_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-device_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -device_id"
+.IP "[ Member data: returns ib_net32_t * ] \-revision" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -revision"
+.IP "[ Member data: returns ib_net32_t * ] \-port_num_vendor_id" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_num_vendor_id"
+.PD
+Methods:
+.IP "[ Member : returns int  ] getByDr dr" 4
+.IX Item "[ Member : returns int  ] getByDr dr"
+.PD 0
+.IP "[ Member : returns int  ] setByDr dr" 4
+.IX Item "[ Member : returns int  ] setByDr dr"
+.IP "[ Member : returns int  ] getByLid lid" 4
+.IX Item "[ Member : returns int  ] getByLid lid"
+.IP "[ Member : returns int  ] setByLid lid" 4
+.IX Item "[ Member : returns int  ] setByLid lid"
+.PD
+.SH "class smPortInfo"
+.IX Header "class smPortInfo"
+Fields:
+.IP "[ Member data: returns ib_net64_t * ] \-m_key" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -m_key"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-subnet_prefix" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -subnet_prefix"
+.IP "[ Member data: returns ib_net16_t * ] \-base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -base_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-master_sm_base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -master_sm_base_lid"
+.IP "[ Member data: returns ib_net32_t * ] \-capability_mask" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -capability_mask"
+.IP "[ Member data: returns ib_net16_t * ] \-diag_code" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -diag_code"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_lease_period" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_lease_period"
+.IP "[ Member data: returns uint8_t * ] \-local_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -local_port_num"
+.IP "[ Member data: returns uint8_t * ] \-link_width_enabled" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_enabled"
+.IP "[ Member data: returns uint8_t * ] \-link_width_supported" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_supported"
+.IP "[ Member data: returns uint8_t * ] \-link_width_active" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_active"
+.IP "[ Member data: returns uint8_t * ] \-state_info1" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info1"
+.PD
+LinkSpeedSupported and PortState
+.IP "[ Member data: returns uint8_t * ] \-state_info2" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info2"
+PortPhysState and LinkDownDefaultState
+.IP "[ Member data: returns uint8_t * ] \-mkey_lmc" 4
+.IX Item "[ Member data: returns uint8_t * ] -mkey_lmc"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-link_speed" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_speed"
+.PD
+LinkSpeedEnabled and LinkSpeedActive
+.IP "[ Member data: returns uint8_t * ] \-mtu_smsl" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_smsl"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_cap"
+.PD
+VlCap and InitType
+.IP "[ Member data: returns uint8_t * ] \-vl_high_limit" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_high_limit"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_high_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_high_cap"
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_low_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_low_cap"
+.IP "[ Member data: returns uint8_t * ] \-mtu_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_cap"
+.IP "[ Member data: returns uint8_t * ] \-vl_stall_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_stall_life"
+.IP "[ Member data: returns uint8_t * ] \-vl_enforce" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_enforce"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-p_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -p_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-q_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -q_key_violations"
+.IP "[ Member data: returns uint8_t * ] \-guid_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -guid_cap"
+.IP "[ Member data: returns uint8_t * ] \-subnet_timeout" 4
+.IX Item "[ Member data: returns uint8_t * ] -subnet_timeout"
+.IP "[ Member data: returns uint8_t * ] \-resp_time_value" 4
+.IX Item "[ Member data: returns uint8_t * ] -resp_time_value"
+.IP "[ Member data: returns uint8_t * ] \-error_threshold" 4
+.IX Item "[ Member data: returns uint8_t * ] -error_threshold"
+.PD
+Methods:
+.IP "[ Member : returns int  ] getByDr dr portNum" 4
+.IX Item "[ Member : returns int  ] getByDr dr portNum"
+.PD 0
+.IP "[ Member : returns int  ] setByDr dr portNum" 4
+.IX Item "[ Member : returns int  ] setByDr dr portNum"
+.IP "[ Member : returns int  ] getByLid lid portNum" 4
+.IX Item "[ Member : returns int  ] getByLid lid portNum"
+.IP "[ Member : returns int  ] setByLid lid portNum" 4
+.IX Item "[ Member : returns int  ] setByLid lid portNum"
+.PD
+.Sh "class smSwInfo"
+.IX Subsection "class smSwInfo"
+.IP "[ Member data: returns ib_net16_t * ] \-lin_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_cap"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-rand_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -rand_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-mcast_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -mcast_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-lin_top" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_top"
+.IP "[ Member data: returns uint8_t * ] \-def_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_pri_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_pri_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_not_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_not_port"
+.IP "[ Member data: returns uint8_t * ] \-life_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -life_state"
+.IP "[ Member data: returns ib_net16_t * ] \-lids_per_port" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lids_per_port"
+.IP "[ Member data: returns ib_net16_t * ] \-enforce_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -enforce_cap"
+.IP "[ Member data: returns uint8_t * ] \-flags" 4
+.IX Item "[ Member data: returns uint8_t * ] -flags"
+.IP "[ Member : returns int  ] getByDr dr" 4
+.IX Item "[ Member : returns int  ] getByDr dr"
+.IP "[ Member : returns int  ] setByDr dr" 4
+.IX Item "[ Member : returns int  ] setByDr dr"
+.IP "[ Member : returns int  ] getByLid lid" 4
+.IX Item "[ Member : returns int  ] getByLid lid"
+.IP "[ Member : returns int  ] setByLid lid" 4
+.IX Item "[ Member : returns int  ] setByLid lid"
+.PD
+.Sh "class smLftBlock"
+.IX Subsection "class smLftBlock"
+.IP "[ Member data: returns uint8_array_t * ] \-lft" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -lft"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr blockNum" 4
+.IX Item "[ Member : returns int  ] getByDr dr blockNum"
+.IP "[ Member : returns int  ] setByDr dr blockNum" 4
+.IX Item "[ Member : returns int  ] setByDr dr blockNum"
+.IP "[ Member : returns int  ] getByLid lid blockNum" 4
+.IX Item "[ Member : returns int  ] getByLid lid blockNum"
+.IP "[ Member : returns int  ] setByLid lid blockNum" 4
+.IX Item "[ Member : returns int  ] setByLid lid blockNum"
+.PD
+.Sh "class smMftBlock"
+.IX Subsection "class smMftBlock"
+.IP "[ Member data: returns ib_net16_array_t * ] \-mft" 4
+.IX Item "[ Member data: returns ib_net16_array_t * ] -mft"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr startLid startPort" 4
+.IX Item "[ Member : returns int  ] getByDr dr startLid startPort"
+.IP "[ Member : returns int  ] setByDr dr startLid startPort" 4
+.IX Item "[ Member : returns int  ] setByDr dr startLid startPort"
+.IP "[ Member : returns int  ] getByLid lid startLid startPort" 4
+.IX Item "[ Member : returns int  ] getByLid lid startLid startPort"
+.IP "[ Member : returns int  ] setByLid lid startLid startPort" 4
+.IX Item "[ Member : returns int  ] setByLid lid startLid startPort"
+.PD
+.Sh "class smGuidInfo"
+.IX Subsection "class smGuidInfo"
+.IP "[ Member data: returns ib_net64_array_t * ] \-guid" 4
+.IX Item "[ Member data: returns ib_net64_array_t * ] -guid"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr blockNum" 4
+.IX Item "[ Member : returns int  ] getByDr dr blockNum"
+.IP "[ Member : returns int  ] setByDr dr blockNum" 4
+.IX Item "[ Member : returns int  ] setByDr dr blockNum"
+.IP "[ Member : returns int  ] getByLid lid blockNum" 4
+.IX Item "[ Member : returns int  ] getByLid lid blockNum"
+.IP "[ Member : returns int  ] setByLid lid blockNum" 4
+.IX Item "[ Member : returns int  ] setByLid lid blockNum"
+.PD
+.Sh "class smPkeyTable"
+.IX Subsection "class smPkeyTable"
+.IP "[ Member data: returns ib_net16_array_t * ] \-pkey_entry" 4
+.IX Item "[ Member data: returns ib_net16_array_t * ] -pkey_entry"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr portNum blockNum" 4
+.IX Item "[ Member : returns int  ] getByDr dr portNum blockNum"
+.IP "[ Member : returns int  ] setByDr dr portNum blockNum" 4
+.IX Item "[ Member : returns int  ] setByDr dr portNum blockNum"
+.IP "[ Member : returns int  ] getByLid lid portNum blockNum" 4
+.IX Item "[ Member : returns int  ] getByLid lid portNum blockNum"
+.IP "[ Member : returns int  ] setByLid lid portNum blockNum" 4
+.IX Item "[ Member : returns int  ] setByLid lid portNum blockNum"
+.PD
+.Sh "class smSlVlTable"
+.IX Subsection "class smSlVlTable"
+.IP "[ Member data: returns uint8_array_t * ] \-raw_vl_by_sl" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -raw_vl_by_sl"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr inPortNum outPortNum" 4
+.IX Item "[ Member : returns int  ] getByDr dr inPortNum outPortNum"
+.IP "[ Member : returns int  ] setByDr dr inPortNum outPortNum" 4
+.IX Item "[ Member : returns int  ] setByDr dr inPortNum outPortNum"
+.IP "[ Member : returns int  ] getByLid lid inPortNum outPortNum" 4
+.IX Item "[ Member : returns int  ] getByLid lid inPortNum outPortNum"
+.IP "[ Member : returns int  ] setByLid lid inPortNum outPortNum" 4
+.IX Item "[ Member : returns int  ] setByLid lid inPortNum outPortNum"
+.PD
+.Sh "class smVlArbTable"
+.IX Subsection "class smVlArbTable"
+.IP "[ Member data: returns ib_vl_arb_element_t * ] \-vl_entry" 4
+.IX Item "[ Member data: returns ib_vl_arb_element_t * ] -vl_entry"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr portNum block" 4
+.IX Item "[ Member : returns int  ] getByDr dr portNum block"
+.IP "[ Member : returns int  ] setByDr dr portNum block" 4
+.IX Item "[ Member : returns int  ] setByDr dr portNum block"
+.IP "[ Member : returns int  ] getByLid lid portNum block" 4
+.IX Item "[ Member : returns int  ] getByLid lid portNum block"
+.IP "[ Member : returns int  ] setByLid lid portNum block" 4
+.IX Item "[ Member : returns int  ] setByLid lid portNum block"
+.PD
+.Sh "class smNodeDesc"
+.IX Subsection "class smNodeDesc"
+.IP "[ Member data: returns ibsm_node_desc_str_t * ] \-description" 4
+.IX Item "[ Member data: returns ibsm_node_desc_str_t * ] -description"
+.PD 0
+.IP "[ Member : returns int  ] getByDr dr" 4
+.IX Item "[ Member : returns int  ] getByDr dr"
+.IP "[ Member : returns int  ] setByDr dr" 4
+.IX Item "[ Member : returns int  ] setByDr dr"
+.IP "[ Member : returns int  ] getByLid lid" 4
+.IX Item "[ Member : returns int  ] getByLid lid"
+.IP "[ Member : returns int  ] setByLid lid" 4
+.IX Item "[ Member : returns int  ] setByLid lid"
+.PD
+.Sh "class smSMInfo"
+.IX Subsection "class smSMInfo"
+.IP "[ Member data: returns ib_net64_t * ] \-guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -guid"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-sm_key" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -sm_key"
+.IP "[ Member data: returns ib_net32_t * ] \-act_count" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -act_count"
+.IP "[ Member data: returns uint8_t * ] \-pri_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -pri_state"
+.IP "[ Member : returns int  ] getByDr dr" 4
+.IX Item "[ Member : returns int  ] getByDr dr"
+.IP "[ Member : returns int  ] setByDr dr" 4
+.IX Item "[ Member : returns int  ] setByDr dr"
+.IP "[ Member : returns int  ] getByLid lid" 4
+.IX Item "[ Member : returns int  ] getByLid lid"
+.IP "[ Member : returns int  ] setByLid lid" 4
+.IX Item "[ Member : returns int  ] setByLid lid"
+.PD
+.Sh "class smNotice"
+.IX Subsection "class smNotice"
+.RS 4
+The \s-1NOTICE\s0 attribute is built out of several sub objects
+.RE
+.IP "[ Member data: returns uint8_t * ] \-generic_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -generic_type"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-issuer_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -issuer_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-toggle_count" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -toggle_count"
+.IP "[ Member data: returns ib_gid_t * ] \-issuer_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -issuer_gid"
+.IP "[ Member data: returns smNotice_g_or_v * ] \-g_or_v" 4
+.IX Item "[ Member data: returns smNotice_g_or_v * ] -g_or_v"
+.IP "[ Member data: returns smNotice_data_details * ] \-data_details" 4
+.IX Item "[ Member data: returns smNotice_data_details * ] -data_details"
+.IP "[ Member : returns int  ] trapByDr dr" 4
+.IX Item "[ Member : returns int  ] trapByDr dr"
+.IP "[ Member : returns int  ] trapByLid lid" 4
+.IX Item "[ Member : returns int  ] trapByLid lid"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_g_or_v\fR
+.IX Subsection "class smNotice_g_or_v"
+.IP "[ Member data: returns smNotice_g_or_v_generic * ] \-generic" 4
+.IX Item "[ Member data: returns smNotice_g_or_v_generic * ] -generic"
+.PD 0
+.IP "[ Member data: returns smNotice_g_or_v_vend * ] \-vend" 4
+.IX Item "[ Member data: returns smNotice_g_or_v_vend * ] -vend"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details\fR
+.IX Subsection "class smNotice_data_details"
+.IP "[ Member data: returns smNotice_data_details_raw_data * ] \-raw_data" 4
+.IX Item "[ Member data: returns smNotice_data_details_raw_data * ] -raw_data"
+.PD 0
+.IP "[ Member data: returns smNotice_data_details_ntc_64_67 * ] \-ntc_64_67" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_64_67 * ] -ntc_64_67"
+.IP "[ Member data: returns smNotice_data_details_ntc_128 * ] \-ntc_128" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_128 * ] -ntc_128"
+.IP "[ Member data: returns smNotice_data_details_ntc_129_131 * ] \-ntc_129_131" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_129_131 * ] -ntc_129_131"
+.IP "[ Member data: returns smNotice_data_details_ntc_144 * ] \-ntc_144" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_144 * ] -ntc_144"
+.IP "[ Member data: returns smNotice_data_details_ntc_145 * ] \-ntc_145" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_145 * ] -ntc_145"
+.IP "[ Member data: returns smNotice_data_details_ntc_256 * ] \-ntc_256" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_256 * ] -ntc_256"
+.IP "[ Member data: returns smNotice_data_details_ntc_257_258 * ] \-ntc_257_258" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_257_258 * ] -ntc_257_258"
+.IP "[ Member data: returns smNotice_data_details_ntc_259 * ] \-ntc_259" 4
+.IX Item "[ Member data: returns smNotice_data_details_ntc_259 * ] -ntc_259"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_g_or_v_generic\fR
+.IX Subsection "class smNotice_g_or_v_generic"
+.IP "[ Member data: returns uint8_t * ] \-prod_type_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -prod_type_msb"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-prod_type_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -prod_type_lsb"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_num"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_g_or_v_vend\fR
+.IX Subsection "class smNotice_g_or_v_vend"
+.IP "[ Member data: returns uint8_t * ] \-vend_id_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -vend_id_msb"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-vend_id_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -vend_id_lsb"
+.IP "[ Member data: returns ib_net16_t * ] \-dev_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -dev_id"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_raw_data\fR
+.IX Subsection "class smNotice_data_details_raw_data"
+.IP "[ Member data: returns uint8_array_t * ] \-details" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -details"
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_64_67\fR
+.IX Subsection "class smNotice_data_details_ntc_64_67"
+.IP "[ Member data: returns uint8_array_t * ] \-res" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -res"
+.PD 0
+.IP "[ Member data: returns ib_gid_t * ] \-gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid"
+.PD
+the Node or Multicast Group that came in/out
+.Sp
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_128\fR
+.IX Subsection "class smNotice_data_details_ntc_128"
+.IP "[ Member data: returns ib_net16_t * ] \-sw_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -sw_lid"
+the sw lid of which link state changed
+.Sp
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_129_131\fR
+.IX Subsection "class smNotice_data_details_ntc_129_131"
+.IP "[ Member data: returns ib_net16_t * ] \-pad" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD
+lid and port number of the violation
+.IP "[ Member data: returns uint8_t * ] \-port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_num"
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_144\fR
+.IX Subsection "class smNotice_data_details_ntc_144"
+.IP "[ Member data: returns ib_net16_t * ] \-pad1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad1"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD
+lid where capability mask changed
+.IP "[ Member data: returns ib_net16_t * ] \-pad2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad2"
+.PD 0
+.IP "[ Member data: returns ib_net32_t * ] \-new_cap_mask" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -new_cap_mask"
+.PD
+new capability mask
+.Sp
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_145\fR
+.IX Subsection "class smNotice_data_details_ntc_145"
+.IP "[ Member data: returns ib_net16_t * ] \-pad1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad1"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD
+lid where sys guid changed
+.IP "[ Member data: returns ib_net16_t * ] \-pad2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad2"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-new_sys_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -new_sys_guid"
+.PD
+new system image guid
+.Sp
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_256\fR
+.IX Subsection "class smNotice_data_details_ntc_256"
+.IP "[ Member data: returns ib_net16_t * ] \-pad1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad1"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.IP "[ Member data: returns ib_net16_t * ] \-pad2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad2"
+.IP "[ Member data: returns uint8_t * ] \-method" 4
+.IX Item "[ Member data: returns uint8_t * ] -method"
+.IP "[ Member data: returns uint8_t * ] \-pad3" 4
+.IX Item "[ Member data: returns uint8_t * ] -pad3"
+.IP "[ Member data: returns ib_net16_t * ] \-attr_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -attr_id"
+.IP "[ Member data: returns ib_net32_t * ] \-attr_mod" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -attr_mod"
+.IP "[ Member data: returns ib_net64_t * ] \-mkey" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -mkey"
+.IP "[ Member data: returns uint8_t * ] \-dr_slid" 4
+.IX Item "[ Member data: returns uint8_t * ] -dr_slid"
+.IP "[ Member data: returns uint8_t * ] \-dr_trunc_hop" 4
+.IX Item "[ Member data: returns uint8_t * ] -dr_trunc_hop"
+.IP "[ Member data: returns uint8_array_t * ] \-dr_rtn_path" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -dr_rtn_path"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_257_258\fR
+.IX Subsection "class smNotice_data_details_ntc_257_258"
+.IP "[ Member data: returns ib_net16_t * ] \-pad1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad1"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid1"
+.IP "[ Member data: returns ib_net16_t * ] \-lid2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid2"
+.IP "[ Member data: returns ib_net32_t * ] \-key" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -key"
+.IP "[ Member data: returns uint8_t * ] \-sl" 4
+.IX Item "[ Member data: returns uint8_t * ] -sl"
+.IP "[ Member data: returns ib_net32_t * ] \-qp1" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qp1"
+.IP "[ Member data: returns ib_net32_t * ] \-qp2" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qp2"
+.IP "[ Member data: returns ib_gid_t * ] \-gid1" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid1"
+.IP "[ Member data: returns ib_gid_t * ] \-gid2" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid2"
+.PD
+\&\-\-\-\-
+.Sp
+\fIclass smNotice_data_details_ntc_259\fR
+.IX Subsection "class smNotice_data_details_ntc_259"
+.IP "[ Member data: returns ib_net16_t * ] \-data_valid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -data_valid"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-lid1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid1"
+.IP "[ Member data: returns ib_net16_t * ] \-lid2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid2"
+.IP "[ Member data: returns ib_net32_t * ] \-key" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -key"
+.IP "[ Member data: returns uint8_t * ] \-sl" 4
+.IX Item "[ Member data: returns uint8_t * ] -sl"
+.IP "[ Member data: returns ib_net32_t * ] \-qp1" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qp1"
+.IP "[ Member data: returns uint8_t * ] \-qp2_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -qp2_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-qp2_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -qp2_lsb"
+.IP "[ Member data: returns ib_gid_t * ] \-gid1" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid1"
+.IP "[ Member data: returns ib_gid_t * ] \-gid2" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -gid2"
+.IP "[ Member data: returns ib_net16_t * ] \-sw_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -sw_lid"
+.IP "[ Member data: returns uint8_t * ] \-port_no" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_no"
+.PD
+.SH "IBCR Functions"
+.IX Header "IBCR Functions"
+Provides vendor specific access to the device internal coniguration space
+.Sp
+This section provide the details about the functions \s-1IBCR\s0 exposes.
+They all return 0 on succes.
+.IP "[ returns int  ] crMultiMaxGet" 4
+.IX Item "[ returns int  ] crMultiMaxGet"
+.PD 0
+.IP "[ returns int  ] crRead lid address" 4
+.IX Item "[ returns int  ] crRead lid address"
+.IP "[ returns int  ] crWrite lid data address" 4
+.IX Item "[ returns int  ] crWrite lid data address"
+.IP "[ returns int  ] crReadMulti num lid_list address" 4
+.IX Item "[ returns int  ] crReadMulti num lid_list address"
+.IP "[ returns int  ] crWriteMulti num lid_list data address" 4
+.IX Item "[ returns int  ] crWriteMulti num lid_list data address"
+.PD
+.SH "IB Vendor Specific Functions"
+.IX Header "IB Vendor Specific Functions"
+\&\s-1IBVS\s0 stands for Vendor Specific MADs.
+.Sp
+This section provide the details about the functions \s-1IBVS\s0 exposes.
+They all return 0 on succes.
+.IP "[ returns int  ] vsMultiMaxGet" 4
+.IX Item "[ returns int  ] vsMultiMaxGet"
+.PD 0
+.IP "[ returns int  ] vsCpuRead lid size cpu_traget_size address" 4
+.IX Item "[ returns int  ] vsCpuRead lid size cpu_traget_size address"
+.IP "[ returns int  ] vsCpuWrite lid size cpu_traget_size data address" 4
+.IX Item "[ returns int  ] vsCpuWrite lid size cpu_traget_size data address"
+.IP "[ returns int  ] vsI2cRead lid port_num device_id size address" 4
+.IX Item "[ returns int  ] vsI2cRead lid port_num device_id size address"
+.IP "[ returns int  ] vsI2cWrite lid port_num device_id size address data" 4
+.IX Item "[ returns int  ] vsI2cWrite lid port_num device_id size address data"
+.IP "[ returns int  ] vsI2cReadMulti num lid_list port_num device_id size address" 4
+.IX Item "[ returns int  ] vsI2cReadMulti num lid_list port_num device_id size address"
+.IP "[ returns int  ] vsI2cWriteMulti num lid_list port_num device_id size address data" 4
+.IX Item "[ returns int  ] vsI2cWriteMulti num lid_list port_num device_id size address data"
+.IP "[ returns int  ] vsGpioRead lid" 4
+.IX Item "[ returns int  ] vsGpioRead lid"
+.IP "[ returns int  ] vsGpioWrite lid gpio_mask gpio_data" 4
+.IX Item "[ returns int  ] vsGpioWrite lid gpio_mask gpio_data"
+.IP "[ returns int  ] vsSWReset num lid_list" 4
+.IX Item "[ returns int  ] vsSWReset num lid_list"
+.IP "[ returns int  ] vsFlashStartMulti num lid_list last size address data" 4
+.IX Item "[ returns int  ] vsFlashStartMulti num lid_list last size address data"
+.IP "[ returns int  ] vsFlashStopMulti num lid_list force" 4
+.IX Item "[ returns int  ] vsFlashStopMulti num lid_list force"
+.IP "[ returns int  ] vsFlashSetBankMulti num lid_list address" 4
+.IX Item "[ returns int  ] vsFlashSetBankMulti num lid_list address"
+.IP "[ returns int  ] vsFlashEraseSectorMulti num lid_list address" 4
+.IX Item "[ returns int  ] vsFlashEraseSectorMulti num lid_list address"
+.IP "[ returns int  ] vsFlashReadSectorMulti num lid_list size address" 4
+.IX Item "[ returns int  ] vsFlashReadSectorMulti num lid_list size address"
+.IP "[ returns int  ] vsFlashWriteSectorMulti num lid_list size address data" 4
+.IX Item "[ returns int  ] vsFlashWriteSectorMulti num lid_list size address data"
+.IP "[ returns int  ] vsMirrorRead lid" 4
+.IX Item "[ returns int  ] vsMirrorRead lid"
+.IP "[ returns int  ] vsMirrorWrite lid rx_mirror tx_mirror" 4
+.IX Item "[ returns int  ] vsMirrorWrite lid rx_mirror tx_mirror"
+.PD
+.SH "IBBBM Functions"
+.IX Header "IBBBM Functions"
+This section provide the details about the functions \s-1IBBBM\s0 exposes.
+They all return 0 on succes.
+.IP "[ returns int  ] bbmVpdRead lid vpd_device_selector bytes_num offset" 4
+.IX Item "[ returns int  ] bbmVpdRead lid vpd_device_selector bytes_num offset"
+.PD 0
+.IP "[ returns int  ] bbmVpdWrite lid vpd_device_selector bytes_num offset p_data" 4
+.IX Item "[ returns int  ] bbmVpdWrite lid vpd_device_selector bytes_num offset p_data"
+.IP "[ returns int  ] bbmVSDRead lid" 4
+.IX Item "[ returns int  ] bbmVSDRead lid"
+.IP "[ returns int  ] bbmBSNRead lid" 4
+.IX Item "[ returns int  ] bbmBSNRead lid"
+.IP "[ returns int  ] bbmModRead lid" 4
+.IX Item "[ returns int  ] bbmModRead lid"
+.IP "[ returns int  ] bbmChaRead lid" 4
+.IX Item "[ returns int  ] bbmChaRead lid"
+.IP "[ returns int  ] bbmFWVerRead lid" 4
+.IX Item "[ returns int  ] bbmFWVerRead lid"
+.PD
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibis/doc/ibis.pod b/ibis/doc/ibis.pod
new file mode 100644
index 0000000..d75fd5e
--- /dev/null
+++ b/ibis/doc/ibis.pod
@@ -0,0 +1,2022 @@
+=head1 NAME
+
+B<ibis> - IB management Inband Services - an extended TCL shell
+
+=head1 SYNOPSYS
+
+ibis [-port_num <port number to attach to>]
+
+=head1 DESCRIPTION
+
+B<ibis> is a TCL shell extended with interface for sending and receiving IB management datagrams (MADS).
+To use this shell you will write TCL code that excersizes the regular TCL command and the special API provided by this extension. Interactive use is also possible and is greatly enhanced if tclreadline package is available on the machine.
+
+The following sub sections provide detailed definition for the API and global objects defined by the extension. The different MADs APIs are group by the management class.
+
+=head1 IBIS Constants
+
+These constants are provided by IBIS:
+
+=head2 Log Verbosity Flags
+
+=over 4
+
+
+=item [ Constant : int  ] $IBIS_LOG_NONE = 0x00
+
+=item [ Constant : int  ] $IBIS_LOG_ERROR = 0x01
+
+=item [ Constant : int  ] $IBIS_LOG_INFO = 0x02
+
+=item [ Constant : int  ] $IBIS_LOG_VERBOSE = 0x04
+
+=item [ Constant : int  ] $IBIS_LOG_DEBUG = 0x08
+
+=item [ Constant : int  ] $IBIS_LOG_FUNCS = 0x10
+
+=item [ Constant : int  ] $IBIS_LOG_FRAMES = 0x20
+
+=head1 IBIS Functions
+
+This section provide the details about the functions IBIS exposes.
+They all return 0 on succes.
+
+=item [return list] ibis_get_local_ports_info
+
+Return the list of available IB ports with GUID, LID, state and port number.
+
+=item [ returns int  ] ibis_init
+
+Initialize ibis object
+
+=item [ returns int  ] ibis_set_verbosity level
+
+Change the log verbosity
+
+=item [ returns int  ] ibis_set_port guid
+
+Set the port IBIS is attached to and initialize all sub packages.
+Must be called once during ibis operation.
+
+=item [ returns new_uint64_t  ] ibis_get_port
+
+Provide the GUID of the port IBIS is attached to
+
+=item [ returns int  ] ibis_set_transaction_timeout timeout_ms
+
+Set the transaction time out in [msec]
+
+=item [ returns int  ] ibis_exit
+
+Exit IBIS.
+
+=item [ returns int  ] ibis_puts verbosity msg
+
+Appends a message to the OpenSM log
+
+=back 4
+
+=head2 IBIS Options Object
+
+=over 4
+
+
+The IBIS options are available through the predefined object: ibis_opts.
+It can be manipulated using the standard Tcl methods: cget and configure.
+Examples:
+
+   ibis_opts cget -force_log_flush
+
+   ibis_opts configure -force_log_flush TRUE
+
+The following are the different options that can be configured:
+
+=item [ Member data: returns boolean_t * ] -single_thread
+
+Run single threaded
+
+=item [ Member data: returns boolean_t * ] -force_log_flush
+
+If TRUE - forces flash after each log message (TRUE).
+
+=item [ Member data: returns uint8_t * ] -log_flags
+
+The log levels to be used
+
+=item [ Member data: returns char * ] -log_file
+
+The name of the log file to be used.Must be configured before B<ibis_init>
+is used to make an affect
+
+=item [ Member data: returns uint64_t * ] -sm_key
+
+The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs
+
+=item [ Member data: returns uint64_t * ] -m_key
+
+The M_Key to be used when sending SubnetMgt
+
+=item [ Member data: returns uint64_t * ] -v_key
+
+The Vendor Key to be used when sending Vendor Specific MADs.
+
+=head1 IBPM
+
+IBPM stands for IB Performance Monitoring MADs. IB provides standard facilities for tracking statistics on every port.
+
+This section provide the details about the functions IBPM exposes.
+They all return 0 on succes.
+
+=item [ returns int  ] pmMultiMaxGet
+
+Obtain the maximal number of parallel queries that can be sent
+
+=item [ returns int  ] pmGetPortCounters lid port_select
+
+Send a "PortCounters" query to teh given LID and port
+
+=item [ returns int  ] pmGetPortCountersMulti num lid_list port_select_list
+
+Send a batch of "PortCounters" queries to the given list of LIDs and ports.
+num - defines the number of elements in each list.
+
+=item [ returns int  ] pmGetExtPortCountersMulti num lid_list port_select_list
+
+Send a batch of "ExtendedPortCounters" queries to the given list of LIDs and ports.
+num - defines the number of elements in each list.
+
+=item [ returns int  ] pmClrAllCounters lid port_select
+
+Sends a command to "clear all counters" on the given LID and port
+
+=item [ returns int  ] pmClrAllCountersMulti num lid_list port_select_list
+
+Send a batch of "clear all counters" commands to the given list of LIDs and ports.
+num - defines the number of elements in each list.
+
+=head1 IBSAC
+
+IBSAC stands for IB Subnet Administrator (SA) Client. It provide means to query the SA for information about the various objects it manages
+
+The following sections describe the concepts behind the SAC interface and then provides detailed description of each attribute that can be queried.
+
+=back 4
+
+=head2 IBSAC Objects
+
+=over 4
+
+
+IBSAC uses predefined global objects to facilitate SA Queries.
+Such objects are named sac<Attribute>Query. Each such object
+exposes a standard set of methods:
+
+=item dump
+
+dump out all fields and values for the obejct
+
+=item cget -<field>:
+
+obtain the value of the given field
+
+=item configure -<field> <value>:
+
+set the field value
+
+=item get <comp mask>:
+
+query the SA for one record using the component mask and field values as set on the query object
+
+==item getTable <comp mask>:
+
+query the SA for all records matching component mask and field values as set on the query object
+
+Some SA maintained objects support the "set" and "delete" methods. In that case the following methods are made available on the corresponding query object:
+
+==item set <comp mask>:
+
+send a B<set> method to the SA with the component mask and field values as set on the query object
+
+==item delete <comp mask>:
+
+send a B<delete> method to the SA with the component mask and field values as set on the query object
+
+==head2 Returned Objects
+
+This section describes the values returned from the get/getTable/set/delete methods of the query objects:
+
+Each query returns a list (or one) identifiers (pointers) for objects. There identifiers are formatted according to the type of object they point to using the following prefixes:
+
+Queries embedding Subnet Management Attributes:
+
+=item ni:<idx>   = node info
+
+=item nr:<idx>   = node info record (SA RID + node info)
+
+=item pi:<idx>   = port info
+
+=item pir:<idx>  = port info record (SA RID + port info)
+
+=item smi:<idx>  = SM info
+
+=item smir:<idx> = SM info record (SA RID + SM info)
+
+=item swi:<idx>  = switch info
+
+=item swir:<idx> = switch info record (SA RID + switch info)
+
+=item slvt:<idx> = SL to VL table
+
+=item slvr:<idx> = SL to VL table Record (SA RID + SL to VL table)
+
+=item pkt:<idx>  = PKey table
+
+=item pkr:<idx>  = PKey table record (SA RID + PKey table)
+
+
+Queries of non embedded attributes:
+
+=item link:<idx> = link record
+
+=item path:<idx> = path record
+
+=item lft:<idx>  = Linear forwarding table
+
+=item mcm:<idx>  = Multicast Member Record
+
+=item cpi:<idx>  = SA Class Port Info
+
+=item info:<idx> = Inform info (registration of event forwarding)
+
+=item svc:<idx>  = Service Record
+
+=item vlarb:<idx>= VL Arbitration table record
+
+
+=back 4
+
+=head2 NODE INFO RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_LID = 0x1
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_RESERVED1 = 0x2
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_BASEVERSION = 0x4
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_CLASSVERSION = 0x8
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_NODETYPE = 0x10
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_NUMPORTS = 0x20
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_SYSIMAGEGUID = 0x40
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_NODEGUID = 0x80
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_PORTGUID = 0x100
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_PARTCAP = 0x200
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_DEVID = 0x400
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_REV = 0x800
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_PORTNUM = 0x1000
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_VENDID = 0x2000
+
+=item [ Constant : int  ] $IB_NR_COMPMASK_NODEDESC = 0x4000
+
+----
+
+=head3  class sacNodeInfo
+
+
+Fields:
+
+=item [ Member data: returns uint8_t * ] -base_version
+
+=item [ Member data: returns uint8_t * ] -class_version
+
+=item [ Member data: returns uint8_t * ] -node_type
+
+=item [ Member data: returns uint8_t * ] -num_ports
+
+=item [ Member data: returns ib_net64_t * ] -sys_guid
+
+=item [ Member data: returns ib_net64_t * ] -node_guid
+
+=item [ Member data: returns ib_net64_t * ] -port_guid
+
+=item [ Member data: returns ib_net16_t * ] -partition_cap
+
+=item [ Member data: returns ib_net16_t * ] -device_id
+
+=item [ Member data: returns ib_net32_t * ] -revision
+
+=item [ Member data: returns ib_net32_t * ] -port_num_vendor_id
+
+=item [ Member : returns void  ] delete
+
+----
+
+=head3  class sacNodeRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns sacNodeInfo * ] -node_info
+
+=item [ Member data: returns ib_node_desc_t * ] -node_desc
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 PORT INFO RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_PORTNUM = 0x2
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV1 = 0x4
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_MKEY = 0x8
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_GIDPRE = 0x10
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_BASELID = 0x20
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_SMLID = 0x40
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_CAPMASK = 0x80
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_DIAGCODE = 0x100
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LOCALPORTNUM = 0x400
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_PORTSTATE = 0x10000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LMC = 0x100000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_MASTERSMSL = 0x1000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_VLCAP = 0x2000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_INITTYPE = 0x4000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000
+
+=item [ Constant : int  ] $IB_PIR_COMPMASK_MTUCAP = 0x80000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_HOQLIFE = 0x200000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_OPVLS = 0x400000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_PARENFIN = 0x800000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_PARENFOUT = 0x1000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_MKEYVIO = 0x8000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_PKEYVIO = 0x10000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_QKEYVIO = 0x20000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_GUIDCAP = 0x40000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV2 = 0x80000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_SUBNTO = 0x100000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_RESV3 = 0x200000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_RESPTIME = 0x400000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000
+
+=item [ Constant : char * ] $IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000
+
+----
+
+=head3  class sacPortInfo
+
+
+Fields:
+
+=item [ Member data: returns ib_net64_t * ] -m_key
+
+=item [ Member data: returns ib_net64_t * ] -subnet_prefix
+
+=item [ Member data: returns ib_net16_t * ] -base_lid
+
+=item [ Member data: returns ib_net16_t * ] -master_sm_base_lid
+
+=item [ Member data: returns ib_net32_t * ] -capability_mask
+
+=item [ Member data: returns ib_net16_t * ] -diag_code
+
+=item [ Member data: returns ib_net16_t * ] -m_key_lease_period
+
+=item [ Member data: returns uint8_t * ] -local_port_num
+
+=item [ Member data: returns uint8_t * ] -link_width_enabled
+
+=item [ Member data: returns uint8_t * ] -link_width_supported
+
+=item [ Member data: returns uint8_t * ] -link_width_active
+
+=item [ Member data: returns uint8_t * ] -state_info1
+
+LinkSpeedSupported and PortState
+
+=item [ Member data: returns uint8_t * ] -state_info2
+
+PortPhysState and LinkDownDefaultState
+
+=item [ Member data: returns uint8_t * ] -mkey_lmc
+
+=item [ Member data: returns uint8_t * ] -link_speed
+
+LinkSpeedEnabled and LinkSpeedActive
+
+=item [ Member data: returns uint8_t * ] -mtu_smsl
+
+=item [ Member data: returns uint8_t * ] -vl_cap
+
+VlCap and InitType
+
+=item [ Member data: returns uint8_t * ] -vl_high_limit
+
+=item [ Member data: returns uint8_t * ] -vl_arb_high_cap
+
+=item [ Member data: returns uint8_t * ] -vl_arb_low_cap
+
+=item [ Member data: returns uint8_t * ] -mtu_cap
+
+=item [ Member data: returns uint8_t * ] -vl_stall_life
+
+=item [ Member data: returns uint8_t * ] -vl_enforce
+
+=item [ Member data: returns ib_net16_t * ] -m_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -p_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -q_key_violations
+
+=item [ Member data: returns uint8_t * ] -guid_cap
+
+=item [ Member data: returns uint8_t * ] -subnet_timeout
+
+=item [ Member data: returns uint8_t * ] -resp_time_value
+
+=item [ Member data: returns uint8_t * ] -error_threshold
+
+=item [ Member : returns void  ] delete
+
+----
+
+=head3 class sacPortRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns uint8_t * ] -port_num
+
+=item [ Member data: returns sacPortInfo * ] -port_info
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 SM INFO RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_SMR_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_SMR_COMPMASK_GUID = 0x2
+
+=item [ Constant : char * ] $IB_SMR_COMPMASK_SM_KEY = 0x4
+
+=item [ Constant : char * ] $IB_SMR_COMPMASK_ACT_COUNT = 0x8
+
+=item [ Constant : int  ] $IB_SMR_COMPMASK_STATE = 0x10
+
+=item [ Constant : int  ] $IB_SMR_COMPMASK_PRI = 0x20
+
+----
+
+=head3 class sacSmInfo
+
+
+Fields:
+
+=item [ Member data: returns ib_net64_t * ] -guid
+
+=item [ Member data: returns ib_net64_t * ] -sm_key
+
+=item [ Member data: returns ib_net32_t * ] -act_count
+
+=item [ Member data: returns uint8_t * ] -pri_state
+
+=item [ Member : returns void  ] delete
+
+----
+
+=head3 class sacSmRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns sacSmInfo * ] -sm_info
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 SWITCH INFO RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_LIN_CAP = 0x2
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_RAND_CAP = 0x4
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_MCAST_CAP = 0x8
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_LIN_TOP = 0x10
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_PORT = 0x20
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_STATE = 0x100
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_LIFE = 0x200
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_LMC = 0x400
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_ENFORCE_CAP = 0x800
+
+=item [ Constant : char * ] $IB_SWR_COMPMASK_FLAGS = 0x1000
+
+----
+
+=head3 class sacSwInfo
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lin_cap
+
+=item [ Member data: returns ib_net16_t * ] -rand_cap
+
+=item [ Member data: returns ib_net16_t * ] -mcast_cap
+
+=item [ Member data: returns ib_net16_t * ] -lin_top
+
+=item [ Member data: returns uint8_t * ] -def_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_pri_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_not_port
+
+=item [ Member data: returns uint8_t * ] -life_state
+
+=item [ Member data: returns ib_net16_t * ] -lids_per_port
+
+=item [ Member data: returns ib_net16_t * ] -enforce_cap
+
+=item [ Member data: returns uint8_t * ] -flags
+
+=item [ Member : returns void  ] delete
+
+----
+
+=head3 class sacSwRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns sacSwInfo * ] -switch_info
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 LINK RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : int  ] $IB_LR_COMPMASK_FROM_LID = 0x1
+
+=item [ Constant : int  ] $IB_LR_COMPMASK_FROM_PORT = 0x2
+
+=item [ Constant : int  ] $IB_LR_COMPMASK_TO_PORT = 0x4
+
+=item [ Constant : int  ] $IB_LR_COMPMASK_TO_LID = 0x8
+
+----
+
+=head3 class sacLinkRec
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -from_lid
+
+=item [ Member data: returns uint8_t * ] -from_port_num
+
+=item [ Member data: returns uint8_t * ] -to_port_num
+
+=item [ Member data: returns ib_net16_t * ] -to_lid
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 PATH RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_DGID = 0x4
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_SGID = 0x8
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_DLID = 0x10
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_SLID = 0x20
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_RAWTRAFIC = 0x40
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_RESV0 = 0x80
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_FLOWLABEL = 0x100
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_HOPLIMIT = 0x200
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_TCLASS = 0x400
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_REVERSIBLE = 0x800
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_NUMBPATH = 0x1000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_PKEY = 0x2000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_RESV1 = 0x4000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_SL = 0x8000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_MTUSELEC = 0x10000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_MTU = 0x20000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_RATESELEC = 0x40000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_RATE = 0x80000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000
+
+=item [ Constant : int  ] $IB_PR_COMPMASK_PFTLIFETIME = 0x200000
+
+----
+
+=head3 class sacPathRec
+
+
+Fields:
+
+=item [ Member data: returns ib_gid_t * ] -dgid
+
+=item [ Member data: returns ib_gid_t * ] -sgid
+
+=item [ Member data: returns ib_net16_t * ] -dlid
+
+=item [ Member data: returns ib_net16_t * ] -slid
+
+=item [ Member data: returns ib_net32_t * ] -hop_flow_raw
+
+=item [ Member data: returns uint8_t * ] -tclass
+
+=item [ Member data: returns uint8_t * ] -num_path
+
+=item [ Member data: returns ib_net16_t * ] -pkey
+
+=item [ Member data: returns ib_net16_t * ] -sl
+
+=item [ Member data: returns uint8_t * ] -mtu
+
+=item [ Member data: returns uint8_t * ] -rate
+
+=item [ Member data: returns uint8_t * ] -pkt_life
+
+=item [ Member data: returns uint8_t * ] -preference
+
+Methds:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 LINEAR FORWARDING TABLE
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_LFT_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_LFT_COMPMASK_BLOCK = 0x2
+
+----
+
+=head3 class sacLFTRec
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns ib_net16_t * ] -block_num
+
+=item [ Member data: returns ib_lft_t * ] -lft
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 MULTICAST MEMBER RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_GID = 0x1
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_MGID = 0x1
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_PORT_GID = 0x2
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_QKEY = 0x4
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_MLID = 0x8
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_MTU_SEL = 0x10
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_MTU = 0x20
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_TCLASS = 0x40
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_PKEY = 0x80
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_RATE_SEL = 0x100
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_RATE = 0x200
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_LIFE_SEL = 0x400
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_LIFE = 0x800
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_SL = 0x1000
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_FLOW = 0x2000
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_HOP = 0x4000
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_SCOPE = 0x8000
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_JOIN_STATE = 0x10000
+
+=item [ Constant : char * ] $IB_MCR_COMPMASK_PROXY = 0x20000
+
+----
+
+=head3 class sacMCMRec
+
+
+Fields:
+
+=item [ Member data: returns ib_gid_t * ] -mgid
+
+=item [ Member data: returns ib_gid_t * ] -port_gid
+
+=item [ Member data: returns ib_net32_t * ] -qkey
+
+=item [ Member data: returns ib_net16_t * ] -mlid
+
+=item [ Member data: returns uint8_t * ] -mtu
+
+=item [ Member data: returns uint8_t * ] -tclass
+
+=item [ Member data: returns ib_net16_t * ] -pkey
+
+=item [ Member data: returns uint8_t * ] -rate
+
+=item [ Member data: returns uint8_t * ] -pkt_life
+
+=item [ Member data: returns ib_net32_t * ] -sl_flow_hop
+
+=item [ Member data: returns uint8_t * ] -scope_state
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns char * ] set comp_mask
+
+=item [ Member : returns char * ] del comp_mask
+
+=item [ Member : returns int  ] proxy_join_get
+
+Instead of simple field cget
+
+=item [ Member : returns void  ] proxy_join_set proxy_join
+
+Instead of simple field configure
+
+=item [ Member : returns void  ] obj_delete
+
+Delete the object
+
+
+=back 4
+
+=head2 SA CLASS PORT INFO
+
+=over 4
+
+----
+
+=head3 class sacClassPortInfo
+
+
+Fields:
+
+=item [ Member data: returns uint8_t * ] -base_ver
+
+=item [ Member data: returns uint8_t * ] -class_ver
+
+=item [ Member data: returns ib_net16_t * ] -cap_mask
+
+=item [ Member data: returns ib_net32_t * ] -resp_time_val
+
+=item [ Member data: returns ib_gid_t * ] -redir_gid
+
+=item [ Member data: returns ib_net32_t * ] -redir_tc_sl_fl
+
+=item [ Member data: returns ib_net16_t * ] -redir_lid
+
+=item [ Member data: returns ib_net16_t * ] -redir_pkey
+
+=item [ Member data: returns ib_net32_t * ] -redir_qp
+
+=item [ Member data: returns ib_net32_t * ] -redir_qkey
+
+=item [ Member data: returns ib_gid_t * ] -trap_gid
+
+=item [ Member data: returns ib_net32_t * ] -trap_tc_sl_fl
+
+=item [ Member data: returns ib_net16_t * ] -trap_lid
+
+=item [ Member data: returns ib_net16_t * ] -trap_pkey
+
+=item [ Member data: returns ib_net32_t * ] -trap_hop_qp
+
+=item [ Member data: returns ib_net32_t * ] -trap_qkey
+
+
+Methods:
+
+=item [ Member : returns char * ] get
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 INFORM INFO RECORD
+
+=over 4
+
+
+The inform Info is built with heirarchy of objects. So several classes are defined.
+
+----
+
+=head3 class sacInformInfo
+
+
+Fields:
+
+=item [ Member data: returns ib_gid_t * ] -gid
+
+=item [ Member data: returns ib_net16_t * ] -lid_range_begin
+
+=item [ Member data: returns ib_net16_t * ] -lid_range_end
+
+=item [ Member data: returns ib_net16_t * ] -reserved1
+
+=item [ Member data: returns uint8_t * ] -is_generic
+
+=item [ Member data: returns uint8_t * ] -subscribe
+
+=item [ Member data: returns ib_net16_t * ] -trap_type
+
+=item [ Member data: returns sacInformInfo_g_or_v * ] -g_or_v
+
+
+Methods:
+
+=item [ Member : returns char * ] set
+
+=item [ Member : returns void  ] delete
+
+----
+
+=head3 class sacInformInfo_g_or_v
+
+
+Fields:
+
+=item [ Member data: returns sacInformInfo_g_or_v_generic * ] -generic
+
+=item [ Member data: returns sacInformInfo_g_or_v_vend * ] -vend
+
+----
+
+=head3 class sacInformInfo_g_or_v_generic
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -trap_num
+
+=item [ Member data: returns ib_net32_t * ] -qpn_resp_time_val
+
+=item [ Member data: returns uint8_t * ] -reserved2
+
+=item [ Member data: returns uint8_t * ] -node_type_msb
+
+=item [ Member data: returns ib_net16_t * ] -node_type_lsb
+
+----
+
+=head3 class sacInformInfo_g_or_v_vend
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -dev_id
+
+=item [ Member data: returns ib_net32_t * ] -qpn_resp_time_val
+
+=item [ Member data: returns uint8_t * ] -reserved2
+
+=item [ Member data: returns uint8_t * ] -vendor_id_msb
+
+=item [ Member data: returns ib_net16_t * ] -vendor_id_lsb
+
+
+=back 4
+
+=head2 SERVICE RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SID = 0x1
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SGID = 0x1
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SPKEY = 0x2
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_RES1 = 0x4
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SLEASE = 0x8
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SKEY = 0x10
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SNAME = 0x20
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_0 = 0x40
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_1 = 0x80
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_2 = 0x100
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_3 = 0x200
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_4 = 0x400
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_5 = 0x800
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_6 = 0x1000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_7 = 0x2000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_8 = 0x4000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_9 = 0x8000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_10 = 0x10000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_11 = 0x20000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_12 = 0x40000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_13 = 0x80000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_14 = 0x100000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA8_15 = 0x200000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_0 = 0x400000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_1 = 0x800000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_2 = 0x1000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_3 = 0x2000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_4 = 0x4000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_5 = 0x8000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_6 = 0x10000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA16_7 = 0x20000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_0 = 0x40000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_1 = 0x80000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_2 = 0x100000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA32_3 = 0x200000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA64_0 = 0x400000000
+
+=item [ Constant : char * ] $IB_SR_COMPMASK_SDATA64_1 = 0x800000000
+
+----
+
+=head3 class sacServiceRec
+
+
+Fields:
+
+=item [ Member data: returns ib_net64_t * ] -service_id
+
+=item [ Member data: returns ib_gid_t * ] -service_gid
+
+=item [ Member data: returns ib_net16_t * ] -service_pkey
+
+=item [ Member data: returns ib_net16_t * ] -resv
+
+=item [ Member data: returns ib_net32_t * ] -service_lease
+
+=item [ Member data: returns uint8_array_t * ] -service_key
+
+=item [ Member data: returns ib_svc_name_t * ] -service_name
+
+=item [ Member data: returns uint8_array_t * ] -service_data8
+
+=item [ Member data: returns ib_net16_array_t * ] -service_data16
+
+=item [ Member data: returns ib_net32_array_t * ] -service_data32
+
+=item [ Member data: returns ib_net64_array_t * ] -service_data64
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] set comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns char * ] delete comp_mask
+
+=item [ Member : returns void  ] obj_delete
+
+
+=back 4
+
+=head2 SL to VL TABLE RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_SLVL_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_SLVL_COMPMASK_IN_PORT = 0x2
+
+=item [ Constant : char * ] $IB_SLVL_COMPMASK_OUT_PORT = 0x4
+
+----
+
+=head3 class sacSlVlTbl
+
+=item [ Member data: returns uint8_array_t * ] -raw_vl_by_sl
+
+----
+
+=head3 class sacSlVlRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+for CA: lid of port, for switch lid of port 0
+
+=item [ Member data: returns uint8_t * ] -in_port_num
+
+reserved for CA's
+
+=item [ Member data: returns uint8_t * ] -out_port_num
+
+reserved for CA's
+
+=item [ Member data: returns uint32_t * ] -resv
+
+=item [ Member data: returns sacSlVlTbl * ] -slvl_tbl
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 VL ARBITRATION TABLE RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_VLA_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_VLA_COMPMASK_OUT_PORT = 0x2
+
+=item [ Constant : char * ] $IB_VLA_COMPMASK_BLOCK = 0x4
+
+----
+
+=head3 class sacVlArbRec
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+for CA: lid of port, for switch lid of port 0
+
+=item [ Member data: returns uint8_t * ] -port_num
+
+=item [ Member data: returns uint8_t * ] -block_num
+
+=item [ Member data: returns uint32_t * ] -reserved
+
+=item [ Member data: returns sac_vl_arb_tbl_t * ] -vl_arb_tbl
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+
+=back 4
+
+=head2 PKEY TABLE RECORD
+
+=over 4
+
+
+Component mask bits:
+
+=item [ Constant : char * ] $IB_PKEY_COMPMASK_LID = 0x1
+
+=item [ Constant : char * ] $IB_PKEY_COMPMASK_BLOCK = 0x2
+
+=item [ Constant : char * ] $IB_PKEY_COMPMASK_PORT = 0x4
+
+----
+
+=head3 class sacPKeyTbl
+
+
+Fields:
+
+=item [ Member data: returns ib_net16_array_t * ] -pkey_entry
+
+----
+
+=head3 class sacPKeyRec
+
+RID Fields:
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+for CA: lid of port, for switch lid of port 0
+
+=item [ Member data: returns uint16_t * ] -block_num
+
+=item [ Member data: returns uint8_t * ] -port_num
+
+for switch: port number, for CA: reserved
+
+=item [ Member data: returns uint8_t * ] -reserved1
+
+=item [ Member data: returns uint16_t * ] -reserved2
+
+=item [ Member data: returns sacPKeyTbl * ] -pkey_tbl
+
+
+Methods:
+
+=item [ Member : returns char * ] get comp_mask
+
+=item [ Member : returns char * ] getTable comp_mask
+
+=item [ Member : returns void  ] delete
+
+=head1 Subnet Management MADs (SMPs)
+
+The SM interface supports sending Subnet Management Packets to the fabric devices. The specific attributes that can be access is provided in detail in each sub section below.
+
+A set of object types is defined. The user can allocate a new attribute object. Then the object can be set using configure or the direct manipulation methods.
+Extra methods are provided for each object:
+=item setByDr <dr> <attrMod>
+
+Set the attribute on the object accessible by the given directed route. A directed route is a list of port numbers to go out from.
+
+=item getByDr <dr> <attrMod>
+
+Get the attribute value by traversing a directed route.
+
+setByLid <lid> <attrMod>
+
+Set the attribute on the object accessible by the given LID
+
+getByLid <lid> <attrMod>
+
+get the attribute on the object accessible by the given LID
+
+
+=back 4
+
+=head2 class smNodeInfo
+
+=over 4
+
+
+
+Fields:
+
+=item [ Member data: returns uint8_t * ] -base_version
+
+=item [ Member data: returns uint8_t * ] -class_version
+
+=item [ Member data: returns uint8_t * ] -node_type
+
+=item [ Member data: returns uint8_t * ] -num_ports
+
+=item [ Member data: returns ib_net64_t * ] -sys_guid
+
+=item [ Member data: returns ib_net64_t * ] -node_guid
+
+=item [ Member data: returns ib_net64_t * ] -port_guid
+
+=item [ Member data: returns ib_net16_t * ] -partition_cap
+
+=item [ Member data: returns ib_net16_t * ] -device_id
+
+=item [ Member data: returns ib_net32_t * ] -revision
+
+=item [ Member data: returns ib_net32_t * ] -port_num_vendor_id
+
+
+Methods:
+
+=item [ Member : returns int  ] getByDr dr
+
+=item [ Member : returns int  ] setByDr dr
+
+=item [ Member : returns int  ] getByLid lid
+
+=item [ Member : returns int  ] setByLid lid
+
+=head1 class smPortInfo
+
+
+Fields:
+
+=item [ Member data: returns ib_net64_t * ] -m_key
+
+=item [ Member data: returns ib_net64_t * ] -subnet_prefix
+
+=item [ Member data: returns ib_net16_t * ] -base_lid
+
+=item [ Member data: returns ib_net16_t * ] -master_sm_base_lid
+
+=item [ Member data: returns ib_net32_t * ] -capability_mask
+
+=item [ Member data: returns ib_net16_t * ] -diag_code
+
+=item [ Member data: returns ib_net16_t * ] -m_key_lease_period
+
+=item [ Member data: returns uint8_t * ] -local_port_num
+
+=item [ Member data: returns uint8_t * ] -link_width_enabled
+
+=item [ Member data: returns uint8_t * ] -link_width_supported
+
+=item [ Member data: returns uint8_t * ] -link_width_active
+
+=item [ Member data: returns uint8_t * ] -state_info1
+
+LinkSpeedSupported and PortState
+
+=item [ Member data: returns uint8_t * ] -state_info2
+
+PortPhysState and LinkDownDefaultState
+
+=item [ Member data: returns uint8_t * ] -mkey_lmc
+
+=item [ Member data: returns uint8_t * ] -link_speed
+
+LinkSpeedEnabled and LinkSpeedActive
+
+=item [ Member data: returns uint8_t * ] -mtu_smsl
+
+=item [ Member data: returns uint8_t * ] -vl_cap
+
+VlCap and InitType
+
+=item [ Member data: returns uint8_t * ] -vl_high_limit
+
+=item [ Member data: returns uint8_t * ] -vl_arb_high_cap
+
+=item [ Member data: returns uint8_t * ] -vl_arb_low_cap
+
+=item [ Member data: returns uint8_t * ] -mtu_cap
+
+=item [ Member data: returns uint8_t * ] -vl_stall_life
+
+=item [ Member data: returns uint8_t * ] -vl_enforce
+
+=item [ Member data: returns ib_net16_t * ] -m_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -p_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -q_key_violations
+
+=item [ Member data: returns uint8_t * ] -guid_cap
+
+=item [ Member data: returns uint8_t * ] -subnet_timeout
+
+=item [ Member data: returns uint8_t * ] -resp_time_value
+
+=item [ Member data: returns uint8_t * ] -error_threshold
+
+
+Methods:
+
+=item [ Member : returns int  ] getByDr dr portNum
+
+=item [ Member : returns int  ] setByDr dr portNum
+
+=item [ Member : returns int  ] getByLid lid portNum
+
+=item [ Member : returns int  ] setByLid lid portNum
+
+
+=back 4
+
+=head2 class smSwInfo
+
+=over 4
+
+
+=item [ Member data: returns ib_net16_t * ] -lin_cap
+
+=item [ Member data: returns ib_net16_t * ] -rand_cap
+
+=item [ Member data: returns ib_net16_t * ] -mcast_cap
+
+=item [ Member data: returns ib_net16_t * ] -lin_top
+
+=item [ Member data: returns uint8_t * ] -def_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_pri_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_not_port
+
+=item [ Member data: returns uint8_t * ] -life_state
+
+=item [ Member data: returns ib_net16_t * ] -lids_per_port
+
+=item [ Member data: returns ib_net16_t * ] -enforce_cap
+
+=item [ Member data: returns uint8_t * ] -flags
+
+=item [ Member : returns int  ] getByDr dr
+
+=item [ Member : returns int  ] setByDr dr
+
+=item [ Member : returns int  ] getByLid lid
+
+=item [ Member : returns int  ] setByLid lid
+
+
+=back 4
+
+=head2 class smLftBlock
+
+=over 4
+
+
+=item [ Member data: returns uint8_array_t * ] -lft
+
+=item [ Member : returns int  ] getByDr dr blockNum
+
+=item [ Member : returns int  ] setByDr dr blockNum
+
+=item [ Member : returns int  ] getByLid lid blockNum
+
+=item [ Member : returns int  ] setByLid lid blockNum
+
+
+=back 4
+
+=head2 class smMftBlock
+
+=over 4
+
+
+=item [ Member data: returns ib_net16_array_t * ] -mft
+
+=item [ Member : returns int  ] getByDr dr startLid startPort
+
+=item [ Member : returns int  ] setByDr dr startLid startPort
+
+=item [ Member : returns int  ] getByLid lid startLid startPort
+
+=item [ Member : returns int  ] setByLid lid startLid startPort
+
+
+=back 4
+
+=head2 class smGuidInfo
+
+=over 4
+
+
+=item [ Member data: returns ib_net64_array_t * ] -guid
+
+=item [ Member : returns int  ] getByDr dr blockNum
+
+=item [ Member : returns int  ] setByDr dr blockNum
+
+=item [ Member : returns int  ] getByLid lid blockNum
+
+=item [ Member : returns int  ] setByLid lid blockNum
+
+
+=back 4
+
+=head2 class smPkeyTable
+
+=over 4
+
+
+=item [ Member data: returns ib_net16_array_t * ] -pkey_entry
+
+=item [ Member : returns int  ] getByDr dr portNum blockNum
+
+=item [ Member : returns int  ] setByDr dr portNum blockNum
+
+=item [ Member : returns int  ] getByLid lid portNum blockNum
+
+=item [ Member : returns int  ] setByLid lid portNum blockNum
+
+
+=back 4
+
+=head2 class smSlVlTable
+
+=over 4
+
+
+=item [ Member data: returns uint8_array_t * ] -raw_vl_by_sl
+
+=item [ Member : returns int  ] getByDr dr inPortNum outPortNum
+
+=item [ Member : returns int  ] setByDr dr inPortNum outPortNum
+
+=item [ Member : returns int  ] getByLid lid inPortNum outPortNum
+
+=item [ Member : returns int  ] setByLid lid inPortNum outPortNum
+
+
+=back 4
+
+=head2  class smVlArbTable
+
+=over 4
+
+
+=item [ Member data: returns ib_vl_arb_element_t * ] -vl_entry
+
+=item [ Member : returns int  ] getByDr dr portNum block
+
+=item [ Member : returns int  ] setByDr dr portNum block
+
+=item [ Member : returns int  ] getByLid lid portNum block
+
+=item [ Member : returns int  ] setByLid lid portNum block
+
+
+=back 4
+
+=head2 class smNodeDesc
+
+=over 4
+
+
+=item [ Member data: returns ibsm_node_desc_str_t * ] -description
+
+=item [ Member : returns int  ] getByDr dr
+
+=item [ Member : returns int  ] setByDr dr
+
+=item [ Member : returns int  ] getByLid lid
+
+=item [ Member : returns int  ] setByLid lid
+
+
+=back 4
+
+=head2 class smSMInfo
+
+=over 4
+
+
+=item [ Member data: returns ib_net64_t * ] -guid
+
+=item [ Member data: returns ib_net64_t * ] -sm_key
+
+=item [ Member data: returns ib_net32_t * ] -act_count
+
+=item [ Member data: returns uint8_t * ] -pri_state
+
+=item [ Member : returns int  ] getByDr dr
+
+=item [ Member : returns int  ] setByDr dr
+
+=item [ Member : returns int  ] getByLid lid
+
+=item [ Member : returns int  ] setByLid lid
+
+
+=back 4
+
+=head2 class smNotice
+
+=over 4
+
+
+The NOTICE attribute is built out of several sub objects
+
+=item [ Member data: returns uint8_t * ] -generic_type
+
+=item [ Member data: returns ib_net16_t * ] -issuer_lid
+
+=item [ Member data: returns ib_net16_t * ] -toggle_count
+
+=item [ Member data: returns ib_gid_t * ] -issuer_gid
+
+=item [ Member data: returns smNotice_g_or_v * ] -g_or_v
+
+=item [ Member data: returns smNotice_data_details * ] -data_details
+
+=item [ Member : returns int  ] trapByDr dr
+
+=item [ Member : returns int  ] trapByLid lid
+
+----
+
+=head3 class smNotice_g_or_v
+
+=item [ Member data: returns smNotice_g_or_v_generic * ] -generic
+
+=item [ Member data: returns smNotice_g_or_v_vend * ] -vend
+
+----
+
+=head3  class smNotice_data_details
+
+=item [ Member data: returns smNotice_data_details_raw_data * ] -raw_data
+
+=item [ Member data: returns smNotice_data_details_ntc_64_67 * ] -ntc_64_67
+
+=item [ Member data: returns smNotice_data_details_ntc_128 * ] -ntc_128
+
+=item [ Member data: returns smNotice_data_details_ntc_129_131 * ] -ntc_129_131
+
+=item [ Member data: returns smNotice_data_details_ntc_144 * ] -ntc_144
+
+=item [ Member data: returns smNotice_data_details_ntc_145 * ] -ntc_145
+
+=item [ Member data: returns smNotice_data_details_ntc_256 * ] -ntc_256
+
+=item [ Member data: returns smNotice_data_details_ntc_257_258 * ] -ntc_257_258
+
+=item [ Member data: returns smNotice_data_details_ntc_259 * ] -ntc_259
+
+----
+
+=head3  class smNotice_g_or_v_generic
+
+=item [ Member data: returns uint8_t * ] -prod_type_msb
+
+=item [ Member data: returns ib_net16_t * ] -prod_type_lsb
+
+=item [ Member data: returns ib_net16_t * ] -trap_num
+
+----
+
+=head3  class smNotice_g_or_v_vend
+
+=item [ Member data: returns uint8_t * ] -vend_id_msb
+
+=item [ Member data: returns ib_net16_t * ] -vend_id_lsb
+
+=item [ Member data: returns ib_net16_t * ] -dev_id
+
+----
+
+=head3 class smNotice_data_details_raw_data
+
+=item [ Member data: returns uint8_array_t * ] -details
+
+
+----
+
+=head3 class smNotice_data_details_ntc_64_67
+
+=item [ Member data: returns uint8_array_t * ] -res
+
+=item [ Member data: returns ib_gid_t * ] -gid
+
+the Node or Multicast Group that came in/out
+
+----
+
+=head3 class smNotice_data_details_ntc_128
+
+=item [ Member data: returns ib_net16_t * ] -sw_lid
+
+the sw lid of which link state changed
+
+----
+
+=head3 class smNotice_data_details_ntc_129_131
+
+=item [ Member data: returns ib_net16_t * ] -pad
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+lid and port number of the violation
+
+=item [ Member data: returns uint8_t * ] -port_num
+
+----
+
+=head3 class smNotice_data_details_ntc_144
+
+=item [ Member data: returns ib_net16_t * ] -pad1
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+lid where capability mask changed
+
+=item [ Member data: returns ib_net16_t * ] -pad2
+
+=item [ Member data: returns ib_net32_t * ] -new_cap_mask
+
+new capability mask
+
+----
+
+=head3 class smNotice_data_details_ntc_145
+
+=item [ Member data: returns ib_net16_t * ] -pad1
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+lid where sys guid changed
+
+=item [ Member data: returns ib_net16_t * ] -pad2
+
+=item [ Member data: returns ib_net64_t * ] -new_sys_guid
+
+new system image guid
+
+----
+
+=head3 class smNotice_data_details_ntc_256
+
+=item [ Member data: returns ib_net16_t * ] -pad1
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns ib_net16_t * ] -pad2
+
+=item [ Member data: returns uint8_t * ] -method
+
+=item [ Member data: returns uint8_t * ] -pad3
+
+=item [ Member data: returns ib_net16_t * ] -attr_id
+
+=item [ Member data: returns ib_net32_t * ] -attr_mod
+
+=item [ Member data: returns ib_net64_t * ] -mkey
+
+=item [ Member data: returns uint8_t * ] -dr_slid
+
+=item [ Member data: returns uint8_t * ] -dr_trunc_hop
+
+=item [ Member data: returns uint8_array_t * ] -dr_rtn_path
+
+----
+
+=head3 class smNotice_data_details_ntc_257_258
+
+=item [ Member data: returns ib_net16_t * ] -pad1
+
+=item [ Member data: returns ib_net16_t * ] -lid1
+
+=item [ Member data: returns ib_net16_t * ] -lid2
+
+=item [ Member data: returns ib_net32_t * ] -key
+
+=item [ Member data: returns uint8_t * ] -sl
+
+=item [ Member data: returns ib_net32_t * ] -qp1
+
+=item [ Member data: returns ib_net32_t * ] -qp2
+
+=item [ Member data: returns ib_gid_t * ] -gid1
+
+=item [ Member data: returns ib_gid_t * ] -gid2
+
+----
+
+=head3 class smNotice_data_details_ntc_259
+
+=item [ Member data: returns ib_net16_t * ] -data_valid
+
+=item [ Member data: returns ib_net16_t * ] -lid1
+
+=item [ Member data: returns ib_net16_t * ] -lid2
+
+=item [ Member data: returns ib_net32_t * ] -key
+
+=item [ Member data: returns uint8_t * ] -sl
+
+=item [ Member data: returns ib_net32_t * ] -qp1
+
+=item [ Member data: returns uint8_t * ] -qp2_msb
+
+=item [ Member data: returns ib_net16_t * ] -qp2_lsb
+
+=item [ Member data: returns ib_gid_t * ] -gid1
+
+=item [ Member data: returns ib_gid_t * ] -gid2
+
+=item [ Member data: returns ib_net16_t * ] -sw_lid
+
+=item [ Member data: returns uint8_t * ] -port_no
+
+=head1 IBCR Functions
+
+Provides vendor specific access to the device internal coniguration space
+
+This section provide the details about the functions IBCR exposes.
+They all return 0 on succes.
+
+=item [ returns int  ] crMultiMaxGet
+
+=item [ returns int  ] crRead lid address
+
+=item [ returns int  ] crWrite lid data address
+
+=item [ returns int  ] crReadMulti num lid_list address
+
+=item [ returns int  ] crWriteMulti num lid_list data address
+
+=head1  IB Vendor Specific Functions
+
+IBVS stands for Vendor Specific MADs.
+
+This section provide the details about the functions IBVS exposes.
+They all return 0 on succes.
+
+=item [ returns int  ] vsMultiMaxGet
+
+=item [ returns int  ] vsCpuRead lid size cpu_traget_size address
+
+=item [ returns int  ] vsCpuWrite lid size cpu_traget_size data address
+
+=item [ returns int  ] vsI2cRead lid port_num device_id size address
+
+=item [ returns int  ] vsI2cWrite lid port_num device_id size address data
+
+=item [ returns int  ] vsI2cReadMulti num lid_list port_num device_id size address
+
+=item [ returns int  ] vsI2cWriteMulti num lid_list port_num device_id size address data
+
+=item [ returns int  ] vsGpioRead lid
+
+=item [ returns int  ] vsGpioWrite lid gpio_mask gpio_data
+
+=item [ returns int  ] vsSWReset num lid_list
+
+=item [ returns int  ] vsFlashStartMulti num lid_list last size address data
+
+=item [ returns int  ] vsFlashStopMulti num lid_list force
+
+=item [ returns int  ] vsFlashSetBankMulti num lid_list address
+
+=item [ returns int  ] vsFlashEraseSectorMulti num lid_list address
+
+=item [ returns int  ] vsFlashReadSectorMulti num lid_list size address
+
+=item [ returns int  ] vsFlashWriteSectorMulti num lid_list size address data
+
+=item [ returns int  ] vsMirrorRead lid
+
+=item [ returns int  ] vsMirrorWrite lid rx_mirror tx_mirror
+
+=head1  IBBBM Functions
+
+This section provide the details about the functions IBBBM exposes.
+They all return 0 on succes.
+
+=item [ returns int  ] bbmVpdRead lid vpd_device_selector bytes_num offset
+
+=item [ returns int  ] bbmVpdWrite lid vpd_device_selector bytes_num offset p_data
+
+=item [ returns int  ] bbmVSDRead lid
+
+=item [ returns int  ] bbmBSNRead lid
+
+=item [ returns int  ] bbmModRead lid
+
+=item [ returns int  ] bbmChaRead lid
+
+=item [ returns int  ] bbmFWVerRead lid
+
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibis/doc/ibis_pod2man b/ibis/doc/ibis_pod2man
new file mode 100755
index 0000000..91b93ff
--- /dev/null
+++ b/ibis/doc/ibis_pod2man
@@ -0,0 +1,32 @@
+eval '(exit $?0)' &&
+  eval 'exec perl -S $0 ${1+"$@"}' &&
+  eval 'exec perl -S $0 $argv:q'
+  if 0;
+
+use Pod::Man;
+$VERSION = "IBIS 1.0";
+$CENTER = "IB MANAGEMENT IN-BAND SERVICES PACKAGE";
+my $parser = Pod::Man->new (release => $VERSION, center => $CENTER);
+
+if (scalar(@ARGV) < 1) {
+   print "Usage $0 podFile [outFile]\n";
+   exit(1);
+}
+$inFile = $ARGV[0];
+if ($inFile !~ m/(.*)\.pod$/) {
+   print "Usage $0 podFile [outFile]\n";
+   print "Given podFile:$inFile extension != .pod\n";
+   exit(1);
+} else {
+   $base = $1;
+}
+
+if (scalar(@ARGV) > 1) {
+   $outFile = $ARGV[1];
+} else {
+   $outFile = "$base.1";
+}
+
+# Read POD from file.pod and write to file.1.
+$parser->parse_from_file ($inFile, $outFile);
+exit(0);
diff --git a/ibis/doc/ibis_wrap.html b/ibis/doc/ibis_wrap.html
new file mode 100644
index 0000000..f3df583
--- /dev/null
+++ b/ibis/doc/ibis_wrap.html
@@ -0,0 +1,3871 @@
+<HTML>
+<HEAD>
+<TITLE>
+IBIS Tcl Extension</TITLE>
+<BODY BGCOLOR="#ffffff">
+<H1>IBIS Tcl Extension</H1>
+
+<HR><H1> Contents </H1>
+<UL><LI> <A HREF="#s1_">1. IBCR Functions</A>
+<LI> <A HREF="#s2_">2. IBPM Functions</A>
+<LI> <A HREF="#s3_">3. IB Vendor Specific Functions</A>
+<LI> <A HREF="#s4_">4. IBBBM Functions</A>
+<LI> <A HREF="#s5_">5. IBSAC Constants</A>
+<LI> <A HREF="#s6_">6. IBSAC Objects</A>
+<UL><LI> <A HREF="#s6_1_">6.1. class sacNodeInfo</A>
+<LI> <A HREF="#s6_2_">6.2. class sacNodeRec</A>
+<LI> <A HREF="#s6_3_">6.3. class sacPortInfo</A>
+<LI> <A HREF="#s6_4_">6.4. class sacPortRec</A>
+<LI> <A HREF="#s6_5_">6.5. class sacSmInfo</A>
+<LI> <A HREF="#s6_6_">6.6. class sacSmRec</A>
+<LI> <A HREF="#s6_7_">6.7. class sacSwInfo</A>
+<LI> <A HREF="#s6_8_">6.8. class sacSwRec</A>
+<LI> <A HREF="#s6_9_">6.9. class sacLinkRec</A>
+<LI> <A HREF="#s6_10_">6.10. class sacPathRec</A>
+<LI> <A HREF="#s6_11_">6.11. class sacLFTRec</A>
+<LI> <A HREF="#s6_12_">6.12. class sacMCMRec</A>
+<LI> <A HREF="#s6_13_">6.13. class sacClassPortInfo</A>
+<LI> <A HREF="#s6_14_">6.14. class sacInformInfo</A>
+<LI> <A HREF="#s6_15_">6.15. class sacInformInfo_g_or_v</A>
+<LI> <A HREF="#s6_16_">6.16. class sacInformInfo_g_or_v_generic</A>
+<LI> <A HREF="#s6_17_">6.17. class sacInformInfo_g_or_v_vend</A>
+<LI> <A HREF="#s6_18_">6.18. class sacServiceRec</A>
+<LI> <A HREF="#s6_19_">6.19. class sacSlVlTbl</A>
+<LI> <A HREF="#s6_20_">6.20. class sacSlVlRec</A>
+<LI> <A HREF="#s6_21_">6.21. class sacVlArbRec</A>
+<LI> <A HREF="#s6_22_">6.22. class sacPKeyTbl</A>
+<LI> <A HREF="#s6_23_">6.23. class sacPKeyRec</A>
+</UL><LI> <A HREF="#s7_">7. IBSM Constants</A>
+<LI> <A HREF="#s8_">8. IBSM Objects</A>
+<UL><LI> <A HREF="#s8_1_">8.1. class smNodeInfo</A>
+<LI> <A HREF="#s8_2_">8.2. class smPortInfo</A>
+<LI> <A HREF="#s8_3_">8.3. class smSwInfo</A>
+<LI> <A HREF="#s8_4_">8.4. class smLftBlock</A>
+<LI> <A HREF="#s8_5_">8.5. class smMftBlock</A>
+<LI> <A HREF="#s8_6_">8.6. class smGuidInfo</A>
+<LI> <A HREF="#s8_7_">8.7. class smPkeyTable</A>
+<LI> <A HREF="#s8_8_">8.8. class smSlVlTable</A>
+<LI> <A HREF="#s8_9_">8.9. class smVlArbTable</A>
+<LI> <A HREF="#s8_10_">8.10. class smNodeDesc</A>
+<LI> <A HREF="#s8_11_">8.11. class smSMInfo</A>
+<LI> <A HREF="#s8_12_">8.12. class smNotice</A>
+<LI> <A HREF="#s8_13_">8.13. class smNotice_g_or_v</A>
+<LI> <A HREF="#s8_14_">8.14. class smNotice_data_details</A>
+<LI> <A HREF="#s8_15_">8.15. class smNotice_g_or_v_generic</A>
+<LI> <A HREF="#s8_16_">8.16. class smNotice_g_or_v_vend</A>
+<LI> <A HREF="#s8_17_">8.17. class smNotice_data_details_raw_data</A>
+<LI> <A HREF="#s8_18_">8.18. class smNotice_data_details_ntc_64_67</A>
+<LI> <A HREF="#s8_19_">8.19. class smNotice_data_details_ntc_128</A>
+<LI> <A HREF="#s8_20_">8.20. class smNotice_data_details_ntc_129_131</A>
+<LI> <A HREF="#s8_21_">8.21. class smNotice_data_details_ntc_144</A>
+<LI> <A HREF="#s8_22_">8.22. class smNotice_data_details_ntc_145</A>
+<LI> <A HREF="#s8_23_">8.23. class smNotice_data_details_ntc_256</A>
+<LI> <A HREF="#s8_24_">8.24. class smNotice_data_details_ntc_257_258</A>
+<LI> <A HREF="#s8_25_">8.25. class smNotice_data_details_ntc_259</A>
+</UL><LI> <A HREF="#s9_">9. IBCC Constants</A>
+<LI> <A HREF="#s10_">10. IBCC Objects</A>
+<UL><LI> <A HREF="#s10_1_">10.1. class ccClassPortInfo</A>
+<LI> <A HREF="#s10_2_">10.2. class ccNotice</A>
+<LI> <A HREF="#s10_3_">10.3. class ccCongestionInfo</A>
+<LI> <A HREF="#s10_4_">10.4. class ccCongestionKeyInfo</A>
+<LI> <A HREF="#s10_5_">10.5. class ib_cong_log_event_sw_t</A>
+<LI> <A HREF="#s10_6_">10.6. class ib_cong_log_event_ca_t</A>
+<LI> <A HREF="#s10_7_">10.7. class ccSWCongestionLog</A>
+<LI> <A HREF="#s10_8_">10.8. class ccCACongestionLog</A>
+<LI> <A HREF="#s10_9_">10.9. class ccSWCongestionSetting</A>
+<LI> <A HREF="#s10_10_">10.10. class ib_sw_port_cong_setting_element_t</A>
+<LI> <A HREF="#s10_11_">10.11. class ccSWPortCongestionSetting</A>
+<LI> <A HREF="#s10_12_">10.12. class ib_ca_cong_entry_t</A>
+<LI> <A HREF="#s10_13_">10.13. class ccCACongestionSetting</A>
+<LI> <A HREF="#s10_14_">10.14. class ib_cc_tbl_entry_t</A>
+<LI> <A HREF="#s10_15_">10.15. class ccTable</A>
+<LI> <A HREF="#s10_16_">10.16. class ccTimeStamp</A>
+</UL><LI> <A HREF="#s11_">11. IBIS Constants</A>
+<UL><LI> <A HREF="#s11_1_">11.1. Log Verbosity Flags</A>
+</UL><LI> <A HREF="#s12_">12. IBIS Execution Flags</A>
+<LI> <A HREF="#s13_">13. IBIS Functions</A>
+<UL><LI> <A HREF="#s13_1_">13.1. class ibis_opt_t</A>
+</UL>
+</UL>
+
+<A name="s1_">
+<HR><H2>1. IBCR Functions</H2></A>
+<PRE>   IBCR UI functions   
+
+</PRE>
+<P><PRE>
+This section provide the details about the functions IBCR exposes.
+They all return 0 on succes.</PRE>
+
+<P><TT><B>crDestroy </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>crMultiMaxGet </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>crRead lid address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>crWrite lid data address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>crReadMulti num lid_list address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>crWriteMulti num lid_list data address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s2_">
+<HR><H2>2. IBPM Functions</H2></A>
+<PRE>   IBPM UI functions   
+
+</PRE>
+<P><PRE>
+This section provide the details about the functions IBPM exposes.
+They all return 0 on succes.</PRE>
+
+<P><TT><B>pmMultiMaxGet </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>pmGetPortCounters lid port_select </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>pmGetPortCountersMulti num lid_list port_select_list </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>pmGetExtPortCountersMulti num lid_list port_select_list </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>pmClrAllCounters lid port_select </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>pmClrAllCountersMulti num lid_list port_select_list </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s3_">
+<HR><H2>3. IB Vendor Specific Functions</H2></A>
+<PRE>   IBVS UI functions   
+
+</PRE>
+<P><PRE>
+This section provide the details about the functions IBVS exposes.
+They all return 0 on succes.</PRE>
+
+<P><TT><B>vsMultiMaxGet </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsCpuRead lid size cpu_traget_size address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsCpuWrite lid size cpu_traget_size data address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsI2cRead lid port_num device_id size address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsI2cWrite lid port_num device_id size address data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsI2cReadMulti num lid_list port_num device_id size address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsI2cWriteMulti num lid_list port_num device_id size address data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsGpioRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsGpioWrite lid gpio_mask gpio_data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsSWReset num lid_list </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashStartMulti num lid_list last size address data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashStopMulti num lid_list force </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashSetBankMulti num lid_list address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashEraseSectorMulti num lid_list address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashReadSectorMulti num lid_list size address </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsFlashWriteSectorMulti num lid_list size address data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsMirrorRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsMirrorWrite lid rx_mirror tx_mirror </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsGetGeneralInfo lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>vsGetPrivateLFTMap lid upper_ports </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s4_">
+<HR><H2>4. IBBBM Functions</H2></A>
+<PRE>   IBBBM UI functions   
+
+</PRE>
+<P><PRE>
+This section provide the details about the functions IBBBM exposes.
+They all return 0 on succes.</PRE>
+
+<P><TT><B>bbmVpdRead lid vpd_device_selector bytes_num offset </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmVpdWrite lid vpd_device_selector bytes_num offset p_data </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmVSDRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmBSNRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmModRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmChaRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>bbmFWVerRead lid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s5_">
+<HR><H2>5. IBSAC Constants</H2></A>
+   These constants are provided by IBIS:   
+
+<A name="s6_">
+<HR><H2>6. IBSAC Objects</H2></A>
+<PRE>   This section describes the various object types exposed by IBSAC.   
+
+</PRE>
+<P><PRE>
+
+  IBSAC exposes some of its internal subnet objects. The objects
+  identifiers returned by the various function calls are formatted
+  acording to the following rules:
+  ni:<idx> = node info objects
+
+  IBIS Objects are standard Swig-Tcl objects.
+  As such they have two flavors for their usage: Variables, Objects.
+
+  Variables:
+     For each object attribute a "get" and "set" methods are provided.
+	  The format of the methods is: <class>_<attribute>_<get|set>.
+     The "set" method is only available for read/write attributes.
+
+  Example:
+  ib_node_info_t_port_guid_get ni:1
+
+  Objects:
+     Given an object identifier one can convert it to a Tcl "Object"
+	  using the following command:
+     <class> <obj_name> -this <obj identifier>
+
+     Once declared the <obj-name> can be used in conjunction to
+     with the standard "configure" and "cget" commands.
+
+  Example: (following the previous one):
+		 ib_node_info_t nodeRecNI -this ni:1
+</PRE>
+
+<P><TT><B>$IB_NR_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_RESERVED1 = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_BASEVERSION = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_CLASSVERSION = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_NODETYPE = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_NUMPORTS = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_SYSIMAGEGUID = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_NODEGUID = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_PORTGUID = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_PARTCAP = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_DEVID = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_REV = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_PORTNUM = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_VENDID = 0x2000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_NR_COMPMASK_NODEDESC = 0x4000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_1_">
+<H3>6.1. class sacNodeInfo</H3></A>
+<PRE>[ created from struct sacNodeInfo ]
+</PRE>
+<P><TT><B>-base_version
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-class_version
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-num_ports
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sys_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-partition_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-device_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-revision
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num_vendor_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_2_">
+<H3>6.2. class sacNodeRec</H3></A>
+<PRE>[ created from struct sacNodeRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_info
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacNodeInfo * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_desc
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_node_desc_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PORTNUM = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_RESV1 = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MKEY = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_GIDPRE = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_BASELID = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_SMLID = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_CAPMASK = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_DIAGCODE = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LOCALPORTNUM = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PORTSTATE = 0x10000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LMC = 0x100000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MASTERSMSL = 0x1000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_VLCAP = 0x2000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_INITTYPE = 0x4000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MTUCAP = 0x80000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_VLSTALLCNT = 0x100000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_HOQLIFE = 0x200000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_OPVLS = 0x400000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PARENFIN = 0x800000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PARENFOUT = 0x1000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_FILTERRAWIN = 0x2000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_FILTERRAWOUT = 0x4000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_MKEYVIO = 0x8000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_PKEYVIO = 0x10000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_QKEYVIO = 0x20000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_GUIDCAP = 0x40000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_RESV2 = 0x80000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_SUBNTO = 0x100000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_RESV3 = 0x200000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_RESPTIME = 0x400000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_LOCALPHYERR = 0x800000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PIR_COMPMASK_OVERRUNERR = 0x1000000000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_3_">
+<H3>6.3. class sacPortInfo</H3></A>
+<PRE>[ created from struct sacPortInfo ]
+</PRE>
+<P><TT><B>-m_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-subnet_prefix
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-base_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-master_sm_base_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-capability_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-diag_code
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-m_key_lease_period
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-local_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_enabled
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_supported
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_active
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-state_info1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+LinkSpeedSupported and PortState
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-state_info2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+PortPhysState and LinkDownDefaultState
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mkey_lmc
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_speed
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+LinkSpeedEnabled and LinkSpeedActive
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu_smsl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+VlCap and InitType
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_high_limit
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_arb_high_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_arb_low_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_stall_life
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_enforce
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-m_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-p_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-q_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-guid_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-subnet_timeout
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resp_time_value
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-error_threshold
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_4_">
+<H3>6.4. class sacPortRec</H3></A>
+<PRE>[ created from struct sacPortRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_info
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacPortInfo * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_GUID = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_SM_KEY = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_ACT_COUNT = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_STATE = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SMR_COMPMASK_PRI = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_5_">
+<H3>6.5. class sacSmInfo</H3></A>
+<PRE>[ created from struct sacSmInfo ]
+</PRE>
+<P><TT><B>-guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sm_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-act_count
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pri_state
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_6_">
+<H3>6.6. class sacSmRec</H3></A>
+<PRE>[ created from struct sacSmRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sm_info
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacSmInfo * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_LIN_CAP = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_RAND_CAP = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_MCAST_CAP = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_LIN_TOP = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_DEF_PORT = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_DEF_MCAST_PRI = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_DEF_MCAST_NOT = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_STATE = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_LIFE = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_LMC = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_ENFORCE_CAP = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SWR_COMPMASK_FLAGS = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_7_">
+<H3>6.7. class sacSwInfo</H3></A>
+<PRE>[ created from struct sacSwInfo ]
+</PRE>
+<P><TT><B>-lin_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-rand_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mcast_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lin_top
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_mcast_pri_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_mcast_not_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-life_state
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lids_per_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-enforce_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-flags
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_8_">
+<H3>6.8. class sacSwRec</H3></A>
+<PRE>[ created from struct sacSwRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-switch_info
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacSwInfo * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LR_COMPMASK_FROM_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LR_COMPMASK_FROM_PORT = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LR_COMPMASK_TO_PORT = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LR_COMPMASK_TO_LID = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_9_">
+<H3>6.9. class sacLinkRec</H3></A>
+<PRE>[ created from struct sacLinkRec ]
+</PRE>
+<P><TT><B>-from_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-from_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-to_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-to_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_DGID = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_SGID = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_DLID = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_SLID = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_RAWTRAFIC = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_RESV0 = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_FLOWLABEL = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_HOPLIMIT = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_TCLASS = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_REVERSIBLE = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_NUMBPATH = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_PKEY = 0x2000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_RESV1 = 0x4000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_SL = 0x8000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_MTUSELEC = 0x10000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_MTU = 0x20000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_RATESELEC = 0x40000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_RATE = 0x80000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PR_COMPMASK_PFTLIFETIME = 0x200000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_10_">
+<H3>6.10. class sacPathRec</H3></A>
+<PRE>[ created from struct sacPathRec ]
+</PRE>
+<P><TT><B>-service_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dgid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sgid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dlid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-slid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-hop_flow_raw
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-tclass
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-num_path
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qos_class_sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-rate
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pkt_life
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-preference
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LFT_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_LFT_COMPMASK_BLOCK = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_11_">
+<H3>6.11. class sacLFTRec</H3></A>
+<PRE>[ created from struct sacLFTRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-block_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lft
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_lft_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_GID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_MGID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_PORT_GID = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_QKEY = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_MLID = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_MTU_SEL = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_MTU = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_TCLASS = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_PKEY = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_RATE_SEL = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_RATE = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_LIFE_SEL = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_LIFE = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_SL = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_FLOW = 0x2000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_HOP = 0x4000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_SCOPE = 0x8000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_JOIN_STATE = 0x10000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_MCR_COMPMASK_PROXY = 0x20000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_12_">
+<H3>6.12. class sacMCMRec</H3></A>
+<PRE>[ created from struct sacMCMRec ]
+</PRE>
+<P><TT><B>-mgid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mlid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-tclass
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-rate
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pkt_life
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sl_flow_hop
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-scope_state
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+uint8_t                              proxy_join:1; bit fields are not supported.
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>set comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>del comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>proxy_join_get </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>proxy_join_set proxy_join </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>obj_delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_13_">
+<H3>6.13. class sacClassPortInfo</H3></A>
+<PRE>[ created from struct sacClassPortInfo ]
+</PRE>
+<P><TT><B>-base_ver
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-class_ver
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cap_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cap_mask2_resp_time
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_tc_sl_fl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_qp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_qkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_tc_sl_fl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_hop_qp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_qkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_14_">
+<H3>6.14. class sacInformInfo</H3></A>
+<PRE>[ created from struct sacInformInfo ]
+</PRE>
+<P><TT><B>-gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid_range_begin
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid_range_end
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-is_generic
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-subscribe
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-g_or_v
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacInformInfo_g_or_v * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>set </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_15_">
+<H3>6.15. class sacInformInfo_g_or_v</H3></A>
+<PRE>[ created from union sacInformInfo_g_or_v ]
+</PRE>
+<P><TT><B>-generic
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacInformInfo_g_or_v_generic * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vend
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacInformInfo_g_or_v_vend * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_16_">
+<H3>6.16. class sacInformInfo_g_or_v_generic</H3></A>
+<PRE>[ created from struct sacInformInfo_g_or_v_generic ]
+</PRE>
+<P><TT><B>-trap_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qpn_resp_time_val
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_type_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_type_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_17_">
+<H3>6.17. class sacInformInfo_g_or_v_vend</H3></A>
+<PRE>[ created from struct sacInformInfo_g_or_v_vend ]
+</PRE>
+<P><TT><B>-dev_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qpn_resp_time_val
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vendor_id_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vendor_id_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SGID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SPKEY = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_RES1 = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SLEASE = 0x8</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SKEY = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SNAME = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_0 = 0x40</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_1 = 0x80</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_2 = 0x100</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_3 = 0x200</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_4 = 0x400</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_5 = 0x800</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_6 = 0x1000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_7 = 0x2000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_8 = 0x4000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_9 = 0x8000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_10 = 0x10000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_11 = 0x20000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_12 = 0x40000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_13 = 0x80000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_14 = 0x100000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA8_15 = 0x200000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_0 = 0x400000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_1 = 0x800000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_2 = 0x1000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_3 = 0x2000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_4 = 0x4000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_5 = 0x8000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_6 = 0x10000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA16_7 = 0x20000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA32_0 = 0x40000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA32_1 = 0x80000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA32_2 = 0x100000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA32_3 = 0x200000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA64_0 = 0x400000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SR_COMPMASK_SDATA64_1 = 0x800000000</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_18_">
+<H3>6.18. class sacServiceRec</H3></A>
+<PRE>[ created from struct sacServiceRec ]
+</PRE>
+<P><TT><B>-service_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_lease
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_name
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_svc_name_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_data8
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_data16
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_data32
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-service_data64
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>set comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>obj_delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SLVL_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SLVL_COMPMASK_IN_PORT = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_SLVL_COMPMASK_OUT_PORT = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_19_">
+<H3>6.19. class sacSlVlTbl</H3></A>
+<PRE>[ created from struct sacSlVlTbl ]
+</PRE>
+<P><TT><B>-raw_vl_by_sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_20_">
+<H3>6.20. class sacSlVlRec</H3></A>
+<PRE>[ created from struct sacSlVlRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+for CA: lid of port, for switch lid of port 0
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-in_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+reserved for CA's
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-out_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+reserved for CA's
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-slvl_tbl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacSlVlTbl * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_VLA_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_VLA_COMPMASK_OUT_PORT = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_VLA_COMPMASK_BLOCK = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_21_">
+<H3>6.21. class sacVlArbRec</H3></A>
+<PRE>[ created from struct sacVlArbRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+for CA: lid of port, for switch lid of port 0
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-block_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_arb_tbl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sac_vl_arb_tbl_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PKEY_COMPMASK_LID = 0x1</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PKEY_COMPMASK_BLOCK = 0x2</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IB_PKEY_COMPMASK_PORT = 0x4</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : char * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_22_">
+<H3>6.22. class sacPKeyTbl</H3></A>
+<PRE>[ created from struct sacPKeyTbl ]
+</PRE>
+<P><TT><B>-pkey_entry
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s6_23_">
+<H3>6.23. class sacPKeyRec</H3></A>
+<PRE>[ created from struct sacPKeyRec ]
+</PRE>
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+for CA: lid of port, for switch lid of port 0
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-block_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+for switch: port number, for CA: reserved
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-reserved2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pkey_tbl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns sacPKeyTbl * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>get comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getTable comp_mask </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns char * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>delete </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns void  ]
+</PRE></BLOCKQUOTE>
+
+<P><PRE>
+
+  Subnet Management:
+    The SM interface supports sending Subnet Management Packets to
+    the fabric devices.
+
+    A set of object types is defined. The user can allocate a new attribute
+    object. Then the object can be set using configure or the direct
+    manipulation methods.
+
+    Extra methods are provided for each object:
+    setByDr <dr> <attrMod>
+    getByDr <dr> <attrMod>
+    setByLid <lid> <attrMod>
+    getByLid <lid> <attrMod></PRE>
+
+<A name="s7_">
+<HR><H2>7. IBSM Constants</H2></A>
+   These constants are provided by IBSM:   
+
+<A name="s8_">
+<HR><H2>8. IBSM Objects</H2></A>
+<PRE>   This section describes the various object types exposed by IBSM.   
+
+</PRE>
+<P><PRE>
+</PRE>
+
+<A name="s8_1_">
+<H3>8.1. class smNodeInfo</H3></A>
+<PRE>[ created from struct smNodeInfo ]
+</PRE>
+<P><TT><B>-base_version
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-class_version
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-num_ports
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sys_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-node_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-partition_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-device_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-revision
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num_vendor_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_2_">
+<H3>8.2. class smPortInfo</H3></A>
+<PRE>[ created from struct smPortInfo ]
+</PRE>
+<P><TT><B>-m_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-subnet_prefix
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-base_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-master_sm_base_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-capability_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-diag_code
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-m_key_lease_period
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-local_port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_enabled
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_supported
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_width_active
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-state_info1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+LinkSpeedSupported and PortState
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-state_info2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+PortPhysState and LinkDownDefaultState
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mkey_lmc
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-link_speed
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+LinkSpeedEnabled and LinkSpeedActive
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu_smsl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+VlCap and InitType
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_high_limit
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_arb_high_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_arb_low_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mtu_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_stall_life
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vl_enforce
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-m_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-p_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-q_key_violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-guid_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-subnet_timeout
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resp_time_value
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-error_threshold
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr portNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr portNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid portNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid portNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_3_">
+<H3>8.3. class smSwInfo</H3></A>
+<PRE>[ created from struct smSwInfo ]
+</PRE>
+<P><TT><B>-lin_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-rand_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mcast_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lin_top
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_mcast_pri_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-def_mcast_not_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-life_state
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lids_per_port
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-enforce_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-flags
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_4_">
+<H3>8.4. class smLftBlock</H3></A>
+<PRE>[ created from struct smLftBlock ]
+</PRE>
+<P><TT><B>-lft
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_5_">
+<H3>8.5. class smMftBlock</H3></A>
+<PRE>[ created from struct smMftBlock ]
+</PRE>
+<P><TT><B>-mft
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr startLid startPort </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr startLid startPort </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid startLid startPort </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid startLid startPort </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_6_">
+<H3>8.6. class smGuidInfo</H3></A>
+<PRE>[ created from struct smGuidInfo ]
+</PRE>
+<P><TT><B>-guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_7_">
+<H3>8.7. class smPkeyTable</H3></A>
+<PRE>[ created from struct smPkeyTable ]
+</PRE>
+<P><TT><B>-pkey_entry
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr portNum blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr portNum blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid portNum blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid portNum blockNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_8_">
+<H3>8.8. class smSlVlTable</H3></A>
+<PRE>[ created from struct smSlVlTable ]
+</PRE>
+<P><TT><B>-raw_vl_by_sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr inPortNum outPortNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr inPortNum outPortNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid inPortNum outPortNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid inPortNum outPortNum </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_9_">
+<H3>8.9. class smVlArbTable</H3></A>
+<PRE>[ created from struct smVlArbTable ]
+</PRE>
+<P><TT><B>-vl_entry
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_vl_arb_element_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr portNum block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr portNum block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid portNum block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid portNum block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_10_">
+<H3>8.10. class smNodeDesc</H3></A>
+<PRE>[ created from struct smNodeDesc ]
+</PRE>
+<P><TT><B>-description
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ibsm_node_desc_str_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_11_">
+<H3>8.11. class smSMInfo</H3></A>
+<PRE>[ created from struct smSMInfo ]
+</PRE>
+<P><TT><B>-guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sm_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-act_count
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pri_state
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_12_">
+<H3>8.12. class smNotice</H3></A>
+<PRE>[ created from struct smNotice ]
+</PRE>
+<P><TT><B>-generic_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-issuer_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-toggle_count
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-issuer_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-g_or_v
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_g_or_v * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-data_details
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>trapByDr dr </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>trapByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_13_">
+<H3>8.13. class smNotice_g_or_v</H3></A>
+<PRE>[ created from union smNotice_g_or_v ]
+</PRE>
+<P><TT><B>-generic
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_g_or_v_generic * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vend
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_g_or_v_vend * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_14_">
+<H3>8.14. class smNotice_data_details</H3></A>
+<PRE>[ created from union smNotice_data_details ]
+</PRE>
+<P><TT><B>-raw_data
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_raw_data * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_64_67
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_64_67 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_128
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_128 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_129_131
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_129_131 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_144
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_144 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_145
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_145 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_256
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_256 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_257_258
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_257_258 * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc_259
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns smNotice_data_details_ntc_259 * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_15_">
+<H3>8.15. class smNotice_g_or_v_generic</H3></A>
+<PRE>[ created from struct smNotice_g_or_v_generic ]
+</PRE>
+<P><TT><B>-prod_type_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-prod_type_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_16_">
+<H3>8.16. class smNotice_g_or_v_vend</H3></A>
+<PRE>[ created from struct smNotice_g_or_v_vend ]
+</PRE>
+<P><TT><B>-vend_id_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-vend_id_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dev_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_17_">
+<H3>8.17. class smNotice_data_details_raw_data</H3></A>
+<PRE>[ created from struct smNotice_data_details_raw_data ]
+</PRE>
+<P><TT><B>-details
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_18_">
+<H3>8.18. class smNotice_data_details_ntc_64_67</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_64_67 ]
+</PRE>
+<P><TT><B>-res
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+the Node or Multicast Group that came in/out
+</PRE></BLOCKQUOTE>
+
+<A name="s8_19_">
+<H3>8.19. class smNotice_data_details_ntc_128</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_128 ]
+</PRE>
+<P><TT><B>-sw_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+the sw lid of which link state changed
+</PRE></BLOCKQUOTE>
+
+<A name="s8_20_">
+<H3>8.20. class smNotice_data_details_ntc_129_131</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_129_131 ]
+</PRE>
+<P><TT><B>-pad
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+lid and port number of the violation
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_21_">
+<H3>8.21. class smNotice_data_details_ntc_144</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_144 ]
+</PRE>
+<P><TT><B>-pad1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+lid where capability mask changed
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pad2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-new_cap_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+new capability mask
+</PRE></BLOCKQUOTE>
+
+<A name="s8_22_">
+<H3>8.22. class smNotice_data_details_ntc_145</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_145 ]
+</PRE>
+<P><TT><B>-pad1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+lid where sys guid changed
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pad2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-new_sys_guid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+new system image guid
+</PRE></BLOCKQUOTE>
+
+<A name="s8_23_">
+<H3>8.23. class smNotice_data_details_ntc_256</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_256 ]
+</PRE>
+<P><TT><B>-pad1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pad2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-method
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-pad3
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-attr_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-attr_mod
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-mkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dr_slid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dr_trunc_hop
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dr_rtn_path
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_24_">
+<H3>8.24. class smNotice_data_details_ntc_257_258</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_257_258 ]
+</PRE>
+<P><TT><B>-pad1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qp1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qp2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-gid1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-gid2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s8_25_">
+<H3>8.25. class smNotice_data_details_ntc_259</H3></A>
+<PRE>[ created from struct smNotice_data_details_ntc_259 ]
+</PRE>
+<P><TT><B>-data_valid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lid2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qp1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qp2_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-qp2_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-gid1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-gid2
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sw_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_no
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><PRE>
+
+  Congestion Control:
+    The CC interface supports sending Congestion Control Packets to
+    the fabric devices.
+
+    A set of object types is defined. The user can allocate a new attribute
+    object. Then the object can be set using configure or the direct
+    manipulation methods.
+
+    Extra methods are provided for each object:
+    setByLid <lid> <attrMod>
+    getByLid <lid> <attrMod></PRE>
+
+<A name="s9_">
+<HR><H2>9. IBCC Constants</H2></A>
+   These constants are provided by IBCC:   
+
+<A name="s10_">
+<HR><H2>10. IBCC Objects</H2></A>
+<PRE>   This section describes the various object types exposed by IBCC.   
+
+</PRE>
+<P><PRE>
+</PRE>
+
+<A name="s10_1_">
+<H3>10.1. class ccClassPortInfo</H3></A>
+<PRE>[ created from struct ccClassPortInfo ]
+</PRE>
+<P><TT><B>-base_ver
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-class_ver
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cap_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cap_mask2_resp_time
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_tc_sl_fl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_qp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-redir_qkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_tc_sl_fl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_pkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_hop_qp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trap_qkey
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_2_">
+<H3>10.2. class ccNotice</H3></A>
+<PRE>[ created from struct ccNotice ]
+</PRE>
+<P><TT><B>-generic_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-generic__prod_type_msb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-generic__prod_type_lsb
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-generic__trap_num
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-issuer_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-toggle_count
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__source_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+Source LID from offending packet LRH
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__method
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+Method, from common MAD header
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__resv0
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__attr_id
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+Attribute ID, from common MAD header
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__resv1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__attr_mod
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+Attribute Modif, from common MAD header
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__qp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+8b pad, 24b dest QP from BTH
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__cc_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+CC key of the offending packet
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__source_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+GID from GRH of the offending packet
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ntc0__padding
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+Padding - ignored on read
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-issuer_gid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_gid_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>trapByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_3_">
+<H3>10.3. class ccCongestionInfo</H3></A>
+<PRE>[ created from struct ccCongestionInfo ]
+</PRE>
+<P><TT><B>-cong_info
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ctrl_table_cap
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_4_">
+<H3>10.4. class ccCongestionKeyInfo</H3></A>
+<PRE>[ created from struct ccCongestionKeyInfo ]
+</PRE>
+<P><TT><B>-cc_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net64_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-protect_bit
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-lease_period
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-violations
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_5_">
+<H3>10.5. class ib_cong_log_event_sw_t</H3></A>
+<PRE>[ created from struct ib_cong_log_event_sw_t ]
+</PRE>
+<P><TT><B>-slid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-dlid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sl
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-time_stamp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_6_">
+<H3>10.6. class ib_cong_log_event_ca_t</H3></A>
+<PRE>[ created from struct ib_cong_log_event_ca_t ]
+</PRE>
+<P><TT><B>-local_qp_resv0
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-remote_qp_sl_service_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-remote_lid
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-time_stamp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_7_">
+<H3>10.7. class ccSWCongestionLog</H3></A>
+<PRE>[ created from struct ccSWCongestionLog ]
+</PRE>
+<P><TT><B>-log_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cong_flags
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-event_counter
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-time_stamp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-port_map
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-entry_list
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_cong_log_event_sw_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_8_">
+<H3>10.8. class ccCACongestionLog</H3></A>
+<PRE>[ created from struct ccCACongestionLog ]
+</PRE>
+<P><TT><B>-log_type
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cong_flags
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-event_counter
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-event_map
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-time_stamp
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-log_event
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_cong_log_event_ca_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_9_">
+<H3>10.9. class ccSWCongestionSetting</H3></A>
+<PRE>[ created from struct ccSWCongestionSetting ]
+</PRE>
+<P><TT><B>-control_map
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-victim_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-credit_mask
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_array_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-threshold_resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-packet_size
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cs_threshold_resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cs_return_delay
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-marking_rate
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_10_">
+<H3>10.10. class ib_sw_port_cong_setting_element_t</H3></A>
+<PRE>[ created from struct ib_sw_port_cong_setting_element_t ]
+</PRE>
+<P><TT><B>-valid_ctrl_type_res_threshold
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-packet_size
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-cong_param
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_11_">
+<H3>10.11. class ccSWPortCongestionSetting</H3></A>
+<PRE>[ created from struct ccSWPortCongestionSetting ]
+</PRE>
+<P><TT><B>-block
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_sw_port_cong_setting_element_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid block </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_12_">
+<H3>10.12. class ib_ca_cong_entry_t</H3></A>
+<PRE>[ created from struct ib_ca_cong_entry_t ]
+</PRE>
+<P><TT><B>-ccti_timer
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ccti_increase
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-trigger_threshold
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-ccti_min
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv0
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv1
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_13_">
+<H3>10.13. class ccCACongestionSetting</H3></A>
+<PRE>[ created from struct ccCACongestionSetting ]
+</PRE>
+<P><TT><B>-port_control
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-control_map
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-entry_list
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_ca_cong_entry_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_14_">
+<H3>10.14. class ib_cc_tbl_entry_t</H3></A>
+<PRE>[ created from struct ib_cc_tbl_entry_t ]
+</PRE>
+<P><TT><B>-shift_multiplier
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_15_">
+<H3>10.15. class ccTable</H3></A>
+<PRE>[ created from struct ccTable ]
+</PRE>
+<P><TT><B>-ccti_limit
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-resv
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net16_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-entry_list
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_cc_tbl_entry_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid sn </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>setByLid lid sn </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s10_16_">
+<H3>10.16. class ccTimeStamp</H3></A>
+<PRE>[ created from struct ccTimeStamp ]
+</PRE>
+<P><TT><B>-value
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns ib_net32_t * ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>getByLid lid </B></TT>
+<BLOCKQUOTE><PRE>[ Member : returns int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s11_">
+<HR><H2>11. IBIS Constants</H2></A>
+   These constants are provided by IBIS:   
+
+<A name="s11_1_">
+<H3>11.1. Log Verbosity Flags</H3></A>
+<PRE></PRE>
+<P><TT><B>$IBIS_LOG_NONE = 0x00</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_ERROR = 0x01</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_INFO = 0x02</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_VERBOSE = 0x04</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_DEBUG = 0x08</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_FUNCS = 0x10</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>$IBIS_LOG_FRAMES = 0x20</B></TT>
+<BLOCKQUOTE><PRE>[ Constant : int  ]
+</PRE></BLOCKQUOTE>
+
+<A name="s12_">
+<HR><H2>12. IBIS Execution Flags</H2></A>
+<PRE></PRE>
+<A name="s13_">
+<HR><H2>13. IBIS Functions</H2></A>
+<PRE>   IBIS UI functions   
+
+</PRE>
+<P><PRE>
+This section provide the details about the functions IBIS exposes.
+They all return 0 on succes.</PRE>
+
+<P><TT><B>ibis_puts verbosity msg </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Append a message to the OpenSM log   
+</PRE></BLOCKQUOTE>
+
+<A name="s13_1_">
+<H3>13.1. class ibis_opt_t</H3></A>
+<PRE>[ created from struct ibis_opt_t ]
+IBIS Options:
+The IBIS options are available through the predefined object: ibis_opts.
+It can be manipulated using the standard Tcl methods: cget and configure.
+Examples: ibis_opts cget -force_log_flush
+          ibis_opts configure -force_log_flush TRUE   
+
+</PRE>
+<P><TT><B>-single_thread
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns boolean_t * ]
+run single threaded   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-force_log_flush
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns boolean_t * ]
+If TRUE - forces flash after each log message (TRUE).   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-log_flags
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint8_t * ]
+The log levels to be used   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-log_file
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns char * ]
+The name of the log file used (read only)   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-sm_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint64_t * ]
+The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-m_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint64_t * ]
+The M_Key to be used when sending SubnetMgt   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>-v_key
+</B></TT>
+<BLOCKQUOTE><PRE>[ Member data: returns uint64_t * ]
+The Vendor Key to be used when sending Vendor Specific MADs.   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_init </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Initialize ibis object   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_set_verbosity level </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Change the log verbosity   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_set_port guid </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Set the port IBIS is attached to and initialize all sub packages   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_get_port </B></TT>
+<BLOCKQUOTE><PRE>[ returns new_uint64_t  ]
+Provide the GUID of the port IBIS is attached to   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_set_transaction_timeout timeout_ms </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Set the transaction time out in [msec]   
+</PRE></BLOCKQUOTE>
+
+<P><TT><B>ibis_exit </B></TT>
+<BLOCKQUOTE><PRE>[ returns int  ]
+Exit IBIS.   
+</PRE></BLOCKQUOTE>
+
+<P><PRE>
+ibis_get_local_ports_info
+   [return list]
+   Return the list of available IB ports with GUID, LID and State.</PRE>
+
+<P><TT><B>$ibisSourceVersion</B></TT>
+<BLOCKQUOTE><PRE>[ Global : char * ibisSourceVersion ]
+</PRE></BLOCKQUOTE>
+
+
+</BODY>
+</HTML>
diff --git a/ibis/libtool b/ibis/libtool
new file mode 100644
index 0000000..355e4c0
--- /dev/null
+++ b/ibis/libtool
@@ -0,0 +1,7528 @@
+#! /bin/sh
+
+# libtoolT - Provide generalized library-building support services.
+# Generated automatically by  (GNU ibis 1.2)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED="/bin/sed"
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="/bin/sed -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=" CXX"
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host deb1:
+
+# Shell to use when invoking shell scripts.
+SHELL="/bin/sh"
+
+# Whether or not to build shared libraries.
+build_libtool_libs=yes
+
+# Whether or not to build static libraries.
+build_old_libs=yes
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=no
+
+# Whether or not to optimize for fast installation.
+fast_install=yes
+
+# The host system.
+host_alias=
+host=i486-pc-linux-gnu
+host_os=linux-gnu
+
+# The build system.
+build_alias=i486-linux-gnu
+build=i486-pc-linux-gnu
+build_os=linux-gnu
+
+# An echo program that does not interpret backslashes.
+echo="echo"
+
+# The archiver.
+AR="ar"
+AR_FLAGS="cru"
+
+# A C compiler.
+LTCC="gcc"
+
+# LTCC compiler flags.
+LTCFLAGS="-g -O2"
+
+# A language-specific compiler.
+CC="gcc"
+
+# Is the compiler the GNU C compiler?
+with_gcc=yes
+
+# An ERE matcher.
+EGREP="grep -E"
+
+# The linker used to build libraries.
+LD="/usr/bin/ld"
+
+# Whether we need hard or soft links.
+LN_S="ln -s"
+
+# A BSD-compatible nm program.
+NM="/usr/bin/nm -B"
+
+# A symbol stripping program
+STRIP="strip"
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=file
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="dlltool"
+
+# Used on cygwin: object dumper.
+OBJDUMP="objdump"
+
+# Used on cygwin: assembler.
+AS="as"
+
+# The name of the directory that contains temporary libtool files.
+objdir=.libs
+
+# How to create reloadable object files.
+reload_flag=" -r"
+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Object file suffix (normally "o").
+objext="o"
+
+# Old archive suffix (normally "a").
+libext="a"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='.so'
+
+# Executable file suffix (normally "").
+exeext=""
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+pic_mode=default
+
+# What is the maximum length of a command?
+max_cmd_len=32768
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Must we lock files when doing compilation?
+need_locks="no"
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=no
+
+# Do we need a version for libraries?
+need_version=no
+
+# Whether dlopen is supported.
+dlopen_support=unknown
+
+# Whether dlopen of programs is supported.
+dlopen_self=unknown
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=unknown
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=""
+
+# Library versioning type.
+version_type=linux
+
+# Format of library name prefix.
+libname_spec="lib\$name"
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+
+# The coded name of the library, if different from the real name.
+soname_spec="\${libname}\${release}\${shared_ext}\$major"
+
+# Commands used to build and install an old-style archive.
+RANLIB="ranlib"
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
+old_postuninstall_cmds=""
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build and install a shared archive.
+archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
+  cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
+  \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
+	  \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
+postinstall_cmds=""
+postuninstall_cmds=""
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=""
+module_expsym_cmds=""
+
+# Commands to strip libraries.
+old_striplib="strip --strip-debug"
+striplib="strip --strip-unneeded"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=""
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=""
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=""
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method="pass_all"
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd="\$MAGIC_CMD"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=""
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=""
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
+
+# This is the shared library runtime path variable.
+runpath_var=LD_RUN_PATH
+
+# This is the shared library path variable.
+shlibpath_var=LD_LIBRARY_PATH
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=no
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=yes
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into
+# a binary during linking. This must work even if $libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=no
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=no
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=no
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/ /lib/i486-linux-gnu/4.3.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3 [...]
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib "
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to yes if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=""
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# ### END LIBTOOL CONFIG
+
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# Libtool was configured on host deb1:
+
+# Shell to use when invoking shell scripts.
+SHELL="/bin/sh"
+
+# Whether or not to build shared libraries.
+build_libtool_libs=yes
+
+# Whether or not to build static libraries.
+build_old_libs=yes
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=no
+
+# Whether or not to optimize for fast installation.
+fast_install=yes
+
+# The host system.
+host_alias=
+host=i486-pc-linux-gnu
+host_os=linux-gnu
+
+# The build system.
+build_alias=i486-linux-gnu
+build=i486-pc-linux-gnu
+build_os=linux-gnu
+
+# An echo program that does not interpret backslashes.
+echo="echo"
+
+# The archiver.
+AR="ar"
+AR_FLAGS="cru"
+
+# A C compiler.
+LTCC="gcc"
+
+# LTCC compiler flags.
+LTCFLAGS="-g -O2"
+
+# A language-specific compiler.
+CC="g++"
+
+# Is the compiler the GNU C compiler?
+with_gcc=yes
+
+# An ERE matcher.
+EGREP="grep -E"
+
+# The linker used to build libraries.
+LD="/usr/bin/ld"
+
+# Whether we need hard or soft links.
+LN_S="ln -s"
+
+# A BSD-compatible nm program.
+NM="/usr/bin/nm -B"
+
+# A symbol stripping program
+STRIP="strip"
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=file
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="dlltool"
+
+# Used on cygwin: object dumper.
+OBJDUMP="objdump"
+
+# Used on cygwin: assembler.
+AS="as"
+
+# The name of the directory that contains temporary libtool files.
+objdir=.libs
+
+# How to create reloadable object files.
+reload_flag=" -r"
+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Object file suffix (normally "o").
+objext="o"
+
+# Old archive suffix (normally "a").
+libext="a"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='.so'
+
+# Executable file suffix (normally "").
+exeext=""
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+pic_mode=default
+
+# What is the maximum length of a command?
+max_cmd_len=32768
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Must we lock files when doing compilation?
+need_locks="no"
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=no
+
+# Do we need a version for libraries?
+need_version=no
+
+# Whether dlopen is supported.
+dlopen_support=unknown
+
+# Whether dlopen of programs is supported.
+dlopen_self=unknown
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=unknown
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=""
+
+# Library versioning type.
+version_type=linux
+
+# Format of library name prefix.
+libname_spec="lib\$name"
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+
+# The coded name of the library, if different from the real name.
+soname_spec="\${libname}\${release}\${shared_ext}\$major"
+
+# Commands used to build and install an old-style archive.
+RANLIB="ranlib"
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
+old_postuninstall_cmds=""
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build and install a shared archive.
+archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
+postinstall_cmds=""
+postuninstall_cmds=""
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=""
+module_expsym_cmds=""
+
+# Commands to strip libraries.
+old_striplib="strip --strip-debug"
+striplib="strip --strip-unneeded"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.3/crtbeginS.o"
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o"
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=""
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.."
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method="pass_all"
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd="\$MAGIC_CMD"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=""
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=""
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
+
+# This is the shared library runtime path variable.
+runpath_var=LD_RUN_PATH
+
+# This is the shared library path variable.
+shlibpath_var=LD_LIBRARY_PATH
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=no
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=yes
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into
+# a binary during linking. This must work even if $libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=no
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=no
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=no
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../i486-linux-gnu/4.3.3/ /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/ /lib/i486-linux-gnu/4.3.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3 [...]
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib "
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to yes if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=""
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=""
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# ### END LIBTOOL TAG CONFIG: CXX
+
diff --git a/ibis/src/.deps/ibbbm.Plo b/ibis/src/.deps/ibbbm.Plo
new file mode 100644
index 0000000..08a5fb4
--- /dev/null
+++ b/ibis/src/.deps/ibbbm.Plo
@@ -0,0 +1,265 @@
+ibbbm.lo: ibbbm.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibbbm.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h \
+  ibbbm_base.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibbbm.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibbbm_base.h:
diff --git a/ibis/src/.deps/ibcc.Plo b/ibis/src/.deps/ibcc.Plo
new file mode 100644
index 0000000..266b894
--- /dev/null
+++ b/ibis/src/.deps/ibcc.Plo
@@ -0,0 +1,262 @@
+ibcc.lo: ibcc.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibcc.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibcc.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
diff --git a/ibis/src/.deps/ibcr.Plo b/ibis/src/.deps/ibcr.Plo
new file mode 100644
index 0000000..8fdeb0a
--- /dev/null
+++ b/ibis/src/.deps/ibcr.Plo
@@ -0,0 +1,265 @@
+ibcr.lo: ibcr.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibcr.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h \
+  ibcr_base.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibcr.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibcr_base.h:
diff --git a/ibis/src/.deps/ibis.Plo b/ibis/src/.deps/ibis.Plo
new file mode 100644
index 0000000..cc86d0c
--- /dev/null
+++ b/ibis/src/.deps/ibis.Plo
@@ -0,0 +1,259 @@
+ibis.lo: ibis.c /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  ibis.h /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h \
+  /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/common.h /usr/include/infiniband/umad.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+  ibis_gsi_mad_ctrl.h git_version.h
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis_gsi_mad_ctrl.h:
+
+git_version.h:
diff --git a/ibis/src/.deps/ibis_gsi_mad_ctrl.Plo b/ibis/src/.deps/ibis_gsi_mad_ctrl.Plo
new file mode 100644
index 0000000..4f74415
--- /dev/null
+++ b/ibis/src/.deps/ibis_gsi_mad_ctrl.Plo
@@ -0,0 +1,266 @@
+ibis_gsi_mad_ctrl.lo: ibis_gsi_mad_ctrl.c /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h \
+  /usr/include/infiniband/complib/cl_passivelock.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h \
+  /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/complib/cl_map.h \
+  /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibis_gsi_mad_ctrl.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/infiniband/umad.h \
+  /usr/include/infiniband/opensm/osm_mad_pool.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/complib/cl_map.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibis_gsi_mad_ctrl.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
diff --git a/ibis/src/.deps/ibis_wrap.Plo b/ibis/src/.deps/ibis_wrap.Plo
new file mode 100644
index 0000000..31273e9
--- /dev/null
+++ b/ibis/src/.deps/ibis_wrap.Plo
@@ -0,0 +1,330 @@
+ibis_wrap.lo: ibis_wrap.c /usr/include/tcl8.4/tcl.h /usr/include/stdio.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/tcl8.4/tclDecls.h \
+  /usr/include/tcl8.4/tclPlatDecls.h /usr/include/string.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h /usr/include/stdlib.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/infiniband/opensm/osm_log.h \
+  /usr/include/syslog.h /usr/include/sys/syslog.h \
+  /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h \
+  /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_map.h \
+  /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h ibis.h \
+  /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/common.h /usr/include/infiniband/umad.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+  ibis_gsi_mad_ctrl.h ibcr.h \
+  /usr/include/infiniband/complib/cl_passivelock.h ibcr_base.h ibpm.h \
+  ibpm_base.h ibvs.h ibvs_base.h ibbbm.h ibbbm_base.h ibsac.h ibsm.h \
+  ibcc.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/infiniband/vendor/osm_vendor_sa_api.h swig_extended_obj.c
+
+/usr/include/tcl8.4/tcl.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/tcl8.4/tclDecls.h:
+
+/usr/include/tcl8.4/tclPlatDecls.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_map.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibcr.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+ibcr_base.h:
+
+ibpm.h:
+
+ibpm_base.h:
+
+ibvs.h:
+
+ibvs_base.h:
+
+ibbbm.h:
+
+ibbbm_base.h:
+
+ibsac.h:
+
+ibsm.h:
+
+ibcc.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/infiniband/vendor/osm_vendor_sa_api.h:
+
+swig_extended_obj.c:
diff --git a/ibis/src/.deps/ibissh_wrap.Po b/ibis/src/.deps/ibissh_wrap.Po
new file mode 100644
index 0000000..21ff2ee
--- /dev/null
+++ b/ibis/src/.deps/ibissh_wrap.Po
@@ -0,0 +1,328 @@
+ibissh_wrap.o: ibissh_wrap.cpp /usr/include/tcl8.4/tcl.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/tcl8.4/tclDecls.h \
+  /usr/include/tcl8.4/tclPlatDecls.h /usr/include/string.h \
+  /usr/include/xlocale.h /usr/include/stdlib.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/environments.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/infiniband/opensm/osm_log.h \
+  /usr/include/syslog.h /usr/include/sys/syslog.h \
+  /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
+  /usr/include/signal.h /usr/include/bits/setjmp.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h \
+  /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_map.h \
+  /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h ibis.h \
+  /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/common.h /usr/include/infiniband/umad.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+  ibis_gsi_mad_ctrl.h ibcr.h \
+  /usr/include/infiniband/complib/cl_passivelock.h ibcr_base.h ibpm.h \
+  ibpm_base.h ibvs.h ibvs_base.h ibbbm.h ibbbm_base.h ibsac.h ibsm.h \
+  ibcc.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/infiniband/vendor/osm_vendor_sa_api.h swig_extended_obj.c
+
+/usr/include/tcl8.4/tcl.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/tcl8.4/tclDecls.h:
+
+/usr/include/tcl8.4/tclPlatDecls.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_map.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibcr.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+ibcr_base.h:
+
+ibpm.h:
+
+ibpm_base.h:
+
+ibvs.h:
+
+ibvs_base.h:
+
+ibbbm.h:
+
+ibbbm_base.h:
+
+ibsac.h:
+
+ibsm.h:
+
+ibcc.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/infiniband/vendor/osm_vendor_sa_api.h:
+
+swig_extended_obj.c:
diff --git a/ibis/src/.deps/ibpm.Plo b/ibis/src/.deps/ibpm.Plo
new file mode 100644
index 0000000..022395f
--- /dev/null
+++ b/ibis/src/.deps/ibpm.Plo
@@ -0,0 +1,265 @@
+ibpm.lo: ibpm.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibpm.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h \
+  ibpm_base.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibpm.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibpm_base.h:
diff --git a/ibis/src/.deps/ibsac.Plo b/ibis/src/.deps/ibsac.Plo
new file mode 100644
index 0000000..8fc5032
--- /dev/null
+++ b/ibis/src/.deps/ibsac.Plo
@@ -0,0 +1,253 @@
+ibsac.lo: ibsac.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h ibis.h /usr/include/infiniband/opensm/osm_log.h \
+  /usr/include/syslog.h /usr/include/sys/syslog.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+  /usr/include/bits/sched.h /usr/include/bits/time.h \
+  /usr/include/signal.h /usr/include/bits/sigset.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+  ibis_gsi_mad_ctrl.h /usr/include/infiniband/vendor/osm_vendor_sa_api.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis_gsi_mad_ctrl.h:
+
+/usr/include/infiniband/vendor/osm_vendor_sa_api.h:
diff --git a/ibis/src/.deps/ibsm.Plo b/ibis/src/.deps/ibsm.Plo
new file mode 100644
index 0000000..c7837d4
--- /dev/null
+++ b/ibis/src/.deps/ibsm.Plo
@@ -0,0 +1,262 @@
+ibsm.lo: ibsm.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibsm.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibsm.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
diff --git a/ibis/src/.deps/ibvs.Plo b/ibis/src/.deps/ibvs.Plo
new file mode 100644
index 0000000..8d3a7c8
--- /dev/null
+++ b/ibis/src/.deps/ibvs.Plo
@@ -0,0 +1,265 @@
+ibvs.lo: ibvs.c /usr/include/string.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+  /usr/include/bits/string.h /usr/include/bits/string2.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/stdlib.h /usr/include/infiniband/complib/cl_qmap.h \
+  /usr/include/infiniband/complib/cl_qpool.h \
+  /usr/include/infiniband/complib/cl_qcomppool.h \
+  /usr/include/infiniband/complib/cl_types.h \
+  /usr/include/infiniband/complib/cl_types_osd.h /usr/include/inttypes.h \
+  /usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/assert.h \
+  /usr/include/infiniband/complib/cl_qlist.h \
+  /usr/include/infiniband/complib/cl_passivelock.h /usr/include/pthread.h \
+  /usr/include/sched.h /usr/include/time.h /usr/include/bits/sched.h \
+  /usr/include/bits/time.h /usr/include/signal.h \
+  /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/setjmp.h /usr/include/infiniband/complib/cl_debug.h \
+  /usr/include/infiniband/complib/cl_debug_osd.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/infiniband/iba/ib_types.h \
+  /usr/include/infiniband/complib/cl_byteswap.h \
+  /usr/include/infiniband/complib/cl_byteswap_osd.h \
+  /usr/include/byteswap.h /usr/include/bits/byteswap.h \
+  /usr/include/infiniband/complib/cl_packon.h \
+  /usr/include/infiniband/complib/cl_packoff.h ibvs.h \
+  /usr/include/infiniband/opensm/osm_madw.h \
+  /usr/include/infiniband/complib/cl_dispatcher.h \
+  /usr/include/infiniband/complib/cl_atomic.h \
+  /usr/include/infiniband/complib/cl_atomic_osd.h \
+  /usr/include/infiniband/complib/cl_spinlock.h \
+  /usr/include/infiniband/complib/cl_spinlock_osd.h \
+  /usr/include/infiniband/complib/cl_threadpool.h \
+  /usr/include/infiniband/complib/cl_thread.h \
+  /usr/include/infiniband/complib/cl_thread_osd.h \
+  /usr/include/infiniband/complib/cl_event.h \
+  /usr/include/infiniband/complib/cl_event_osd.h \
+  /usr/include/infiniband/complib/cl_ptr_vector.h \
+  /usr/include/infiniband/opensm/osm_base.h ../config.h \
+  /usr/include/infiniband/vendor/osm_vendor.h \
+  /usr/include/infiniband/opensm/osm_config.h \
+  /usr/include/infiniband/vendor/osm_vendor_ibumad.h \
+  /usr/include/infiniband/opensm/osm_log.h /usr/include/syslog.h \
+  /usr/include/sys/syslog.h /usr/include/bits/syslog-path.h \
+  /usr/include/infiniband/common.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/sys/types.h \
+  /usr/include/sys/sysmacros.h /usr/include/infiniband/umad.h \
+  /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+  /usr/include/alloca.h /usr/include/infiniband/opensm/osm_mad_pool.h \
+  /usr/include/infiniband/opensm/osm_msgdef.h ibis_api.h \
+  /usr/include/infiniband/complib/cl_vector.h ibis_base.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h ibis.h \
+  /usr/include/infiniband/opensm/osm_helper.h \
+  /usr/include/infiniband/opensm/osm_path.h \
+  /usr/include/infiniband/vendor/osm_vendor_api.h ibis_gsi_mad_ctrl.h \
+  ibvs_base.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/infiniband/complib/cl_qmap.h:
+
+/usr/include/infiniband/complib/cl_qpool.h:
+
+/usr/include/infiniband/complib/cl_qcomppool.h:
+
+/usr/include/infiniband/complib/cl_types.h:
+
+/usr/include/infiniband/complib/cl_types_osd.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/assert.h:
+
+/usr/include/infiniband/complib/cl_qlist.h:
+
+/usr/include/infiniband/complib/cl_passivelock.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/infiniband/complib/cl_debug.h:
+
+/usr/include/infiniband/complib/cl_debug_osd.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/infiniband/iba/ib_types.h:
+
+/usr/include/infiniband/complib/cl_byteswap.h:
+
+/usr/include/infiniband/complib/cl_byteswap_osd.h:
+
+/usr/include/byteswap.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/infiniband/complib/cl_packon.h:
+
+/usr/include/infiniband/complib/cl_packoff.h:
+
+ibvs.h:
+
+/usr/include/infiniband/opensm/osm_madw.h:
+
+/usr/include/infiniband/complib/cl_dispatcher.h:
+
+/usr/include/infiniband/complib/cl_atomic.h:
+
+/usr/include/infiniband/complib/cl_atomic_osd.h:
+
+/usr/include/infiniband/complib/cl_spinlock.h:
+
+/usr/include/infiniband/complib/cl_spinlock_osd.h:
+
+/usr/include/infiniband/complib/cl_threadpool.h:
+
+/usr/include/infiniband/complib/cl_thread.h:
+
+/usr/include/infiniband/complib/cl_thread_osd.h:
+
+/usr/include/infiniband/complib/cl_event.h:
+
+/usr/include/infiniband/complib/cl_event_osd.h:
+
+/usr/include/infiniband/complib/cl_ptr_vector.h:
+
+/usr/include/infiniband/opensm/osm_base.h:
+
+../config.h:
+
+/usr/include/infiniband/vendor/osm_vendor.h:
+
+/usr/include/infiniband/opensm/osm_config.h:
+
+/usr/include/infiniband/vendor/osm_vendor_ibumad.h:
+
+/usr/include/infiniband/opensm/osm_log.h:
+
+/usr/include/syslog.h:
+
+/usr/include/sys/syslog.h:
+
+/usr/include/bits/syslog-path.h:
+
+/usr/include/infiniband/common.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/infiniband/umad.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/infiniband/opensm/osm_mad_pool.h:
+
+/usr/include/infiniband/opensm/osm_msgdef.h:
+
+ibis_api.h:
+
+/usr/include/infiniband/complib/cl_vector.h:
+
+ibis_base.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+ibis.h:
+
+/usr/include/infiniband/opensm/osm_helper.h:
+
+/usr/include/infiniband/opensm/osm_path.h:
+
+/usr/include/infiniband/vendor/osm_vendor_api.h:
+
+ibis_gsi_mad_ctrl.h:
+
+ibvs_base.h:
diff --git a/ibis/src/Makefile b/ibis/src/Makefile
new file mode 100644
index 0000000..f86c7f4
--- /dev/null
+++ b/ibis/src/Makefile
@@ -0,0 +1,705 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibis
+pkglibdir = $(libdir)/ibis
+pkgincludedir = $(includedir)/ibis
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+bin_PROGRAMS = ibis$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libibis_la_LIBADD =
+am_libibis_la_OBJECTS = ibis_wrap.lo ibbbm.lo ibcr.lo ibis.lo \
+	ibis_gsi_mad_ctrl.lo ibpm.lo ibsac.lo ibsm.lo ibvs.lo ibcc.lo
+libibis_la_OBJECTS = $(am_libibis_la_OBJECTS)
+libibiscom_la_LIBADD =
+am_libibiscom_la_OBJECTS = ibbbm.lo ibcr.lo ibis.lo \
+	ibis_gsi_mad_ctrl.lo ibpm.lo ibsac.lo ibsm.lo ibvs.lo ibcc.lo
+libibiscom_la_OBJECTS = $(am_libibiscom_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibis_OBJECTS = ibissh_wrap.$(OBJEXT)
+ibis_OBJECTS = $(am_ibis_OBJECTS)
+am__DEPENDENCIES_1 =
+ibis_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libibis_la_SOURCES) $(libibiscom_la_SOURCES) \
+	$(ibis_SOURCES)
+DIST_SOURCES = $(libibis_la_SOURCES) $(libibiscom_la_SOURCES) \
+	$(ibis_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run makeinfo
+OBJEXT = o
+OSM_BUILD = openib
+OSM_BUILD_OPENIB_FALSE = #
+OSM_BUILD_OPENIB_TRUE = 
+OSM_CFLAGS = -I/usr/include/infiniband -I/usr/include  -DOSM_VENDOR_INTF_OPENIB  -DOSM_BUILD_OPENIB -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
+OSM_LDFLAGS = -Wl,-rpath -Wl,/usr/lib -L/usr/lib -lopensm -losmvendor -losmcomp -libumad -libcommon
+OSM_VENDOR = openib
+OSM_VENDOR_MTL_FALSE = 
+OSM_VENDOR_MTL_TRUE = #
+OSM_VENDOR_SIM_FALSE = 
+OSM_VENDOR_SIM_TRUE = #
+OSM_VENDOR_TS_FALSE = 
+OSM_VENDOR_TS_TRUE = #
+PACKAGE = ibis
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+VERSION = 1.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_osm = /usr
+DBG = -O2 -Wall
+
+# Support debug mode through config variable
+#DBG = -O0 -g -Wall -Werror
+AM_CFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC -DIBIS_VERSION=\"$(VERSION)\"
+AM_CXXFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC  -DIBIS_VERSION=\"$(VERSION)\"
+
+# ibis shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET = "1:0:0"
+LIB_FILE_TRIPLET = 1.0.0
+lib_LTLIBRARIES = libibiscom.la libibis.la
+libibiscom_la_SOURCES = ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+
+# client library to be used by IBIS TCL package:
+libibis_la_SOURCES = ibis_wrap.c ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+libibis_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET) -no-undefined  \
+	 $(OSM_LDFLAGS) $(TCL_LIBS)
+
+
+# this is used for the libraries link
+LDADD = $(OSM_LDFLAGS)
+# AM_LDFLAGS = -static
+ibis_SOURCES = ibissh_wrap.cpp
+ibis_LDFLAGS = -static
+# note the order of the libraries does matter as we static link
+ibis_LDADD = -libiscom $(OSM_LDFLAGS) $(TCL_LIBS)
+
+# SWIG FILES:
+SWIG_IFC_FILES = $(srcdir)/ibbbm.i \
+	$(srcdir)/ibcr.i \
+	$(srcdir)/ibis.i \
+	$(srcdir)/ibis_typemaps.i \
+	$(srcdir)/ibpm.i \
+	$(srcdir)/ibsac.i \
+	$(srcdir)/ibsm.i \
+	$(srcdir)/ibvs.i \
+	$(srcdir)/ibcc.i
+
+
+# track latest GIT version for this tree:
+GIT = $(shell which git)
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_extended_obj.c fixSwigWrapper pkgIndex.tcl \
+	 ibbbm_base.h \
+	 ibbbm.h \
+	 ibcr_base.h \
+	 ibcr.h \
+	 ibis_api.h \
+	 ibis_base.h \
+	 ibis_gsi_mad_ctrl.h \
+	 ibis.h \
+	 ibpm_base.h \
+	 ibpm.h \
+	 ibsac.h \
+	 ibsm.h \
+	 ibvs_base.h \
+	 ibvs.h \
+	 ibcc.h \
+	 git_version.h
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libibis.la: $(libibis_la_OBJECTS) $(libibis_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libibis_la_LDFLAGS) $(libibis_la_OBJECTS) $(libibis_la_LIBADD) $(LIBS)
+libibiscom.la: $(libibiscom_la_OBJECTS) $(libibiscom_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libibiscom_la_LDFLAGS) $(libibiscom_la_OBJECTS) $(libibiscom_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibis$(EXEEXT): $(ibis_OBJECTS) $(ibis_DEPENDENCIES) 
+	@rm -f ibis$(EXEEXT)
+	$(CXXLINK) $(ibis_LDFLAGS) $(ibis_OBJECTS) $(ibis_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/ibbbm.Plo
+include ./$(DEPDIR)/ibcc.Plo
+include ./$(DEPDIR)/ibcr.Plo
+include ./$(DEPDIR)/ibis.Plo
+include ./$(DEPDIR)/ibis_gsi_mad_ctrl.Plo
+include ./$(DEPDIR)/ibis_wrap.Plo
+include ./$(DEPDIR)/ibissh_wrap.Po
+include ./$(DEPDIR)/ibpm.Plo
+include ./$(DEPDIR)/ibsac.Plo
+include ./$(DEPDIR)/ibsm.Plo
+include ./$(DEPDIR)/ibvs.Plo
+
+.c.o:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(LTCOMPILE) -c -o $@ $<
+
+.cpp.o:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+	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-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-man 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 uninstall \
+	uninstall-am uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES
+
+
+ibis.lo: $(srcdir)/git_version.h
+
+$(srcdir)/git_version.h:  # FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBIS_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+$(srcdir)/ibis_wrap.c: # $(SWIG_IFC_FILES)
+	swig -I$(srcdir) -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibis.i
+	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+	rm -f swig_wrap.c
+
+$(srcdir)/ibissh_wrap.cpp: # $(SWIG_IFC_FILES)
+	swig -I$(srcdir) -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibis.i
+	$(srcdir)/fixSwigWrapper -g -s -p -r ibis -o $@
+	rm -f swig_wrap.c
+
+swigclean:
+	rm -f $(srcdir)/ibis_wrap.c $(srcdir)/ibissh_wrap.cpp *wrap.o
+
+# we do not want the temporary and the archive libs installed:
+install-libLTLIBRARIES:
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)/$(libdir)/ibis$(VERSION)
+	cp .libs/libibis.so.$(LIB_FILE_TRIPLET) $(DESTDIR)/$(libdir)/ibis$(VERSION)/libibis.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)/$(libdir)/ibis$(VERSION)/pkgIndex.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/src/Makefile.am b/ibis/src/Makefile.am
new file mode 100644
index 0000000..e0b512f
--- /dev/null
+++ b/ibis/src/Makefile.am
@@ -0,0 +1,163 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+## Makefile.am -- Process this file with automake to produce Makefile.in
+
+# Support debug mode through config variable
+if DEBUG
+DBG = -O0 -g -Wall -Werror
+else
+DBG = -O2 -Wall
+endif
+
+AM_CFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC -DIBIS_VERSION=\"$(VERSION)\"
+AM_CXXFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC  -DIBIS_VERSION=\"$(VERSION)\"
+
+
+# ibis shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET="1:0:0"
+LIB_FILE_TRIPLET=1.0.0
+
+lib_LTLIBRARIES = libibiscom.la libibis.la
+
+libibiscom_la_SOURCES = ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+# client library to be used by IBIS TCL package:
+libibis_la_SOURCES = ibis_wrap.c ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+libibis_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET) -no-undefined  \
+	 $(OSM_LDFLAGS) $(TCL_LIBS)
+
+bin_PROGRAMS = ibis
+
+# this is used for the libraries link
+LDADD = $(OSM_LDFLAGS)
+# AM_LDFLAGS = -static
+
+ibis_SOURCES = ibissh_wrap.cpp
+
+ibis_LDFLAGS = -static
+# note the order of the libraries does matter as we static link
+ibis_LDADD = -libiscom $(OSM_LDFLAGS) $(TCL_LIBS)
+
+
+# SWIG FILES:
+SWIG_IFC_FILES= $(srcdir)/ibbbm.i \
+	$(srcdir)/ibcr.i \
+	$(srcdir)/ibis.i \
+	$(srcdir)/ibis_typemaps.i \
+	$(srcdir)/ibpm.i \
+	$(srcdir)/ibsac.i \
+	$(srcdir)/ibsm.i \
+	$(srcdir)/ibvs.i \
+	$(srcdir)/ibcc.i
+
+ibis.lo: $(srcdir)/git_version.h
+
+# track latest GIT version for this tree:
+GIT=$(shell which git)
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBIS_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+if HAS_SWIG
+$(srcdir)/ibis_wrap.c: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+	swig -I$(srcdir) -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibis.i
+	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+	rm -f swig_wrap.c
+
+$(srcdir)/ibissh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+	swig -I$(srcdir) -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibis.i
+	$(srcdir)/fixSwigWrapper -g -s -p -r ibis -o $@
+	rm -f swig_wrap.c
+endif
+
+swigclean:
+	rm -f $(srcdir)/ibis_wrap.c $(srcdir)/ibissh_wrap.cpp *wrap.o
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_extended_obj.c fixSwigWrapper pkgIndex.tcl \
+	 ibbbm_base.h \
+	 ibbbm.h \
+	 ibcr_base.h \
+	 ibcr.h \
+	 ibis_api.h \
+	 ibis_base.h \
+	 ibis_gsi_mad_ctrl.h \
+	 ibis.h \
+	 ibpm_base.h \
+	 ibpm.h \
+	 ibsac.h \
+	 ibsm.h \
+	 ibvs_base.h \
+	 ibvs.h \
+	 ibcc.h \
+	 git_version.h
+
+# we do not want the temporary and the archive libs installed:
+install-libLTLIBRARIES:
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)/$(libdir)/ibis$(VERSION)
+	cp .libs/libibis.so.$(LIB_FILE_TRIPLET) $(DESTDIR)/$(libdir)/ibis$(VERSION)/libibis.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)/$(libdir)/ibis$(VERSION)/pkgIndex.tcl
+
diff --git a/ibis/src/Makefile.in b/ibis/src/Makefile.in
new file mode 100644
index 0000000..780a84c
--- /dev/null
+++ b/ibis/src/Makefile.in
@@ -0,0 +1,705 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = ibis$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libibis_la_LIBADD =
+am_libibis_la_OBJECTS = ibis_wrap.lo ibbbm.lo ibcr.lo ibis.lo \
+	ibis_gsi_mad_ctrl.lo ibpm.lo ibsac.lo ibsm.lo ibvs.lo ibcc.lo
+libibis_la_OBJECTS = $(am_libibis_la_OBJECTS)
+libibiscom_la_LIBADD =
+am_libibiscom_la_OBJECTS = ibbbm.lo ibcr.lo ibis.lo \
+	ibis_gsi_mad_ctrl.lo ibpm.lo ibsac.lo ibsm.lo ibvs.lo ibcc.lo
+libibiscom_la_OBJECTS = $(am_libibiscom_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibis_OBJECTS = ibissh_wrap.$(OBJEXT)
+ibis_OBJECTS = $(am_ibis_OBJECTS)
+am__DEPENDENCIES_1 =
+ibis_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libibis_la_SOURCES) $(libibiscom_la_SOURCES) \
+	$(ibis_SOURCES)
+DIST_SOURCES = $(libibis_la_SOURCES) $(libibiscom_la_SOURCES) \
+	$(ibis_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_osm = @with_osm@
+ at DEBUG_FALSE@DBG = -O2 -Wall
+
+# Support debug mode through config variable
+ at DEBUG_TRUE@DBG = -O0 -g -Wall -Werror
+AM_CFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC -DIBIS_VERSION=\"$(VERSION)\"
+AM_CXXFLAGS = $(TCL_CPPFLAGS) $(OSM_CFLAGS) $(DBG) -fno-strict-aliasing -fPIC  -DIBIS_VERSION=\"$(VERSION)\"
+
+# ibis shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET = "1:0:0"
+LIB_FILE_TRIPLET = 1.0.0
+lib_LTLIBRARIES = libibiscom.la libibis.la
+libibiscom_la_SOURCES = ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+
+# client library to be used by IBIS TCL package:
+libibis_la_SOURCES = ibis_wrap.c ibbbm.c ibcr.c	ibis.c ibis_gsi_mad_ctrl.c \
+	ibpm.c ibsac.c ibsm.c ibvs.c ibcc.c
+
+libibis_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET) -no-undefined  \
+	 $(OSM_LDFLAGS) $(TCL_LIBS)
+
+
+# this is used for the libraries link
+LDADD = $(OSM_LDFLAGS)
+# AM_LDFLAGS = -static
+ibis_SOURCES = ibissh_wrap.cpp
+ibis_LDFLAGS = -static
+# note the order of the libraries does matter as we static link
+ibis_LDADD = -libiscom $(OSM_LDFLAGS) $(TCL_LIBS)
+
+# SWIG FILES:
+SWIG_IFC_FILES = $(srcdir)/ibbbm.i \
+	$(srcdir)/ibcr.i \
+	$(srcdir)/ibis.i \
+	$(srcdir)/ibis_typemaps.i \
+	$(srcdir)/ibpm.i \
+	$(srcdir)/ibsac.i \
+	$(srcdir)/ibsm.i \
+	$(srcdir)/ibvs.i \
+	$(srcdir)/ibcc.i
+
+
+# track latest GIT version for this tree:
+GIT = $(shell which git)
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_extended_obj.c fixSwigWrapper pkgIndex.tcl \
+	 ibbbm_base.h \
+	 ibbbm.h \
+	 ibcr_base.h \
+	 ibcr.h \
+	 ibis_api.h \
+	 ibis_base.h \
+	 ibis_gsi_mad_ctrl.h \
+	 ibis.h \
+	 ibpm_base.h \
+	 ibpm.h \
+	 ibsac.h \
+	 ibsm.h \
+	 ibvs_base.h \
+	 ibvs.h \
+	 ibcc.h \
+	 git_version.h
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libibis.la: $(libibis_la_OBJECTS) $(libibis_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libibis_la_LDFLAGS) $(libibis_la_OBJECTS) $(libibis_la_LIBADD) $(LIBS)
+libibiscom.la: $(libibiscom_la_OBJECTS) $(libibiscom_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libibiscom_la_LDFLAGS) $(libibiscom_la_OBJECTS) $(libibiscom_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibis$(EXEEXT): $(ibis_OBJECTS) $(ibis_DEPENDENCIES) 
+	@rm -f ibis$(EXEEXT)
+	$(CXXLINK) $(ibis_LDFLAGS) $(ibis_OBJECTS) $(ibis_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibbbm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibcc.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibcr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibis.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibis_gsi_mad_ctrl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibis_wrap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibissh_wrap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibpm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibsac.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibsm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibvs.Plo at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+	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-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-man 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 uninstall \
+	uninstall-am uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES
+
+
+ibis.lo: $(srcdir)/git_version.h
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBIS_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+ at HAS_SWIG_TRUE@$(srcdir)/ibis_wrap.c: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+ at HAS_SWIG_TRUE@	swig -I$(srcdir) -dhtml -tcl8 -o swig_wrap.c $(srcdir)/ibis.i
+ at HAS_SWIG_TRUE@	$(srcdir)/fixSwigWrapper -g -s -p -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+ at HAS_SWIG_TRUE@$(srcdir)/ibissh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+ at HAS_SWIG_TRUE@	swig -I$(srcdir) -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/ibis.i
+ at HAS_SWIG_TRUE@	$(srcdir)/fixSwigWrapper -g -s -p -r ibis -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+swigclean:
+	rm -f $(srcdir)/ibis_wrap.c $(srcdir)/ibissh_wrap.cpp *wrap.o
+
+# we do not want the temporary and the archive libs installed:
+install-libLTLIBRARIES:
+
+# this actually over write the lib install
+install-exec-am: install-binPROGRAMS
+	mkdir -p $(DESTDIR)/$(libdir)/ibis$(VERSION)
+	cp .libs/libibis.so.$(LIB_FILE_TRIPLET) $(DESTDIR)/$(libdir)/ibis$(VERSION)/libibis.so.$(VERSION)
+	sed 's/%VERSION%/'$(VERSION)'/g' $(srcdir)/pkgIndex.tcl > $(DESTDIR)/$(libdir)/ibis$(VERSION)/pkgIndex.tcl
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/src/fixSwigWrapper b/ibis/src/fixSwigWrapper
new file mode 100755
index 0000000..d60bb1a
--- /dev/null
+++ b/ibis/src/fixSwigWrapper
@@ -0,0 +1,196 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+  exec tclsh "$0" "$@"
+
+proc Usage {} {
+	global argv0
+	puts "Usage: $argv0 \[-r <prompt>\] \[-g\] \[-s\] \[-p\] -o <out-file>"
+}
+
+proc Help {} {
+	puts "\nfixSwigWrapper : Applies extended behaviour to a swig_wrap.c\n"
+	Usage
+	puts "\nArguments:"
+	puts "-o out-file : The name of the out file\n"
+	puts "\nOptions:"
+	puts "-r prompt : add readline support using the given prompt"
+	puts "-g : Cleanup SWIG_GetPointerObj"
+	puts "-s : Cleanup SWIG_SetPointerObj"
+	puts "-p : Cleanup SWIG_MakePtr\n\n"
+	exit 1
+}
+
+# basically this code filters out the two swig functions:
+# SWIG_GetPointerObj
+# SWIG_SetPointerObj
+# from the given file and also adds one line just before the last
+# return statement
+
+proc LoadFile {fn} {
+	# open the file
+	if {[catch {set f [open $fn "r"]} e]} {
+		error "-E- LoadFile: $e"
+	}
+
+	while {[gets $f sLine] >= 0} {
+	        lappend linesList "$sLine"
+	}
+	close $f
+	set res "[join $linesList \n]"
+	puts stderr "-I- Loaded file: $fn with:[string length $res] chars"
+
+	return $res
+}
+
+proc remTrailingBlanks {code} {
+	regsub -line -all {[ 	]+$} $code {} code
+	return $code
+}
+
+
+# remove the given proc from the file
+proc remProc {code procName procRetType} {
+
+	# find the idx of the start of the procedure
+	if {! [regexp -indices -line "SWIGSTATIC\[\\s\n\]*$procRetType\[\\s\n\]*$procName" \
+				 $code sidx]} {
+		error "-E- Fail to find proc:$procName"
+	}
+
+	# assume the end of the procedure has a nice indented \}
+	if {! [regexp -start [lindex $sidx 0] -indices "\n\}" $code eidx]} {
+		error "-E- Fail to find proc:$procName end"
+	}
+
+	return [string replace $code [lindex $sidx 0] [lindex $eidx 1]]
+}
+
+proc addAtLastReturn {code text} {
+	# find the last "return TCL_OK"
+	set idx [string last {return TCL_OK} $code]
+	if {$idx <= 0} {
+		error "-E- Fail to find last return"
+	}
+
+	return [string replace $code $idx $idx $text]
+}
+
+proc addVoidParam {code procName procRetType} {
+ 	# find the idx of the start of the procedure
+	if {! [regexp -indices "SWIGSTATIC\[\\s\n\]*$procRetType\[\\s\n\]*${procName}\\(\\)" \
+				 $code sidx]} {
+		error "-E- Fail to find proc:$procName"
+	}
+	return [string replace $code [lindex $sidx 1] [lindex $sidx 1] " void )"]
+}
+
+# MAIN
+
+set removeGetObj 0
+set removeSetObj 0
+set removeMakePtr 0
+set userPrompt 0
+set removeTrailingBlanks 1
+set outFileName ""
+
+# parse command line args
+while {[llength $argv]} {
+	set sw [lindex $argv 0]
+	set argv [lrange $argv 1 end]
+
+	switch -- $sw {
+		-r {
+			if {![llength $argv]} {
+				puts "-E- Expected prompt value after -r"
+				Usage
+				exit 1
+			}
+			set userPrompt [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-o {
+			if {![llength $argv]} {
+				puts "-E- Expected file name value after -o"
+				Usage
+				exit 1
+			}
+			set outFileName [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-g { set removeGetObj 1}
+		-s { set removeSetObj 1}
+		-p { set removeMakePtr 1}
+		-h {
+			Help
+		}
+		default {
+			puts "-E- Unexpected argument: $sw"
+			Usage
+			exit 1
+		}
+	}
+}
+
+set readlineCode "
+   if (Tcl_PkgRequire(interp,\"tclreadline\",0,0) != NULL) \{
+     Tcl_Eval(interp,
+				  \"if \{\$tcl_interactive\} \{namespace eval tclreadline \{proc prompt1 \{\} \{return \\\"$userPrompt >\\\"\} \}; ::tclreadline::Loop $userPrompt.log \}\"
+     );
+   \}
+"
+
+if {[catch {set swigCode [LoadFile swig_wrap.c]} e]} {
+	puts "$e"
+	exit 3
+}
+
+if {$removeGetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_GetPointerObj "char \\*"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeTrailingBlanks} {
+	if {[catch {set swigCode [remTrailingBlanks $swigCode]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeSetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_SetPointerObj "void"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeMakePtr} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_MakePtr "int"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$userPrompt != 0} {
+	if {[catch {set swigCode [addAtLastReturn $swigCode "${readlineCode}r"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {[catch {set swigCode [addVoidParam $swigCode SWIG_RegisterType "void"]} e]} {
+   puts "-E- $e"
+   exit 1
+}
+
+if {$outFileName != 0} {
+	if {[catch {set f [open $outFileName w]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+	puts $f $swigCode
+	close $f
+} else {
+	puts $swigCode
+}
diff --git a/ibis/src/git_version.h b/ibis/src/git_version.h
new file mode 100644
index 0000000..3dbf20d
--- /dev/null
+++ b/ibis/src/git_version.h
@@ -0,0 +1 @@
+#define IBIS_CODE_VERSION "undefined"
diff --git a/ibis/src/ibbbm.c b/ibis/src/ibbbm.c
new file mode 100644
index 0000000..ee09bdb
--- /dev/null
+++ b/ibis/src/ibbbm.c
@@ -0,0 +1,361 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibcr_t.
+ * This object represents the Subnet Performance Monitor object.
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.2 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibbbm.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+
+/****g* IBBBM
+ * NAME
+ * ibbbm_mad p_ibbbm_mad
+ *
+ * DESCRIPTION
+ * global IBBBM struct and a pointer to that struct
+ *
+ * SYNOPSIS
+ */
+ib_bbm_vpd_t *p_ibbbm_vpd_mad;
+ib_bbm_vpd_t ibbbm_vpd_mad;
+/*
+ * SEE ALSO
+ * IBBBM object, ibbbm_construct, ibbbm_destroy
+ *********/
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ibbbm_t*
+ibbbm_construct()
+{
+  ibbbm_t* p_ibbbm;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibbbm = malloc(sizeof(ibbbm_t));
+  if (p_ibbbm == NULL)
+  {
+    goto Exit;
+  }
+
+  memset (p_ibbbm, 0, sizeof(ibbbm_t));
+  p_ibbbm->state = IBBBM_STATE_INIT;
+  p_ibbbm->bm_sequence = 0;
+  cl_event_construct(&p_ibbbm->wait_for_resp);
+
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return(p_ibbbm);
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibbbm_destroy(
+  IN ibbbm_t* const p_ibbbm )
+{
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibbbm->state = IBBBM_STATE_INIT;
+  cl_event_destroy(&p_ibbbm->wait_for_resp);
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibbbm_init(
+  IN ibbbm_t* const p_ibbbm )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  cl_event_init(&p_ibbbm->wait_for_resp, FALSE); // FALSE: auto reset
+  p_ibbbm->state = IBBBM_STATE_READY;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+static void
+__ibbbm_space_rcv_callback(
+  IN void* context,
+  IN void* p_data)
+{
+  osm_madw_t* const p_madw = (osm_madw_t*)p_data;
+  /* HACK : how do we get the context from the mad itself ??? */
+  ibbbm_t* p_ibbbm = (ibbbm_t*)context;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  memcpy(&ibbbm_vpd_mad,p_madw->p_mad,sizeof(ib_bbm_vpd_t));
+
+  p_ibbbm_vpd_mad = (ib_bbm_vpd_t *)&ibbbm_vpd_mad;
+
+  /* Signal for the waiter we have got some data */
+  cl_event_signal(&p_ibbbm->wait_for_resp);
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+};
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibbbm_bind(
+  IN ibbbm_t* const p_ibbbm )
+{
+  ib_api_status_t status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    BBM_CLASS, 1,
+    &p_ibbbm->h_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(&(IbisObj.mad_ctrl),BBM_CLASS ,BBM_ATTR_WRITEVPD ,__ibbbm_space_rcv_callback, (void *)p_ibbbm);
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(&(IbisObj.mad_ctrl),BBM_CLASS ,BBM_ATTR_READVPD ,__ibbbm_space_rcv_callback, (void *)p_ibbbm);
+
+  Exit :
+
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+static ib_api_status_t
+__ibbbm_vpd(
+  IN ibbbm_t* p_ibbbm,
+  IN uint16_t lid,
+  IN uint16_t attr_id,
+  IN uint64_t* p_trans_id,
+  IN uint8_t vpd_device_selector,
+  IN uint16_t bytes_num,
+  IN uint16_t offset,
+  IN uint8_t *p_data)
+{
+
+  ib_api_status_t       status;
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  uint64_t              trans_id;
+  uint16_t              bm_sequence;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  trans_id = ibis_get_tid();
+  bm_sequence =(uint16_t)cl_atomic_inc(&p_ibbbm->bm_sequence);
+
+  *p_trans_id = cl_ntoh64(trans_id);
+
+
+  mad_addr.dest_lid = cl_hton16(lid);
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+  mad_addr.addr_type.gsi.remote_qp=cl_hton32(1);
+  mad_addr.addr_type.gsi.remote_qkey = cl_hton32(0x80010000);
+  mad_addr.addr_type.gsi.pkey_ix = 0;
+  mad_addr.addr_type.gsi.service_level = 0;
+  mad_addr.addr_type.gsi.global_route = FALSE;
+
+  p_madw = osm_mad_pool_get(&(IbisObj.mad_pool),p_ibbbm->h_bind,MAD_PAYLOAD_SIZE,&mad_addr);
+  p_madw->resp_expected = TRUE;
+
+  if (attr_id == BBM_ATTR_READVPD)
+  {
+    ((ib_mad_t *)p_madw->p_mad)->method = VENDOR_GET;
+  }
+  else
+  {
+    ((ib_mad_t *)p_madw->p_mad)->method = VENDOR_SET;
+  }
+
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = BBM_CLASS;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+
+
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attr_id);
+
+
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(0);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = trans_id;
+
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->b_key = cl_hton64(0);
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->bm_sequence = cl_hton16(bm_sequence);
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->bm_source_device = 0xfe;
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->bm_parm_count = bytes_num+5;
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->vpd_device_selector = vpd_device_selector;
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->bytes_num = cl_hton16(bytes_num);
+  ((ib_bbm_vpd_t *)p_madw->p_mad)->offset = cl_hton16(offset);
+
+  if (p_data != NULL)
+  {
+    memcpy(((ib_bbm_vpd_t *)p_madw->p_mad)->data,p_data,bytes_num);
+  };
+
+  status = osm_vendor_send(p_ibbbm->h_bind,p_madw,TRUE);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+
+  return(status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibbbm_read_vpd(
+  IN ibbbm_t* const p_ibbbm,
+  IN uint16_t lid,
+  IN uint8_t vpd_device_selector,
+  IN uint16_t bytes_num,
+  IN uint16_t offset,
+  OUT ib_bbm_vpd_t *p_bbm_vpd_mad)
+{
+
+  ib_api_status_t status;
+  uint64_t        trans_id;
+  cl_status_t     wait_status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = __ibbbm_vpd(p_ibbbm,lid,BBM_ATTR_READVPD,&trans_id,vpd_device_selector,bytes_num,offset,NULL);
+
+  if (status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  /* wait for a second for the event. Allow interrupts also */
+  wait_status = cl_event_wait_on(&p_ibbbm->wait_for_resp,
+                                 IbisObj.p_opt->transaction_timeout*10000,
+                                 TRUE);
+  if ((p_ibbbm_vpd_mad-> mad_header.method != VENDOR_GET_RESP) || (wait_status != CL_SUCCESS))
+  {
+    status = IB_ERROR;
+    goto Exit;
+  };
+
+  memcpy(p_bbm_vpd_mad,p_ibbbm_vpd_mad,sizeof(ib_bbm_vpd_t));
+
+  if (p_bbm_vpd_mad->mad_header.status != 0)
+  {
+    status = IB_ERROR;
+  };
+
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibbbm_write_vpd(
+  IN ibbbm_t* const p_ibbbm,
+  IN uint16_t lid,
+  IN uint8_t vpd_device_selector,
+  IN uint16_t bytes_num,
+  IN uint16_t offset,
+  IN uint8_t *p_data)
+{
+  ib_api_status_t status;
+  uint64_t        trans_id;
+  cl_status_t     wait_status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = __ibbbm_vpd(p_ibbbm,lid,BBM_ATTR_WRITEVPD,&trans_id,vpd_device_selector,bytes_num,offset,p_data);
+
+  if (status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  /* wait for a second for the event. Allow interrupts also */
+  wait_status = cl_event_wait_on(&p_ibbbm->wait_for_resp,
+                                 IbisObj.p_opt->transaction_timeout*10000,
+                                 TRUE);
+  if ((p_ibbbm_vpd_mad-> mad_header.method != VENDOR_GET_RESP) ||
+      (wait_status != CL_SUCCESS)) {
+    status = IB_ERROR;
+    goto Exit;
+  };
+
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
diff --git a/ibis/src/ibbbm.h b/ibis/src/ibbbm.h
new file mode 100644
index 0000000..38a8872
--- /dev/null
+++ b/ibis/src/ibbbm.h
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Implementation of ibbbm_t.
+ *	This object represents the Subnet Performance Monitor object.
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.2 $
+ */
+
+#ifndef _IBBBM_H_
+#define _IBBBM_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+#include "ibbbm_base.h"
+
+
+/****s* IBIS: ibbbm/ibbbm_t
+* NAME  ibbbm_t
+*
+*
+* DESCRIPTION
+*       ibbbm structure.
+*
+* SYNOPSIS
+*/
+
+
+typedef struct _ibbbm
+{
+  ibbbm_state_t      state;
+  atomic32_t         bm_sequence;
+  osm_bind_handle_t  h_bind;
+  cl_event_t         wait_for_resp;
+} ibbbm_t;
+
+
+/*
+* FIELDS
+*
+*       state
+*            The ibbbm condition state.
+*
+*       h_bind
+*            The handle to bind with the lower level.
+*
+*      wait_for_resp
+*            An event to signal the return of a MAD.
+*
+* SEE ALSO
+*
+*********/
+
+
+/****f* IBIS: ibbbm/ibbbm_construct
+* NAME
+*       ibbbm_construct
+*
+* DESCRIPTION
+*      Allocation of ibbbm_t struct
+*
+* SYNOPSIS
+*/
+
+ibbbm_t*
+ibbbm_construct(void);
+
+/*
+* PARAMETERS
+*
+*
+* RETURN VALUE
+*       Return a pointer to an ibbbm struct. Null if fails to do so.
+*
+* NOTES
+*       First step of the creation of ibbbm_t
+*
+* SEE ALSO
+*       ibbbm_destroy ibbbm_init
+*********/
+
+/****s* IBIS: ibbbm/ibbbm_destroy
+* NAME
+*       ibbbm_destroy
+*
+* DESCRIPTION
+*      release of ibbbm_t struct
+*
+* SYNOPSIS
+*/
+
+void
+ibbbm_destroy(
+  IN ibbbm_t* const p_ibbbm );
+
+/*
+* PARAMETERS
+*       p_ibbbm
+*               A pointer to the ibbbm_t struct that is joining to be released
+*
+* RETURN VALUE
+*
+* NOTES
+*       Final step of the releasing of ibbbm_t
+*
+* SEE ALSO
+*       ibbbm_construct
+*********/
+
+/****f* IBIS: ibbbm/ibbbm_init
+* NAME
+*       ibbbm_init
+*
+* DESCRIPTION
+*      Initialization of an ibbbm_t struct
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibbbm_init(
+  IN ibbbm_t* const p_ibbbm );
+
+/*
+* PARAMETERS
+*       p_ibbbm
+*               A pointer to the ibbbm_t struct that is joining to be initialized
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibbbm_construct
+* *********/
+
+
+/****f* IBIS: ibbbm/ibbbm_bind
+* NAME
+*       ibbbm_bind
+*
+* DESCRIPTION
+*      Binding the ibbbm object to a lower level.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibbbm_bind(
+  IN ibbbm_t* const p_ibbbm );
+
+/*
+* PARAMETERS
+*       p_ibbbm
+*               A pointer to the ibbbm_t struct that is joining to be binded
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibbbm_construct
+*********/
+
+/****f* IBIS: ibbbm/ibbbm_get_counters
+* NAME
+*     ibbbm_get_counters
+*
+* DESCRIPTION
+*      Send a BBM MAD (port counters) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibbbm_read_vpd(
+  IN ibbbm_t* const p_ibbbm,
+  IN uint16_t lid,
+  IN uint8_t vpd_device_selector,
+  IN uint16_t bytes_num,
+  IN uint16_t offset,
+  OUT ib_bbm_vpd_t *p_bbm_vpd_mad);
+
+/*
+* PARAMETERS
+*       p_ibbbm
+*               A pointer to the ibbbm_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       p_bbm_vpd_mad
+*               A pointer to a Baseboard Management MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibbbm_write
+*********/
+
+/****f* IBIS: ibbbm/ibbbm_write
+* NAME
+*     ibbbm_write
+*
+* DESCRIPTION
+*      Send a BBM MAD  that writes to a vpd address.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibbbm_write_vpd(
+  IN ibbbm_t* const p_ibbbm,
+  IN uint16_t lid,
+  IN uint8_t vpd_device_selector,
+  IN uint16_t bytes_num,
+  IN uint16_t offset,
+  IN uint8_t *p_data);
+
+#endif /* _IBBBM_H_ */
+/*
+* PARAMETERS
+*       p_ibbbm
+*               A pointer to the ibbbm_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       p_bbm_vpd_mad
+*               A pointer to a Baseboard Management MAD that will be sent.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibbb_read
+*********/
diff --git a/ibis/src/ibbbm.i b/ibis/src/ibbbm.i
new file mode 100644
index 0000000..92bce9b
--- /dev/null
+++ b/ibis/src/ibbbm.i
@@ -0,0 +1,369 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibbbm.h"
+%}
+
+%{
+
+static ibbbm_t *p_ibbbm_global;
+
+int
+ibbbm_read_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  ib_bbm_vpd_t *p_bbm_vpd_mad)
+{
+	ib_api_status_t status;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VPD");
+
+	return(status);
+}
+
+int
+ibbbm_write_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  uint8_t *p_data)
+{
+
+	ib_api_status_t status;
+
+	status = ibbbm_write_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_data);
+	;
+	ibis_set_tcl_error("-E- Failed to write VPD");
+	return(status);
+}
+
+int
+ibbbm_read_vsd_vpd_global(
+  uint16_t lid,
+  ib_bbm_vsd_vpd_t *p_bbm_vsd_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_vsd_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_VSD_VPD_DEV_SEL,IBBBM_VSD_VPD_SIZE,IBBBM_VSD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VSD VPD");
+   return(status);
+}
+
+int
+ibbbm_read_bsn_vpd_global(
+  uint16_t lid,
+  ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_bsn_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_BSN_VPD_DEV_SEL,IBBBM_BSN_VPD_SIZE,IBBBM_BSN_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read BSN");
+
+	return(status);
+}
+
+int
+ibbbm_read_mod_vpd_global(
+  uint16_t lid,
+  ib_bbm_mod_vpd_t *p_bbm_mod_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_mod_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_MOD_VPD_DEV_SEL,IBBBM_MOD_VPD_SIZE,IBBBM_MOD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read Module VPD");
+
+	return(status);
+}
+
+int
+ibbbm_read_cha_vpd_global(
+  uint16_t lid,
+  ib_bbm_cha_vpd_t *p_bbm_cha_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_cha_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_CHA_VPD_DEV_SEL,IBBBM_CHA_VPD_SIZE,IBBBM_CHA_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+   ibis_set_tcl_error("-E- Failed to read Chassis VPD");
+	return(status);
+}
+
+
+int
+ibbbm_read_fw_ver_vpd_global(
+  uint16_t lid,
+  ib_bbm_fw_ver_vpd_t *p_bbm_fw_ver_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_fw_ver_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_FW_VER_VPD_DEV_SEL,IBBBM_FW_VER_VPD_SIZE,IBBBM_FW_VER_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+
+   ibis_set_tcl_error("-E- Failed to read FW Version.");
+
+	return(status);
+}
+
+%}
+
+//
+// IBBBM MAD TYPE MAPS
+//
+
+%typemap(tcl8,argout) ib_bbm_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x }",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+			cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset));
+         for (i=0;i<cl_ntoh16($source->bytes_num);i++) {
+         	sprintf(buff,"%s {data%u 0x%x} ",buff,i,$source->data[i]);
+         };
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_vpd_t *OUTPUT(ib_bbm_vpd_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_bbm_mod_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+			cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset),
+			$source->temp_sensor_count);
+
+         for (i=0;i<IBBBM_MOD_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16($source->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,$source->power_sup_count);
+
+	 for (i=0;i<IBBBM_MOD_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32($source->power_sup_record[i]));
+         };
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_mod_vpd_t *OUTPUT(ib_bbm_mod_vpd_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_bbm_cha_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+		        cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset),
+			$source->temp_sensor_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16($source->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,$source->power_sup_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32($source->power_sup_record[i]));
+         };
+
+	 sprintf(buff,"%s {fan_count 0x%x} ",buff,$source->fan_count);
+
+   	 for (i=0;i<IBBBM_CHA_VPD_FAN_SIZE;i++) {
+         	sprintf(buff,"%s {fan%u 0x%x} ",buff,i+1,cl_ntoh16($source->fan_record[i]));
+         };
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_cha_vpd_t *OUTPUT(ib_bbm_cha_vpd_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_bbm_bsn_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+		        cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset));
+	 for (j=0;j<IBBBM_BSN_VPD_SIZE;j++) {
+		sprintf(buff,"%s {bsn%u 0x%x} ",buff,j,$source->bsn[j]);
+	 };
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_bsn_vpd_t *OUTPUT(ib_bbm_bsn_vpd_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_bbm_vsd_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+		        cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset));
+	 for (j=0;j<IBBBM_VSD_VPD_SIZE;j++) {
+		sprintf(buff,"%s {vsd%u 0x%x} ",buff,j,$source->vsd[j]);
+	 };
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_vsd_vpd_t *OUTPUT(ib_bbm_vsd_vpd_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_bbm_fw_ver_vpd_t *OUTPUT {
+  if ($source) {
+         static char buff[512];
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x} {maj_fw_ver 0x%x} {min_fw_ver 0x%x} {sub_min_fw_ver 0x%x}",
+                        cl_ntoh64($source->b_key),
+                        cl_ntoh16($source->bm_sequence),
+			($source->vpd_device_selector),
+		        cl_ntoh16($source->bytes_num),
+			cl_ntoh16($source->offset),
+			$source->maj_fw_ver,
+			$source->min_fw_ver,
+			$source->sub_min_fw_ver);
+
+         Tcl_SetStringObj($target, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj($target, "", 0);
+  }
+}
+
+%typemap(tcl8,ignore) ib_bbm_fw_ver_vpd_t *OUTPUT(ib_bbm_fw_ver_vpd_t temp) {
+  $target = &temp;
+}
+
+
+%section "IBBBM Functions",pre
+/* IBBBM UI functions */
+%text %{
+This section provide the details about the functions IBBBM exposes.
+They all return 0 on succes.
+%}
+
+%apply ib_bbm_vpd_t *OUTPUT {ib_bbm_vpd_t *p_bbm_vpd_mad};
+%apply ib_bbm_mod_vpd_t *OUTPUT {ib_bbm_mod_vpd_t *p_bbm_mod_vpd_mad};
+%apply ib_bbm_cha_vpd_t *OUTPUT {ib_bbm_cha_vpd_t *p_bbm_cha_vpd_mad};
+%apply ib_bbm_bsn_vpd_t *OUTPUT {ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad};
+%apply ib_bbm_vsd_vpd_t *OUTPUT {ib_bbm_vsd_vpd_t *p_bbm_vsd_vpd_mad};
+%apply ib_bbm_fw_ver_vpd_t *OUTPUT {ib_bbm_fw_ver_vpd_t *p_bbm_fw_ver_vpd_mad};
+
+%name(bbmVpdRead) int ibbbm_read_vpd_global(uint16_t lid, uint8_t vpd_device_selector, uint16_t bytes_num, uint16_t offset,ib_bbm_vpd_t *p_bbm_vpd_mad);
+
+%name(bbmVpdWrite) int ibbbm_write_vpd_global(uint16_t lid, uint8_t vpd_device_selector, uint16_t bytes_num, uint16_t offset, uint8_t *p_data);
+
+%name(bbmVSDRead) int ibbbm_read_bsn_vpd_global(uint16_t lid, ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad);
+
+%name(bbmBSNRead) int ibbbm_read_bsn_vpd_global(uint16_t lid, ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad);
+
+%name(bbmModRead) int ibbbm_read_mod_vpd_global(uint16_t lid, ib_bbm_mod_vpd_t *p_bbm_mod_vpd_mad);
+
+%name(bbmChaRead) int ibbbm_read_cha_vpd_global(uint16_t lid, ib_bbm_cha_vpd_t *p_bbm_cha_vpd_mad);
+
+%name(bbmFWVerRead) int ibbbm_read_fw_ver_vpd_global(uint16_t lid, ib_bbm_fw_ver_vpd_t *p_bbm_fw_ver_vpd_mad);
+
diff --git a/ibis/src/ibbbm_base.h b/ibis/src/ibbbm_base.h
new file mode 100644
index 0000000..f5005a7
--- /dev/null
+++ b/ibis/src/ibbbm_base.h
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+#ifndef _IBBBM_BASE_H_
+#define _IBBBM_BASE_H_
+
+#include <endian.h>
+
+#define BBM_CLASS         0x05
+#define BBM_ATTR_BKEYINFO 0x10
+#define BBM_ATTR_WRITEVPD 0x20
+#define BBM_ATTR_READVPD  0x21
+#define VENDOR_GET        0x01
+#define VENDOR_SET        0x02
+#define VENDOR_SEND       0x03
+#define VENDOR_GET_RESP   0x81
+#define MAD_PAYLOAD_SIZE  256
+#define IBBBM_INITIAL_TID_VALUE 0x5555
+#define IBBBM_MOD_VPD_SIZE 68
+#define IBBBM_MOD_VPD_OFFSET 0x177
+#define IBBBM_MOD_VPD_DEV_SEL 0xA0
+#define IBBBM_MOD_VPD_TEMP_SIZE 5
+#define IBBBM_MOD_VPD_PWR_SIZE 12
+#define IBBBM_CHA_VPD_SIZE 96
+#define IBBBM_CHA_VPD_OFFSET 0x9e
+#define IBBBM_CHA_VPD_DEV_SEL 0xA8
+#define IBBBM_CHA_VPD_TEMP_SIZE 11
+#define IBBBM_CHA_VPD_PWR_SIZE 12
+#define IBBBM_CHA_VPD_FAN_SIZE 7
+#define IBBBM_BSN_VPD_SIZE 32
+#define IBBBM_BSN_VPD_OFFSET 0x3E
+#define IBBBM_BSN_VPD_DEV_SEL 0xA0
+#define IBBBM_VSD_VPD_SIZE 4
+#define IBBBM_VSD_VPD_OFFSET 0x3E
+#define IBBBM_VSD_VPD_DEV_SEL 0xA0
+#define IBBBM_FW_VER_VPD_SIZE 3
+#define IBBBM_FW_VER_VPD_OFFSET 0x20
+#define IBBBM_FW_VER_VPD_DEV_SEL 0xA0
+
+
+typedef enum _ibbbm_state
+{
+  IBBBM_STATE_INIT,
+  IBBBM_STATE_READY
+} ibbbm_state_t;
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_bkey_info
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved0[8];
+ib_net32_t bkey;
+ib_net16_t protect_bit;
+ib_net16_t lease_period;
+ib_net16_t violation;
+ib_net16_t reserved1;
+ib_net32_t data[45];
+}	PACK_SUFFIX ib_bbm_bkey_info_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t  data[183];
+}	PACK_SUFFIX ib_bbm_vpd_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_mod_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t temp_sensor_count;
+uint8_t res0;
+ib_net16_t temp_sensor_record[IBBBM_MOD_VPD_TEMP_SIZE];
+uint8_t power_sup_count;
+uint8_t res2;
+ib_net16_t res1;
+ib_net32_t power_sup_record[IBBBM_MOD_VPD_PWR_SIZE];
+ib_net32_t check_sum;
+uint8_t  data[115];
+}	PACK_SUFFIX ib_bbm_mod_vpd_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_cha_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t temp_sensor_count;
+uint8_t res0;
+ib_net16_t temp_sensor_record[IBBBM_CHA_VPD_TEMP_SIZE];
+uint8_t power_sup_count;
+uint8_t res2;
+ib_net16_t res1;
+ib_net32_t power_sup_record[IBBBM_CHA_VPD_PWR_SIZE];
+uint8_t fan_count;
+uint8_t res3;
+ib_net16_t fan_record[IBBBM_CHA_VPD_PWR_SIZE];
+ib_net16_t check_sum;
+uint8_t  data[87];
+}	PACK_SUFFIX ib_bbm_cha_vpd_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_bsn_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t bsn[32];
+uint8_t data[151];
+}	PACK_SUFFIX ib_bbm_bsn_vpd_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_vsd_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t bsn[4];
+uint8_t data[179];
+}	PACK_SUFFIX ib_bbm_vsd_vpd_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_bbm_fw_ver_vpd
+{
+ib_mad_t mad_header;
+ib_net64_t b_key;
+ib_net32_t reserved[8];
+ib_net16_t bm_sequence;
+uint8_t bm_source_device;
+uint8_t bm_parm_count;
+uint8_t vpd_device_selector;
+ib_net16_t bytes_num;
+ib_net16_t  offset;
+uint8_t  maj_fw_ver;
+uint8_t  min_fw_ver;
+uint8_t  sub_min_fw_ver;
+uint8_t  data[180];
+}	PACK_SUFFIX ib_bbm_fw_ver_vpd_t;
+#include <complib/cl_packoff.h>
+
+
+
+#endif /* _IBBBM_BASE_H_ */
diff --git a/ibis/src/ibcc.c b/ibis/src/ibcc.c
new file mode 100644
index 0000000..f022ef7
--- /dev/null
+++ b/ibis/src/ibcc.c
@@ -0,0 +1,420 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibcc_t.
+ * This object represents the Congestion Control object.
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.0 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibcc.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ibcc_t *
+ibcc_construct()
+{
+	ibcc_t* p_ibcc;
+	OSM_LOG_ENTER(&(IbisObj.log));
+
+	p_ibcc = malloc(sizeof(ibcc_t));
+	if (p_ibcc == NULL) {
+		goto Exit;
+	}
+	memset(p_ibcc, 0, sizeof(ibcc_t));
+
+    Exit :
+	OSM_LOG_EXIT(&(IbisObj.log));
+	return p_ibcc;
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+void
+ibcc_destroy(
+	IN ibcc_t* const p_ibcc)
+{
+	OSM_LOG_ENTER(&(IbisObj.log));
+	p_ibcc->state = IBCC_STATE_INIT;
+	OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibcc_init(
+	IN ibcc_t* const p_ibcc)
+{
+	ib_api_status_t status = IB_SUCCESS;
+	OSM_LOG_ENTER(&(IbisObj.log));
+	p_ibcc->state = IBCC_STATE_INIT;
+	OSM_LOG_EXIT(&(IbisObj.log));
+	return status;
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibcc_bind(
+	IN ibcc_t* const p_ibcc)
+{
+	ib_api_status_t status = IB_SUCCESS;
+
+	OSM_LOG_ENTER(&(IbisObj.log));
+
+	/* Bind CongestionControl Management Class */
+	if ((status = ibis_gsi_mad_ctrl_bind(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC, 2,
+			&p_ibcc->lid_route_bind)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for ClassPortInfo attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for Notice attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_NOTICE),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for CongestionInfo attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CONG_INFO),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for CongestionKeyInfo attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for CongestionLog attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for SwitchCongestionSetting attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for SwitchPortCongestionSetting attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for CACongestionSetting attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for CongestionControlTable attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+	/* Set callback for TimeStamp attribute */
+	if ((status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+			&(IbisObj.mad_ctrl),
+			IB_MCLASS_CC,
+			CL_NTOH16(IB_MAD_ATTR_TIME_STAMP),
+			ibis_gsi_sync_mad_batch_callback,
+			(void *)p_ibcc)) != IB_SUCCESS)
+		goto Exit;
+
+    Exit :
+	OSM_LOG_EXIT( &(IbisObj.log) );
+	return status;
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+static void
+__ibcc_prep_cc_mad(
+	IN ibcc_t       *p_ibcc,
+	IN uint16_t      lid,
+	IN uint8_t       method,
+	IN uint16_t      attribute_id,
+	IN uint32_t      attribute_mod,
+	IN uint64_t      cc_key,
+	IN uint8_t      *cc_log_data,
+	IN size_t        cc_log_data_size,
+	IN uint8_t      *cc_mgt_data,
+	IN size_t        cc_mgt_data_size,
+	OUT osm_madw_t **pp_madw)
+{
+	osm_mad_addr_t        mad_addr;
+	osm_madw_t            *p_madw;
+
+	OSM_LOG_ENTER(&(IbisObj.log));
+
+	mad_addr.dest_lid = cl_hton16(lid);
+	mad_addr.path_bits = 0;
+	mad_addr.static_rate = 0;
+
+	mad_addr.addr_type.gsi.remote_qp=cl_hton32(1);
+	mad_addr.addr_type.gsi.remote_qkey = cl_hton32(0x80010000);
+	mad_addr.addr_type.gsi.pkey_ix = 0;
+	mad_addr.addr_type.gsi.service_level = 0;
+	mad_addr.addr_type.gsi.global_route = FALSE;
+
+	p_madw = osm_mad_pool_get(&(IbisObj.mad_pool),
+				  p_ibcc->lid_route_bind,
+				  MAD_BLOCK_SIZE,
+				  &mad_addr);
+	*pp_madw = p_madw;
+
+	p_madw->resp_expected = TRUE;
+
+	memset((char*)p_madw->p_mad, 0, MAD_BLOCK_SIZE);
+
+	((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+	((ib_mad_t *)p_madw->p_mad)->mgmt_class = IB_MCLASS_CC;
+	((ib_mad_t *)p_madw->p_mad)->class_ver = 2;
+	((ib_mad_t *)p_madw->p_mad)->method = method;
+	((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+	((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attribute_id);
+	((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(attribute_mod);
+
+	((ib_cc_mad_t *)p_madw->p_mad)->cc_key = cl_hton64(cc_key);
+
+	memset(((ib_cc_mad_t *)p_madw->p_mad)->log_data,
+	       0, IB_CC_LOG_DATA_SIZE);
+	memset(((ib_cc_mad_t *)p_madw->p_mad)->mgt_data,
+	       0, IB_CC_MGT_DATA_SIZE);
+
+	if (method == IB_MAD_METHOD_GET) {
+		/* In SubnGet() method we leave log and
+		   management data clean - they should
+		   be filled by the response MAD only.*/
+	}
+	else {
+		if (cc_log_data_size > 0) {
+			CL_ASSERT(cc_log_data_size <= IB_CC_LOG_DATA_SIZE);
+			CL_ASSERT(cc_log_data);
+			memcpy(((ib_cc_mad_t *)p_madw->p_mad)->log_data,
+			       cc_log_data, cc_log_data_size);
+		}
+	
+		if (cc_mgt_data_size > 0) {
+			CL_ASSERT(cc_mgt_data_size <= IB_CC_MGT_DATA_SIZE);
+			CL_ASSERT(cc_mgt_data);
+			memcpy(((ib_cc_mad_t *)p_madw->p_mad)->mgt_data,
+			       cc_mgt_data, cc_mgt_data_size);
+		}
+	}
+
+	OSM_LOG_EXIT(&(IbisObj.log));
+}  /* __ibcc_prep_cc_mad() */
+
+static void
+__ibcc_dump_raw_mad(
+        ib_cc_mad_t * p_cc_mad)
+{
+      int mad_size = (int)sizeof(ib_cc_mad_t);
+      uint8_t * p_raw_mad = (uint8_t*)p_cc_mad;
+      int i;
+      int last_data_idx; // last non-zero byte of the MAD
+
+      for (i = (mad_size-1); i > 0; i -= 1)
+              if (p_raw_mad[i] != 0)
+                      break;
+      last_data_idx = i;
+
+      for (i = 0; i < mad_size; i += 4) {
+              if (i == 0)
+                      printf("  Header |---------------------------|\n");
+              else if (i == 24)
+                      printf("  V key  |---------------------------|\n");
+              else if (i == 32)
+                      printf("  RESV0  |---------------------------|\n");
+              else if (i == 64)
+                      printf("  Data   |---------------------------|\n");
+              else if (i == 192)
+                      printf("  RESV1  |---------------------------|\n");
+
+              if (i <= last_data_idx)
+                      printf("          [%03d..%03d]   %02x  %02x  %02x  %02x\n",
+                             i+3,i,
+                             //p_raw_mad[i+3], p_raw_mad[i+2], p_raw_mad[i+1], p_raw_mad[i+0]);
+							 p_raw_mad[i+0], p_raw_mad[i+1], p_raw_mad[i+2], p_raw_mad[i+3]);
+      }
+      printf("     end |---------------------------|\n");
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibcc_send_mad_by_lid (
+	ibcc_t   *p_ibcc,
+	uint64_t  cc_key,
+	uint8_t  *cc_log_data,
+	size_t    cc_log_data_size,
+	uint8_t  *cc_mgt_data,
+	size_t    cc_mgt_data_size,
+	uint16_t  lid,
+	uint16_t  attribute_id,
+	uint32_t  attribute_mod,
+	uint16_t  method)
+{
+	osm_madw_t      *p_madw;
+	ib_cc_mad_t      response_mad;
+	ib_api_status_t  status;
+	int debug_mode = 0;
+
+	OSM_LOG_ENTER(&(IbisObj.log));
+
+	osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+		"ibcc_send_mad_by_lid: "
+		"Sending to lid:0x%04X method:0x%02X "
+		"attr:0x%04X mod:0x%08x\n",
+		lid, method, attribute_id, attribute_mod);
+
+	memset(&response_mad, 0, sizeof(ib_cc_mad_t));
+
+	__ibcc_prep_cc_mad(p_ibcc,
+			   lid,
+			   method,
+			   attribute_id,
+			   attribute_mod,
+			   cc_key,
+			   cc_log_data,
+			   cc_log_data_size,
+			   cc_mgt_data,
+			   cc_mgt_data_size,
+			   &p_madw);
+	if (debug_mode == 1)
+	{
+		/* print mad */
+		printf("\n\n>>> Sending MAD:\n\n" );
+		__ibcc_dump_raw_mad((ib_cc_mad_t *)(p_madw->p_mad));
+	}
+
+	/* send and wait */
+	status = ibis_gsi_send_sync_mad_batch(
+				&(IbisObj.mad_ctrl),
+				p_ibcc->lid_route_bind,
+				1,
+				&p_madw,
+				sizeof(ib_cc_mad_t),
+				(uint8_t*)&response_mad);
+
+	if (!response_mad.header.method)
+		status = IB_TIMEOUT;
+
+	if (status == IB_SUCCESS) {
+		if (debug_mode == 1)
+		{
+			/* print mad */
+			printf("\n\nResponse MAD:\n\n" );
+			__ibcc_dump_raw_mad((ib_cc_mad_t *)&response_mad);
+		}
+
+		if (cc_log_data)
+			memcpy(cc_log_data,
+			       response_mad.log_data,
+			       cc_log_data_size);
+
+		if (cc_mgt_data)
+			memcpy(cc_mgt_data,
+			       response_mad.mgt_data,
+			       cc_mgt_data_size);
+
+		if (cl_ntoh16(response_mad.header.status) & 0x7fff)
+			status = cl_ntoh16(response_mad.header.status);
+	}
+
+	OSM_LOG_EXIT(&(IbisObj.log));
+	return (status);
+}  /* ibcc_send_mad_by_lid() */
+
diff --git a/ibis/src/ibcc.h b/ibis/src/ibcc.h
new file mode 100644
index 0000000..e0112cc
--- /dev/null
+++ b/ibis/src/ibcc.h
@@ -0,0 +1,1137 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *	Definition of ibcc_t.
+ *	This object represents the Congestion Control Packets Interface
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.0 $
+ */
+
+#ifndef _IBCC_H_
+#define _IBCC_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+
+typedef enum _ibcc_state
+{
+	IBCC_STATE_INIT,
+	IBCC_STATE_READY,
+	IBCC_STATE_BUSY,
+} ibcc_state_t;
+
+#define MAD_PAYLOAD_SIZE 256
+
+#define IBCC_DEAFULT_KEY 0
+
+/****s* IBIS: ibcc/ibcc_t
+* NAME  ibcc_t
+*
+*
+* DESCRIPTION
+*	ibcc structure
+*
+* SYNOPSIS
+*/
+typedef struct _ibcc
+{
+	ibcc_state_t       state;
+	osm_bind_handle_t  lid_route_bind;
+} ibcc_t;
+/*
+* FIELDS
+*
+*	state
+*		The ibcc state: INIT, READ or BUSY
+*
+*	lid_route_bind
+*		The handle to bind with the lower level for lid routed packets
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBIS: ibcc/ibcc_construct
+* NAME
+*	ibcc_construct
+*
+* DESCRIPTION
+*	Allocation of ibcc_t struct
+*
+* SYNOPSIS
+*/
+ibcc_t*
+ibcc_construct(void);
+/*
+* PARAMETERS
+*
+*
+* RETURN VALUE
+*	Return a pointer to an ibcc struct. Null if fails to do so.
+*
+* NOTES
+*	First step of the creation of ibcc_t
+*
+* SEE ALSO
+*	ibcc_destroy ibcc_init
+*********/
+
+/****s* IBIS: ibcc/ibcc_destroy
+* NAME
+*	ibcc_destroy
+*
+* DESCRIPTION
+*	release of ibcc_t struct
+*
+* SYNOPSIS
+*/
+void
+ibcc_destroy(
+	IN ibcc_t* const p_ibcc);
+/*
+* PARAMETERS
+*	p_ibcc
+*		A pointer to the ibcc_t struct that is about to be released
+*
+* RETURN VALUE
+*
+* NOTES
+*	Final step of the releasing of ibcc_t
+*
+* SEE ALSO
+*	ibcc_construct
+*********/
+
+/****f* IBIS: ibcc/ibcc_init
+* NAME
+*	ibcc_init
+*
+* DESCRIPTION
+*	Initialization of an ibcc_t struct
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcc_init(
+	IN ibcc_t* const p_ibcc);
+/*
+* PARAMETERS
+*	p_ibcc
+*		A pointer to the ibcc_t struct that is about to be initialized
+*
+* RETURN VALUE
+*	The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*	ibcc_construct
+* *********/
+
+
+/****f* IBIS: ibcc/ibcc_bind
+* NAME
+*	ibcc_bind
+*
+* DESCRIPTION
+*	Binding the ibcc object to a lower level.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcc_bind(
+	IN ibcc_t* const p_ibcc);
+/*
+* PARAMETERS
+*	p_ibcc
+*		A pointer to the ibcc_t struct that is about to be binded
+*
+* RETURN VALUE
+*	The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*	ibcc_construct
+*********/
+
+/****f* IBIS: ibcc/ibcc_send_mad_by_lid
+* NAME
+*	ibcc_send_mad_by_lid
+*
+* DESCRIPTION
+*	Send a CC mad to the given LID.
+*
+* SYNOPSIS
+*	ibcc_send_mad_by_lid(p_ibcc, p_mad, lid, attr, mod, meth)
+*	Note that all values are in host order.
+*/
+ib_api_status_t
+ibcc_send_mad_by_lid (
+	ibcc_t   *p_ibcc,
+	uint64_t  cc_key,
+	uint8_t  *cc_log_data,
+	size_t    cc_log_data_size,
+	uint8_t  *cc_mgt_data,
+	size_t    cc_mgt_data_size,
+	uint16_t  lid,
+	uint16_t  attribute_id,
+	uint32_t  attribute_mod,
+	uint16_t  method);
+/*
+* PARAMETERS
+*	p_ibcc
+*		A pointer to the ibcc_t struct
+*
+*	cc_key
+*		Congestion Control key
+*
+*	cc_log_data
+*		[in/out] A pointer to CC log data.
+*		Will be overwritten in case of response.
+*
+*	cc_log_data_size
+*		[in] The size of the log data block
+*
+*	cc_mgt_data
+*		[in/out] A pointer to CC management data.
+*		Will be overwritten in case of response.
+*
+*	cc_mgt_data_size
+*		[in] The size of the mgt data block
+*
+*	lid
+*		The Destination lid of the MAD
+*
+*	attribute_id
+*		The Attribute ID
+*
+*	attribute_mod
+*		Attribute modifier value
+*
+*	method
+*		The MAD method: Set/Get/Trap...
+*
+* RETURN VALUE
+*	The status of the function or response status.
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/******************************************************/
+
+/****d* IBA Base: Constants/IB_MCLASS_CC
+* NAME
+*	IB_MCLASS_CC
+*
+* DESCRIPTION
+*	Management Class, Congestion Control (A10.4.1)
+*
+* SOURCE
+*/
+#define IB_MCLASS_CC						0x21
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_CONG_INFO
+* NAME
+*	IB_MAD_ATTR_CONG_INFO
+*
+* DESCRIPTION
+*	CongestionInfo attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_CONG_INFO				(CL_HTON16(0x0011))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_CONG_KEY_INFO
+* NAME
+*	IB_MAD_ATTR_CONG_KEY_INFO
+*
+* DESCRIPTION
+*	CongestionKeyInfo attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_CONG_KEY_INFO			(CL_HTON16(0x0012))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_CONG_LOG
+* NAME
+*	IB_MAD_ATTR_CONG_LOG
+*
+* DESCRIPTION
+*	CongestionLog attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_CONG_LOG				(CL_HTON16(0x0013))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_SW_CONG_SETTING
+* NAME
+*	IB_MAD_ATTR_SW_CONG_SETTING
+*
+* DESCRIPTION
+*	SwitchCongestionSetting attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_SW_CONG_SETTING			(CL_HTON16(0x0014))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_SW_PORT_CONG_SETTING
+* NAME
+*	IB_MAD_ATTR_SW_PORT_CONG_SETTING
+*
+* DESCRIPTION
+*	SwitchPortCongestionSetting attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_SW_PORT_CONG_SETTING		(CL_HTON16(0x0015))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_CA_CONG_SETTING
+* NAME
+*	IB_MAD_ATTR_CA_CONG_SETTING
+*
+* DESCRIPTION
+*	CACongestionSetting attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_CA_CONG_SETTING			(CL_HTON16(0x0016))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_CC_TBL
+* NAME
+*	IB_MAD_ATTR_CC_TBL
+*
+* DESCRIPTION
+*	CongestionControlTable attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_CC_TBL				(CL_HTON16(0x0017))
+/**********/
+
+/****d* IBA Base: Constants/IB_MAD_ATTR_TIME_STAMP
+* NAME
+*	IB_MAD_ATTR_TIME_STAMP
+*
+* DESCRIPTION
+*	TimeStamp attribute (A10.4.3)
+*
+* SOURCE
+*/
+#define IB_MAD_ATTR_TIME_STAMP				(CL_HTON16(0x0018))
+/**********/
+
+/****s* IBA Base: Constants/IB_CLASS_ENH_PORT0_CC_MASK
+* NAME
+*	IB_CLASS_ENH_PORT0_CC_MASK
+*
+* DESCRIPTION
+*	ClassPortInfo CapabilityMask bits.
+*	Switch only: This bit will be set if the EnhacedPort0
+*	supports CA Congestion Control (A10.4.3.1).
+*
+* SEE ALSO
+*	ib_class_port_info_t
+*
+* SOURCE
+*/
+#define IB_CLASS_ENH_PORT0_CC_MASK			0x0100
+/*********/
+
+/****s* IBA Base: Types/ib_cc_mad_t
+* NAME
+*	ib_cc_mad_t
+*
+* DESCRIPTION
+*	IBA defined Congestion Control MAD format. (A10.4.1)
+*
+* SYNOPSIS
+*/
+#define IB_CC_LOG_DATA_SIZE 32
+#define IB_CC_MGT_DATA_SIZE 192
+#define IB_CC_MAD_HDR_SIZE (sizeof(ib_sa_mad_t) - IB_CC_LOG_DATA_SIZE \
+						- IB_CC_MGT_DATA_SIZE)
+
+#include <complib/cl_packon.h>
+typedef struct _ib_cc_mad {
+	ib_mad_t header;
+	ib_net64_t cc_key;
+	uint8_t log_data[IB_CC_LOG_DATA_SIZE];
+	uint8_t mgt_data[IB_CC_MGT_DATA_SIZE];
+} PACK_SUFFIX ib_cc_mad_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	header
+*		Common MAD header.
+*
+*	cc_key
+*		CC_Key of the Congestion Control MAD.
+*
+*	log_data
+*		Congestion Control log data of the CC MAD.
+*
+*	mgt_data
+*		Congestion Control management data of the CC MAD.
+*
+* SEE ALSO
+* ib_mad_t
+*********/
+
+/****f* IBA Base: Types/ib_cc_mad_get_cc_key
+* NAME
+*	ib_cc_mad_get_cc_key
+*
+* DESCRIPTION
+*	Gets a CC_Key of the CC MAD.
+*
+* SYNOPSIS
+*/
+static inline ib_net64_t OSM_API
+ib_cc_mad_get_cc_key(IN const ib_cc_mad_t * const p_cc_mad)
+{
+	return p_cc_mad->cc_key;
+}
+/*
+* PARAMETERS
+*	p_cc_mad
+*		[in] Pointer to the CC MAD packet.
+*
+* RETURN VALUES
+*	CC_Key of the provided CC MAD packet.
+*
+* NOTES
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****f* IBA Base: Types/ib_cc_mad_get_log_data_ptr
+* NAME
+*	ib_cc_mad_get_mgt_data_ptr
+*
+* DESCRIPTION
+*	Gets a pointer to the CC MAD's log data area.
+*
+* SYNOPSIS
+*/
+static inline void * OSM_API
+ib_cc_mad_get_log_data_ptr(IN const ib_cc_mad_t * const p_cc_mad)
+{
+	return ((void *)p_cc_mad->log_data);
+}
+/*
+* PARAMETERS
+*	p_cc_mad
+*		[in] Pointer to the CC MAD packet.
+*
+* RETURN VALUES
+*	Pointer to CC MAD log data area.
+*
+* NOTES
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****f* IBA Base: Types/ib_cc_mad_get_mgt_data_ptr
+* NAME
+*	ib_cc_mad_get_mgt_data_ptr
+*
+* DESCRIPTION
+*	Gets a pointer to the CC MAD's management data area.
+*
+* SYNOPSIS
+*/
+static inline void * OSM_API
+ib_cc_mad_get_mgt_data_ptr(IN const ib_cc_mad_t * const p_cc_mad)
+{
+	return ((void *)p_cc_mad->mgt_data);
+}
+/*
+* PARAMETERS
+*	p_cc_mad
+*		[in] Pointer to the CC MAD packet.
+*
+* RETURN VALUES
+*	Pointer to CC MAD management data area.
+*
+* NOTES
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_cong_info_t
+* NAME
+*	ib_cong_info_t
+*
+* DESCRIPTION
+*	IBA defined CongestionInfo attribute (A10.4.3.3)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cong_info {
+	uint8_t cong_info;
+	uint8_t resv;
+	uint8_t ctrl_table_cap;
+} PACK_SUFFIX ib_cong_info_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	cong_info
+*		Congestion control capabilities of the node.
+*
+*	ctrl_table_cap
+*		Number of 64 entry blocks in the CongestionControlTable.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_cong_key_info_t
+* NAME
+*	ib_cong_key_info_t
+*
+* DESCRIPTION
+*	IBA defined CongestionKeyInfo attribute (A10.4.3.4)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cong_key_info {
+	ib_net64_t cc_key;
+	ib_net16_t protect_bit;
+	ib_net16_t lease_period;
+	ib_net16_t violations;
+} PACK_SUFFIX ib_cong_key_info_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	cc_key
+*		8-byte CC Key.
+*
+*	protect_bit
+*		Bit 0 is a CC Key Protect Bit, other 15 bits are reserved.
+*
+*	lease_period
+*		How long the CC Key protect bit is to remain non-zero.
+*
+*	violations
+*		Number of received MADs that violated CC Key.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_cong_log_event_sw_t
+* NAME
+*	ib_cong_log_event_sw_t
+*
+* DESCRIPTION
+*	IBA defined CongestionLogEvent (SW) entry (A10.4.3.5)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cong_log_event_sw {
+	ib_net16_t slid;
+	ib_net16_t dlid;
+	ib_net32_t sl;
+	ib_net32_t time_stamp;
+} PACK_SUFFIX ib_cong_log_event_sw_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	slid
+*		Source LID of congestion event.
+*
+*	dlid
+*		Destination LID of congestion event.
+*
+*	sl
+*		4 bits - SL of congestion event.
+*		rest of the bits are reserved.
+*
+*	time_stamp
+*		Timestamp of congestion event.
+*
+* SEE ALSO
+*	ib_cc_mad_t, ib_cong_log_t
+*********/
+
+/****s* IBA Base: Types/ib_cong_log_event_ca_t
+* NAME
+*	ib_cong_log_event_ca_t
+*
+* DESCRIPTION
+*	IBA defined CongestionLogEvent (CA) entry (A10.4.3.5)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cong_log_event_ca {
+	ib_net32_t local_qp_resv0;
+	ib_net32_t remote_qp_sl_service_type;
+	ib_net16_t remote_lid;
+	ib_net16_t resv1;
+	ib_net32_t time_stamp;
+} PACK_SUFFIX ib_cong_log_event_ca_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	resv0_local_qp
+*		bits [31:8] local QP that reached CN threshold.
+*		bits [7:0] reserved.
+*
+*	remote_qp_sl_service_type
+*		bits [31:8] remote QP that is connected to local QP.
+*		bits [7:4] SL of the local QP.
+*		bits [3:0] Service Type of the local QP.
+*
+*	remote_lid
+*		LID of the remote port that is connected to local QP.
+*
+*	time_stamp
+*		Timestamp when threshold reached.
+*
+* SEE ALSO
+*	ib_cc_mad_t, ib_cong_log_t
+*********/
+
+/****s* IBA Base: Types/ib_cong_log_t
+* NAME
+*	ib_cong_log_t
+*
+* DESCRIPTION
+*	IBA defined CongestionLog attribute (A10.4.3.5)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cong_log {
+	uint8_t log_type;
+	union _log_details
+	{
+		struct _log_sw {
+			uint8_t cong_flags;
+			ib_net16_t event_counter;
+			ib_net32_t time_stamp;
+			uint8_t port_map[32];
+			ib_cong_log_event_sw_t entry_list[15];
+		} PACK_SUFFIX log_sw;
+
+		struct _log_ca {
+			uint8_t cong_flags;
+			ib_net16_t event_counter;
+			ib_net16_t event_map;
+			ib_net16_t resv;
+			ib_net32_t time_stamp;
+			ib_cong_log_event_ca_t log_event[13];
+		} PACK_SUFFIX log_ca;
+
+	} log_details;
+} PACK_SUFFIX ib_cong_log_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	log_{sw,ca}.log_type
+*		Log type: 0x1 is for Switch, 0x2 is for CA
+*
+*	log_{sw,ca}.cong_flags
+*		Congestion Flags.
+*
+*	log_{sw,ca}.event_counter
+*		Number of events since log last sent.
+*
+*	log_{sw,ca}.time_stamp
+*		Timestamp when log sent.
+*
+*	log_sw.port_map
+*		If a bit set to 1, then the corresponding port
+*		has marked packets with a FECN.
+*		bits 0 and 255 - reserved
+*		bits [254..1] - ports [254..1].
+*
+*	log_sw.entry_list
+*		Array of 13 most recent congestion log events.
+*
+*	log_ca.event_map
+*		array 16 bits, one for each SL.
+*
+*	log_ca.log_event
+*		Array of 13 most recent congestion log events.
+*
+* SEE ALSO
+*	ib_cc_mad_t, ib_cong_log_event_sw_t, ib_cong_log_event_ca_t
+*********/
+
+/****s* IBA Base: Types/ib_sw_cong_setting_t
+* NAME
+*	ib_sw_cong_setting_t
+*
+* DESCRIPTION
+*	IBA defined SwitchCongestionSetting attribute (A10.4.3.6)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_sw_cong_setting {
+	ib_net32_t control_map;
+	uint8_t victim_mask[32];
+	uint8_t credit_mask[32];
+	uint8_t threshold_resv;
+	uint8_t packet_size;
+	ib_net16_t cs_threshold_resv;
+	ib_net16_t cs_return_delay;
+	ib_net16_t marking_rate;
+} PACK_SUFFIX ib_sw_cong_setting_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	control_map
+*		Indicates which components of this attribute are valid
+*
+*	victim_mask
+*		If the bit set to 1, then the port corresponding to
+*		that bit shall mark packets that encounter congestion
+*		with a FECN, whether they are the source or victim
+*		of congestion. (See A10.2.1.1.1)
+*		  bit 0: port 0 (enhanced port 0 only)
+*		  bits [254..1]: ports [254..1]
+*		  bit 255: reserved
+*
+*	credit_mask
+*		If the bit set to 1, then the port corresponding
+*		to that bit shall apply Credit Starvation.
+*		  bit 0: port 0 (enhanced port 0 only)
+*		  bits [254..1]: ports [254..1]
+*		  bit 255: reserved
+*
+*	threshold
+*		bits [15..12] Indicates how agressive cong. marking should be
+*		bits [11..0] Reserved
+*
+*	packet_size
+*		Any packet less than this size won't be marked with FECN
+*
+*	cs_threshold
+*		bits [7..4] How agressive Credit Starvation should be
+*		bits [3..0] Reserved
+*
+*	cs_return_delay
+*		Value that controls credit return rate.
+*
+*	marking_rate
+*		The value that provides the mean number of packets
+*		between marking eligible packets with FECN.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_sw_port_cong_setting_element_t
+* NAME
+*	ib_sw_port_cong_setting_element_t
+*
+* DESCRIPTION
+*	IBA defined SwitchPortCongestionSettingElement (A10.4.3.7)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_sw_port_cong_setting_element {
+	uint8_t valid_ctrl_type_res_threshold;
+	uint8_t packet_size;
+	ib_net16_t cong_param;
+} PACK_SUFFIX ib_sw_port_cong_setting_element_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	valid_ctrl_type_res_threshold
+*		bit 7: "Valid"
+*			when set to 1, indicates this switch
+*			port congestion setting element is valid.
+*		bit 6: "Control Type"
+*			Indicates which type of attribute is being set:
+*			0b = Congestion Control parameters are being set.
+*			1b = Credit Starvation parameters are being set.
+*		bits [5..4]: reserved
+*		bits [3..0]: "Threshold"
+*			When Control Type is 0, contains the congestion
+*			threshold value (Threshold) for this port.
+*			When Control Type is 1, contains the credit
+*			starvation threshold (CS_Threshold) value for
+*			this port.
+*
+*	packet_size
+*		When Control Type is 0, this field contains the minimum
+*		size of packets that may be marked with a FECN.
+*		When Control Type is 1, this field is reserved.
+*
+*	cong_parm
+*		When Control Type is 0, this field contains the port
+*		marking_rate.
+*		When Control Type is 1, this field is reserved.
+*
+* SEE ALSO
+*	ib_cc_mad_t, ib_sw_port_cong_setting_t
+*********/
+
+/****d* IBA Base: Types/ib_sw_port_cong_setting_block_t
+* NAME
+*	ib_sw_port_cong_setting_block_t
+*
+* DESCRIPTION
+*	Defines the SwitchPortCongestionSetting Block (A10.4.3.7).
+*
+* SOURCE
+*/
+typedef ib_sw_port_cong_setting_element_t ib_sw_port_cong_setting_block_t[32];
+/**********/
+
+/****s* IBA Base: Types/ib_sw_port_cong_setting_t
+* NAME
+*	ib_sw_port_cong_setting_t
+*
+* DESCRIPTION
+*	IBA defined SwitchPortCongestionSetting attribute (A10.4.3.7)
+*
+* SYNOPSIS
+*/
+
+#include <complib/cl_packon.h>
+typedef struct _ib_sw_port_cong_setting {
+	ib_sw_port_cong_setting_block_t block;
+} PACK_SUFFIX ib_sw_port_cong_setting_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	block
+*		SwitchPortCongestionSetting block.
+*
+* SEE ALSO
+*	ib_cc_mad_t, ib_sw_port_cong_setting_element_t
+*********/
+
+/****s* IBA Base: Types/ib_ca_cong_entry_t
+* NAME
+*	ib_ca_cong_entry_t
+*
+* DESCRIPTION
+*	IBA defined CACongestionEntry (A10.4.3.8)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_ca_cong_entry {
+	ib_net16_t ccti_timer;
+	uint8_t ccti_increase;
+	uint8_t trigger_threshold;
+	uint8_t ccti_min;
+	uint8_t resv0;
+	ib_net16_t resv1;
+} PACK_SUFFIX ib_ca_cong_entry_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	ccti_timer
+*		When the timer expires it will be reset to its specified
+*		value, and 1 will be decremented from the CCTI.
+*
+*	ccti_increase
+*		The number to be added to the table Index (CCTI)
+*		on the receipt of a BECN.
+*
+*	trigger_threshold
+*		When the CCTI is equal to this value, an event
+*		is logged in the CAs cyclic event log.
+*
+*	ccti_min
+*		The minimum value permitted for the CCTI.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_ca_cong_setting_t
+* NAME
+*	ib_ca_cong_setting_t
+*
+* DESCRIPTION
+*	IBA defined CACongestionSetting attribute (A10.4.3.8)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_ca_cong_setting {
+	ib_net16_t port_control;
+	ib_net16_t control_map;
+	ib_ca_cong_entry_t entry_list[16];
+} PACK_SUFFIX ib_ca_cong_setting_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	port_control
+*		Congestion attributes for this port:
+*		  bit0 = 0: QP based CC
+*		  bit0 = 1: SL/Port based CC
+*		All other bits are reserved
+*
+*	control_map
+*		An array of sixteen bits, one for each SL. Each bit indicates
+*		whether or not the corresponding entry is to be modified.
+*
+*	entry_list
+*		List of 16 CACongestionEntries, one per SL.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_cc_tbl_entry_t
+* NAME
+*	ib_cc_tbl_entry_t
+*
+* DESCRIPTION
+*	IBA defined CongestionControlTableEntry (A10.4.3.9)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cc_tbl_entry {
+	ib_net16_t shift_multiplier;
+} PACK_SUFFIX ib_cc_tbl_entry_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	shift_multiplier
+*		bits [15..14] - CCT Shift
+*		  used when calculating the injection rate delay
+*		bits [13..0] - CCT Multiplier
+*		  used when calculating the injection rate delay
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_cc_tbl_t
+* NAME
+*	ib_cc_tbl_t
+*
+* DESCRIPTION
+*	IBA defined CongestionControlTable attribute (A10.4.3.9)
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_cc_tbl {
+	ib_net16_t ccti_limit;
+	ib_net16_t resv;
+	ib_cc_tbl_entry_t entry_list[64];
+} PACK_SUFFIX ib_cc_tbl_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	ccti_limit
+*		Maximum valid CCTI for this table.
+*
+*	entry_list
+*		List of up to 64 CongestionControlTableEntries.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/****s* IBA Base: Types/ib_time_stamp_t
+* NAME
+*	ib_time_stamp_t
+*
+* DESCRIPTION
+*	IBA defined TimeStamp attribute (A10.4.3.10)
+*
+* SOURCE
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_time_stamp {
+	ib_net32_t value;
+} PACK_SUFFIX ib_time_stamp_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+*	value
+*		Free running clock that provides relative time info
+*		for a device. Time is kept in 1.024 usec units.
+*
+* SEE ALSO
+*	ib_cc_mad_t
+*********/
+
+/******************************************************/
+
+/****s* IBA Base: Types/ibcc_notice_attr_t
+* NAME
+*	ibcc_notice_attr_t
+*
+* DESCRIPTION
+*	IBA defined Notice attribute (13.4.8) defines
+*	many types of notices, so it has many unions.
+*	Instead of dealing with the union in SWIG, the
+*	following struct is defined to deal only with
+*	CC notice.
+*	For more details, please see ib_mad_notice_attr_t
+*	definition in ib_types.h
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibcc_notice
+{
+	uint8_t    generic_type;
+
+	uint8_t    generic__prod_type_msb;
+	ib_net16_t generic__prod_type_lsb;
+	ib_net16_t generic__trap_num;
+
+	ib_net16_t issuer_lid;
+	ib_net16_t toggle_count;
+
+	ib_net16_t ntc0__source_lid;   // Source LID from offending packet LRH
+	uint8_t    ntc0__method;       // Method, from common MAD header
+	uint8_t    ntc0__resv0;
+	ib_net16_t ntc0__attr_id;      // Attribute ID, from common MAD header
+	ib_net16_t ntc0__resv1;
+	ib_net32_t ntc0__attr_mod;     // Attribute Modif, from common MAD header
+	ib_net32_t ntc0__qp;           // 8b pad, 24b dest QP from BTH
+	ib_net64_t ntc0__cc_key;       // CC key of the offending packet
+	ib_gid_t   ntc0__source_gid;   // GID from GRH of the offending packet
+	uint8_t    ntc0__padding[14];  // Padding - ignored on read
+
+	ib_gid_t      issuer_gid;
+} PACK_SUFFIX ibcc_notice_attr_t;
+#include <complib/cl_packoff.h>
+/*********/
+
+/****s* IBA Base: Types/ibcc_ca_cong_log_t
+* NAME
+*	ibcc_ca_cong_log_t
+*
+* DESCRIPTION
+*	IBA defined CongestionLog attribute (A10.4.3.5)
+*	has a union that includes Congestion Log for
+*	switches and CAs.
+*	Instead of dealing with the union in SWIG, the
+*	following struct is defined to deal only with
+*	CA congestion log.
+*	For more details, please see ib_cong_log_t
+*	definition in ib_types.h
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_ca_cong_log {
+	uint8_t log_type;
+	uint8_t cong_flags;
+	ib_net16_t event_counter;
+	ib_net16_t event_map;
+	ib_net16_t resv;
+	ib_net32_t time_stamp;
+	ib_cong_log_event_ca_t log_event[13];
+} PACK_SUFFIX ibcc_ca_cong_log_t;
+#include <complib/cl_packoff.h>
+/*********/
+
+/****s* IBA Base: Types/ibcc_sw_cong_log_t
+* NAME
+*	ibcc_sw_cong_log_t
+*
+* DESCRIPTION
+*	IBA defined CongestionLog attribute (A10.4.3.5)
+*	has a union that includes Congestion Log for
+*	switches and CAs.
+*	Instead of dealing with the union in SWIG, the
+*	following struct is defined to deal only with
+*	switch congestion log.
+*	For more details, please see ib_cong_log_t
+*	definition in ib_types.h
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_sw_cong_log {
+	uint8_t log_type;
+	uint8_t cong_flags;
+	ib_net16_t event_counter;
+	ib_net32_t time_stamp;
+	uint8_t port_map[32];
+	ib_cong_log_event_sw_t entry_list[15];
+} PACK_SUFFIX ibcc_sw_cong_log_t;
+#include <complib/cl_packoff.h>
+/*********/
+
+#endif /* _IBCC_H_ */
diff --git a/ibis/src/ibcc.i b/ibis/src/ibcc.i
new file mode 100644
index 0000000..cd512e2
--- /dev/null
+++ b/ibis/src/ibcc.i
@@ -0,0 +1,1516 @@
+/*
+ * Copyright (c) 2008 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.
+ *
+ * $Id$
+ */
+
+%text %{
+
+  Congestion Control:
+    The CC interface supports sending Congestion Control Packets to
+    the fabric devices.
+
+    A set of object types is defined. The user can allocate a new attribute
+    object. Then the object can be set using configure or the direct
+    manipulation methods.
+
+    Extra methods are provided for each object:
+    setByLid <lid> <attrMod>
+    getByLid <lid> <attrMod>
+%}
+
+/*
+ * NOTE : The simplest way to implement that interface is to
+ * code the Set section as embedded tcl code that will create a new
+ * object of the attribute type and use the given set of flags
+ * as configuration command. This way we let swig do the coding
+ * and parsing of each field.
+ */
+
+%{
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+	/* the global pointer to this CC mads manager */
+	static ibcc_t *gp_ibcc;
+
+	/* we probably want to use our own naming for classes */
+	typedef ib_class_port_info_t       ccClassPortInfo;
+	typedef ibcc_notice_attr_t         ccNotice;
+	typedef ib_cong_info_t             ccCongestionInfo;
+	typedef ib_cong_key_info_t         ccCongestionKeyInfo;
+	typedef ibcc_ca_cong_log_t         ccCACongestionLog;
+	typedef ibcc_sw_cong_log_t         ccSWCongestionLog;
+	typedef ib_sw_cong_setting_t       ccSWCongestionSetting;
+	typedef ib_sw_port_cong_setting_t  ccSWPortCongestionSetting;
+	typedef ib_ca_cong_setting_t       ccCACongestionSetting;
+	typedef ib_cc_tbl_t                ccTable;
+	typedef ib_time_stamp_t            ccTimeStamp;
+
+	/* these are the global objects to be used
+	   for set/get (one for each attribute) */
+	ib_class_port_info_t               ibcc_class_port_info_obj;
+	ibcc_notice_attr_t                 ibcc_notice_obj;
+	ib_cong_info_t                     ibcc_cong_info_obj;
+	ib_cong_key_info_t                 ibcc_cong_key_info_obj;
+	ibcc_ca_cong_log_t                 ibcc_ca_cong_log_obj;
+	ibcc_sw_cong_log_t                 ibcc_sw_cong_log_obj;
+	ib_sw_cong_setting_t               ibcc_sw_cong_setting_obj;
+	ib_sw_port_cong_setting_t          ibcc_sw_port_cong_setting_obj;
+	ib_ca_cong_setting_t               ibcc_ca_cong_setting_obj;
+	ib_cc_tbl_t                        ibcc_table_obj;
+	ib_time_stamp_t                    ibcc_time_stamp_obj;
+
+%}
+
+//
+// STANDARD IB TYPE MAPS:
+//
+
+%typemap(tcl8,in) ib_gid_t*(ib_gid_t temp)
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj($source,NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	$target = &temp;
+}
+
+//
+// INTERFACE DEFINITION (~copy of h file)
+//
+
+%section "IBCC Constants"
+/* These constants are provided by IBCC: */
+
+%section "IBCC Objects",pre
+/* This section describes the various object types exposed by IBCC. */
+%text %{
+
+%}
+
+/**************************************************
+ ***        ClassPortInfo (A10.4.3.1)           ***
+ **************************************************/
+
+typedef struct _ibcc_class_port_info {
+	uint8_t     base_ver;
+	uint8_t     class_ver;
+	ib_net16_t  cap_mask;
+	ib_net32_t  cap_mask2_resp_time;
+	ib_gid_t    redir_gid;
+	ib_net32_t  redir_tc_sl_fl;
+	ib_net16_t  redir_lid;
+	ib_net16_t  redir_pkey;
+	ib_net32_t  redir_qp;
+	ib_net32_t  redir_qkey;
+	ib_gid_t    trap_gid;
+	ib_net32_t  trap_tc_sl_fl;
+	ib_net16_t  trap_lid;
+	ib_net16_t  trap_pkey;
+	ib_net32_t  trap_hop_qp;
+	ib_net32_t  trap_qkey;
+} ccClassPortInfo;
+
+%addmethods ccClassPortInfo {
+
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+}
+
+/**************************************************
+ ***       Notice - Trap 0 (A10.4.3.2)          ***
+ **************************************************/
+
+typedef struct _ibcc_notice
+{
+	uint8_t       generic_type;
+
+	uint8_t       generic__prod_type_msb;
+	ib_net16_t    generic__prod_type_lsb;
+	ib_net16_t    generic__trap_num;
+
+	ib_net16_t    issuer_lid;
+	ib_net16_t    toggle_count;
+
+	ib_net16_t    ntc0__source_lid;   // Source LID from offending packet LRH
+	uint8_t       ntc0__method;       // Method, from common MAD header
+	uint8_t       ntc0__resv0;
+	ib_net16_t    ntc0__attr_id;      // Attribute ID, from common MAD header
+	ib_net16_t    ntc0__resv1;
+	ib_net32_t    ntc0__attr_mod;     // Attribute Modif, from common MAD header
+	ib_net32_t    ntc0__qp;           // 8b pad, 24b dest QP from BTH
+	ib_net64_t    ntc0__cc_key;       // CC key of the offending packet
+	ib_gid_t      ntc0__source_gid;   // GID from GRH of the offending packet
+	uint8_array_t ntc0__padding[14];  // Padding - ignored on read
+
+	ib_gid_t      issuer_gid;
+} ccNotice;
+
+%addmethods ccNotice {
+	int trapByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccNotice),        // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_NOTICE),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_TRAP);
+	}
+}
+
+/**************************************************
+ ***       CongestionInfo (A10.4.3.3)           ***
+ **************************************************/
+
+typedef struct _ib_cong_info {
+	uint8_t cong_info;
+	uint8_t resv;
+	uint8_t ctrl_table_cap;
+} ccCongestionInfo;
+
+%addmethods ccCongestionInfo {
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                     // log data
+			0,                        // log data size
+			(uint8_t *)self,          // mgt data
+			sizeof(ccCongestionInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_INFO),
+			0,                        // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+}
+
+/**************************************************
+ ***      CongestionKeyInfo (A10.4.3.4)         ***
+ **************************************************/
+
+typedef struct _ib_cong_key_info {
+	ib_net64_t cc_key;
+	ib_net16_t protect_bit;
+	ib_net16_t lease_period;
+	ib_net16_t violations;
+} ccCongestionKeyInfo;
+
+%addmethods ccCongestionKeyInfo {
+
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+}
+
+/**************************************************
+ ***        CongestionLog (A10.4.3.5)           ***
+ **************************************************/
+
+/*
+ * IBA defined CongestionLog attribute (A10.4.3.5)
+ * has the following definition:
+ *
+ *	typedef struct _ib_cong_log {
+ *		uint8_t log_type;
+ *		union _log_details
+ *		{
+ *			struct {
+ *				uint8_t cong_flags;
+ *				ib_net16_t event_counter;
+ *				ib_net32_t time_stamp;
+ *				uint8_array_t port_map[32];
+ *				ib_cong_log_event_sw_t entry_list[15];
+ *			} log_sw;
+ *
+ *			struct {
+ *				uint8_t cong_flags;
+ *				ib_net16_t event_counter;
+ *				ib_net16_t event_map;
+ *				ib_net16_t resv;
+ *				ib_net32_t time_stamp;
+ *				ib_cong_log_event_ca_t log_event[13];
+ *			} log_ca;
+ *
+ *		} log_details;
+ *	} ccCongestionLog;
+ *
+ * This definition has a union that includes Congestion Log for
+ * switches and CAs.
+ * Instead of dealing with the union in SWIG, we define two separate logs:
+ *   ccSWCongestionLog (for dealing only with switches)
+ *   ccCACongestionLog (for dealing only with CAs)
+ */
+
+%typemap(in) ib_cong_log_event_sw_t[ANY] (ib_cong_log_event_sw_t entrys[$dim0]) {
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj($source,NULL));
+		return TCL_ERROR;
+	}
+
+	/* SW Congestion Log Event List should have up to 15 events */
+	if (countSubLists > 15)
+	{
+		printf("Error: SW Congestion Log Event List should have up to %d events (provided %d)\n",
+			15, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWCongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWCongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < $dim0; i++) {
+		entrys[i].slid = 0;
+		entrys[i].dlid = 0;
+		entrys[i].sl = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].slid = cl_hton16(value); break;
+					case 1: entrys[i].dlid = cl_hton16(value); break;
+					case 2: entrys[i].sl = cl_hton32(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].slid = cl_hton16(value); break;
+					case 2: entrys[entry_index].dlid = cl_hton16(value); break;
+					case 3: entrys[entry_index].sl = cl_hton32(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	$target = entrys;
+}
+
+%typemap(memberin) ib_cong_log_event_sw_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(tcl8,out) ib_cong_log_event_sw_t[ANY] {
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <$dim0 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -slid 0x%04x", cl_ntoh16($source[i].slid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -dlid 0x%04x", cl_ntoh16($source[i].dlid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -sl 0x%08x", cl_ntoh32($source[i].sl));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32($source[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+
+typedef struct _ib_cong_log_event_sw {
+	ib_net16_t slid;
+	ib_net16_t dlid;
+	ib_net32_t sl;
+	ib_net32_t time_stamp;
+} ib_cong_log_event_sw_t;
+
+/**************************************************/
+
+%typemap(in) ib_cong_log_event_ca_t[ANY] (ib_cong_log_event_ca_t entrys[$dim0]) {
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj($source,NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Log Event List should have up to 13 events */
+	if (countSubLists > 13)
+	{
+		printf("Error: CA Congestion Log Event List should have up to %d events (provided %d)\n",
+			13, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < $dim0; i++) {
+		entrys[i].local_qp_resv0 = 0;
+		entrys[i].remote_qp_sl_service_type = 0;
+		entrys[i].remote_lid = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].local_qp_resv0 = cl_hton32(value); break;
+					case 1: entrys[i].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 2: entrys[i].remote_lid = cl_hton16(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].local_qp_resv0 = cl_hton32(value); break;
+					case 2: entrys[entry_index].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 3: entrys[entry_index].remote_lid = cl_hton16(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	$target = entrys;
+}
+
+%typemap(memberin) ib_cong_log_event_ca_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(tcl8,out) ib_cong_log_event_ca_t[ANY] {
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-log_event\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <$dim0 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -local_qp_resv0 0x%08x", cl_ntoh32($source[i].local_qp_resv0));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_qp_sl_service_type 0x%08x", cl_ntoh32($source[i].remote_qp_sl_service_type));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_lid 0x%04x", cl_ntoh16($source[i].remote_lid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32($source[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+
+typedef struct _ib_cong_log_event_ca {
+	ib_net32_t local_qp_resv0;
+	ib_net32_t remote_qp_sl_service_type;
+	ib_net16_t remote_lid;
+	ib_net16_t resv1;
+	ib_net32_t time_stamp;
+} ib_cong_log_event_ca_t;
+
+/**************************************************/
+
+typedef struct _ib_sw_cong_log {
+	uint8_t log_type;
+	uint8_t cong_flags;
+	ib_net16_t event_counter;
+	ib_net32_t time_stamp;
+	uint8_array_t port_map[32];
+	ib_cong_log_event_sw_t entry_list[15];
+} ccSWCongestionLog;
+
+%addmethods ccSWCongestionLog {
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccSWCongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+}
+
+typedef struct _ib_ca_cong_log {
+	uint8_t log_type;
+	uint8_t cong_flags;
+	ib_net16_t event_counter;
+	ib_net16_t event_map;
+	ib_net16_t resv;
+	ib_net32_t time_stamp;
+	ib_cong_log_event_ca_t log_event[13];
+} ccCACongestionLog;
+
+%addmethods ccCACongestionLog {
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccCACongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+}
+
+
+/**************************************************
+ ***    SwitchCongestionSetting (A10.4.3.6)     ***
+ **************************************************/
+
+typedef struct _ib_sw_cong_setting {
+	ib_net32_t control_map;
+	uint8_array_t victim_mask[32];
+	uint8_array_t credit_mask[32];
+	uint8_t threshold_resv;
+	uint8_t packet_size;
+	ib_net16_t cs_threshold_resv;
+	ib_net16_t cs_return_delay;
+	ib_net16_t marking_rate;
+} ccSWCongestionSetting;
+
+
+%addmethods ccSWCongestionSetting {
+
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+
+}
+
+/**************************************************
+ ***   SwitchPortCongestionSetting (A10.4.3.7)  ***
+ **************************************************/
+
+%typemap(in) ib_sw_port_cong_setting_element_t[ANY] (ib_sw_port_cong_setting_element_t entrys[$dim0]) {
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+			Tcl_GetStringFromObj($source,NULL));
+		return TCL_ERROR;
+	}
+
+	/* SwitchPortCongestionSetting Block list should have up to 32 blocks */
+	if (countSubLists > 32)
+	{
+		printf("Error: SwitchPortCongestionSetting Block list should have up to %d blocks (provided %d)\n",
+			32, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWPortCongestionSettingMad configure -block {{1 2 3} {4 5 6}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWPortCongestionSettingMad configure -block {{4 1 2 3} {8 4 5 6}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 3)
+			option = 1;
+		else if (numElements == 4)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < $dim0; i++) {
+		entrys[i].valid_ctrl_type_res_threshold = 0;
+		entrys[i].packet_size = 0;
+		entrys[i].cong_param = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 3) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 3; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].valid_ctrl_type_res_threshold = value; break;
+					case 1: entrys[i].packet_size = value; break;
+					case 2: entrys[i].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].valid_ctrl_type_res_threshold = value; break;
+					case 2: entrys[entry_index].packet_size = value; break;
+					case 3: entrys[entry_index].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	$target = entrys;
+}
+
+%typemap(memberin) ib_sw_port_cong_setting_element_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(tcl8,out) ib_sw_port_cong_setting_element_t[ANY] {
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-block\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <$dim0 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -valid_ctrl_type_res_threshold 0x%02x", $source[i].valid_ctrl_type_res_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -packet_size 0x%02x", $source[i].packet_size);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -cong_param 0x%04x", cl_ntoh16($source[i].cong_param));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+
+typedef struct _ib_sw_port_cong_setting_element {
+	uint8_t valid_ctrl_type_res_threshold;
+	uint8_t packet_size;
+	ib_net16_t cong_param;
+} ib_sw_port_cong_setting_element_t;
+
+typedef struct _ib_sw_port_cong_setting {
+	ib_sw_port_cong_setting_element_t block[32];
+} ccSWPortCongestionSetting;
+
+%addmethods ccSWPortCongestionSetting {
+
+	int getByLid(uint16_t lid, uint8_t block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid, uint8_t block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+
+}
+
+/**************************************************
+ ***     CACongestionSetting (A10.4.3.8)        ***
+ **************************************************/
+
+%typemap(in) ib_ca_cong_entry_t[ANY] (ib_ca_cong_entry_t entrys[$dim0]) {
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Setting: %s\n",
+			Tcl_GetStringFromObj($source,NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Setting Entry List should have up to 16 entries */
+	if (countSubLists > 16)
+	{
+		printf("Error: CA Congestion Setting Entry List should have up to %d entries (provided %d)\n",
+			16, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionSetting configure -entry_list {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionSetting configure -entry_list {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < $dim0; i++) {
+		entrys[i].ccti_timer = 0;
+		entrys[i].ccti_increase = 0;
+		entrys[i].trigger_threshold = 0;
+		entrys[i].ccti_min = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].ccti_timer = cl_hton16(value); break;
+					case 1: entrys[i].ccti_increase = value; break;
+					case 2: entrys[i].trigger_threshold = value; break;
+					case 3: entrys[i].ccti_min = value; break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].ccti_timer = cl_hton16(value); break;
+					case 2: entrys[entry_index].ccti_increase = value; break;
+					case 3: entrys[entry_index].trigger_threshold = value; break;
+					case 4: entrys[entry_index].ccti_min = value; break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	$target = entrys;
+}
+
+%typemap(memberin) ib_ca_cong_entry_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(tcl8,out) ib_ca_cong_entry_t[ANY] {
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <$dim0 ; i++) {
+		sprintf(buff, " {SL%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_timer 0x%04x", cl_ntoh16($source[i].ccti_timer));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_increase 0x%02x", $source[i].ccti_increase);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -trigger_threshold 0x%02x", $source[i].trigger_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_min 0x%02x", $source[i].ccti_min);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+
+typedef struct _ib_ca_cong_entry {
+	ib_net16_t ccti_timer;
+	uint8_t ccti_increase;
+	uint8_t trigger_threshold;
+	uint8_t ccti_min;
+	uint8_t resv0;
+	ib_net16_t resv1;
+} ib_ca_cong_entry_t;
+
+typedef struct _ib_ca_cong_setting {
+	ib_net16_t port_control;
+	ib_net16_t control_map;
+	ib_ca_cong_entry_t entry_list[16];
+} ccCACongestionSetting;
+
+
+%addmethods ccCACongestionSetting {
+
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+
+}
+
+/**************************************************
+ ***     CongestionControlTable (A10.4.3.9)     ***
+ **************************************************/
+
+%typemap(in) ib_cc_tbl_entry_t[ANY] (ib_cc_tbl_entry_t entrys[$dim0]) {
+	long int value;
+	long int entry_index = 0;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CC Table: %s\n",
+			Tcl_GetStringFromObj($source,NULL));
+		return TCL_ERROR;
+	}
+
+	/* Congestion Control Table Entry List should have up to 64 entries */
+	if (countSubLists > 64)
+	{
+		printf("Error: Congestion Control Table Entry List should have up to %d entries (provided %d)\n",
+			64, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of values:
+	 *        ccTableMad configure -entry_list {1 2 3 4 5 6}
+	 *   2. Configure specific items from the list by providing index and value:
+	 *        ccTableMad configure -entry_list {{1 3} {2 4} {7 16}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 1)
+			option = 1;
+		else if (numElements == 2)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < $dim0; i++)
+		entrys[i].shift_multiplier = 0;
+
+	if (option == 1) {
+		/*
+		 * first option - list of values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 1) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[i].shift_multiplier = cl_hton16(value);
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and value
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 2) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			entry_index = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 1, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[entry_index].shift_multiplier = cl_hton16(value);
+		}
+	}
+
+	$target = entrys;
+}
+
+%typemap(memberin) ib_cc_tbl_entry_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(tcl8,out) ib_cc_tbl_entry_t[ANY] {
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list { ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <$dim0 ; i++) {
+		sprintf(buff, "{#%02u: 0x%04x} ", i, cl_ntoh16($source[i].shift_multiplier));
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+
+	sprintf(buff, "} ");
+	Tcl_AppendResult(interp, buff, NULL);
+}
+
+typedef struct _ibcc_tbl_entry {
+	ib_net16_t shift_multiplier;
+} ib_cc_tbl_entry_t;
+
+typedef struct _ib_cc_tbl {
+	ib_net16_t ccti_limit;
+	ib_net16_t resv;
+	ib_cc_tbl_entry_t entry_list[64];
+} ccTable;
+
+%addmethods ccTable {
+
+	int getByLid(uint16_t lid, uint8_t sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+	int setByLid(uint16_t lid, uint8_t sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+
+}
+
+/**************************************************
+ ***           TimeStamp (A10.4.3.10)           ***
+ **************************************************/
+
+typedef struct _ib_time_stamp {
+	ib_net32_t value;
+} ccTimeStamp;
+
+%addmethods ccTimeStamp {
+
+	int getByLid(uint16_t lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTimeStamp),     // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_TIME_STAMP),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+
+}
diff --git a/ibis/src/ibcr.c b/ibis/src/ibcr.c
new file mode 100644
index 0000000..50702c4
--- /dev/null
+++ b/ibis/src/ibcr.c
@@ -0,0 +1,394 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibcr_t.
+ * This object represents the Subnet Performance Monitor object.
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.3 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibcr.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+/**********************************************************************
+ **********************************************************************/
+
+ibcr_t*
+ibcr_construct()
+{
+  ibcr_t* p_ibcr;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibcr = malloc(sizeof(ibcr_t));
+  if (p_ibcr == NULL)
+  {
+    goto Exit;
+  }
+
+  memset(p_ibcr, 0, sizeof(ibcr_t));
+  p_ibcr->state = IBCR_STATE_INIT;
+
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return(p_ibcr);
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibcr_destroy(
+  IN ibcr_t* const p_ibcr )
+{
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibcr->state = IBCR_STATE_INIT;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibcr_init(
+  IN ibcr_t* const p_ibcr )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibcr->state = IBCR_STATE_READY;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibcr_bind(
+  IN ibcr_t* const p_ibcr )
+{
+  ib_api_status_t status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    CR_CLASS, 1,
+    &p_ibcr->h_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    CR_CLASS ,
+    CR_ATTR_50 ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibcr);
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    CR_CLASS ,
+    CR_ATTR_51 ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibcr);
+
+  Exit :
+
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+static void
+__ibcr_prep_cr_mad(
+  IN ibcr_t* p_ibcr,
+  IN uint16_t lid,
+  IN uint8_t method,
+  IN uint32_t data,
+  IN uint32_t address,
+  OUT osm_madw_t **pp_madw)
+{
+
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  uint32_t              attr_mod=0;
+  uint16_t              attr_id=0;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  attr_mod = (((address & 0x00ff0000) << 8) | (0x01 << 16) | (address & 0xffff));
+
+  attr_id = CR_ATTR_50;
+
+  mad_addr.dest_lid = cl_hton16(lid);
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+  mad_addr.addr_type.gsi.remote_qp=cl_hton32(1);
+  mad_addr.addr_type.gsi.remote_qkey = cl_hton32(0x80010000);
+  mad_addr.addr_type.gsi.pkey_ix = 0;
+  mad_addr.addr_type.gsi.service_level = 0;
+  mad_addr.addr_type.gsi.global_route = FALSE;
+
+  p_madw =
+    osm_mad_pool_get(
+      &(IbisObj.mad_pool),p_ibcr->h_bind,MAD_PAYLOAD_SIZE,&mad_addr);
+  *pp_madw = p_madw;
+
+  p_madw->resp_expected = TRUE;
+  ((ib_mad_t *)p_madw->p_mad)->method = method;
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = CR_CLASS;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attr_id);
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(attr_mod);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+
+  ((ib_cr_space_t *)p_madw->p_mad)->vendor_key = cl_hton64(IbisObj.p_opt->v_key);
+  ((ib_cr_space_t *)p_madw->p_mad)->data[0] = cl_hton32(data);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibcr_read(
+  IN ibcr_t* const p_ibcr,
+  IN uint16_t lid,
+  IN uint32_t address,
+  OUT ib_cr_space_t *p_cr_space_mad)
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  /* prepare the mad */
+  __ibcr_prep_cr_mad(
+    p_ibcr,
+    lid,
+    VENDOR_GET,
+    0x0,
+    address,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibcr->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_cr_space_t),
+    (uint8_t*)p_cr_space_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibcr_write(
+  IN ibcr_t* const p_ibcr,
+  IN uint16_t lid,
+  IN uint32_t data,
+  IN uint32_t address)
+{
+  ib_api_status_t status;
+
+  ib_cr_space_t res_mad;
+  osm_madw_t   *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibcr_prep_cr_mad(
+    p_ibcr,
+    lid,
+    VENDOR_SET,
+    data,
+    address,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibcr->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_cr_space_t),
+    (uint8_t*)&res_mad);
+
+  if (status == IB_SUCCESS)
+    status = ibis_get_mad_status((ib_mad_t*)&res_mad);
+
+  if (! ((ib_mad_t *)&res_mad)->trans_id)
+    status = IB_ERROR;
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibcr_multi_read(
+  IN ibcr_t* const p_ibcr,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_cr_space_t *p_cr_space_mad_list)
+{
+
+  ib_api_status_t status;
+  uint8_t i;
+  osm_madw_t          *p_madw_arr[IBCR_MULTI_MAX];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBCR_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i=0 ; i <num ; i++ ) {
+    __ibcr_prep_cr_mad(
+      p_ibcr,
+      lid_list[i],
+      VENDOR_GET,
+      0x0,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibcr->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_cr_space_t),
+    (uint8_t*)p_cr_space_mad_list);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibcr_multi_write(
+  IN ibcr_t* const p_ibcr,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t data,
+  IN uint32_t address)
+{
+  ib_api_status_t status;
+  uint8_t         i;
+  osm_madw_t     *p_madw_arr[IBCR_MULTI_MAX];
+  ib_cr_space_t   res_mads[IBCR_MULTI_MAX];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBCR_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i=0 ; i <num ; i++ ) {
+    __ibcr_prep_cr_mad(
+      p_ibcr,
+      lid_list[i],
+      VENDOR_SET,
+      data,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibcr->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_cr_space_t),
+    (uint8_t*)res_mads);
+
+  /* check some commands passed in success */
+  if (status == IB_SUCCESS)
+  {
+    for (i = 0; i < num; i++)
+    {
+      status = ibis_get_mad_status((ib_mad_t*)&res_mads[i]);
+      if (status == IB_SUCCESS)
+      {
+        break;
+      }
+    }
+  }
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
diff --git a/ibis/src/ibcr.h b/ibis/src/ibcr.h
new file mode 100644
index 0000000..c684247
--- /dev/null
+++ b/ibis/src/ibcr.h
@@ -0,0 +1,371 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Implementation of ibcr_t.
+ *	This object represents the Subnet Performance Monitor object.
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.2 $
+ */
+
+#ifndef _IBCR_H_
+#define _IBCR_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+#include "ibcr_base.h"
+
+
+/****s* IBIS: ibcr/ibcr_t
+* NAME  ibcr_t
+*
+*
+* DESCRIPTION
+*       ibcr structure.
+*
+* SYNOPSIS
+*/
+
+
+typedef struct _ibcr
+{
+  ibcr_state_t       state;
+  osm_bind_handle_t  h_bind;
+} ibcr_t;
+
+
+/*
+* FIELDS
+*
+*       state
+*            The ibcr condition state.
+*
+*       h_bind
+*            The handle to bind with the lower level.
+*
+* SEE ALSO
+*
+*********/
+
+
+/****f* IBIS: ibcr/ibcr_construct
+* NAME
+*       ibcr_construct
+*
+* DESCRIPTION
+*      Allocation of ibcr_t struct
+*
+* SYNOPSIS
+*/
+
+ibcr_t*
+ibcr_construct(void);
+
+/*
+* PARAMETERS
+*
+*
+* RETURN VALUE
+*       Return a pointer to an ibcr struct. Null if fails to do so.
+*
+* NOTES
+*       First step of the creation of ibcr_t
+*
+* SEE ALSO
+*       ibcr_destroy ibcr_init
+*********/
+
+/****s* IBIS: ibcr/ibcr_destroy
+* NAME
+*       ibcr_destroy
+*
+* DESCRIPTION
+*      release of ibcr_t struct
+*
+* SYNOPSIS
+*/
+
+void
+ibcr_destroy(
+  IN ibcr_t* const p_ibcr );
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct that is about to be released
+*
+* RETURN VALUE
+*
+* NOTES
+*       Final step of the releasing of ibcr_t
+*
+* SEE ALSO
+*       ibcr_construct
+*********/
+
+/****f* IBIS: ibcr/ibcr_init
+* NAME
+*       ibcr_init
+*
+* DESCRIPTION
+*      Initialization of an ibcr_t struct
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_init(
+  IN ibcr_t* const p_ibcr );
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct that is about to be initialized
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_construct
+* *********/
+
+
+/****f* IBIS: ibcr/ibcr_bind
+* NAME
+*       ibcr_bind
+*
+* DESCRIPTION
+*      Binding the ibcr object to a lower level.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_bind(
+  IN ibcr_t* const p_ibcr );
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct that is about to be binded
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_construct
+*********/
+
+/****f* IBIS: ibcr/ibcr_read
+* NAME
+*     ibcr_read
+*
+* DESCRIPTION
+*      Send a CR MAD  and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_read(
+  IN ibcr_t* const p_ibcr,
+  IN uint16_t lid,
+  IN uint32_t address,
+  OUT ib_cr_space_t *p_cr_space_mad);
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       address
+*               The cr-space address in which to read from.
+*
+*       p_cr_space_mad
+*               A pointer to a cr space MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_write
+*********/
+
+/****f* IBIS: ibcr/ibcr_write
+* NAME
+*     ibcr_write
+*
+* DESCRIPTION
+*      Send a CR MAD  that writes to a cr-space address.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_write(
+  IN ibcr_t* const p_ibcr,
+  IN uint16_t lid,
+  IN uint32_t data,
+  IN uint32_t address);
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       data
+*               The cr-space data.
+*
+*       address
+*               The cr-space address in which to write to.
+*
+
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_read
+*********/
+
+/****f* IBIS: ibcr/ibcr_multi_read
+* NAME
+*     ibcr_multi_read
+*
+* DESCRIPTION
+*      Send a CR MAD  and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_multi_read(
+  IN ibcr_t* const p_ibcr,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_cr_space_t *p_cr_space_mad_list);
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               The list of Destination lid of the MAD.
+*
+*       address
+*               The cr-space address in which to read from.
+*
+*       p_cr_space_mad
+*               A pointer to a cr space MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_multi_write
+*********/
+
+/****f* IBIS: ibcr/ibcr_multi_write
+* NAME
+*     ibcr_multi_write
+*
+* DESCRIPTION
+*      Send a CR MAD  that writes to a cr-space address.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibcr_multi_write(
+  IN ibcr_t* const p_ibcr,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t data,
+  IN uint32_t address);
+
+/*
+* PARAMETERS
+*       p_ibcr
+*               A pointer to the ibcr_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               The list of Destination lid of the MAD.
+*
+*       data
+*               The cr-space data.
+*
+*       address
+*               The cr-space address in which to write to.
+*
+
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibcr_multi_read
+*********/
+
+#endif /* _IBCR_H_ */
diff --git a/ibis/src/ibcr.i b/ibis/src/ibcr.i
new file mode 100644
index 0000000..8e204b0
--- /dev/null
+++ b/ibis/src/ibcr.i
@@ -0,0 +1,291 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibcr.h"
+%}
+
+%{
+
+static ibcr_t *p_ibcr_global;
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibcr_get_cr_str(
+  boolean_t is_multi,
+  uint8_t num,
+  ib_cr_space_t *p_cr_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[512];
+  static int i, extra;
+
+  if (p_cr_mads) {
+    for (i=0;i<num;i++) {
+      if (p_cr_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Fail to obtain CR mad response");
+        } else {
+          sprintf(buff,"ERROR : Fail to obtain CR mad response");
+        }
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]) != 0) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        } else {
+          sprintf(buff,"ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        }
+      } else {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} {data 0x%x}",
+                cl_ntoh64(p_cr_mads[i].vendor_key),
+                cl_ntoh32(p_cr_mads[i].data[0]));
+      }
+
+      if (is_multi) extra = 3; else extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi) {
+        strcat(p_res_str,"{");
+        strcat(p_res_str, buff);
+        strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibcr_destroy_global(void)
+{
+	ibcr_destroy(p_ibcr_global);
+	return (0);
+}
+
+int
+ibcr_num_of_multi_max(void)
+{
+	return (IBCR_MULTI_MAX);
+}
+
+int
+ibcr_read_global(
+  uint16_t lid,
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[1];
+
+	status = ibcr_read(p_ibcr_global,lid,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(FALSE, 1, cr_space_mads_arr);
+   }
+
+	return(status);
+}
+
+int
+ibcr_write_global(
+  uint16_t lid,
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_write(p_ibcr_global,lid,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write CR space");
+   }
+	return(status);
+}
+
+int
+ibcr_multi_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[IBCR_MULTI_MAX];
+
+	status =
+     ibcr_multi_read(p_ibcr_global,num,lid_list,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read all targets CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(TRUE, num, cr_space_mads_arr);
+   }
+	return(status);
+}
+
+int
+ibcr_multi_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_multi_write(p_ibcr_global,num,lid_list,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write all targets CR space");
+   }
+	return(status);
+}
+
+%}
+
+//
+// STANDARD IB TYPE MAPS:
+//
+
+%{
+#define uint16_cr_arr_t uint16_t
+%}
+%typemap(tcl8,in) uint16_cr_arr_t *(uint16_t temp[IBCR_MULTI_MAX]) {
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj($source,NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBCR_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp[i] = strtoul(str, NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    $target = temp;
+    free(loc_buf);
+}
+
+//
+// IBCR MAD TYPE MAPS
+//
+
+
+%typemap(memberin) ib_cr_space_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+sizeof(ib_cr_space_t)*$dim0);
+	}
+}
+
+%section "IBCR Functions",pre
+/* IBCR UI functions */
+%text %{
+This section provide the details about the functions IBCR exposes.
+They all return 0 on succes.
+%}
+
+
+%name(crDestroy) int ibcr_destroy_global();
+
+%name(crMultiMaxGet) ibcr_num_of_multi_max();
+
+
+%apply char **p_out_str {char **pp_new_cr_str};
+
+%name(crRead) int ibcr_read_global(
+  uint16_t lid,
+  uint32_t address,
+  char **pp_new_cr_str);
+
+%name(crWrite) int ibcr_write_global(
+  uint16_t lid,
+  uint32_t data,
+  uint32_t address);
+
+%name(crReadMulti) int ibcr_multi_read_global(
+  uint8_t num,
+  uint16_cr_arr_t lid_list[],
+  uint32_t address,
+  char **pp_new_cr_str);
+
+%name(crWriteMulti) int ibcr_multi_write_global(
+  uint8_t num,
+  uint16_cr_arr_t lid_list[],
+  uint32_t data,
+  uint32_t address );
+
+//
+// INIT CODE
+//
+%init %{
+
+ {
+
+	}
+%}
+
diff --git a/ibis/src/ibcr_base.h b/ibis/src/ibcr_base.h
new file mode 100644
index 0000000..b523285
--- /dev/null
+++ b/ibis/src/ibcr_base.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+#ifndef _IBCR_BASE_H_
+#define _IBCR_BASE_H_
+
+#include <endian.h>
+
+#define CR_CLASS        0x09
+#define CR_ATTR_50      0x50
+#define CR_ATTR_51      0x51
+#define VENDOR_GET      0x01
+#define VENDOR_SET      0x02
+#define VENDOR_GET_RESP 0x81
+#define MAD_PAYLOAD_SIZE 256
+#define IBCR_INITIAL_TID_VALUE 0x9999
+#define IBCR_DWORD_MAX_GET 1
+#define IBCR_MULTI_MAX 64
+
+typedef enum _ibcr_state
+{
+  IBCR_STATE_INIT,
+  IBCR_STATE_READY
+} ibcr_state_t;
+
+#include <complib/cl_packon.h>
+typedef struct _ib_cr_space
+{
+ib_mad_t mad_header;
+ib_net64_t vendor_key;
+ib_net32_t data[56];
+}	PACK_SUFFIX ib_cr_space_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_cr_space_attr_mod
+{
+uint8_t reserved;
+uint8_t mode_count;
+ib_net16_t burst_addr;
+}PACK_SUFFIX ib_cr_space_attr_mod_t;
+
+#endif /* _IBCR_BASE_H_ */
diff --git a/ibis/src/ibis.c b/ibis/src/ibis.c
new file mode 100644
index 0000000..b5662c6
--- /dev/null
+++ b/ibis/src/ibis.c
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <complib/cl_debug.h>
+#include "ibis.h"
+#include "ibis_api.h"
+#include "git_version.h"
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_helper.h>
+
+
+/****g* IBIS/IbisObj
+ * NAME
+ * IbisObj
+ *
+ * DESCRIPTION
+ * global IBIS Object
+ *
+ * SYNOPSIS
+ */
+ibis_t IbisObj;
+/*
+ * SEE ALSO
+ * IBIS object, ibis_construct, ibis_destroy
+ *********/
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibis_construct(void) {
+  memset( &IbisObj, 0, sizeof( ibis_t ) );
+  IbisObj.initialized = FALSE;
+  IbisObj.trans_id = 0x1;
+  osm_log_construct( &(IbisObj.log) );
+  osm_mad_pool_construct( &(IbisObj.mad_pool));
+  cl_disp_construct( &(IbisObj.disp) );
+  ibis_gsi_mad_ctrl_construct( &(IbisObj.mad_ctrl) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibis_destroy(void) {
+
+  if (! IbisObj.initialized) return;
+
+  ibis_gsi_mad_ctrl_destroy( &(IbisObj.mad_ctrl) );
+  cl_disp_destroy( &(IbisObj.disp) );
+
+  if (IbisObj.p_vendor)
+    osm_vendor_delete(&(IbisObj.p_vendor));
+
+  osm_mad_pool_destroy( &(IbisObj.mad_pool));
+
+  osm_log_destroy( &(IbisObj.log) );
+
+  IbisObj.initialized = FALSE;
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibis_init(
+  IN ibis_opt_t *p_opt,
+  IN const osm_log_level_t log_flags
+  )
+{
+  ib_api_status_t status;
+
+  IbisObj.port_guid = 0;
+  ibis_construct();
+  status = osm_log_init( &(IbisObj.log),
+                         p_opt->force_log_flush,0x01, p_opt->log_file
+#ifdef OSM_BUILD_OPENIB
+                         , FALSE /* do not accumulate log ... */
+#endif
+                         );
+  if( status != IB_SUCCESS )
+    return ( status ); // no log ....
+
+  /* but we do not want any extra staff here */
+  osm_log_set_level( &(IbisObj.log), log_flags );
+
+  osm_log( &(IbisObj.log), OSM_LOG_FUNCS,"ibis_init: [\n" );
+
+  IbisObj.p_opt = p_opt;
+
+  status = osm_mad_pool_init( &(IbisObj.mad_pool) );
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &IbisObj.log, OSM_LOG_ERROR,
+             "ibis_init: ERR 0002: "
+             "Unable to allocate MAD pool\n");
+    goto Exit;
+  }
+
+  IbisObj.p_vendor = osm_vendor_new( &(IbisObj.log),
+                                     p_opt->transaction_timeout );
+
+
+  if( IbisObj.p_vendor == NULL )
+  {
+    status = IB_INSUFFICIENT_RESOURCES;
+    osm_log( &IbisObj.log, OSM_LOG_ERROR,
+             "ibis_init: ERR 0001: "
+             "Unable to allocate vendor object" );
+    goto Exit;
+  }
+
+  if (IbisObj.p_opt->single_thread)
+  {
+    status = cl_disp_init(&(IbisObj.disp),1,"gsi" );
+  }
+  else
+  {
+    status = cl_disp_init(&(IbisObj.disp),0,"gsi" );
+  }
+
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &IbisObj.log, OSM_LOG_ERROR,
+             "ibis_init: ERR 0003: "
+             "Unable to allocate GSI MADs Dispatcher\n");
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_init(&(IbisObj.mad_ctrl),
+                                  &(IbisObj.mad_pool),
+                                  IbisObj.p_vendor,
+                                  &(IbisObj.log),
+                                  &(IbisObj.disp));
+
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &IbisObj.log, OSM_LOG_ERROR,
+             "ibis_init: ERR 0003: "
+             "Unable to allocate GSI MADs Control\n");
+    goto Exit;
+  }
+
+  IbisObj.initialized = TRUE;
+ Exit:
+  return ( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+const ibis_gsi_mad_ctrl_t*
+ibis_get_gsi_mad_ctrl()
+{
+  return (&(IbisObj.mad_ctrl));
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibis_get_ports_status(
+  IN OUT uint32_t *num_ports,
+  IN OUT ibis_port_info_t ports_array[] )
+{
+  uint32_t i;
+  ib_api_status_t status;
+  ib_port_attr_t attr_array[GUID_ARRAY_SIZE];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  *num_ports = GUID_ARRAY_SIZE;
+  status = osm_vendor_get_all_port_attr(
+    IbisObj.p_vendor,
+    attr_array,
+    num_ports );
+
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &IbisObj.log, OSM_LOG_ERROR,
+             "ibis_get_ports_status: ERR 0001: "
+             "Unable to obtain ports information - got err code:%u.\n",
+             status);
+    goto Exit;
+  }
+
+  if( num_ports == 0 )
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for( i = 0; i < *num_ports; i++ )
+  {
+    ports_array[i].port_guid = cl_ntoh64(attr_array[i].port_guid);
+    ports_array[i].lid = cl_ntoh16( attr_array[i].lid );
+    ports_array[i].link_state = attr_array[i].link_state;
+  }
+
+  Exit :
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_net64_t
+ibis_get_tid(void)
+{
+  return( cl_ntoh64(cl_atomic_inc(&IbisObj.trans_id)));
+}
+
+
+#ifndef IBIS_CODE_VERSION
+#define IBIS_CODE_VERSION "undefined"
+#endif
+const char * ibisSourceVersion = IBIS_CODE_VERSION ;
diff --git a/ibis/src/ibis.h b/ibis/src/ibis.h
new file mode 100644
index 0000000..645f821
--- /dev/null
+++ b/ibis/src/ibis.h
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Declaration of ibis_t.
+ *	This object represents the IBIS Platform object.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.4 $
+ */
+
+#ifndef _IBIS_H_
+#define _IBIS_H_
+
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_helper.h>
+#include "ibis_api.h"
+#include "ibis_gsi_mad_ctrl.h"
+
+#ifdef OSM_BUILD_OPENIB
+#include <vendor/osm_vendor_api.h>
+#else
+#include <opensm/osm_vendor_api.h>
+#endif
+
+/****h* IBIS/IBIS
+ * NAME
+ *	IBIS
+ *
+ * DESCRIPTION
+ *	The IBIS object provides a simplified API to a vendor specific MAD
+ *  processing and SA query facilities.
+ *
+ * AUTHOR
+ *	Eitan Zahavi, Mellanox
+ *
+ *********/
+
+/****f* IBIS/ibis_construct
+* NAME
+*	ibis_construct
+*
+* DESCRIPTION
+*	This function constructs an IBIS object.
+*
+* SYNOPSIS
+*/
+void ibis_construct(void);
+
+/*
+* PARAMETERS
+*
+* RETURN VALUE
+*	This function does not return a value.
+*
+* NOTES
+*	Allows calling ibis_init, ibis_destroy.
+*
+*	Calling ibis_construct is a prerequisite to calling any other
+*	method except ibis_init.
+*
+* SEE ALSO
+*	IBIS object, ibis_init, ibis_destroy
+*********/
+
+/****f* IBIS/ibis_destroy
+* NAME
+*	ibis_destroy
+*
+* DESCRIPTION
+*	The ibis_destroy function destroys an ibis object, releasing
+*	all resources.
+*
+* SYNOPSIS
+*/
+void
+ibis_destroy(void);
+/*
+* PARAMETERS
+*
+* RETURN VALUE
+*	This function does not return a value.
+*
+* NOTES
+*	Performs any necessary cleanup of the specified IBIS object.
+*	Further operations should not be attempted on the destroyed object.
+*	This function should only be called after a call to ibis_construct or
+*	ibis_init.
+*
+* SEE ALSO
+*	IBIS object, ibis_construct, ibis_init
+*********/
+
+/****f* IBIS/ibis_init
+* NAME
+*	ibis_init
+*
+* DESCRIPTION
+*	The ibis_init function initializes a IBIS object for use.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_init(
+  IN ibis_opt_t *p_opt,
+  IN const osm_log_level_t log_flags
+  );
+
+/*
+* PARAMETERS
+*
+*	p_opt
+*		[in] Pointer to the options structure.
+*
+*	log_flags
+*		[in] Log level flags to set.
+*
+* RETURN VALUES
+*	IB_SUCCESS if the IBIS object was initialized successfully.
+*
+* NOTES
+*	Allows calling other IBIS methods.
+*
+* SEE ALSO
+*	IBIS object, ibis_construct, ibis_destroy
+*********/
+
+/****f* IBIS/ibis_get_mad_status_str
+* NAME
+*	ibis_get_mad_status_str
+*
+* DESCRIPTION
+*	return the string representing the given mad status
+*
+* SYNOPSIS
+*/
+const char *
+ibis_get_mad_status_str( IN const ib_mad_t * const p_mad );
+/*
+* PARAMETERS
+*	p_mad
+*		[in] Pointer to the mad payload
+*
+* RETURN VALUES
+*	NONE
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS/ibis_get_tid
+* NAME
+*	ibis_get_tid
+*
+* DESCRIPTION
+*	return a transaction ID for sending MAD
+*
+* SYNOPSIS
+*/
+ib_net64_t
+ibis_get_tid(void);
+/*
+* PARAMETERS
+*
+* RETURN VALUES
+*	a transaction ID not used by previous mads.
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+#endif /* _IBIS_H_ */
diff --git a/ibis/src/ibis.i b/ibis/src/ibis.i
new file mode 100644
index 0000000..1bc3f34
--- /dev/null
+++ b/ibis/src/ibis.i
@@ -0,0 +1,934 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%title "IBIS Tcl Extension"
+
+%module ibis
+%{
+#undef panic
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <opensm/osm_log.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis.h"
+#include "ibcr.h"
+#include "ibpm.h"
+#include "ibvs.h"
+#include "ibbbm.h"
+#include "ibsac.h"
+#include "ibsm.h"
+#include "ibcc.h"
+
+END_C_DECLS
+
+#ifndef PRIx64
+#if __WORDSIZE == 64
+#define __PRI64_PREFIX	"l"
+#else
+#define __PRI64_PREFIX	"L"
+#endif
+
+#define PRId64		__PRI64_PREFIX"d"
+#define PRIo64		__PRI64_PREFIX"o"
+#define PRIu64		__PRI64_PREFIX"u"
+#define PRIx64		__PRI64_PREFIX"x"
+#endif
+
+/**********************************************************************
+ **********************************************************************/
+boolean_t
+ibisp_is_debug(void)
+{
+#if defined( _DEBUG_ )
+  return TRUE;
+#else
+  return FALSE;
+#endif /* defined( _DEBUG_ ) */
+}
+
+%}
+
+//
+// TYPE MAPS:
+//
+%include ibis_typemaps.i
+
+//
+// exception handling wrapper based on the MsgMgr interfaces
+//
+%{
+
+  static char ibis_tcl_error_msg[1024];
+  static int  ibis_tcl_error;
+
+  void ibis_set_tcl_error(char *err) {
+    if (strlen(err) < 1024)
+      strcpy(ibis_tcl_error_msg, err);
+    else
+      strncpy(ibis_tcl_error_msg, err, 1024);
+    ibis_tcl_error = 1;
+  }
+
+%}
+// it assumes we do not send the messages to stderr
+%except(tcl8) {
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+  $function;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}
+
+//
+// IBCR Interfaces and C Code
+//
+%include ibcr.i
+
+//
+// IBPM Interfaces and C Code
+//
+%include ibpm.i
+
+//
+// IBVS Interfaces and C Code
+//
+%include ibvs.i
+
+//
+// IBBBM Interfaces and C Code
+//
+%include ibbbm.i
+
+//
+// IBSAC Interfaces and C Code
+//
+%include ibsac.i
+
+//
+// IBSM Interfaces and C Code
+//
+%include ibsm.i
+
+//
+// IBCC Interfaces and C Code
+//
+%include ibcc.i
+
+%{
+  /* globals */
+  ibis_t    IbisObj;
+  static ibis_opt_t  *ibis_opt_p;
+  ibis_opt_t IbisOpts;
+
+  /* initialize the ibis object - is not done during init so we
+     can play with the options ... */
+  int ibis_ui_init(void)
+  {
+    ib_api_status_t status;
+#ifdef OSM_BUILD_OPENIB
+    complib_init();
+#endif
+
+	 status = ibis_init( &IbisOpts, IbisOpts.log_flags );
+	 if( status != IB_SUCCESS ) {
+		printf("-E- Error from ibis_init: %s.\n",
+				 ib_get_err_str( status ));
+		ibis_destroy();
+		exit(1);
+	 }
+
+    status = ibcr_init(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibcr_init.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_init(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibpm_init.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_init(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibvs_init.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_init(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibbbm_init.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_init(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibsm_init.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_init(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibcc_init.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  /* destroy the osm object and close the complib.
+     This function is called from by the Tcl_CreateExitHandler - meaning
+     it will be called when calling 'exit' in the osm shell. */
+  void
+    ibis_exit( ClientData clientData ) {
+    ibcr_destroy(p_ibcr_global);
+    ibpm_destroy(p_ibpm_global);
+    ibvs_destroy(p_ibvs_global);
+    ibbbm_destroy(p_ibbbm_global);
+    ibsm_destroy(gp_ibsm);
+    ibcc_destroy(gp_ibcc);
+
+    ibis_destroy();
+    usleep(100);
+    complib_exit();
+  }
+
+  int ibis_ui_destroy(void)
+  {
+    ibis_exit(NULL);
+    return TCL_OK;
+  }
+
+
+  /* simply return the active port guid ibis is binded to */
+  uint64_t ibis_get_port(void)
+  {
+    return (IbisObj.port_guid);
+  }
+
+  /* set the port we bind to and initialize sub packages */
+  int ibis_set_port(uint64_t port_guid)
+  {
+    ib_api_status_t status;
+
+    if (! IbisObj.initialized) {
+      ibis_set_tcl_error("ibis was not initialized! Please use ibis_init before any call to ibis_*");
+      ibis_tcl_error = 1;
+      return 1;
+    }
+
+    IbisObj.port_guid = port_guid;
+
+    status = ibcr_bind(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcr_bind.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_bind(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibpm_bind.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_bind(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibvs_bind.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_bind(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibbbm_bind.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_bind(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibsm_bind.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_bind(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcc_bind.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    if (ibsac_bind(&IbisObj))
+    {
+      printf("-E- Fail to ibsac_bind.\n");
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  int ibis_set_verbosity(int level) {
+    if (IbisObj.initialized)
+      osm_log_set_level( &(IbisObj.log), level );
+    else
+      IbisOpts.log_flags = level;
+
+	 return TCL_OK;
+  }
+
+  int ibis_puts( osm_log_level_t verbosity, char *msg) {
+	 osm_log(&(IbisObj.log), verbosity, msg );
+	 return TCL_OK;
+  }
+
+  int ibis_set_transaction_timeout( uint32_t timeout_ms ) {
+	 osm_log(&(IbisObj.log),
+				OSM_LOG_VERBOSE,
+				" Setting timeout to:%u[msec]\n", timeout_ms);
+	 IbisOpts.transaction_timeout = timeout_ms;
+	 return TCL_OK;
+  }
+
+  /* return the list of port guids and their status etc */
+  static int ibis_get_local_ports_info (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj * tcl_result;
+	 ibis_t *p_ibis = &IbisObj;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_ports = GUID_ARRAY_SIZE;
+	 ib_port_attr_t attr_array[GUID_ARRAY_SIZE];
+	 static char res[128];
+	 Tcl_Obj *p_obj;
+
+    if (!IbisObj.initialized)
+    {
+      Tcl_SetStringObj(
+        Tcl_GetObjResult(interp),
+        "ibis was not yet initialized. please use ibis_init before.", -1);
+      return TCL_ERROR;
+    }
+
+	 /* command options */
+    tcl_result = Tcl_GetObjResult(interp);
+
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_get_local_ports_info ",-1);
+        return TCL_ERROR;
+    }
+
+	 /*
+		Call the transport layer for a list of local port
+		GUID values.
+	 */
+    status = osm_vendor_get_all_port_attr(
+      p_ibis->p_vendor,
+      attr_array,
+      &num_ports );
+    if( status != IB_SUCCESS )
+    {
+      sprintf(ibis_tcl_error_msg,"-E- fail status:%x\n", status);
+      ibis_tcl_error = 1;
+      return( TCL_ERROR );
+    }
+
+	 /*
+		 Go over all ports and build the return  value
+	 */
+	 for( i = 0; i < num_ports; i++ )
+    {
+
+      // start with 1 on host channel adapters.
+      sprintf(res, "0x%016" PRIx64 " 0x%04X %s %u",
+              cl_ntoh64( attr_array[i].port_guid ),
+              attr_array[i].lid,
+              ib_get_port_state_str( attr_array[i].link_state ),
+              attr_array[i].port_num
+              );
+
+      p_obj = Tcl_NewStringObj(res, strlen(res));
+      Tcl_ListObjAppendElement(interp, tcl_result, p_obj);
+    }
+
+    return TCL_OK;
+  }
+
+%}
+
+
+
+//
+// INTERFACE DEFINITION (~copy of h file)
+//
+
+%section "IBIS Constants"
+/* These constants are provided by IBIS: */
+
+%subsection "Log Verbosity Flags",before,pre
+/* To be or'ed and used as the "level" argument of ibis_set_verbosity */
+%readonly
+#define IBIS_LOG_NONE			   0x00
+#define IBIS_LOG_ERROR			0x01
+#define IBIS_LOG_INFO			   0x02
+#define IBIS_LOG_VERBOSE			0x04
+#define IBIS_LOG_DEBUG			0x08
+#define IBIS_LOG_FUNCS			0x10
+#define IBIS_LOG_FRAMES			0x20
+
+%section "IBIS Execution Flags",before,pre
+/* These flags are updated by IBIS at run time to reflect internal state: */
+
+%readonly
+
+%readwrite
+
+%section "IBIS Functions",pre
+/* IBIS UI functions */
+%text %{
+This section provide the details about the functions IBIS exposes.
+They all return 0 on succes.
+%}
+
+int ibis_puts( uint8_t verbosity, char *msg);
+/* Append a message to the OpenSM log */
+
+/* prevent any exceptions on the following */
+%except(tcl8);
+
+typedef struct _ibis_opt {
+/* IBIS Options:
+   The IBIS options are available through the predefined object: ibis_opts.
+   It can be manipulated using the standard Tcl methods: cget and configure.
+   Examples: ibis_opts cget -force_log_flush
+             ibis_opts configure -force_log_flush TRUE */
+  // uint32_t transaction_timeout;
+  // /* The maximal time for a GetResp to be waited on before retry (100ms). */
+  boolean_t single_thread;
+  /* run single threaded */
+  boolean_t force_log_flush;
+  /* If TRUE - forces flash after each log message (TRUE). */
+  uint8_t log_flags;
+  /* The log levels to be used */
+  char log_file[1024];
+  /* The name of the log file used (read only) */
+  uint64_t sm_key;
+  /* The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs */
+  uint64_t m_key;
+  /* The M_Key to be used when sending SubnetMgt */
+  uint64_t v_key;
+  /* The Vendor Key to be used when sending Vendor Specific MADs. */
+} ibis_opt_t;
+
+%name(ibis_init) int ibis_ui_init();
+/* Initialize ibis object */
+int ibis_set_verbosity(int level);
+/* Change the log verbosity */
+int ibis_set_port(uint64_t guid);
+/* Set the port IBIS is attached to and initialize all sub packages */
+new_uint64_t ibis_get_port();
+/* Provide the GUID of the port IBIS is attached to */
+int ibis_set_transaction_timeout(uint32_t timeout_ms);
+/* Set the transaction time out in [msec] */
+%name(ibis_exit) int ibis_ui_destroy();
+/* Exit IBIS. */
+
+%text %{
+ibis_get_local_ports_info
+   [return list]
+   Return the list of available IB ports with GUID, LID and State.
+%}
+
+extern char * ibisSourceVersion;
+
+//
+// INIT CODE
+//
+%init %{
+
+  /* Make sure that the osmv, complib and ibisp use
+     same modes (debug/free) */
+  if ( osm_is_debug() != cl_is_debug()    ||
+       osm_is_debug() != ibisp_is_debug() ||
+       ibisp_is_debug() != cl_is_debug() )
+  {
+    fprintf(stderr, "-E- OSMV, Complib and Ibis were compiled using different modes\n");
+    fprintf(stderr, "-E- OSMV debug:%d Complib debug:%d IBIS debug:%d \n",
+            osm_is_debug(), cl_is_debug(), ibisp_is_debug() );
+    exit(1);
+  }
+
+  /* sub block required for declarations .... */
+  {
+    static int notFirstTime = 0;
+
+    /* we initialize the structs etc only once. */
+    if (0 == notFirstTime++) {
+      Tcl_StaticPackage(interp, "ibis", Ibis_Init, NULL);
+      Tcl_PkgProvide(interp, "ibis", IBIS_VERSION);
+      /* Default Options  */
+      memset(&IbisOpts, 0,sizeof(ibis_opt_t));
+      IbisOpts.transaction_timeout = 4*OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC;
+      IbisOpts.single_thread = TRUE;
+      IbisOpts.force_log_flush = TRUE;
+      IbisOpts.sm_key = 0;
+      IbisOpts.m_key = 0;
+      IbisOpts.v_key = 0;
+      IbisOpts.log_flags = OSM_LOG_ERROR;
+      strcpy(IbisOpts.log_file,"/tmp/ibis.log");
+
+
+      /* we want all exists to cleanup */
+      Tcl_CreateExitHandler(ibis_exit, NULL);
+
+      /* ------------------ IBCR ---------------------- */
+      p_ibcr_global = ibcr_construct();
+
+      if (p_ibcr_global == NULL) {
+        printf("-E- Error from ibcr_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBPM ---------------------- */
+      p_ibpm_global = ibpm_construct();
+
+      if (p_ibpm_global == NULL) {
+        printf("-E- Error from ibpm_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBVS ---------------------- */
+		p_ibvs_global = ibvs_construct();
+
+  		if (p_ibvs_global == NULL) {
+			printf("-E- Error from ibvs_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBBBM ---------------------- */
+		p_ibbbm_global = ibbbm_construct();
+
+  		if (p_ibbbm_global == NULL) {
+			printf("-E- Error from ibbbm_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBSM ---------------------- */
+		gp_ibsm = ibsm_construct();
+
+  		if (gp_ibsm == NULL) {
+			printf("-E- Error from ibsm_construct.\n");
+         exit(1);
+  		}
+
+      /* Initialize global records */
+      memset(&ibsm_node_info_obj, 0, sizeof(ib_node_info_t));
+      memset(&ibsm_port_info_obj, 0, sizeof(ib_port_info_t));
+      memset(&ibsm_switch_info_obj, 0, sizeof(ib_switch_info_t));
+      memset(&ibsm_lft_block_obj, 0, sizeof(ibsm_lft_block_t));
+      memset(&ibsm_mft_block_obj, 0, sizeof(ibsm_mft_block_t));
+      memset(&ibsm_guid_info_obj, 0, sizeof(ib_guid_info_t));
+      memset(&ibsm_pkey_table_obj, 0, sizeof(ib_pkey_table_t));
+      memset(&ibsm_sm_info_obj, 0, sizeof(ib_sm_info_t));
+
+      /* ------------------ IBCC ---------------------- */
+
+      gp_ibcc = ibcc_construct();
+
+      if (gp_ibcc == NULL) {
+          printf("-E- Error from ibcc_construct.\n");
+          exit(1);
+      }
+
+      /* Initialize global records */
+      memset(&ibcc_class_port_info_obj, 0, sizeof(ib_class_port_info_t));
+      memset(&ibcc_notice_obj, 0, sizeof(ibcc_notice_attr_t));
+      memset(&ibcc_cong_info_obj, 0, sizeof(ib_cong_info_t));
+      memset(&ibcc_cong_key_info_obj, 0, sizeof(ib_cong_key_info_t));
+      memset(&ibcc_ca_cong_log_obj, 0, sizeof(ibcc_ca_cong_log_t));
+      memset(&ibcc_sw_cong_log_obj, 0, sizeof(ibcc_sw_cong_log_t));
+      memset(&ibcc_sw_cong_setting_obj, 0, sizeof(ib_sw_cong_setting_t));
+      memset(&ibcc_sw_port_cong_setting_obj, 0, sizeof(ib_sw_port_cong_setting_t));
+      memset(&ibcc_ca_cong_setting_obj, 0, sizeof(ib_ca_cong_setting_t));
+      memset(&ibcc_table_obj, 0, sizeof(ib_cc_tbl_t));
+      memset(&ibcc_time_stamp_obj, 0, sizeof(ib_time_stamp_t));
+
+      /* ------------------ IBSAC ---------------------- */
+
+      /* Initialize global records */
+      memset(&ibsac_node_rec, 0,sizeof(ibsac_node_rec));
+      memset(&ibsac_portinfo_rec, 0,sizeof(ibsac_portinfo_rec));
+      memset(&ibsac_sminfo_rec, 0, sizeof(ib_sminfo_record_t));
+      memset(&ibsac_swinfo_rec, 0, sizeof(ib_switch_info_record_t));
+      memset(&ibsac_link_rec, 0, sizeof(ib_link_record_t));
+      memset(&ibsac_path_rec, 0, sizeof(ib_path_rec_t));
+      memset(&ibsac_lft_rec, 0, sizeof(ib_lft_record_t));
+      memset(&ibsac_mcm_rec, 0, sizeof(ib_member_rec_t));
+
+      /*
+       * A1 Supported features:
+       *
+       * Query:                Rec/Info Types    Done
+       *
+       * NodeRecord            (nr, ni)           Y
+       * PortInfoRecord        (pir, pi)          Y
+       * SwitchInfoRecord      (swir, swi)        Y
+       * SMInfoRecord          (smir, smi)        Y
+       * PathRecord            (path)             Y
+       * LinkRecord            (link)             Y
+       * LinFwdTblRecord       (lft)              Y
+       * MulticastFwdTblRecord (mftr, mft)        N - Not supported by OSM
+       *
+       * B Supported features:
+       * MCMemberRecord        (mcm)              Y
+       * ClassPortInfo         (cpi)              Y
+       * InformInfo            (info)             Y
+       * ServiceRecord         (svc)              Y
+       * SL2VLTableRecord      (slvr, slvt)       Y
+       * VLArbTableRecord      (vlarb)            Y
+       * PKeyTableRecord       (pkr, pkt)         Y
+       */
+
+      /* We use alternate SWIG Objects mangling */
+      SWIG_AltMnglInit();
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeInfo_p", "ni");
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeRec_p", "nr");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortInfo_p", "pi");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortRec_p", "pir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmInfo_p", "smi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmRec_p", "smir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwInfo_p", "swi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwRec_p", "swir");
+      SWIG_AltMnglRegTypeToPrefix("_sacLinkRec_p", "link");
+      SWIG_AltMnglRegTypeToPrefix("_sacPathRec_p", "path");
+      SWIG_AltMnglRegTypeToPrefix("_sacLFTRec_p", "lft");
+      SWIG_AltMnglRegTypeToPrefix("_sacMCMRec_p", "mcm");
+      SWIG_AltMnglRegTypeToPrefix("_sacClassPortInfo_p", "cpi");
+      SWIG_AltMnglRegTypeToPrefix("_sacInformInfo_p", "info");
+      SWIG_AltMnglRegTypeToPrefix("_sacServiceRec_p", "svc");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlTbl_p", "slvt");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlRec_p", "slvr");
+      SWIG_AltMnglRegTypeToPrefix("_sacVlArbRec_p", "vlarb");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyTbl_p", "pkt");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyRec_p", "pkr");
+
+      // register the pre-allocated objects
+      SWIG_AltMnglRegObj("ni",&(ibsac_node_rec.node_info));
+      SWIG_AltMnglRegObj("nr",&(ibsac_node_rec));
+
+      SWIG_AltMnglRegObj("pi", &(ibsac_portinfo_rec.port_info));
+      SWIG_AltMnglRegObj("pir",&(ibsac_portinfo_rec));
+
+      SWIG_AltMnglRegObj("smi", &(ibsac_sminfo_rec.sm_info));
+      SWIG_AltMnglRegObj("smir",&(ibsac_sminfo_rec));
+
+      SWIG_AltMnglRegObj("swi", &(ibsac_swinfo_rec.switch_info));
+      SWIG_AltMnglRegObj("swir",&(ibsac_swinfo_rec));
+
+      SWIG_AltMnglRegObj("path",&(ibsac_path_rec));
+
+      SWIG_AltMnglRegObj("link",&(ibsac_link_rec));
+
+      SWIG_AltMnglRegObj("lft",&(ibsac_lft_rec));
+
+      SWIG_AltMnglRegObj("mcm",&(ibsac_mcm_rec));
+
+      SWIG_AltMnglRegObj("cpi",&(ibsac_class_port_info));
+      SWIG_AltMnglRegObj("info",&(ibsac_inform_info));
+      SWIG_AltMnglRegObj("svc",&(ibsac_svc_rec));
+
+      SWIG_AltMnglRegObj("slvt", &(ibsac_slvl_rec.slvl_tbl));
+      SWIG_AltMnglRegObj("slvr", &(ibsac_slvl_rec));
+
+      SWIG_AltMnglRegObj("vlarb", &(ibsac_vlarb_rec));
+
+      SWIG_AltMnglRegObj("pkt", &(ibsac_pkey_rec.pkey_tbl));
+      SWIG_AltMnglRegObj("pkr", &(ibsac_pkey_rec));
+
+      usleep(1000);
+    }
+
+    /* we defined this as a native command so declare it in here */
+    Tcl_CreateObjCommand(interp, "ibis_get_local_ports_info",
+                         ibis_get_local_ports_info, NULL, NULL);
+
+	 /* this will declare an object osm_opts */
+	 ibis_opt_p = &IbisOpts;
+	 Tcl_CreateObjCommand(interp,"ibis_opts", Tclibis_opt_tMethodCmd,
+									 (ClientData)ibis_opt_p, 0);
+
+    /* add commands for accessing the global query records */
+
+    /* ------------------ IBSM ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"smNodeInfoMad",
+                         TclsmNodeInfoMethodCmd,
+                         (ClientData)&ibsm_node_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPortInfoMad",
+                         TclsmPortInfoMethodCmd,
+                         (ClientData)&ibsm_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSwitchInfoMad",
+                         TclsmSwInfoMethodCmd,
+                         (ClientData)&ibsm_switch_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smLftBlockMad",
+                         TclsmLftBlockMethodCmd,
+                         (ClientData)&ibsm_lft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smMftBlockMad",
+                         TclsmMftBlockMethodCmd,
+                         (ClientData)&ibsm_mft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smGuidInfoMad",
+                         TclsmGuidInfoMethodCmd,
+                         (ClientData)&ibsm_guid_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPkeyTableMad",
+                         TclsmPkeyTableMethodCmd,
+                         (ClientData)&ibsm_pkey_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSlVlTableMad",
+                         TclsmSlVlTableMethodCmd,
+                         (ClientData)&ibsm_slvl_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smVlArbTableMad",
+                         TclsmVlArbTableMethodCmd,
+                         (ClientData)&ibsm_vl_arb_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSMInfoMad",
+                         TclsmSMInfoMethodCmd,
+                         (ClientData)&ibsm_sm_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNodeDescMad",
+                         TclsmNodeDescMethodCmd,
+                         (ClientData)&ibsm_node_desc_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNoticeMad",
+                         TclsmNoticeMethodCmd,
+                         (ClientData)&ibsm_notice_obj, 0);
+
+    /* ------------------ IBCC ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"ccClassPortInfoMad",
+                         TclccClassPortInfoMethodCmd,
+                         (ClientData)&ibcc_class_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccNoticeMad",
+                         TclccNoticeMethodCmd,
+                         (ClientData)&ibcc_notice_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionInfoMad",
+                         TclccCongestionInfoMethodCmd,
+                         (ClientData)&ibcc_cong_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionKeyInfoMad",
+                         TclccCongestionKeyInfoMethodCmd,
+                         (ClientData)&ibcc_cong_key_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionLogMad",
+                         TclccCACongestionLogMethodCmd,
+                         (ClientData)&ibcc_ca_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionLogMad",
+                         TclccSWCongestionLogMethodCmd,
+                         (ClientData)&ibcc_sw_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionSettingMad",
+                         TclccSWCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWPortCongestionSettingMad",
+                         TclccSWPortCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_port_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionSettingMad",
+                         TclccCACongestionSettingMethodCmd,
+                         (ClientData)&ibcc_ca_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTableMad",
+                         TclccTableMethodCmd,
+                         (ClientData)&ibcc_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTimeStampMad",
+                         TclccTimeStampMethodCmd,
+                         (ClientData)&ibcc_time_stamp_obj, 0);
+
+    /* ------------------ IBSAC --------------------- */
+
+	 Tcl_CreateObjCommand(interp,"sacNodeQuery",
+								 TclsacNodeRecMethodCmd,
+								 (ClientData)&ibsac_node_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPortQuery",
+								 TclsacPortRecMethodCmd,
+								 (ClientData)&ibsac_portinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSmQuery",
+								 TclsacSmRecMethodCmd,
+								 (ClientData)&ibsac_sminfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSwQuery",
+								 TclsacSwRecMethodCmd,
+								 (ClientData)&ibsac_swinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLinkQuery",
+								 TclsacLinkRecMethodCmd,
+								 (ClientData)&ibsac_link_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPathQuery",
+								 TclsacPathRecMethodCmd,
+								 (ClientData)&ibsac_path_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLFTQuery",
+								 TclsacLFTRecMethodCmd,
+								 (ClientData)&ibsac_lft_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacMCMQuery",
+								 TclsacMCMRecMethodCmd,
+								 (ClientData)&ibsac_mcm_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacClassPortInfoQuery",
+								 TclsacClassPortInfoMethodCmd,
+								 (ClientData)&ibsac_class_port_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacInformInfoQuery",
+								 TclsacInformInfoMethodCmd,
+								 (ClientData)&ibsac_inform_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacServiceQuery",
+								 TclsacServiceRecMethodCmd,
+								 (ClientData)&ibsac_svc_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSLVlQuery",
+								 TclsacSlVlRecMethodCmd,
+								 (ClientData)&ibsac_slvl_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacVlArbQuery",
+								 TclsacVlArbRecMethodCmd,
+								 (ClientData)&ibsac_vlarb_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPKeyQuery",
+								 TclsacPKeyRecMethodCmd,
+								 (ClientData)&ibsac_pkey_rec, 0);
+
+    /*
+      use an embedded Tcl code for doing init if given command line
+      parameters: -port_num <port num>
+    */
+    Tcl_GlobalEval(
+      interp,
+      "if {[file tail $argv0] == \"ibis\"} {\n"
+      " set _ibis_port_num_arg_idx [lsearch $argv -port_num]\n"
+      " if {$_ibis_port_num_arg_idx >= 0} {\n"
+      "  if {[llength $argv] < $_ibis_port_num_arg_idx + 2} {\n"
+      "    puts {ibis given -port_num with no actual port number argument}\n"
+      "  } else { \n"
+      "    set _ibis_port_num [lindex $argv [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    set argv [lreplace $argv $_ibis_port_num_arg_idx [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    ibis_init\n"
+      "    set _ibis_all_ports [ibis_get_local_ports_info]\n"
+      "    set first_port_idx [lsearch -all $_ibis_all_ports [lindex $_ibis_all_ports 0]]\n"
+      "    if {[llength $first_port_idx] > 1} {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports $_ibis_port_num]\n"
+      "    } else {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports [expr $_ibis_port_num - 1]]\n"
+      "    }\n"
+      "    if {[lindex $_ibis_port_info 2] != \"ACTIVE\"} {\n"
+      "       puts \"Port $_ibis_port_num is not ACTIVE: $_ibis_port_info\"\n"
+      "       exit 1\n"
+      "    } else { \n"
+      "       ibis_set_port [lindex $_ibis_port_info 0]\n"
+      "       puts \"Port set to:[lindex $_ibis_port_info 0]\"\n"
+      "    }\n"
+      "  }\n"
+      " }\n"
+      "}\n");
+  }
+%}
+
diff --git a/ibis/src/ibis_api.h b/ibis/src/ibis_api.h
new file mode 100644
index 0000000..cbf935c
--- /dev/null
+++ b/ibis/src/ibis_api.h
@@ -0,0 +1,604 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Declaration of IBIS interfaces
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.6 $
+ */
+
+#ifndef _IBIS_API_H_
+#define _IBIS_API_H_
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#include <iba/ib_types.h>
+#ifdef OSM_BUILD_OPENIB
+#include <complib/cl_dispatcher.h>
+//#include <vendor/osm_vendor_api.h>
+#else
+#include <opensm/cl_dispatcher.h>
+//#include <opensm/osm_vendor_api.h>
+#endif
+#include <complib/cl_vector.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+
+#include "ibis_base.h"
+
+/****h* IBIS: API/IBIS Interface
+* NAME
+*  IBIS Interface
+*
+* DESCRIPTION
+*  The file provides the IBIS interface definition.
+*
+* AUTHOR
+*  Eitan Zahavi, Mellanox
+*
+*********/
+
+/****f* IBIS: API/ibis_get_port
+* NAME
+*  ibis_get_port
+*
+* DESCRIPTION
+*  The ibis_bind function should be called to attach the
+*  IBIS to the given port guid.
+*
+* SYNOPSIS
+*/
+uint64_t
+ibis_get_port(void);
+/*
+* PARAMETERS
+*  NONE
+*
+* RETURN VALUE
+*  the guid of the port to attach ibis to.
+*
+* SEE ALSO
+*  IBIS object
+*********/
+
+/****f* IBIS: API/ibis_get_port
+* NAME
+*  ibis_get_port
+*
+* DESCRIPTION
+*  The ibis_bind function should be called to attach the
+*  IBIS to the given port guid.
+*
+* SYNOPSIS
+*/
+int
+ibis_set_port(uint64_t guid);
+/*
+* PARAMETERS
+*  NONE
+*
+* RETURN VALUE
+*  the guid of the port to attach ibit to.
+*
+* SEE ALSO
+*  IBIS object
+*********/
+
+
+/****f* IBIS: API/ibis_get_log
+* NAME
+*   ibis_get_log
+*
+* DESCRIPTION
+*   Return the pointer to the ibis log
+*
+* SYNOPSIS
+*/
+const osm_log_t*
+ibis_get_log(void);
+/*
+* PARAMETERS
+*
+* RETURN VALUE
+*   The IBIS log
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****s* IBIS: GSI MAD Controller/ibis_gsi_mad_ctrl_t
+* NAME
+*  ibis_gsi_mad_ctrl_t
+*
+* DESCRIPTION
+*  GSI MAD Controller structure.
+*
+*  This object should be treated as opaque and should
+*  be manipulated only through the provided functions.
+*
+* SYNOPSIS
+*/
+typedef struct _ibis_gsi_mad_ctrl
+{
+  osm_log_t             *p_log;
+  osm_mad_pool_t        *p_mad_pool;
+  struct _osm_vendor    *p_vendor;
+  cl_dispatcher_t       *p_disp;
+  struct _ibis          *p_ibis;
+  cl_vector_t            class_vector;
+  atomic32_t             msg_id;
+} ibis_gsi_mad_ctrl_t;
+/*
+* FIELDS
+*  p_log
+*     Pointer to the log object.
+*
+*  p_mad_pool
+*     Pointer to the MAD pool.
+*
+*  p_vendor
+*     Pointer to the vendor specific interfaces object.
+*
+*  h_bind
+*     Bind handle returned by the transport layer.
+*
+*  p_disp
+*     Pointer to the Dispatcher.
+*
+*  class_vector
+*     A vector holding vector of attribute fpn callbacks.
+*
+*  p_msg_id
+*     A pointer to the msg id (semaphore) dynamic counter.
+*
+* SEE ALSO
+*  GSI MAD Controller object
+*  GSI MAD object
+*********/
+
+/****f* IBIS: API/ibis_get_mad_status
+* NAME
+*   ibis_get_mad_status
+*
+* DESCRIPTION
+*   Get the status field of a mad
+*
+* SYNOPSIS
+*/
+static inline uint16_t
+ibis_get_mad_status(
+  IN ib_mad_t const *p_mad)
+{
+  return cl_ntoh16( (ib_net16_t)(p_mad->status & IB_SMP_STATUS_MASK) );
+}
+/*
+* PARAMETERS
+*   p_mad
+*   [in] The mad to look for status into.
+*
+* RETURN VALUE
+*   The status value in host order
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: API/ibis_get_gsi_mad_ctrl
+* NAME
+*   ibis_get_gsi_mad_ctrl
+*
+* DESCRIPTION
+*   Return the pointer to the ibis gsi_mad_ctrl
+*
+* SYNOPSIS
+*/
+const ibis_gsi_mad_ctrl_t*
+ibis_get_gsi_mad_ctrl(void);
+/*
+* PARAMETERS
+*
+* RETURN VALUE
+*   The IBIS gsi_mad_ctrl
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****s* IBIS: API/ibis_port_info_t
+* NAME
+*  ibis_port_info_t
+*
+* DESCRIPTION
+*  Available HCA ports info.
+*
+* SYNOPSIS
+*/
+typedef struct _ibis_port_info
+{
+  uint64_t   port_guid;
+  uint16_t   lid;
+  uint8_t    port_num;
+  uint8_t    link_state;
+} ibis_port_info_t;
+/*
+* FIELDS
+*
+* hca_guid
+*   The CA Guid of this port
+*
+* port_guid
+*   The port GUID
+*
+* port_num
+*   The index in the CA ports.
+*
+* link_state
+*    Actual link state.
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: API/ibis_get_ports_status
+* NAME
+*   ibis_get_ports_status
+*
+* DESCRIPTION
+*   Return the list of available CA ports and their status.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_get_ports_status(
+    IN OUT uint32_t *num_ports,
+    IN OUT ibis_port_info_t ports_array[] );
+/*
+* PARAMETERS
+*   num_ports
+*   [in out] as input number of ports provided, updated by the code
+*            to reflect the number of available ports
+*
+*   ports_array
+*   [in out] to be filled by the routine if not null
+*
+* RETURN VALUE
+*   IB_SUCCESS if all fine
+*   IB_ERROR otherwise.
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+
+
+
+/****f* IBIS: GSI/ibis_gsi_mad_ctrl_bind
+* NAME
+*  ibis_gsi_mad_ctrl_bind
+*
+* DESCRIPTION
+*  Binds the GSI MAD Controller object to a class
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_gsi_mad_ctrl_bind(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN const uint8_t mad_class,
+  IN const uint8_t class_version,
+  IN osm_bind_handle_t *p_h_bind);
+/*
+* PARAMETERS
+*  p_ctrl
+*     [in] Pointer to an ibis_gsi_mad_ctrl_t object to initialize.
+*
+*  mad_class
+*     [in] The specific mad class we register for.
+*
+*  class_version
+*     [in] The specific class version we register for.
+*
+*
+* RETURN VALUES
+*  None
+*
+* NOTES
+*  A given GSI MAD Controller object can only be bound to one
+*  port at a time.
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: GSI/ibis_gsi_mad_ctrl_set_class_attr_cb
+* NAME
+*  ibis_gsi_mad_ctrl_set_class_attr_cb
+*
+* DESCRIPTION
+*  Register the given callback function as the handler for
+*  the given Class,Attr pair..
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_gsi_mad_ctrl_set_class_attr_cb(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN const uint8_t mad_class,
+  IN const uint16_t attr,
+  IN cl_pfn_msgrcv_cb_t class_attr_cb,
+  IN void *context);
+/*
+* PARAMETERS
+*  p_ctrl
+*     [in] Pointer to an ibis_gsi_mad_ctrl_t object.
+*
+*  mad_class
+*     [in] The mad class involved.
+*
+*  attr
+*     [in] The attribute
+*
+*  class_attr_cb
+*     [in] The call back function the dispatcher should call.
+*
+*  context
+*     [in] The context to be provided to the class_attr_cb
+*
+* RETURN VALUES
+*  IB_SUCCESS if OK
+*  IB_ERROR otherwise.
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: GSI/ibis_gsi_sync_mad_batch_callback
+* NAME
+*  ibis_gsi_sync_mad_batch_callback
+*
+* DESCRIPTION
+*  The callback function to be used during bind if batch mad sends
+*  are to be used for the class and attr.
+*
+* SYNOPSIS
+*/
+void
+ibis_gsi_sync_mad_batch_callback(
+  IN void* context,
+  IN void* p_data);
+/*
+* PARAMETERS
+*  context
+*     [in] The context provided during the bind.
+*
+*  p_data
+*     [in] The madw of the incoming mad
+*
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: GSI/ibis_gsi_send_sync_mad_batch
+* NAME
+*  ibis_gsi_send_sync_mad_batch
+*
+* DESCRIPTION
+*  Send the given set of mads wrappers and wait for their
+*  completion, using the given timeout. The result MADs will be copied
+*  into the given pre-allocated array of buffers with the given size.
+*
+* SIDE EFFECTS
+*  The context of the pre-allocated mad wrappers is over written
+*  by the local context.
+*
+* RETURN
+*  IB_SUCCESS if OK IB_TIMEOUT if ALL mads has timeout.
+*  The resulting array will be cleaned up so you can count on TID and
+*  method to know if the result was obtained.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_gsi_send_sync_mad_batch(
+  IN ibis_gsi_mad_ctrl_t       *p_ctrl,
+  IN osm_bind_handle_t          h_bind,
+  IN uint16_t                   num,
+  IN osm_madw_t                *p_madw_arr[],
+  IN size_t                     res_size,
+  OUT uint8_t                   res_arr[]);
+/*
+* PARAMETERS
+*  p_ctrl
+*     [in] Pointer to an ibis_gsi_mad_ctrl_t object
+*
+*  h_bind
+*     [in] A binding handle obtained from calling the ibis_gsi_mad_ctrl_bind
+*
+*  num
+*     [in] The number of MADs to be sent
+*
+*  p_madw_arr
+*     [in] array of mad wrapper pointers
+*
+*  res_size
+*     [in] The size of each entry in the the results array
+*
+*  res_arr
+*     [out] The array of results - should be pre-allocated.
+*
+* RETURN VALUES
+*  IB_SUCCESS if OK (any MAD was returned - not ALL).
+*  IB_ERROR otherwise.
+*
+* SEE ALSO
+*********/
+
+/****s* IBIS: API/ibis_opt_t
+* NAME
+*  ibis_opt_t
+*
+* DESCRIPTION
+*  IBIS options structure. This structure contains the various
+*  specific configuration parameters for ibis.
+*
+* SYNOPSIS
+*/
+typedef struct _ibis_opt
+{
+  uint32_t          transaction_timeout;
+  boolean_t         single_thread;
+  boolean_t         force_log_flush;
+  osm_log_level_t   log_flags;
+  char              log_file[1024];
+  uint64_t          sm_key;
+  uint64_t          m_key;
+  uint64_t          v_key;
+} ibis_opt_t;
+/*
+ * FIELDS
+ *
+ * transaction_timeout
+ *   Transaction timeout before retry in msec
+ *
+ * single_thread
+ *   Control the number of dispatcher threads to be created. If set to TRUE only
+ *   one thread will be used. The dispatcher threads pull MADs from the incomming
+ *   MADs FIFO and invoke the appropriate callback for handling the MAD.
+ *
+ * force_log_flush
+ *   Forces log file flush every logged event.
+ *
+ * log_flags
+ *    The log levels to be used
+ *
+ * log_file
+ *   The name of the log file to be used.
+ *
+ * sm_key
+ *   The SM_Key to be used when sending SubnetMgt and SubnetAdmin MADs
+ *
+ * m_key
+ *   The M_Key to be used when sending SubnetMgt
+ *
+ * v_key
+ *   The Vendor Key to be used when sending Vendor Specific MADs.
+ *
+ * SEE ALSO
+ *********/
+
+/****s* IBIS/ibis_t
+ * NAME
+ * ibis_t
+ *
+ * DESCRIPTION
+ * IBIS main structure.
+ *
+ * This object should be treated as opaque and should
+ * be manipulated only through the provided functions.
+ *
+ * SYNOPSIS
+ */
+typedef struct _ibis
+{
+  boolean_t             initialized;
+  ibis_opt_t            *p_opt;
+  osm_log_t             log;
+  osm_mad_pool_t        mad_pool;
+  ibis_gsi_mad_ctrl_t   mad_ctrl;
+  cl_dispatcher_t       disp;
+  struct _osm_vendor   *p_vendor;
+  uint64_t              port_guid;
+  atomic32_t            trans_id;
+} ibis_t;
+/*
+* FIELDS
+*  p_opt
+*     ibis options structure
+*
+*  log
+*     Log facility used by all IBIS components.
+*
+*  mad_pool
+*     The layer mad pool instance.
+*
+*  mad_ctrl
+*     The layer mad control instance.
+*
+*  disp
+*     The layer dispatcher instance.
+*
+*  p_vendor
+*     Pointer to the vendor transport layer.
+*
+*  port_guid
+*     The port GUID ibis is attached to.
+*
+*  trans_id
+*     Transaction ID
+*
+* SEE ALSO
+*********/
+
+
+/****g* IBIS/IbisObj
+* NAME
+*  IbisObj
+*
+* DESCRIPTION
+*  global IBIS Object
+*
+* SYNOPSIS
+*/
+extern ibis_t IbisObj;
+/*
+* SEE ALSO
+*  IBIS object, ibis_construct, ibis_destroy
+*********/
+
+END_C_DECLS
+
+#endif /* _IBIS_API_H_ */
diff --git a/ibis/src/ibis_base.h b/ibis/src/ibis_base.h
new file mode 100644
index 0000000..654ed17
--- /dev/null
+++ b/ibis/src/ibis_base.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Base constants definition for IBIS
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.1.1.1 $
+ */
+#ifndef _IBIS_BASE_H_
+#define _IBIS_BASE_H_
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#ifndef WIN32
+#include <limits.h>
+#endif
+
+#define IBIS_MAX_LINE_LEN	120
+#ifdef WIN32
+#define IBIS_FILE_PATH_MAX	4096
+#else
+#define IBIS_FILE_PATH_MAX	PATH_MAX
+#endif
+
+#define GUID_ARRAY_SIZE 32
+#define DISP_HANDLE_MAX 32
+
+END_C_DECLS
+
+#endif /* _IBIS_BASE_H_ */
diff --git a/ibis/src/ibis_gsi_mad_ctrl.c b/ibis/src/ibis_gsi_mad_ctrl.c
new file mode 100644
index 0000000..4aab145
--- /dev/null
+++ b/ibis/src/ibis_gsi_mad_ctrl.c
@@ -0,0 +1,1020 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibis_gsi_mad_ctrl_t.
+ * This object is part of the GSI object.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.15 $
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <complib/cl_map.h>
+#include <iba/ib_types.h>
+#include "ibis_gsi_mad_ctrl.h"
+#include "ibis.h"
+#include <stdio.h>
+
+/**********************************************************************
+  FUNCTIONS HANDLING OF CLASS VECTOR AND ATTRIBUTE VECTOR
+**********************************************************************/
+
+static void
+__destroy_attr_entry(
+  IN           void* const             p_element,
+  IN           void*                context )
+{
+  ibis_gsi_cb_msg_pair_t  *p_cb_msg_pair;
+
+  p_cb_msg_pair = (ibis_gsi_cb_msg_pair_t  *)p_element;
+  cl_disp_unregister( p_cb_msg_pair->h_disp);
+
+}
+
+/*
+ * Initialize an entry in the attribute vector.
+ */
+static cl_status_t
+__init_attr_entry(
+  IN           void* const p_element,
+  IN           void*       context )
+{
+  ibis_gsi_cb_msg_pair_t  *p_cb_msg_pair;
+
+  p_cb_msg_pair = (ibis_gsi_cb_msg_pair_t *) p_element;
+  p_cb_msg_pair->mgt_class = 0;
+  p_cb_msg_pair->msg_id = CL_DISP_MSGID_NONE;
+  p_cb_msg_pair->pfn_callback = NULL;
+  p_cb_msg_pair->attr = 0;
+
+  return( CL_SUCCESS );
+}
+
+/*
+ * destroy an entry in the class vector.
+ */
+static void
+__destroy_class_entry(
+  IN           void* const             p_element,
+  IN           void*                context )
+{
+  cl_vector_t  *p_attr_vector;
+
+  p_attr_vector = (cl_vector_t *)p_element;
+
+  cl_vector_destroy(p_attr_vector);
+}
+
+/*
+ * Initialize an entry in the class vector.
+ */
+static cl_status_t
+__init_class_entry(
+  IN           void* const p_element,
+  IN           void*       context )
+{
+  cl_vector_t  *p_attr_vector;
+  cl_status_t  status;
+
+  p_attr_vector = (cl_vector_t *)p_element;
+
+  /* Initialize the attribute vector. */
+  status = cl_vector_init(
+    p_attr_vector,
+    32, // start size
+    1,  // grow size
+    sizeof(ibis_gsi_cb_msg_pair_t), // element size (each one is a attr_vector)
+    __init_attr_entry,    // element constructor
+    __destroy_attr_entry, // element destructor
+    NULL
+    );
+
+  return( CL_SUCCESS );
+}
+
+/****f* IBIS : GSI MAD /__ibis_gsi_mad_ctrl_disp_done_callback
+ * NAME
+ * __ibis_gsi_mad_ctrl_disp_done_callback
+ *
+ * DESCRIPTION
+ * This function is the Dispatcher callback that indicates
+ * a received MAD has been processed by the recipient.
+ *
+ * SYNOPSIS
+ */
+static void
+__ibis_gsi_mad_ctrl_disp_done_callback(
+  IN void* context,
+  IN void* p_data )
+{
+  osm_madw_t* const p_madw = (osm_madw_t*)p_data;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  CL_ASSERT( p_madw );
+  /*
+    Return the MAD & wrapper to the pool.
+  */
+  osm_mad_pool_put( &(IbisObj.mad_pool), p_madw );
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+/************/
+
+/****f* IBIS: GSI MAD /__ibis_gsi_mad_ctrl_process
+ * NAME
+ * __ibis_gsi_mad_ctrl_process
+ *
+ * DESCRIPTION
+ * This function handles known methods for received MADs.
+ *
+ * SYNOPSIS
+ */
+static void
+__ibis_gsi_mad_ctrl_process(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN osm_madw_t *p_madw )
+{
+  ib_mad_t*                 p_mad;
+  ibis_gsi_cb_msg_pair_t*   p_cb_msg_pair;
+  cl_vector_t*              p_attr_vector;
+  cl_status_t               status;
+  cl_disp_msgid_t           msg_id = CL_DISP_MSGID_NONE;
+  cl_disp_reg_handle_t      h_disp = CL_DISP_INVALID_HANDLE;
+  uint8_t                   mgmt_class;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_mad = osm_madw_get_mad_ptr( p_madw );
+
+  /*
+    TODO: We need to have a dynamic and not a static
+    mechanism for all GSM to register their MSG IDs in here.
+  */
+
+  osm_log( p_ctrl->p_log, OSM_LOG_DEBUG,
+           "__ibis_gsi_mad_ctrl_process: "
+           "Class-%x Attr-%x Status-%04x.\n",
+           p_mad->mgmt_class,cl_ntoh16(p_mad->attr_id),cl_ntoh16(p_mad->status));
+
+  /* we alias SUBN_DR to SUBN_LID callbacks */
+  mgmt_class = p_mad->mgmt_class;
+  if (mgmt_class == IB_MCLASS_SUBN_DIR) mgmt_class = IB_MCLASS_SUBN_LID;
+
+  if (mgmt_class < cl_vector_get_size(&p_ctrl->class_vector))
+    p_attr_vector = cl_vector_get_ptr(&p_ctrl->class_vector, mgmt_class);
+  else
+    p_attr_vector = NULL;
+
+  if( p_attr_vector == NULL )
+  {
+    osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+             "__ibis_gsi_mad_ctrl_process: ERR : "
+             "Failed to find matching class.\n");
+
+    osm_mad_pool_put( p_ctrl->p_mad_pool, p_madw );
+    goto Exit;
+  }
+
+  if (cl_ntoh16(p_mad->attr_id) < cl_vector_get_size(p_attr_vector))
+    p_cb_msg_pair = cl_vector_get_ptr(p_attr_vector,cl_ntoh16(p_mad->attr_id));
+  else
+    p_cb_msg_pair = NULL;
+
+  /* make sure we have a client ... */
+  if( (p_cb_msg_pair == NULL) ||
+      (p_cb_msg_pair->msg_id == CL_DISP_MSGID_NONE))
+  {
+    osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+             "__ibis_gsi_mad_ctrl_process: ERR : "
+             "Failed to find matching attribute:%x class:%x.\n",
+             cl_ntoh16(p_mad->attr_id),mgmt_class
+             );
+
+    osm_mad_pool_put( p_ctrl->p_mad_pool, p_madw );
+    goto Exit;
+  }
+
+
+  msg_id = p_cb_msg_pair->msg_id;
+  h_disp = p_cb_msg_pair->h_disp;
+
+
+  /*
+    Post this MAD to the dispatcher for asynchronous
+    processing by the appropriate controller.
+  */
+
+  osm_log( p_ctrl->p_log, OSM_LOG_DEBUG,
+           "__ibis_gsi_mad_ctrl_process: "
+           "Posting Dispatcher message %s.\n",
+           osm_get_disp_msg_str( msg_id ) );
+
+  status = cl_disp_post( h_disp,
+                         msg_id,
+                         p_madw,
+                         __ibis_gsi_mad_ctrl_disp_done_callback,
+                         p_ctrl );
+
+  if( status != CL_SUCCESS )
+  {
+    osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+             "__ibis_gsi_mad_ctrl_process: ERR : "
+             "Dispatcher post message failed (%s).\n",
+             CL_STATUS_MSG( status ) );
+
+    osm_mad_pool_put( p_ctrl->p_mad_pool, p_madw );
+    goto Exit;
+  }
+
+ Exit:
+  OSM_LOG_EXIT( p_ctrl->p_log );
+}
+
+/****f* IBIS: GSI MAD /__ibis_gsi_mad_ctrl_rcv_callback
+ * NAME
+ * __ibis_gsi_mad_ctrl_rcv_callback
+ *
+ * DESCRIPTION
+ * This is the callback from the transport layer for received MADs.
+ *
+ * SYNOPSIS
+ */
+static void
+__ibis_gsi_mad_ctrl_rcv_callback(
+  IN osm_madw_t *p_madw,
+  IN void *bind_context,
+  IN osm_madw_t *p_req_madw )
+{
+  ibis_gsi_mad_ctrl_t* p_ctrl = (ibis_gsi_mad_ctrl_t*)bind_context;
+  ib_mad_t* p_mad;
+
+  OSM_LOG_ENTER(p_ctrl->p_log);
+
+  CL_ASSERT( p_madw );
+
+  /*
+    A MAD was received from the wire, possibly in response to a request.
+  */
+
+  /* copy the request mad context if exists */
+  if (p_req_madw)
+  {
+    p_madw->context = p_req_madw->context;
+  }
+
+  p_mad = osm_madw_get_mad_ptr( p_madw );
+
+  __ibis_gsi_mad_ctrl_process( p_ctrl, p_madw );
+
+  if (p_req_madw)
+  {
+    osm_mad_pool_put( p_ctrl->p_mad_pool, p_req_madw );
+  }
+
+  OSM_LOG_EXIT( p_ctrl->p_log );
+}
+
+/****f* IBIS: GSI MAD /__ibis_gsi_mad_ctrl_send_err_callback
+ * NAME
+ * __ibis_gsi_mad_ctrl_send_err_callback
+ *
+ * DESCRIPTION
+ * This is the callback from the transport layer for send errors
+ * on MADs that were expecting a response.
+ *
+ * SYNOPSIS
+ */
+void
+__ibis_gsi_mad_ctrl_send_err_callback(
+  IN void *bind_context,
+  IN osm_madw_t *p_madw )
+{
+  ib_mad_t* p_mad;
+  ibis_gsi_mad_ctrl_t* p_ctrl = (ibis_gsi_mad_ctrl_t*)bind_context;
+
+  OSM_LOG_ENTER(p_ctrl->p_log);
+
+  // TODO . General call_back for errors.
+
+  CL_ASSERT( p_madw );
+
+  /*
+    An error occurred.  No response was received to a request MAD.
+    Retire the original request MAD.
+  */
+
+  p_mad = osm_madw_get_mad_ptr( p_madw );
+
+  osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+           "__ibis_gsi_mad_ctrl_send_err_callback: ERR 1A06: "
+           "MAD transaction completed in error.\n" );
+
+  __ibis_gsi_mad_ctrl_process( p_ctrl, p_madw );
+
+  /* osm_mad_pool_put( p_ctrl->p_mad_pool, p_madw ); */
+
+  OSM_LOG_EXIT( p_ctrl->p_log );
+}
+
+/****s* IBIS: GSI/ibis_gsi_mad_batch_context_t
+ * NAME
+ * ibis_gsi_mad_batch_context_t
+ *
+ * DESCRIPTION
+ * Context used for tracking of synchronous mad batches
+ *  we only have one such context for each batch.
+ *
+ * SYNOPSIS
+ */
+typedef struct _ibis_gsi_mad_batch_context
+{
+  ibis_gsi_mad_ctrl_t *p_ctrl;
+  uint64_t             id;
+  uint16_t             num_outstanding;
+  boolean_t            all_sent;
+  size_t               res_size;
+  uint8_t              *res_arr;
+  cl_event_t           wait_for_resp;
+  cl_spinlock_t        lock;
+} ibis_gsi_mad_batch_context_t;
+/*
+ * FIELDS
+ *
+ *  p_ctrl
+ *     The pointer to the manager so we can log etc.
+ *
+ *  id
+ *     A unique id used to track the context activity and
+ *     during mad receives.
+ *
+ *  num_outstanding
+ *     Number of mads still outstanding in this query.
+ *
+ *  all_sent
+ *     Flags that all the batch mads were sent - so if num_outstanding is 0
+ *     we can signal we are done.
+ *
+ *  res_size
+ *     The size of a single result. The num of bytes copied.
+ *
+ *  res_arr
+ *     Results array.
+ *
+ *  wait_for_resp
+ *     Event for signaling we got all responses
+ *
+ *  lock
+ *     A lock object for preventing collisions ?
+ *
+ * SEE ALSO
+ *     ibis_gsi_mad_batch_madw_context_t
+ *********/
+
+/****g* IBIS: GSI/g_ibis_active_batch_contexts_map
+ * NAME
+ * g_ibis_active_batch_contexts_qmap
+ *
+ * DESCRIPTION
+ * Global variable holding all active Batch Context IDs
+ *  used for tracking of synchronous mad batches.
+ *  We use this qmap under the global lock and make sure
+ *  to install new entries when batch context is created
+ *  and remove when it is destructed.
+ *
+ * SYNOPSIS
+ */
+static cl_map_t g_ibis_active_batch_contexts_map;
+/*
+*********/
+
+/****g* IBIS: GSI/g_ibis_next_batch_context_id
+ * NAME
+ * g_ibis_next_batch_context_id
+ *
+ * DESCRIPTION
+ * Global variable holding the id of the next batch context
+ *
+ * SYNOPSIS
+ */
+static uint64_t g_ibis_next_batch_context_id;
+/*
+*********/
+
+/****g* IBIS: GSI/g_ibis_batch_contexts_map_lock
+ * NAME
+ * g_ibis_batch_contexts_map_lock
+ *
+ * DESCRIPTION
+ * Global variable holding a lock object for handling the
+ *  Map of batch contexts.
+ *
+ * SYNOPSIS
+ */
+static cl_spinlock_t g_ibis_batch_contexts_map_lock;
+/*
+*********/
+
+/**********************************************************************
+ * allocate a new batch context and track it in the global map.
+ **********************************************************************/
+ibis_gsi_mad_batch_context_t *
+__gsi_new_mad_batch_context(void)
+{
+  ibis_gsi_mad_batch_context_t *p_batch_ctx;
+  ibis_gsi_mad_batch_context_t *insert_res;
+
+  /* allocate a new batch */
+  p_batch_ctx = (ibis_gsi_mad_batch_context_t *)
+    malloc(sizeof(ibis_gsi_mad_batch_context_t));
+
+  /* construct and initialize the spinlock and mutex on the batch */
+  cl_event_construct(&p_batch_ctx->wait_for_resp);
+  cl_spinlock_construct(&p_batch_ctx->lock);
+
+  cl_event_init(&p_batch_ctx->wait_for_resp, FALSE); // FALSE: auto reset
+  cl_spinlock_init(&p_batch_ctx->lock);
+
+  /* everything done in the active batches is under lock */
+  cl_spinlock_acquire(&g_ibis_batch_contexts_map_lock);
+
+  p_batch_ctx->id =
+    g_ibis_next_batch_context_id++;
+
+  /* insert into the map making sure no previous same pointer exists */
+  insert_res =
+    cl_map_insert( &g_ibis_active_batch_contexts_map,
+                   p_batch_ctx->id, p_batch_ctx);
+
+  cl_spinlock_release(&g_ibis_batch_contexts_map_lock);
+
+  /* if we did not get the pointer we have put in - there must have been
+     a previous entry by that key!!! */
+  CL_ASSERT(insert_res == p_batch_ctx);
+
+  return p_batch_ctx;
+}
+
+/**********************************************************************
+ * deallocate a batch context and remove it from the global map.
+ **********************************************************************/
+void
+__gsi_delete_mad_batch_context(
+  IN ibis_gsi_mad_batch_context_t *p_batch_ctx)
+{
+  ibis_gsi_mad_batch_context_t *p_rem_res;
+
+  /* find the context in the map or assert */
+  cl_spinlock_acquire( &g_ibis_batch_contexts_map_lock );
+  p_rem_res =
+    cl_map_remove( &g_ibis_active_batch_contexts_map, p_batch_ctx->id );
+  cl_spinlock_release( &g_ibis_batch_contexts_map_lock );
+
+  /* is it possible it was already deleted ??? */
+  if (p_rem_res != NULL)
+  {
+    /* need to cleanup the allocated event and lock */
+    cl_event_destroy(&p_batch_ctx->wait_for_resp);
+    cl_spinlock_destroy(&p_batch_ctx->lock);
+
+    memset(p_batch_ctx, 0, sizeof(ibis_gsi_mad_batch_context_t));
+
+    /* finally */
+    free(p_batch_ctx);
+  }
+}
+
+/**********************************************************************
+ * Return the batch context if is still valid.
+ * NOTE: the g_ibis_active_batch_contexts_map should be  locked.
+ **********************************************************************/
+ibis_gsi_mad_batch_context_t *
+__gsi_get_valid_mad_batch_context(
+  IN uint64_t id)
+{
+  void * res;
+  /* NOTE THE LOCK SHOULD BE PERFORMED DURING THE ENTIRE USAGE */
+  res = cl_map_get( &g_ibis_active_batch_contexts_map, id);
+  return res;
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibis_gsi_mad_ctrl_construct(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl )
+{
+  CL_ASSERT( p_ctrl );
+  memset( p_ctrl, 0, sizeof(*p_ctrl) );
+  cl_vector_construct( &p_ctrl->class_vector );
+  cl_map_construct( & g_ibis_active_batch_contexts_map );
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibis_gsi_mad_ctrl_destroy(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl )
+{
+
+  CL_ASSERT(p_ctrl );
+  /* do not deallocate to prevent case of rush in mad ... */
+  /* cl_vector_destroy( &p_ctrl->class_vector ); */
+  cl_map_destroy( & g_ibis_active_batch_contexts_map );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibis_gsi_mad_ctrl_init(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN osm_mad_pool_t* const p_mad_pool,
+  IN osm_vendor_t* const p_vendor,
+  IN osm_log_t* const p_log,
+  IN cl_dispatcher_t* const p_disp )
+{
+  ib_api_status_t status = IB_SUCCESS;
+  cl_status_t cl_status;
+  cl_disp_reg_handle_t      h_disp;
+
+  ibis_gsi_mad_ctrl_construct( p_ctrl);
+  p_ctrl->p_log = p_log;
+  p_ctrl->p_disp = p_disp;
+  p_ctrl->p_mad_pool = p_mad_pool;
+  p_ctrl->p_vendor = p_vendor;
+
+  h_disp = cl_disp_register(
+    p_ctrl->p_disp,
+    CL_DISP_MSGID_NONE,
+    NULL,
+    p_ctrl );
+
+  if( h_disp == CL_DISP_INVALID_HANDLE )
+  {
+    osm_log( p_log, OSM_LOG_ERROR,
+             "ibis_gsi_mad_ctrl_init: ERR 1A08: "
+             "Dispatcher registration failed.\n" );
+    status = IB_INSUFFICIENT_RESOURCES;
+    goto Exit;
+  }
+
+  cl_disp_unregister(h_disp);
+
+  p_ctrl->msg_id = (cl_disp_msgid_t ) 0;
+
+  /* Initialize the class vector. */
+  cl_status = cl_vector_init(
+    &p_ctrl->class_vector,
+    11, // start size
+    1,  // grow size
+    sizeof(cl_vector_t), // element size (each one is a attr_vector)
+    __init_class_entry,    // element constructor
+    __destroy_class_entry, // element destructor
+    NULL
+    );
+  if( cl_status != CL_SUCCESS )
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  /* initialize the map of all active batch sends contexts */
+  cl_map_init( & g_ibis_active_batch_contexts_map, 10 );
+
+  /* initialize the first batch id */
+  g_ibis_next_batch_context_id = 1;
+
+  /* initialize the lock object */
+  cl_spinlock_init(&g_ibis_batch_contexts_map_lock);
+
+ Exit:
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibis_gsi_mad_ctrl_bind(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN const uint8_t mad_class,
+  IN const uint8_t class_version,
+  IN osm_bind_handle_t *p_h_bind)
+{
+  osm_bind_info_t bind_info;
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(p_ctrl->p_log);
+
+  if( *p_h_bind != OSM_BIND_INVALID_HANDLE )
+  {
+    osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+             "ibis_gsi_mad_ctrl_bind: ERR 1A09: "
+             "Multiple binds not allowed.  Call unbind first. " );
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  bind_info.class_version = class_version;
+  bind_info.is_responder = FALSE;
+  bind_info.is_report_processor = FALSE;
+  bind_info.is_trap_processor = FALSE;
+  bind_info.mad_class = mad_class;
+  bind_info.port_guid = cl_hton64(IbisObj.port_guid);
+  bind_info.recv_q_size = OSM_SM_DEFAULT_QP1_RCV_SIZE;
+  bind_info.send_q_size = OSM_SM_DEFAULT_QP1_SEND_SIZE;
+
+  osm_log( p_ctrl->p_log, OSM_LOG_VERBOSE,
+           "ibis_gsi_mad_ctrl_bind: "
+           "Binding to port GUID = 0x%" PRIx64 ".\n",
+           cl_ntoh64( bind_info.port_guid ) );
+
+  *p_h_bind = osm_vendor_bind( p_ctrl->p_vendor,
+                               &bind_info,
+                               p_ctrl->p_mad_pool,
+                               __ibis_gsi_mad_ctrl_rcv_callback,
+                               __ibis_gsi_mad_ctrl_send_err_callback,
+                               p_ctrl);
+
+  if( *p_h_bind == OSM_BIND_INVALID_HANDLE )
+  {
+    status = IB_ERROR;
+    osm_log( p_ctrl->p_log, OSM_LOG_ERROR,
+             "ibis_gsi_mad_ctrl_bind: ERR 1A10: "
+             "Vendor specific bind() failed (%s).\n",
+             ib_get_err_str(status) );
+    goto Exit;
+  }
+
+ Exit:
+  OSM_LOG_EXIT( p_ctrl->p_log );
+  return( status );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibis_gsi_mad_ctrl_set_class_attr_cb(
+  IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+  IN const uint8_t mad_class,
+  IN const uint16_t attr,
+  IN cl_pfn_msgrcv_cb_t class_attr_cb,
+  IN void *context)
+{
+  ib_api_status_t         status = IB_SUCCESS;
+  cl_status_t             cl_status = CL_SUCCESS;
+  cl_disp_msgid_t         mid;
+  cl_vector_t*            p_attr_vector;
+  size_t                  size;
+  ibis_gsi_cb_msg_pair_t  dummy_cb_msg_pair; /* see later hack */
+  ibis_gsi_cb_msg_pair_t *p_cb_msg_pair;
+  cl_disp_reg_handle_t    disp_reg_hdl;
+
+  OSM_LOG_ENTER(p_ctrl->p_log);
+
+  mid = (cl_disp_msgid_t)cl_atomic_inc( &p_ctrl->msg_id);
+
+  /* register the new message in the dispatcher */
+  disp_reg_hdl = cl_disp_register(
+    p_ctrl->p_disp,
+    mid,
+    class_attr_cb,
+    context);
+
+  if( disp_reg_hdl == CL_DISP_INVALID_HANDLE )
+  {
+    osm_log(p_ctrl->p_log, OSM_LOG_ERROR,
+            "ibis_gsi_mad_ctrl_set_class_attr_cb: "
+            "Dispatcher registration failed.\n" );
+    status = IB_INSUFFICIENT_RESOURCES;
+    goto Exit;
+  }
+
+  /* make sure the vector is big enough */
+  size = cl_vector_get_size(&p_ctrl->class_vector);
+  if (size <= mad_class)
+  {
+    cl_status = cl_vector_set_size(&p_ctrl->class_vector,mad_class+1);
+
+    if( cl_status != CL_SUCCESS)
+    {
+      osm_log(p_ctrl->p_log, OSM_LOG_ERROR,
+              "ibis_gsi_mad_ctrl_set_class_attr_cb: "
+              "cl_vector_set on class Failed.\n" );
+      status = IB_INSUFFICIENT_RESOURCES;
+      goto Exit;
+    }
+  }
+
+  p_attr_vector = cl_vector_get_ptr (&p_ctrl->class_vector,mad_class);
+
+  /*
+    HACK: due to a bug in cl_vector_set (copy over the given data)
+    we need to set an empty entry and then directly write into the
+    returned element .
+    We keep this hack for backward compatibility with old complib
+  */
+
+  /* we first set the empty value */
+  cl_status = cl_vector_set(p_attr_vector, attr, (void *)&dummy_cb_msg_pair);
+  if( cl_status != CL_SUCCESS)
+  {
+    osm_log(p_ctrl->p_log, OSM_LOG_ERROR,
+            "ibis_gsi_mad_ctrl_set_class_attr_cb: "
+            "cl_vector_set on attribute Failed.\n" );
+    status = IB_INSUFFICIENT_RESOURCES;
+    goto Exit;
+  }
+
+  /* now we get the pointer to the vector */
+  p_cb_msg_pair =
+    (ibis_gsi_cb_msg_pair_t *)cl_vector_get_ptr(p_attr_vector, attr);
+  p_cb_msg_pair->mgt_class = mad_class;
+  p_cb_msg_pair->attr = attr;
+  p_cb_msg_pair->msg_id = mid;
+  p_cb_msg_pair->pfn_callback = class_attr_cb;
+  p_cb_msg_pair->h_disp = disp_reg_hdl;
+
+  osm_log(p_ctrl->p_log, OSM_LOG_ERROR,
+          "ibis_gsi_mad_ctrl_set_class_attr_cb: "
+          "Setting CB for class:0x%x attr:0x%x on vectors: %p,%p.\n",
+          mad_class, attr, &p_ctrl->class_vector, p_attr_vector
+          );
+
+ Exit:
+
+  OSM_LOG_EXIT(p_ctrl->p_log );
+  return (status);
+
+}
+
+
+/****s* IBIS: GSI/ibis_gsi_mad_batch_madw_context_t
+ * NAME
+ * ibis_gsi_mad_batch_madw_context_t
+ *
+ * DESCRIPTION
+ * Context used for tracking of synchronous each mad in the batch.
+ *  It it stored in the madw->context .
+ *
+ * SYNOPSIS
+ */
+typedef struct _ibis_gsi_mad_batch_madw_context
+{
+  uint16_t                      idx;
+  uint64_t                      batch_ctx_id;
+} ibis_gsi_mad_batch_madw_context_t;
+/*
+ * FIELDS
+ *
+ *  magic
+ *     Provides a way to internally calculate (in the callback) if the
+ *     mad received context is still valid. So we avoid the need for lookup.
+ *
+ *  idx
+ *     The index of the mad. Used to get the index of the response in the
+ *     results array.
+ *
+ *  p_batch_ctx
+ *     Points to a mads batch context
+ *
+ * SEE ALSO
+ *     ibis_gsi_mad_batch_context_t
+ *********/
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibis_gsi_sync_mad_batch_callback(
+  IN void* context,
+  IN void* p_data)
+{
+  osm_madw_t* const p_madw = (osm_madw_t*)p_data;
+  ibis_gsi_mad_batch_madw_context_t *p_madw_ctx =
+    (ibis_gsi_mad_batch_madw_context_t*)(&p_madw->context);
+  ibis_gsi_mad_batch_context_t *p_batch_ctx;
+
+  /* grab a lock on the global map of batch contexts */
+  cl_spinlock_acquire(&g_ibis_batch_contexts_map_lock);
+
+  if ((p_batch_ctx =
+       __gsi_get_valid_mad_batch_context(p_madw_ctx->batch_ctx_id)))
+  {
+    ibis_gsi_mad_ctrl_t* const p_ctrl = p_batch_ctx->p_ctrl;
+    uint8_t  *p_result;
+    ib_mad_t *p_mad;
+    OSM_LOG_ENTER(p_ctrl->p_log);
+
+    /* obtain the lock */
+    cl_spinlock_acquire(&p_batch_ctx->lock);
+
+    /* no need for the global lock since we got a lock on the context */
+    cl_spinlock_release(&g_ibis_batch_contexts_map_lock);
+
+    /* ignore non GET RESP mads */
+    if (!p_madw->p_mad || p_madw->p_mad->method != IB_MAD_METHOD_GET_RESP)
+    {
+      osm_log(p_ctrl->p_log, OSM_LOG_DEBUG,
+              "ibis_gsi_sync_mad_batch_callback: "
+              "Ignoring non GetResp\n");
+      // goto Exit;
+    }
+
+    /* the size of each result is known so we simply use the buffer */
+    if (p_batch_ctx->res_arr)
+    {
+      p_result = &(p_batch_ctx->res_arr[p_madw_ctx->idx * p_batch_ctx->res_size]);
+      p_mad = (ib_mad_t*)p_result;
+    }
+    else
+    {
+      /* some mads do not require a result ... */
+      p_result = NULL;
+    }
+
+    /* make sure we did not already got this mad */
+    if (p_madw->p_mad && p_madw->p_mad->method != IB_MAD_METHOD_GET_RESP)
+    {
+      osm_log(p_ctrl->p_log, OSM_LOG_DEBUG,
+              "ibis_gsi_sync_mad_batch_callback: "
+              "Ignoring data of non GetResp mad for TID 0x%016" PRIx64 "\n",
+              p_madw->p_mad->trans_id);
+    }
+    else
+    {
+      /* store the result */
+      if (p_result && p_madw->p_mad)
+        memcpy(p_result, p_madw->p_mad, p_batch_ctx->res_size);
+    }
+
+    /* decrement the number of outstanding mads */
+    /* NOTE: MADS that failed on timeout will be return with A GET/SET method */
+
+    if (! p_batch_ctx->num_outstanding)
+    {
+      printf("ERROR: Got a MAD after the outstanding is 0!\n");
+    }
+    p_batch_ctx->num_outstanding--;
+
+    osm_log(p_ctrl->p_log, OSM_LOG_DEBUG,
+            "ibis_gsi_sync_mad_batch_callback: "
+            "Updated MAD Index:%u Num Outstanding 0x%u\n",
+            p_madw_ctx->idx, p_batch_ctx->num_outstanding);
+
+    if ((p_batch_ctx->num_outstanding == 0) && p_batch_ctx->all_sent)
+    {
+      /* Signal for the waiter we have got all data */
+      osm_log(p_ctrl->p_log, OSM_LOG_DEBUG,
+              "ibis_gsi_sync_mad_batch_callback: "
+              "No outstanding mads - signal the waiting thread\n");
+      cl_event_signal(&p_batch_ctx->wait_for_resp);
+    }
+
+    cl_spinlock_release(&p_batch_ctx->lock);
+    OSM_LOG_EXIT( p_ctrl->p_log );
+  }
+  else
+  {
+    /* the batch context was invalid */
+    cl_spinlock_release(&g_ibis_batch_contexts_map_lock);
+  }
+}
+
+/**********************************************************************
+ Send a batch of MADs
+**********************************************************************/
+ib_api_status_t
+ibis_gsi_send_sync_mad_batch(
+  IN ibis_gsi_mad_ctrl_t       *p_ctrl,
+  IN osm_bind_handle_t          h_bind,
+  IN uint16_t                   num,
+  IN osm_madw_t                *p_madw_arr[],
+  IN size_t                     res_size,
+  OUT uint8_t                   res_arr[])
+{
+  uint16_t                           i;
+  uint16_t                           num_send_failed = 0;
+  ibis_gsi_mad_batch_context_t      *p_batch_ctx;
+  osm_madw_t                        *p_madw;
+  ibis_gsi_mad_batch_madw_context_t *p_madw_ctx;
+  cl_status_t                        wait_status;
+  ib_api_status_t                    status;
+
+  OSM_LOG_ENTER(p_ctrl->p_log);
+
+  /* initialize the batch context */
+  p_batch_ctx = __gsi_new_mad_batch_context();
+
+  p_batch_ctx->p_ctrl          = p_ctrl;
+  p_batch_ctx->num_outstanding = 0;
+  p_batch_ctx->all_sent        = FALSE;
+  p_batch_ctx->res_size        = res_size;
+  p_batch_ctx->res_arr         = res_arr;
+
+  /* start by taking the lock */
+  cl_spinlock_acquire(&p_batch_ctx->lock);
+
+  /* cleanup the results array */
+  if (res_arr) memset(res_arr, 0, res_size*num);
+
+  /* send the mads */
+  for (i = 0; i < num; i++)
+  {
+    /* set the madw context */
+    p_madw = p_madw_arr[i];
+    p_madw_ctx = (ibis_gsi_mad_batch_madw_context_t*)(&p_madw->context);
+    p_madw_ctx->idx = i;
+    p_madw_ctx->batch_ctx_id = p_batch_ctx->id;
+
+    status = osm_vendor_send(h_bind, p_madw, TRUE);
+    /* increment the number of outstanding mads if sent */
+    if (status == IB_SUCCESS)
+    {
+      p_batch_ctx->num_outstanding++;
+    }
+    else
+    {
+      num_send_failed++;
+    }
+  }
+
+  /* this flag is used by the callback to make sure we got all mads
+     sent before even looking on zero outstanding mads */
+  p_batch_ctx->all_sent = TRUE;
+
+
+  /* we only globally failed if we could not send any */
+  if (num_send_failed == num)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  /* we ignore any send failures */
+  status = IB_SUCCESS;
+
+  /* we must unlock to let the callbacks work */
+  cl_spinlock_release(&p_batch_ctx->lock);
+
+  /*
+    Wait for all mads to retire:
+
+    NOTE:
+    we can block forever since the mads are sent with
+    a timeout etc. So we should always get out eventually
+  */
+  wait_status = cl_event_wait_on(&p_batch_ctx->wait_for_resp,
+                                 120000000, // max 120sec anyway
+                                 TRUE);
+  if (wait_status != CL_SUCCESS)
+  {
+    status = IB_ERROR;
+  }
+
+  /* take the lock again */
+  cl_spinlock_acquire(&p_batch_ctx->lock);
+ Exit:
+  cl_spinlock_release(&p_batch_ctx->lock);
+
+  __gsi_delete_mad_batch_context(p_batch_ctx);
+  OSM_LOG_EXIT(p_ctrl->p_log);
+  return(status);
+}
diff --git a/ibis/src/ibis_gsi_mad_ctrl.h b/ibis/src/ibis_gsi_mad_ctrl.h
new file mode 100644
index 0000000..f12cd87
--- /dev/null
+++ b/ibis/src/ibis_gsi_mad_ctrl.h
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Declaration of ibis_gsi_mad_ctrl_t.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.3 $
+ */
+
+
+#ifndef _IBIS_GSI_MAD_CTRL_H_
+#define _IBIS_GSI_MAD_CTRL_H_
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#include <complib/cl_types.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_log.h>
+#include "ibis_api.h"
+#include "ibis.h"
+
+
+/****s* IBIS: GSI MAD Controller/ibis_gsi_cb_msg_pair_t
+* NAME
+*	ibis_gsi_cb_msg_pair_t
+*
+* DESCRIPTION
+*	GSI MAD Controller Dispatcher CB and MsgId Pair
+*
+* SYNOPSIS
+*/
+typedef struct _ibis_gsi_cb_msg_pair
+{
+  cl_pfn_msgrcv_cb_t	    pfn_callback;
+  cl_disp_msgid_t   	    msg_id;
+  uint8_t                mgt_class;
+  uint16_t               attr;
+  cl_disp_reg_handle_t   h_disp;
+} ibis_gsi_cb_msg_pair_t;
+/*
+* FIELDS
+* pfn_callback
+*     the call back registered for the class/attr
+*
+*  msg_id
+*     dispatcher message id allocated
+*
+*  class
+*     mad class.
+*
+*  attr
+*     mad attribute
+*
+*  h_disp
+*     dispatcher handler
+*
+* SEE ALSO
+*	GSI MAD Controller object
+*	GSI MAD object
+*********/
+/*
+ * destroy an entry in the attribute vector.
+ */
+
+
+/****h* IBIS/GSI MAD Controller
+* NAME
+*	GSI MAD Controller
+*
+* DESCRIPTION
+*	The GSI MAD Controller object encapsulates
+*	the information needed to receive GSI MADs from the transport layer.
+*
+*	The GSI MAD Controller object is thread safe.
+*
+*	This object should be treated as opaque and should be
+*	manipulated only through the provided functions.
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox Technologies LTD
+*
+*********/
+
+
+
+/****f* IBIS: GSI MAD Controller/ibis_gsi_mad_ctrl_construct
+* NAME
+*	ibis_gsi_mad_ctrl_construct
+*
+* DESCRIPTION
+*	This function constructs a GSI MAD Controller object.
+*
+* SYNOPSIS
+*/
+void ibis_gsi_mad_ctrl_construct(
+	IN ibis_gsi_mad_ctrl_t* const p_ctrl );
+/*
+* PARAMETERS
+*	p_ctrl
+*		[in] Pointer to a GSI MAD Controller
+*		object to construct.
+*
+* RETURN VALUE
+*	This function does not return a value.
+*
+* NOTES
+*	Allows calling ibis_gsi_mad_ctrl_init, ibis_gsi_mad_ctrl_destroy,
+*	and ibis_gsi_mad_ctrl_is_inited.
+*
+*	Calling ibis_gsi_mad_ctrl_construct is a prerequisite to calling any other
+*	method except ibis_gsi_mad_ctrl_init.
+*
+* SEE ALSO
+*	GSI MAD Controller object, ibis_gsi_mad_ctrl_init,
+*	ibis_gsi_mad_ctrl_destroy, ibis_gsi_mad_ctrl_is_inited
+*********/
+
+/****f* IBIS: GSI MAD Controller/ibis_gsi_mad_ctrl_destroy
+* NAME
+*	ibis_gsi_mad_ctrl_destroy
+*
+* DESCRIPTION
+*	The ibis_gsi_mad_ctrl_destroy function destroys the object, releasing
+*	all resources.
+*
+* SYNOPSIS
+*/
+void ibis_gsi_mad_ctrl_destroy(
+	IN ibis_gsi_mad_ctrl_t* const p_ctrl );
+/*
+* PARAMETERS
+*	p_ctrl
+*		[in] Pointer to the object to destroy.
+*
+* RETURN VALUE
+*	This function does not return a value.
+*
+* NOTES
+*	Performs any necessary cleanup of the specified
+*	GSI MAD Controller object.
+*	Further operations should not be attempted on the destroyed object.
+*	This function should only be called after a call to
+*	ibis_gsi_mad_ctrl_construct or ibis_gsi_mad_ctrl_init.
+*
+* SEE ALSO
+*	GSI MAD Controller object, ibis_gsi_mad_ctrl_construct,
+*	ibis_gsi_mad_ctrl_init
+*********/
+
+/****f* IBIS: GSI MAD Controller/ibis_gsi_mad_ctrl_init
+* NAME
+*	ibis_gsi_mad_ctrl_init
+*
+* DESCRIPTION
+*	The ibis_gsi_mad_ctrl_init function initializes a
+*	GSI MAD Controller object for use.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibis_gsi_mad_ctrl_init(
+	IN ibis_gsi_mad_ctrl_t* const p_ctrl,
+	IN osm_mad_pool_t* const p_mad_pool,
+	IN osm_vendor_t* const p_vendor,
+	IN osm_log_t* const p_log,
+	IN cl_dispatcher_t* const p_disp );
+/*
+* PARAMETERS
+*	p_ctrl
+*		[in] Pointer to an ibis_gsi_mad_ctrl_t object to initialize.
+*
+*	p_mad_pool
+*		[in] Pointer to the MAD pool.
+*
+*	p_vendor
+*		[in] Pointer to the vendor specific interfaces object.
+*
+*	p_log
+*		[in] Pointer to the log object.
+*
+*	p_disp
+*		[in] Pointer to the IBIS central Dispatcher.
+*
+* RETURN VALUES
+*	IB_SUCCESS if the GSI MAD Controller object was initialized
+*	successfully.
+*
+* NOTES
+*	Allows calling other GSI MAD Controller methods.
+*
+* SEE ALSO
+*	GSI MAD Controller object, ibis_gsi_mad_ctrl_construct,
+*	ibis_gsi_mad_ctrl_destroy, ibis_gsi_mad_ctrl_is_inited
+*********/
+END_C_DECLS
+#endif	/* _IBIS_GSI_MAD_CTRL_H_ */
diff --git a/ibis/src/ibis_typemaps.i b/ibis/src/ibis_typemaps.i
new file mode 100644
index 0000000..4855e85
--- /dev/null
+++ b/ibis/src/ibis_typemaps.i
@@ -0,0 +1,509 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%typemap(tcl8,in) uint64_t *(uint64_t temp) {
+  temp = strtoull(Tcl_GetStringFromObj($source,NULL), NULL,16);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint64_t *, uint64_t {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+%{
+#define new_uint64_t uint64_t
+%}
+%typemap(tcl8,out) new_uint64_t *, new_uint64_t {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+  free( $source );
+}
+
+%typemap(tcl8,in) uint32_t * (uint32_t temp){
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint32_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint16_t * (uint16_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint16_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint8_t * (uint8_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint8_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net64_t *(uint64_t temp) {
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj($source,NULL), NULL, 16));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net64_t * {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net32_t *(ib_net32_t temp) {
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net32_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net16_t * (ib_net16_t temp) {
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net16_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,argout) uint64_t *OUTPUT {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,ignore) uint64_t *OUTPUT(uint64_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,out) boolean_t * {
+  if (*$source) {
+	 Tcl_SetStringObj($target,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj($target,"FALSE", 5);
+  }
+}
+
+%typemap(tcl8,in) boolean_t *(boolean_t temp) {
+  if (strcmp(Tcl_GetStringFromObj($source,NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  $target = &temp;
+}
+
+%typemap (tcl8, ignore) char **p_out_str (char *p_c) {
+  $target = &p_c;
+}
+
+%typemap (tcl8, argout) char **p_out_str {
+  Tcl_SetStringObj($target,*$source,strlen(*$source));
+  if (*$source) free(*$source);
+}
+
+/* handle char arrays as members of a struct */
+%typemap (tcl8, memberin) char [ANY] {
+  strncpy($target,$source,$dim0 - 1);
+  $target[$dim0 - 1] = '\0';
+}
+
+%typemap(tcl8,out) ib_gid_t* {
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64($source->unicast.prefix),
+          cl_ntoh64($source->unicast.interface_id)
+          );
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+/* ---------------- handling array of uint8_t ---------------------- */
+%{
+#define uint8_array_t uint8_t
+%}
+%typemap(memberin) uint8_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint8_array_t[ANY] (uint8_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint8_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%02x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint16_t ---------------------- */
+%{
+#define uint16_array_t uint16_t
+%}
+%typemap(memberin) uint16_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint16_array_t[ANY] (uint16_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint16_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%04x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint32_t ---------------------- */
+%{
+#define uint32_array_t uint32_t
+%}
+%typemap(memberin) uint32_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint32_array_t[ANY] (uint32_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint32_array_t[ANY] {
+  int i;
+  char buff[12];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%08x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint64_t ---------------------- */
+%{
+#define uint64_array_t uint64_t
+%}
+%typemap(memberin) uint64_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint64_array_t[ANY] (uint64_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected uint64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint64_array_t[ANY] {
+  int i;
+  char buff[20];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%016 " PRIx64 " ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net16_t ---------------------- */
+%{
+#define ib_net16_array_t ib_net16_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net16_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net16_array_t[ANY] (ib_net16_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net16_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net32_t ---------------------- */
+%{
+#define ib_net32_array_t ib_net32_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net32_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net32_array_t[ANY] (ib_net32_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint32_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton32(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net32_array_t[ANY] {
+  int i;
+  char buff[12];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net64_t ---------------------- */
+%{
+#define ib_net64_array_t ib_net64_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net64_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net64_array_t[ANY] (ib_net64_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net64_array_t[ANY] {
+  int i;
+  char buff[20];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+%include typemaps.i
+
+
diff --git a/ibis/src/ibis_wrap.c b/ibis/src/ibis_wrap.c
new file mode 100644
index 0000000..7d20979
--- /dev/null
+++ b/ibis/src/ibis_wrap.c
@@ -0,0 +1,75166 @@
+/*
+ * FILE : swig_wrap.c
+ *
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 5)
+ *
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ *
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : TCL 8.0 */
+
+#define INCLUDE_TCL    <tcl.h>
+#define INCLUDE_TK     <tk.h>
+#include INCLUDE_TCL
+#include <string.h>
+#include <stdlib.h>
+#define SWIGTCL
+#define SWIGTCL8
+/*
+ * $Header: /b2/dmb/SWIG/SWIG1.0b3/swig_lib/tcl/RCS/swigtcl.cfg,v 1.1 1996/05/22 19:47:45 beazley Exp $
+ *
+ * swigtcl.cfg
+ *
+ * This file is modified from a platform independent file provided
+ * by Sun.   With any luck this will allow SWIG generated wrapper
+ * files to work on Unix, Windows, and Macintosh.
+ *
+ * Revision History
+ * $Log: swigtcl.cfg,v $
+ * Revision 1.1  1996/05/22 19:47:45  beazley
+ * Initial revision
+ *
+ *
+ * -- Dave Beazley, May 2, 1996.
+ *
+ *	This file is an example of a Tcl dynamically loadable extension.
+ *
+ * Copyright (c) 1996 by Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#if defined(__WIN32__)
+#   define WIN32_LEAN_AND_MEAN
+#   include <windows.h>
+#   undef WIN32_LEAN_AND_MEAN
+
+/*
+ * VC++ has an alternate entry point called DllMain, so we need to rename
+ * our entry point.
+ */
+
+#   if defined(_MSC_VER)
+#	define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#	define DllEntryPoint DllMain
+#   else
+#	if defined(__BORLANDC__)
+#	    define SWIGEXPORT(a,b) a _export b
+#	else
+#	    define SWIGEXPORT(a,b) a b
+#	endif
+#   endif
+#else
+#   define SWIGEXPORT(a,b) a b
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllEntryPoint --
+ *
+ *	This wrapper function is used by Windows to invoke the
+ *	initialization code for the DLL.  If we are compiling
+ *	with Visual C++, this routine will be renamed to DllMain.
+ *	routine.
+ *
+ * Results:
+ *	Returns TRUE;
+ *
+ * Side effects:
+ *	None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+#ifdef __WIN32__
+BOOL APIENTRY
+DllEntryPoint(HINSTANCE hInst, DWORD reason, LPVOID reserved)
+{
+    return TRUE;
+}
+#endif
+
+/**************************************************************************
+ * $Header:$
+ *
+ * tcl8ptr.swg
+ *
+ * This file provides type-checked pointer support to Tcl 8.0.
+ * Pointers are installed as new kinds of Tcl 8.0 objects consisting
+ * of the following structure
+ *
+ * typedef struct {
+ *         char     *name;            Name of the datatype
+ *         void     *value;           Value of the pointer
+ * } Tcl_SwigPtr;
+ *
+ * While we still need to perform string comparisons on the
+ * type-name, this function no longer needs to convert pointer
+ * values to hex so it should be a little faster.
+ *
+ * New Tcl datatypes are defined by the following data structure.
+ *
+ * typedef struct Tcl_ObjType {
+ *              char *name;
+ *              Tcl_FreeInternalRepProc *freeIntRepProc;
+ *              Tcl_DupInternalRepProc *dupIntRepProc;
+ *              Tcl_UpdateStringProc *updateStringProc;
+ *              Tcl_SetFromAnyProc *setFromAnyProc;
+ *             } Tcl_ObjType;
+ *
+ * Functions for manipulating SWIG pointers in wrapper code are:
+ *
+ *     void *SWIG_SetPointerObj(objPtr, ptr, type)
+ *     char *SWIG_GetPointerFromObj(objPtr, *ptr, type)
+ *
+ **********************************************************************/
+
+#ifdef SWIG_GLOBAL
+#include <tcl.h>
+#ifdef __cplusplus
+#define SWIGSTATIC extern "C"
+#else
+#define SWIGSTATIC
+#endif
+#endif
+
+#ifndef SWIGSTATIC
+#define SWIGSTATIC static
+#endif
+
+/* These are internal variables.   Should be static */
+
+typedef struct SwigPtrType {
+  char               *name;
+  int                 len;
+  void               *(*cast)(void *);
+  struct SwigPtrType *next;
+} SwigPtrType;
+
+/* Pointer cache structure */
+
+typedef struct {
+  int                 stat;               /* Status (valid) bit             */
+  SwigPtrType        *tp;                 /* Pointer to type structure      */
+  char                name[256];          /* Given datatype name            */
+  char                mapped[256];        /* Equivalent name                */
+} SwigCacheType;
+
+static int SwigPtrMax  = 64;           /* Max entries that can be currently held */
+static int SwigPtrN    = 0;            /* Current number of entries              */
+static int SwigPtrSort = 0;            /* Status flag indicating sort            */
+static int SwigStart[256];             /* Array containing start locations (for searching) */
+static SwigPtrType *SwigPtrTable = 0;  /* Table containing pointer equivalences  */
+
+/* Cached values */
+
+#define SWIG_CACHESIZE  8
+#define SWIG_CACHEMASK  0x7
+static SwigCacheType SwigCache[SWIG_CACHESIZE];
+static int SwigCacheIndex = 0;
+static int SwigLastCache = 0;
+
+/* Sort comparison function */
+static int swigsort(const void *data1, const void *data2) {
+	SwigPtrType *d1 = (SwigPtrType *) data1;
+	SwigPtrType *d2 = (SwigPtrType *) data2;
+	return strcmp(d1->name,d2->name);
+}
+
+/* Binary Search function */
+static int swigcmp(const void *key, const void *data) {
+  char *k = (char *) key;
+  SwigPtrType *d = (SwigPtrType *) data;
+  return strncmp(k,d->name,d->len);
+}
+
+
+/*---------------------------------------------------------------------
+ * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *))
+ *
+ * Register a new type-mapping with the type-checking system.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) {
+
+  int i;
+  SwigPtrType *t = 0, *t1;
+
+  if (!SwigPtrTable) {
+    SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType));
+    SwigPtrN = 0;
+  }
+  if (SwigPtrN >= SwigPtrMax) {
+    SwigPtrMax = 2*SwigPtrMax;
+    SwigPtrTable = (SwigPtrType *) realloc(SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType));
+  }
+  for (i = 0; i < SwigPtrN; i++)
+    if (strcmp(SwigPtrTable[i].name,origtype) == 0) {
+      t = &SwigPtrTable[i];
+      break;
+    }
+  if (!t) {
+    t = &SwigPtrTable[SwigPtrN];
+    t->name = origtype;
+    t->len = strlen(origtype);
+    t->cast = 0;
+    t->next = 0;
+    SwigPtrN++;
+  }
+  while (t->next) {
+    if (strcmp(t->name,newtype) == 0) {
+      if (cast) t->cast = cast;
+      return;
+    }
+    t = t->next;
+  }
+  t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType));
+  t1->name = newtype;
+  t1->len = strlen(newtype);
+  t1->cast = cast;
+  t1->next = 0;
+  t->next = t1;
+  SwigPtrSort = 0;
+}
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+
+
+
+/* This is for backwards compatibility */
+
+
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_RegisterType()
+ *
+ * Registers our new datatype with an interpreter.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterType( void ) {
+  /* Does nothing at the moment */
+}
+#define SWIG_init    Ibis_Init
+#define SWIG_name    "ibis"
+#define SWIG_prefix  ""
+#define SWIG_namespace ""
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int,Ibis_Init)(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#undef panic
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <opensm/osm_log.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis.h"
+#include "ibcr.h"
+#include "ibpm.h"
+#include "ibvs.h"
+#include "ibbbm.h"
+#include "ibsac.h"
+#include "ibsm.h"
+#include "ibcc.h"
+
+END_C_DECLS
+
+#ifndef PRIx64
+#if __WORDSIZE == 64
+#define __PRI64_PREFIX	"l"
+#else
+#define __PRI64_PREFIX	"L"
+#endif
+
+#define PRId64		__PRI64_PREFIX"d"
+#define PRIo64		__PRI64_PREFIX"o"
+#define PRIu64		__PRI64_PREFIX"u"
+#define PRIx64		__PRI64_PREFIX"x"
+#endif
+
+/**********************************************************************
+ **********************************************************************/
+boolean_t
+ibisp_is_debug(void)
+{
+#if defined( _DEBUG_ )
+  return TRUE;
+#else
+  return FALSE;
+#endif /* defined( _DEBUG_ ) */
+}
+
+
+#define new_uint64_t uint64_t
+
+#define uint8_array_t uint8_t
+
+#define uint16_array_t uint16_t
+
+#define uint32_array_t uint32_t
+
+#define uint64_array_t uint64_t
+
+#define ib_net16_array_t ib_net16_t
+
+#define ib_net32_array_t ib_net32_t
+
+#define ib_net64_array_t ib_net64_t
+
+
+  static char ibis_tcl_error_msg[1024];
+  static int  ibis_tcl_error;
+
+  void ibis_set_tcl_error(char *err) {
+    if (strlen(err) < 1024)
+      strcpy(ibis_tcl_error_msg, err);
+    else
+      strncpy(ibis_tcl_error_msg, err, 1024);
+    ibis_tcl_error = 1;
+  }
+
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibcr.h"
+
+
+static ibcr_t *p_ibcr_global;
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibcr_get_cr_str(
+  boolean_t is_multi,
+  uint8_t num,
+  ib_cr_space_t *p_cr_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[512];
+  static int i, extra;
+
+  if (p_cr_mads) {
+    for (i=0;i<num;i++) {
+      if (p_cr_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Fail to obtain CR mad response");
+        } else {
+          sprintf(buff,"ERROR : Fail to obtain CR mad response");
+        }
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]) != 0) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        } else {
+          sprintf(buff,"ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        }
+      } else {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} {data 0x%x}",
+                cl_ntoh64(p_cr_mads[i].vendor_key),
+                cl_ntoh32(p_cr_mads[i].data[0]));
+      }
+
+      if (is_multi) extra = 3; else extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi) {
+        strcat(p_res_str,"{");
+        strcat(p_res_str, buff);
+        strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibcr_destroy_global(void)
+{
+	ibcr_destroy(p_ibcr_global);
+	return (0);
+}
+
+int
+ibcr_num_of_multi_max(void)
+{
+	return (IBCR_MULTI_MAX);
+}
+
+int
+ibcr_read_global(
+  uint16_t lid,
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[1];
+
+	status = ibcr_read(p_ibcr_global,lid,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(FALSE, 1, cr_space_mads_arr);
+   }
+
+	return(status);
+}
+
+int
+ibcr_write_global(
+  uint16_t lid,
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_write(p_ibcr_global,lid,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write CR space");
+   }
+	return(status);
+}
+
+int
+ibcr_multi_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[IBCR_MULTI_MAX];
+
+	status =
+     ibcr_multi_read(p_ibcr_global,num,lid_list,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read all targets CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(TRUE, num, cr_space_mads_arr);
+   }
+	return(status);
+}
+
+int
+ibcr_multi_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_multi_write(p_ibcr_global,num,lid_list,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write all targets CR space");
+   }
+	return(status);
+}
+
+
+#define uint16_cr_arr_t uint16_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include <inttypes.h>
+#include "ibpm.h"
+
+
+static ibpm_t *p_ibpm_global;
+
+int
+ibpm_num_of_multi_max(void)
+{
+	return (IBPM_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   port counters.
+*/
+char *
+ibpm_get_port_counters_str(
+  uint8_t num,
+  ib_pm_port_counter_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u } {counter_select %u } {symbol_error_counter %u } {link_error_recovery_counter %u } {link_down_counter %u } {port_rcv_errors %u } {port_rcv_remote_physical_errors %u } {port_rcv_switch_relay_errors %u } {port_xmit_discard %u } {port_xmit_constraint_errors %u } {port_rcv_constraint_errors %u } {local_link_integrity_errors %u } {excesive_buffer_errors %u } {vl15_dropped %u } {port_xmit_data %u } {port_rcv_data %u } {port_xmit_pkts %u } {port_rcv_pkts %u }} ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh16(p_counters[i].symbol_error_counter),
+              p_counters[i].link_error_recovery_counter,
+              p_counters[i].link_down_counter,
+              cl_ntoh16(p_counters[i].port_rcv_errors),
+              cl_ntoh16(p_counters[i].port_rcv_remote_physical_errors),
+              cl_ntoh16(p_counters[i].port_rcv_switch_relay_errors),
+              cl_ntoh16(p_counters[i].port_xmit_discard),
+              p_counters[i].port_xmit_constraint_errors,
+              p_counters[i].port_rcv_constraint_errors,
+              (p_counters[i].lli_errors_exc_buf_errors & 0xf0) >> 4,
+              (p_counters[i].lli_errors_exc_buf_errors & 0x0f),
+              cl_ntoh16(p_counters[i].vl15_dropped),
+              cl_ntoh32(p_counters[i].port_xmit_data),
+              cl_ntoh32(p_counters[i].port_rcv_data),
+              cl_ntoh32(p_counters[i].port_xmit_pkts),
+              cl_ntoh32(p_counters[i].port_rcv_pkts));
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+/*
+   this function returns the string corresponding to the
+   extended port counters.
+*/
+char *
+ibpm_get_port_counters_extended_str(
+  uint8_t num,
+  ib_pm_port_counter_extended_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u} {counter_select %u} {port_xmit_data %"PRIu64"} {port_rcv_data %"PRIu64"} {port_xmit_pkts %"PRIu64"} {port_rcv_pkts %"PRIu64"} {port_ucast_xmit_pkts %"PRIu64"} {port_ucast_rcv_pkts %"PRIu64"} {port_mcast_xmit_pkts %"PRIu64"} {port_mcast_rcv_pkts %"PRIu64"} } ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh64(p_counters[i].port_xmit_data),
+              cl_ntoh64(p_counters[i].port_rcv_data),
+              cl_ntoh64(p_counters[i].port_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_rcv_pkts)
+              );
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+int
+ibpm_get_counters_global(
+  uint16_t lid,
+  uint8_t port_select,
+  char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t single_counters_set;
+  *pp_new_counters_str = NULL;
+  status = (int) ibpm_get_counters(p_ibpm_global,lid,port_select,&single_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(1, &single_counters_set);
+  }
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t *p_multi_counters_set;
+  p_multi_counters_set = (ib_pm_port_counter_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_extended_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_extended_t *p_multi_counters_set;
+  p_multi_counters_set =
+    (ib_pm_port_counter_extended_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters_extended(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_extended_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_clr_all_counters_global(
+  uint16_t lid,
+  uint8_t port_select)
+{
+  int status;
+  status = (int) ibpm_clr_all_counters(p_ibpm_global,lid,port_select);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear port counters");
+  }
+  return(status);
+}
+
+int
+ibpm_clr_all_multi_counters_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_select_list[])
+{
+  int status;
+  status = (int) ibpm_clr_all_multi_counters(p_ibpm_global,num,lid_list,port_select_list);
+
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear multiple port counters");
+  }
+  return(status);
+}
+
+
+#define  uint16_pm_arr_t  uint16_t
+
+#define  uint8_pm_arr_t  uint8_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibvs.h"
+
+
+static ibvs_t *p_ibvs_global;
+
+int
+ibvs_num_of_multi_max(void)
+{
+	return (IBVS_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibvs_get_vs_str(
+  boolean_t is_multi,
+  boolean_t is_read,
+  uint8_t num,
+  uint8_t size,
+  uint8_t first_data_idx,
+  ib_vs_t *p_vs_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  int i,j, extra;
+
+  if (p_vs_mads) {
+    for (i=0;i<num;i++) {
+      boolean_t space_in_resp = TRUE;
+
+      if (p_vs_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        sprintf(buff,"TARGET_ERROR : Failed to obtain VS mad response");
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]) != 0) {
+        sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]));
+      } else if (is_read) {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} ",
+                cl_ntoh64(p_vs_mads[i].vendor_key));
+        for (j=0; j < size; j++) {
+          sprintf(buff,"%s {data%u 0x%x} ",
+                  buff, j, cl_ntoh32(p_vs_mads[i].data[j+first_data_idx]));
+        }
+      } else {
+	  // Write response - no data
+	  // Note: The trailing space here is important !
+	  sprintf(buff, "ACK ");
+	  space_in_resp = 0;
+      }
+
+      if (is_multi && space_in_resp)
+	extra = 3;
+      else
+	extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi && space_in_resp) {
+	  strcat(p_res_str,"{");
+	  strcat(p_res_str, buff);
+	  strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibvs_cpu_read_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t address,
+  char **pp_new_cpu_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_cpu_read(p_ibvs_global,lid,size,cpu_traget_size,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_cpu_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_CPU_DATA_OFFSET, vs_mads);
+   }
+
+   return(status);
+}
+
+int
+ibvs_cpu_write_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t data[],
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status =
+     ibvs_cpu_write(p_ibvs_global,lid,size,cpu_traget_size,data,address);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to clear port counters");
+   return(status);
+}
+
+int
+ibvs_i2c_read_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_i2c_read(
+       p_ibvs_global,lid,port_num,size,device_id,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_i2c_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_i2c_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_read(p_ibvs_global,num,lid_list,port_num,size,device_id,address,vs_mads);
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed reading multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_multi_i2c_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_i2c_str)
+{
+
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_write(p_ibvs_global,num,lid_list,port_num,size,device_id,data,address,vs_mads);
+
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed writing multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, FALSE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_i2c_write_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+
+    ib_api_status_t status;
+
+    status = ibvs_i2c_write(p_ibvs_global,lid,port_num,size,device_id,data,address);
+    if (status)
+	ibis_set_tcl_error("ERROR : Fail to write i2c");
+    return(status);
+}
+
+int
+ibvs_gpio_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_gpio_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status = ibvs_gpio_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read gpio");
+   } else {
+     *pp_new_gpio_str =
+       ibvs_get_vs_str(TRUE, TRUE, 1, IBVS_DATA_MAX, VS_GPIO_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_gpio_write_global(
+  IN uint16_t lid,
+  IN uint64_t gpio_mask,
+  IN uint64_t gpio_data)
+{
+	ib_api_status_t status;
+
+	status = ibvs_gpio_write(p_ibvs_global,lid,gpio_mask,gpio_data );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write gpio");
+	return(status);
+}
+
+int
+ibvs_multi_sw_reset_global(
+  uint8_t num,
+  uint16_t lid_list[])
+{
+	ib_api_status_t status;
+
+	status = ibvs_multi_sw_reset(p_ibvs_global,num,lid_list);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to reset");
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_open_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t last,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_open(
+       p_ibvs_global,num,lid_list,last,size,data,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to open flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_close_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t force,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_close(
+       p_ibvs_global,num,lid_list,force,vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to close flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_set_bank_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_set_bank(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to set flash bank");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_erase_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_erase(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to erase flash sector");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_read(
+       p_ibvs_global, num, lid_list, size, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+	ib_api_status_t status;
+
+	status =
+     ibvs_multi_flash_write(
+       p_ibvs_global, num, lid_list, size, data, address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write flash");
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_mirror_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+   status = ibvs_mirror_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read mirror");
+   } else {
+     *pp_new_mirror_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_MIRROR_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_write_global(
+  IN uint16_t lid,
+  IN uint32_t rx_mirror,
+  IN uint32_t tx_mirror)
+{
+   ib_api_status_t status;
+
+   status = ibvs_mirror_write(p_ibvs_global,lid,rx_mirror,tx_mirror );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write mirror");
+	return(status);
+}
+
+int
+ibvs_plft_map_get_global(
+  IN uint16_t lid,
+  IN uint8_t upper_ports,
+  OUT	char **pp_new_plft_map_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	ib_vs_plft_map_t *p_map = (ib_vs_plft_map_t *)&vs_mads[0];
+
+   status = ibvs_plft_map_get(p_ibvs_global,lid,upper_ports,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get private LFT map");
+		*pp_new_plft_map_str = NULL;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_new_plft_map_str = buff;
+		sprintf(buff,
+				  "{ib_port0 0x%x} "
+				  "{shared_plft_port0 0x%x} "
+				  "{size0 0x%x} "
+				  "{ib_port1 0x%x} "
+				  "{shared_plft_port1 0x%x} "
+				  "{size1 0x%x} "
+				  "{ib_port2 0x%x} "
+				  "{shared_plft_port2 0x%x} "
+				  "{size2 0x%x} "
+				  "{ib_port3 0x%x} "
+				  "{shared_plft_port3 0x%x} "
+				  "{size3 0x%x} "
+				  "{ib_port4 0x%x} "
+				  "{shared_plft_port4 0x%x} "
+				  "{size4 0x%x} "
+				  "{ib_port5 0x%x} "
+				  "{shared_plft_port5 0x%x} "
+				  "{size5 0x%x} "
+				  "{ib_port6 0x%x} "
+				  "{shared_plft_port6 0x%x} "
+				  "{size6 0x%x} "
+				  "{ib_port7 0x%x} "
+				  "{shared_plft_port7 0x%x} "
+				  "{reserved7 0x%x} "
+				  "{size7 0x%x} "
+				  "{ib_port8 0x%x} "
+				  "{shared_plft_port8 0x%x} "
+				  "{size8 0x%x} "
+				  "{ib_port9 0x%x} "
+				  "{shared_plft_port9 0x%x} "
+				  "{reserved9 0x%x} "
+				  "{size9 0x%x} "
+				  "{ib_port10 0x%x} "
+				  "{shared_plft_port10 0x%x} "
+				  "{size10 0x%x} "
+				  "{ib_port11 0x%x} "
+				  "{shared_plft_port11 0x%x} "
+				  "{size11 0x%x} "
+				  "{ib_port12 0x%x} "
+				  "{shared_plft_port12 0x%x} "
+				  "{size12 0x%x}",
+				  p_map->ib_port0,
+				  p_map->shared_plft_port0,
+				  p_map->size0,
+				  p_map->ib_port1,
+				  p_map->shared_plft_port1,
+				  p_map->size1,
+				  p_map->ib_port2,
+				  p_map->shared_plft_port2,
+				  p_map->size2,
+				  p_map->ib_port3,
+				  p_map->shared_plft_port3,
+				  p_map->size3,
+				  p_map->ib_port4,
+				  p_map->shared_plft_port4,
+				  p_map->size4,
+				  p_map->ib_port5,
+				  p_map->shared_plft_port5,
+				  p_map->size5,
+				  p_map->ib_port6,
+				  p_map->shared_plft_port6,
+				  p_map->size6,
+				  p_map->ib_port7,
+				  p_map->shared_plft_port7,
+				  p_map->reserved7,
+				  p_map->size7,
+				  p_map->ib_port8,
+				  p_map->shared_plft_port8,
+				  p_map->size8,
+				  p_map->ib_port9,
+				  p_map->shared_plft_port9,
+				  p_map->reserved9,
+				  p_map->size9,
+				  p_map->ib_port10,
+				  p_map->shared_plft_port10,
+				  p_map->size10,
+				  p_map->ib_port11,
+				  p_map->shared_plft_port11,
+				  p_map->size11,
+				  p_map->ib_port12,
+				  p_map->shared_plft_port12,
+				  p_map->size12
+				  );
+   }
+	return(status);
+}
+
+int
+ibvs_general_info_get_global(
+  IN uint16_t lid,
+  OUT	char **pp_gen_info_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	char            psid[17];
+	ib_vs_gen_info_t *p_info = (ib_vs_gen_info_t *)&vs_mads[0];
+   status = ibvs_general_info_get(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get general info");
+		*pp_gen_info_str = 0;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_gen_info_str = buff;
+		strncpy(psid, (char *)p_info->fw_psid, 16);
+		psid[16] = '\0';
+		sprintf(buff,
+				  "{hw_rev 0x%x} "
+				  "{hw_devid 0x%x} "
+				  "{hw_uptime 0x%x} "
+				  "{fw_major 0x%x} "
+				  "{fw_minor 0x%x} "
+				  "{fw_sub_minor 0x%x} "
+				  "{fw_build_id 0x%x} "
+				  "{fw_month 0x%x} "
+				  "{fw_day 0x%x} "
+				  "{fw_year 0x%x} "
+				  "{fw_hour 0x%x} "
+				  "{fw_psid \"%s\"} "
+				  "{fw_ini_ver 0x%x} "
+				  "{sw_major 0x%x} "
+				  "{sw_minor 0x%x} "
+				  "{sw_sub_minor 0x%x}",
+				  cl_ntoh16(p_info->hw_rev),
+				  cl_ntoh16(p_info->hw_devid),
+				  cl_ntoh32(p_info->hw_uptime),
+				  p_info->fw_major,
+				  p_info->fw_minor,
+				  p_info->fw_sub_minor,
+				  cl_ntoh32(p_info->fw_build_id),
+				  p_info->fw_month,
+				  p_info->fw_day,
+				  cl_ntoh16(p_info->fw_year),
+				  cl_ntoh16(p_info->fw_hour),
+				  psid,
+				  cl_ntoh32(p_info->fw_ini_ver),
+				  p_info->sw_major,
+				  p_info->sw_minor,
+				  p_info->sw_sub_minor);
+   }
+	return(status);
+}
+
+
+#define uint16_vs_arr_t uint16_t
+
+#define uint32_vs_data_arr_t uint32_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibbbm.h"
+
+
+static ibbbm_t *p_ibbbm_global;
+
+int
+ibbbm_read_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  ib_bbm_vpd_t *p_bbm_vpd_mad)
+{
+	ib_api_status_t status;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VPD");
+
+	return(status);
+}
+
+int
+ibbbm_write_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  uint8_t *p_data)
+{
+
+	ib_api_status_t status;
+
+	status = ibbbm_write_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_data);
+	;
+	ibis_set_tcl_error("-E- Failed to write VPD");
+	return(status);
+}
+
+int
+ibbbm_read_vsd_vpd_global(
+  uint16_t lid,
+  ib_bbm_vsd_vpd_t *p_bbm_vsd_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_vsd_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_VSD_VPD_DEV_SEL,IBBBM_VSD_VPD_SIZE,IBBBM_VSD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VSD VPD");
+   return(status);
+}
+
+int
+ibbbm_read_bsn_vpd_global(
+  uint16_t lid,
+  ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_bsn_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_BSN_VPD_DEV_SEL,IBBBM_BSN_VPD_SIZE,IBBBM_BSN_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read BSN");
+
+	return(status);
+}
+
+int
+ibbbm_read_mod_vpd_global(
+  uint16_t lid,
+  ib_bbm_mod_vpd_t *p_bbm_mod_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_mod_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_MOD_VPD_DEV_SEL,IBBBM_MOD_VPD_SIZE,IBBBM_MOD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read Module VPD");
+
+	return(status);
+}
+
+int
+ibbbm_read_cha_vpd_global(
+  uint16_t lid,
+  ib_bbm_cha_vpd_t *p_bbm_cha_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_cha_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_CHA_VPD_DEV_SEL,IBBBM_CHA_VPD_SIZE,IBBBM_CHA_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+   ibis_set_tcl_error("-E- Failed to read Chassis VPD");
+	return(status);
+}
+
+
+int
+ibbbm_read_fw_ver_vpd_global(
+  uint16_t lid,
+  ib_bbm_fw_ver_vpd_t *p_bbm_fw_ver_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_fw_ver_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_FW_VER_VPD_DEV_SEL,IBBBM_FW_VER_VPD_SIZE,IBBBM_FW_VER_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+
+   ibis_set_tcl_error("-E- Failed to read FW Version.");
+
+	return(status);
+}
+
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+#ifdef OSM_BUILD_OPENIB
+#include <vendor/osm_vendor_sa_api.h>
+#else
+#include <opensm/osm_vendor_sa_api.h>
+#endif
+#include "ibsac.h"
+
+  /*
+     TODO:  Add the following queries
+     ClassPortInfo
+     InformInfo
+     SLtoVLMappingTableRecord
+     VLArbitrationTableRecord
+     ServiceRecord
+     P_KeyTableRecord
+
+     Not supported by OpenSM:
+     Notice
+     MulticastForwardingTableRecord
+     GUIDInfoRecord
+     InformInfoRecord
+
+     Later:
+     MultiPathRecord
+  */
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_record_t         sacNodeRec;
+  typedef ib_node_info_t           sacNodeInfo;
+  typedef ib_portinfo_record_t     sacPortRec;
+  typedef ib_port_info_t           sacPortInfo;
+  typedef ib_sminfo_record_t       sacSmRec;
+  typedef ib_sm_info_t             sacSmInfo;
+  typedef ib_switch_info_record_t  sacSwRec;
+  typedef ib_switch_info_t         sacSwInfo;
+  typedef ib_link_record_t         sacLinkRec;
+  typedef ib_path_rec_t            sacPathRec;
+  typedef ib_lft_record_t          sacLFTRec;
+  typedef ib_member_rec_t          sacMCMRec;
+  typedef ib_class_port_info_t     sacClassPortInfo;
+  typedef ib_inform_info_t         sacInformInfo;
+  typedef ib_service_record_t      sacServiceRec;
+  typedef ib_slvl_table_t          sacSlVlTbl;
+  typedef ib_slvl_table_record_t   sacSlVlRec;
+  typedef ib_vl_arb_table_record_t sacVlArbRec;
+  typedef ib_pkey_table_t          sacPKeyTbl;
+  typedef ib_pkey_table_record_t   sacPKeyRec;
+  typedef uint8_t                  ib_lft_t;
+
+
+#include "swig_extended_obj.c"
+
+  /* Pre allocated Query Objects */
+  ib_node_record_t        ibsac_node_rec;
+  ib_portinfo_record_t    ibsac_portinfo_rec;
+  ib_sminfo_record_t      ibsac_sminfo_rec;
+  ib_switch_info_record_t ibsac_swinfo_rec;
+  ib_link_record_t        ibsac_link_rec; // no sub type
+  ib_path_rec_t           ibsac_path_rec; // no sub type
+  ib_lft_record_t         ibsac_lft_rec; // no sub type
+  ib_member_rec_t         ibsac_mcm_rec; // no sub type
+
+  ib_class_port_info_t    ibsac_class_port_info; // no sub type
+  ib_inform_info_t        ibsac_inform_info; // no sub type
+  ib_service_record_t     ibsac_svc_rec;  // no sub type
+  ib_slvl_table_record_t  ibsac_slvl_rec; // ib_slvl_table_t
+  ib_vl_arb_table_record_t ibsac_vlarb_rec; // ib_vl_arb_table_t
+  ib_pkey_table_record_t  ibsac_pkey_rec; // ib_pkey_table_t
+
+  /* Query Functions for each record */
+  /* These are TCL specific thus are here */
+
+  char *ibsacNodeRecordQuery(
+	 ib_node_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_node_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_NODE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_node_record_t *)malloc(sizeof(ib_node_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_node_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("nr",p_rec);
+		SWIG_AltMnglRegObj("ni",&(p_rec->node_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "nr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPortInfoRecordQuery(
+	 ib_portinfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_portinfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PORTINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_portinfo_record_t *)malloc(sizeof(ib_portinfo_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_portinfo_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pir",p_rec);
+		SWIG_AltMnglRegObj("pi",&(p_rec->port_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSMInfoRecordQuery(
+	 ib_sminfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_sminfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SMINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_sminfo_record_t *)malloc(sizeof(ib_sminfo_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_sminfo_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("smir",p_rec);
+		SWIG_AltMnglRegObj("smi",&(p_rec->sm_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "smir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSwitchInfoRecordQuery(
+	 ib_switch_info_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_switch_info_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, CL_NTOH16(0x0014), self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_switch_info_record_t *)malloc(sizeof(ib_switch_info_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_switch_info_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("swir",p_rec);
+		SWIG_AltMnglRegObj("swi",&(p_rec->switch_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "swir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPathRecordQuery(
+	 ib_path_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_path_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PATH_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_path_rec_t *)malloc(sizeof(ib_path_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_path_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("path",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "path", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLinkRecordQuery(
+	 ib_link_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_link_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LINK_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_link_record_t *)malloc(sizeof(ib_link_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_link_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("link",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "link", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLFTRecordQuery(
+	 ib_lft_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_lft_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LFT_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_lft_record_t *)malloc(sizeof(ib_lft_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_lft_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("lft",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "lft", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacMCMemberRecordQuery(
+	 ib_member_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_member_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_MCMEMBER_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_member_rec_t *)malloc(sizeof(ib_member_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_member_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("mcm",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "mcm", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacClassPortInfoQuery(
+	 ib_class_port_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_class_port_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_CLASS_PORT_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_class_port_info_t *)malloc(sizeof(ib_class_port_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_class_port_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("cpi",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "cpi", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacInformInfoQuery(
+	 ib_inform_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_inform_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_INFORM_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_inform_info_t *)malloc(sizeof(ib_inform_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_inform_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("info",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "info", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+
+  char *ibsacServiceRecordQuery(
+	 ib_service_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_service_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_SERVICE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_service_record_t *)malloc(sizeof(ib_service_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_service_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("svc",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "svc", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSl2VlRecordQuery(
+	 ib_slvl_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_slvl_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SLVL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_slvl_table_record_t *)malloc(sizeof(ib_slvl_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_slvl_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("slvr",p_rec);
+		SWIG_AltMnglRegObj("slvt",&(p_rec->slvl_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "slvr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacVlArbRecordQuery(
+	 ib_vl_arb_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_vl_arb_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_VLARB_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_vl_arb_table_record_t *)malloc(sizeof(ib_vl_arb_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_vl_arb_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("vlarb",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "vlarb", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPKeyRecordQuery(
+	 ib_pkey_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_pkey_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PKEY_TBL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_pkey_table_record_t *)malloc(sizeof(ib_pkey_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_pkey_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pkr",p_rec);
+		SWIG_AltMnglRegObj("pkt",&(p_rec->pkey_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pkr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+static int  _wrap_const_IB_NR_COMPMASK_LID = 0x1;
+static int  _wrap_const_IB_NR_COMPMASK_RESERVED1 = 0x2;
+static int  _wrap_const_IB_NR_COMPMASK_BASEVERSION = 0x4;
+static int  _wrap_const_IB_NR_COMPMASK_CLASSVERSION = 0x8;
+static int  _wrap_const_IB_NR_COMPMASK_NODETYPE = 0x10;
+static int  _wrap_const_IB_NR_COMPMASK_NUMPORTS = 0x20;
+static int  _wrap_const_IB_NR_COMPMASK_SYSIMAGEGUID = 0x40;
+static int  _wrap_const_IB_NR_COMPMASK_NODEGUID = 0x80;
+static int  _wrap_const_IB_NR_COMPMASK_PORTGUID = 0x100;
+static int  _wrap_const_IB_NR_COMPMASK_PARTCAP = 0x200;
+static int  _wrap_const_IB_NR_COMPMASK_DEVID = 0x400;
+static int  _wrap_const_IB_NR_COMPMASK_REV = 0x800;
+static int  _wrap_const_IB_NR_COMPMASK_PORTNUM = 0x1000;
+static int  _wrap_const_IB_NR_COMPMASK_VENDID = 0x2000;
+static int  _wrap_const_IB_NR_COMPMASK_NODEDESC = 0x4000;
+static char * _wrap_const_IB_PIR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_PIR_COMPMASK_PORTNUM = "0x2";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV1 = "0x4";
+static char * _wrap_const_IB_PIR_COMPMASK_MKEY = "0x8";
+static int  _wrap_const_IB_PIR_COMPMASK_GIDPRE = 0x10;
+static int  _wrap_const_IB_PIR_COMPMASK_BASELID = 0x20;
+static int  _wrap_const_IB_PIR_COMPMASK_SMLID = 0x40;
+static int  _wrap_const_IB_PIR_COMPMASK_CAPMASK = 0x80;
+static int  _wrap_const_IB_PIR_COMPMASK_DIAGCODE = 0x100;
+static int  _wrap_const_IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200;
+static int  _wrap_const_IB_PIR_COMPMASK_LOCALPORTNUM = 0x400;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000;
+static int  _wrap_const_IB_PIR_COMPMASK_PORTSTATE = 0x10000;
+static int  _wrap_const_IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000;
+static int  _wrap_const_IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000;
+static int  _wrap_const_IB_PIR_COMPMASK_LMC = 0x100000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000;
+static int  _wrap_const_IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000;
+static int  _wrap_const_IB_PIR_COMPMASK_MASTERSMSL = 0x1000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLCAP = 0x2000000;
+static int  _wrap_const_IB_PIR_COMPMASK_INITTYPE = 0x4000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000;
+static int  _wrap_const_IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000;
+static int  _wrap_const_IB_PIR_COMPMASK_MTUCAP = 0x80000000;
+static char * _wrap_const_IB_PIR_COMPMASK_VLSTALLCNT = "0x100000000";
+static char * _wrap_const_IB_PIR_COMPMASK_HOQLIFE = "0x200000000";
+static char * _wrap_const_IB_PIR_COMPMASK_OPVLS = "0x400000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PARENFIN = "0x800000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PARENFOUT = "0x1000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_FILTERRAWIN = "0x2000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_FILTERRAWOUT = "0x4000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_MKEYVIO = "0x8000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PKEYVIO = "0x10000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_QKEYVIO = "0x20000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_GUIDCAP = "0x40000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV2 = "0x80000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_SUBNTO = "0x100000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV3 = "0x200000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESPTIME = "0x400000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_LOCALPHYERR = "0x800000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_OVERRUNERR = "0x1000000000000";
+static char * _wrap_const_IB_SMR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SMR_COMPMASK_GUID = "0x2";
+static char * _wrap_const_IB_SMR_COMPMASK_SM_KEY = "0x4";
+static char * _wrap_const_IB_SMR_COMPMASK_ACT_COUNT = "0x8";
+static int  _wrap_const_IB_SMR_COMPMASK_STATE = 0x10;
+static int  _wrap_const_IB_SMR_COMPMASK_PRI = 0x20;
+static char * _wrap_const_IB_SWR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SWR_COMPMASK_LIN_CAP = "0x2";
+static char * _wrap_const_IB_SWR_COMPMASK_RAND_CAP = "0x4";
+static char * _wrap_const_IB_SWR_COMPMASK_MCAST_CAP = "0x8";
+static char * _wrap_const_IB_SWR_COMPMASK_LIN_TOP = "0x10";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_PORT = "0x20";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_MCAST_PRI = "0x40";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_MCAST_NOT = "0x80";
+static char * _wrap_const_IB_SWR_COMPMASK_STATE = "0x100";
+static char * _wrap_const_IB_SWR_COMPMASK_LIFE = "0x200";
+static char * _wrap_const_IB_SWR_COMPMASK_LMC = "0x400";
+static char * _wrap_const_IB_SWR_COMPMASK_ENFORCE_CAP = "0x800";
+static char * _wrap_const_IB_SWR_COMPMASK_FLAGS = "0x1000";
+static int  _wrap_const_IB_LR_COMPMASK_FROM_LID = 0x1;
+static int  _wrap_const_IB_LR_COMPMASK_FROM_PORT = 0x2;
+static int  _wrap_const_IB_LR_COMPMASK_TO_PORT = 0x4;
+static int  _wrap_const_IB_LR_COMPMASK_TO_LID = 0x8;
+static int  _wrap_const_IB_PR_COMPMASK_DGID = 0x4;
+static int  _wrap_const_IB_PR_COMPMASK_SGID = 0x8;
+static int  _wrap_const_IB_PR_COMPMASK_DLID = 0x10;
+static int  _wrap_const_IB_PR_COMPMASK_SLID = 0x20;
+static int  _wrap_const_IB_PR_COMPMASK_RAWTRAFIC = 0x40;
+static int  _wrap_const_IB_PR_COMPMASK_RESV0 = 0x80;
+static int  _wrap_const_IB_PR_COMPMASK_FLOWLABEL = 0x100;
+static int  _wrap_const_IB_PR_COMPMASK_HOPLIMIT = 0x200;
+static int  _wrap_const_IB_PR_COMPMASK_TCLASS = 0x400;
+static int  _wrap_const_IB_PR_COMPMASK_REVERSIBLE = 0x800;
+static int  _wrap_const_IB_PR_COMPMASK_NUMBPATH = 0x1000;
+static int  _wrap_const_IB_PR_COMPMASK_PKEY = 0x2000;
+static int  _wrap_const_IB_PR_COMPMASK_RESV1 = 0x4000;
+static int  _wrap_const_IB_PR_COMPMASK_SL = 0x8000;
+static int  _wrap_const_IB_PR_COMPMASK_MTUSELEC = 0x10000;
+static int  _wrap_const_IB_PR_COMPMASK_MTU = 0x20000;
+static int  _wrap_const_IB_PR_COMPMASK_RATESELEC = 0x40000;
+static int  _wrap_const_IB_PR_COMPMASK_RATE = 0x80000;
+static int  _wrap_const_IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000;
+static int  _wrap_const_IB_PR_COMPMASK_PFTLIFETIME = 0x200000;
+static char * _wrap_const_IB_LFT_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_LFT_COMPMASK_BLOCK = "0x2";
+static char * _wrap_const_IB_MCR_COMPMASK_GID = "0x1";
+static char * _wrap_const_IB_MCR_COMPMASK_MGID = "0x1";
+static char * _wrap_const_IB_MCR_COMPMASK_PORT_GID = "0x2";
+static char * _wrap_const_IB_MCR_COMPMASK_QKEY = "0x4";
+static char * _wrap_const_IB_MCR_COMPMASK_MLID = "0x8";
+static char * _wrap_const_IB_MCR_COMPMASK_MTU_SEL = "0x10";
+static char * _wrap_const_IB_MCR_COMPMASK_MTU = "0x20";
+static char * _wrap_const_IB_MCR_COMPMASK_TCLASS = "0x40";
+static char * _wrap_const_IB_MCR_COMPMASK_PKEY = "0x80";
+static char * _wrap_const_IB_MCR_COMPMASK_RATE_SEL = "0x100";
+static char * _wrap_const_IB_MCR_COMPMASK_RATE = "0x200";
+static char * _wrap_const_IB_MCR_COMPMASK_LIFE_SEL = "0x400";
+static char * _wrap_const_IB_MCR_COMPMASK_LIFE = "0x800";
+static char * _wrap_const_IB_MCR_COMPMASK_SL = "0x1000";
+static char * _wrap_const_IB_MCR_COMPMASK_FLOW = "0x2000";
+static char * _wrap_const_IB_MCR_COMPMASK_HOP = "0x4000";
+static char * _wrap_const_IB_MCR_COMPMASK_SCOPE = "0x8000";
+static char * _wrap_const_IB_MCR_COMPMASK_JOIN_STATE = "0x10000";
+static char * _wrap_const_IB_MCR_COMPMASK_PROXY = "0x20000";
+
+typedef union {
+	 struct _sac_inform_generic
+	 {
+		ib_net16_t		trap_num;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			node_type_msb;
+		ib_net16_t		node_type_lsb;
+	 } generic;
+
+	 struct _sac_inform_vend
+	 {
+		ib_net16_t		dev_id;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			vendor_id_msb;
+		ib_net16_t		vendor_id_lsb;
+	 } vend;
+
+  } sacInformInfo_g_or_v;
+
+
+typedef struct {
+		ib_net16_t		trap_num;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			node_type_msb;
+		ib_net16_t		node_type_lsb;
+	 } sacInformInfo_g_or_v_generic;
+
+
+typedef struct {
+		ib_net16_t		dev_id;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			vendor_id_msb;
+		ib_net16_t		vendor_id_lsb;
+	 } sacInformInfo_g_or_v_vend;
+
+static char * _wrap_const_IB_SR_COMPMASK_SID = "0x1";
+static char * _wrap_const_IB_SR_COMPMASK_SGID = "0x1";
+static char * _wrap_const_IB_SR_COMPMASK_SPKEY = "0x2";
+static char * _wrap_const_IB_SR_COMPMASK_RES1 = "0x4";
+static char * _wrap_const_IB_SR_COMPMASK_SLEASE = "0x8";
+static char * _wrap_const_IB_SR_COMPMASK_SKEY = "0x10";
+static char * _wrap_const_IB_SR_COMPMASK_SNAME = "0x20";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_0 = "0x40";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_1 = "0x80";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_2 = "0x100";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_3 = "0x200";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_4 = "0x400";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_5 = "0x800";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_6 = "0x1000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_7 = "0x2000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_8 = "0x4000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_9 = "0x8000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_10 = "0x10000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_11 = "0x20000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_12 = "0x40000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_13 = "0x80000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_14 = "0x100000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_15 = "0x200000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_0 = "0x400000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_1 = "0x800000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_2 = "0x1000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_3 = "0x2000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_4 = "0x4000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_5 = "0x8000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_6 = "0x10000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_7 = "0x20000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_0 = "0x40000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_1 = "0x80000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_2 = "0x100000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_3 = "0x200000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA64_0 = "0x400000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA64_1 = "0x800000000";
+static char * _wrap_const_IB_SLVL_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SLVL_COMPMASK_IN_PORT = "0x2";
+static char * _wrap_const_IB_SLVL_COMPMASK_OUT_PORT = "0x4";
+static char * _wrap_const_IB_VLA_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_VLA_COMPMASK_OUT_PORT = "0x2";
+static char * _wrap_const_IB_VLA_COMPMASK_BLOCK = "0x4";
+
+#define sac_vl_arb_tbl_t ib_vl_arb_table_t
+static char * _wrap_const_IB_PKEY_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_PKEY_COMPMASK_BLOCK = "0x2";
+static char * _wrap_const_IB_PKEY_COMPMASK_PORT = "0x4";
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+  /* the global pointer to this SM mads manager */
+  static ibsm_t *gp_ibsm;
+
+  /* the data section within a LFT mad */
+  typedef struct _ibsm_lft_block {
+    uint8_t lft[64];
+  } ibsm_lft_block_t;
+
+  /* the data section within a MFT mad */
+  typedef struct _ibsm_mft_block {
+    uint16_t mft[32];
+  } ibsm_mft_block_t;
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_info_t        smNodeInfo;
+  typedef ib_port_info_t        smPortInfo;
+  typedef ib_switch_info_t      smSwInfo;
+  typedef ibsm_lft_block_t      smLftBlock;
+  typedef ibsm_mft_block_t      smMftBlock;
+  typedef ib_guid_info_t        smGuidInfo;
+  typedef ib_pkey_table_t       smPkeyTable;
+  typedef ib_slvl_table_t       smSlVlTable;
+  typedef ib_vl_arb_table_t     smVlArbTable;
+  typedef ib_node_desc_t        smNodeDesc;
+  typedef ib_sm_info_t          smSMInfo;
+  typedef ib_mad_notice_attr_t  smNotice;
+
+  /* these are the globals to be used for set/get */
+  ib_node_info_t          ibsm_node_info_obj;
+  ib_port_info_t          ibsm_port_info_obj;
+  ib_switch_info_t        ibsm_switch_info_obj;
+  ibsm_lft_block_t        ibsm_lft_block_obj;
+  ibsm_mft_block_t        ibsm_mft_block_obj;
+  ib_guid_info_t          ibsm_guid_info_obj;
+  ib_pkey_table_t         ibsm_pkey_table_obj;
+  ib_slvl_table_t         ibsm_slvl_table_obj;
+  ib_vl_arb_table_t       ibsm_vl_arb_table_obj;
+  ib_node_desc_t          ibsm_node_desc_obj;
+  ib_sm_info_t            ibsm_sm_info_obj;
+  ib_mad_notice_attr_t    ibsm_notice_obj;
+
+  /* TODO - define a Vendor Specific CR Read/Write attributes to use VL15 */
+
+
+  int smMftGetAttrMod( uint16_t startLid, uint8_t startPort, uint32_t *p_attrMod )
+    {
+      if (startLid % 32)
+      {
+        printf("Error: Given startLid must be a multiply of 32: %u\n", startLid);
+        return TCL_ERROR;
+      }
+      if (startPort % 16)
+      {
+        printf("Error: Given startPort must be a multiply of 16: %u\n", startPort);
+        return TCL_ERROR;
+      }
+
+      /*
+         always true due to the uint8_t
+         if (startPort > 255)
+         {
+         printf("Error: Given startPort is out of range: %u > 255\n", startPort);
+         return TCL_ERROR;
+         }
+      */
+      *p_attrMod = ((startLid - 0xc000) / 32) + ((startPort / 16) << 28);
+      return TCL_OK;
+    }
+
+  typedef uint8_t ibsm_node_desc_str_t;
+
+typedef union {
+	 struct _sm_notice_generic
+	 {
+		uint8_t		prod_type_msb;
+		ib_net16_t	prod_type_lsb;
+		ib_net16_t	trap_num;
+	 }	generic;
+
+	 struct _sm_notice_vend
+	 {
+		uint8_t		vend_id_msb;
+		ib_net16_t	vend_id_lsb;
+		ib_net16_t	dev_id;
+	 } vend;
+  } smNotice_g_or_v;
+
+
+typedef union {
+    struct _sm_raw_data
+    {
+      uint8_array_t	details[54];
+    } raw_data;
+
+    struct _sm_ntc_64_67
+    {
+      uint8_array_t  res[6];
+      ib_gid_t   gid;	// the Node or Multicast Group that came in/out
+    } ntc_64_67;
+
+    struct _sm_ntc_128 {
+      ib_net16_t sw_lid; // the sw lid of which link state changed
+    } ntc_128;
+
+    struct _sm_ntc_129_131 {
+      ib_net16_t    pad;
+      ib_net16_t    lid;		// lid and port number of the violation
+      uint8_t       port_num;
+    } ntc_129_131;
+
+    struct _sm_ntc_144 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where capability mask changed
+      ib_net16_t    pad2;
+      ib_net32_t    new_cap_mask; // new capability mask
+    } ntc_144;
+
+    struct _sm_ntc_145 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where sys guid changed
+      ib_net16_t    pad2;
+      ib_net64_t    new_sys_guid; // new system image guid
+    } ntc_145;
+
+    struct _sm_ntc_256 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;
+      ib_net16_t    pad2;
+      uint8_t       method;
+      uint8_t       pad3;
+      ib_net16_t    attr_id;
+      ib_net32_t    attr_mod;
+      ib_net64_t    mkey;
+      uint8_t       dr_slid;
+      uint8_t       dr_trunc_hop;
+      uint8_array_t dr_rtn_path[30];
+    } ntc_256;
+
+    struct _sm_ntc_257_258 // violation of p/q_key // 49
+    {
+      ib_net16_t    pad1;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      ib_net32_t    qp2;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+    } ntc_257_258;
+
+    struct _sm_ntc_259 // p/q_key violation with sw info 53
+    {
+      ib_net16_t    data_valid;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      uint8_t       qp2_msb;
+      ib_net16_t    qp2_lsb;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+      ib_net16_t    sw_lid;
+      uint8_t       port_no;
+    } ntc_259;
+
+  } smNotice_data_details;
+
+
+typedef struct {
+		uint8_t		prod_type_msb;
+		ib_net16_t	prod_type_lsb;
+		ib_net16_t	trap_num;
+	 } smNotice_g_or_v_generic;
+
+
+typedef struct {
+		uint8_t		vend_id_msb;
+		ib_net16_t	vend_id_lsb;
+		ib_net16_t	dev_id;
+	 } smNotice_g_or_v_vend;
+
+
+typedef struct {
+      uint8_array_t	details[54];
+    } smNotice_data_details_raw_data;
+
+
+typedef struct {
+      uint8_array_t  res[6];
+      ib_gid_t   gid;	// the Node or Multicast Group that came in/out
+    } smNotice_data_details_ntc_64_67;
+
+
+typedef struct {
+      ib_net16_t sw_lid; // the sw lid of which link state changed
+    } smNotice_data_details_ntc_128;
+
+
+typedef struct {
+      ib_net16_t    pad;
+      ib_net16_t    lid;		// lid and port number of the violation
+      uint8_t       port_num;
+    } smNotice_data_details_ntc_129_131;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where capability mask changed
+      ib_net16_t    pad2;
+      ib_net32_t    new_cap_mask; // new capability mask
+    } smNotice_data_details_ntc_144;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where sys guid changed
+      ib_net16_t    pad2;
+      ib_net64_t    new_sys_guid; // new system image guid
+    } smNotice_data_details_ntc_145;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;
+      ib_net16_t    pad2;
+      uint8_t       method;
+      uint8_t       pad3;
+      ib_net16_t    attr_id;
+      ib_net32_t    attr_mod;
+      ib_net64_t    mkey;
+      uint8_t       dr_slid;
+      uint8_t       dr_trunc_hop;
+      uint8_array_t dr_rtn_path[30];
+    } smNotice_data_details_ntc_256;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      ib_net32_t    qp2;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+    } smNotice_data_details_ntc_257_258;
+
+
+typedef struct {
+      ib_net16_t    data_valid;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      uint8_t       qp2_msb;
+      ib_net16_t    qp2_lsb;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+      ib_net16_t    sw_lid;
+      uint8_t       port_no;
+    } smNotice_data_details_ntc_259;
+
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+	/* the global pointer to this CC mads manager */
+	static ibcc_t *gp_ibcc;
+
+	/* we probably want to use our own naming for classes */
+	typedef ib_class_port_info_t       ccClassPortInfo;
+	typedef ibcc_notice_attr_t         ccNotice;
+	typedef ib_cong_info_t             ccCongestionInfo;
+	typedef ib_cong_key_info_t         ccCongestionKeyInfo;
+	typedef ibcc_ca_cong_log_t         ccCACongestionLog;
+	typedef ibcc_sw_cong_log_t         ccSWCongestionLog;
+	typedef ib_sw_cong_setting_t       ccSWCongestionSetting;
+	typedef ib_sw_port_cong_setting_t  ccSWPortCongestionSetting;
+	typedef ib_ca_cong_setting_t       ccCACongestionSetting;
+	typedef ib_cc_tbl_t                ccTable;
+	typedef ib_time_stamp_t            ccTimeStamp;
+
+	/* these are the global objects to be used
+	   for set/get (one for each attribute) */
+	ib_class_port_info_t               ibcc_class_port_info_obj;
+	ibcc_notice_attr_t                 ibcc_notice_obj;
+	ib_cong_info_t                     ibcc_cong_info_obj;
+	ib_cong_key_info_t                 ibcc_cong_key_info_obj;
+	ibcc_ca_cong_log_t                 ibcc_ca_cong_log_obj;
+	ibcc_sw_cong_log_t                 ibcc_sw_cong_log_obj;
+	ib_sw_cong_setting_t               ibcc_sw_cong_setting_obj;
+	ib_sw_port_cong_setting_t          ibcc_sw_port_cong_setting_obj;
+	ib_ca_cong_setting_t               ibcc_ca_cong_setting_obj;
+	ib_cc_tbl_t                        ibcc_table_obj;
+	ib_time_stamp_t                    ibcc_time_stamp_obj;
+
+
+  /* globals */
+  ibis_t    IbisObj;
+  static ibis_opt_t  *ibis_opt_p;
+  ibis_opt_t IbisOpts;
+
+  /* initialize the ibis object - is not done during init so we
+     can play with the options ... */
+  int ibis_ui_init(void)
+  {
+    ib_api_status_t status;
+#ifdef OSM_BUILD_OPENIB
+    complib_init();
+#endif
+
+	 status = ibis_init( &IbisOpts, IbisOpts.log_flags );
+	 if( status != IB_SUCCESS ) {
+		printf("-E- Error from ibis_init: %s.\n",
+				 ib_get_err_str( status ));
+		ibis_destroy();
+		exit(1);
+	 }
+
+    status = ibcr_init(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibcr_init.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_init(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibpm_init.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_init(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibvs_init.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_init(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibbbm_init.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_init(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibsm_init.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_init(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibcc_init.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  /* destroy the osm object and close the complib.
+     This function is called from by the Tcl_CreateExitHandler - meaning
+     it will be called when calling 'exit' in the osm shell. */
+  void
+    ibis_exit( ClientData clientData ) {
+    ibcr_destroy(p_ibcr_global);
+    ibpm_destroy(p_ibpm_global);
+    ibvs_destroy(p_ibvs_global);
+    ibbbm_destroy(p_ibbbm_global);
+    ibsm_destroy(gp_ibsm);
+    ibcc_destroy(gp_ibcc);
+
+    ibis_destroy();
+    usleep(100);
+    complib_exit();
+  }
+
+  int ibis_ui_destroy(void)
+  {
+    ibis_exit(NULL);
+    return TCL_OK;
+  }
+
+
+  /* simply return the active port guid ibis is binded to */
+  uint64_t ibis_get_port(void)
+  {
+    return (IbisObj.port_guid);
+  }
+
+  /* set the port we bind to and initialize sub packages */
+  int ibis_set_port(uint64_t port_guid)
+  {
+    ib_api_status_t status;
+
+    if (! IbisObj.initialized) {
+      ibis_set_tcl_error("ibis was not initialized! Please use ibis_init before any call to ibis_*");
+      ibis_tcl_error = 1;
+      return 1;
+    }
+
+    IbisObj.port_guid = port_guid;
+
+    status = ibcr_bind(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcr_bind.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_bind(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibpm_bind.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_bind(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibvs_bind.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_bind(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibbbm_bind.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_bind(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibsm_bind.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_bind(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcc_bind.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    if (ibsac_bind(&IbisObj))
+    {
+      printf("-E- Fail to ibsac_bind.\n");
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  int ibis_set_verbosity(int level) {
+    if (IbisObj.initialized)
+      osm_log_set_level( &(IbisObj.log), level );
+    else
+      IbisOpts.log_flags = level;
+
+	 return TCL_OK;
+  }
+
+  int ibis_puts( osm_log_level_t verbosity, char *msg) {
+	 osm_log(&(IbisObj.log), verbosity, msg );
+	 return TCL_OK;
+  }
+
+  int ibis_set_transaction_timeout( uint32_t timeout_ms ) {
+	 osm_log(&(IbisObj.log),
+				OSM_LOG_VERBOSE,
+				" Setting timeout to:%u[msec]\n", timeout_ms);
+	 IbisOpts.transaction_timeout = timeout_ms;
+	 return TCL_OK;
+  }
+
+  /* return the list of port guids and their status etc */
+  static int ibis_get_local_ports_info (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj * tcl_result;
+	 ibis_t *p_ibis = &IbisObj;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_ports = GUID_ARRAY_SIZE;
+	 ib_port_attr_t attr_array[GUID_ARRAY_SIZE];
+	 static char res[128];
+	 Tcl_Obj *p_obj;
+
+    if (!IbisObj.initialized)
+    {
+      Tcl_SetStringObj(
+        Tcl_GetObjResult(interp),
+        "ibis was not yet initialized. please use ibis_init before.", -1);
+      return TCL_ERROR;
+    }
+
+	 /* command options */
+    tcl_result = Tcl_GetObjResult(interp);
+
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_get_local_ports_info ",-1);
+        return TCL_ERROR;
+    }
+
+	 /*
+		Call the transport layer for a list of local port
+		GUID values.
+	 */
+    status = osm_vendor_get_all_port_attr(
+      p_ibis->p_vendor,
+      attr_array,
+      &num_ports );
+    if( status != IB_SUCCESS )
+    {
+      sprintf(ibis_tcl_error_msg,"-E- fail status:%x\n", status);
+      ibis_tcl_error = 1;
+      return( TCL_ERROR );
+    }
+
+	 /*
+		 Go over all ports and build the return  value
+	 */
+	 for( i = 0; i < num_ports; i++ )
+    {
+
+      // start with 1 on host channel adapters.
+      sprintf(res, "0x%016" PRIx64 " 0x%04X %s %u",
+              cl_ntoh64( attr_array[i].port_guid ),
+              attr_array[i].lid,
+              ib_get_port_state_str( attr_array[i].link_state ),
+              attr_array[i].port_num
+              );
+
+      p_obj = Tcl_NewStringObj(res, strlen(res));
+      Tcl_ListObjAppendElement(interp, tcl_result, p_obj);
+    }
+
+    return TCL_OK;
+  }
+
+static int  _wrap_const_IBIS_LOG_NONE = 0x00;
+static int  _wrap_const_IBIS_LOG_ERROR = 0x01;
+static int  _wrap_const_IBIS_LOG_INFO = 0x02;
+static int  _wrap_const_IBIS_LOG_VERBOSE = 0x04;
+static int  _wrap_const_IBIS_LOG_DEBUG = 0x08;
+static int  _wrap_const_IBIS_LOG_FUNCS = 0x10;
+static int  _wrap_const_IBIS_LOG_FRAMES = 0x20;
+extern char * ibisSourceVersion;
+static int _wrap_crDestroy(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crDestroy ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_destroy_global();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crRead lid address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_read_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_crWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crWrite lid data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crReadMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_cr_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBCR_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crReadMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBCR_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = strtoul(str, NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_multi_read_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_crWriteMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_cr_arr_t * _arg1;
+    uint32_t * _arg2;
+    uint32_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBCR_MULTI_MAX];
+    uint32_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crWriteMulti num lid_list data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBCR_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = strtoul(str, NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_multi_write_global(*_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmGetPortCounters(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetPortCounters lid port_select ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_counters_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_pmGetPortCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetPortCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_multi_counters_global(*_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_pmGetExtPortCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetExtPortCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_multi_counters_extended_global(*_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_pmClrAllCounters(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmClrAllCounters lid port_select ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_clr_all_counters_global(*_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmClrAllCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmClrAllCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_clr_all_multi_counters_global(*_arg0,_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsCpuRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    char ** _arg4;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsCpuRead lid size cpu_traget_size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_cpu_read_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg4,strlen(*_arg4));
+  if (*_arg4) free(*_arg4);
+}
+    return TCL_OK;
+}
+static int _wrap_vsCpuWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint32_vs_data_arr_t * _arg3;
+    uint32_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint32_t  temp2[IBVS_DATA_MAX];
+    uint32_t  temp3;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsCpuWrite lid size cpu_traget_size data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[4],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp2[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg3 = temp2;
+    free(loc_buf);
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_cpu_write_global(*_arg0,*_arg1,*_arg2,_arg3,*_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsI2cRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    char ** _arg5;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+
+    clientData = clientData; objv = objv;
+{
+  _arg5 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cRead lid port_num device_id size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_i2c_read_global(*_arg0,*_arg1,*_arg2,*_arg3,*_arg4,_arg5);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg5,strlen(*_arg5));
+  if (*_arg5) free(*_arg5);
+}
+    return TCL_OK;
+}
+static int _wrap_vsI2cWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    uint32_vs_data_arr_t * _arg5;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+    uint32_t  temp4[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cWrite lid port_num device_id size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[6],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp4[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg5 = temp4;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_i2c_write_global(*_arg0,*_arg1,*_arg2,*_arg3,*_arg4,_arg5);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsI2cReadMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint8_t * _arg4;
+    uint32_t * _arg5;
+    char ** _arg6;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint8_t  temp3;
+    uint32_t  temp4;
+
+    clientData = clientData; objv = objv;
+{
+  _arg6 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cReadMulti num lid_list port_num device_id size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  temp4 = strtoul(Tcl_GetStringFromObj(objv[6],NULL), NULL, 0);
+  _arg5 = &temp4;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_i2c_read_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,*_arg5,_arg6);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg6,strlen(*_arg6));
+  if (*_arg6) free(*_arg6);
+}
+    return TCL_OK;
+}
+static int _wrap_vsI2cWriteMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint8_t * _arg4;
+    uint32_t * _arg5;
+    uint32_vs_data_arr_t * _arg6;
+    char ** _arg7;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint8_t  temp3;
+    uint32_t  temp4;
+    uint32_t  temp5[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg7 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 8) || (objc > 8)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cWriteMulti num lid_list port_num device_id size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  temp4 = strtoul(Tcl_GetStringFromObj(objv[6],NULL), NULL, 0);
+  _arg5 = &temp4;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[7],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp5[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg6 = temp5;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_i2c_write_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,*_arg5,_arg6,_arg7);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg7,strlen(*_arg7));
+  if (*_arg7) free(*_arg7);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGpioRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGpioRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_gpio_read_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGpioWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint64_t * _arg1;
+    uint64_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint64_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGpioWrite lid gpio_mask gpio_data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[3],NULL), NULL,16);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_gpio_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsSWReset(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsSWReset num lid_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_sw_reset_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsFlashStartMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    uint32_vs_data_arr_t * _arg5;
+    char ** _arg6;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+    uint32_t  temp4[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg6 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashStartMulti num lid_list last size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[6],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp4[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg5 = temp4;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_open_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg6,strlen(*_arg6));
+  if (*_arg6) free(*_arg6);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashStopMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashStopMulti num lid_list force ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_close_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashSetBankMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashSetBankMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_set_bank_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashEraseSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashEraseSectorMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_erase_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashReadSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    char ** _arg4;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashReadSectorMulti num lid_list size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_read_global(*_arg0,_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg4,strlen(*_arg4));
+  if (*_arg4) free(*_arg4);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashWriteSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    uint32_vs_data_arr_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint32_t  temp2;
+    uint32_t  temp3[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashWriteSectorMulti num lid_list size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[5],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp3[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg4 = temp3;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_write_global(*_arg0,_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsMirrorRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMirrorRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_mirror_read_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsMirrorWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMirrorWrite lid rx_mirror tx_mirror ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_mirror_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsGetGeneralInfo(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGetGeneralInfo lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_general_info_get_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGetPrivateLFTMap(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGetPrivateLFTMap lid upper_ports ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_plft_map_get_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_bbmVpdRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    uint16_t * _arg3;
+    ib_bbm_vpd_t * _arg4;
+    ib_bbm_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+    uint8_t  temp1;
+    uint16_t  temp2;
+    uint16_t  temp3;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVpdRead lid vpd_device_selector bytes_num offset ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_vpd_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg4) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x }",
+                        cl_ntoh64(_arg4->b_key),
+                        cl_ntoh16(_arg4->bm_sequence),
+			(_arg4->vpd_device_selector),
+			cl_ntoh16(_arg4->bytes_num),
+			cl_ntoh16(_arg4->offset));
+         for (i=0;i<cl_ntoh16(_arg4->bytes_num);i++) {
+         	sprintf(buff,"%s {data%u 0x%x} ",buff,i,_arg4->data[i]);
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmVpdWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    uint16_t * _arg3;
+    uint8_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+    uint16_t  temp2;
+    uint8_t  temp3;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVpdWrite lid vpd_device_selector bytes_num offset p_data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_write_vpd_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_bbmVSDRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_bsn_vpd_t * _arg1;
+    ib_bbm_bsn_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVSDRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_bsn_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset));
+	 for (j=0;j<IBBBM_BSN_VPD_SIZE;j++) {
+		sprintf(buff,"%s {bsn%u 0x%x} ",buff,j,_arg1->bsn[j]);
+	 };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmBSNRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_bsn_vpd_t * _arg1;
+    ib_bbm_bsn_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmBSNRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_bsn_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset));
+	 for (j=0;j<IBBBM_BSN_VPD_SIZE;j++) {
+		sprintf(buff,"%s {bsn%u 0x%x} ",buff,j,_arg1->bsn[j]);
+	 };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmModRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_mod_vpd_t * _arg1;
+    ib_bbm_mod_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmModRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_mod_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+			cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->temp_sensor_count);
+
+         for (i=0;i<IBBBM_MOD_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,_arg1->power_sup_count);
+
+	 for (i=0;i<IBBBM_MOD_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32(_arg1->power_sup_record[i]));
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmChaRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_cha_vpd_t * _arg1;
+    ib_bbm_cha_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmChaRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_cha_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->temp_sensor_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,_arg1->power_sup_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32(_arg1->power_sup_record[i]));
+         };
+
+	 sprintf(buff,"%s {fan_count 0x%x} ",buff,_arg1->fan_count);
+
+   	 for (i=0;i<IBBBM_CHA_VPD_FAN_SIZE;i++) {
+         	sprintf(buff,"%s {fan%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->fan_record[i]));
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmFWVerRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_fw_ver_vpd_t * _arg1;
+    ib_bbm_fw_ver_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmFWVerRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_fw_ver_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x} {maj_fw_ver 0x%x} {min_fw_ver 0x%x} {sub_min_fw_ver 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->maj_fw_ver,
+			_arg1->min_fw_ver,
+			_arg1->sub_min_fw_ver);
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibis_puts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_puts verbosity msg ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibis_puts(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_init(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_init ",-1);
+        return TCL_ERROR;
+    }
+    _result = (int )ibis_ui_init();
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_set_verbosity(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    int  _arg0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_verbosity level ",-1);
+        return TCL_ERROR;
+    }
+    if (Tcl_GetIntFromObj(interp,objv[1],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg0 = (int ) tempint;
+    _result = (int )ibis_set_verbosity(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_set_port(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint64_t * _arg0;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_port guid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[1],NULL), NULL,16);
+  _arg0 = &temp;
+}
+    _result = (int )ibis_set_port(*_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_get_port(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_get_port ",-1);
+        return TCL_ERROR;
+    }
+    _result = (new_uint64_t *) malloc(sizeof(new_uint64_t ));
+    *(_result) = ibis_get_port();
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  free( _result );
+}
+    return TCL_OK;
+}
+static int _wrap_ibis_set_transaction_timeout(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint32_t * _arg0;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_transaction_timeout timeout_ms ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+    _result = (int )ibis_set_transaction_timeout(*_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_exit(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_exit ",-1);
+        return TCL_ERROR;
+    }
+    _result = (int )ibis_ui_destroy();
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define _ib_node_info_base_version_set(_swigobj,_swigval) (_swigobj->base_version = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_base_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_base_version_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_base_version_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_base_version_get(_swigobj) (&_swigobj->base_version)
+static int _wrap_sacNodeInfo_base_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_base_version_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_base_version_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_set(_swigobj,_swigval) (_swigobj->class_version = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_class_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_class_version_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_class_version_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_get(_swigobj) (&_swigobj->class_version)
+static int _wrap_sacNodeInfo_class_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_class_version_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_class_version_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_set(_swigobj,_swigval) (_swigobj->node_type = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_node_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_type_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_type_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_get(_swigobj) (&_swigobj->node_type)
+static int _wrap_sacNodeInfo_node_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_type_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_type_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_set(_swigobj,_swigval) (_swigobj->num_ports = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_num_ports_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_num_ports_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_num_ports_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_get(_swigobj) (&_swigobj->num_ports)
+static int _wrap_sacNodeInfo_num_ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_num_ports_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_num_ports_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_sys_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_sys_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+static int _wrap_sacNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_sys_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_sys_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+static int _wrap_sacNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+static int _wrap_sacNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_set(_swigobj,_swigval) (_swigobj->partition_cap = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_partition_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_partition_cap_set { sacNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_partition_cap_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_get(_swigobj) (&_swigobj->partition_cap)
+static int _wrap_sacNodeInfo_partition_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_partition_cap_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_partition_cap_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_set(_swigobj,_swigval) (_swigobj->device_id = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_device_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_device_id_set { sacNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_device_id_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_get(_swigobj) (&_swigobj->device_id)
+static int _wrap_sacNodeInfo_device_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_device_id_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_device_id_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_set(_swigobj,_swigval) (_swigobj->revision = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_revision_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_revision_set { sacNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_revision_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_get(_swigobj) (&_swigobj->revision)
+static int _wrap_sacNodeInfo_revision_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_revision_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_revision_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_set(_swigobj,_swigval) (_swigobj->port_num_vendor_id = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_port_num_vendor_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_num_vendor_id_set { sacNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_num_vendor_id_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_get(_swigobj) (&_swigobj->port_num_vendor_id)
+static int _wrap_sacNodeInfo_port_num_vendor_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_num_vendor_id_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_num_vendor_id_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacNodeInfo_delete(sacNodeInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacNodeInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_delete { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_delete. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacNodeInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacNodeInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacNodeInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacNodeInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacNodeInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_base_version_set;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_class_version_set;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_type_set;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_sacNodeInfo_num_ports_set;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_sys_guid_set;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_guid_set;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_guid_set;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_sacNodeInfo_partition_cap_set;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_device_id_set;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_sacNodeInfo_revision_set;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_num_vendor_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_base_version_get;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_class_version_get;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_type_get;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_sacNodeInfo_num_ports_get;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_sys_guid_get;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_guid_get;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_guid_get;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_sacNodeInfo_partition_cap_get;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_device_id_get;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_sacNodeInfo_revision_get;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_num_vendor_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacNodeInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacNodeInfo_base_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_class_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_node_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_num_ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_node_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_port_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_partition_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-partition_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_device_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-device_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_revision_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revision ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_port_num_vendor_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num_vendor_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacNodeInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacNodeInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacNodeInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacNodeInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacNodeInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacNodeInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_node_record_t_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_lid_set { sacNodeRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_lid_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_record_t_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacNodeRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_lid_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_lid_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_record_t_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_info_set(_swigobj,_swigval) (_swigobj->node_info = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_node_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _result;
+    sacNodeRec * _arg0;
+    sacNodeInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_info_set { sacNodeRec * } { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_info_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacNodeRec_node_info_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacNodeInfo *)_ib_node_record_t_node_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacNodeInfo_p");
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_info_get(_swigobj) (&_swigobj->node_info)
+static int _wrap_sacNodeRec_node_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_info_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_info_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacNodeInfo *)_ib_node_record_t_node_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacNodeInfo_p");
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_desc_set(_swigobj,_swigval) (_swigobj->node_desc = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_node_desc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_node_desc_t * _result;
+    sacNodeRec * _arg0;
+    ib_node_desc_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_node_desc_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_desc_set { sacNodeRec * } { ib_node_desc_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_desc_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  strcpy((char *)temp.description, Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_node_desc_t *)_ib_node_record_t_node_desc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_desc_get(_swigobj) (&_swigobj->node_desc)
+static int _wrap_sacNodeRec_node_desc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_node_desc_t * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_desc_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_desc_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_node_desc_t *)_ib_node_record_t_node_desc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacNodeRec_get(sacNodeRec *self,uint64_t  comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacNodeRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacNodeRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_get { sacNodeRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacNodeRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacNodeRec_getTable(sacNodeRec *self,uint64_t  comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacNodeRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacNodeRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_getTable { sacNodeRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_getTable. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacNodeRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacNodeRec_delete(sacNodeRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->node_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacNodeRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_delete { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_delete. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacNodeRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacNodeRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacNodeRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacNodeRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacNodeRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacNodeRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacNodeRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacNodeRec_lid_set;
+                }  else if (strcmp(_str,"-node_info") == 0) {
+                    cmd = _wrap_sacNodeRec_node_info_set;
+                }  else if (strcmp(_str,"-node_desc") == 0) {
+                    cmd = _wrap_sacNodeRec_node_desc_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -node_info -node_desc  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -node_info -node_desc  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacNodeRec_lid_get;
+                }  else if (strcmp(_str,"-node_info") == 0) {
+                    cmd = _wrap_sacNodeRec_node_info_get;
+                }  else if (strcmp(_str,"-node_desc") == 0) {
+                    cmd = _wrap_sacNodeRec_node_desc_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacNodeRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -node_info -node_desc  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -node_info -node_desc  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacNodeRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeRec_node_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeRec_node_desc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_desc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacNodeRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacNodeRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacNodeRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacNodeRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacNodeRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacNodeRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_port_info_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_set { sacPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_sacPortInfo_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_set(_swigobj,_swigval) (_swigobj->subnet_prefix = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_subnet_prefix_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_prefix_set { sacPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_prefix_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_get(_swigobj) (&_swigobj->subnet_prefix)
+static int _wrap_sacPortInfo_subnet_prefix_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_prefix_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_prefix_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_base_lid_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_base_lid_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_get(_swigobj) (&_swigobj->base_lid)
+static int _wrap_sacPortInfo_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_base_lid_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_base_lid_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_set(_swigobj,_swigval) (_swigobj->master_sm_base_lid = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_master_sm_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_master_sm_base_lid_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_master_sm_base_lid_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_get(_swigobj) (&_swigobj->master_sm_base_lid)
+static int _wrap_sacPortInfo_master_sm_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_master_sm_base_lid_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_master_sm_base_lid_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_set(_swigobj,_swigval) (_swigobj->capability_mask = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_capability_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_capability_mask_set { sacPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_capability_mask_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_get(_swigobj) (&_swigobj->capability_mask)
+static int _wrap_sacPortInfo_capability_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_capability_mask_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_capability_mask_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_set(_swigobj,_swigval) (_swigobj->diag_code = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_diag_code_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_diag_code_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_diag_code_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_get(_swigobj) (&_swigobj->diag_code)
+static int _wrap_sacPortInfo_diag_code_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_diag_code_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_diag_code_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_set(_swigobj,_swigval) (_swigobj->m_key_lease_period = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_lease_period_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_lease_period_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_get(_swigobj) (&_swigobj->m_key_lease_period)
+static int _wrap_sacPortInfo_m_key_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_lease_period_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_lease_period_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_set(_swigobj,_swigval) (_swigobj->local_port_num = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_local_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_local_port_num_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_local_port_num_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_get(_swigobj) (&_swigobj->local_port_num)
+static int _wrap_sacPortInfo_local_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_local_port_num_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_local_port_num_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_set(_swigobj,_swigval) (_swigobj->link_width_enabled = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_enabled_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_enabled_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_enabled_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_get(_swigobj) (&_swigobj->link_width_enabled)
+static int _wrap_sacPortInfo_link_width_enabled_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_enabled_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_enabled_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_set(_swigobj,_swigval) (_swigobj->link_width_supported = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_supported_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_supported_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_supported_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_get(_swigobj) (&_swigobj->link_width_supported)
+static int _wrap_sacPortInfo_link_width_supported_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_supported_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_supported_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_set(_swigobj,_swigval) (_swigobj->link_width_active = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_active_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_active_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_active_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_get(_swigobj) (&_swigobj->link_width_active)
+static int _wrap_sacPortInfo_link_width_active_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_active_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_active_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_set(_swigobj,_swigval) (_swigobj->state_info1 = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_state_info1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info1_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info1_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_get(_swigobj) (&_swigobj->state_info1)
+static int _wrap_sacPortInfo_state_info1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info1_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info1_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_set(_swigobj,_swigval) (_swigobj->state_info2 = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_state_info2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info2_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info2_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_get(_swigobj) (&_swigobj->state_info2)
+static int _wrap_sacPortInfo_state_info2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info2_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info2_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_set(_swigobj,_swigval) (_swigobj->mkey_lmc = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mkey_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mkey_lmc_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mkey_lmc_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_get(_swigobj) (&_swigobj->mkey_lmc)
+static int _wrap_sacPortInfo_mkey_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mkey_lmc_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mkey_lmc_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_set(_swigobj,_swigval) (_swigobj->link_speed = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_speed_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_speed_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_get(_swigobj) (&_swigobj->link_speed)
+static int _wrap_sacPortInfo_link_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_speed_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_speed_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_set(_swigobj,_swigval) (_swigobj->mtu_smsl = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mtu_smsl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_smsl_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_smsl_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_get(_swigobj) (&_swigobj->mtu_smsl)
+static int _wrap_sacPortInfo_mtu_smsl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_smsl_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_smsl_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_set(_swigobj,_swigval) (_swigobj->vl_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_get(_swigobj) (&_swigobj->vl_cap)
+static int _wrap_sacPortInfo_vl_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_set(_swigobj,_swigval) (_swigobj->vl_high_limit = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_high_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_high_limit_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_high_limit_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_get(_swigobj) (&_swigobj->vl_high_limit)
+static int _wrap_sacPortInfo_vl_high_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_high_limit_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_high_limit_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_high_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_arb_high_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_high_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_high_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_get(_swigobj) (&_swigobj->vl_arb_high_cap)
+static int _wrap_sacPortInfo_vl_arb_high_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_high_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_high_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_low_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_arb_low_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_low_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_low_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_get(_swigobj) (&_swigobj->vl_arb_low_cap)
+static int _wrap_sacPortInfo_vl_arb_low_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_low_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_low_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_set(_swigobj,_swigval) (_swigobj->mtu_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mtu_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_get(_swigobj) (&_swigobj->mtu_cap)
+static int _wrap_sacPortInfo_mtu_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_set(_swigobj,_swigval) (_swigobj->vl_stall_life = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_stall_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_stall_life_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_stall_life_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_get(_swigobj) (&_swigobj->vl_stall_life)
+static int _wrap_sacPortInfo_vl_stall_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_stall_life_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_stall_life_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_set(_swigobj,_swigval) (_swigobj->vl_enforce = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_enforce_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_enforce_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_enforce_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_get(_swigobj) (&_swigobj->vl_enforce)
+static int _wrap_sacPortInfo_vl_enforce_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_enforce_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_enforce_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_set(_swigobj,_swigval) (_swigobj->m_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_get(_swigobj) (&_swigobj->m_key_violations)
+static int _wrap_sacPortInfo_m_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_set(_swigobj,_swigval) (_swigobj->p_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_p_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_p_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_p_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_get(_swigobj) (&_swigobj->p_key_violations)
+static int _wrap_sacPortInfo_p_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_p_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_p_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_set(_swigobj,_swigval) (_swigobj->q_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_q_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_q_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_q_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_get(_swigobj) (&_swigobj->q_key_violations)
+static int _wrap_sacPortInfo_q_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_q_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_q_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_set(_swigobj,_swigval) (_swigobj->guid_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_guid_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_guid_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_guid_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_get(_swigobj) (&_swigobj->guid_cap)
+static int _wrap_sacPortInfo_guid_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_guid_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_guid_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_set(_swigobj,_swigval) (_swigobj->subnet_timeout = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_subnet_timeout_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_timeout_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_timeout_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_get(_swigobj) (&_swigobj->subnet_timeout)
+static int _wrap_sacPortInfo_subnet_timeout_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_timeout_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_timeout_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_set(_swigobj,_swigval) (_swigobj->resp_time_value = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_resp_time_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_resp_time_value_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_resp_time_value_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_get(_swigobj) (&_swigobj->resp_time_value)
+static int _wrap_sacPortInfo_resp_time_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_resp_time_value_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_resp_time_value_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_set(_swigobj,_swigval) (_swigobj->error_threshold = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_error_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_error_threshold_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_error_threshold_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_get(_swigobj) (&_swigobj->error_threshold)
+static int _wrap_sacPortInfo_error_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_error_threshold_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_error_threshold_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacPortInfo_delete(sacPortInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPortInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_delete { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_delete. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPortInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPortInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPortInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_set;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_prefix_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_base_lid_set;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_master_sm_base_lid_set;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_sacPortInfo_capability_mask_set;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_sacPortInfo_diag_code_set;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_lease_period_set;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_sacPortInfo_local_port_num_set;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_enabled_set;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_supported_set;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_active_set;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info1_set;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info2_set;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_sacPortInfo_mkey_lmc_set;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_sacPortInfo_link_speed_set;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_smsl_set;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_cap_set;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_high_limit_set;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_high_cap_set;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_low_cap_set;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_cap_set;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_stall_life_set;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_enforce_set;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_violations_set;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_p_key_violations_set;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_q_key_violations_set;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_guid_cap_set;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_timeout_set;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_sacPortInfo_resp_time_value_set;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_sacPortInfo_error_threshold_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_ti [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_get;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_prefix_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_base_lid_get;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_master_sm_base_lid_get;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_sacPortInfo_capability_mask_get;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_sacPortInfo_diag_code_get;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_lease_period_get;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_sacPortInfo_local_port_num_get;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_enabled_get;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_supported_get;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_active_get;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info1_get;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info2_get;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_sacPortInfo_mkey_lmc_get;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_sacPortInfo_link_speed_get;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_smsl_get;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_cap_get;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_high_limit_get;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_high_cap_get;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_low_cap_get;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_cap_get;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_stall_life_get;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_enforce_get;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_violations_get;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_p_key_violations_get;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_q_key_violations_get;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_guid_cap_get;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_timeout_get;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_sacPortInfo_resp_time_value_get;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_sacPortInfo_error_threshold_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_tim [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPortInfo_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_subnet_prefix_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_prefix ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_master_sm_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-master_sm_base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_capability_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-capability_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_diag_code_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-diag_code ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_m_key_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_local_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_enabled_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_enabled ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_supported_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_supported ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_active_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_active ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_state_info1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_state_info2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mkey_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey_lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mtu_smsl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_smsl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_high_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_high_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_arb_high_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_high_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_arb_low_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_low_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mtu_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_stall_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_stall_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_enforce_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_enforce ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_m_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_p_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_q_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-q_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_guid_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_subnet_timeout_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_timeout ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_resp_time_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resp_time_value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_error_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-error_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_portinfo_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacPortRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_lid_set { sacPortRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_lid_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_portinfo_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacPortRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_lid_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_lid_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_portinfo_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacPortRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_num_set { sacPortRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_num_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_portinfo_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacPortRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_num_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_num_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_portinfo_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_info_set(_swigobj,_swigval) (_swigobj->port_info = *(_swigval),_swigval)
+static int _wrap_sacPortRec_port_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _result;
+    sacPortRec * _arg0;
+    sacPortInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_info_set { sacPortRec * } { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_info_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacPortRec_port_info_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPortInfo *)_ib_portinfo_record_port_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPortInfo_p");
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_info_get(_swigobj) (&_swigobj->port_info)
+static int _wrap_sacPortRec_port_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_info_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_info_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPortInfo *)_ib_portinfo_record_port_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPortInfo_p");
+    return TCL_OK;
+}
+static char * sacPortRec_get(sacPortRec *self,uint64_t  comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPortRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPortRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_get { sacPortRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPortRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPortRec_getTable(sacPortRec *self,uint64_t  comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPortRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPortRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_getTable { sacPortRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_getTable. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPortRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPortRec_delete(sacPortRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->port_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPortRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_delete { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_delete. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPortRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPortRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPortRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPortRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPortRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPortRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPortRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPortRec_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPortRec_port_num_set;
+                }  else if (strcmp(_str,"-port_info") == 0) {
+                    cmd = _wrap_sacPortRec_port_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -port_num -port_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -port_num -port_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPortRec_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPortRec_port_num_get;
+                }  else if (strcmp(_str,"-port_info") == 0) {
+                    cmd = _wrap_sacPortRec_port_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPortRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -port_num -port_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -port_num -port_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPortRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortRec_port_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPortRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPortRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPortRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPortRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPortRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPortRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sm_info_guid_set(_swigobj,_swigval) (_swigobj->guid = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_guid_set { sacSmInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_guid_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_guid_get(_swigobj) (&_swigobj->guid)
+static int _wrap_sacSmInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_guid_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_guid_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_sm_key_set { sacSmInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_sm_key_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_sm_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_sacSmInfo_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_sm_key_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_sm_key_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_sm_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_act_count_set(_swigobj,_swigval) (_swigobj->act_count = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_act_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacSmInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_act_count_set { sacSmInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_act_count_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sm_info_act_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_act_count_get(_swigobj) (&_swigobj->act_count)
+static int _wrap_sacSmInfo_act_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_act_count_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_act_count_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sm_info_act_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_pri_state_set(_swigobj,_swigval) (_swigobj->pri_state = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_pri_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSmInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_pri_state_set { sacSmInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_pri_state_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sm_info_pri_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_pri_state_get(_swigobj) (&_swigobj->pri_state)
+static int _wrap_sacSmInfo_pri_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_pri_state_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_pri_state_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sm_info_pri_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacSmInfo_delete(sacSmInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSmInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_delete { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_delete. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSmInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSmInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSmInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSmInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSmInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_sacSmInfo_guid_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_sacSmInfo_sm_key_set;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_sacSmInfo_act_count_set;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_sacSmInfo_pri_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid -sm_key -act_count -pri_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid -sm_key -act_count -pri_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_sacSmInfo_guid_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_sacSmInfo_sm_key_get;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_sacSmInfo_act_count_get;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_sacSmInfo_pri_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSmInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid -sm_key -act_count -pri_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid -sm_key -act_count -pri_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSmInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_act_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-act_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_pri_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pri_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSmInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSmInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSmInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSmInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSmInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSmInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sminfo_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSmRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSmRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_lid_set { sacSmRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_lid_set. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sminfo_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sminfo_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSmRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_lid_get { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_lid_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sminfo_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sminfo_record_sm_info_set(_swigobj,_swigval) (_swigobj->sm_info = *(_swigval),_swigval)
+static int _wrap_sacSmRec_sm_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _result;
+    sacSmRec * _arg0;
+    sacSmInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_sm_info_set { sacSmRec * } { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_sm_info_set. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSmRec_sm_info_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSmInfo *)_ib_sminfo_record_sm_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSmInfo_p");
+    return TCL_OK;
+}
+#define _ib_sminfo_record_sm_info_get(_swigobj) (&_swigobj->sm_info)
+static int _wrap_sacSmRec_sm_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _result;
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_sm_info_get { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_sm_info_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSmInfo *)_ib_sminfo_record_sm_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSmInfo_p");
+    return TCL_OK;
+}
+static char * sacSmRec_get(sacSmRec *self,uint64_t  comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSmRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSmRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_get { sacSmRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSmRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSmRec_getTable(sacSmRec *self,uint64_t  comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSmRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSmRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_getTable { sacSmRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_getTable. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSmRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSmRec_delete(sacSmRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->sm_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSmRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_delete { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_delete. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSmRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSmRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSmRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSmRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSmRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSmRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSmRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSmRec_lid_set;
+                }  else if (strcmp(_str,"-sm_info") == 0) {
+                    cmd = _wrap_sacSmRec_sm_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -sm_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -sm_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSmRec_lid_get;
+                }  else if (strcmp(_str,"-sm_info") == 0) {
+                    cmd = _wrap_sacSmRec_sm_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSmRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -sm_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -sm_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSmRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmRec_sm_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSmRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSmRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSmRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSmRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSmRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSmRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_switch_info_lin_cap_set(_swigobj,_swigval) (_swigobj->lin_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lin_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_cap_get(_swigobj) (&_swigobj->lin_cap)
+static int _wrap_sacSwInfo_lin_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_set(_swigobj,_swigval) (_swigobj->rand_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_rand_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_rand_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_rand_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_get(_swigobj) (&_swigobj->rand_cap)
+static int _wrap_sacSwInfo_rand_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_rand_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_rand_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_set(_swigobj,_swigval) (_swigobj->mcast_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_mcast_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_mcast_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_mcast_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_get(_swigobj) (&_swigobj->mcast_cap)
+static int _wrap_sacSwInfo_mcast_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_mcast_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_mcast_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_set(_swigobj,_swigval) (_swigobj->lin_top = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lin_top_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_top_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_top_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_get(_swigobj) (&_swigobj->lin_top)
+static int _wrap_sacSwInfo_lin_top_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_top_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_top_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_set(_swigobj,_swigval) (_swigobj->def_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_get(_swigobj) (&_swigobj->def_port)
+static int _wrap_sacSwInfo_def_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_set(_swigobj,_swigval) (_swigobj->def_mcast_pri_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_mcast_pri_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_pri_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_pri_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_get(_swigobj) (&_swigobj->def_mcast_pri_port)
+static int _wrap_sacSwInfo_def_mcast_pri_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_pri_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_pri_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_set(_swigobj,_swigval) (_swigobj->def_mcast_not_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_mcast_not_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_not_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_not_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_get(_swigobj) (&_swigobj->def_mcast_not_port)
+static int _wrap_sacSwInfo_def_mcast_not_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_not_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_not_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_set(_swigobj,_swigval) (_swigobj->life_state = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_life_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_life_state_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_life_state_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_get(_swigobj) (&_swigobj->life_state)
+static int _wrap_sacSwInfo_life_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_life_state_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_life_state_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_set(_swigobj,_swigval) (_swigobj->lids_per_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lids_per_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lids_per_port_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lids_per_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_get(_swigobj) (&_swigobj->lids_per_port)
+static int _wrap_sacSwInfo_lids_per_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lids_per_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lids_per_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_set(_swigobj,_swigval) (_swigobj->enforce_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_enforce_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_enforce_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_enforce_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_get(_swigobj) (&_swigobj->enforce_cap)
+static int _wrap_sacSwInfo_enforce_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_enforce_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_enforce_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_set(_swigobj,_swigval) (_swigobj->flags = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_flags_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_flags_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_get(_swigobj) (&_swigobj->flags)
+static int _wrap_sacSwInfo_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_flags_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_flags_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacSwInfo_delete(sacSwInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSwInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_delete { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_delete. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSwInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSwInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSwInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSwInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSwInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_cap_set;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_rand_cap_set;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_mcast_cap_set;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_top_set;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_port_set;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_pri_port_set;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_not_port_set;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_sacSwInfo_life_state_set;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_sacSwInfo_lids_per_port_set;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_enforce_cap_set;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_sacSwInfo_flags_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_cap_get;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_rand_cap_get;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_mcast_cap_get;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_top_get;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_port_get;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_pri_port_get;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_not_port_get;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_sacSwInfo_life_state_get;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_sacSwInfo_lids_per_port_get;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_enforce_cap_get;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_sacSwInfo_flags_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSwInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSwInfo_lin_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_rand_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rand_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_mcast_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mcast_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_lin_top_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_top ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_mcast_pri_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_pri_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_mcast_not_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_not_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_life_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-life_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_lids_per_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lids_per_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_enforce_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-enforce_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSwInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSwInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSwInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSwInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSwInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSwInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_switch_info_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSwRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_lid_set { sacSwRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_lid_set. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSwRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_lid_get { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_lid_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_record_switch_info_set(_swigobj,_swigval) (_swigobj->switch_info = *(_swigval),_swigval)
+static int _wrap_sacSwRec_switch_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _result;
+    sacSwRec * _arg0;
+    sacSwInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_switch_info_set { sacSwRec * } { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_switch_info_set. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSwRec_switch_info_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSwInfo *)_ib_switch_info_record_switch_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSwInfo_p");
+    return TCL_OK;
+}
+#define _ib_switch_info_record_switch_info_get(_swigobj) (&_swigobj->switch_info)
+static int _wrap_sacSwRec_switch_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _result;
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_switch_info_get { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_switch_info_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSwInfo *)_ib_switch_info_record_switch_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSwInfo_p");
+    return TCL_OK;
+}
+static char * sacSwRec_get(sacSwRec *self,uint64_t  comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSwRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSwRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_get { sacSwRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSwRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSwRec_getTable(sacSwRec *self,uint64_t  comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSwRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSwRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_getTable { sacSwRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_getTable. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSwRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSwRec_delete(sacSwRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->switch_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSwRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_delete { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_delete. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSwRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSwRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSwRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSwRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSwRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSwRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSwRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSwRec_lid_set;
+                }  else if (strcmp(_str,"-switch_info") == 0) {
+                    cmd = _wrap_sacSwRec_switch_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -switch_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -switch_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSwRec_lid_get;
+                }  else if (strcmp(_str,"-switch_info") == 0) {
+                    cmd = _wrap_sacSwRec_switch_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSwRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -switch_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -switch_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSwRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwRec_switch_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-switch_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSwRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSwRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSwRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSwRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSwRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSwRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_link_record_from_lid_set(_swigobj,_swigval) (_swigobj->from_lid = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_from_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_lid_set { sacLinkRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_lid_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_from_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_lid_get(_swigobj) (&_swigobj->from_lid)
+static int _wrap_sacLinkRec_from_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_lid_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_lid_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_from_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_port_num_set(_swigobj,_swigval) (_swigobj->from_port_num = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_from_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_port_num_set { sacLinkRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_port_num_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_from_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_port_num_get(_swigobj) (&_swigobj->from_port_num)
+static int _wrap_sacLinkRec_from_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_port_num_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_port_num_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_from_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_port_num_set(_swigobj,_swigval) (_swigobj->to_port_num = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_to_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_port_num_set { sacLinkRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_port_num_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_to_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_port_num_get(_swigobj) (&_swigobj->to_port_num)
+static int _wrap_sacLinkRec_to_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_port_num_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_port_num_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_to_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_lid_set(_swigobj,_swigval) (_swigobj->to_lid = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_to_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_lid_set { sacLinkRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_lid_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_to_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_lid_get(_swigobj) (&_swigobj->to_lid)
+static int _wrap_sacLinkRec_to_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_lid_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_lid_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_to_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacLinkRec_get(sacLinkRec *self,uint64_t  comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacLinkRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLinkRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_get { sacLinkRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLinkRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacLinkRec_getTable(sacLinkRec *self,uint64_t  comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacLinkRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLinkRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_getTable { sacLinkRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_getTable. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLinkRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacLinkRec_delete(sacLinkRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacLinkRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_delete { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_delete. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacLinkRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacLinkRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacLinkRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacLinkRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacLinkRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacLinkRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacLinkRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-from_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_from_lid_set;
+                }  else if (strcmp(_str,"-from_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_from_port_num_set;
+                }  else if (strcmp(_str,"-to_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_to_port_num_set;
+                }  else if (strcmp(_str,"-to_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_to_lid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-from_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_from_lid_get;
+                }  else if (strcmp(_str,"-from_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_from_port_num_get;
+                }  else if (strcmp(_str,"-to_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_to_port_num_get;
+                }  else if (strcmp(_str,"-to_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_to_lid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacLinkRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -from_lid -from_port_num -to_port_num -to_lid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacLinkRec_from_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-from_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_from_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-from_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_to_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-to_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_to_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-to_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacLinkRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacLinkRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacLinkRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacLinkRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacLinkRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacLinkRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_path_rec_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_sacPathRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPathRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_service_id_set { sacPathRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_service_id_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_path_rec_service_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_sacPathRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_service_id_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_service_id_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_path_rec_service_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dgid_set(_swigobj,_swigval) (_swigobj->dgid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_dgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dgid_set { sacPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dgid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_dgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dgid_get(_swigobj) (&_swigobj->dgid)
+static int _wrap_sacPathRec_dgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dgid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dgid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_dgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_sgid_set(_swigobj,_swigval) (_swigobj->sgid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_sgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_sgid_set { sacPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_sgid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_sgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_sgid_get(_swigobj) (&_swigobj->sgid)
+static int _wrap_sacPathRec_sgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_sgid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_sgid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_sgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dlid_set(_swigobj,_swigval) (_swigobj->dlid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_dlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dlid_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dlid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_dlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dlid_get(_swigobj) (&_swigobj->dlid)
+static int _wrap_sacPathRec_dlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dlid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dlid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_dlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_slid_set(_swigobj,_swigval) (_swigobj->slid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_slid_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_slid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_slid_get(_swigobj) (&_swigobj->slid)
+static int _wrap_sacPathRec_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_slid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_slid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_hop_flow_raw_set(_swigobj,_swigval) (_swigobj->hop_flow_raw = *(_swigval),_swigval)
+static int _wrap_sacPathRec_hop_flow_raw_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPathRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_hop_flow_raw_set { sacPathRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_hop_flow_raw_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_path_rec_hop_flow_raw_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_hop_flow_raw_get(_swigobj) (&_swigobj->hop_flow_raw)
+static int _wrap_sacPathRec_hop_flow_raw_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_hop_flow_raw_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_hop_flow_raw_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_path_rec_hop_flow_raw_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_sacPathRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_tclass_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_tclass_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_tclass_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_sacPathRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_tclass_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_tclass_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_tclass_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_num_path_set(_swigobj,_swigval) (_swigobj->num_path = *(_swigval),_swigval)
+static int _wrap_sacPathRec_num_path_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_num_path_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_num_path_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_num_path_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_num_path_get(_swigobj) (&_swigobj->num_path)
+static int _wrap_sacPathRec_num_path_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_num_path_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_num_path_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_num_path_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_sacPathRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkey_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkey_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_sacPathRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkey_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkey_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_qos_class_sl_set(_swigobj,_swigval) (_swigobj->qos_class_sl = *(_swigval),_swigval)
+static int _wrap_sacPathRec_qos_class_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_qos_class_sl_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_qos_class_sl_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_qos_class_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_qos_class_sl_get(_swigobj) (&_swigobj->qos_class_sl)
+static int _wrap_sacPathRec_qos_class_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_qos_class_sl_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_qos_class_sl_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_qos_class_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_sacPathRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_mtu_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_mtu_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_mtu_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_sacPathRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_mtu_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_mtu_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_mtu_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_sacPathRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_rate_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_rate_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_sacPathRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_rate_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_rate_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_sacPathRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkt_life_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkt_life_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_sacPathRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkt_life_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkt_life_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_pkt_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_preference_set(_swigobj,_swigval) (_swigobj->preference = *(_swigval),_swigval)
+static int _wrap_sacPathRec_preference_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_preference_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_preference_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_preference_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_preference_get(_swigobj) (&_swigobj->preference)
+static int _wrap_sacPathRec_preference_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_preference_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_preference_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_preference_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacPathRec_get(sacPathRec *self,uint64_t  comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPathRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPathRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_get { sacPathRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPathRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPathRec_getTable(sacPathRec *self,uint64_t  comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPathRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPathRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_getTable { sacPathRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_getTable. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPathRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPathRec_delete(sacPathRec *self) {
+    free(self);
+	 SWIG_AltMnglUnregObj(self);
+  }
+static int _wrap_sacPathRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_delete { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_delete. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPathRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPathRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPathRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPathRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPathRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPathRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPathRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacPathRec_service_id_set;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_sacPathRec_dgid_set;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_sacPathRec_sgid_set;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_sacPathRec_dlid_set;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_sacPathRec_slid_set;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_sacPathRec_hop_flow_raw_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacPathRec_tclass_set;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_sacPathRec_num_path_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacPathRec_pkey_set;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_sacPathRec_qos_class_sl_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacPathRec_mtu_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacPathRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacPathRec_pkt_life_set;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_sacPathRec_preference_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacPathRec_service_id_get;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_sacPathRec_dgid_get;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_sacPathRec_sgid_get;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_sacPathRec_dlid_get;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_sacPathRec_slid_get;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_sacPathRec_hop_flow_raw_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacPathRec_tclass_get;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_sacPathRec_num_path_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacPathRec_pkey_get;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_sacPathRec_qos_class_sl_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacPathRec_mtu_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacPathRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacPathRec_pkt_life_get;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_sacPathRec_preference_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPathRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPathRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_dgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_sgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_dlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_hop_flow_raw_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-hop_flow_raw ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_num_path_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_path ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_qos_class_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qos_class_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_preference_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-preference ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPathRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPathRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPathRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPathRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPathRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPathRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_lft_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacLFTRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lid_set { sacLFTRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lid_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacLFTRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lid_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lid_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacLFTRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_block_num_set { sacLFTRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_block_num_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacLFTRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_block_num_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_block_num_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_lft_t * _ib_lft_record_lft_set(sacLFTRec *obj, ib_lft_t val[64]) {
+{
+  int i;
+  int m = 64;
+  if (m > 64) m = 64;
+  for (i=0; i <64 ; i++) {
+    obj->lft[i] = *(val+i);
+  }
+}
+    return (ib_lft_t *) val;
+}
+static int _wrap_sacLFTRec_lft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_lft_t * _result;
+    sacLFTRec * _arg0;
+    ib_lft_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lft_set { sacLFTRec * } { ib_lft_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lft_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_ib_lft_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacLFTRec_lft_set. Expected _ib_lft_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_lft_t *)_ib_lft_record_lft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+	 sprintf(buf, "{%u %u} ", i, _result[i]);
+	 Tcl_AppendToObj(tcl_result, buf, -1);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lft_get(_swigobj) ((ib_lft_t *) _swigobj->lft)
+static int _wrap_sacLFTRec_lft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_lft_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lft_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lft_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_lft_t *)_ib_lft_record_lft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+	 sprintf(buf, "{%u %u} ", i, _result[i]);
+	 Tcl_AppendToObj(tcl_result, buf, -1);
+  }
+}
+    return TCL_OK;
+}
+static char * sacLFTRec_get(sacLFTRec *self,uint64_t  comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacLFTRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLFTRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_get { sacLFTRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLFTRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacLFTRec_getTable(sacLFTRec *self,uint64_t  comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacLFTRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLFTRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_getTable { sacLFTRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_getTable. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLFTRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacLFTRec_delete(sacLFTRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacLFTRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_delete { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_delete. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacLFTRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacLFTRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacLFTRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacLFTRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacLFTRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacLFTRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacLFTRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacLFTRec_lid_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacLFTRec_block_num_set;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_sacLFTRec_lft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -block_num -lft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -block_num -lft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacLFTRec_lid_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacLFTRec_block_num_get;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_sacLFTRec_lft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacLFTRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -block_num -lft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -block_num -lft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacLFTRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLFTRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLFTRec_lft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacLFTRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacLFTRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacLFTRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacLFTRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacLFTRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacLFTRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_member_rec_mgid_set(_swigobj,_swigval) (_swigobj->mgid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mgid_set { sacMCMRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mgid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_mgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mgid_get(_swigobj) (&_swigobj->mgid)
+static int _wrap_sacMCMRec_mgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mgid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mgid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_mgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_port_gid_set(_swigobj,_swigval) (_swigobj->port_gid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_port_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_port_gid_set { sacMCMRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_port_gid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_port_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_port_gid_get(_swigobj) (&_swigobj->port_gid)
+static int _wrap_sacMCMRec_port_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_port_gid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_port_gid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_port_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_qkey_set(_swigobj,_swigval) (_swigobj->qkey = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_qkey_set { sacMCMRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_qkey_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_qkey_get(_swigobj) (&_swigobj->qkey)
+static int _wrap_sacMCMRec_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_qkey_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_qkey_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mlid_set(_swigobj,_swigval) (_swigobj->mlid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mlid_set { sacMCMRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mlid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_mlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mlid_get(_swigobj) (&_swigobj->mlid)
+static int _wrap_sacMCMRec_mlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mlid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mlid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_mlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mtu_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mtu_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_mtu_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_sacMCMRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mtu_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mtu_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_mtu_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_tclass_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_tclass_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_tclass_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_sacMCMRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_tclass_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_tclass_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_tclass_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkey_set { sacMCMRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkey_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_sacMCMRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkey_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkey_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_rate_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_rate_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_sacMCMRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_rate_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_rate_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkt_life_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkt_life_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_sacMCMRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkt_life_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkt_life_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_pkt_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_sl_flow_hop_set(_swigobj,_swigval) (_swigobj->sl_flow_hop = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_sl_flow_hop_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_sl_flow_hop_set { sacMCMRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_sl_flow_hop_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_sl_flow_hop_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_sl_flow_hop_get(_swigobj) (&_swigobj->sl_flow_hop)
+static int _wrap_sacMCMRec_sl_flow_hop_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_sl_flow_hop_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_sl_flow_hop_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_sl_flow_hop_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_scope_state_set(_swigobj,_swigval) (_swigobj->scope_state = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_scope_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_scope_state_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_scope_state_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_scope_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_scope_state_get(_swigobj) (&_swigobj->scope_state)
+static int _wrap_sacMCMRec_scope_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_scope_state_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_scope_state_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_scope_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacMCMRec_get(sacMCMRec *self,uint64_t  comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacMCMRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_get { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_getTable(sacMCMRec *self,uint64_t  comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacMCMRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_getTable { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_getTable. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_set(sacMCMRec *self,uint64_t  comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+ }
+static int _wrap_sacMCMRec_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_set { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_del(sacMCMRec *self,uint64_t  comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+ }
+static int _wrap_sacMCMRec_del(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_del { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_del. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_del(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static int  sacMCMRec_proxy_join_get(sacMCMRec *self) {
+   return(self->proxy_join);
+ }
+static int _wrap_sacMCMRec_proxy_join_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_proxy_join_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_proxy_join_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )sacMCMRec_proxy_join_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static void  sacMCMRec_proxy_join_set(sacMCMRec *self,uint8_t  proxy_join) {
+    self->proxy_join = proxy_join;
+  }
+static int _wrap_sacMCMRec_proxy_join_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_proxy_join_set { sacMCMRec * } proxy_join ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_proxy_join_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacMCMRec_proxy_join_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static void  sacMCMRec_obj_delete(sacMCMRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacMCMRec_obj_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_obj_delete { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_obj_delete. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacMCMRec_obj_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacMCMRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacMCMRec methods : { dump cget configure get getTable set del proxy_join_get proxy_join_set obj_delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacMCMRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacMCMRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacMCMRec_getTable;
+    }    else if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacMCMRec_set;
+    }    else if (strcmp(_str,"del") == 0) {
+        cmd = _wrap_sacMCMRec_del;
+    }    else if (strcmp(_str,"proxy_join_get") == 0) {
+        cmd = _wrap_sacMCMRec_proxy_join_get;
+    }    else if (strcmp(_str,"proxy_join_set") == 0) {
+        cmd = _wrap_sacMCMRec_proxy_join_set;
+    }    else if (strcmp(_str,"obj_delete") == 0) {
+        cmd = _wrap_sacMCMRec_obj_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_sacMCMRec_mgid_set;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_sacMCMRec_port_gid_set;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_sacMCMRec_qkey_set;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_sacMCMRec_mlid_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacMCMRec_mtu_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacMCMRec_tclass_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacMCMRec_pkey_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacMCMRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacMCMRec_pkt_life_set;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_sacMCMRec_sl_flow_hop_set;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_sacMCMRec_scope_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_sacMCMRec_mgid_get;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_sacMCMRec_port_gid_get;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_sacMCMRec_qkey_get;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_sacMCMRec_mlid_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacMCMRec_mtu_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacMCMRec_tclass_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacMCMRec_pkey_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacMCMRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacMCMRec_pkt_life_get;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_sacMCMRec_sl_flow_hop_get;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_sacMCMRec_scope_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacMCMRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacMCMRec_mgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_port_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_mlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_sl_flow_hop_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl_flow_hop ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_scope_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-scope_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable set del proxy_join_get proxy_join_set obj_delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacMCMRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacMCMRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacMCMRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacMCMRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacMCMRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacMCMRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsac_class_port_info_base_ver_set(_swigobj,_swigval) (_swigobj->base_ver = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_base_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_base_ver_set { sacClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_base_ver_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_base_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_base_ver_get(_swigobj) (&_swigobj->base_ver)
+static int _wrap_sacClassPortInfo_base_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_base_ver_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_base_ver_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_base_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_class_ver_set(_swigobj,_swigval) (_swigobj->class_ver = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_class_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_class_ver_set { sacClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_class_ver_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_class_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_class_ver_get(_swigobj) (&_swigobj->class_ver)
+static int _wrap_sacClassPortInfo_class_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_class_ver_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_class_ver_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_class_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask_set(_swigobj,_swigval) (_swigobj->cap_mask = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask_get(_swigobj) (&_swigobj->cap_mask)
+static int _wrap_sacClassPortInfo_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask2_resp_time_set(_swigobj,_swigval) (_swigobj->cap_mask2_resp_time = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_cap_mask2_resp_time_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask2_resp_time_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask2_resp_time_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_cap_mask2_resp_time_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask2_resp_time_get(_swigobj) (&_swigobj->cap_mask2_resp_time)
+static int _wrap_sacClassPortInfo_cap_mask2_resp_time_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask2_resp_time_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask2_resp_time_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_cap_mask2_resp_time_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_gid_set(_swigobj,_swigval) (_swigobj->redir_gid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_gid_set { sacClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_gid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_redir_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_gid_get(_swigobj) (&_swigobj->redir_gid)
+static int _wrap_sacClassPortInfo_redir_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_gid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_gid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_redir_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->redir_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_tc_sl_fl_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_tc_sl_fl_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_tc_sl_fl_get(_swigobj) (&_swigobj->redir_tc_sl_fl)
+static int _wrap_sacClassPortInfo_redir_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_tc_sl_fl_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_tc_sl_fl_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_lid_set(_swigobj,_swigval) (_swigobj->redir_lid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_lid_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_lid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_lid_get(_swigobj) (&_swigobj->redir_lid)
+static int _wrap_sacClassPortInfo_redir_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_lid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_lid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_pkey_set(_swigobj,_swigval) (_swigobj->redir_pkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_pkey_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_pkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_pkey_get(_swigobj) (&_swigobj->redir_pkey)
+static int _wrap_sacClassPortInfo_redir_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_pkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_pkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qp_set(_swigobj,_swigval) (_swigobj->redir_qp = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qp_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qp_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qp_get(_swigobj) (&_swigobj->redir_qp)
+static int _wrap_sacClassPortInfo_redir_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qp_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qp_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qkey_set(_swigobj,_swigval) (_swigobj->redir_qkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qkey_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qkey_get(_swigobj) (&_swigobj->redir_qkey)
+static int _wrap_sacClassPortInfo_redir_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_gid_set(_swigobj,_swigval) (_swigobj->trap_gid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_gid_set { sacClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_gid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_trap_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_gid_get(_swigobj) (&_swigobj->trap_gid)
+static int _wrap_sacClassPortInfo_trap_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_gid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_gid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_trap_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->trap_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_tc_sl_fl_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_tc_sl_fl_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_tc_sl_fl_get(_swigobj) (&_swigobj->trap_tc_sl_fl)
+static int _wrap_sacClassPortInfo_trap_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_tc_sl_fl_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_tc_sl_fl_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_lid_set(_swigobj,_swigval) (_swigobj->trap_lid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_lid_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_lid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_lid_get(_swigobj) (&_swigobj->trap_lid)
+static int _wrap_sacClassPortInfo_trap_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_lid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_lid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_pkey_set(_swigobj,_swigval) (_swigobj->trap_pkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_pkey_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_pkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_pkey_get(_swigobj) (&_swigobj->trap_pkey)
+static int _wrap_sacClassPortInfo_trap_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_pkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_pkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_hop_qp_set(_swigobj,_swigval) (_swigobj->trap_hop_qp = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_hop_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_hop_qp_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_hop_qp_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_hop_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_hop_qp_get(_swigobj) (&_swigobj->trap_hop_qp)
+static int _wrap_sacClassPortInfo_trap_hop_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_hop_qp_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_hop_qp_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_hop_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_qkey_set(_swigobj,_swigval) (_swigobj->trap_qkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_qkey_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_qkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_qkey_get(_swigobj) (&_swigobj->trap_qkey)
+static int _wrap_sacClassPortInfo_trap_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_qkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_qkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacClassPortInfo_get(sacClassPortInfo *self) {
+    return(ibsacClassPortInfoQuery(self, 0, IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacClassPortInfo_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacClassPortInfo_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacClassPortInfo_delete(sacClassPortInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacClassPortInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_delete { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_delete. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacClassPortInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacClassPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacClassPortInfo methods : { dump cget configure get delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacClassPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacClassPortInfo_get;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacClassPortInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_base_ver_set;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_class_ver_set;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask_set;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_set;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_gid_set;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_lid_set;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_pkey_set;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qp_set;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qkey_set;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_gid_set;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_lid_set;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_pkey_set;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_hop_qp_set;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_qkey_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_base_ver_get;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_class_ver_get;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask_get;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_get;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_gid_get;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_lid_get;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_pkey_get;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qp_get;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qkey_get;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_gid_get;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_lid_get;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_pkey_get;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_hop_qp_get;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_qkey_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacClassPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacClassPortInfo_base_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_class_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask2_resp_time ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_hop_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_hop_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacClassPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacClassPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacClassPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacClassPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacClassPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacClassPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsac_inform_info_gid_set(_swigobj,_swigval) (_swigobj->gid = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacInformInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_gid_set { sacInformInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_gid_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_inform_info_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_gid_get(_swigobj) (&_swigobj->gid)
+static int _wrap_sacInformInfo_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_gid_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_gid_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_inform_info_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_begin_set(_swigobj,_swigval) (_swigobj->lid_range_begin = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_lid_range_begin_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_begin_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_begin_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_begin_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_begin_get(_swigobj) (&_swigobj->lid_range_begin)
+static int _wrap_sacInformInfo_lid_range_begin_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_begin_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_begin_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_begin_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_end_set(_swigobj,_swigval) (_swigobj->lid_range_end = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_lid_range_end_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_end_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_end_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_end_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_end_get(_swigobj) (&_swigobj->lid_range_end)
+static int _wrap_sacInformInfo_lid_range_end_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_end_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_end_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_end_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_reserved1_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_reserved1_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_reserved1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_sacInformInfo_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_reserved1_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_reserved1_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_reserved1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_is_generic_set(_swigobj,_swigval) (_swigobj->is_generic = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_is_generic_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_is_generic_set { sacInformInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_is_generic_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_is_generic_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_is_generic_get(_swigobj) (&_swigobj->is_generic)
+static int _wrap_sacInformInfo_is_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_is_generic_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_is_generic_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_is_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_subscribe_set(_swigobj,_swigval) (_swigobj->subscribe = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_subscribe_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_subscribe_set { sacInformInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_subscribe_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_subscribe_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_subscribe_get(_swigobj) (&_swigobj->subscribe)
+static int _wrap_sacInformInfo_subscribe_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_subscribe_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_subscribe_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_subscribe_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_trap_type_set(_swigobj,_swigval) (_swigobj->trap_type = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_trap_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_trap_type_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_trap_type_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_trap_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_trap_type_get(_swigobj) (&_swigobj->trap_type)
+static int _wrap_sacInformInfo_trap_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_trap_type_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_trap_type_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_trap_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_g_or_v_get(_swigobj) (&_swigobj->g_or_v)
+static int _wrap_sacInformInfo_g_or_v_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v *)_ibsac_inform_info_g_or_v_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_p");
+    return TCL_OK;
+}
+static char * sacInformInfo_set(sacInformInfo *self) {
+    return(ibsacInformInfoQuery(self, 0, IB_MAD_METHOD_SET));
+  }
+static int _wrap_sacInformInfo_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_set { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacInformInfo_set(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacInformInfo_delete(sacInformInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacInformInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_delete { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_delete. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacInformInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo methods : { dump cget configure set delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacInformInfo_set;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacInformInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_sacInformInfo_gid_set;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_begin_set;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_end_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacInformInfo_reserved1_set;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_sacInformInfo_is_generic_set;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_sacInformInfo_subscribe_set;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_sacInformInfo_trap_type_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_sacInformInfo_gid_get;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_begin_get;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_end_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacInformInfo_reserved1_get;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_sacInformInfo_is_generic_get;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_sacInformInfo_subscribe_get;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_sacInformInfo_trap_type_get;
+                }  else if (strcmp(_str,"-g_or_v") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -g_or_v  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -g_or_v  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_lid_range_begin_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_begin ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_lid_range_end_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_end ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_is_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-is_generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_subscribe_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subscribe ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_trap_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-g_or_v ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure set delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_generic_get(_swigobj) (&_swigobj->generic)
+static int _wrap_sacInformInfo_g_or_v_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v_generic * _result;
+    sacInformInfo_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_get { sacInformInfo_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_get. Expected _sacInformInfo_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v_generic *)sacInformInfo_g_or_v_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_generic_p");
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_get(_swigobj) (&_swigobj->vend)
+static int _wrap_sacInformInfo_g_or_v_vend_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v_vend * _result;
+    sacInformInfo_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_get { sacInformInfo_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_get. Expected _sacInformInfo_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v_vend *)sacInformInfo_g_or_v_vend_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_vend_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_vMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_get;
+                }  else if (strcmp(_str,"-vend") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic -vend  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic -vend  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_vCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_vMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_generic_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_trap_num_set { sacInformInfo_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_trap_num_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_sacInformInfo_g_or_v_generic_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_trap_num_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_trap_num_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(_swigobj,_swigval) (_swigobj->qpn_resp_time_val = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_qpn_resp_time_val_set { sacInformInfo_g_or_v_generic * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_qpn_resp_time_val_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(_swigobj) (&_swigobj->qpn_resp_time_val)
+static int _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_qpn_resp_time_val_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_qpn_resp_time_val_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_reserved2_set { sacInformInfo_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_reserved2_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacInformInfo_g_or_v_generic_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_reserved2_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_reserved2_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_msb_set(_swigobj,_swigval) (_swigobj->node_type_msb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_msb_set { sacInformInfo_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_msb_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_node_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_msb_get(_swigobj) (&_swigobj->node_type_msb)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_msb_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_msb_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_node_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_lsb_set(_swigobj,_swigval) (_swigobj->node_type_lsb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_lsb_set { sacInformInfo_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_lsb_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_node_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_lsb_get(_swigobj) (&_swigobj->node_type_lsb)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_lsb_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_lsb_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_node_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_v_genericMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v_generic methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_generic_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_set;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_set;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_get;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_get;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_generic_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qpn_resp_time_val ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_v_genericCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v_generic * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_generic_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_generic_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v_generic object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_v_genericMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_vend_dev_id_set(_swigobj,_swigval) (_swigobj->dev_id = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_dev_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_dev_id_set { sacInformInfo_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_dev_id_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_dev_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_dev_id_get(_swigobj) (&_swigobj->dev_id)
+static int _wrap_sacInformInfo_g_or_v_vend_dev_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_dev_id_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_dev_id_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_dev_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(_swigobj,_swigval) (_swigobj->qpn_resp_time_val = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_qpn_resp_time_val_set { sacInformInfo_g_or_v_vend * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_qpn_resp_time_val_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(_swigobj) (&_swigobj->qpn_resp_time_val)
+static int _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_qpn_resp_time_val_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_qpn_resp_time_val_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_reserved2_set { sacInformInfo_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_reserved2_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacInformInfo_g_or_v_vend_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_reserved2_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_reserved2_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_msb_set(_swigobj,_swigval) (_swigobj->vendor_id_msb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_msb_set { sacInformInfo_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_msb_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_vendor_id_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_msb_get(_swigobj) (&_swigobj->vendor_id_msb)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_msb_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_msb_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_vendor_id_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_lsb_set(_swigobj,_swigval) (_swigobj->vendor_id_lsb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_lsb_set { sacInformInfo_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_lsb_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_vendor_id_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_lsb_get(_swigobj) (&_swigobj->vendor_id_lsb)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_lsb_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_lsb_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_vendor_id_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_v_vendMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v_vend methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_vend_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_set;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_set;
+                }  else if (strcmp(_str,"-vendor_id_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set;
+                }  else if (strcmp(_str,"-vendor_id_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_get;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_get;
+                }  else if (strcmp(_str,"-vendor_id_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get;
+                }  else if (strcmp(_str,"-vendor_id_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_vend_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dev_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qpn_resp_time_val ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendor_id_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendor_id_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_v_vendCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v_vend * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_vend_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_vend_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v_vend object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_v_vendMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_service_record_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacServiceRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_id_set { sacServiceRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_id_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_service_record_service_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_sacServiceRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_id_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_id_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_service_record_service_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_gid_set(_swigobj,_swigval) (_swigobj->service_gid = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacServiceRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_gid_set { sacServiceRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_gid_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_service_record_service_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_gid_get(_swigobj) (&_swigobj->service_gid)
+static int _wrap_sacServiceRec_service_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_gid_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_gid_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_service_record_service_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_pkey_set(_swigobj,_swigval) (_swigobj->service_pkey = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_pkey_set { sacServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_pkey_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_service_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_pkey_get(_swigobj) (&_swigobj->service_pkey)
+static int _wrap_sacServiceRec_service_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_pkey_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_pkey_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_service_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_resv_set { sacServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_resv_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_sacServiceRec_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_resv_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_resv_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_lease_set(_swigobj,_swigval) (_swigobj->service_lease = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_lease_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacServiceRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_lease_set { sacServiceRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_lease_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_service_record_service_lease_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_lease_get(_swigobj) (&_swigobj->service_lease)
+static int _wrap_sacServiceRec_service_lease_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_lease_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_lease_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_service_record_service_lease_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_service_record_service_key_set(sacServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_key[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_key_set { sacServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_key_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_key_get(_swigobj) ((uint8_array_t *) _swigobj->service_key)
+static int _wrap_sacServiceRec_service_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_key_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_key_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_svc_name_t * _ib_service_record_service_name_set(sacServiceRec *obj, ib_svc_name_t *val) {
+{
+  memcpy(&(obj->service_name), val, sizeof(ib_svc_name_t));
+}
+    return (ib_svc_name_t *) val;
+}
+static int _wrap_sacServiceRec_service_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_svc_name_t * _result;
+    sacServiceRec * _arg0;
+    ib_svc_name_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_svc_name_t  n;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_name_set { sacServiceRec * } { ib_svc_name_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_name_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *p_name;
+  int l;
+  p_name = Tcl_GetStringFromObj(objv[2], &l);
+  if (l > 63) l = 63;
+  memcpy(n, p_name, l);
+  _arg1 = &n;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_svc_name_t *)_ib_service_record_service_name_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[64];
+  strncpy(buff, (char *)(*_result), 63);
+  buff[63] = '\0';
+  Tcl_SetStringObj(tcl_result,buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_name_get(_swigobj) (&_swigobj->service_name)
+static int _wrap_sacServiceRec_service_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_svc_name_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_name_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_name_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_svc_name_t *)_ib_service_record_service_name_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[64];
+  strncpy(buff, (char *)(*_result), 63);
+  buff[63] = '\0';
+  Tcl_SetStringObj(tcl_result,buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_service_record_service_data8_set(sacServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_data8[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data8_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data8_set { sacServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data8_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_data8_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data8_get(_swigobj) ((uint8_array_t *) _swigobj->service_data8)
+static int _wrap_sacServiceRec_service_data8_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data8_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data8_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_data8_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net16_array_t * _ib_service_record_service_data16_set(sacServiceRec *obj, ib_net16_array_t val[8]) {
+{
+	int i;
+	for (i=0; i <8 ; i++) {
+     obj->service_data16[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data16_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[8];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data16_set { sacServiceRec * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data16_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 8))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 8; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_service_record_service_data16_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data16_get(_swigobj) ((ib_net16_array_t *) _swigobj->service_data16)
+static int _wrap_sacServiceRec_service_data16_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data16_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data16_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_service_record_service_data16_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net32_array_t * _ib_service_record_service_data32_set(sacServiceRec *obj, ib_net32_array_t val[4]) {
+{
+	int i;
+	for (i=0; i <4 ; i++) {
+     obj->service_data32[i] = *(val+i);
+	}
+}
+    return (ib_net32_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data32_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net32_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  entrys[4];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data32_set { sacServiceRec * } { ib_net32_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data32_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint32_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 4))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton32(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 4; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_array_t *)_ib_service_record_service_data32_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data32_get(_swigobj) ((ib_net32_array_t *) _swigobj->service_data32)
+static int _wrap_sacServiceRec_service_data32_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data32_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data32_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_array_t *)_ib_service_record_service_data32_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net64_array_t * _ib_service_record_service_data64_set(sacServiceRec *obj, ib_net64_array_t val[2]) {
+{
+	int i;
+	for (i=0; i <2 ; i++) {
+     obj->service_data64[i] = *(val+i);
+	}
+}
+    return (ib_net64_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data64_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net64_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net64_t  entrys[2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data64_set { sacServiceRec * } { ib_net64_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data64_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 2))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ib_service_record_service_data64_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data64_get(_swigobj) ((ib_net64_array_t *) _swigobj->service_data64)
+static int _wrap_sacServiceRec_service_data64_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data64_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data64_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ib_service_record_service_data64_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static char * sacServiceRec_get(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacServiceRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_get { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_set(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+  }
+static int _wrap_sacServiceRec_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_set { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_getTable(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacServiceRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_getTable { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_getTable. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_delete(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+  }
+static int _wrap_sacServiceRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_delete { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_delete. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_delete(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacServiceRec_obj_delete(sacServiceRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacServiceRec_obj_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_obj_delete { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_obj_delete. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacServiceRec_obj_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacServiceRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacServiceRec methods : { dump cget configure get set getTable delete obj_delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacServiceRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacServiceRec_get;
+    }    else if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacServiceRec_set;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacServiceRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacServiceRec_delete;
+    }    else if (strcmp(_str,"obj_delete") == 0) {
+        cmd = _wrap_sacServiceRec_obj_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacServiceRec_service_id_set;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_sacServiceRec_service_gid_set;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_sacServiceRec_service_pkey_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacServiceRec_resv_set;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_sacServiceRec_service_lease_set;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_sacServiceRec_service_key_set;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_sacServiceRec_service_name_set;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data8_set;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data16_set;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data32_set;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data64_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacServiceRec_service_id_get;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_sacServiceRec_service_gid_get;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_sacServiceRec_service_pkey_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacServiceRec_resv_get;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_sacServiceRec_service_lease_get;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_sacServiceRec_service_key_get;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_sacServiceRec_service_name_get;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data8_get;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data16_get;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data32_get;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data64_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacServiceRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacServiceRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_lease_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_lease ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data8_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data8 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data16_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data16 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data32_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data32 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data64_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data64 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get set getTable delete obj_delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacServiceRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacServiceRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacServiceRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacServiceRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacServiceRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacServiceRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ib_slvl_table_raw_vl_by_sl_set(sacSlVlTbl *obj, uint8_array_t val[IB_MAX_NUM_VLS/2]) {
+{
+	int i;
+	for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+		obj->raw_vl_by_sl[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacSlVlTbl_raw_vl_by_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacSlVlTbl * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[IB_MAX_NUM_VLS/2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlTbl_raw_vl_by_sl_set { sacSlVlTbl * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlTbl_raw_vl_by_sl_set. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_MAX_NUM_VLS/2))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_MAX_NUM_VLS/2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_slvl_table_raw_vl_by_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_raw_vl_by_sl_get(_swigobj) ((uint8_array_t *) _swigobj->raw_vl_by_sl)
+static int _wrap_sacSlVlTbl_raw_vl_by_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacSlVlTbl * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlTbl_raw_vl_by_sl_get { sacSlVlTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlTbl_raw_vl_by_sl_get. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_slvl_table_raw_vl_by_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSlVlTblMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSlVlTbl methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSlVlTbl_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -raw_vl_by_sl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -raw_vl_by_sl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSlVlTbl_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_vl_by_sl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_vl_by_sl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_vl_by_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSlVlTblCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSlVlTbl * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSlVlTbl_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSlVlTbl_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSlVlTbl object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSlVlTblMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_slvl_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSlVlRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_lid_set { sacSlVlRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_lid_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_slvl_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSlVlRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_lid_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_lid_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_slvl_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_in_port_num_set(_swigobj,_swigval) (_swigobj->in_port_num = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_in_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_in_port_num_set { sacSlVlRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_in_port_num_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_in_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_in_port_num_get(_swigobj) (&_swigobj->in_port_num)
+static int _wrap_sacSlVlRec_in_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_in_port_num_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_in_port_num_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_in_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_out_port_num_set(_swigobj,_swigval) (_swigobj->out_port_num = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_out_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_out_port_num_set { sacSlVlRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_out_port_num_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_out_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_out_port_num_get(_swigobj) (&_swigobj->out_port_num)
+static int _wrap_sacSlVlRec_out_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_out_port_num_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_out_port_num_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_out_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacSlVlRec * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_resv_set { sacSlVlRec * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_resv_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_slvl_table_record_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_sacSlVlRec_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_resv_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_resv_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_slvl_table_record_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_slvl_tbl_set(_swigobj,_swigval) (_swigobj->slvl_tbl = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_slvl_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlTbl * _result;
+    sacSlVlRec * _arg0;
+    sacSlVlTbl * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_slvl_tbl_set { sacSlVlRec * } { sacSlVlTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_slvl_tbl_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSlVlRec_slvl_tbl_set. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSlVlTbl *)_ib_slvl_table_record_slvl_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSlVlTbl_p");
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_slvl_tbl_get(_swigobj) (&_swigobj->slvl_tbl)
+static int _wrap_sacSlVlRec_slvl_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlTbl * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_slvl_tbl_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_slvl_tbl_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSlVlTbl *)_ib_slvl_table_record_slvl_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSlVlTbl_p");
+    return TCL_OK;
+}
+static char * sacSlVlRec_get(sacSlVlRec *self,uint64_t  comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSlVlRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSlVlRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_get { sacSlVlRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSlVlRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSlVlRec_getTable(sacSlVlRec *self,uint64_t  comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSlVlRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSlVlRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_getTable { sacSlVlRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_getTable. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSlVlRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSlVlRec_delete(sacSlVlRec *self) {
+	 SWIG_AltMnglUnregObj(&(self->slvl_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSlVlRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_delete { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_delete. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSlVlRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSlVlRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSlVlRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSlVlRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSlVlRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSlVlRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSlVlRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSlVlRec_lid_set;
+                }  else if (strcmp(_str,"-in_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_in_port_num_set;
+                }  else if (strcmp(_str,"-out_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_out_port_num_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacSlVlRec_resv_set;
+                }  else if (strcmp(_str,"-slvl_tbl") == 0) {
+                    cmd = _wrap_sacSlVlRec_slvl_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSlVlRec_lid_get;
+                }  else if (strcmp(_str,"-in_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_in_port_num_get;
+                }  else if (strcmp(_str,"-out_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_out_port_num_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacSlVlRec_resv_get;
+                }  else if (strcmp(_str,"-slvl_tbl") == 0) {
+                    cmd = _wrap_sacSlVlRec_slvl_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSlVlRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -in_port_num -out_port_num -resv -slvl_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSlVlRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_in_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-in_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_out_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-out_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_slvl_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slvl_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSlVlRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSlVlRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSlVlRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSlVlRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSlVlRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSlVlRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_vl_arb_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacVlArbRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_lid_set { sacVlArbRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_lid_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_vl_arb_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacVlArbRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_lid_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_lid_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_vl_arb_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_port_num_set { sacVlArbRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_port_num_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacVlArbRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_port_num_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_port_num_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_block_num_set { sacVlArbRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_block_num_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacVlArbRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_block_num_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_block_num_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_reserved_set(_swigobj,_swigval) (_swigobj->reserved = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_reserved_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacVlArbRec * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_reserved_set { sacVlArbRec * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_reserved_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_vl_arb_table_record_reserved_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_reserved_get(_swigobj) (&_swigobj->reserved)
+static int _wrap_sacVlArbRec_reserved_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_reserved_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_reserved_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_vl_arb_table_record_reserved_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_vl_arb_tbl_set(_swigobj,_swigval) (_swigobj->vl_arb_tbl = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_vl_arb_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sac_vl_arb_tbl_t * _result;
+    sacVlArbRec * _arg0;
+    sac_vl_arb_tbl_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_vl_arb_table_t  n;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_vl_arb_tbl_set { sacVlArbRec * } { sac_vl_arb_tbl_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_vl_arb_tbl_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  uint8_t idx;
+  char *p_vl_str, *p_wt_str;
+  unsigned long int vl, weight;
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  memset( &n, 0, sizeof(ib_vl_arb_table_t) );
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0;
+       (idx < num_sub_lists) && (idx < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK);
+       idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    char buf[16];
+    char *p_last;
+    strcpy(buf, sub_lists[idx]);
+    p_vl_str = strtok_r(buf," \t", &p_last);
+    p_wt_str = strtok_r(NULL," \t", &p_last);
+    if (! (p_vl_str && p_wt_str)) {
+      printf("-E- Bad formatted number pair:%s\n", sub_lists[idx]);
+      return TCL_ERROR;
+    } else {
+      errno = 0;
+      vl = strtoul(p_vl_str, NULL, 0);
+      if (errno || (vl > 15)) {
+        printf("-E- Bad formatted VL:%s\n", p_vl_str);
+        return TCL_ERROR;
+      }
+
+      weight = strtoul(p_wt_str, NULL, 0);
+      if (errno || (weight > 255)) {
+        printf("-E- Bad formatted Weight:%s\n", p_wt_str);
+        return TCL_ERROR;
+      }
+
+      n.vl_entry[idx].vl = vl;
+      n.vl_entry[idx].weight = weight;
+    }
+  }
+  Tcl_Free((char *) sub_lists);
+
+  _arg1 = &n;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sac_vl_arb_tbl_t *)_ib_vl_arb_table_record_vl_arb_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  uint32_t i;
+  ib_vl_arb_table_t *p_tbl;
+  char buf[256];
+  if (_result) {
+    strcpy(buf, "");
+    p_tbl = _result;
+    /*  go over all elements */
+    for (i = 0; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++) {
+      sprintf(buf, "{0x%X 0x%02X} ",
+              p_tbl->vl_entry[i].vl, p_tbl->vl_entry[i].weight);
+      Tcl_AppendResult(interp, buf, NULL);
+    }
+  } else {
+	 Tcl_SetResult(interp, "", NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_vl_arb_tbl_get(_swigobj) (&_swigobj->vl_arb_tbl)
+static int _wrap_sacVlArbRec_vl_arb_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sac_vl_arb_tbl_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_vl_arb_tbl_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_vl_arb_tbl_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sac_vl_arb_tbl_t *)_ib_vl_arb_table_record_vl_arb_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  uint32_t i;
+  ib_vl_arb_table_t *p_tbl;
+  char buf[256];
+  if (_result) {
+    strcpy(buf, "");
+    p_tbl = _result;
+    /*  go over all elements */
+    for (i = 0; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++) {
+      sprintf(buf, "{0x%X 0x%02X} ",
+              p_tbl->vl_entry[i].vl, p_tbl->vl_entry[i].weight);
+      Tcl_AppendResult(interp, buf, NULL);
+    }
+  } else {
+	 Tcl_SetResult(interp, "", NULL);
+  }
+}
+    return TCL_OK;
+}
+static char * sacVlArbRec_get(sacVlArbRec *self,uint64_t  comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacVlArbRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacVlArbRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_get { sacVlArbRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacVlArbRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacVlArbRec_getTable(sacVlArbRec *self,uint64_t  comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacVlArbRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacVlArbRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_getTable { sacVlArbRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_getTable. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacVlArbRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacVlArbRec_delete(sacVlArbRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacVlArbRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_delete { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_delete. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacVlArbRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacVlArbRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacVlArbRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacVlArbRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacVlArbRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacVlArbRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacVlArbRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacVlArbRec_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_port_num_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_block_num_set;
+                }  else if (strcmp(_str,"-reserved") == 0) {
+                    cmd = _wrap_sacVlArbRec_reserved_set;
+                }  else if (strcmp(_str,"-vl_arb_tbl") == 0) {
+                    cmd = _wrap_sacVlArbRec_vl_arb_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacVlArbRec_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_port_num_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_block_num_get;
+                }  else if (strcmp(_str,"-reserved") == 0) {
+                    cmd = _wrap_sacVlArbRec_reserved_get;
+                }  else if (strcmp(_str,"-vl_arb_tbl") == 0) {
+                    cmd = _wrap_sacVlArbRec_vl_arb_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacVlArbRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -port_num -block_num -reserved -vl_arb_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacVlArbRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_reserved_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_vl_arb_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacVlArbRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacVlArbRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacVlArbRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacVlArbRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacVlArbRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacVlArbRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ib_pkey_table_pkey_entry_set(sacPKeyTbl *obj, ib_net16_array_t val[IB_NUM_PKEY_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+     obj->pkey_entry[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_sacPKeyTbl_pkey_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacPKeyTbl * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyTbl_pkey_entry_set { sacPKeyTbl * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyTbl_pkey_entry_set. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_pkey_table_pkey_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_pkey_entry_get(_swigobj) ((ib_net16_array_t *) _swigobj->pkey_entry)
+static int _wrap_sacPKeyTbl_pkey_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacPKeyTbl * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyTbl_pkey_entry_get { sacPKeyTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyTbl_pkey_entry_get. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_pkey_table_pkey_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPKeyTblMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPKeyTbl methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPKeyTbl_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_sacPKeyTbl_pkey_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pkey_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pkey_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_sacPKeyTbl_pkey_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPKeyTbl_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pkey_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pkey_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPKeyTbl_pkey_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPKeyTblCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPKeyTbl * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPKeyTbl_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPKeyTbl_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPKeyTbl object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPKeyTblMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_pkey_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPKeyRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_lid_set { sacPKeyRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_lid_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pkey_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacPKeyRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_lid_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_lid_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pkey_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_block_num_set { sacPKeyRec * } { uint16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_block_num_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacPKeyRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_block_num_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_block_num_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_port_num_set { sacPKeyRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_port_num_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacPKeyRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_port_num_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_port_num_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved1_set { sacPKeyRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved1_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_reserved1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_sacPKeyRec_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved1_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved1_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_reserved1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved2_set { sacPKeyRec * } { uint16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved2_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacPKeyRec_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved2_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved2_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_pkey_tbl_set(_swigobj,_swigval) (_swigobj->pkey_tbl = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_pkey_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyTbl * _result;
+    sacPKeyRec * _arg0;
+    sacPKeyTbl * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_pkey_tbl_set { sacPKeyRec * } { sacPKeyTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_pkey_tbl_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacPKeyRec_pkey_tbl_set. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPKeyTbl *)_ib_pkey_table_record_pkey_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPKeyTbl_p");
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_pkey_tbl_get(_swigobj) (&_swigobj->pkey_tbl)
+static int _wrap_sacPKeyRec_pkey_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyTbl * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_pkey_tbl_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_pkey_tbl_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPKeyTbl *)_ib_pkey_table_record_pkey_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPKeyTbl_p");
+    return TCL_OK;
+}
+static char * sacPKeyRec_get(sacPKeyRec *self,uint64_t  comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPKeyRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPKeyRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_get { sacPKeyRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPKeyRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPKeyRec_getTable(sacPKeyRec *self,uint64_t  comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPKeyRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPKeyRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_getTable { sacPKeyRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_getTable. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPKeyRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPKeyRec_delete(sacPKeyRec *self) {
+	 SWIG_AltMnglUnregObj(&(self->pkey_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPKeyRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_delete { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_delete. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPKeyRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPKeyRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPKeyRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPKeyRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPKeyRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPKeyRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPKeyRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPKeyRec_lid_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_block_num_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_port_num_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved1_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved2_set;
+                }  else if (strcmp(_str,"-pkey_tbl") == 0) {
+                    cmd = _wrap_sacPKeyRec_pkey_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPKeyRec_lid_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_block_num_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_port_num_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved1_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved2_get;
+                }  else if (strcmp(_str,"-pkey_tbl") == 0) {
+                    cmd = _wrap_sacPKeyRec_pkey_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPKeyRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPKeyRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_pkey_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPKeyRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPKeyRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPKeyRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPKeyRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPKeyRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPKeyRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_node_info_base_version_set(_swigobj,_swigval) (_swigobj->base_version = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_base_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_base_version_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_base_version_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_base_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_base_version_get(_swigobj) (&_swigobj->base_version)
+static int _wrap_smNodeInfo_base_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_base_version_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_base_version_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_base_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_class_version_set(_swigobj,_swigval) (_swigobj->class_version = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_class_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_class_version_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_class_version_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_class_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_class_version_get(_swigobj) (&_swigobj->class_version)
+static int _wrap_smNodeInfo_class_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_class_version_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_class_version_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_class_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_type_set(_swigobj,_swigval) (_swigobj->node_type = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_node_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_type_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_type_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_node_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_type_get(_swigobj) (&_swigobj->node_type)
+static int _wrap_smNodeInfo_node_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_type_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_type_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_node_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_num_ports_set(_swigobj,_swigval) (_swigobj->num_ports = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_num_ports_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_num_ports_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_num_ports_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_num_ports_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_num_ports_get(_swigobj) (&_swigobj->num_ports)
+static int _wrap_smNodeInfo_num_ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_num_ports_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_num_ports_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_num_ports_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_sys_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_sys_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+static int _wrap_smNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_sys_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_sys_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_node_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+static int _wrap_smNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_node_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_port_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+static int _wrap_smNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_port_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_partition_cap_set(_swigobj,_swigval) (_swigobj->partition_cap = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_partition_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_partition_cap_set { smNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_partition_cap_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_partition_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_partition_cap_get(_swigobj) (&_swigobj->partition_cap)
+static int _wrap_smNodeInfo_partition_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_partition_cap_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_partition_cap_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_partition_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_device_id_set(_swigobj,_swigval) (_swigobj->device_id = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_device_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_device_id_set { smNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_device_id_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_device_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_device_id_get(_swigobj) (&_swigobj->device_id)
+static int _wrap_smNodeInfo_device_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_device_id_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_device_id_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_device_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_revision_set(_swigobj,_swigval) (_swigobj->revision = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_revision_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_revision_set { smNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_revision_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_revision_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_revision_get(_swigobj) (&_swigobj->revision)
+static int _wrap_smNodeInfo_revision_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_revision_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_revision_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_revision_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_num_vendor_id_set(_swigobj,_swigval) (_swigobj->port_num_vendor_id = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_port_num_vendor_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_num_vendor_id_set { smNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_num_vendor_id_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_port_num_vendor_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_num_vendor_id_get(_swigobj) (&_swigobj->port_num_vendor_id)
+static int _wrap_smNodeInfo_port_num_vendor_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_num_vendor_id_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_num_vendor_id_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_port_num_vendor_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smNodeInfo_getByDr(smNodeInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_getByDr { smNodeInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_getByDr. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_setByDr(smNodeInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_setByDr { smNodeInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_setByDr. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_getByLid(smNodeInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_getByLid { smNodeInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_getByLid. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_setByLid(smNodeInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_setByLid { smNodeInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_setByLid. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNodeInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNodeInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNodeInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smNodeInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smNodeInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smNodeInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smNodeInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_smNodeInfo_base_version_set;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_smNodeInfo_class_version_set;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_smNodeInfo_node_type_set;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_smNodeInfo_num_ports_set;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_sys_guid_set;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_node_guid_set;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_port_guid_set;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_smNodeInfo_partition_cap_set;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_smNodeInfo_device_id_set;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_smNodeInfo_revision_set;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_smNodeInfo_port_num_vendor_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_smNodeInfo_base_version_get;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_smNodeInfo_class_version_get;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_smNodeInfo_node_type_get;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_smNodeInfo_num_ports_get;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_sys_guid_get;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_node_guid_get;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_port_guid_get;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_smNodeInfo_partition_cap_get;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_smNodeInfo_device_id_get;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_smNodeInfo_revision_get;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_smNodeInfo_port_num_vendor_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNodeInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNodeInfo_base_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_class_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_node_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_num_ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_node_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_port_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_partition_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-partition_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_device_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-device_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_revision_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revision ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_port_num_vendor_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num_vendor_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNodeInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNodeInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNodeInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNodeInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNodeInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNodeInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_port_info_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_set { smPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_m_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_smPortInfo_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_m_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_prefix_set(_swigobj,_swigval) (_swigobj->subnet_prefix = *(_swigval),_swigval)
+static int _wrap_smPortInfo_subnet_prefix_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_prefix_set { smPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_prefix_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_subnet_prefix_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_prefix_get(_swigobj) (&_swigobj->subnet_prefix)
+static int _wrap_smPortInfo_subnet_prefix_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_prefix_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_prefix_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_subnet_prefix_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = *(_swigval),_swigval)
+static int _wrap_smPortInfo_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_base_lid_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_base_lid_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_base_lid_get(_swigobj) (&_swigobj->base_lid)
+static int _wrap_smPortInfo_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_base_lid_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_base_lid_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_master_sm_base_lid_set(_swigobj,_swigval) (_swigobj->master_sm_base_lid = *(_swigval),_swigval)
+static int _wrap_smPortInfo_master_sm_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_master_sm_base_lid_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_master_sm_base_lid_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_master_sm_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_master_sm_base_lid_get(_swigobj) (&_swigobj->master_sm_base_lid)
+static int _wrap_smPortInfo_master_sm_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_master_sm_base_lid_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_master_sm_base_lid_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_master_sm_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_capability_mask_set(_swigobj,_swigval) (_swigobj->capability_mask = *(_swigval),_swigval)
+static int _wrap_smPortInfo_capability_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_capability_mask_set { smPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_capability_mask_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_port_info_capability_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_capability_mask_get(_swigobj) (&_swigobj->capability_mask)
+static int _wrap_smPortInfo_capability_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_capability_mask_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_capability_mask_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_port_info_capability_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_diag_code_set(_swigobj,_swigval) (_swigobj->diag_code = *(_swigval),_swigval)
+static int _wrap_smPortInfo_diag_code_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_diag_code_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_diag_code_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_diag_code_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_diag_code_get(_swigobj) (&_swigobj->diag_code)
+static int _wrap_smPortInfo_diag_code_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_diag_code_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_diag_code_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_diag_code_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_lease_period_set(_swigobj,_swigval) (_swigobj->m_key_lease_period = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_lease_period_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_lease_period_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_lease_period_get(_swigobj) (&_swigobj->m_key_lease_period)
+static int _wrap_smPortInfo_m_key_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_lease_period_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_lease_period_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_local_port_num_set(_swigobj,_swigval) (_swigobj->local_port_num = *(_swigval),_swigval)
+static int _wrap_smPortInfo_local_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_local_port_num_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_local_port_num_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_local_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_local_port_num_get(_swigobj) (&_swigobj->local_port_num)
+static int _wrap_smPortInfo_local_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_local_port_num_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_local_port_num_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_local_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_enabled_set(_swigobj,_swigval) (_swigobj->link_width_enabled = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_enabled_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_enabled_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_enabled_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_enabled_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_enabled_get(_swigobj) (&_swigobj->link_width_enabled)
+static int _wrap_smPortInfo_link_width_enabled_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_enabled_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_enabled_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_enabled_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_supported_set(_swigobj,_swigval) (_swigobj->link_width_supported = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_supported_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_supported_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_supported_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_supported_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_supported_get(_swigobj) (&_swigobj->link_width_supported)
+static int _wrap_smPortInfo_link_width_supported_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_supported_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_supported_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_supported_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_active_set(_swigobj,_swigval) (_swigobj->link_width_active = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_active_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_active_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_active_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_active_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_active_get(_swigobj) (&_swigobj->link_width_active)
+static int _wrap_smPortInfo_link_width_active_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_active_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_active_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_active_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info1_set(_swigobj,_swigval) (_swigobj->state_info1 = *(_swigval),_swigval)
+static int _wrap_smPortInfo_state_info1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info1_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info1_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info1_get(_swigobj) (&_swigobj->state_info1)
+static int _wrap_smPortInfo_state_info1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info1_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info1_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info2_set(_swigobj,_swigval) (_swigobj->state_info2 = *(_swigval),_swigval)
+static int _wrap_smPortInfo_state_info2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info2_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info2_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info2_get(_swigobj) (&_swigobj->state_info2)
+static int _wrap_smPortInfo_state_info2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info2_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info2_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mkey_lmc_set(_swigobj,_swigval) (_swigobj->mkey_lmc = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mkey_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mkey_lmc_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mkey_lmc_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mkey_lmc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mkey_lmc_get(_swigobj) (&_swigobj->mkey_lmc)
+static int _wrap_smPortInfo_mkey_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mkey_lmc_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mkey_lmc_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mkey_lmc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_speed_set(_swigobj,_swigval) (_swigobj->link_speed = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_speed_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_speed_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_speed_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_speed_get(_swigobj) (&_swigobj->link_speed)
+static int _wrap_smPortInfo_link_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_speed_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_speed_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_speed_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_smsl_set(_swigobj,_swigval) (_swigobj->mtu_smsl = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mtu_smsl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_smsl_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_smsl_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_smsl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_smsl_get(_swigobj) (&_swigobj->mtu_smsl)
+static int _wrap_smPortInfo_mtu_smsl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_smsl_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_smsl_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_smsl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_cap_set(_swigobj,_swigval) (_swigobj->vl_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_cap_get(_swigobj) (&_swigobj->vl_cap)
+static int _wrap_smPortInfo_vl_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_high_limit_set(_swigobj,_swigval) (_swigobj->vl_high_limit = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_high_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_high_limit_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_high_limit_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_high_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_high_limit_get(_swigobj) (&_swigobj->vl_high_limit)
+static int _wrap_smPortInfo_vl_high_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_high_limit_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_high_limit_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_high_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_high_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_high_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_arb_high_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_high_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_high_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_high_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_high_cap_get(_swigobj) (&_swigobj->vl_arb_high_cap)
+static int _wrap_smPortInfo_vl_arb_high_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_high_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_high_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_high_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_low_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_low_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_arb_low_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_low_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_low_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_low_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_low_cap_get(_swigobj) (&_swigobj->vl_arb_low_cap)
+static int _wrap_smPortInfo_vl_arb_low_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_low_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_low_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_low_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_cap_set(_swigobj,_swigval) (_swigobj->mtu_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mtu_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_cap_get(_swigobj) (&_swigobj->mtu_cap)
+static int _wrap_smPortInfo_mtu_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_stall_life_set(_swigobj,_swigval) (_swigobj->vl_stall_life = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_stall_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_stall_life_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_stall_life_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_stall_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_stall_life_get(_swigobj) (&_swigobj->vl_stall_life)
+static int _wrap_smPortInfo_vl_stall_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_stall_life_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_stall_life_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_stall_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_enforce_set(_swigobj,_swigval) (_swigobj->vl_enforce = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_enforce_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_enforce_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_enforce_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_enforce_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_enforce_get(_swigobj) (&_swigobj->vl_enforce)
+static int _wrap_smPortInfo_vl_enforce_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_enforce_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_enforce_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_enforce_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_violations_set(_swigobj,_swigval) (_swigobj->m_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_violations_get(_swigobj) (&_swigobj->m_key_violations)
+static int _wrap_smPortInfo_m_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_p_key_violations_set(_swigobj,_swigval) (_swigobj->p_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_p_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_p_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_p_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_p_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_p_key_violations_get(_swigobj) (&_swigobj->p_key_violations)
+static int _wrap_smPortInfo_p_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_p_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_p_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_p_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_q_key_violations_set(_swigobj,_swigval) (_swigobj->q_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_q_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_q_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_q_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_q_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_q_key_violations_get(_swigobj) (&_swigobj->q_key_violations)
+static int _wrap_smPortInfo_q_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_q_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_q_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_q_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_guid_cap_set(_swigobj,_swigval) (_swigobj->guid_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_guid_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_guid_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_guid_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_guid_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_guid_cap_get(_swigobj) (&_swigobj->guid_cap)
+static int _wrap_smPortInfo_guid_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_guid_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_guid_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_guid_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_timeout_set(_swigobj,_swigval) (_swigobj->subnet_timeout = *(_swigval),_swigval)
+static int _wrap_smPortInfo_subnet_timeout_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_timeout_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_timeout_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_subnet_timeout_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_timeout_get(_swigobj) (&_swigobj->subnet_timeout)
+static int _wrap_smPortInfo_subnet_timeout_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_timeout_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_timeout_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_subnet_timeout_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_resp_time_value_set(_swigobj,_swigval) (_swigobj->resp_time_value = *(_swigval),_swigval)
+static int _wrap_smPortInfo_resp_time_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_resp_time_value_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_resp_time_value_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_resp_time_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_resp_time_value_get(_swigobj) (&_swigobj->resp_time_value)
+static int _wrap_smPortInfo_resp_time_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_resp_time_value_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_resp_time_value_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_resp_time_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_error_threshold_set(_swigobj,_swigval) (_swigobj->error_threshold = *(_swigval),_swigval)
+static int _wrap_smPortInfo_error_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_error_threshold_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_error_threshold_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_error_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_error_threshold_get(_swigobj) (&_swigobj->error_threshold)
+static int _wrap_smPortInfo_error_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_error_threshold_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_error_threshold_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_error_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smPortInfo_getByDr(smPortInfo *self,ibsm_dr_path_t * dr,uint8_t  portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPortInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_getByDr { smPortInfo * } dr portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_getByDr. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_setByDr(smPortInfo *self,ibsm_dr_path_t * dr,uint8_t  portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPortInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_setByDr { smPortInfo * } dr portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_setByDr. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_getByLid(smPortInfo *self,uint16_t  lid,uint8_t  portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPortInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_getByLid { smPortInfo * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_getByLid. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_setByLid(smPortInfo *self,uint16_t  lid,uint8_t  portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPortInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_setByLid { smPortInfo * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_setByLid. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smPortInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smPortInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smPortInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smPortInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smPortInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_set;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_prefix_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_base_lid_set;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_master_sm_base_lid_set;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_smPortInfo_capability_mask_set;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_smPortInfo_diag_code_set;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_lease_period_set;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_smPortInfo_local_port_num_set;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_enabled_set;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_supported_set;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_active_set;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_smPortInfo_state_info1_set;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_smPortInfo_state_info2_set;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_smPortInfo_mkey_lmc_set;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_smPortInfo_link_speed_set;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_smsl_set;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_cap_set;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_smPortInfo_vl_high_limit_set;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_high_cap_set;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_low_cap_set;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_cap_set;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_smPortInfo_vl_stall_life_set;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_smPortInfo_vl_enforce_set;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_violations_set;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_p_key_violations_set;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_q_key_violations_set;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_smPortInfo_guid_cap_set;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_timeout_set;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_smPortInfo_resp_time_value_set;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_smPortInfo_error_threshold_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_ti [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_get;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_prefix_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_base_lid_get;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_master_sm_base_lid_get;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_smPortInfo_capability_mask_get;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_smPortInfo_diag_code_get;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_lease_period_get;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_smPortInfo_local_port_num_get;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_enabled_get;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_supported_get;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_active_get;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_smPortInfo_state_info1_get;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_smPortInfo_state_info2_get;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_smPortInfo_mkey_lmc_get;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_smPortInfo_link_speed_get;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_smsl_get;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_cap_get;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_smPortInfo_vl_high_limit_get;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_high_cap_get;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_low_cap_get;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_cap_get;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_smPortInfo_vl_stall_life_get;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_smPortInfo_vl_enforce_get;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_violations_get;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_p_key_violations_get;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_q_key_violations_get;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_smPortInfo_guid_cap_get;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_timeout_get;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_smPortInfo_resp_time_value_get;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_smPortInfo_error_threshold_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_tim [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smPortInfo_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_subnet_prefix_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_prefix ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_master_sm_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-master_sm_base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_capability_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-capability_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_diag_code_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-diag_code ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_m_key_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_local_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_enabled_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_enabled ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_supported_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_supported ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_active_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_active ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_state_info1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_state_info2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mkey_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey_lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mtu_smsl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_smsl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_high_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_high_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_arb_high_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_high_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_arb_low_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_low_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mtu_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_stall_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_stall_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_enforce_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_enforce ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_m_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_p_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_q_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-q_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_guid_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_subnet_timeout_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_timeout ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_resp_time_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resp_time_value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_error_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-error_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_switch_info_lin_cap_set(_swigobj,_swigval) (_swigobj->lin_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lin_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_cap_get(_swigobj) (&_swigobj->lin_cap)
+static int _wrap_smSwInfo_lin_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_rand_cap_set(_swigobj,_swigval) (_swigobj->rand_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_rand_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_rand_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_rand_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_rand_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_rand_cap_get(_swigobj) (&_swigobj->rand_cap)
+static int _wrap_smSwInfo_rand_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_rand_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_rand_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_rand_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_mcast_cap_set(_swigobj,_swigval) (_swigobj->mcast_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_mcast_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_mcast_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_mcast_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_mcast_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_mcast_cap_get(_swigobj) (&_swigobj->mcast_cap)
+static int _wrap_smSwInfo_mcast_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_mcast_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_mcast_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_mcast_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_top_set(_swigobj,_swigval) (_swigobj->lin_top = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lin_top_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_top_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_top_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_top_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_top_get(_swigobj) (&_swigobj->lin_top)
+static int _wrap_smSwInfo_lin_top_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_top_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_top_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_top_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_port_set(_swigobj,_swigval) (_swigobj->def_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_port_get(_swigobj) (&_swigobj->def_port)
+static int _wrap_smSwInfo_def_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_pri_port_set(_swigobj,_swigval) (_swigobj->def_mcast_pri_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_mcast_pri_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_pri_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_pri_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_pri_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_pri_port_get(_swigobj) (&_swigobj->def_mcast_pri_port)
+static int _wrap_smSwInfo_def_mcast_pri_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_pri_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_pri_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_pri_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_not_port_set(_swigobj,_swigval) (_swigobj->def_mcast_not_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_mcast_not_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_not_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_not_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_not_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_not_port_get(_swigobj) (&_swigobj->def_mcast_not_port)
+static int _wrap_smSwInfo_def_mcast_not_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_not_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_not_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_not_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_life_state_set(_swigobj,_swigval) (_swigobj->life_state = *(_swigval),_swigval)
+static int _wrap_smSwInfo_life_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_life_state_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_life_state_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_life_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_life_state_get(_swigobj) (&_swigobj->life_state)
+static int _wrap_smSwInfo_life_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_life_state_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_life_state_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_life_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lids_per_port_set(_swigobj,_swigval) (_swigobj->lids_per_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lids_per_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lids_per_port_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lids_per_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lids_per_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lids_per_port_get(_swigobj) (&_swigobj->lids_per_port)
+static int _wrap_smSwInfo_lids_per_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lids_per_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lids_per_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lids_per_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_enforce_cap_set(_swigobj,_swigval) (_swigobj->enforce_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_enforce_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_enforce_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_enforce_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_enforce_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_enforce_cap_get(_swigobj) (&_swigobj->enforce_cap)
+static int _wrap_smSwInfo_enforce_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_enforce_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_enforce_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_enforce_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_flags_set(_swigobj,_swigval) (_swigobj->flags = *(_swigval),_swigval)
+static int _wrap_smSwInfo_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_flags_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_flags_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_flags_get(_swigobj) (&_swigobj->flags)
+static int _wrap_smSwInfo_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_flags_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_flags_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smSwInfo_getByDr(smSwInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSwInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_getByDr { smSwInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_getByDr. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_setByDr(smSwInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSwInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_setByDr { smSwInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_setByDr. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_getByLid(smSwInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSwInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_getByLid { smSwInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_getByLid. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_setByLid(smSwInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSwInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_setByLid { smSwInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_setByLid. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSwInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSwInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSwInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSwInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSwInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSwInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSwInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_smSwInfo_lin_cap_set;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_smSwInfo_rand_cap_set;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_smSwInfo_mcast_cap_set;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_smSwInfo_lin_top_set;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_port_set;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_pri_port_set;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_not_port_set;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_smSwInfo_life_state_set;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_smSwInfo_lids_per_port_set;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_smSwInfo_enforce_cap_set;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_smSwInfo_flags_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_smSwInfo_lin_cap_get;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_smSwInfo_rand_cap_get;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_smSwInfo_mcast_cap_get;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_smSwInfo_lin_top_get;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_port_get;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_pri_port_get;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_not_port_get;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_smSwInfo_life_state_get;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_smSwInfo_lids_per_port_get;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_smSwInfo_enforce_cap_get;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_smSwInfo_flags_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSwInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSwInfo_lin_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_rand_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rand_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_mcast_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mcast_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_lin_top_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_top ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_mcast_pri_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_pri_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_mcast_not_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_not_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_life_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-life_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_lids_per_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lids_per_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_enforce_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-enforce_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSwInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSwInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSwInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSwInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSwInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSwInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ibsm_lft_block_lft_set(smLftBlock *obj, uint8_array_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->lft[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smLftBlock_lft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smLftBlock * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_lft_set { smLftBlock * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_lft_set. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 64))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 64; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_lft_block_lft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_lft_block_lft_get(_swigobj) ((uint8_array_t *) _swigobj->lft)
+static int _wrap_smLftBlock_lft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smLftBlock * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_lft_get { smLftBlock * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_lft_get. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_lft_block_lft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smLftBlock_getByDr(smLftBlock *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smLftBlock_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_getByDr { smLftBlock * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_getByDr. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_setByDr(smLftBlock *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smLftBlock_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_setByDr { smLftBlock * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_setByDr. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_getByLid(smLftBlock *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smLftBlock_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_getByLid { smLftBlock * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_getByLid. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_setByLid(smLftBlock *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smLftBlock_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_setByLid { smLftBlock * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_setByLid. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmLftBlockMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smLftBlock methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smLftBlock_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smLftBlock_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smLftBlock_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smLftBlock_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smLftBlock_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_smLftBlock_lft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_smLftBlock_lft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smLftBlock_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smLftBlock_lft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmLftBlockCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smLftBlock * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smLftBlock_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smLftBlock_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smLftBlock object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmLftBlockMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ibsm_mft_block_mft_set(smMftBlock *obj, ib_net16_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+     obj->mft[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_smMftBlock_mft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smMftBlock * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_mft_set { smMftBlock * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_mft_set. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_mft_block_mft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_mft_block_mft_get(_swigobj) ((ib_net16_array_t *) _swigobj->mft)
+static int _wrap_smMftBlock_mft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smMftBlock * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_mft_get { smMftBlock * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_mft_get. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_mft_block_mft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smMftBlock_getByDr(smMftBlock *self,ibsm_dr_path_t * dr,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smMftBlock_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_getByDr { smMftBlock * } dr startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_getByDr. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_setByDr(smMftBlock *self,ibsm_dr_path_t * dr,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smMftBlock_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_setByDr { smMftBlock * } dr startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_setByDr. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_getByLid(smMftBlock *self,uint16_t  lid,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smMftBlock_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_getByLid { smMftBlock * } lid startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_getByLid. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_setByLid(smMftBlock *self,uint16_t  lid,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smMftBlock_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_setByLid { smMftBlock * } lid startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_setByLid. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmMftBlockMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smMftBlock methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smMftBlock_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smMftBlock_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smMftBlock_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smMftBlock_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smMftBlock_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mft") == 0) {
+                    cmd = _wrap_smMftBlock_mft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mft") == 0) {
+                    cmd = _wrap_smMftBlock_mft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smMftBlock_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smMftBlock_mft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmMftBlockCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smMftBlock * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smMftBlock_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smMftBlock_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smMftBlock object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmMftBlockMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net64_array_t * _ibsm_guid_info_guid_set(smGuidInfo *obj, ib_net64_array_t val[GUID_TABLE_MAX_ENTRIES]) {
+{
+	int i;
+	for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+     obj->guid[i] = *(val+i);
+	}
+}
+    return (ib_net64_array_t *) val;
+}
+static int _wrap_smGuidInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    smGuidInfo * _arg0;
+    ib_net64_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net64_t  entrys[GUID_TABLE_MAX_ENTRIES];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_guid_set { smGuidInfo * } { ib_net64_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_guid_set. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < GUID_TABLE_MAX_ENTRIES))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < GUID_TABLE_MAX_ENTRIES; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ibsm_guid_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_guid_info_guid_get(_swigobj) ((ib_net64_array_t *) _swigobj->guid)
+static int _wrap_smGuidInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    smGuidInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_guid_get { smGuidInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_guid_get. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ibsm_guid_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smGuidInfo_getByDr(smGuidInfo *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smGuidInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_getByDr { smGuidInfo * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_getByDr. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_setByDr(smGuidInfo *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smGuidInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_setByDr { smGuidInfo * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_setByDr. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_getByLid(smGuidInfo *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smGuidInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_getByLid { smGuidInfo * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_getByLid. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_setByLid(smGuidInfo *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smGuidInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_setByLid { smGuidInfo * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_setByLid. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmGuidInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smGuidInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smGuidInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smGuidInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smGuidInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smGuidInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smGuidInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smGuidInfo_guid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smGuidInfo_guid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smGuidInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smGuidInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmGuidInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smGuidInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smGuidInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smGuidInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smGuidInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmGuidInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ibsm_pkey_table_pkey_entry_set(smPkeyTable *obj, ib_net16_array_t val[IB_NUM_PKEY_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+     obj->pkey_entry[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_smPkeyTable_pkey_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smPkeyTable * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_pkey_entry_set { smPkeyTable * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_pkey_entry_set. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_pkey_table_pkey_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_pkey_table_pkey_entry_get(_swigobj) ((ib_net16_array_t *) _swigobj->pkey_entry)
+static int _wrap_smPkeyTable_pkey_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smPkeyTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_pkey_entry_get { smPkeyTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_pkey_entry_get. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_pkey_table_pkey_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smPkeyTable_getByDr(smPkeyTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPkeyTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_getByDr { smPkeyTable * } dr portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_getByDr. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_setByDr(smPkeyTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPkeyTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_setByDr { smPkeyTable * } dr portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_setByDr. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_getByLid(smPkeyTable *self,uint16_t  lid,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPkeyTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_getByLid { smPkeyTable * } lid portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_getByLid. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_setByLid(smPkeyTable *self,uint16_t  lid,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPkeyTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_setByLid { smPkeyTable * } lid portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_setByLid. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmPkeyTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smPkeyTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smPkeyTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smPkeyTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smPkeyTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smPkeyTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smPkeyTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_smPkeyTable_pkey_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pkey_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pkey_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_smPkeyTable_pkey_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smPkeyTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pkey_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pkey_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smPkeyTable_pkey_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmPkeyTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smPkeyTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smPkeyTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smPkeyTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smPkeyTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmPkeyTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ibsm_slvl_table_raw_vl_by_sl_set(smSlVlTable *obj, uint8_array_t val[IB_MAX_NUM_VLS/2]) {
+{
+	int i;
+	for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+		obj->raw_vl_by_sl[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smSlVlTable_raw_vl_by_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smSlVlTable * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[IB_MAX_NUM_VLS/2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_raw_vl_by_sl_set { smSlVlTable * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_raw_vl_by_sl_set. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_MAX_NUM_VLS/2))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_MAX_NUM_VLS/2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_slvl_table_raw_vl_by_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_slvl_table_raw_vl_by_sl_get(_swigobj) ((uint8_array_t *) _swigobj->raw_vl_by_sl)
+static int _wrap_smSlVlTable_raw_vl_by_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smSlVlTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_raw_vl_by_sl_get { smSlVlTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_raw_vl_by_sl_get. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_slvl_table_raw_vl_by_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smSlVlTable_getByDr(smSlVlTable *self,ibsm_dr_path_t * dr,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSlVlTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_getByDr { smSlVlTable * } dr inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_getByDr. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_setByDr(smSlVlTable *self,ibsm_dr_path_t * dr,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSlVlTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_setByDr { smSlVlTable * } dr inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_setByDr. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_getByLid(smSlVlTable *self,uint16_t  lid,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSlVlTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_getByLid { smSlVlTable * } lid inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_getByLid. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_setByLid(smSlVlTable *self,uint16_t  lid,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSlVlTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_setByLid { smSlVlTable * } lid inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_setByLid. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSlVlTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSlVlTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSlVlTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSlVlTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSlVlTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSlVlTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSlVlTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_smSlVlTable_raw_vl_by_sl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -raw_vl_by_sl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -raw_vl_by_sl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_smSlVlTable_raw_vl_by_sl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSlVlTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_vl_by_sl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_vl_by_sl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSlVlTable_raw_vl_by_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_vl_by_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSlVlTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSlVlTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSlVlTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSlVlTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSlVlTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSlVlTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_vl_arb_element_t * _ibsm_vl_arb_table_vl_entry_set(smVlArbTable *obj, ib_vl_arb_element_t val[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+		obj->vl_entry[i] = *(val+i);
+	}
+}
+    return (ib_vl_arb_element_t *) val;
+}
+static int _wrap_smVlArbTable_vl_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_vl_arb_element_t * _result;
+    smVlArbTable * _arg0;
+    ib_vl_arb_element_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_vl_arb_element_t  entrys[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_vl_entry_set { smVlArbTable * } { ib_vl_arb_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_vl_entry_set. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *p_ch;
+  char *last;
+  long int vl, weight;
+  int   countSubLists, idx, numElements;
+  int i = 0;
+  Tcl_Obj	**subListObjArray;
+  Tcl_Obj   *tclObj;
+
+  if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+  {
+    printf("Error: wrong format for VL Arb Table: %s\n",
+           Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  /* go over all sub lists and convert them */
+  for (idx = 0; idx < countSubLists; idx++) {
+    if (Tcl_ListObjLength(interp, subListObjArray[idx], &numElements) != TCL_OK)
+    {
+      printf("Error: wrong format for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (numElements != 2)
+    {
+      printf("Error: wrong number of elements for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 0, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain first element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    vl = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 1, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain second element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    weight = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+
+    entrys[i].vl = vl;
+    entrys[i++].weight = weight;
+
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+
+  for (; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++)
+  {
+    entrys[i].vl = 0;
+    entrys[i].weight = 0;
+  }
+
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_vl_arb_element_t *)_ibsm_vl_arb_table_vl_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[16];
+  for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "{0x%x 0x%02x} ", _result[i].vl, _result[i].weight);
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_vl_arb_table_vl_entry_get(_swigobj) ((ib_vl_arb_element_t *) _swigobj->vl_entry)
+static int _wrap_smVlArbTable_vl_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_vl_arb_element_t * _result;
+    smVlArbTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_vl_entry_get { smVlArbTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_vl_entry_get. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_vl_arb_element_t *)_ibsm_vl_arb_table_vl_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[16];
+  for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "{0x%x 0x%02x} ", _result[i].vl, _result[i].weight);
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smVlArbTable_getByDr(smVlArbTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smVlArbTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_getByDr { smVlArbTable * } dr portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_getByDr. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_setByDr(smVlArbTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smVlArbTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_setByDr { smVlArbTable * } dr portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_setByDr. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_getByLid(smVlArbTable *self,uint16_t  lid,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smVlArbTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_getByLid { smVlArbTable * } lid portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_getByLid. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_setByLid(smVlArbTable *self,uint16_t  lid,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smVlArbTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_setByLid { smVlArbTable * } lid portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_setByLid. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmVlArbTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smVlArbTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smVlArbTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smVlArbTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smVlArbTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smVlArbTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smVlArbTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-vl_entry") == 0) {
+                    cmd = _wrap_smVlArbTable_vl_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -vl_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -vl_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-vl_entry") == 0) {
+                    cmd = _wrap_smVlArbTable_vl_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smVlArbTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -vl_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -vl_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smVlArbTable_vl_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmVlArbTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smVlArbTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smVlArbTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smVlArbTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smVlArbTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmVlArbTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ibsm_node_desc_str_t * _ibsm_node_desc_description_set(smNodeDesc *obj, ibsm_node_desc_str_t val[IB_NODE_DESCRIPTION_SIZE]) {
+{
+  strncpy((char *)obj->description,(char *)val,IB_NODE_DESCRIPTION_SIZE - 1);
+  obj->description[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+}
+    return (ibsm_node_desc_str_t *) val;
+}
+static int _wrap_smNodeDesc_description_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ibsm_node_desc_str_t * _result;
+    smNodeDesc * _arg0;
+    ibsm_node_desc_str_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp[IB_NODE_DESCRIPTION_SIZE];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_description_set { smNodeDesc * } { ibsm_node_desc_str_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_description_set. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  strcpy((char *)temp, Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ibsm_node_desc_str_t *)_ibsm_node_desc_description_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_desc_description_get(_swigobj) ((ibsm_node_desc_str_t *) _swigobj->description)
+static int _wrap_smNodeDesc_description_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ibsm_node_desc_str_t * _result;
+    smNodeDesc * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_description_get { smNodeDesc * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_description_get. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ibsm_node_desc_str_t *)_ibsm_node_desc_description_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smNodeDesc_getByDr(smNodeDesc *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeDesc_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_getByDr { smNodeDesc * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_getByDr. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_setByDr(smNodeDesc *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeDesc_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_setByDr { smNodeDesc * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_setByDr. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_getByLid(smNodeDesc *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeDesc_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_getByLid { smNodeDesc * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_getByLid. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_setByLid(smNodeDesc *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeDesc_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_setByLid { smNodeDesc * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_setByLid. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNodeDescMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNodeDesc methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNodeDesc_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smNodeDesc_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smNodeDesc_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smNodeDesc_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smNodeDesc_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_smNodeDesc_description_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -description  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -description  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_smNodeDesc_description_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNodeDesc_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -description  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -description  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNodeDesc_description_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-description ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNodeDescCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNodeDesc * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNodeDesc_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNodeDesc_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNodeDesc object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNodeDescMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_sm_info_guid_set(_swigobj,_swigval) (_swigobj->guid = *(_swigval),_swigval)
+static int _wrap_smSMInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_guid_set { smSMInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_guid_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_guid_get(_swigobj) (&_swigobj->guid)
+static int _wrap_smSMInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_guid_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_guid_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_smSMInfo_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_sm_key_set { smSMInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_sm_key_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_sm_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_smSMInfo_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_sm_key_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_sm_key_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_sm_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_act_count_set(_swigobj,_swigval) (_swigobj->act_count = *(_swigval),_swigval)
+static int _wrap_smSMInfo_act_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smSMInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_act_count_set { smSMInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_act_count_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_sm_info_act_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_act_count_get(_swigobj) (&_swigobj->act_count)
+static int _wrap_smSMInfo_act_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_act_count_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_act_count_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_sm_info_act_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_pri_state_set(_swigobj,_swigval) (_swigobj->pri_state = *(_swigval),_swigval)
+static int _wrap_smSMInfo_pri_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSMInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_pri_state_set { smSMInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_pri_state_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_sm_info_pri_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_pri_state_get(_swigobj) (&_swigobj->pri_state)
+static int _wrap_smSMInfo_pri_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_pri_state_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_pri_state_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_sm_info_pri_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smSMInfo_getByDr(smSMInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSMInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_getByDr { smSMInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_getByDr. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_setByDr(smSMInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSMInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_setByDr { smSMInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_setByDr. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_getByLid(smSMInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSMInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_getByLid { smSMInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_getByLid. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_setByLid(smSMInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSMInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_setByLid { smSMInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_setByLid. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSMInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSMInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSMInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSMInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSMInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSMInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSMInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smSMInfo_guid_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_smSMInfo_sm_key_set;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_smSMInfo_act_count_set;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_smSMInfo_pri_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid -sm_key -act_count -pri_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid -sm_key -act_count -pri_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smSMInfo_guid_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_smSMInfo_sm_key_get;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_smSMInfo_act_count_get;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_smSMInfo_pri_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSMInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid -sm_key -act_count -pri_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid -sm_key -act_count -pri_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSMInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_act_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-act_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_pri_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pri_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSMInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSMInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSMInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSMInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSMInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSMInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_notice_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_smNotice_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_generic_type_set { smNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_generic_type_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_notice_generic_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_smNotice_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_generic_type_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_generic_type_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_notice_generic_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_lid_set { smNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_lid_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_smNotice_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_lid_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_lid_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_issuer_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_smNotice_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_toggle_count_set { smNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_toggle_count_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_toggle_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_smNotice_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_toggle_count_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_toggle_count_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_toggle_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_smNotice_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_gid_set { smNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_gid_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsm_notice_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_smNotice_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_gid_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_gid_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsm_notice_issuer_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_g_or_v_get(_swigobj) (&_swigobj->g_or_v)
+static int _wrap_smNotice_g_or_v_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v *)_ibsm_notice_g_or_v_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_p");
+    return TCL_OK;
+}
+#define _ibsm_notice_data_details_get(_swigobj) (&_swigobj->data_details)
+static int _wrap_smNotice_data_details_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details *)_ibsm_notice_data_details_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_p");
+    return TCL_OK;
+}
+static int  smNotice_trapByDr(smNotice *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self,
+                               sizeof(smNotice),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                               IB_MAD_METHOD_TRAP));
+  }
+static int _wrap_smNotice_trapByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNotice * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_trapByDr { smNotice * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_trapByDr. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNotice_trapByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNotice_trapByLid(smNotice *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self,
+                                sizeof(smNotice),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                                IB_MAD_METHOD_TRAP));
+  }
+static int _wrap_smNotice_trapByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNotice * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_trapByLid { smNotice * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_trapByLid. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNotice_trapByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNoticeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice methods : { dump cget configure trapByDr trapByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"trapByDr") == 0) {
+        cmd = _wrap_smNotice_trapByDr;
+    }    else if (strcmp(_str,"trapByLid") == 0) {
+        cmd = _wrap_smNotice_trapByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_smNotice_generic_type_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_smNotice_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_smNotice_toggle_count_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_smNotice_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -issuer_lid -toggle_count -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -issuer_lid -toggle_count -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_smNotice_generic_type_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_smNotice_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_smNotice_toggle_count_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_smNotice_issuer_gid_get;
+                }  else if (strcmp(_str,"-g_or_v") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_get;
+                }  else if (strcmp(_str,"-data_details") == 0) {
+                    cmd = _wrap_smNotice_data_details_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -issuer_lid -toggle_count -issuer_gid -g_or_v -data_details  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -issuer_lid -toggle_count -issuer_gid -g_or_v -data_details  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-g_or_v ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-data_details ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure trapByDr trapByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNoticeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNoticeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_generic_get(_swigobj) (&_swigobj->generic)
+static int _wrap_smNotice_g_or_v_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v_generic * _result;
+    smNotice_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_get { smNotice_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_get. Expected _smNotice_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v_generic *)smNotice_g_or_v_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_generic_p");
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_get(_swigobj) (&_swigobj->vend)
+static int _wrap_smNotice_g_or_v_vend_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v_vend * _result;
+    smNotice_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_get { smNotice_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_get. Expected _smNotice_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v_vend *)smNotice_g_or_v_vend_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_vend_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_vMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_get;
+                }  else if (strcmp(_str,"-vend") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic -vend  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic -vend  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_vCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_vMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_raw_data_get(_swigobj) (&_swigobj->raw_data)
+static int _wrap_smNotice_data_details_raw_data_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_raw_data * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_raw_data *)smNotice_data_details_raw_data_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_raw_data_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_get(_swigobj) (&_swigobj->ntc_64_67)
+static int _wrap_smNotice_data_details_ntc_64_67_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_64_67 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_64_67 *)smNotice_data_details_ntc_64_67_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_64_67_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_128_get(_swigobj) (&_swigobj->ntc_128)
+static int _wrap_smNotice_data_details_ntc_128_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_128 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_128 *)smNotice_data_details_ntc_128_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_128_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_get(_swigobj) (&_swigobj->ntc_129_131)
+static int _wrap_smNotice_data_details_ntc_129_131_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_129_131 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_129_131 *)smNotice_data_details_ntc_129_131_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_129_131_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_get(_swigobj) (&_swigobj->ntc_144)
+static int _wrap_smNotice_data_details_ntc_144_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_144 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_144 *)smNotice_data_details_ntc_144_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_144_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_get(_swigobj) (&_swigobj->ntc_145)
+static int _wrap_smNotice_data_details_ntc_145_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_145 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_145 *)smNotice_data_details_ntc_145_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_145_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_get(_swigobj) (&_swigobj->ntc_256)
+static int _wrap_smNotice_data_details_ntc_256_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_256 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_256 *)smNotice_data_details_ntc_256_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_256_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_get(_swigobj) (&_swigobj->ntc_257_258)
+static int _wrap_smNotice_data_details_ntc_257_258_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_257_258 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_257_258 *)smNotice_data_details_ntc_257_258_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_257_258_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_get(_swigobj) (&_swigobj->ntc_259)
+static int _wrap_smNotice_data_details_ntc_259_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_259 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_259 *)smNotice_data_details_ntc_259_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_259_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_detailsMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_data") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_get;
+                }  else if (strcmp(_str,"-ntc_64_67") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_get;
+                }  else if (strcmp(_str,"-ntc_128") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_get;
+                }  else if (strcmp(_str,"-ntc_129_131") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_get;
+                }  else if (strcmp(_str,"-ntc_144") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_get;
+                }  else if (strcmp(_str,"-ntc_145") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_get;
+                }  else if (strcmp(_str,"-ntc_256") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_get;
+                }  else if (strcmp(_str,"-ntc_257_258") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_get;
+                }  else if (strcmp(_str,"-ntc_259") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_data -ntc_64_67 -ntc_128 -ntc_129_131 -ntc_144 -ntc_145 -ntc_256 -ntc_257_258 -ntc_259  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_data -ntc_64_67 -ntc_128 -ntc_129_131 -ntc_144 -ntc_145 -ntc_256 -ntc_257_258 -ntc_259  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_raw_data_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_data ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_64_67_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_64_67 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_128_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_128 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_129_131 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_144 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_145 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_256 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_257_258 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_259 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_detailsCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_detailsMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_generic_prod_type_msb_set(_swigobj,_swigval) (_swigobj->prod_type_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_msb_set { smNotice_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_msb_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_generic_prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_msb_get(_swigobj) (&_swigobj->prod_type_msb)
+static int _wrap_smNotice_g_or_v_generic_prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_msb_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_msb_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_generic_prod_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_lsb_set(_swigobj,_swigval) (_swigobj->prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_lsb_set { smNotice_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_lsb_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_lsb_get(_swigobj) (&_swigobj->prod_type_lsb)
+static int _wrap_smNotice_g_or_v_generic_prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_lsb_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_lsb_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_prod_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_trap_num_set { smNotice_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_trap_num_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_smNotice_g_or_v_generic_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_trap_num_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_trap_num_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_v_genericMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v_generic methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_generic_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_set;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_trap_num_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_get;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_trap_num_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_generic_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -prod_type_msb -prod_type_lsb -trap_num  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_generic_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_v_genericCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v_generic * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_generic_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_generic_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v_generic object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_v_genericMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_vend_vend_id_msb_set(_swigobj,_swigval) (_swigobj->vend_id_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_vend_id_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_msb_set { smNotice_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_msb_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_vend_vend_id_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_msb_get(_swigobj) (&_swigobj->vend_id_msb)
+static int _wrap_smNotice_g_or_v_vend_vend_id_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_msb_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_msb_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_vend_vend_id_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_lsb_set(_swigobj,_swigval) (_swigobj->vend_id_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_vend_id_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_lsb_set { smNotice_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_lsb_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_vend_id_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_lsb_get(_swigobj) (&_swigobj->vend_id_lsb)
+static int _wrap_smNotice_g_or_v_vend_vend_id_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_lsb_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_lsb_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_vend_id_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_dev_id_set(_swigobj,_swigval) (_swigobj->dev_id = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_dev_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_dev_id_set { smNotice_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_dev_id_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_dev_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_dev_id_get(_swigobj) (&_swigobj->dev_id)
+static int _wrap_smNotice_g_or_v_vend_dev_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_dev_id_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_dev_id_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_dev_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_v_vendMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v_vend methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_vend_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-vend_id_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_set;
+                }  else if (strcmp(_str,"-vend_id_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_set;
+                }  else if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_dev_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-vend_id_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_get;
+                }  else if (strcmp(_str,"-vend_id_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_get;
+                }  else if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_dev_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_vend_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -vend_id_msb -vend_id_lsb -dev_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend_id_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend_id_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_dev_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dev_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_v_vendCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v_vend * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_vend_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_vend_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v_vend object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_v_vendMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * smNotice_data_details_raw_data_details_set(smNotice_data_details_raw_data *obj, uint8_array_t val[54]) {
+{
+	int i;
+	for (i=0; i <54 ; i++) {
+		obj->details[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_raw_data_details_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_raw_data * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[54];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_details_set { smNotice_data_details_raw_data * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_raw_data_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_details_set. Expected _smNotice_data_details_raw_data_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 54))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 54; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_raw_data_details_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <54 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_raw_data_details_get(_swigobj) ((uint8_array_t *) _swigobj->details)
+static int _wrap_smNotice_data_details_raw_data_details_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_raw_data * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_details_get { smNotice_data_details_raw_data * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_raw_data_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_details_get. Expected _smNotice_data_details_raw_data_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_raw_data_details_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <54 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_raw_dataMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_raw_data methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_raw_data_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-details") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_details_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -details  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -details  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-details") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_details_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_raw_data_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -details  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -details  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_raw_data_details_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-details ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_raw_dataCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_raw_data * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_raw_data_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_raw_data_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_raw_data object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_raw_dataMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * smNotice_data_details_ntc_64_67_res_set(smNotice_data_details_ntc_64_67 *obj, uint8_array_t val[6]) {
+{
+	int i;
+	for (i=0; i <6 ; i++) {
+		obj->res[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_ntc_64_67_res_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[6];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_res_set { smNotice_data_details_ntc_64_67 * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_res_set. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 6))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 6; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_64_67_res_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_res_get(_swigobj) ((uint8_array_t *) _swigobj->res)
+static int _wrap_smNotice_data_details_ntc_64_67_res_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_res_get { smNotice_data_details_ntc_64_67 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_res_get. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_64_67_res_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_gid_set(_swigobj,_swigval) (_swigobj->gid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_64_67_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_gid_set { smNotice_data_details_ntc_64_67 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_gid_set. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_64_67_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_gid_get(_swigobj) (&_swigobj->gid)
+static int _wrap_smNotice_data_details_ntc_64_67_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_gid_get { smNotice_data_details_ntc_64_67 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_gid_get. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_64_67_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_64_67MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_64_67 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_64_67_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-res") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_res_set;
+                }  else if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -res -gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -res -gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-res") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_res_get;
+                }  else if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_64_67_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -res -gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -res -gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_64_67_res_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-res ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_64_67_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_64_67Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_64_67 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_64_67_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_64_67_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_64_67 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_64_67MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_128_sw_lid_set(_swigobj,_swigval) (_swigobj->sw_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_128_sw_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_sw_lid_set { smNotice_data_details_ntc_128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_sw_lid_set. Expected _smNotice_data_details_ntc_128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_128_sw_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_128_sw_lid_get(_swigobj) (&_swigobj->sw_lid)
+static int _wrap_smNotice_data_details_ntc_128_sw_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_sw_lid_get { smNotice_data_details_ntc_128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_sw_lid_get. Expected _smNotice_data_details_ntc_128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_128_sw_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_128MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_128 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_128_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -sw_lid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -sw_lid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_128_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -sw_lid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -sw_lid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sw_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_128Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_128 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_128_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_128_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_128 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_128MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_129_131_pad_set(_swigobj,_swigval) (_swigobj->pad = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_pad_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_pad_set { smNotice_data_details_ntc_129_131 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_pad_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_pad_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_pad_get(_swigobj) (&_swigobj->pad)
+static int _wrap_smNotice_data_details_ntc_129_131_pad_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_pad_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_pad_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_pad_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_lid_set { smNotice_data_details_ntc_129_131 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_lid_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_129_131_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_lid_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_lid_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_port_num_set { smNotice_data_details_ntc_129_131 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_port_num_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_129_131_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_smNotice_data_details_ntc_129_131_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_port_num_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_port_num_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_129_131_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_129_131MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_129_131 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_129_131_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_pad_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad -lid -port_num  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad -lid -port_num  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_pad_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_129_131_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad -lid -port_num  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad -lid -port_num  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_129_131_pad_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_129_131Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_129_131 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_129_131_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_129_131_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_129_131 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_129_131MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_144_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad1_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad1_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_144_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad1_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad1_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_lid_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_lid_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_144_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_lid_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_lid_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad2_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad2_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_144_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad2_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad2_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_new_cap_mask_set(_swigobj,_swigval) (_swigobj->new_cap_mask = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_new_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_new_cap_mask_set { smNotice_data_details_ntc_144 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_new_cap_mask_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_144_new_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_new_cap_mask_get(_swigobj) (&_swigobj->new_cap_mask)
+static int _wrap_smNotice_data_details_ntc_144_new_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_new_cap_mask_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_new_cap_mask_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_144_new_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_144MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_144 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_144_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad2_set;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -new_cap_mask  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -new_cap_mask  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad2_get;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_144_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -new_cap_mask  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -new_cap_mask  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_144_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-new_cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_144Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_144 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_144_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_144_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_144 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_144MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_145_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad1_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad1_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_145_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad1_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad1_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_lid_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_lid_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_145_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_lid_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_lid_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad2_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad2_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_145_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad2_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad2_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_new_sys_guid_set(_swigobj,_swigval) (_swigobj->new_sys_guid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_new_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_new_sys_guid_set { smNotice_data_details_ntc_145 * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_new_sys_guid_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_145_new_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_new_sys_guid_get(_swigobj) (&_swigobj->new_sys_guid)
+static int _wrap_smNotice_data_details_ntc_145_new_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_new_sys_guid_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_new_sys_guid_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_145_new_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_145MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_145 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_145_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad2_set;
+                }  else if (strcmp(_str,"-new_sys_guid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -new_sys_guid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -new_sys_guid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad2_get;
+                }  else if (strcmp(_str,"-new_sys_guid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_145_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -new_sys_guid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -new_sys_guid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_145_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-new_sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_145Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_145 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_145_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_145_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_145 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_145MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_256_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad1_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad1_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_256_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad1_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad1_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_lid_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_lid_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_256_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_lid_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_lid_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad2_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad2_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_256_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad2_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad2_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_method_set(_swigobj,_swigval) (_swigobj->method = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_method_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_method_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_method_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_method_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_method_get(_swigobj) (&_swigobj->method)
+static int _wrap_smNotice_data_details_ntc_256_method_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_method_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_method_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_method_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad3_set(_swigobj,_swigval) (_swigobj->pad3 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad3_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad3_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad3_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_pad3_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad3_get(_swigobj) (&_swigobj->pad3)
+static int _wrap_smNotice_data_details_ntc_256_pad3_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad3_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad3_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_pad3_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_id_set(_swigobj,_swigval) (_swigobj->attr_id = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_attr_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_id_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_id_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_attr_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_id_get(_swigobj) (&_swigobj->attr_id)
+static int _wrap_smNotice_data_details_ntc_256_attr_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_id_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_id_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_attr_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_mod_set(_swigobj,_swigval) (_swigobj->attr_mod = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_attr_mod_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_mod_set { smNotice_data_details_ntc_256 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_mod_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_256_attr_mod_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_mod_get(_swigobj) (&_swigobj->attr_mod)
+static int _wrap_smNotice_data_details_ntc_256_attr_mod_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_mod_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_mod_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_256_attr_mod_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_mkey_set(_swigobj,_swigval) (_swigobj->mkey = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_mkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_mkey_set { smNotice_data_details_ntc_256 * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_mkey_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_256_mkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_mkey_get(_swigobj) (&_swigobj->mkey)
+static int _wrap_smNotice_data_details_ntc_256_mkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_mkey_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_mkey_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_256_mkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_slid_set(_swigobj,_swigval) (_swigobj->dr_slid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_dr_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_slid_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_slid_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_slid_get(_swigobj) (&_swigobj->dr_slid)
+static int _wrap_smNotice_data_details_ntc_256_dr_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_slid_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_slid_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_trunc_hop_set(_swigobj,_swigval) (_swigobj->dr_trunc_hop = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_trunc_hop_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_trunc_hop_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_trunc_hop_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_trunc_hop_get(_swigobj) (&_swigobj->dr_trunc_hop)
+static int _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_trunc_hop_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_trunc_hop_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_trunc_hop_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * smNotice_data_details_ntc_256_dr_rtn_path_set(smNotice_data_details_ntc_256 *obj, uint8_array_t val[30]) {
+{
+	int i;
+	for (i=0; i <30 ; i++) {
+		obj->dr_rtn_path[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[30];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_rtn_path_set { smNotice_data_details_ntc_256 * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_rtn_path_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 30))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 30; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_256_dr_rtn_path_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <30 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_rtn_path_get(_swigobj) ((uint8_array_t *) _swigobj->dr_rtn_path)
+static int _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_rtn_path_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_rtn_path_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_256_dr_rtn_path_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <30 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_256MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_256 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_256_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad2_set;
+                }  else if (strcmp(_str,"-method") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_method_set;
+                }  else if (strcmp(_str,"-pad3") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad3_set;
+                }  else if (strcmp(_str,"-attr_id") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_id_set;
+                }  else if (strcmp(_str,"-attr_mod") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_set;
+                }  else if (strcmp(_str,"-mkey") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_mkey_set;
+                }  else if (strcmp(_str,"-dr_slid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_set;
+                }  else if (strcmp(_str,"-dr_trunc_hop") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set;
+                }  else if (strcmp(_str,"-dr_rtn_path") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad2_get;
+                }  else if (strcmp(_str,"-method") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_method_get;
+                }  else if (strcmp(_str,"-pad3") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad3_get;
+                }  else if (strcmp(_str,"-attr_id") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_id_get;
+                }  else if (strcmp(_str,"-attr_mod") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_get;
+                }  else if (strcmp(_str,"-mkey") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_mkey_get;
+                }  else if (strcmp(_str,"-dr_slid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_get;
+                }  else if (strcmp(_str,"-dr_trunc_hop") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get;
+                }  else if (strcmp(_str,"-dr_rtn_path") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_256_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_256_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_method_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-method ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_pad3_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad3 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_attr_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attr_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attr_mod ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_mkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_trunc_hop ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_rtn_path ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_256Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_256 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_256_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_256_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_256 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_256MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_257_258_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_pad1_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_pad1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_257_258_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_pad1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_pad1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid1_set(_swigobj,_swigval) (_swigobj->lid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_lid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid1_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid1_get(_swigobj) (&_swigobj->lid1)
+static int _wrap_smNotice_data_details_ntc_257_258_lid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid2_set(_swigobj,_swigval) (_swigobj->lid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_lid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid2_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid2_get(_swigobj) (&_swigobj->lid2)
+static int _wrap_smNotice_data_details_ntc_257_258_lid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_key_set(_swigobj,_swigval) (_swigobj->key = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_key_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_key_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_key_get(_swigobj) (&_swigobj->key)
+static int _wrap_smNotice_data_details_ntc_257_258_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_key_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_key_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_sl_set { smNotice_data_details_ntc_257_258 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_sl_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_257_258_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_smNotice_data_details_ntc_257_258_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_sl_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_sl_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_257_258_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp1_set(_swigobj,_swigval) (_swigobj->qp1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_qp1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp1_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp1_get(_swigobj) (&_swigobj->qp1)
+static int _wrap_smNotice_data_details_ntc_257_258_qp1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp2_set(_swigobj,_swigval) (_swigobj->qp2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_qp2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp2_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp2_get(_swigobj) (&_swigobj->qp2)
+static int _wrap_smNotice_data_details_ntc_257_258_qp2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid1_set(_swigobj,_swigval) (_swigobj->gid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_gid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid1_set { smNotice_data_details_ntc_257_258 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid1_get(_swigobj) (&_swigobj->gid1)
+static int _wrap_smNotice_data_details_ntc_257_258_gid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid2_set(_swigobj,_swigval) (_swigobj->gid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_gid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid2_set { smNotice_data_details_ntc_257_258 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid2_get(_swigobj) (&_swigobj->gid2)
+static int _wrap_smNotice_data_details_ntc_257_258_gid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_257_258MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_257_258 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_257_258_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_set;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_set;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_set;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_key_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_sl_set;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_set;
+                }  else if (strcmp(_str,"-qp2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_set;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_set;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_get;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_get;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_get;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_key_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_sl_get;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_get;
+                }  else if (strcmp(_str,"-qp2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_get;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_get;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_257_258_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_257_258Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_257_258 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_257_258_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_257_258_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_257_258 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_257_258MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_259_data_valid_set(_swigobj,_swigval) (_swigobj->data_valid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_data_valid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_data_valid_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_data_valid_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_data_valid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_data_valid_get(_swigobj) (&_swigobj->data_valid)
+static int _wrap_smNotice_data_details_ntc_259_data_valid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_data_valid_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_data_valid_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_data_valid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid1_set(_swigobj,_swigval) (_swigobj->lid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_lid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid1_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid1_get(_swigobj) (&_swigobj->lid1)
+static int _wrap_smNotice_data_details_ntc_259_lid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid2_set(_swigobj,_swigval) (_swigobj->lid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_lid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid2_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid2_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid2_get(_swigobj) (&_swigobj->lid2)
+static int _wrap_smNotice_data_details_ntc_259_lid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid2_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid2_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_key_set(_swigobj,_swigval) (_swigobj->key = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_key_set { smNotice_data_details_ntc_259 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_key_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_key_get(_swigobj) (&_swigobj->key)
+static int _wrap_smNotice_data_details_ntc_259_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_key_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_key_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sl_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sl_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_smNotice_data_details_ntc_259_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sl_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sl_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp1_set(_swigobj,_swigval) (_swigobj->qp1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp1_set { smNotice_data_details_ntc_259 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_qp1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp1_get(_swigobj) (&_swigobj->qp1)
+static int _wrap_smNotice_data_details_ntc_259_qp1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_qp1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_msb_set(_swigobj,_swigval) (_swigobj->qp2_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp2_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_msb_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_msb_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_qp2_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_msb_get(_swigobj) (&_swigobj->qp2_msb)
+static int _wrap_smNotice_data_details_ntc_259_qp2_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_msb_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_msb_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_qp2_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_lsb_set(_swigobj,_swigval) (_swigobj->qp2_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp2_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_lsb_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_lsb_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_qp2_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_lsb_get(_swigobj) (&_swigobj->qp2_lsb)
+static int _wrap_smNotice_data_details_ntc_259_qp2_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_lsb_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_lsb_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_qp2_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid1_set(_swigobj,_swigval) (_swigobj->gid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_gid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid1_set { smNotice_data_details_ntc_259 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid1_get(_swigobj) (&_swigobj->gid1)
+static int _wrap_smNotice_data_details_ntc_259_gid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid2_set(_swigobj,_swigval) (_swigobj->gid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_gid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid2_set { smNotice_data_details_ntc_259 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid2_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid2_get(_swigobj) (&_swigobj->gid2)
+static int _wrap_smNotice_data_details_ntc_259_gid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid2_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid2_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sw_lid_set(_swigobj,_swigval) (_swigobj->sw_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_sw_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sw_lid_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sw_lid_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_sw_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sw_lid_get(_swigobj) (&_swigobj->sw_lid)
+static int _wrap_smNotice_data_details_ntc_259_sw_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sw_lid_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sw_lid_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_sw_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_port_no_set(_swigobj,_swigval) (_swigobj->port_no = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_port_no_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_port_no_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_port_no_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_port_no_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_port_no_get(_swigobj) (&_swigobj->port_no)
+static int _wrap_smNotice_data_details_ntc_259_port_no_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_port_no_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_port_no_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_port_no_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_259MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_259 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_259_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-data_valid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_data_valid_set;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid1_set;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid2_set;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_key_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sl_set;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp1_set;
+                }  else if (strcmp(_str,"-qp2_msb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_set;
+                }  else if (strcmp(_str,"-qp2_lsb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_set;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid1_set;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid2_set;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_set;
+                }  else if (strcmp(_str,"-port_no") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_port_no_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-data_valid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_data_valid_get;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid1_get;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid2_get;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_key_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sl_get;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp1_get;
+                }  else if (strcmp(_str,"-qp2_msb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_get;
+                }  else if (strcmp(_str,"-qp2_lsb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_get;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid1_get;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid2_get;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_get;
+                }  else if (strcmp(_str,"-port_no") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_port_no_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_259_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_259_data_valid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-data_valid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_lid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_lid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_gid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_gid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sw_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_port_no_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_no ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_259Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_259 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_259_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_259_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_259 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_259MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_class_port_info_base_ver_set(_swigobj,_swigval) (_swigobj->base_ver = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_base_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_base_ver_set { ccClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_base_ver_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_base_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_base_ver_get(_swigobj) (&_swigobj->base_ver)
+static int _wrap_ccClassPortInfo_base_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_base_ver_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_base_ver_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_base_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_class_ver_set(_swigobj,_swigval) (_swigobj->class_ver = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_class_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_class_ver_set { ccClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_class_ver_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_class_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_class_ver_get(_swigobj) (&_swigobj->class_ver)
+static int _wrap_ccClassPortInfo_class_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_class_ver_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_class_ver_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_class_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask_set(_swigobj,_swigval) (_swigobj->cap_mask = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask_get(_swigobj) (&_swigobj->cap_mask)
+static int _wrap_ccClassPortInfo_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask2_resp_time_set(_swigobj,_swigval) (_swigobj->cap_mask2_resp_time = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_cap_mask2_resp_time_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask2_resp_time_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask2_resp_time_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_cap_mask2_resp_time_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask2_resp_time_get(_swigobj) (&_swigobj->cap_mask2_resp_time)
+static int _wrap_ccClassPortInfo_cap_mask2_resp_time_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask2_resp_time_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask2_resp_time_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_cap_mask2_resp_time_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_gid_set(_swigobj,_swigval) (_swigobj->redir_gid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_gid_set { ccClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_gid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_redir_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_gid_get(_swigobj) (&_swigobj->redir_gid)
+static int _wrap_ccClassPortInfo_redir_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_gid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_gid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_redir_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->redir_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_tc_sl_fl_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_tc_sl_fl_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_tc_sl_fl_get(_swigobj) (&_swigobj->redir_tc_sl_fl)
+static int _wrap_ccClassPortInfo_redir_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_tc_sl_fl_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_tc_sl_fl_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_lid_set(_swigobj,_swigval) (_swigobj->redir_lid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_lid_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_lid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_lid_get(_swigobj) (&_swigobj->redir_lid)
+static int _wrap_ccClassPortInfo_redir_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_lid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_lid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_pkey_set(_swigobj,_swigval) (_swigobj->redir_pkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_pkey_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_pkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_pkey_get(_swigobj) (&_swigobj->redir_pkey)
+static int _wrap_ccClassPortInfo_redir_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_pkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_pkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qp_set(_swigobj,_swigval) (_swigobj->redir_qp = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qp_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qp_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qp_get(_swigobj) (&_swigobj->redir_qp)
+static int _wrap_ccClassPortInfo_redir_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qp_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qp_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qkey_set(_swigobj,_swigval) (_swigobj->redir_qkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qkey_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qkey_get(_swigobj) (&_swigobj->redir_qkey)
+static int _wrap_ccClassPortInfo_redir_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_gid_set(_swigobj,_swigval) (_swigobj->trap_gid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_gid_set { ccClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_gid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_trap_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_gid_get(_swigobj) (&_swigobj->trap_gid)
+static int _wrap_ccClassPortInfo_trap_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_gid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_gid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_trap_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->trap_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_tc_sl_fl_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_tc_sl_fl_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_tc_sl_fl_get(_swigobj) (&_swigobj->trap_tc_sl_fl)
+static int _wrap_ccClassPortInfo_trap_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_tc_sl_fl_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_tc_sl_fl_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_lid_set(_swigobj,_swigval) (_swigobj->trap_lid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_lid_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_lid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_lid_get(_swigobj) (&_swigobj->trap_lid)
+static int _wrap_ccClassPortInfo_trap_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_lid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_lid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_pkey_set(_swigobj,_swigval) (_swigobj->trap_pkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_pkey_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_pkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_pkey_get(_swigobj) (&_swigobj->trap_pkey)
+static int _wrap_ccClassPortInfo_trap_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_pkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_pkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_hop_qp_set(_swigobj,_swigval) (_swigobj->trap_hop_qp = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_hop_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_hop_qp_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_hop_qp_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_hop_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_hop_qp_get(_swigobj) (&_swigobj->trap_hop_qp)
+static int _wrap_ccClassPortInfo_trap_hop_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_hop_qp_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_hop_qp_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_hop_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_qkey_set(_swigobj,_swigval) (_swigobj->trap_qkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_qkey_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_qkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_qkey_get(_swigobj) (&_swigobj->trap_qkey)
+static int _wrap_ccClassPortInfo_trap_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_qkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_qkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccClassPortInfo_getByLid(ccClassPortInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccClassPortInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccClassPortInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_getByLid { ccClassPortInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_getByLid. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccClassPortInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccClassPortInfo_setByLid(ccClassPortInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccClassPortInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccClassPortInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_setByLid { ccClassPortInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_setByLid. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccClassPortInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccClassPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccClassPortInfo methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccClassPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccClassPortInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccClassPortInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_base_ver_set;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_class_ver_set;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask_set;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_set;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_gid_set;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_lid_set;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_pkey_set;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qp_set;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qkey_set;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_gid_set;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_lid_set;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_pkey_set;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_hop_qp_set;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_qkey_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_base_ver_get;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_class_ver_get;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask_get;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_get;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_gid_get;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_lid_get;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_pkey_get;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qp_get;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qkey_get;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_gid_get;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_lid_get;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_pkey_get;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_hop_qp_get;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_qkey_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccClassPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccClassPortInfo_base_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_class_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask2_resp_time ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_hop_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_hop_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccClassPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccClassPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccClassPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccClassPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccClassPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccClassPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_notice_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic_type_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic_type_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_ccNotice_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic_type_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic_type_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_msb_set(_swigobj,_swigval) (_swigobj->generic__prod_type_msb = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_msb_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_msb_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic__prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_msb_get(_swigobj) (&_swigobj->generic__prod_type_msb)
+static int _wrap_ccNotice_generic__prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_msb_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_msb_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic__prod_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_lsb_set(_swigobj,_swigval) (_swigobj->generic__prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_lsb_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_lsb_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_lsb_get(_swigobj) (&_swigobj->generic__prod_type_lsb)
+static int _wrap_ccNotice_generic__prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_lsb_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_lsb_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__prod_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__trap_num_set(_swigobj,_swigval) (_swigobj->generic__trap_num = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__trap_num_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__trap_num_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__trap_num_get(_swigobj) (&_swigobj->generic__trap_num)
+static int _wrap_ccNotice_generic__trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__trap_num_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__trap_num_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_ccNotice_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_lid_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_lid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_ccNotice_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_lid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_lid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_issuer_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_ccNotice_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_toggle_count_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_toggle_count_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_toggle_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_ccNotice_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_toggle_count_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_toggle_count_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_toggle_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_lid_set(_swigobj,_swigval) (_swigobj->ntc0__source_lid = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__source_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_lid_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_lid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__source_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_lid_get(_swigobj) (&_swigobj->ntc0__source_lid)
+static int _wrap_ccNotice_ntc0__source_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_lid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_lid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__source_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__method_set(_swigobj,_swigval) (_swigobj->ntc0__method = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__method_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__method_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__method_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__method_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__method_get(_swigobj) (&_swigobj->ntc0__method)
+static int _wrap_ccNotice_ntc0__method_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__method_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__method_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__method_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv0_set(_swigobj,_swigval) (_swigobj->ntc0__resv0 = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv0_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv0_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv0_get(_swigobj) (&_swigobj->ntc0__resv0)
+static int _wrap_ccNotice_ntc0__resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv0_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv0_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_id_set(_swigobj,_swigval) (_swigobj->ntc0__attr_id = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__attr_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_id_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_id_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__attr_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_id_get(_swigobj) (&_swigobj->ntc0__attr_id)
+static int _wrap_ccNotice_ntc0__attr_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_id_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_id_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__attr_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv1_set(_swigobj,_swigval) (_swigobj->ntc0__resv1 = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv1_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv1_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv1_get(_swigobj) (&_swigobj->ntc0__resv1)
+static int _wrap_ccNotice_ntc0__resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv1_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv1_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_mod_set(_swigobj,_swigval) (_swigobj->ntc0__attr_mod = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__attr_mod_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_mod_set { ccNotice * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_mod_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__attr_mod_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_mod_get(_swigobj) (&_swigobj->ntc0__attr_mod)
+static int _wrap_ccNotice_ntc0__attr_mod_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_mod_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_mod_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__attr_mod_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__qp_set(_swigobj,_swigval) (_swigobj->ntc0__qp = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__qp_set { ccNotice * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__qp_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__qp_get(_swigobj) (&_swigobj->ntc0__qp)
+static int _wrap_ccNotice_ntc0__qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__qp_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__qp_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__cc_key_set(_swigobj,_swigval) (_swigobj->ntc0__cc_key = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__cc_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccNotice * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__cc_key_set { ccNotice * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__cc_key_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibcc_notice_ntc0__cc_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__cc_key_get(_swigobj) (&_swigobj->ntc0__cc_key)
+static int _wrap_ccNotice_ntc0__cc_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__cc_key_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__cc_key_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibcc_notice_ntc0__cc_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_gid_set(_swigobj,_swigval) (_swigobj->ntc0__source_gid = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__source_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_gid_set { ccNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_gid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_ntc0__source_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_gid_get(_swigobj) (&_swigobj->ntc0__source_gid)
+static int _wrap_ccNotice_ntc0__source_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_gid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_gid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_ntc0__source_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ibcc_notice_ntc0__padding_set(ccNotice *obj, uint8_array_t val[14]) {
+{
+	int i;
+	for (i=0; i <14 ; i++) {
+		obj->ntc0__padding[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccNotice_ntc0__padding_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccNotice * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[14];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__padding_set { ccNotice * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__padding_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 14))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 14; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibcc_notice_ntc0__padding_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <14 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__padding_get(_swigobj) ((uint8_array_t *) _swigobj->ntc0__padding)
+static int _wrap_ccNotice_ntc0__padding_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__padding_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__padding_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibcc_notice_ntc0__padding_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <14 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_ccNotice_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_gid_set { ccNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_gid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_ccNotice_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_gid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_gid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_issuer_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccNotice_trapByLid(ccNotice *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccNotice),        // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_NOTICE),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_TRAP);
+	}
+static int _wrap_ccNotice_trapByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccNotice * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_trapByLid { ccNotice * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_trapByLid. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccNotice_trapByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccNoticeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccNotice methods : { dump cget configure trapByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccNotice_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"trapByLid") == 0) {
+        cmd = _wrap_ccNotice_trapByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_ccNotice_generic_type_set;
+                }  else if (strcmp(_str,"-generic__prod_type_msb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_msb_set;
+                }  else if (strcmp(_str,"-generic__prod_type_lsb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_lsb_set;
+                }  else if (strcmp(_str,"-generic__trap_num") == 0) {
+                    cmd = _wrap_ccNotice_generic__trap_num_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_ccNotice_toggle_count_set;
+                }  else if (strcmp(_str,"-ntc0__source_lid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_lid_set;
+                }  else if (strcmp(_str,"-ntc0__method") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__method_set;
+                }  else if (strcmp(_str,"-ntc0__resv0") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv0_set;
+                }  else if (strcmp(_str,"-ntc0__attr_id") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_id_set;
+                }  else if (strcmp(_str,"-ntc0__resv1") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv1_set;
+                }  else if (strcmp(_str,"-ntc0__attr_mod") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_mod_set;
+                }  else if (strcmp(_str,"-ntc0__qp") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__qp_set;
+                }  else if (strcmp(_str,"-ntc0__cc_key") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__cc_key_set;
+                }  else if (strcmp(_str,"-ntc0__source_gid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_gid_set;
+                }  else if (strcmp(_str,"-ntc0__padding") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__padding_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_ccNotice_generic_type_get;
+                }  else if (strcmp(_str,"-generic__prod_type_msb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_msb_get;
+                }  else if (strcmp(_str,"-generic__prod_type_lsb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_lsb_get;
+                }  else if (strcmp(_str,"-generic__trap_num") == 0) {
+                    cmd = _wrap_ccNotice_generic__trap_num_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_ccNotice_toggle_count_get;
+                }  else if (strcmp(_str,"-ntc0__source_lid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_lid_get;
+                }  else if (strcmp(_str,"-ntc0__method") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__method_get;
+                }  else if (strcmp(_str,"-ntc0__resv0") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv0_get;
+                }  else if (strcmp(_str,"-ntc0__attr_id") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_id_get;
+                }  else if (strcmp(_str,"-ntc0__resv1") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv1_get;
+                }  else if (strcmp(_str,"-ntc0__attr_mod") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_mod_get;
+                }  else if (strcmp(_str,"-ntc0__qp") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__qp_get;
+                }  else if (strcmp(_str,"-ntc0__cc_key") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__cc_key_get;
+                }  else if (strcmp(_str,"-ntc0__source_gid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_gid_get;
+                }  else if (strcmp(_str,"-ntc0__padding") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__padding_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccNotice_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccNotice_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__source_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__source_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__method_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__method ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__attr_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__attr_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__attr_mod_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__attr_mod ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__cc_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__cc_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__source_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__source_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__padding_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__padding ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure trapByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccNoticeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccNotice * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccNotice_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccNotice_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccNotice object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccNoticeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_info_cong_info_set(_swigobj,_swigval) (_swigobj->cong_info = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_cong_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_cong_info_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_cong_info_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_cong_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_cong_info_get(_swigobj) (&_swigobj->cong_info)
+static int _wrap_ccCongestionInfo_cong_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_cong_info_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_cong_info_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_cong_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_resv_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_resv_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccCongestionInfo_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_resv_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_resv_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_ctrl_table_cap_set(_swigobj,_swigval) (_swigobj->ctrl_table_cap = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_ctrl_table_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_ctrl_table_cap_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_ctrl_table_cap_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_ctrl_table_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_ctrl_table_cap_get(_swigobj) (&_swigobj->ctrl_table_cap)
+static int _wrap_ccCongestionInfo_ctrl_table_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_ctrl_table_cap_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_ctrl_table_cap_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_ctrl_table_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccCongestionInfo_getByLid(ccCongestionInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                     // log data
+			0,                        // log data size
+			(uint8_t *)self,          // mgt data
+			sizeof(ccCongestionInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_INFO),
+			0,                        // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCongestionInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_getByLid { ccCongestionInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_getByLid. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCongestionInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCongestionInfo methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCongestionInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCongestionInfo_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-cong_info") == 0) {
+                    cmd = _wrap_ccCongestionInfo_cong_info_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCongestionInfo_resv_set;
+                }  else if (strcmp(_str,"-ctrl_table_cap") == 0) {
+                    cmd = _wrap_ccCongestionInfo_ctrl_table_cap_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -cong_info -resv -ctrl_table_cap  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -cong_info -resv -ctrl_table_cap  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-cong_info") == 0) {
+                    cmd = _wrap_ccCongestionInfo_cong_info_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCongestionInfo_resv_get;
+                }  else if (strcmp(_str,"-ctrl_table_cap") == 0) {
+                    cmd = _wrap_ccCongestionInfo_ctrl_table_cap_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCongestionInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -cong_info -resv -ctrl_table_cap  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -cong_info -resv -ctrl_table_cap  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCongestionInfo_cong_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionInfo_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionInfo_ctrl_table_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ctrl_table_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCongestionInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCongestionInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCongestionInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCongestionInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCongestionInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCongestionInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_key_info_cc_key_set(_swigobj,_swigval) (_swigobj->cc_key = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_cc_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_cc_key_set { ccCongestionKeyInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_cc_key_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_cong_key_info_cc_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_cc_key_get(_swigobj) (&_swigobj->cc_key)
+static int _wrap_ccCongestionKeyInfo_cc_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_cc_key_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_cc_key_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_cong_key_info_cc_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_protect_bit_set(_swigobj,_swigval) (_swigobj->protect_bit = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_protect_bit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_protect_bit_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_protect_bit_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_protect_bit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_protect_bit_get(_swigobj) (&_swigobj->protect_bit)
+static int _wrap_ccCongestionKeyInfo_protect_bit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_protect_bit_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_protect_bit_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_protect_bit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_lease_period_set(_swigobj,_swigval) (_swigobj->lease_period = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_lease_period_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_lease_period_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_lease_period_get(_swigobj) (&_swigobj->lease_period)
+static int _wrap_ccCongestionKeyInfo_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_lease_period_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_lease_period_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_violations_set(_swigobj,_swigval) (_swigobj->violations = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_violations_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_violations_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_violations_get(_swigobj) (&_swigobj->violations)
+static int _wrap_ccCongestionKeyInfo_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_violations_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_violations_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccCongestionKeyInfo_getByLid(ccCongestionKeyInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCongestionKeyInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionKeyInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_getByLid { ccCongestionKeyInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_getByLid. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionKeyInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccCongestionKeyInfo_setByLid(ccCongestionKeyInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccCongestionKeyInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionKeyInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_setByLid { ccCongestionKeyInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_setByLid. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionKeyInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCongestionKeyInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCongestionKeyInfo methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCongestionKeyInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCongestionKeyInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccCongestionKeyInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-cc_key") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_cc_key_set;
+                }  else if (strcmp(_str,"-protect_bit") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_protect_bit_set;
+                }  else if (strcmp(_str,"-lease_period") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_lease_period_set;
+                }  else if (strcmp(_str,"-violations") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_violations_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -cc_key -protect_bit -lease_period -violations  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -cc_key -protect_bit -lease_period -violations  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-cc_key") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_cc_key_get;
+                }  else if (strcmp(_str,"-protect_bit") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_protect_bit_get;
+                }  else if (strcmp(_str,"-lease_period") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_lease_period_get;
+                }  else if (strcmp(_str,"-violations") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_violations_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCongestionKeyInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -cc_key -protect_bit -lease_period -violations  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -cc_key -protect_bit -lease_period -violations  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCongestionKeyInfo_cc_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cc_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_protect_bit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-protect_bit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCongestionKeyInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCongestionKeyInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCongestionKeyInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCongestionKeyInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCongestionKeyInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCongestionKeyInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_log_event_sw_slid_set(_swigobj,_swigval) (_swigobj->slid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_slid_set { ib_cong_log_event_sw_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_slid_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_slid_get(_swigobj) (&_swigobj->slid)
+static int _wrap_ib_cong_log_event_sw_t_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_slid_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_slid_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_dlid_set(_swigobj,_swigval) (_swigobj->dlid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_dlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_dlid_set { ib_cong_log_event_sw_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_dlid_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_dlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_dlid_get(_swigobj) (&_swigobj->dlid)
+static int _wrap_ib_cong_log_event_sw_t_dlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_dlid_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_dlid_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_dlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_sl_set { ib_cong_log_event_sw_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_sl_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_ib_cong_log_event_sw_t_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_sl_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_sl_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_time_stamp_set { ib_cong_log_event_sw_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_time_stamp_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ib_cong_log_event_sw_t_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_time_stamp_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_time_stamp_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cong_log_event_sw_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cong_log_event_sw_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cong_log_event_sw_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_slid_set;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_dlid_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_sl_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -slid -dlid -sl -time_stamp  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -slid -dlid -sl -time_stamp  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_slid_get;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_dlid_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_sl_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cong_log_event_sw_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -slid -dlid -sl -time_stamp  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -slid -dlid -sl -time_stamp  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cong_log_event_sw_t_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_dlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cong_log_event_sw_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cong_log_event_sw_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cong_log_event_sw_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cong_log_event_sw_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cong_log_event_sw_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cong_log_event_sw_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_log_event_ca_local_qp_resv0_set(_swigobj,_swigval) (_swigobj->local_qp_resv0 = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_local_qp_resv0_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_local_qp_resv0_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_local_qp_resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_local_qp_resv0_get(_swigobj) (&_swigobj->local_qp_resv0)
+static int _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_local_qp_resv0_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_local_qp_resv0_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_local_qp_resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_qp_sl_service_type_set(_swigobj,_swigval) (_swigobj->remote_qp_sl_service_type = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_qp_sl_service_type_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_qp_sl_service_type_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_remote_qp_sl_service_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_qp_sl_service_type_get(_swigobj) (&_swigobj->remote_qp_sl_service_type)
+static int _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_qp_sl_service_type_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_qp_sl_service_type_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_remote_qp_sl_service_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_lid_set(_swigobj,_swigval) (_swigobj->remote_lid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_remote_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_lid_set { ib_cong_log_event_ca_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_lid_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_remote_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_lid_get(_swigobj) (&_swigobj->remote_lid)
+static int _wrap_ib_cong_log_event_ca_t_remote_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_lid_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_lid_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_remote_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_resv1_set(_swigobj,_swigval) (_swigobj->resv1 = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_resv1_set { ib_cong_log_event_ca_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_resv1_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_resv1_get(_swigobj) (&_swigobj->resv1)
+static int _wrap_ib_cong_log_event_ca_t_resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_resv1_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_resv1_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_time_stamp_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_time_stamp_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ib_cong_log_event_ca_t_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_time_stamp_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_time_stamp_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cong_log_event_ca_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cong_log_event_ca_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cong_log_event_ca_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-local_qp_resv0") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set;
+                }  else if (strcmp(_str,"-remote_qp_sl_service_type") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set;
+                }  else if (strcmp(_str,"-remote_lid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_set;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_resv1_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-local_qp_resv0") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get;
+                }  else if (strcmp(_str,"-remote_qp_sl_service_type") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get;
+                }  else if (strcmp(_str,"-remote_lid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_get;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_resv1_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cong_log_event_ca_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_qp_resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-remote_qp_sl_service_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-remote_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cong_log_event_ca_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cong_log_event_ca_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cong_log_event_ca_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cong_log_event_ca_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cong_log_event_ca_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cong_log_event_ca_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_cong_log_log_type_set(_swigobj,_swigval) (_swigobj->log_type = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_log_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_log_type_set { ccSWCongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_log_type_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_log_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_log_type_get(_swigobj) (&_swigobj->log_type)
+static int _wrap_ccSWCongestionLog_log_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_log_type_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_log_type_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_log_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_cong_flags_set(_swigobj,_swigval) (_swigobj->cong_flags = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_cong_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_cong_flags_set { ccSWCongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_cong_flags_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_cong_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_cong_flags_get(_swigobj) (&_swigobj->cong_flags)
+static int _wrap_ccSWCongestionLog_cong_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_cong_flags_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_cong_flags_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_cong_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_event_counter_set(_swigobj,_swigval) (_swigobj->event_counter = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_event_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_event_counter_set { ccSWCongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_event_counter_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_log_event_counter_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_event_counter_get(_swigobj) (&_swigobj->event_counter)
+static int _wrap_ccSWCongestionLog_event_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_event_counter_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_event_counter_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_log_event_counter_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_time_stamp_set { ccSWCongestionLog * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_time_stamp_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_log_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ccSWCongestionLog_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_time_stamp_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_time_stamp_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_log_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_log_port_map_set(ccSWCongestionLog *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->port_map[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionLog_port_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_port_map_set { ccSWCongestionLog * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_port_map_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_log_port_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_port_map_get(_swigobj) ((uint8_array_t *) _swigobj->port_map)
+static int _wrap_ccSWCongestionLog_port_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_port_map_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_port_map_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_log_port_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_cong_log_event_sw_t * _ib_sw_cong_log_entry_list_set(ccSWCongestionLog *obj, ib_cong_log_event_sw_t val[15]) {
+{
+	int i;
+	for (i=0; i <15 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_cong_log_event_sw_t *) val;
+}
+static int _wrap_ccSWCongestionLog_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_sw_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_cong_log_event_sw_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cong_log_event_sw_t  entrys[15];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_entry_list_set { ccSWCongestionLog * } { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_entry_list_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* SW Congestion Log Event List should have up to 15 events */
+	if (countSubLists > 15)
+	{
+		printf("Error: SW Congestion Log Event List should have up to %d events (provided %d)\n",
+			15, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWCongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWCongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 15; i++) {
+		entrys[i].slid = 0;
+		entrys[i].dlid = 0;
+		entrys[i].sl = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].slid = cl_hton16(value); break;
+					case 1: entrys[i].dlid = cl_hton16(value); break;
+					case 2: entrys[i].sl = cl_hton32(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].slid = cl_hton16(value); break;
+					case 2: entrys[entry_index].dlid = cl_hton16(value); break;
+					case 3: entrys[entry_index].sl = cl_hton32(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_sw_t *)_ib_sw_cong_log_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <15 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -slid 0x%04x", cl_ntoh16(_result[i].slid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -dlid 0x%04x", cl_ntoh16(_result[i].dlid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -sl 0x%08x", cl_ntoh32(_result[i].sl));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_entry_list_get(_swigobj) ((ib_cong_log_event_sw_t *) _swigobj->entry_list)
+static int _wrap_ccSWCongestionLog_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_sw_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_entry_list_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_entry_list_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_sw_t *)_ib_sw_cong_log_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <15 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -slid 0x%04x", cl_ntoh16(_result[i].slid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -dlid 0x%04x", cl_ntoh16(_result[i].dlid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -sl 0x%08x", cl_ntoh32(_result[i].sl));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccSWCongestionLog_getByLid(ccSWCongestionLog *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccSWCongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWCongestionLog_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionLog * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_getByLid { ccSWCongestionLog * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_getByLid. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionLog_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWCongestionLogMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWCongestionLog methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWCongestionLog_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWCongestionLog_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_log_type_set;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_cong_flags_set;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_event_counter_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_time_stamp_set;
+                }  else if (strcmp(_str,"-port_map") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_port_map_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_log_type_get;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_cong_flags_get;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_event_counter_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_time_stamp_get;
+                }  else if (strcmp(_str,"-port_map") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_port_map_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWCongestionLog_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWCongestionLog_log_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_cong_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_event_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_port_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWCongestionLogCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWCongestionLog * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWCongestionLog_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWCongestionLog_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWCongestionLog object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWCongestionLogMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_log_log_type_set(_swigobj,_swigval) (_swigobj->log_type = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_log_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_type_set { ccCACongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_type_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_log_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_log_type_get(_swigobj) (&_swigobj->log_type)
+static int _wrap_ccCACongestionLog_log_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_type_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_type_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_log_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_cong_flags_set(_swigobj,_swigval) (_swigobj->cong_flags = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_cong_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_cong_flags_set { ccCACongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_cong_flags_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_cong_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_cong_flags_get(_swigobj) (&_swigobj->cong_flags)
+static int _wrap_ccCACongestionLog_cong_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_cong_flags_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_cong_flags_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_cong_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_counter_set(_swigobj,_swigval) (_swigobj->event_counter = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_event_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_counter_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_counter_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_counter_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_counter_get(_swigobj) (&_swigobj->event_counter)
+static int _wrap_ccCACongestionLog_event_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_counter_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_counter_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_counter_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_map_set(_swigobj,_swigval) (_swigobj->event_map = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_event_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_map_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_map_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_map_get(_swigobj) (&_swigobj->event_map)
+static int _wrap_ccCACongestionLog_event_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_map_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_map_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_resv_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_resv_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccCACongestionLog_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_resv_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_resv_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_time_stamp_set { ccCACongestionLog * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_time_stamp_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_ca_cong_log_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ccCACongestionLog_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_time_stamp_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_time_stamp_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_ca_cong_log_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_cong_log_event_ca_t * _ib_ca_cong_log_log_event_set(ccCACongestionLog *obj, ib_cong_log_event_ca_t val[13]) {
+{
+	int i;
+	for (i=0; i <13 ; i++) {
+		obj->log_event[i] = *(val+i);
+	}
+}
+    return (ib_cong_log_event_ca_t *) val;
+}
+static int _wrap_ccCACongestionLog_log_event_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_ca_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_cong_log_event_ca_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cong_log_event_ca_t  entrys[13];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_event_set { ccCACongestionLog * } { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_event_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Log Event List should have up to 13 events */
+	if (countSubLists > 13)
+	{
+		printf("Error: CA Congestion Log Event List should have up to %d events (provided %d)\n",
+			13, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 13; i++) {
+		entrys[i].local_qp_resv0 = 0;
+		entrys[i].remote_qp_sl_service_type = 0;
+		entrys[i].remote_lid = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].local_qp_resv0 = cl_hton32(value); break;
+					case 1: entrys[i].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 2: entrys[i].remote_lid = cl_hton16(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].local_qp_resv0 = cl_hton32(value); break;
+					case 2: entrys[entry_index].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 3: entrys[entry_index].remote_lid = cl_hton16(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_ca_t *)_ib_ca_cong_log_log_event_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-log_event\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <13 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -local_qp_resv0 0x%08x", cl_ntoh32(_result[i].local_qp_resv0));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_qp_sl_service_type 0x%08x", cl_ntoh32(_result[i].remote_qp_sl_service_type));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_lid 0x%04x", cl_ntoh16(_result[i].remote_lid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_log_event_get(_swigobj) ((ib_cong_log_event_ca_t *) _swigobj->log_event)
+static int _wrap_ccCACongestionLog_log_event_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_ca_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_event_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_event_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_ca_t *)_ib_ca_cong_log_log_event_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-log_event\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <13 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -local_qp_resv0 0x%08x", cl_ntoh32(_result[i].local_qp_resv0));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_qp_sl_service_type 0x%08x", cl_ntoh32(_result[i].remote_qp_sl_service_type));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_lid 0x%04x", cl_ntoh16(_result[i].remote_lid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccCACongestionLog_getByLid(ccCACongestionLog *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccCACongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCACongestionLog_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionLog * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_getByLid { ccCACongestionLog * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_getByLid. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionLog_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCACongestionLogMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCACongestionLog methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCACongestionLog_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCACongestionLog_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_type_set;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccCACongestionLog_cong_flags_set;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_counter_set;
+                }  else if (strcmp(_str,"-event_map") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_map_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCACongestionLog_resv_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccCACongestionLog_time_stamp_set;
+                }  else if (strcmp(_str,"-log_event") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_event_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_type_get;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccCACongestionLog_cong_flags_get;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_counter_get;
+                }  else if (strcmp(_str,"-event_map") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_map_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCACongestionLog_resv_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccCACongestionLog_time_stamp_get;
+                }  else if (strcmp(_str,"-log_event") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_event_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCACongestionLog_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCACongestionLog_log_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_cong_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_event_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_event_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_log_event_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_event ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCACongestionLogCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCACongestionLog * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCACongestionLog_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCACongestionLog_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCACongestionLog object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCACongestionLogMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_cong_setting_control_map_set(_swigobj,_swigval) (_swigobj->control_map = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_control_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_control_map_set { ccSWCongestionSetting * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_control_map_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_setting_control_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_control_map_get(_swigobj) (&_swigobj->control_map)
+static int _wrap_ccSWCongestionSetting_control_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_control_map_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_control_map_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_setting_control_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_setting_victim_mask_set(ccSWCongestionSetting *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->victim_mask[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionSetting_victim_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_victim_mask_set { ccSWCongestionSetting * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_victim_mask_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_victim_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_victim_mask_get(_swigobj) ((uint8_array_t *) _swigobj->victim_mask)
+static int _wrap_ccSWCongestionSetting_victim_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_victim_mask_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_victim_mask_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_victim_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_setting_credit_mask_set(ccSWCongestionSetting *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->credit_mask[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionSetting_credit_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_credit_mask_set { ccSWCongestionSetting * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_credit_mask_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_credit_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_credit_mask_get(_swigobj) ((uint8_array_t *) _swigobj->credit_mask)
+static int _wrap_ccSWCongestionSetting_credit_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_credit_mask_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_credit_mask_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_credit_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_threshold_resv_set(_swigobj,_swigval) (_swigobj->threshold_resv = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_threshold_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_threshold_resv_set { ccSWCongestionSetting * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_threshold_resv_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_threshold_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_threshold_resv_get(_swigobj) (&_swigobj->threshold_resv)
+static int _wrap_ccSWCongestionSetting_threshold_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_threshold_resv_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_threshold_resv_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_threshold_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_packet_size_set(_swigobj,_swigval) (_swigobj->packet_size = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_packet_size_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_packet_size_set { ccSWCongestionSetting * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_packet_size_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_packet_size_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_packet_size_get(_swigobj) (&_swigobj->packet_size)
+static int _wrap_ccSWCongestionSetting_packet_size_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_packet_size_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_packet_size_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_packet_size_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_threshold_resv_set(_swigobj,_swigval) (_swigobj->cs_threshold_resv = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_cs_threshold_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_threshold_resv_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_threshold_resv_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_threshold_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_threshold_resv_get(_swigobj) (&_swigobj->cs_threshold_resv)
+static int _wrap_ccSWCongestionSetting_cs_threshold_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_threshold_resv_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_threshold_resv_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_threshold_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_return_delay_set(_swigobj,_swigval) (_swigobj->cs_return_delay = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_cs_return_delay_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_return_delay_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_return_delay_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_return_delay_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_return_delay_get(_swigobj) (&_swigobj->cs_return_delay)
+static int _wrap_ccSWCongestionSetting_cs_return_delay_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_return_delay_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_return_delay_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_return_delay_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_marking_rate_set(_swigobj,_swigval) (_swigobj->marking_rate = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_marking_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_marking_rate_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_marking_rate_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_marking_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_marking_rate_get(_swigobj) (&_swigobj->marking_rate)
+static int _wrap_ccSWCongestionSetting_marking_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_marking_rate_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_marking_rate_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_marking_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccSWCongestionSetting_getByLid(ccSWCongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWCongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_getByLid { ccSWCongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_getByLid. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionSetting_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccSWCongestionSetting_setByLid(ccSWCongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccSWCongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_setByLid { ccSWCongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_setByLid. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionSetting_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWCongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWCongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWCongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWCongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccSWCongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_control_map_set;
+                }  else if (strcmp(_str,"-victim_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_victim_mask_set;
+                }  else if (strcmp(_str,"-credit_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_credit_mask_set;
+                }  else if (strcmp(_str,"-threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_threshold_resv_set;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_packet_size_set;
+                }  else if (strcmp(_str,"-cs_threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_set;
+                }  else if (strcmp(_str,"-cs_return_delay") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_return_delay_set;
+                }  else if (strcmp(_str,"-marking_rate") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_marking_rate_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_control_map_get;
+                }  else if (strcmp(_str,"-victim_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_victim_mask_get;
+                }  else if (strcmp(_str,"-credit_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_credit_mask_get;
+                }  else if (strcmp(_str,"-threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_threshold_resv_get;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_packet_size_get;
+                }  else if (strcmp(_str,"-cs_threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_get;
+                }  else if (strcmp(_str,"-cs_return_delay") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_return_delay_get;
+                }  else if (strcmp(_str,"-marking_rate") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_marking_rate_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWCongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWCongestionSetting_control_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-control_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_victim_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-victim_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_credit_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-credit_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_threshold_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-threshold_resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_packet_size_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-packet_size ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cs_threshold_resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_cs_return_delay_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cs_return_delay ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_marking_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-marking_rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWCongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWCongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWCongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWCongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWCongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWCongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_set(_swigobj,_swigval) (_swigobj->valid_ctrl_type_res_threshold = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set { ib_sw_port_cong_setting_element_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_get(_swigobj) (&_swigobj->valid_ctrl_type_res_threshold)
+static int _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_packet_size_set(_swigobj,_swigval) (_swigobj->packet_size = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_packet_size_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_packet_size_set { ib_sw_port_cong_setting_element_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_packet_size_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_packet_size_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_packet_size_get(_swigobj) (&_swigobj->packet_size)
+static int _wrap_ib_sw_port_cong_setting_element_t_packet_size_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_packet_size_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_packet_size_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_packet_size_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_cong_param_set(_swigobj,_swigval) (_swigobj->cong_param = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_cong_param_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_cong_param_set { ib_sw_port_cong_setting_element_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_cong_param_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_port_cong_setting_element_cong_param_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_cong_param_get(_swigobj) (&_swigobj->cong_param)
+static int _wrap_ib_sw_port_cong_setting_element_t_cong_param_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_cong_param_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_cong_param_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_port_cong_setting_element_cong_param_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_sw_port_cong_setting_element_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_sw_port_cong_setting_element_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_sw_port_cong_setting_element_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-valid_ctrl_type_res_threshold") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_set;
+                }  else if (strcmp(_str,"-cong_param") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-valid_ctrl_type_res_threshold") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_get;
+                }  else if (strcmp(_str,"-cong_param") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_sw_port_cong_setting_element_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -valid_ctrl_type_res_threshold -packet_size -cong_param  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-valid_ctrl_type_res_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-packet_size ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_param ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_sw_port_cong_setting_element_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_sw_port_cong_setting_element_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_sw_port_cong_setting_element_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_sw_port_cong_setting_element_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_sw_port_cong_setting_element_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_sw_port_cong_setting_element_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_sw_port_cong_setting_element_t * _ib_sw_port_cong_setting_block_set(ccSWPortCongestionSetting *obj, ib_sw_port_cong_setting_element_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->block[i] = *(val+i);
+	}
+}
+    return (ib_sw_port_cong_setting_element_t *) val;
+}
+static int _wrap_ccSWPortCongestionSetting_block_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_sw_port_cong_setting_element_t * _result;
+    ccSWPortCongestionSetting * _arg0;
+    ib_sw_port_cong_setting_element_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_sw_port_cong_setting_element_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_block_set { ccSWPortCongestionSetting * } { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_block_set. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* SwitchPortCongestionSetting Block list should have up to 32 blocks */
+	if (countSubLists > 32)
+	{
+		printf("Error: SwitchPortCongestionSetting Block list should have up to %d blocks (provided %d)\n",
+			32, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWPortCongestionSettingMad configure -block {{1 2 3} {4 5 6}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWPortCongestionSettingMad configure -block {{4 1 2 3} {8 4 5 6}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 3)
+			option = 1;
+		else if (numElements == 4)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 32; i++) {
+		entrys[i].valid_ctrl_type_res_threshold = 0;
+		entrys[i].packet_size = 0;
+		entrys[i].cong_param = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 3) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 3; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].valid_ctrl_type_res_threshold = value; break;
+					case 1: entrys[i].packet_size = value; break;
+					case 2: entrys[i].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].valid_ctrl_type_res_threshold = value; break;
+					case 2: entrys[entry_index].packet_size = value; break;
+					case 3: entrys[entry_index].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_sw_port_cong_setting_element_t *)_ib_sw_port_cong_setting_block_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-block\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <32 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -valid_ctrl_type_res_threshold 0x%02x", _result[i].valid_ctrl_type_res_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -packet_size 0x%02x", _result[i].packet_size);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -cong_param 0x%04x", cl_ntoh16(_result[i].cong_param));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_block_get(_swigobj) ((ib_sw_port_cong_setting_element_t *) _swigobj->block)
+static int _wrap_ccSWPortCongestionSetting_block_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_sw_port_cong_setting_element_t * _result;
+    ccSWPortCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_block_get { ccSWPortCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_block_get. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_sw_port_cong_setting_element_t *)_ib_sw_port_cong_setting_block_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-block\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <32 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -valid_ctrl_type_res_threshold 0x%02x", _result[i].valid_ctrl_type_res_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -packet_size 0x%02x", _result[i].packet_size);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -cong_param 0x%04x", cl_ntoh16(_result[i].cong_param));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccSWPortCongestionSetting_getByLid(ccSWPortCongestionSetting *self,uint16_t  lid,uint8_t  block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWPortCongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWPortCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_getByLid { ccSWPortCongestionSetting * } lid block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_getByLid. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWPortCongestionSetting_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccSWPortCongestionSetting_setByLid(ccSWPortCongestionSetting *self,uint16_t  lid,uint8_t  block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccSWPortCongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWPortCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_setByLid { ccSWPortCongestionSetting * } lid block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_setByLid. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWPortCongestionSetting_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWPortCongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWPortCongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWPortCongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWPortCongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccSWPortCongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-block") == 0) {
+                    cmd = _wrap_ccSWPortCongestionSetting_block_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -block  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -block  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-block") == 0) {
+                    cmd = _wrap_ccSWPortCongestionSetting_block_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWPortCongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -block  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -block  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWPortCongestionSetting_block_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWPortCongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWPortCongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWPortCongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWPortCongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWPortCongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWPortCongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_entry_ccti_timer_set(_swigobj,_swigval) (_swigobj->ccti_timer = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_timer_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_timer_set { ib_ca_cong_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_timer_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_ccti_timer_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_timer_get(_swigobj) (&_swigobj->ccti_timer)
+static int _wrap_ib_ca_cong_entry_t_ccti_timer_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_timer_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_timer_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_ccti_timer_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_increase_set(_swigobj,_swigval) (_swigobj->ccti_increase = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_increase_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_increase_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_increase_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_increase_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_increase_get(_swigobj) (&_swigobj->ccti_increase)
+static int _wrap_ib_ca_cong_entry_t_ccti_increase_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_increase_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_increase_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_increase_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_trigger_threshold_set(_swigobj,_swigval) (_swigobj->trigger_threshold = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_trigger_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_trigger_threshold_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_trigger_threshold_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_trigger_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_trigger_threshold_get(_swigobj) (&_swigobj->trigger_threshold)
+static int _wrap_ib_ca_cong_entry_t_trigger_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_trigger_threshold_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_trigger_threshold_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_trigger_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_min_set(_swigobj,_swigval) (_swigobj->ccti_min = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_min_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_min_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_min_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_min_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_min_get(_swigobj) (&_swigobj->ccti_min)
+static int _wrap_ib_ca_cong_entry_t_ccti_min_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_min_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_min_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_min_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv0_set(_swigobj,_swigval) (_swigobj->resv0 = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv0_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv0_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv0_get(_swigobj) (&_swigobj->resv0)
+static int _wrap_ib_ca_cong_entry_t_resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv0_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv0_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv1_set(_swigobj,_swigval) (_swigobj->resv1 = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv1_set { ib_ca_cong_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv1_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv1_get(_swigobj) (&_swigobj->resv1)
+static int _wrap_ib_ca_cong_entry_t_resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv1_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv1_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_ca_cong_entry_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_ca_cong_entry_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_ca_cong_entry_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-ccti_timer") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_set;
+                }  else if (strcmp(_str,"-ccti_increase") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_set;
+                }  else if (strcmp(_str,"-trigger_threshold") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_set;
+                }  else if (strcmp(_str,"-ccti_min") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_min_set;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv0_set;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv1_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-ccti_timer") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_get;
+                }  else if (strcmp(_str,"-ccti_increase") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_get;
+                }  else if (strcmp(_str,"-trigger_threshold") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_get;
+                }  else if (strcmp(_str,"-ccti_min") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_min_get;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv0_get;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv1_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_ca_cong_entry_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_timer ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_increase ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trigger_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_ccti_min_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_min ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_ca_cong_entry_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_ca_cong_entry_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_ca_cong_entry_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_ca_cong_entry_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_ca_cong_entry_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_ca_cong_entry_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_setting_port_control_set(_swigobj,_swigval) (_swigobj->port_control = *(_swigval),_swigval)
+static int _wrap_ccCACongestionSetting_port_control_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_port_control_set { ccCACongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_port_control_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_port_control_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_port_control_get(_swigobj) (&_swigobj->port_control)
+static int _wrap_ccCACongestionSetting_port_control_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_port_control_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_port_control_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_port_control_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_control_map_set(_swigobj,_swigval) (_swigobj->control_map = *(_swigval),_swigval)
+static int _wrap_ccCACongestionSetting_control_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_control_map_set { ccCACongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_control_map_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_control_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_control_map_get(_swigobj) (&_swigobj->control_map)
+static int _wrap_ccCACongestionSetting_control_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_control_map_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_control_map_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_control_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_ca_cong_entry_t * _ib_ca_cong_setting_entry_list_set(ccCACongestionSetting *obj, ib_ca_cong_entry_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_ca_cong_entry_t *) val;
+}
+static int _wrap_ccCACongestionSetting_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_ca_cong_entry_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_ca_cong_entry_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_ca_cong_entry_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_entry_list_set { ccCACongestionSetting * } { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_entry_list_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Setting: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Setting Entry List should have up to 16 entries */
+	if (countSubLists > 16)
+	{
+		printf("Error: CA Congestion Setting Entry List should have up to %d entries (provided %d)\n",
+			16, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionSetting configure -entry_list {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionSetting configure -entry_list {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 16; i++) {
+		entrys[i].ccti_timer = 0;
+		entrys[i].ccti_increase = 0;
+		entrys[i].trigger_threshold = 0;
+		entrys[i].ccti_min = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].ccti_timer = cl_hton16(value); break;
+					case 1: entrys[i].ccti_increase = value; break;
+					case 2: entrys[i].trigger_threshold = value; break;
+					case 3: entrys[i].ccti_min = value; break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].ccti_timer = cl_hton16(value); break;
+					case 2: entrys[entry_index].ccti_increase = value; break;
+					case 3: entrys[entry_index].trigger_threshold = value; break;
+					case 4: entrys[entry_index].ccti_min = value; break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_ca_cong_entry_t *)_ib_ca_cong_setting_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <16 ; i++) {
+		sprintf(buff, " {SL%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_timer 0x%04x", cl_ntoh16(_result[i].ccti_timer));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_increase 0x%02x", _result[i].ccti_increase);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -trigger_threshold 0x%02x", _result[i].trigger_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_min 0x%02x", _result[i].ccti_min);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_entry_list_get(_swigobj) ((ib_ca_cong_entry_t *) _swigobj->entry_list)
+static int _wrap_ccCACongestionSetting_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_ca_cong_entry_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_entry_list_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_entry_list_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_ca_cong_entry_t *)_ib_ca_cong_setting_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <16 ; i++) {
+		sprintf(buff, " {SL%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_timer 0x%04x", cl_ntoh16(_result[i].ccti_timer));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_increase 0x%02x", _result[i].ccti_increase);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -trigger_threshold 0x%02x", _result[i].trigger_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_min 0x%02x", _result[i].ccti_min);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccCACongestionSetting_getByLid(ccCACongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCACongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_getByLid { ccCACongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_getByLid. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionSetting_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccCACongestionSetting_setByLid(ccCACongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccCACongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_setByLid { ccCACongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_setByLid. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionSetting_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCACongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCACongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCACongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCACongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccCACongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-port_control") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_port_control_set;
+                }  else if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_control_map_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -port_control -control_map -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -port_control -control_map -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-port_control") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_port_control_get;
+                }  else if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_control_map_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCACongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -port_control -control_map -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -port_control -control_map -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCACongestionSetting_port_control_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_control ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionSetting_control_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-control_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionSetting_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCACongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCACongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCACongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCACongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCACongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCACongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_tbl_entry_shift_multiplier_set(_swigobj,_swigval) (_swigobj->shift_multiplier = *(_swigval),_swigval)
+static int _wrap_ib_cc_tbl_entry_t_shift_multiplier_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cc_tbl_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cc_tbl_entry_t_shift_multiplier_set { ib_cc_tbl_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cc_tbl_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cc_tbl_entry_t_shift_multiplier_set. Expected _ib_cc_tbl_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_tbl_entry_shift_multiplier_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_tbl_entry_shift_multiplier_get(_swigobj) (&_swigobj->shift_multiplier)
+static int _wrap_ib_cc_tbl_entry_t_shift_multiplier_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cc_tbl_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cc_tbl_entry_t_shift_multiplier_get { ib_cc_tbl_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cc_tbl_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cc_tbl_entry_t_shift_multiplier_get. Expected _ib_cc_tbl_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_tbl_entry_shift_multiplier_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cc_tbl_entry_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cc_tbl_entry_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cc_tbl_entry_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-shift_multiplier") == 0) {
+                    cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -shift_multiplier  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -shift_multiplier  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-shift_multiplier") == 0) {
+                    cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cc_tbl_entry_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -shift_multiplier  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -shift_multiplier  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-shift_multiplier ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cc_tbl_entry_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cc_tbl_entry_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cc_tbl_entry_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cc_tbl_entry_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cc_tbl_entry_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cc_tbl_entry_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cc_tbl_ccti_limit_set(_swigobj,_swigval) (_swigobj->ccti_limit = *(_swigval),_swigval)
+static int _wrap_ccTable_ccti_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_ccti_limit_set { ccTable * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_ccti_limit_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_ccti_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_ccti_limit_get(_swigobj) (&_swigobj->ccti_limit)
+static int _wrap_ccTable_ccti_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_ccti_limit_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_ccti_limit_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_ccti_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccTable_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_resv_set { ccTable * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_resv_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccTable_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_resv_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_resv_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_cc_tbl_entry_t * _ib_cc_tbl_entry_list_set(ccTable *obj, ib_cc_tbl_entry_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_cc_tbl_entry_t *) val;
+}
+static int _wrap_ccTable_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cc_tbl_entry_t * _result;
+    ccTable * _arg0;
+    ib_cc_tbl_entry_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cc_tbl_entry_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_entry_list_set { ccTable * } { ib_cc_tbl_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_entry_list_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CC Table: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* Congestion Control Table Entry List should have up to 64 entries */
+	if (countSubLists > 64)
+	{
+		printf("Error: Congestion Control Table Entry List should have up to %d entries (provided %d)\n",
+			64, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of values:
+	 *        ccTableMad configure -entry_list {1 2 3 4 5 6}
+	 *   2. Configure specific items from the list by providing index and value:
+	 *        ccTableMad configure -entry_list {{1 3} {2 4} {7 16}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 1)
+			option = 1;
+		else if (numElements == 2)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 64; i++)
+		entrys[i].shift_multiplier = 0;
+
+	if (option == 1) {
+		/*
+		 * first option - list of values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 1) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[i].shift_multiplier = cl_hton16(value);
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and value
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 2) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			entry_index = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 1, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[entry_index].shift_multiplier = cl_hton16(value);
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cc_tbl_entry_t *)_ib_cc_tbl_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list { ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <64 ; i++) {
+		sprintf(buff, "{#%02u: 0x%04x} ", i, cl_ntoh16(_result[i].shift_multiplier));
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+
+	sprintf(buff, "} ");
+	Tcl_AppendResult(interp, buff, NULL);
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_entry_list_get(_swigobj) ((ib_cc_tbl_entry_t *) _swigobj->entry_list)
+static int _wrap_ccTable_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cc_tbl_entry_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_entry_list_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_entry_list_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cc_tbl_entry_t *)_ib_cc_tbl_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list { ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <64 ; i++) {
+		sprintf(buff, "{#%02u: 0x%04x} ", i, cl_ntoh16(_result[i].shift_multiplier));
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+
+	sprintf(buff, "} ");
+	Tcl_AppendResult(interp, buff, NULL);
+}
+    return TCL_OK;
+}
+static int  ccTable_getByLid(ccTable *self,uint16_t  lid,uint8_t  sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_getByLid { ccTable * } lid sn ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_getByLid. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTable_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccTable_setByLid(ccTable *self,uint16_t  lid,uint8_t  sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_setByLid { ccTable * } lid sn ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_setByLid. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTable_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccTable methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-ccti_limit") == 0) {
+                    cmd = _wrap_ccTable_ccti_limit_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccTable_resv_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccTable_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -ccti_limit -resv -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -ccti_limit -resv -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-ccti_limit") == 0) {
+                    cmd = _wrap_ccTable_ccti_limit_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccTable_resv_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccTable_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -ccti_limit -resv -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -ccti_limit -resv -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccTable_ccti_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccTable_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccTable_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_time_stamp_value_set(_swigobj,_swigval) (_swigobj->value = *(_swigval),_swigval)
+static int _wrap_ccTimeStamp_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccTimeStamp * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_value_set { ccTimeStamp * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_value_set. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_time_stamp_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_time_stamp_value_get(_swigobj) (&_swigobj->value)
+static int _wrap_ccTimeStamp_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccTimeStamp * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_value_get { ccTimeStamp * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_value_get. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_time_stamp_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccTimeStamp_getByLid(ccTimeStamp *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTimeStamp),     // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_TIME_STAMP),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccTimeStamp_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTimeStamp * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_getByLid { ccTimeStamp * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_getByLid. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTimeStamp_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccTimeStampMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccTimeStamp methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccTimeStamp_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccTimeStamp_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-value") == 0) {
+                    cmd = _wrap_ccTimeStamp_value_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -value  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -value  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-value") == 0) {
+                    cmd = _wrap_ccTimeStamp_value_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccTimeStamp_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -value  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -value  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccTimeStamp_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccTimeStampCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccTimeStamp * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccTimeStamp_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccTimeStamp_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccTimeStamp object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccTimeStampMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibis_opt_single_thread_set(_swigobj,_swigval) (_swigobj->single_thread = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_single_thread_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    boolean_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    boolean_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_single_thread_set { ibis_opt_t * } { boolean_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_single_thread_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  if (strcmp(Tcl_GetStringFromObj(objv[2],NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  _arg1 = &temp;
+}
+    _result = (boolean_t *)_ibis_opt_single_thread_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_single_thread_get(_swigobj) (&_swigobj->single_thread)
+static int _wrap_ibis_opt_t_single_thread_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_single_thread_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_single_thread_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (boolean_t *)_ibis_opt_single_thread_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_force_log_flush_set(_swigobj,_swigval) (_swigobj->force_log_flush = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_force_log_flush_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    boolean_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    boolean_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_force_log_flush_set { ibis_opt_t * } { boolean_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_force_log_flush_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  if (strcmp(Tcl_GetStringFromObj(objv[2],NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  _arg1 = &temp;
+}
+    _result = (boolean_t *)_ibis_opt_force_log_flush_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_force_log_flush_get(_swigobj) (&_swigobj->force_log_flush)
+static int _wrap_ibis_opt_t_force_log_flush_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_force_log_flush_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_force_log_flush_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (boolean_t *)_ibis_opt_force_log_flush_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_log_flags_set(_swigobj,_swigval) (_swigobj->log_flags = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_log_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ibis_opt_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_flags_set { ibis_opt_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_flags_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+    _result = (uint8_t *)_ibis_opt_log_flags_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_log_flags_get(_swigobj) (&_swigobj->log_flags)
+static int _wrap_ibis_opt_t_log_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_flags_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_flags_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint8_t *)_ibis_opt_log_flags_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * _ibis_opt_log_file_set(ibis_opt_t *obj, char val[1024]) {
+{
+  strncpy(obj->log_file,val,1024 - 1);
+  obj->log_file[1024 - 1] = '\0';
+}
+    return (char *) val;
+}
+static int _wrap_ibis_opt_t_log_file_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    ibis_opt_t * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_file_set { ibis_opt_t * } { char * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_file_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    _result = (char *)_ibis_opt_log_file_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+    return TCL_OK;
+}
+#define _ibis_opt_log_file_get(_swigobj) ((char *) _swigobj->log_file)
+static int _wrap_ibis_opt_t_log_file_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_file_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_file_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (char *)_ibis_opt_log_file_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+    return TCL_OK;
+}
+#define _ibis_opt_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_sm_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_sm_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_sm_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_ibis_opt_t_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_sm_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_sm_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_sm_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_m_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_m_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_m_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_ibis_opt_t_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_m_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_m_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_m_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_v_key_set(_swigobj,_swigval) (_swigobj->v_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_v_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_v_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_v_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_v_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_v_key_get(_swigobj) (&_swigobj->v_key)
+static int _wrap_ibis_opt_t_v_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_v_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_v_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_v_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclibis_opt_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ibis_opt_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ibis_opt_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-single_thread") == 0) {
+                    cmd = _wrap_ibis_opt_t_single_thread_set;
+                }  else if (strcmp(_str,"-force_log_flush") == 0) {
+                    cmd = _wrap_ibis_opt_t_force_log_flush_set;
+                }  else if (strcmp(_str,"-log_flags") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_flags_set;
+                }  else if (strcmp(_str,"-log_file") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_file_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_sm_key_set;
+                }  else if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_m_key_set;
+                }  else if (strcmp(_str,"-v_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_v_key_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-single_thread") == 0) {
+                    cmd = _wrap_ibis_opt_t_single_thread_get;
+                }  else if (strcmp(_str,"-force_log_flush") == 0) {
+                    cmd = _wrap_ibis_opt_t_force_log_flush_get;
+                }  else if (strcmp(_str,"-log_flags") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_flags_get;
+                }  else if (strcmp(_str,"-log_file") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_file_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_sm_key_get;
+                }  else if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_m_key_get;
+                }  else if (strcmp(_str,"-v_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_v_key_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ibis_opt_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ibis_opt_t_single_thread_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-single_thread ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_force_log_flush_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-force_log_flush ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_log_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_log_file_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_file ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_v_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-v_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclibis_opt_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ibis_opt_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ibis_opt_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ibis_opt_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ibis_opt_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclibis_opt_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+SWIGEXPORT(int,Ibis_Init)(Tcl_Interp *interp) {
+	 if (interp == 0)
+		 return TCL_ERROR;
+	 SWIG_RegisterType();
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crDestroy", _wrap_crDestroy, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crMultiMaxGet", _wrap_crMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crRead", _wrap_crRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crWrite", _wrap_crWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crReadMulti", _wrap_crReadMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crWriteMulti", _wrap_crWriteMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+
+
+ {
+
+	}
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmMultiMaxGet", _wrap_pmMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetPortCounters", _wrap_pmGetPortCounters, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetPortCountersMulti", _wrap_pmGetPortCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetExtPortCountersMulti", _wrap_pmGetExtPortCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmClrAllCounters", _wrap_pmClrAllCounters, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmClrAllCountersMulti", _wrap_pmClrAllCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMultiMaxGet", _wrap_vsMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsCpuRead", _wrap_vsCpuRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsCpuWrite", _wrap_vsCpuWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cRead", _wrap_vsI2cRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cWrite", _wrap_vsI2cWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cReadMulti", _wrap_vsI2cReadMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cWriteMulti", _wrap_vsI2cWriteMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGpioRead", _wrap_vsGpioRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGpioWrite", _wrap_vsGpioWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsSWReset", _wrap_vsSWReset, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashStartMulti", _wrap_vsFlashStartMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashStopMulti", _wrap_vsFlashStopMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashSetBankMulti", _wrap_vsFlashSetBankMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashEraseSectorMulti", _wrap_vsFlashEraseSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashReadSectorMulti", _wrap_vsFlashReadSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashWriteSectorMulti", _wrap_vsFlashWriteSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMirrorRead", _wrap_vsMirrorRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMirrorWrite", _wrap_vsMirrorWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGetGeneralInfo", _wrap_vsGetGeneralInfo, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGetPrivateLFTMap", _wrap_vsGetPrivateLFTMap, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVpdRead", _wrap_bbmVpdRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVpdWrite", _wrap_bbmVpdWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVSDRead", _wrap_bbmVSDRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmBSNRead", _wrap_bbmBSNRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmModRead", _wrap_bbmModRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmChaRead", _wrap_bbmChaRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmFWVerRead", _wrap_bbmFWVerRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_LID", (char *) &_wrap_const_IB_NR_COMPMASK_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_RESERVED1", (char *) &_wrap_const_IB_NR_COMPMASK_RESERVED1, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_BASEVERSION", (char *) &_wrap_const_IB_NR_COMPMASK_BASEVERSION, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_CLASSVERSION", (char *) &_wrap_const_IB_NR_COMPMASK_CLASSVERSION, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODETYPE", (char *) &_wrap_const_IB_NR_COMPMASK_NODETYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NUMPORTS", (char *) &_wrap_const_IB_NR_COMPMASK_NUMPORTS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_SYSIMAGEGUID", (char *) &_wrap_const_IB_NR_COMPMASK_SYSIMAGEGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODEGUID", (char *) &_wrap_const_IB_NR_COMPMASK_NODEGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PORTGUID", (char *) &_wrap_const_IB_NR_COMPMASK_PORTGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PARTCAP", (char *) &_wrap_const_IB_NR_COMPMASK_PARTCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_DEVID", (char *) &_wrap_const_IB_NR_COMPMASK_DEVID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_REV", (char *) &_wrap_const_IB_NR_COMPMASK_REV, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PORTNUM", (char *) &_wrap_const_IB_NR_COMPMASK_PORTNUM, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_VENDID", (char *) &_wrap_const_IB_NR_COMPMASK_VENDID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODEDESC", (char *) &_wrap_const_IB_NR_COMPMASK_NODEDESC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LID", (char *) &_wrap_const_IB_PIR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTNUM", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTNUM, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV1", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEY", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_GIDPRE", (char *) &_wrap_const_IB_PIR_COMPMASK_GIDPRE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_BASELID", (char *) &_wrap_const_IB_PIR_COMPMASK_BASELID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_SMLID", (char *) &_wrap_const_IB_PIR_COMPMASK_SMLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_CAPMASK", (char *) &_wrap_const_IB_PIR_COMPMASK_CAPMASK, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_DIAGCODE", (char *) &_wrap_const_IB_PIR_COMPMASK_DIAGCODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYLEASEPRD", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYLEASEPRD, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LOCALPORTNUM", (char *) &_wrap_const_IB_PIR_COMPMASK_LOCALPORTNUM, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKWIDTHSUPPORT", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKWIDTHSUPPORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKWIDTHACTIVE", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKWIDTHACTIVE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKWIDTHENABLED", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKWIDTHENABLED, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKSPEEDSUPPORT", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKSPEEDSUPPORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTPHYSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTPHYSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKDWNDFLTSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKDWNDFLTSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYPROTBITS", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYPROTBITS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LMC", (char *) &_wrap_const_IB_PIR_COMPMASK_LMC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKSPEEDACTIVE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKSPEEDACTIVE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKSPEEDENABLE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKSPEEDENABLE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_NEIGHBORMTU", (char *) &_wrap_const_IB_PIR_COMPMASK_NEIGHBORMTU, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MASTERSMSL", (char *) &_wrap_const_IB_PIR_COMPMASK_MASTERSMSL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_INITTYPE", (char *) &_wrap_const_IB_PIR_COMPMASK_INITTYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLHIGHLIMIT", (char *) &_wrap_const_IB_PIR_COMPMASK_VLHIGHLIMIT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLARBHIGHCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLARBHIGHCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLARBLOWCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLARBLOWCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_INITTYPEREPLY", (char *) &_wrap_const_IB_PIR_COMPMASK_INITTYPEREPLY, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MTUCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_MTUCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLSTALLCNT", (char *) &_wrap_const_IB_PIR_COMPMASK_VLSTALLCNT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_HOQLIFE", (char *) &_wrap_const_IB_PIR_COMPMASK_HOQLIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_OPVLS", (char *) &_wrap_const_IB_PIR_COMPMASK_OPVLS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PARENFIN", (char *) &_wrap_const_IB_PIR_COMPMASK_PARENFIN, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PARENFOUT", (char *) &_wrap_const_IB_PIR_COMPMASK_PARENFOUT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_FILTERRAWIN", (char *) &_wrap_const_IB_PIR_COMPMASK_FILTERRAWIN, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_FILTERRAWOUT", (char *) &_wrap_const_IB_PIR_COMPMASK_FILTERRAWOUT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_PKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_QKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_QKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_GUIDCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_GUIDCAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV2", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_SUBNTO", (char *) &_wrap_const_IB_PIR_COMPMASK_SUBNTO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV3", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESPTIME", (char *) &_wrap_const_IB_PIR_COMPMASK_RESPTIME, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LOCALPHYERR", (char *) &_wrap_const_IB_PIR_COMPMASK_LOCALPHYERR, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_OVERRUNERR", (char *) &_wrap_const_IB_PIR_COMPMASK_OVERRUNERR, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_LID", (char *) &_wrap_const_IB_SMR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_GUID", (char *) &_wrap_const_IB_SMR_COMPMASK_GUID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_SM_KEY", (char *) &_wrap_const_IB_SMR_COMPMASK_SM_KEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_ACT_COUNT", (char *) &_wrap_const_IB_SMR_COMPMASK_ACT_COUNT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_STATE", (char *) &_wrap_const_IB_SMR_COMPMASK_STATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_PRI", (char *) &_wrap_const_IB_SMR_COMPMASK_PRI, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LID", (char *) &_wrap_const_IB_SWR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIN_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_LIN_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_RAND_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_RAND_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_MCAST_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_MCAST_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIN_TOP", (char *) &_wrap_const_IB_SWR_COMPMASK_LIN_TOP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_PORT", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_MCAST_PRI", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_MCAST_PRI, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_MCAST_NOT", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_MCAST_NOT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_STATE", (char *) &_wrap_const_IB_SWR_COMPMASK_STATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIFE", (char *) &_wrap_const_IB_SWR_COMPMASK_LIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LMC", (char *) &_wrap_const_IB_SWR_COMPMASK_LMC, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_ENFORCE_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_ENFORCE_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_FLAGS", (char *) &_wrap_const_IB_SWR_COMPMASK_FLAGS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_FROM_LID", (char *) &_wrap_const_IB_LR_COMPMASK_FROM_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_FROM_PORT", (char *) &_wrap_const_IB_LR_COMPMASK_FROM_PORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_TO_PORT", (char *) &_wrap_const_IB_LR_COMPMASK_TO_PORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_TO_LID", (char *) &_wrap_const_IB_LR_COMPMASK_TO_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_DGID", (char *) &_wrap_const_IB_PR_COMPMASK_DGID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SGID", (char *) &_wrap_const_IB_PR_COMPMASK_SGID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_DLID", (char *) &_wrap_const_IB_PR_COMPMASK_DLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SLID", (char *) &_wrap_const_IB_PR_COMPMASK_SLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RAWTRAFIC", (char *) &_wrap_const_IB_PR_COMPMASK_RAWTRAFIC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RESV0", (char *) &_wrap_const_IB_PR_COMPMASK_RESV0, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_FLOWLABEL", (char *) &_wrap_const_IB_PR_COMPMASK_FLOWLABEL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_HOPLIMIT", (char *) &_wrap_const_IB_PR_COMPMASK_HOPLIMIT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_TCLASS", (char *) &_wrap_const_IB_PR_COMPMASK_TCLASS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_REVERSIBLE", (char *) &_wrap_const_IB_PR_COMPMASK_REVERSIBLE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_NUMBPATH", (char *) &_wrap_const_IB_PR_COMPMASK_NUMBPATH, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PKEY", (char *) &_wrap_const_IB_PR_COMPMASK_PKEY, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RESV1", (char *) &_wrap_const_IB_PR_COMPMASK_RESV1, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SL", (char *) &_wrap_const_IB_PR_COMPMASK_SL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_MTUSELEC", (char *) &_wrap_const_IB_PR_COMPMASK_MTUSELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_MTU", (char *) &_wrap_const_IB_PR_COMPMASK_MTU, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RATESELEC", (char *) &_wrap_const_IB_PR_COMPMASK_RATESELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RATE", (char *) &_wrap_const_IB_PR_COMPMASK_RATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PKTLIFETIMESELEC", (char *) &_wrap_const_IB_PR_COMPMASK_PKTLIFETIMESELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PFTLIFETIME", (char *) &_wrap_const_IB_PR_COMPMASK_PFTLIFETIME, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LFT_COMPMASK_LID", (char *) &_wrap_const_IB_LFT_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LFT_COMPMASK_BLOCK", (char *) &_wrap_const_IB_LFT_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_GID", (char *) &_wrap_const_IB_MCR_COMPMASK_GID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MGID", (char *) &_wrap_const_IB_MCR_COMPMASK_MGID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PORT_GID", (char *) &_wrap_const_IB_MCR_COMPMASK_PORT_GID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_QKEY", (char *) &_wrap_const_IB_MCR_COMPMASK_QKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MLID", (char *) &_wrap_const_IB_MCR_COMPMASK_MLID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MTU_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_MTU_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MTU", (char *) &_wrap_const_IB_MCR_COMPMASK_MTU, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_TCLASS", (char *) &_wrap_const_IB_MCR_COMPMASK_TCLASS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PKEY", (char *) &_wrap_const_IB_MCR_COMPMASK_PKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_RATE_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_RATE_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_RATE", (char *) &_wrap_const_IB_MCR_COMPMASK_RATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_LIFE_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_LIFE_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_LIFE", (char *) &_wrap_const_IB_MCR_COMPMASK_LIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_SL", (char *) &_wrap_const_IB_MCR_COMPMASK_SL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_FLOW", (char *) &_wrap_const_IB_MCR_COMPMASK_FLOW, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_HOP", (char *) &_wrap_const_IB_MCR_COMPMASK_HOP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_SCOPE", (char *) &_wrap_const_IB_MCR_COMPMASK_SCOPE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_JOIN_STATE", (char *) &_wrap_const_IB_MCR_COMPMASK_JOIN_STATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PROXY", (char *) &_wrap_const_IB_MCR_COMPMASK_PROXY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SID", (char *) &_wrap_const_IB_SR_COMPMASK_SID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SGID", (char *) &_wrap_const_IB_SR_COMPMASK_SGID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SPKEY", (char *) &_wrap_const_IB_SR_COMPMASK_SPKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_RES1", (char *) &_wrap_const_IB_SR_COMPMASK_RES1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SLEASE", (char *) &_wrap_const_IB_SR_COMPMASK_SLEASE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SKEY", (char *) &_wrap_const_IB_SR_COMPMASK_SKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SNAME", (char *) &_wrap_const_IB_SR_COMPMASK_SNAME, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_4", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_4, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_5", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_5, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_6", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_6, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_7", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_7, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_8", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_8, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_9", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_9, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_10", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_10, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_11", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_11, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_12", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_12, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_13", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_13, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_14", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_14, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_15", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_15, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_4", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_4, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_5", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_5, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_6", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_6, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_7", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_7, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA64_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA64_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA64_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA64_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_LID", (char *) &_wrap_const_IB_SLVL_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_IN_PORT", (char *) &_wrap_const_IB_SLVL_COMPMASK_IN_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_OUT_PORT", (char *) &_wrap_const_IB_SLVL_COMPMASK_OUT_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_LID", (char *) &_wrap_const_IB_VLA_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_OUT_PORT", (char *) &_wrap_const_IB_VLA_COMPMASK_OUT_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_BLOCK", (char *) &_wrap_const_IB_VLA_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_LID", (char *) &_wrap_const_IB_PKEY_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_BLOCK", (char *) &_wrap_const_IB_PKEY_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_PORT", (char *) &_wrap_const_IB_PKEY_COMPMASK_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_NONE", (char *) &_wrap_const_IBIS_LOG_NONE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_ERROR", (char *) &_wrap_const_IBIS_LOG_ERROR, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_INFO", (char *) &_wrap_const_IBIS_LOG_INFO, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_VERBOSE", (char *) &_wrap_const_IBIS_LOG_VERBOSE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_DEBUG", (char *) &_wrap_const_IBIS_LOG_DEBUG, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_FUNCS", (char *) &_wrap_const_IBIS_LOG_FUNCS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_FRAMES", (char *) &_wrap_const_IBIS_LOG_FRAMES, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_puts", _wrap_ibis_puts, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_init", _wrap_ibis_init, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_verbosity", _wrap_ibis_set_verbosity, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_port", _wrap_ibis_set_port, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_get_port", _wrap_ibis_get_port, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_transaction_timeout", _wrap_ibis_set_transaction_timeout, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_exit", _wrap_ibis_exit, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "ibisSourceVersion", (char *) &ibisSourceVersion, TCL_LINK_STRING);
+
+
+  /* Make sure that the osmv, complib and ibisp use
+     same modes (debug/free) */
+  if ( osm_is_debug() != cl_is_debug()    ||
+       osm_is_debug() != ibisp_is_debug() ||
+       ibisp_is_debug() != cl_is_debug() )
+  {
+    fprintf(stderr, "-E- OSMV, Complib and Ibis were compiled using different modes\n");
+    fprintf(stderr, "-E- OSMV debug:%d Complib debug:%d IBIS debug:%d \n",
+            osm_is_debug(), cl_is_debug(), ibisp_is_debug() );
+    exit(1);
+  }
+
+  /* sub block required for declarations .... */
+  {
+    static int notFirstTime = 0;
+
+    /* we initialize the structs etc only once. */
+    if (0 == notFirstTime++) {
+      Tcl_StaticPackage(interp, "ibis", Ibis_Init, NULL);
+      Tcl_PkgProvide(interp, "ibis", IBIS_VERSION);
+      /* Default Options  */
+      memset(&IbisOpts, 0,sizeof(ibis_opt_t));
+      IbisOpts.transaction_timeout = 4*OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC;
+      IbisOpts.single_thread = TRUE;
+      IbisOpts.force_log_flush = TRUE;
+      IbisOpts.sm_key = 0;
+      IbisOpts.m_key = 0;
+      IbisOpts.v_key = 0;
+      IbisOpts.log_flags = OSM_LOG_ERROR;
+      strcpy(IbisOpts.log_file,"/tmp/ibis.log");
+
+
+      /* we want all exists to cleanup */
+      Tcl_CreateExitHandler(ibis_exit, NULL);
+
+      /* ------------------ IBCR ---------------------- */
+      p_ibcr_global = ibcr_construct();
+
+      if (p_ibcr_global == NULL) {
+        printf("-E- Error from ibcr_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBPM ---------------------- */
+      p_ibpm_global = ibpm_construct();
+
+      if (p_ibpm_global == NULL) {
+        printf("-E- Error from ibpm_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBVS ---------------------- */
+		p_ibvs_global = ibvs_construct();
+
+  		if (p_ibvs_global == NULL) {
+			printf("-E- Error from ibvs_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBBBM ---------------------- */
+		p_ibbbm_global = ibbbm_construct();
+
+  		if (p_ibbbm_global == NULL) {
+			printf("-E- Error from ibbbm_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBSM ---------------------- */
+		gp_ibsm = ibsm_construct();
+
+  		if (gp_ibsm == NULL) {
+			printf("-E- Error from ibsm_construct.\n");
+         exit(1);
+  		}
+
+      /* Initialize global records */
+      memset(&ibsm_node_info_obj, 0, sizeof(ib_node_info_t));
+      memset(&ibsm_port_info_obj, 0, sizeof(ib_port_info_t));
+      memset(&ibsm_switch_info_obj, 0, sizeof(ib_switch_info_t));
+      memset(&ibsm_lft_block_obj, 0, sizeof(ibsm_lft_block_t));
+      memset(&ibsm_mft_block_obj, 0, sizeof(ibsm_mft_block_t));
+      memset(&ibsm_guid_info_obj, 0, sizeof(ib_guid_info_t));
+      memset(&ibsm_pkey_table_obj, 0, sizeof(ib_pkey_table_t));
+      memset(&ibsm_sm_info_obj, 0, sizeof(ib_sm_info_t));
+
+      /* ------------------ IBCC ---------------------- */
+
+      gp_ibcc = ibcc_construct();
+
+      if (gp_ibcc == NULL) {
+          printf("-E- Error from ibcc_construct.\n");
+          exit(1);
+      }
+
+      /* Initialize global records */
+      memset(&ibcc_class_port_info_obj, 0, sizeof(ib_class_port_info_t));
+      memset(&ibcc_notice_obj, 0, sizeof(ibcc_notice_attr_t));
+      memset(&ibcc_cong_info_obj, 0, sizeof(ib_cong_info_t));
+      memset(&ibcc_cong_key_info_obj, 0, sizeof(ib_cong_key_info_t));
+      memset(&ibcc_ca_cong_log_obj, 0, sizeof(ibcc_ca_cong_log_t));
+      memset(&ibcc_sw_cong_log_obj, 0, sizeof(ibcc_sw_cong_log_t));
+      memset(&ibcc_sw_cong_setting_obj, 0, sizeof(ib_sw_cong_setting_t));
+      memset(&ibcc_sw_port_cong_setting_obj, 0, sizeof(ib_sw_port_cong_setting_t));
+      memset(&ibcc_ca_cong_setting_obj, 0, sizeof(ib_ca_cong_setting_t));
+      memset(&ibcc_table_obj, 0, sizeof(ib_cc_tbl_t));
+      memset(&ibcc_time_stamp_obj, 0, sizeof(ib_time_stamp_t));
+
+      /* ------------------ IBSAC ---------------------- */
+
+      /* Initialize global records */
+      memset(&ibsac_node_rec, 0,sizeof(ibsac_node_rec));
+      memset(&ibsac_portinfo_rec, 0,sizeof(ibsac_portinfo_rec));
+      memset(&ibsac_sminfo_rec, 0, sizeof(ib_sminfo_record_t));
+      memset(&ibsac_swinfo_rec, 0, sizeof(ib_switch_info_record_t));
+      memset(&ibsac_link_rec, 0, sizeof(ib_link_record_t));
+      memset(&ibsac_path_rec, 0, sizeof(ib_path_rec_t));
+      memset(&ibsac_lft_rec, 0, sizeof(ib_lft_record_t));
+      memset(&ibsac_mcm_rec, 0, sizeof(ib_member_rec_t));
+
+      /*
+       * A1 Supported features:
+       *
+       * Query:                Rec/Info Types    Done
+       *
+       * NodeRecord            (nr, ni)           Y
+       * PortInfoRecord        (pir, pi)          Y
+       * SwitchInfoRecord      (swir, swi)        Y
+       * SMInfoRecord          (smir, smi)        Y
+       * PathRecord            (path)             Y
+       * LinkRecord            (link)             Y
+       * LinFwdTblRecord       (lft)              Y
+       * MulticastFwdTblRecord (mftr, mft)        N - Not supported by OSM
+       *
+       * B Supported features:
+       * MCMemberRecord        (mcm)              Y
+       * ClassPortInfo         (cpi)              Y
+       * InformInfo            (info)             Y
+       * ServiceRecord         (svc)              Y
+       * SL2VLTableRecord      (slvr, slvt)       Y
+       * VLArbTableRecord      (vlarb)            Y
+       * PKeyTableRecord       (pkr, pkt)         Y
+       */
+
+      /* We use alternate SWIG Objects mangling */
+      SWIG_AltMnglInit();
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeInfo_p", "ni");
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeRec_p", "nr");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortInfo_p", "pi");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortRec_p", "pir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmInfo_p", "smi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmRec_p", "smir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwInfo_p", "swi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwRec_p", "swir");
+      SWIG_AltMnglRegTypeToPrefix("_sacLinkRec_p", "link");
+      SWIG_AltMnglRegTypeToPrefix("_sacPathRec_p", "path");
+      SWIG_AltMnglRegTypeToPrefix("_sacLFTRec_p", "lft");
+      SWIG_AltMnglRegTypeToPrefix("_sacMCMRec_p", "mcm");
+      SWIG_AltMnglRegTypeToPrefix("_sacClassPortInfo_p", "cpi");
+      SWIG_AltMnglRegTypeToPrefix("_sacInformInfo_p", "info");
+      SWIG_AltMnglRegTypeToPrefix("_sacServiceRec_p", "svc");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlTbl_p", "slvt");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlRec_p", "slvr");
+      SWIG_AltMnglRegTypeToPrefix("_sacVlArbRec_p", "vlarb");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyTbl_p", "pkt");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyRec_p", "pkr");
+
+      // register the pre-allocated objects
+      SWIG_AltMnglRegObj("ni",&(ibsac_node_rec.node_info));
+      SWIG_AltMnglRegObj("nr",&(ibsac_node_rec));
+
+      SWIG_AltMnglRegObj("pi", &(ibsac_portinfo_rec.port_info));
+      SWIG_AltMnglRegObj("pir",&(ibsac_portinfo_rec));
+
+      SWIG_AltMnglRegObj("smi", &(ibsac_sminfo_rec.sm_info));
+      SWIG_AltMnglRegObj("smir",&(ibsac_sminfo_rec));
+
+      SWIG_AltMnglRegObj("swi", &(ibsac_swinfo_rec.switch_info));
+      SWIG_AltMnglRegObj("swir",&(ibsac_swinfo_rec));
+
+      SWIG_AltMnglRegObj("path",&(ibsac_path_rec));
+
+      SWIG_AltMnglRegObj("link",&(ibsac_link_rec));
+
+      SWIG_AltMnglRegObj("lft",&(ibsac_lft_rec));
+
+      SWIG_AltMnglRegObj("mcm",&(ibsac_mcm_rec));
+
+      SWIG_AltMnglRegObj("cpi",&(ibsac_class_port_info));
+      SWIG_AltMnglRegObj("info",&(ibsac_inform_info));
+      SWIG_AltMnglRegObj("svc",&(ibsac_svc_rec));
+
+      SWIG_AltMnglRegObj("slvt", &(ibsac_slvl_rec.slvl_tbl));
+      SWIG_AltMnglRegObj("slvr", &(ibsac_slvl_rec));
+
+      SWIG_AltMnglRegObj("vlarb", &(ibsac_vlarb_rec));
+
+      SWIG_AltMnglRegObj("pkt", &(ibsac_pkey_rec.pkey_tbl));
+      SWIG_AltMnglRegObj("pkr", &(ibsac_pkey_rec));
+
+      usleep(1000);
+    }
+
+    /* we defined this as a native command so declare it in here */
+    Tcl_CreateObjCommand(interp, "ibis_get_local_ports_info",
+                         ibis_get_local_ports_info, NULL, NULL);
+
+	 /* this will declare an object osm_opts */
+	 ibis_opt_p = &IbisOpts;
+	 Tcl_CreateObjCommand(interp,"ibis_opts", Tclibis_opt_tMethodCmd,
+									 (ClientData)ibis_opt_p, 0);
+
+    /* add commands for accessing the global query records */
+
+    /* ------------------ IBSM ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"smNodeInfoMad",
+                         TclsmNodeInfoMethodCmd,
+                         (ClientData)&ibsm_node_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPortInfoMad",
+                         TclsmPortInfoMethodCmd,
+                         (ClientData)&ibsm_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSwitchInfoMad",
+                         TclsmSwInfoMethodCmd,
+                         (ClientData)&ibsm_switch_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smLftBlockMad",
+                         TclsmLftBlockMethodCmd,
+                         (ClientData)&ibsm_lft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smMftBlockMad",
+                         TclsmMftBlockMethodCmd,
+                         (ClientData)&ibsm_mft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smGuidInfoMad",
+                         TclsmGuidInfoMethodCmd,
+                         (ClientData)&ibsm_guid_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPkeyTableMad",
+                         TclsmPkeyTableMethodCmd,
+                         (ClientData)&ibsm_pkey_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSlVlTableMad",
+                         TclsmSlVlTableMethodCmd,
+                         (ClientData)&ibsm_slvl_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smVlArbTableMad",
+                         TclsmVlArbTableMethodCmd,
+                         (ClientData)&ibsm_vl_arb_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSMInfoMad",
+                         TclsmSMInfoMethodCmd,
+                         (ClientData)&ibsm_sm_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNodeDescMad",
+                         TclsmNodeDescMethodCmd,
+                         (ClientData)&ibsm_node_desc_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNoticeMad",
+                         TclsmNoticeMethodCmd,
+                         (ClientData)&ibsm_notice_obj, 0);
+
+    /* ------------------ IBCC ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"ccClassPortInfoMad",
+                         TclccClassPortInfoMethodCmd,
+                         (ClientData)&ibcc_class_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccNoticeMad",
+                         TclccNoticeMethodCmd,
+                         (ClientData)&ibcc_notice_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionInfoMad",
+                         TclccCongestionInfoMethodCmd,
+                         (ClientData)&ibcc_cong_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionKeyInfoMad",
+                         TclccCongestionKeyInfoMethodCmd,
+                         (ClientData)&ibcc_cong_key_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionLogMad",
+                         TclccCACongestionLogMethodCmd,
+                         (ClientData)&ibcc_ca_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionLogMad",
+                         TclccSWCongestionLogMethodCmd,
+                         (ClientData)&ibcc_sw_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionSettingMad",
+                         TclccSWCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWPortCongestionSettingMad",
+                         TclccSWPortCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_port_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionSettingMad",
+                         TclccCACongestionSettingMethodCmd,
+                         (ClientData)&ibcc_ca_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTableMad",
+                         TclccTableMethodCmd,
+                         (ClientData)&ibcc_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTimeStampMad",
+                         TclccTimeStampMethodCmd,
+                         (ClientData)&ibcc_time_stamp_obj, 0);
+
+    /* ------------------ IBSAC --------------------- */
+
+	 Tcl_CreateObjCommand(interp,"sacNodeQuery",
+								 TclsacNodeRecMethodCmd,
+								 (ClientData)&ibsac_node_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPortQuery",
+								 TclsacPortRecMethodCmd,
+								 (ClientData)&ibsac_portinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSmQuery",
+								 TclsacSmRecMethodCmd,
+								 (ClientData)&ibsac_sminfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSwQuery",
+								 TclsacSwRecMethodCmd,
+								 (ClientData)&ibsac_swinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLinkQuery",
+								 TclsacLinkRecMethodCmd,
+								 (ClientData)&ibsac_link_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPathQuery",
+								 TclsacPathRecMethodCmd,
+								 (ClientData)&ibsac_path_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLFTQuery",
+								 TclsacLFTRecMethodCmd,
+								 (ClientData)&ibsac_lft_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacMCMQuery",
+								 TclsacMCMRecMethodCmd,
+								 (ClientData)&ibsac_mcm_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacClassPortInfoQuery",
+								 TclsacClassPortInfoMethodCmd,
+								 (ClientData)&ibsac_class_port_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacInformInfoQuery",
+								 TclsacInformInfoMethodCmd,
+								 (ClientData)&ibsac_inform_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacServiceQuery",
+								 TclsacServiceRecMethodCmd,
+								 (ClientData)&ibsac_svc_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSLVlQuery",
+								 TclsacSlVlRecMethodCmd,
+								 (ClientData)&ibsac_slvl_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacVlArbQuery",
+								 TclsacVlArbRecMethodCmd,
+								 (ClientData)&ibsac_vlarb_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPKeyQuery",
+								 TclsacPKeyRecMethodCmd,
+								 (ClientData)&ibsac_pkey_rec, 0);
+
+    /*
+      use an embedded Tcl code for doing init if given command line
+      parameters: -port_num <port num>
+    */
+    Tcl_GlobalEval(
+      interp,
+      "if {[file tail $argv0] == \"ibis\"} {\n"
+      " set _ibis_port_num_arg_idx [lsearch $argv -port_num]\n"
+      " if {$_ibis_port_num_arg_idx >= 0} {\n"
+      "  if {[llength $argv] < $_ibis_port_num_arg_idx + 2} {\n"
+      "    puts {ibis given -port_num with no actual port number argument}\n"
+      "  } else { \n"
+      "    set _ibis_port_num [lindex $argv [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    set argv [lreplace $argv $_ibis_port_num_arg_idx [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    ibis_init\n"
+      "    set _ibis_all_ports [ibis_get_local_ports_info]\n"
+      "    set first_port_idx [lsearch -all $_ibis_all_ports [lindex $_ibis_all_ports 0]]\n"
+      "    if {[llength $first_port_idx] > 1} {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports $_ibis_port_num]\n"
+      "    } else {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports [expr $_ibis_port_num - 1]]\n"
+      "    }\n"
+      "    if {[lindex $_ibis_port_info 2] != \"ACTIVE\"} {\n"
+      "       puts \"Port $_ibis_port_num is not ACTIVE: $_ibis_port_info\"\n"
+      "       exit 1\n"
+      "    } else { \n"
+      "       ibis_set_port [lindex $_ibis_port_info 0]\n"
+      "       puts \"Port set to:[lindex $_ibis_port_info 0]\"\n"
+      "    }\n"
+      "  }\n"
+      " }\n"
+      "}\n");
+  }
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_base_version_set", _wrap_sacNodeInfo_base_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_base_version_get", _wrap_sacNodeInfo_base_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_class_version_set", _wrap_sacNodeInfo_class_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_class_version_get", _wrap_sacNodeInfo_class_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_type_set", _wrap_sacNodeInfo_node_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_type_get", _wrap_sacNodeInfo_node_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_num_ports_set", _wrap_sacNodeInfo_num_ports_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_num_ports_get", _wrap_sacNodeInfo_num_ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_sys_guid_set", _wrap_sacNodeInfo_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_sys_guid_get", _wrap_sacNodeInfo_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_guid_set", _wrap_sacNodeInfo_node_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_guid_get", _wrap_sacNodeInfo_node_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_guid_set", _wrap_sacNodeInfo_port_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_guid_get", _wrap_sacNodeInfo_port_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_partition_cap_set", _wrap_sacNodeInfo_partition_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_partition_cap_get", _wrap_sacNodeInfo_partition_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_device_id_set", _wrap_sacNodeInfo_device_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_device_id_get", _wrap_sacNodeInfo_device_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_revision_set", _wrap_sacNodeInfo_revision_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_revision_get", _wrap_sacNodeInfo_revision_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_num_vendor_id_set", _wrap_sacNodeInfo_port_num_vendor_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_num_vendor_id_get", _wrap_sacNodeInfo_port_num_vendor_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_delete", _wrap_sacNodeInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacNodeInfo",TclsacNodeInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_lid_set", _wrap_sacNodeRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_lid_get", _wrap_sacNodeRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_info_set", _wrap_sacNodeRec_node_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_info_get", _wrap_sacNodeRec_node_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_desc_set", _wrap_sacNodeRec_node_desc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_desc_get", _wrap_sacNodeRec_node_desc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_get", _wrap_sacNodeRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_getTable", _wrap_sacNodeRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_delete", _wrap_sacNodeRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacNodeRec",TclsacNodeRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_set", _wrap_sacPortInfo_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_get", _wrap_sacPortInfo_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_prefix_set", _wrap_sacPortInfo_subnet_prefix_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_prefix_get", _wrap_sacPortInfo_subnet_prefix_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_base_lid_set", _wrap_sacPortInfo_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_base_lid_get", _wrap_sacPortInfo_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_master_sm_base_lid_set", _wrap_sacPortInfo_master_sm_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_master_sm_base_lid_get", _wrap_sacPortInfo_master_sm_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_capability_mask_set", _wrap_sacPortInfo_capability_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_capability_mask_get", _wrap_sacPortInfo_capability_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_diag_code_set", _wrap_sacPortInfo_diag_code_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_diag_code_get", _wrap_sacPortInfo_diag_code_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_lease_period_set", _wrap_sacPortInfo_m_key_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_lease_period_get", _wrap_sacPortInfo_m_key_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_local_port_num_set", _wrap_sacPortInfo_local_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_local_port_num_get", _wrap_sacPortInfo_local_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_enabled_set", _wrap_sacPortInfo_link_width_enabled_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_enabled_get", _wrap_sacPortInfo_link_width_enabled_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_supported_set", _wrap_sacPortInfo_link_width_supported_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_supported_get", _wrap_sacPortInfo_link_width_supported_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_active_set", _wrap_sacPortInfo_link_width_active_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_active_get", _wrap_sacPortInfo_link_width_active_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info1_set", _wrap_sacPortInfo_state_info1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info1_get", _wrap_sacPortInfo_state_info1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info2_set", _wrap_sacPortInfo_state_info2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info2_get", _wrap_sacPortInfo_state_info2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mkey_lmc_set", _wrap_sacPortInfo_mkey_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mkey_lmc_get", _wrap_sacPortInfo_mkey_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_speed_set", _wrap_sacPortInfo_link_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_speed_get", _wrap_sacPortInfo_link_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_smsl_set", _wrap_sacPortInfo_mtu_smsl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_smsl_get", _wrap_sacPortInfo_mtu_smsl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_cap_set", _wrap_sacPortInfo_vl_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_cap_get", _wrap_sacPortInfo_vl_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_high_limit_set", _wrap_sacPortInfo_vl_high_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_high_limit_get", _wrap_sacPortInfo_vl_high_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_high_cap_set", _wrap_sacPortInfo_vl_arb_high_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_high_cap_get", _wrap_sacPortInfo_vl_arb_high_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_low_cap_set", _wrap_sacPortInfo_vl_arb_low_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_low_cap_get", _wrap_sacPortInfo_vl_arb_low_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_cap_set", _wrap_sacPortInfo_mtu_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_cap_get", _wrap_sacPortInfo_mtu_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_stall_life_set", _wrap_sacPortInfo_vl_stall_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_stall_life_get", _wrap_sacPortInfo_vl_stall_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_enforce_set", _wrap_sacPortInfo_vl_enforce_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_enforce_get", _wrap_sacPortInfo_vl_enforce_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_violations_set", _wrap_sacPortInfo_m_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_violations_get", _wrap_sacPortInfo_m_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_p_key_violations_set", _wrap_sacPortInfo_p_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_p_key_violations_get", _wrap_sacPortInfo_p_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_q_key_violations_set", _wrap_sacPortInfo_q_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_q_key_violations_get", _wrap_sacPortInfo_q_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_guid_cap_set", _wrap_sacPortInfo_guid_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_guid_cap_get", _wrap_sacPortInfo_guid_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_timeout_set", _wrap_sacPortInfo_subnet_timeout_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_timeout_get", _wrap_sacPortInfo_subnet_timeout_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_resp_time_value_set", _wrap_sacPortInfo_resp_time_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_resp_time_value_get", _wrap_sacPortInfo_resp_time_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_error_threshold_set", _wrap_sacPortInfo_error_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_error_threshold_get", _wrap_sacPortInfo_error_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_delete", _wrap_sacPortInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPortInfo",TclsacPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_lid_set", _wrap_sacPortRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_lid_get", _wrap_sacPortRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_num_set", _wrap_sacPortRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_num_get", _wrap_sacPortRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_info_set", _wrap_sacPortRec_port_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_info_get", _wrap_sacPortRec_port_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_get", _wrap_sacPortRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_getTable", _wrap_sacPortRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_delete", _wrap_sacPortRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPortRec",TclsacPortRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_guid_set", _wrap_sacSmInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_guid_get", _wrap_sacSmInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_sm_key_set", _wrap_sacSmInfo_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_sm_key_get", _wrap_sacSmInfo_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_act_count_set", _wrap_sacSmInfo_act_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_act_count_get", _wrap_sacSmInfo_act_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_pri_state_set", _wrap_sacSmInfo_pri_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_pri_state_get", _wrap_sacSmInfo_pri_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_delete", _wrap_sacSmInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSmInfo",TclsacSmInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_lid_set", _wrap_sacSmRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_lid_get", _wrap_sacSmRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_sm_info_set", _wrap_sacSmRec_sm_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_sm_info_get", _wrap_sacSmRec_sm_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_get", _wrap_sacSmRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_getTable", _wrap_sacSmRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_delete", _wrap_sacSmRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSmRec",TclsacSmRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_cap_set", _wrap_sacSwInfo_lin_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_cap_get", _wrap_sacSwInfo_lin_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_rand_cap_set", _wrap_sacSwInfo_rand_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_rand_cap_get", _wrap_sacSwInfo_rand_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_mcast_cap_set", _wrap_sacSwInfo_mcast_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_mcast_cap_get", _wrap_sacSwInfo_mcast_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_top_set", _wrap_sacSwInfo_lin_top_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_top_get", _wrap_sacSwInfo_lin_top_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_port_set", _wrap_sacSwInfo_def_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_port_get", _wrap_sacSwInfo_def_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_pri_port_set", _wrap_sacSwInfo_def_mcast_pri_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_pri_port_get", _wrap_sacSwInfo_def_mcast_pri_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_not_port_set", _wrap_sacSwInfo_def_mcast_not_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_not_port_get", _wrap_sacSwInfo_def_mcast_not_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_life_state_set", _wrap_sacSwInfo_life_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_life_state_get", _wrap_sacSwInfo_life_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lids_per_port_set", _wrap_sacSwInfo_lids_per_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lids_per_port_get", _wrap_sacSwInfo_lids_per_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_enforce_cap_set", _wrap_sacSwInfo_enforce_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_enforce_cap_get", _wrap_sacSwInfo_enforce_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_flags_set", _wrap_sacSwInfo_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_flags_get", _wrap_sacSwInfo_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_delete", _wrap_sacSwInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSwInfo",TclsacSwInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_lid_set", _wrap_sacSwRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_lid_get", _wrap_sacSwRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_switch_info_set", _wrap_sacSwRec_switch_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_switch_info_get", _wrap_sacSwRec_switch_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_get", _wrap_sacSwRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_getTable", _wrap_sacSwRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_delete", _wrap_sacSwRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSwRec",TclsacSwRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_lid_set", _wrap_sacLinkRec_from_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_lid_get", _wrap_sacLinkRec_from_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_port_num_set", _wrap_sacLinkRec_from_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_port_num_get", _wrap_sacLinkRec_from_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_port_num_set", _wrap_sacLinkRec_to_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_port_num_get", _wrap_sacLinkRec_to_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_lid_set", _wrap_sacLinkRec_to_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_lid_get", _wrap_sacLinkRec_to_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_get", _wrap_sacLinkRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_getTable", _wrap_sacLinkRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_delete", _wrap_sacLinkRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacLinkRec",TclsacLinkRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_service_id_set", _wrap_sacPathRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_service_id_get", _wrap_sacPathRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dgid_set", _wrap_sacPathRec_dgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dgid_get", _wrap_sacPathRec_dgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_sgid_set", _wrap_sacPathRec_sgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_sgid_get", _wrap_sacPathRec_sgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dlid_set", _wrap_sacPathRec_dlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dlid_get", _wrap_sacPathRec_dlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_slid_set", _wrap_sacPathRec_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_slid_get", _wrap_sacPathRec_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_hop_flow_raw_set", _wrap_sacPathRec_hop_flow_raw_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_hop_flow_raw_get", _wrap_sacPathRec_hop_flow_raw_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_tclass_set", _wrap_sacPathRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_tclass_get", _wrap_sacPathRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_num_path_set", _wrap_sacPathRec_num_path_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_num_path_get", _wrap_sacPathRec_num_path_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkey_set", _wrap_sacPathRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkey_get", _wrap_sacPathRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_qos_class_sl_set", _wrap_sacPathRec_qos_class_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_qos_class_sl_get", _wrap_sacPathRec_qos_class_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_mtu_set", _wrap_sacPathRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_mtu_get", _wrap_sacPathRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_rate_set", _wrap_sacPathRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_rate_get", _wrap_sacPathRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkt_life_set", _wrap_sacPathRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkt_life_get", _wrap_sacPathRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_preference_set", _wrap_sacPathRec_preference_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_preference_get", _wrap_sacPathRec_preference_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_get", _wrap_sacPathRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_getTable", _wrap_sacPathRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_delete", _wrap_sacPathRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPathRec",TclsacPathRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lid_set", _wrap_sacLFTRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lid_get", _wrap_sacLFTRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_block_num_set", _wrap_sacLFTRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_block_num_get", _wrap_sacLFTRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lft_set", _wrap_sacLFTRec_lft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lft_get", _wrap_sacLFTRec_lft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_get", _wrap_sacLFTRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_getTable", _wrap_sacLFTRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_delete", _wrap_sacLFTRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacLFTRec",TclsacLFTRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mgid_set", _wrap_sacMCMRec_mgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mgid_get", _wrap_sacMCMRec_mgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_port_gid_set", _wrap_sacMCMRec_port_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_port_gid_get", _wrap_sacMCMRec_port_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_qkey_set", _wrap_sacMCMRec_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_qkey_get", _wrap_sacMCMRec_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mlid_set", _wrap_sacMCMRec_mlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mlid_get", _wrap_sacMCMRec_mlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mtu_set", _wrap_sacMCMRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mtu_get", _wrap_sacMCMRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_tclass_set", _wrap_sacMCMRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_tclass_get", _wrap_sacMCMRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkey_set", _wrap_sacMCMRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkey_get", _wrap_sacMCMRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_rate_set", _wrap_sacMCMRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_rate_get", _wrap_sacMCMRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkt_life_set", _wrap_sacMCMRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkt_life_get", _wrap_sacMCMRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_sl_flow_hop_set", _wrap_sacMCMRec_sl_flow_hop_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_sl_flow_hop_get", _wrap_sacMCMRec_sl_flow_hop_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_scope_state_set", _wrap_sacMCMRec_scope_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_scope_state_get", _wrap_sacMCMRec_scope_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_get", _wrap_sacMCMRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_getTable", _wrap_sacMCMRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_set", _wrap_sacMCMRec_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_del", _wrap_sacMCMRec_del, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_proxy_join_get", _wrap_sacMCMRec_proxy_join_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_proxy_join_set", _wrap_sacMCMRec_proxy_join_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_obj_delete", _wrap_sacMCMRec_obj_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacMCMRec",TclsacMCMRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_base_ver_set", _wrap_sacClassPortInfo_base_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_base_ver_get", _wrap_sacClassPortInfo_base_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_class_ver_set", _wrap_sacClassPortInfo_class_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_class_ver_get", _wrap_sacClassPortInfo_class_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask_set", _wrap_sacClassPortInfo_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask_get", _wrap_sacClassPortInfo_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask2_resp_time_set", _wrap_sacClassPortInfo_cap_mask2_resp_time_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask2_resp_time_get", _wrap_sacClassPortInfo_cap_mask2_resp_time_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_gid_set", _wrap_sacClassPortInfo_redir_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_gid_get", _wrap_sacClassPortInfo_redir_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_tc_sl_fl_set", _wrap_sacClassPortInfo_redir_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_tc_sl_fl_get", _wrap_sacClassPortInfo_redir_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_lid_set", _wrap_sacClassPortInfo_redir_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_lid_get", _wrap_sacClassPortInfo_redir_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_pkey_set", _wrap_sacClassPortInfo_redir_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_pkey_get", _wrap_sacClassPortInfo_redir_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qp_set", _wrap_sacClassPortInfo_redir_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qp_get", _wrap_sacClassPortInfo_redir_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qkey_set", _wrap_sacClassPortInfo_redir_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qkey_get", _wrap_sacClassPortInfo_redir_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_gid_set", _wrap_sacClassPortInfo_trap_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_gid_get", _wrap_sacClassPortInfo_trap_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_tc_sl_fl_set", _wrap_sacClassPortInfo_trap_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_tc_sl_fl_get", _wrap_sacClassPortInfo_trap_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_lid_set", _wrap_sacClassPortInfo_trap_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_lid_get", _wrap_sacClassPortInfo_trap_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_pkey_set", _wrap_sacClassPortInfo_trap_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_pkey_get", _wrap_sacClassPortInfo_trap_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_hop_qp_set", _wrap_sacClassPortInfo_trap_hop_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_hop_qp_get", _wrap_sacClassPortInfo_trap_hop_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_qkey_set", _wrap_sacClassPortInfo_trap_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_qkey_get", _wrap_sacClassPortInfo_trap_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_get", _wrap_sacClassPortInfo_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_delete", _wrap_sacClassPortInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacClassPortInfo",TclsacClassPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_gid_set", _wrap_sacInformInfo_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_gid_get", _wrap_sacInformInfo_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_begin_set", _wrap_sacInformInfo_lid_range_begin_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_begin_get", _wrap_sacInformInfo_lid_range_begin_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_end_set", _wrap_sacInformInfo_lid_range_end_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_end_get", _wrap_sacInformInfo_lid_range_end_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_reserved1_set", _wrap_sacInformInfo_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_reserved1_get", _wrap_sacInformInfo_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_is_generic_set", _wrap_sacInformInfo_is_generic_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_is_generic_get", _wrap_sacInformInfo_is_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_subscribe_set", _wrap_sacInformInfo_subscribe_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_subscribe_get", _wrap_sacInformInfo_subscribe_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_trap_type_set", _wrap_sacInformInfo_trap_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_trap_type_get", _wrap_sacInformInfo_trap_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_get", _wrap_sacInformInfo_g_or_v_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_set", _wrap_sacInformInfo_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_delete", _wrap_sacInformInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo",TclsacInformInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_get", _wrap_sacInformInfo_g_or_v_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_get", _wrap_sacInformInfo_g_or_v_vend_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v",TclsacInformInfo_g_or_vCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_trap_num_set", _wrap_sacInformInfo_g_or_v_generic_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_trap_num_get", _wrap_sacInformInfo_g_or_v_generic_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_qpn_resp_time_val_set", _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_qpn_resp_time_val_get", _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_reserved2_set", _wrap_sacInformInfo_g_or_v_generic_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_reserved2_get", _wrap_sacInformInfo_g_or_v_generic_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_msb_set", _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_msb_get", _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_lsb_set", _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_lsb_get", _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v_generic",TclsacInformInfo_g_or_v_genericCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_dev_id_set", _wrap_sacInformInfo_g_or_v_vend_dev_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_dev_id_get", _wrap_sacInformInfo_g_or_v_vend_dev_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_qpn_resp_time_val_set", _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_qpn_resp_time_val_get", _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_reserved2_set", _wrap_sacInformInfo_g_or_v_vend_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_reserved2_get", _wrap_sacInformInfo_g_or_v_vend_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_msb_set", _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_msb_get", _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_lsb_set", _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_lsb_get", _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v_vend",TclsacInformInfo_g_or_v_vendCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_id_set", _wrap_sacServiceRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_id_get", _wrap_sacServiceRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_gid_set", _wrap_sacServiceRec_service_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_gid_get", _wrap_sacServiceRec_service_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_pkey_set", _wrap_sacServiceRec_service_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_pkey_get", _wrap_sacServiceRec_service_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_resv_set", _wrap_sacServiceRec_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_resv_get", _wrap_sacServiceRec_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_lease_set", _wrap_sacServiceRec_service_lease_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_lease_get", _wrap_sacServiceRec_service_lease_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_key_set", _wrap_sacServiceRec_service_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_key_get", _wrap_sacServiceRec_service_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_name_set", _wrap_sacServiceRec_service_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_name_get", _wrap_sacServiceRec_service_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data8_set", _wrap_sacServiceRec_service_data8_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data8_get", _wrap_sacServiceRec_service_data8_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data16_set", _wrap_sacServiceRec_service_data16_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data16_get", _wrap_sacServiceRec_service_data16_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data32_set", _wrap_sacServiceRec_service_data32_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data32_get", _wrap_sacServiceRec_service_data32_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data64_set", _wrap_sacServiceRec_service_data64_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data64_get", _wrap_sacServiceRec_service_data64_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_get", _wrap_sacServiceRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_set", _wrap_sacServiceRec_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_getTable", _wrap_sacServiceRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_delete", _wrap_sacServiceRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_obj_delete", _wrap_sacServiceRec_obj_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacServiceRec",TclsacServiceRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlTbl_raw_vl_by_sl_set", _wrap_sacSlVlTbl_raw_vl_by_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlTbl_raw_vl_by_sl_get", _wrap_sacSlVlTbl_raw_vl_by_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSlVlTbl",TclsacSlVlTblCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_lid_set", _wrap_sacSlVlRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_lid_get", _wrap_sacSlVlRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_in_port_num_set", _wrap_sacSlVlRec_in_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_in_port_num_get", _wrap_sacSlVlRec_in_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_out_port_num_set", _wrap_sacSlVlRec_out_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_out_port_num_get", _wrap_sacSlVlRec_out_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_resv_set", _wrap_sacSlVlRec_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_resv_get", _wrap_sacSlVlRec_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_slvl_tbl_set", _wrap_sacSlVlRec_slvl_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_slvl_tbl_get", _wrap_sacSlVlRec_slvl_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_get", _wrap_sacSlVlRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_getTable", _wrap_sacSlVlRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_delete", _wrap_sacSlVlRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSlVlRec",TclsacSlVlRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_lid_set", _wrap_sacVlArbRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_lid_get", _wrap_sacVlArbRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_port_num_set", _wrap_sacVlArbRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_port_num_get", _wrap_sacVlArbRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_block_num_set", _wrap_sacVlArbRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_block_num_get", _wrap_sacVlArbRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_reserved_set", _wrap_sacVlArbRec_reserved_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_reserved_get", _wrap_sacVlArbRec_reserved_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_vl_arb_tbl_set", _wrap_sacVlArbRec_vl_arb_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_vl_arb_tbl_get", _wrap_sacVlArbRec_vl_arb_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_get", _wrap_sacVlArbRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_getTable", _wrap_sacVlArbRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_delete", _wrap_sacVlArbRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacVlArbRec",TclsacVlArbRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyTbl_pkey_entry_set", _wrap_sacPKeyTbl_pkey_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyTbl_pkey_entry_get", _wrap_sacPKeyTbl_pkey_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPKeyTbl",TclsacPKeyTblCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_lid_set", _wrap_sacPKeyRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_lid_get", _wrap_sacPKeyRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_block_num_set", _wrap_sacPKeyRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_block_num_get", _wrap_sacPKeyRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_port_num_set", _wrap_sacPKeyRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_port_num_get", _wrap_sacPKeyRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved1_set", _wrap_sacPKeyRec_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved1_get", _wrap_sacPKeyRec_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved2_set", _wrap_sacPKeyRec_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved2_get", _wrap_sacPKeyRec_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_pkey_tbl_set", _wrap_sacPKeyRec_pkey_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_pkey_tbl_get", _wrap_sacPKeyRec_pkey_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_get", _wrap_sacPKeyRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_getTable", _wrap_sacPKeyRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_delete", _wrap_sacPKeyRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPKeyRec",TclsacPKeyRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_base_version_set", _wrap_smNodeInfo_base_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_base_version_get", _wrap_smNodeInfo_base_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_class_version_set", _wrap_smNodeInfo_class_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_class_version_get", _wrap_smNodeInfo_class_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_type_set", _wrap_smNodeInfo_node_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_type_get", _wrap_smNodeInfo_node_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_num_ports_set", _wrap_smNodeInfo_num_ports_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_num_ports_get", _wrap_smNodeInfo_num_ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_sys_guid_set", _wrap_smNodeInfo_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_sys_guid_get", _wrap_smNodeInfo_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_guid_set", _wrap_smNodeInfo_node_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_guid_get", _wrap_smNodeInfo_node_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_guid_set", _wrap_smNodeInfo_port_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_guid_get", _wrap_smNodeInfo_port_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_partition_cap_set", _wrap_smNodeInfo_partition_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_partition_cap_get", _wrap_smNodeInfo_partition_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_device_id_set", _wrap_smNodeInfo_device_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_device_id_get", _wrap_smNodeInfo_device_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_revision_set", _wrap_smNodeInfo_revision_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_revision_get", _wrap_smNodeInfo_revision_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_num_vendor_id_set", _wrap_smNodeInfo_port_num_vendor_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_num_vendor_id_get", _wrap_smNodeInfo_port_num_vendor_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_getByDr", _wrap_smNodeInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_setByDr", _wrap_smNodeInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_getByLid", _wrap_smNodeInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_setByLid", _wrap_smNodeInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNodeInfo",TclsmNodeInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_set", _wrap_smPortInfo_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_get", _wrap_smPortInfo_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_prefix_set", _wrap_smPortInfo_subnet_prefix_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_prefix_get", _wrap_smPortInfo_subnet_prefix_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_base_lid_set", _wrap_smPortInfo_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_base_lid_get", _wrap_smPortInfo_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_master_sm_base_lid_set", _wrap_smPortInfo_master_sm_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_master_sm_base_lid_get", _wrap_smPortInfo_master_sm_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_capability_mask_set", _wrap_smPortInfo_capability_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_capability_mask_get", _wrap_smPortInfo_capability_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_diag_code_set", _wrap_smPortInfo_diag_code_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_diag_code_get", _wrap_smPortInfo_diag_code_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_lease_period_set", _wrap_smPortInfo_m_key_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_lease_period_get", _wrap_smPortInfo_m_key_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_local_port_num_set", _wrap_smPortInfo_local_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_local_port_num_get", _wrap_smPortInfo_local_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_enabled_set", _wrap_smPortInfo_link_width_enabled_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_enabled_get", _wrap_smPortInfo_link_width_enabled_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_supported_set", _wrap_smPortInfo_link_width_supported_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_supported_get", _wrap_smPortInfo_link_width_supported_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_active_set", _wrap_smPortInfo_link_width_active_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_active_get", _wrap_smPortInfo_link_width_active_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info1_set", _wrap_smPortInfo_state_info1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info1_get", _wrap_smPortInfo_state_info1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info2_set", _wrap_smPortInfo_state_info2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info2_get", _wrap_smPortInfo_state_info2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mkey_lmc_set", _wrap_smPortInfo_mkey_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mkey_lmc_get", _wrap_smPortInfo_mkey_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_speed_set", _wrap_smPortInfo_link_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_speed_get", _wrap_smPortInfo_link_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_smsl_set", _wrap_smPortInfo_mtu_smsl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_smsl_get", _wrap_smPortInfo_mtu_smsl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_cap_set", _wrap_smPortInfo_vl_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_cap_get", _wrap_smPortInfo_vl_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_high_limit_set", _wrap_smPortInfo_vl_high_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_high_limit_get", _wrap_smPortInfo_vl_high_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_high_cap_set", _wrap_smPortInfo_vl_arb_high_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_high_cap_get", _wrap_smPortInfo_vl_arb_high_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_low_cap_set", _wrap_smPortInfo_vl_arb_low_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_low_cap_get", _wrap_smPortInfo_vl_arb_low_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_cap_set", _wrap_smPortInfo_mtu_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_cap_get", _wrap_smPortInfo_mtu_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_stall_life_set", _wrap_smPortInfo_vl_stall_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_stall_life_get", _wrap_smPortInfo_vl_stall_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_enforce_set", _wrap_smPortInfo_vl_enforce_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_enforce_get", _wrap_smPortInfo_vl_enforce_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_violations_set", _wrap_smPortInfo_m_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_violations_get", _wrap_smPortInfo_m_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_p_key_violations_set", _wrap_smPortInfo_p_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_p_key_violations_get", _wrap_smPortInfo_p_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_q_key_violations_set", _wrap_smPortInfo_q_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_q_key_violations_get", _wrap_smPortInfo_q_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_guid_cap_set", _wrap_smPortInfo_guid_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_guid_cap_get", _wrap_smPortInfo_guid_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_timeout_set", _wrap_smPortInfo_subnet_timeout_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_timeout_get", _wrap_smPortInfo_subnet_timeout_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_resp_time_value_set", _wrap_smPortInfo_resp_time_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_resp_time_value_get", _wrap_smPortInfo_resp_time_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_error_threshold_set", _wrap_smPortInfo_error_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_error_threshold_get", _wrap_smPortInfo_error_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_getByDr", _wrap_smPortInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_setByDr", _wrap_smPortInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_getByLid", _wrap_smPortInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_setByLid", _wrap_smPortInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smPortInfo",TclsmPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_cap_set", _wrap_smSwInfo_lin_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_cap_get", _wrap_smSwInfo_lin_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_rand_cap_set", _wrap_smSwInfo_rand_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_rand_cap_get", _wrap_smSwInfo_rand_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_mcast_cap_set", _wrap_smSwInfo_mcast_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_mcast_cap_get", _wrap_smSwInfo_mcast_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_top_set", _wrap_smSwInfo_lin_top_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_top_get", _wrap_smSwInfo_lin_top_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_port_set", _wrap_smSwInfo_def_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_port_get", _wrap_smSwInfo_def_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_pri_port_set", _wrap_smSwInfo_def_mcast_pri_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_pri_port_get", _wrap_smSwInfo_def_mcast_pri_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_not_port_set", _wrap_smSwInfo_def_mcast_not_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_not_port_get", _wrap_smSwInfo_def_mcast_not_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_life_state_set", _wrap_smSwInfo_life_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_life_state_get", _wrap_smSwInfo_life_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lids_per_port_set", _wrap_smSwInfo_lids_per_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lids_per_port_get", _wrap_smSwInfo_lids_per_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_enforce_cap_set", _wrap_smSwInfo_enforce_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_enforce_cap_get", _wrap_smSwInfo_enforce_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_flags_set", _wrap_smSwInfo_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_flags_get", _wrap_smSwInfo_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_getByDr", _wrap_smSwInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_setByDr", _wrap_smSwInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_getByLid", _wrap_smSwInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_setByLid", _wrap_smSwInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSwInfo",TclsmSwInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_lft_set", _wrap_smLftBlock_lft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_lft_get", _wrap_smLftBlock_lft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_getByDr", _wrap_smLftBlock_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_setByDr", _wrap_smLftBlock_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_getByLid", _wrap_smLftBlock_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_setByLid", _wrap_smLftBlock_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smLftBlock",TclsmLftBlockCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_mft_set", _wrap_smMftBlock_mft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_mft_get", _wrap_smMftBlock_mft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_getByDr", _wrap_smMftBlock_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_setByDr", _wrap_smMftBlock_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_getByLid", _wrap_smMftBlock_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_setByLid", _wrap_smMftBlock_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smMftBlock",TclsmMftBlockCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_guid_set", _wrap_smGuidInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_guid_get", _wrap_smGuidInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_getByDr", _wrap_smGuidInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_setByDr", _wrap_smGuidInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_getByLid", _wrap_smGuidInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_setByLid", _wrap_smGuidInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smGuidInfo",TclsmGuidInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_pkey_entry_set", _wrap_smPkeyTable_pkey_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_pkey_entry_get", _wrap_smPkeyTable_pkey_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_getByDr", _wrap_smPkeyTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_setByDr", _wrap_smPkeyTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_getByLid", _wrap_smPkeyTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_setByLid", _wrap_smPkeyTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smPkeyTable",TclsmPkeyTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_raw_vl_by_sl_set", _wrap_smSlVlTable_raw_vl_by_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_raw_vl_by_sl_get", _wrap_smSlVlTable_raw_vl_by_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_getByDr", _wrap_smSlVlTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_setByDr", _wrap_smSlVlTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_getByLid", _wrap_smSlVlTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_setByLid", _wrap_smSlVlTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSlVlTable",TclsmSlVlTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_vl_entry_set", _wrap_smVlArbTable_vl_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_vl_entry_get", _wrap_smVlArbTable_vl_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_getByDr", _wrap_smVlArbTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_setByDr", _wrap_smVlArbTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_getByLid", _wrap_smVlArbTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_setByLid", _wrap_smVlArbTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smVlArbTable",TclsmVlArbTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_description_set", _wrap_smNodeDesc_description_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_description_get", _wrap_smNodeDesc_description_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_getByDr", _wrap_smNodeDesc_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_setByDr", _wrap_smNodeDesc_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_getByLid", _wrap_smNodeDesc_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_setByLid", _wrap_smNodeDesc_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNodeDesc",TclsmNodeDescCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_guid_set", _wrap_smSMInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_guid_get", _wrap_smSMInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_sm_key_set", _wrap_smSMInfo_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_sm_key_get", _wrap_smSMInfo_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_act_count_set", _wrap_smSMInfo_act_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_act_count_get", _wrap_smSMInfo_act_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_pri_state_set", _wrap_smSMInfo_pri_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_pri_state_get", _wrap_smSMInfo_pri_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_getByDr", _wrap_smSMInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_setByDr", _wrap_smSMInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_getByLid", _wrap_smSMInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_setByLid", _wrap_smSMInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSMInfo",TclsmSMInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_generic_type_set", _wrap_smNotice_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_generic_type_get", _wrap_smNotice_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_lid_set", _wrap_smNotice_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_lid_get", _wrap_smNotice_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_toggle_count_set", _wrap_smNotice_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_toggle_count_get", _wrap_smNotice_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_gid_set", _wrap_smNotice_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_gid_get", _wrap_smNotice_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_get", _wrap_smNotice_g_or_v_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_get", _wrap_smNotice_data_details_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_trapByDr", _wrap_smNotice_trapByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_trapByLid", _wrap_smNotice_trapByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice",TclsmNoticeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_get", _wrap_smNotice_g_or_v_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_get", _wrap_smNotice_g_or_v_vend_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v",TclsmNotice_g_or_vCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_get", _wrap_smNotice_data_details_raw_data_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_get", _wrap_smNotice_data_details_ntc_64_67_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_get", _wrap_smNotice_data_details_ntc_128_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_get", _wrap_smNotice_data_details_ntc_129_131_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_get", _wrap_smNotice_data_details_ntc_144_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_get", _wrap_smNotice_data_details_ntc_145_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_get", _wrap_smNotice_data_details_ntc_256_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_get", _wrap_smNotice_data_details_ntc_257_258_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_get", _wrap_smNotice_data_details_ntc_259_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details",TclsmNotice_data_detailsCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_msb_set", _wrap_smNotice_g_or_v_generic_prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_msb_get", _wrap_smNotice_g_or_v_generic_prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_lsb_set", _wrap_smNotice_g_or_v_generic_prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_lsb_get", _wrap_smNotice_g_or_v_generic_prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_trap_num_set", _wrap_smNotice_g_or_v_generic_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_trap_num_get", _wrap_smNotice_g_or_v_generic_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v_generic",TclsmNotice_g_or_v_genericCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_msb_set", _wrap_smNotice_g_or_v_vend_vend_id_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_msb_get", _wrap_smNotice_g_or_v_vend_vend_id_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_lsb_set", _wrap_smNotice_g_or_v_vend_vend_id_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_lsb_get", _wrap_smNotice_g_or_v_vend_vend_id_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_dev_id_set", _wrap_smNotice_g_or_v_vend_dev_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_dev_id_get", _wrap_smNotice_g_or_v_vend_dev_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v_vend",TclsmNotice_g_or_v_vendCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_details_set", _wrap_smNotice_data_details_raw_data_details_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_details_get", _wrap_smNotice_data_details_raw_data_details_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_raw_data",TclsmNotice_data_details_raw_dataCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_res_set", _wrap_smNotice_data_details_ntc_64_67_res_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_res_get", _wrap_smNotice_data_details_ntc_64_67_res_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_gid_set", _wrap_smNotice_data_details_ntc_64_67_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_gid_get", _wrap_smNotice_data_details_ntc_64_67_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_64_67",TclsmNotice_data_details_ntc_64_67Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_sw_lid_set", _wrap_smNotice_data_details_ntc_128_sw_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_sw_lid_get", _wrap_smNotice_data_details_ntc_128_sw_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_128",TclsmNotice_data_details_ntc_128Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_pad_set", _wrap_smNotice_data_details_ntc_129_131_pad_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_pad_get", _wrap_smNotice_data_details_ntc_129_131_pad_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_lid_set", _wrap_smNotice_data_details_ntc_129_131_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_lid_get", _wrap_smNotice_data_details_ntc_129_131_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_port_num_set", _wrap_smNotice_data_details_ntc_129_131_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_port_num_get", _wrap_smNotice_data_details_ntc_129_131_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_129_131",TclsmNotice_data_details_ntc_129_131Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad1_set", _wrap_smNotice_data_details_ntc_144_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad1_get", _wrap_smNotice_data_details_ntc_144_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_lid_set", _wrap_smNotice_data_details_ntc_144_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_lid_get", _wrap_smNotice_data_details_ntc_144_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad2_set", _wrap_smNotice_data_details_ntc_144_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad2_get", _wrap_smNotice_data_details_ntc_144_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_new_cap_mask_set", _wrap_smNotice_data_details_ntc_144_new_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_new_cap_mask_get", _wrap_smNotice_data_details_ntc_144_new_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_144",TclsmNotice_data_details_ntc_144Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad1_set", _wrap_smNotice_data_details_ntc_145_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad1_get", _wrap_smNotice_data_details_ntc_145_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_lid_set", _wrap_smNotice_data_details_ntc_145_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_lid_get", _wrap_smNotice_data_details_ntc_145_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad2_set", _wrap_smNotice_data_details_ntc_145_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad2_get", _wrap_smNotice_data_details_ntc_145_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_new_sys_guid_set", _wrap_smNotice_data_details_ntc_145_new_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_new_sys_guid_get", _wrap_smNotice_data_details_ntc_145_new_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_145",TclsmNotice_data_details_ntc_145Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad1_set", _wrap_smNotice_data_details_ntc_256_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad1_get", _wrap_smNotice_data_details_ntc_256_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_lid_set", _wrap_smNotice_data_details_ntc_256_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_lid_get", _wrap_smNotice_data_details_ntc_256_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad2_set", _wrap_smNotice_data_details_ntc_256_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad2_get", _wrap_smNotice_data_details_ntc_256_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_method_set", _wrap_smNotice_data_details_ntc_256_method_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_method_get", _wrap_smNotice_data_details_ntc_256_method_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad3_set", _wrap_smNotice_data_details_ntc_256_pad3_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad3_get", _wrap_smNotice_data_details_ntc_256_pad3_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_id_set", _wrap_smNotice_data_details_ntc_256_attr_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_id_get", _wrap_smNotice_data_details_ntc_256_attr_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_mod_set", _wrap_smNotice_data_details_ntc_256_attr_mod_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_mod_get", _wrap_smNotice_data_details_ntc_256_attr_mod_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_mkey_set", _wrap_smNotice_data_details_ntc_256_mkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_mkey_get", _wrap_smNotice_data_details_ntc_256_mkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_slid_set", _wrap_smNotice_data_details_ntc_256_dr_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_slid_get", _wrap_smNotice_data_details_ntc_256_dr_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_trunc_hop_set", _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_trunc_hop_get", _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_rtn_path_set", _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_rtn_path_get", _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_256",TclsmNotice_data_details_ntc_256Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_pad1_set", _wrap_smNotice_data_details_ntc_257_258_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_pad1_get", _wrap_smNotice_data_details_ntc_257_258_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid1_set", _wrap_smNotice_data_details_ntc_257_258_lid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid1_get", _wrap_smNotice_data_details_ntc_257_258_lid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid2_set", _wrap_smNotice_data_details_ntc_257_258_lid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid2_get", _wrap_smNotice_data_details_ntc_257_258_lid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_key_set", _wrap_smNotice_data_details_ntc_257_258_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_key_get", _wrap_smNotice_data_details_ntc_257_258_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_sl_set", _wrap_smNotice_data_details_ntc_257_258_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_sl_get", _wrap_smNotice_data_details_ntc_257_258_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp1_set", _wrap_smNotice_data_details_ntc_257_258_qp1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp1_get", _wrap_smNotice_data_details_ntc_257_258_qp1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp2_set", _wrap_smNotice_data_details_ntc_257_258_qp2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp2_get", _wrap_smNotice_data_details_ntc_257_258_qp2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid1_set", _wrap_smNotice_data_details_ntc_257_258_gid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid1_get", _wrap_smNotice_data_details_ntc_257_258_gid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid2_set", _wrap_smNotice_data_details_ntc_257_258_gid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid2_get", _wrap_smNotice_data_details_ntc_257_258_gid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_257_258",TclsmNotice_data_details_ntc_257_258Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_data_valid_set", _wrap_smNotice_data_details_ntc_259_data_valid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_data_valid_get", _wrap_smNotice_data_details_ntc_259_data_valid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid1_set", _wrap_smNotice_data_details_ntc_259_lid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid1_get", _wrap_smNotice_data_details_ntc_259_lid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid2_set", _wrap_smNotice_data_details_ntc_259_lid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid2_get", _wrap_smNotice_data_details_ntc_259_lid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_key_set", _wrap_smNotice_data_details_ntc_259_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_key_get", _wrap_smNotice_data_details_ntc_259_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sl_set", _wrap_smNotice_data_details_ntc_259_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sl_get", _wrap_smNotice_data_details_ntc_259_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp1_set", _wrap_smNotice_data_details_ntc_259_qp1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp1_get", _wrap_smNotice_data_details_ntc_259_qp1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_msb_set", _wrap_smNotice_data_details_ntc_259_qp2_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_msb_get", _wrap_smNotice_data_details_ntc_259_qp2_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_lsb_set", _wrap_smNotice_data_details_ntc_259_qp2_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_lsb_get", _wrap_smNotice_data_details_ntc_259_qp2_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid1_set", _wrap_smNotice_data_details_ntc_259_gid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid1_get", _wrap_smNotice_data_details_ntc_259_gid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid2_set", _wrap_smNotice_data_details_ntc_259_gid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid2_get", _wrap_smNotice_data_details_ntc_259_gid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sw_lid_set", _wrap_smNotice_data_details_ntc_259_sw_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sw_lid_get", _wrap_smNotice_data_details_ntc_259_sw_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_port_no_set", _wrap_smNotice_data_details_ntc_259_port_no_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_port_no_get", _wrap_smNotice_data_details_ntc_259_port_no_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_259",TclsmNotice_data_details_ntc_259Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_base_ver_set", _wrap_ccClassPortInfo_base_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_base_ver_get", _wrap_ccClassPortInfo_base_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_class_ver_set", _wrap_ccClassPortInfo_class_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_class_ver_get", _wrap_ccClassPortInfo_class_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask_set", _wrap_ccClassPortInfo_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask_get", _wrap_ccClassPortInfo_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask2_resp_time_set", _wrap_ccClassPortInfo_cap_mask2_resp_time_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask2_resp_time_get", _wrap_ccClassPortInfo_cap_mask2_resp_time_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_gid_set", _wrap_ccClassPortInfo_redir_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_gid_get", _wrap_ccClassPortInfo_redir_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_tc_sl_fl_set", _wrap_ccClassPortInfo_redir_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_tc_sl_fl_get", _wrap_ccClassPortInfo_redir_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_lid_set", _wrap_ccClassPortInfo_redir_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_lid_get", _wrap_ccClassPortInfo_redir_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_pkey_set", _wrap_ccClassPortInfo_redir_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_pkey_get", _wrap_ccClassPortInfo_redir_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qp_set", _wrap_ccClassPortInfo_redir_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qp_get", _wrap_ccClassPortInfo_redir_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qkey_set", _wrap_ccClassPortInfo_redir_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qkey_get", _wrap_ccClassPortInfo_redir_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_gid_set", _wrap_ccClassPortInfo_trap_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_gid_get", _wrap_ccClassPortInfo_trap_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_tc_sl_fl_set", _wrap_ccClassPortInfo_trap_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_tc_sl_fl_get", _wrap_ccClassPortInfo_trap_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_lid_set", _wrap_ccClassPortInfo_trap_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_lid_get", _wrap_ccClassPortInfo_trap_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_pkey_set", _wrap_ccClassPortInfo_trap_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_pkey_get", _wrap_ccClassPortInfo_trap_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_hop_qp_set", _wrap_ccClassPortInfo_trap_hop_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_hop_qp_get", _wrap_ccClassPortInfo_trap_hop_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_qkey_set", _wrap_ccClassPortInfo_trap_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_qkey_get", _wrap_ccClassPortInfo_trap_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_getByLid", _wrap_ccClassPortInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_setByLid", _wrap_ccClassPortInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccClassPortInfo",TclccClassPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic_type_set", _wrap_ccNotice_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic_type_get", _wrap_ccNotice_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_msb_set", _wrap_ccNotice_generic__prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_msb_get", _wrap_ccNotice_generic__prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_lsb_set", _wrap_ccNotice_generic__prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_lsb_get", _wrap_ccNotice_generic__prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__trap_num_set", _wrap_ccNotice_generic__trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__trap_num_get", _wrap_ccNotice_generic__trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_lid_set", _wrap_ccNotice_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_lid_get", _wrap_ccNotice_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_toggle_count_set", _wrap_ccNotice_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_toggle_count_get", _wrap_ccNotice_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_lid_set", _wrap_ccNotice_ntc0__source_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_lid_get", _wrap_ccNotice_ntc0__source_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__method_set", _wrap_ccNotice_ntc0__method_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__method_get", _wrap_ccNotice_ntc0__method_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv0_set", _wrap_ccNotice_ntc0__resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv0_get", _wrap_ccNotice_ntc0__resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_id_set", _wrap_ccNotice_ntc0__attr_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_id_get", _wrap_ccNotice_ntc0__attr_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv1_set", _wrap_ccNotice_ntc0__resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv1_get", _wrap_ccNotice_ntc0__resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_mod_set", _wrap_ccNotice_ntc0__attr_mod_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_mod_get", _wrap_ccNotice_ntc0__attr_mod_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__qp_set", _wrap_ccNotice_ntc0__qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__qp_get", _wrap_ccNotice_ntc0__qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__cc_key_set", _wrap_ccNotice_ntc0__cc_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__cc_key_get", _wrap_ccNotice_ntc0__cc_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_gid_set", _wrap_ccNotice_ntc0__source_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_gid_get", _wrap_ccNotice_ntc0__source_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__padding_set", _wrap_ccNotice_ntc0__padding_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__padding_get", _wrap_ccNotice_ntc0__padding_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_gid_set", _wrap_ccNotice_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_gid_get", _wrap_ccNotice_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_trapByLid", _wrap_ccNotice_trapByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccNotice",TclccNoticeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_cong_info_set", _wrap_ccCongestionInfo_cong_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_cong_info_get", _wrap_ccCongestionInfo_cong_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_resv_set", _wrap_ccCongestionInfo_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_resv_get", _wrap_ccCongestionInfo_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_ctrl_table_cap_set", _wrap_ccCongestionInfo_ctrl_table_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_ctrl_table_cap_get", _wrap_ccCongestionInfo_ctrl_table_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_getByLid", _wrap_ccCongestionInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCongestionInfo",TclccCongestionInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_cc_key_set", _wrap_ccCongestionKeyInfo_cc_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_cc_key_get", _wrap_ccCongestionKeyInfo_cc_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_protect_bit_set", _wrap_ccCongestionKeyInfo_protect_bit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_protect_bit_get", _wrap_ccCongestionKeyInfo_protect_bit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_lease_period_set", _wrap_ccCongestionKeyInfo_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_lease_period_get", _wrap_ccCongestionKeyInfo_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_violations_set", _wrap_ccCongestionKeyInfo_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_violations_get", _wrap_ccCongestionKeyInfo_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_getByLid", _wrap_ccCongestionKeyInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_setByLid", _wrap_ccCongestionKeyInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCongestionKeyInfo",TclccCongestionKeyInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_slid_set", _wrap_ib_cong_log_event_sw_t_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_slid_get", _wrap_ib_cong_log_event_sw_t_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_dlid_set", _wrap_ib_cong_log_event_sw_t_dlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_dlid_get", _wrap_ib_cong_log_event_sw_t_dlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_sl_set", _wrap_ib_cong_log_event_sw_t_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_sl_get", _wrap_ib_cong_log_event_sw_t_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_time_stamp_set", _wrap_ib_cong_log_event_sw_t_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_time_stamp_get", _wrap_ib_cong_log_event_sw_t_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cong_log_event_sw_t",Tclib_cong_log_event_sw_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_local_qp_resv0_set", _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_local_qp_resv0_get", _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_qp_sl_service_type_set", _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_qp_sl_service_type_get", _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_lid_set", _wrap_ib_cong_log_event_ca_t_remote_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_lid_get", _wrap_ib_cong_log_event_ca_t_remote_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_resv1_set", _wrap_ib_cong_log_event_ca_t_resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_resv1_get", _wrap_ib_cong_log_event_ca_t_resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_time_stamp_set", _wrap_ib_cong_log_event_ca_t_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_time_stamp_get", _wrap_ib_cong_log_event_ca_t_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cong_log_event_ca_t",Tclib_cong_log_event_ca_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_log_type_set", _wrap_ccSWCongestionLog_log_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_log_type_get", _wrap_ccSWCongestionLog_log_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_cong_flags_set", _wrap_ccSWCongestionLog_cong_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_cong_flags_get", _wrap_ccSWCongestionLog_cong_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_event_counter_set", _wrap_ccSWCongestionLog_event_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_event_counter_get", _wrap_ccSWCongestionLog_event_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_time_stamp_set", _wrap_ccSWCongestionLog_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_time_stamp_get", _wrap_ccSWCongestionLog_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_port_map_set", _wrap_ccSWCongestionLog_port_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_port_map_get", _wrap_ccSWCongestionLog_port_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_entry_list_set", _wrap_ccSWCongestionLog_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_entry_list_get", _wrap_ccSWCongestionLog_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_getByLid", _wrap_ccSWCongestionLog_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWCongestionLog",TclccSWCongestionLogCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_type_set", _wrap_ccCACongestionLog_log_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_type_get", _wrap_ccCACongestionLog_log_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_cong_flags_set", _wrap_ccCACongestionLog_cong_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_cong_flags_get", _wrap_ccCACongestionLog_cong_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_counter_set", _wrap_ccCACongestionLog_event_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_counter_get", _wrap_ccCACongestionLog_event_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_map_set", _wrap_ccCACongestionLog_event_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_map_get", _wrap_ccCACongestionLog_event_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_resv_set", _wrap_ccCACongestionLog_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_resv_get", _wrap_ccCACongestionLog_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_time_stamp_set", _wrap_ccCACongestionLog_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_time_stamp_get", _wrap_ccCACongestionLog_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_event_set", _wrap_ccCACongestionLog_log_event_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_event_get", _wrap_ccCACongestionLog_log_event_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_getByLid", _wrap_ccCACongestionLog_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCACongestionLog",TclccCACongestionLogCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_control_map_set", _wrap_ccSWCongestionSetting_control_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_control_map_get", _wrap_ccSWCongestionSetting_control_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_victim_mask_set", _wrap_ccSWCongestionSetting_victim_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_victim_mask_get", _wrap_ccSWCongestionSetting_victim_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_credit_mask_set", _wrap_ccSWCongestionSetting_credit_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_credit_mask_get", _wrap_ccSWCongestionSetting_credit_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_threshold_resv_set", _wrap_ccSWCongestionSetting_threshold_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_threshold_resv_get", _wrap_ccSWCongestionSetting_threshold_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_packet_size_set", _wrap_ccSWCongestionSetting_packet_size_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_packet_size_get", _wrap_ccSWCongestionSetting_packet_size_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_threshold_resv_set", _wrap_ccSWCongestionSetting_cs_threshold_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_threshold_resv_get", _wrap_ccSWCongestionSetting_cs_threshold_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_return_delay_set", _wrap_ccSWCongestionSetting_cs_return_delay_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_return_delay_get", _wrap_ccSWCongestionSetting_cs_return_delay_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_marking_rate_set", _wrap_ccSWCongestionSetting_marking_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_marking_rate_get", _wrap_ccSWCongestionSetting_marking_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_getByLid", _wrap_ccSWCongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_setByLid", _wrap_ccSWCongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWCongestionSetting",TclccSWCongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set", _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get", _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_packet_size_set", _wrap_ib_sw_port_cong_setting_element_t_packet_size_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_packet_size_get", _wrap_ib_sw_port_cong_setting_element_t_packet_size_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_cong_param_set", _wrap_ib_sw_port_cong_setting_element_t_cong_param_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_cong_param_get", _wrap_ib_sw_port_cong_setting_element_t_cong_param_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_sw_port_cong_setting_element_t",Tclib_sw_port_cong_setting_element_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_block_set", _wrap_ccSWPortCongestionSetting_block_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_block_get", _wrap_ccSWPortCongestionSetting_block_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_getByLid", _wrap_ccSWPortCongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_setByLid", _wrap_ccSWPortCongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWPortCongestionSetting",TclccSWPortCongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_timer_set", _wrap_ib_ca_cong_entry_t_ccti_timer_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_timer_get", _wrap_ib_ca_cong_entry_t_ccti_timer_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_increase_set", _wrap_ib_ca_cong_entry_t_ccti_increase_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_increase_get", _wrap_ib_ca_cong_entry_t_ccti_increase_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_trigger_threshold_set", _wrap_ib_ca_cong_entry_t_trigger_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_trigger_threshold_get", _wrap_ib_ca_cong_entry_t_trigger_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_min_set", _wrap_ib_ca_cong_entry_t_ccti_min_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_min_get", _wrap_ib_ca_cong_entry_t_ccti_min_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv0_set", _wrap_ib_ca_cong_entry_t_resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv0_get", _wrap_ib_ca_cong_entry_t_resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv1_set", _wrap_ib_ca_cong_entry_t_resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv1_get", _wrap_ib_ca_cong_entry_t_resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_ca_cong_entry_t",Tclib_ca_cong_entry_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_port_control_set", _wrap_ccCACongestionSetting_port_control_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_port_control_get", _wrap_ccCACongestionSetting_port_control_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_control_map_set", _wrap_ccCACongestionSetting_control_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_control_map_get", _wrap_ccCACongestionSetting_control_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_entry_list_set", _wrap_ccCACongestionSetting_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_entry_list_get", _wrap_ccCACongestionSetting_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_getByLid", _wrap_ccCACongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_setByLid", _wrap_ccCACongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCACongestionSetting",TclccCACongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cc_tbl_entry_t_shift_multiplier_set", _wrap_ib_cc_tbl_entry_t_shift_multiplier_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cc_tbl_entry_t_shift_multiplier_get", _wrap_ib_cc_tbl_entry_t_shift_multiplier_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cc_tbl_entry_t",Tclib_cc_tbl_entry_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_ccti_limit_set", _wrap_ccTable_ccti_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_ccti_limit_get", _wrap_ccTable_ccti_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_resv_set", _wrap_ccTable_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_resv_get", _wrap_ccTable_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_entry_list_set", _wrap_ccTable_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_entry_list_get", _wrap_ccTable_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_getByLid", _wrap_ccTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_setByLid", _wrap_ccTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccTable",TclccTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_value_set", _wrap_ccTimeStamp_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_value_get", _wrap_ccTimeStamp_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_getByLid", _wrap_ccTimeStamp_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccTimeStamp",TclccTimeStampCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_single_thread_set", _wrap_ibis_opt_t_single_thread_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_single_thread_get", _wrap_ibis_opt_t_single_thread_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_force_log_flush_set", _wrap_ibis_opt_t_force_log_flush_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_force_log_flush_get", _wrap_ibis_opt_t_force_log_flush_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_flags_set", _wrap_ibis_opt_t_log_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_flags_get", _wrap_ibis_opt_t_log_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_file_set", _wrap_ibis_opt_t_log_file_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_file_get", _wrap_ibis_opt_t_log_file_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_sm_key_set", _wrap_ibis_opt_t_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_sm_key_get", _wrap_ibis_opt_t_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_m_key_set", _wrap_ibis_opt_t_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_m_key_get", _wrap_ibis_opt_t_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_v_key_set", _wrap_ibis_opt_t_v_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_v_key_get", _wrap_ibis_opt_t_v_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ibis_opt_t",Tclibis_opt_tCmd, (ClientData) NULL, NULL);
+/*
+ * These are the pointer type-equivalency mappings.
+ * (Used by the SWIG pointer type-checker).
+ */
+	 SWIG_RegisterMapping("_struct__ibsm_sm_info","_smSMInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_sm_info","__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("__ibcc_class_port_info","_ccClassPortInfo",0);
+	 SWIG_RegisterMapping("__ibcc_class_port_info","_struct__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_struct__ibcc_notice","_ccNotice",0);
+	 SWIG_RegisterMapping("_struct__ibcc_notice","__ibcc_notice",0);
+	 SWIG_RegisterMapping("_signed_long","_long",0);
+	 SWIG_RegisterMapping("_struct__ibsm_vl_arb_table","_smVlArbTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_vl_arb_table","__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_ibis_opt_t","_struct__ibis_opt",0);
+	 SWIG_RegisterMapping("_ibis_opt_t","__ibis_opt",0);
+	 SWIG_RegisterMapping("_sacPortInfo","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_sacPortInfo","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table","_sacPKeyTbl",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table","__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_ccTimeStamp","_struct__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_ccTimeStamp","__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_sacNodeInfo","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_sacNodeInfo","__ib_node_info",0);
+	 SWIG_RegisterMapping("_struct__ib_portinfo_record","_sacPortRec",0);
+	 SWIG_RegisterMapping("_struct__ib_portinfo_record","__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("__ibcc_notice","_ccNotice",0);
+	 SWIG_RegisterMapping("__ibcc_notice","_struct__ibcc_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","_sacPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_ca","_ib_cong_log_event_ca_t",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_ca","__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","_sacSwInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_sacNodeRec","_struct__ib_node_record_t",0);
+	 SWIG_RegisterMapping("_sacNodeRec","__ib_node_record_t",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_sacSwInfo",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_mft_block","_smMftBlock",0);
+	 SWIG_RegisterMapping("_struct__ibsm_mft_block","__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_struct__ibcc_class_port_info","_ccClassPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibcc_class_port_info","__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("__ibsm_mft_block","_smMftBlock",0);
+	 SWIG_RegisterMapping("__ibsm_mft_block","_struct__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_sw_t","_struct__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_sw_t","__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_long","_unsigned_long",0);
+	 SWIG_RegisterMapping("_long","_signed_long",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_ca_t","_struct__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_ca_t","__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_sacSlVlTbl","_struct__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_sacSlVlTbl","__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_smNotice","_struct__ibsm_notice",0);
+	 SWIG_RegisterMapping("_smNotice","__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_setting","_ccSWCongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_setting","__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_struct__ibsm_port_info","_smPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_port_info","__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","_sacNodeInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","__ib_node_info",0);
+	 SWIG_RegisterMapping("__ibsm_port_info","_smPortInfo",0);
+	 SWIG_RegisterMapping("__ibsm_port_info","_struct__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_sm_info","_sacSmInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_sm_info","__ib_sm_info",0);
+	 SWIG_RegisterMapping("_sacLinkRec","_struct__ib_link_record",0);
+	 SWIG_RegisterMapping("_sacLinkRec","__ib_link_record",0);
+	 SWIG_RegisterMapping("_sacClassPortInfo","_struct__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("_sacClassPortInfo","__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("__ibsm_vl_arb_table","_smVlArbTable",0);
+	 SWIG_RegisterMapping("__ibsm_vl_arb_table","_struct__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_sacPKeyTbl","_struct__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_sacPKeyTbl","__ib_pkey_table",0);
+	 SWIG_RegisterMapping("__ib_portinfo_record","_sacPortRec",0);
+	 SWIG_RegisterMapping("__ib_portinfo_record","_struct__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("__ib_node_record_t","_sacNodeRec",0);
+	 SWIG_RegisterMapping("__ib_node_record_t","_struct__ib_node_record_t",0);
+	 SWIG_RegisterMapping("_smVlArbTable","_struct__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_smVlArbTable","__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_info","_smNodeInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_info","__ibsm_node_info",0);
+	 SWIG_RegisterMapping("__ibsm_switch_info","_smSwInfo",0);
+	 SWIG_RegisterMapping("__ibsm_switch_info","_struct__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("__ibsm_node_info","_smNodeInfo",0);
+	 SWIG_RegisterMapping("__ibsm_node_info","_struct__ibsm_node_info",0);
+	 SWIG_RegisterMapping("_ccSWCongestionSetting","_struct__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_ccSWCongestionSetting","__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_member_rec","_sacMCMRec",0);
+	 SWIG_RegisterMapping("__ib_member_rec","_struct__ib_member_rec",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting","_ccSWPortCongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting","_struct__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ibis_opt","_ibis_opt_t",0);
+	 SWIG_RegisterMapping("__ibis_opt","_struct__ibis_opt",0);
+	 SWIG_RegisterMapping("_struct__ib_time_stamp","_ccTimeStamp",0);
+	 SWIG_RegisterMapping("_struct__ib_time_stamp","__ib_time_stamp",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_setting","_ccSWCongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_setting","_struct__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_sacServiceRec","_struct__ib_service_record",0);
+	 SWIG_RegisterMapping("_sacServiceRec","__ib_service_record",0);
+	 SWIG_RegisterMapping("_ib_cc_tbl_entry_t","_struct__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_ib_cc_tbl_entry_t","__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_log","_ccSWCongestionLog",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_log","__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_log","_ccSWCongestionLog",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_log","_struct__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("_struct__ib_path_rec","_sacPathRec",0);
+	 SWIG_RegisterMapping("_struct__ib_path_rec","__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_log","_ccCACongestionLog",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_log","__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("__ib_cong_key_info","_ccCongestionKeyInfo",0);
+	 SWIG_RegisterMapping("__ib_cong_key_info","_struct__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_log","_ccCACongestionLog",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_log","_struct__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_struct__ibsac_class_port_info","_sacClassPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsac_class_port_info","__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_desc","_smNodeDesc",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_desc","__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting_element","_ib_sw_port_cong_setting_element_t",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting_element","__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_sacSmInfo","_struct__ib_sm_info",0);
+	 SWIG_RegisterMapping("_sacSmInfo","__ib_sm_info",0);
+	 SWIG_RegisterMapping("__ibsm_node_desc","_smNodeDesc",0);
+	 SWIG_RegisterMapping("__ibsm_node_desc","_struct__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("__ibsac_class_port_info","_sacClassPortInfo",0);
+	 SWIG_RegisterMapping("__ibsac_class_port_info","_struct__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_sw","_ib_cong_log_event_sw_t",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_sw","_struct__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_ccCongestionKeyInfo","_struct__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("_ccCongestionKeyInfo","__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("__ib_path_rec","_sacPathRec",0);
+	 SWIG_RegisterMapping("__ib_path_rec","_struct__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_setting","_ccCACongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_setting","__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_cong_info","_ccCongestionInfo",0);
+	 SWIG_RegisterMapping("__ib_cong_info","_struct__ib_cong_info",0);
+	 SWIG_RegisterMapping("__ib_slvl_table","_sacSlVlTbl",0);
+	 SWIG_RegisterMapping("__ib_slvl_table","_struct__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_unsigned_long","_long",0);
+	 SWIG_RegisterMapping("_smPkeyTable","_struct__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_smPkeyTable","__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","_sacLFTRec",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_struct__ibcc_tbl_entry","_ib_cc_tbl_entry_t",0);
+	 SWIG_RegisterMapping("_struct__ibcc_tbl_entry","__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_sacPathRec","_struct__ib_path_rec",0);
+	 SWIG_RegisterMapping("_sacPathRec","__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_sw","_ib_cong_log_event_sw_t",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_sw","__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("__ibcc_tbl_entry","_ib_cc_tbl_entry_t",0);
+	 SWIG_RegisterMapping("__ibcc_tbl_entry","_struct__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_smPortInfo","_struct__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_smPortInfo","__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_smNodeInfo","_struct__ibsm_node_info",0);
+	 SWIG_RegisterMapping("_smNodeInfo","__ibsm_node_info",0);
+	 SWIG_RegisterMapping("__ib_pkey_table","_sacPKeyTbl",0);
+	 SWIG_RegisterMapping("__ib_pkey_table","_struct__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_signed_int","_int",0);
+	 SWIG_RegisterMapping("_struct__ibsm_guid_info","_smGuidInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_guid_info","__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_ccSWCongestionLog","_struct__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("_ccSWCongestionLog","__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("__ibsm_guid_info","_smGuidInfo",0);
+	 SWIG_RegisterMapping("__ibsm_guid_info","_struct__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_struct__ib_node_record_t","_sacNodeRec",0);
+	 SWIG_RegisterMapping("_struct__ib_node_record_t","__ib_node_record_t",0);
+	 SWIG_RegisterMapping("__ib_slvl_table_record","_sacSlVlRec",0);
+	 SWIG_RegisterMapping("__ib_slvl_table_record","_struct__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_ccClassPortInfo","_struct__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_ccClassPortInfo","__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_ccCACongestionSetting","_struct__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_ccCACongestionSetting","__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_sacInformInfo","_struct__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_sacInformInfo","__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_switch_info","_smSwInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_switch_info","__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_setting","_ccCACongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_setting","_struct__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_unsigned_short","_short",0);
+	 SWIG_RegisterMapping("_smSwInfo","_struct__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("_smSwInfo","__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ib_service_record","_sacServiceRec",0);
+	 SWIG_RegisterMapping("_struct__ib_service_record","__ib_service_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_notice","_smNotice",0);
+	 SWIG_RegisterMapping("_struct__ibsm_notice","__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ibsm_slvl_table","_smSlVlTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_slvl_table","__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("__ibsm_sm_info","_smSMInfo",0);
+	 SWIG_RegisterMapping("__ibsm_sm_info","_struct__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_smNodeDesc","_struct__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_smNodeDesc","__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_signed_short","_short",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table_record","_sacSlVlRec",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table_record","__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_smGuidInfo","_struct__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_smGuidInfo","__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("__ib_pkey_table_record","_sacPKeyRec",0);
+	 SWIG_RegisterMapping("__ib_pkey_table_record","_struct__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("__ib_sminfo_record","_sacSmRec",0);
+	 SWIG_RegisterMapping("__ib_sminfo_record","_struct__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_entry","_ib_ca_cong_entry_t",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_entry","_struct__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_sacPortRec","_struct__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("_sacPortRec","__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_pkey_table","_smPkeyTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_pkey_table","__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("__ibsm_notice","_smNotice",0);
+	 SWIG_RegisterMapping("__ibsm_notice","_struct__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_key_info","_ccCongestionKeyInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_key_info","__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("_unsigned_int","_int",0);
+	 SWIG_RegisterMapping("__ibsm_slvl_table","_smSlVlTable",0);
+	 SWIG_RegisterMapping("__ibsm_slvl_table","_struct__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("_short","_unsigned_short",0);
+	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("__ib_port_info","_sacPortInfo",0);
+	 SWIG_RegisterMapping("__ib_port_info","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_ccCongestionInfo","_struct__ib_cong_info",0);
+	 SWIG_RegisterMapping("_ccCongestionInfo","__ib_cong_info",0);
+	 SWIG_RegisterMapping("_sacSmRec","_struct__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("_sacSmRec","__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_service_record","_sacServiceRec",0);
+	 SWIG_RegisterMapping("__ib_service_record","_struct__ib_service_record",0);
+	 SWIG_RegisterMapping("_sacSwInfo","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_sacSwInfo","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ibsac_inform_info","_sacInformInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsac_inform_info","__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_struct__ib_vl_arb_table_record","_sacVlArbRec",0);
+	 SWIG_RegisterMapping("_struct__ib_vl_arb_table_record","__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_ccSWPortCongestionSetting","_struct__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("_ccSWPortCongestionSetting","__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_time_stamp","_ccTimeStamp",0);
+	 SWIG_RegisterMapping("__ib_time_stamp","_struct__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_sacMCMRec","_struct__ib_member_rec",0);
+	 SWIG_RegisterMapping("_sacMCMRec","__ib_member_rec",0);
+	 SWIG_RegisterMapping("_struct__ibis_opt","_ibis_opt_t",0);
+	 SWIG_RegisterMapping("_struct__ibis_opt","__ibis_opt",0);
+	 SWIG_RegisterMapping("__ib_sm_info","_sacSmInfo",0);
+	 SWIG_RegisterMapping("__ib_sm_info","_struct__ib_sm_info",0);
+	 SWIG_RegisterMapping("__ibsm_pkey_table","_smPkeyTable",0);
+	 SWIG_RegisterMapping("__ibsm_pkey_table","_struct__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_int","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_signed_int",0);
+	 SWIG_RegisterMapping("_ib_ca_cong_entry_t","_struct__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_ib_ca_cong_entry_t","__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table_record","_sacPKeyRec",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table_record","__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("__ib_node_info","_sacNodeInfo",0);
+	 SWIG_RegisterMapping("__ib_node_info","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_ccCACongestionLog","_struct__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_ccCACongestionLog","__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_sacLFTRec","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_sacLFTRec","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_struct__ib_member_rec","_sacMCMRec",0);
+	 SWIG_RegisterMapping("_struct__ib_member_rec","__ib_member_rec",0);
+	 SWIG_RegisterMapping("__ib_cc_tbl","_ccTable",0);
+	 SWIG_RegisterMapping("__ib_cc_tbl","_struct__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_info","_ccCongestionInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_info","__ib_cong_info",0);
+	 SWIG_RegisterMapping("__ibsac_inform_info","_sacInformInfo",0);
+	 SWIG_RegisterMapping("__ibsac_inform_info","_struct__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_ccTable","_struct__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_ccTable","__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info_record","_sacSwRec",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info_record","__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_sacVlArbRec","_struct__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_sacVlArbRec","__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_smSlVlTable","_struct__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("_smSlVlTable","__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("__ib_switch_info_record","_sacSwRec",0);
+	 SWIG_RegisterMapping("__ib_switch_info_record","_struct__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("__ib_vl_arb_table_record","_sacVlArbRec",0);
+	 SWIG_RegisterMapping("__ib_vl_arb_table_record","_struct__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting_element","_ib_sw_port_cong_setting_element_t",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting_element","_struct__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting","_ccSWPortCongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting","__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_sacLFTRec",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_smSMInfo","_struct__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_smSMInfo","__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_sacSlVlRec","_struct__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_sacSlVlRec","__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_smLftBlock","_struct__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_smLftBlock","__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_smMftBlock","_struct__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_smMftBlock","__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_sacSwRec","_struct__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_sacSwRec","__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_struct__ib_cc_tbl","_ccTable",0);
+	 SWIG_RegisterMapping("_struct__ib_cc_tbl","__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_link_record","_sacLinkRec",0);
+	 SWIG_RegisterMapping("_struct__ib_link_record","__ib_link_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_lft_block","_smLftBlock",0);
+	 SWIG_RegisterMapping("_struct__ibsm_lft_block","__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_ccNotice","_struct__ibcc_notice",0);
+	 SWIG_RegisterMapping("_ccNotice","__ibcc_notice",0);
+	 SWIG_RegisterMapping("_ib_sw_port_cong_setting_element_t","_struct__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_ib_sw_port_cong_setting_element_t","__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_struct__ib_sminfo_record","_sacSmRec",0);
+	 SWIG_RegisterMapping("_struct__ib_sminfo_record","__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_link_record","_sacLinkRec",0);
+	 SWIG_RegisterMapping("__ib_link_record","_struct__ib_link_record",0);
+	 SWIG_RegisterMapping("__ibsm_lft_block","_smLftBlock",0);
+	 SWIG_RegisterMapping("__ibsm_lft_block","_struct__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_ca","_ib_cong_log_event_ca_t",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_ca","_struct__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_entry","_ib_ca_cong_entry_t",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_entry","__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_sacPKeyRec","_struct__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("_sacPKeyRec","__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table","_sacSlVlTbl",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table","__ib_slvl_table",0);
+	 return TCL_OK;
+}
diff --git a/ibis/src/ibissh_wrap.cpp b/ibis/src/ibissh_wrap.cpp
new file mode 100644
index 0000000..017c7b3
--- /dev/null
+++ b/ibis/src/ibissh_wrap.cpp
@@ -0,0 +1,75234 @@
+/*
+ * FILE : swig_wrap.c
+ *
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 5)
+ *
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ *
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : TCL 8.0 */
+
+#define INCLUDE_TCL    <tcl.h>
+#define INCLUDE_TK     <tk.h>
+#include INCLUDE_TCL
+#include <string.h>
+#include <stdlib.h>
+#define SWIGTCL
+#define SWIGTCL8
+/*
+ * $Header: /b2/dmb/SWIG/SWIG1.0b3/swig_lib/tcl/RCS/swigtcl.cfg,v 1.1 1996/05/22 19:47:45 beazley Exp $
+ *
+ * swigtcl.cfg
+ *
+ * This file is modified from a platform independent file provided
+ * by Sun.   With any luck this will allow SWIG generated wrapper
+ * files to work on Unix, Windows, and Macintosh.
+ *
+ * Revision History
+ * $Log: swigtcl.cfg,v $
+ * Revision 1.1  1996/05/22 19:47:45  beazley
+ * Initial revision
+ *
+ *
+ * -- Dave Beazley, May 2, 1996.
+ *
+ *	This file is an example of a Tcl dynamically loadable extension.
+ *
+ * Copyright (c) 1996 by Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#if defined(__WIN32__)
+#   define WIN32_LEAN_AND_MEAN
+#   include <windows.h>
+#   undef WIN32_LEAN_AND_MEAN
+
+/*
+ * VC++ has an alternate entry point called DllMain, so we need to rename
+ * our entry point.
+ */
+
+#   if defined(_MSC_VER)
+#	define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#	define DllEntryPoint DllMain
+#   else
+#	if defined(__BORLANDC__)
+#	    define SWIGEXPORT(a,b) a _export b
+#	else
+#	    define SWIGEXPORT(a,b) a b
+#	endif
+#   endif
+#else
+#   define SWIGEXPORT(a,b) a b
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllEntryPoint --
+ *
+ *	This wrapper function is used by Windows to invoke the
+ *	initialization code for the DLL.  If we are compiling
+ *	with Visual C++, this routine will be renamed to DllMain.
+ *	routine.
+ *
+ * Results:
+ *	Returns TRUE;
+ *
+ * Side effects:
+ *	None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+#ifdef __WIN32__
+BOOL APIENTRY
+DllEntryPoint(HINSTANCE hInst, DWORD reason, LPVOID reserved)
+{
+    return TRUE;
+}
+#endif
+
+/**************************************************************************
+ * $Header:$
+ *
+ * tcl8ptr.swg
+ *
+ * This file provides type-checked pointer support to Tcl 8.0.
+ * Pointers are installed as new kinds of Tcl 8.0 objects consisting
+ * of the following structure
+ *
+ * typedef struct {
+ *         char     *name;            Name of the datatype
+ *         void     *value;           Value of the pointer
+ * } Tcl_SwigPtr;
+ *
+ * While we still need to perform string comparisons on the
+ * type-name, this function no longer needs to convert pointer
+ * values to hex so it should be a little faster.
+ *
+ * New Tcl datatypes are defined by the following data structure.
+ *
+ * typedef struct Tcl_ObjType {
+ *              char *name;
+ *              Tcl_FreeInternalRepProc *freeIntRepProc;
+ *              Tcl_DupInternalRepProc *dupIntRepProc;
+ *              Tcl_UpdateStringProc *updateStringProc;
+ *              Tcl_SetFromAnyProc *setFromAnyProc;
+ *             } Tcl_ObjType;
+ *
+ * Functions for manipulating SWIG pointers in wrapper code are:
+ *
+ *     void *SWIG_SetPointerObj(objPtr, ptr, type)
+ *     char *SWIG_GetPointerFromObj(objPtr, *ptr, type)
+ *
+ **********************************************************************/
+
+#ifdef SWIG_GLOBAL
+#include <tcl.h>
+#ifdef __cplusplus
+#define SWIGSTATIC extern "C"
+#else
+#define SWIGSTATIC
+#endif
+#endif
+
+#ifndef SWIGSTATIC
+#define SWIGSTATIC static
+#endif
+
+/* These are internal variables.   Should be static */
+
+typedef struct SwigPtrType {
+  char               *name;
+  int                 len;
+  void               *(*cast)(void *);
+  struct SwigPtrType *next;
+} SwigPtrType;
+
+/* Pointer cache structure */
+
+typedef struct {
+  int                 stat;               /* Status (valid) bit             */
+  SwigPtrType        *tp;                 /* Pointer to type structure      */
+  char                name[256];          /* Given datatype name            */
+  char                mapped[256];        /* Equivalent name                */
+} SwigCacheType;
+
+static int SwigPtrMax  = 64;           /* Max entries that can be currently held */
+static int SwigPtrN    = 0;            /* Current number of entries              */
+static int SwigPtrSort = 0;            /* Status flag indicating sort            */
+static int SwigStart[256];             /* Array containing start locations (for searching) */
+static SwigPtrType *SwigPtrTable = 0;  /* Table containing pointer equivalences  */
+
+/* Cached values */
+
+#define SWIG_CACHESIZE  8
+#define SWIG_CACHEMASK  0x7
+static SwigCacheType SwigCache[SWIG_CACHESIZE];
+static int SwigCacheIndex = 0;
+static int SwigLastCache = 0;
+
+/* Sort comparison function */
+static int swigsort(const void *data1, const void *data2) {
+	SwigPtrType *d1 = (SwigPtrType *) data1;
+	SwigPtrType *d2 = (SwigPtrType *) data2;
+	return strcmp(d1->name,d2->name);
+}
+
+/* Binary Search function */
+static int swigcmp(const void *key, const void *data) {
+  char *k = (char *) key;
+  SwigPtrType *d = (SwigPtrType *) data;
+  return strncmp(k,d->name,d->len);
+}
+
+
+/*---------------------------------------------------------------------
+ * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *))
+ *
+ * Register a new type-mapping with the type-checking system.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) {
+
+  int i;
+  SwigPtrType *t = 0, *t1;
+
+  if (!SwigPtrTable) {
+    SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType));
+    SwigPtrN = 0;
+  }
+  if (SwigPtrN >= SwigPtrMax) {
+    SwigPtrMax = 2*SwigPtrMax;
+    SwigPtrTable = (SwigPtrType *) realloc(SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType));
+  }
+  for (i = 0; i < SwigPtrN; i++)
+    if (strcmp(SwigPtrTable[i].name,origtype) == 0) {
+      t = &SwigPtrTable[i];
+      break;
+    }
+  if (!t) {
+    t = &SwigPtrTable[SwigPtrN];
+    t->name = origtype;
+    t->len = strlen(origtype);
+    t->cast = 0;
+    t->next = 0;
+    SwigPtrN++;
+  }
+  while (t->next) {
+    if (strcmp(t->name,newtype) == 0) {
+      if (cast) t->cast = cast;
+      return;
+    }
+    t = t->next;
+  }
+  t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType));
+  t1->name = newtype;
+  t1->len = strlen(newtype);
+  t1->cast = cast;
+  t1->next = 0;
+  t->next = t1;
+  SwigPtrSort = 0;
+}
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+
+
+
+/* This is for backwards compatibility */
+
+
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_RegisterType()
+ *
+ * Registers our new datatype with an interpreter.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterType( void ) {
+  /* Does nothing at the moment */
+}
+#define SWIG_init    Ibis_Init
+#define SWIG_name    "ibis"
+#define SWIG_prefix  ""
+#define SWIG_namespace ""
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int,Ibis_Init)(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#undef panic
+
+#ifdef __cplusplus
+#  define BEGIN_C_DECLS extern "C" {
+#  define END_C_DECLS   }
+#else /* !__cplusplus */
+#  define BEGIN_C_DECLS
+#  define END_C_DECLS
+#endif /* __cplusplus */
+
+BEGIN_C_DECLS
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <opensm/osm_log.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis.h"
+#include "ibcr.h"
+#include "ibpm.h"
+#include "ibvs.h"
+#include "ibbbm.h"
+#include "ibsac.h"
+#include "ibsm.h"
+#include "ibcc.h"
+
+END_C_DECLS
+
+#ifndef PRIx64
+#if __WORDSIZE == 64
+#define __PRI64_PREFIX	"l"
+#else
+#define __PRI64_PREFIX	"L"
+#endif
+
+#define PRId64		__PRI64_PREFIX"d"
+#define PRIo64		__PRI64_PREFIX"o"
+#define PRIu64		__PRI64_PREFIX"u"
+#define PRIx64		__PRI64_PREFIX"x"
+#endif
+
+/**********************************************************************
+ **********************************************************************/
+boolean_t
+ibisp_is_debug(void)
+{
+#if defined( _DEBUG_ )
+  return TRUE;
+#else
+  return FALSE;
+#endif /* defined( _DEBUG_ ) */
+}
+
+
+#define new_uint64_t uint64_t
+
+#define uint8_array_t uint8_t
+
+#define uint16_array_t uint16_t
+
+#define uint32_array_t uint32_t
+
+#define uint64_array_t uint64_t
+
+#define ib_net16_array_t ib_net16_t
+
+#define ib_net32_array_t ib_net32_t
+
+#define ib_net64_array_t ib_net64_t
+
+
+  static char ibis_tcl_error_msg[1024];
+  static int  ibis_tcl_error;
+
+  void ibis_set_tcl_error(char *err) {
+    if (strlen(err) < 1024)
+      strcpy(ibis_tcl_error_msg, err);
+    else
+      strncpy(ibis_tcl_error_msg, err, 1024);
+    ibis_tcl_error = 1;
+  }
+
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibcr.h"
+
+
+static ibcr_t *p_ibcr_global;
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibcr_get_cr_str(
+  boolean_t is_multi,
+  uint8_t num,
+  ib_cr_space_t *p_cr_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[512];
+  static int i, extra;
+
+  if (p_cr_mads) {
+    for (i=0;i<num;i++) {
+      if (p_cr_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Fail to obtain CR mad response");
+        } else {
+          sprintf(buff,"ERROR : Fail to obtain CR mad response");
+        }
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]) != 0) {
+        if (is_multi) {
+          sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        } else {
+          sprintf(buff,"ERROR : Got remote error:0x%x",
+                  ibis_get_mad_status((ib_mad_t*)&p_cr_mads[i]));
+        }
+      } else {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} {data 0x%x}",
+                cl_ntoh64(p_cr_mads[i].vendor_key),
+                cl_ntoh32(p_cr_mads[i].data[0]));
+      }
+
+      if (is_multi) extra = 3; else extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi) {
+        strcat(p_res_str,"{");
+        strcat(p_res_str, buff);
+        strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibcr_destroy_global(void)
+{
+	ibcr_destroy(p_ibcr_global);
+	return (0);
+}
+
+int
+ibcr_num_of_multi_max(void)
+{
+	return (IBCR_MULTI_MAX);
+}
+
+int
+ibcr_read_global(
+  uint16_t lid,
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[1];
+
+	status = ibcr_read(p_ibcr_global,lid,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(FALSE, 1, cr_space_mads_arr);
+   }
+
+	return(status);
+}
+
+int
+ibcr_write_global(
+  uint16_t lid,
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_write(p_ibcr_global,lid,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write CR space");
+   }
+	return(status);
+}
+
+int
+ibcr_multi_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_cr_str)
+{
+	ib_api_status_t status;
+   ib_cr_space_t   cr_space_mads_arr[IBCR_MULTI_MAX];
+
+	status =
+     ibcr_multi_read(p_ibcr_global,num,lid_list,address,cr_space_mads_arr);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read all targets CR space");
+   } else {
+     *pp_new_cr_str = ibcr_get_cr_str(TRUE, num, cr_space_mads_arr);
+   }
+	return(status);
+}
+
+int
+ibcr_multi_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t data,
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status = ibcr_multi_write(p_ibcr_global,num,lid_list,data,address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write all targets CR space");
+   }
+	return(status);
+}
+
+
+#define uint16_cr_arr_t uint16_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include <inttypes.h>
+#include "ibpm.h"
+
+
+static ibpm_t *p_ibpm_global;
+
+int
+ibpm_num_of_multi_max(void)
+{
+	return (IBPM_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   port counters.
+*/
+char *
+ibpm_get_port_counters_str(
+  uint8_t num,
+  ib_pm_port_counter_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u } {counter_select %u } {symbol_error_counter %u } {link_error_recovery_counter %u } {link_down_counter %u } {port_rcv_errors %u } {port_rcv_remote_physical_errors %u } {port_rcv_switch_relay_errors %u } {port_xmit_discard %u } {port_xmit_constraint_errors %u } {port_rcv_constraint_errors %u } {local_link_integrity_errors %u } {excesive_buffer_errors %u } {vl15_dropped %u } {port_xmit_data %u } {port_rcv_data %u } {port_xmit_pkts %u } {port_rcv_pkts %u }} ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh16(p_counters[i].symbol_error_counter),
+              p_counters[i].link_error_recovery_counter,
+              p_counters[i].link_down_counter,
+              cl_ntoh16(p_counters[i].port_rcv_errors),
+              cl_ntoh16(p_counters[i].port_rcv_remote_physical_errors),
+              cl_ntoh16(p_counters[i].port_rcv_switch_relay_errors),
+              cl_ntoh16(p_counters[i].port_xmit_discard),
+              p_counters[i].port_xmit_constraint_errors,
+              p_counters[i].port_rcv_constraint_errors,
+              (p_counters[i].lli_errors_exc_buf_errors & 0xf0) >> 4,
+              (p_counters[i].lli_errors_exc_buf_errors & 0x0f),
+              cl_ntoh16(p_counters[i].vl15_dropped),
+              cl_ntoh32(p_counters[i].port_xmit_data),
+              cl_ntoh32(p_counters[i].port_rcv_data),
+              cl_ntoh32(p_counters[i].port_xmit_pkts),
+              cl_ntoh32(p_counters[i].port_rcv_pkts));
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+/*
+   this function returns the string corresponding to the
+   extended port counters.
+*/
+char *
+ibpm_get_port_counters_extended_str(
+  uint8_t num,
+  ib_pm_port_counter_extended_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u} {counter_select %u} {port_xmit_data %"PRIu64"} {port_rcv_data %"PRIu64"} {port_xmit_pkts %"PRIu64"} {port_rcv_pkts %"PRIu64"} {port_ucast_xmit_pkts %"PRIu64"} {port_ucast_rcv_pkts %"PRIu64"} {port_mcast_xmit_pkts %"PRIu64"} {port_mcast_rcv_pkts %"PRIu64"} } ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh64(p_counters[i].port_xmit_data),
+              cl_ntoh64(p_counters[i].port_rcv_data),
+              cl_ntoh64(p_counters[i].port_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_rcv_pkts)
+              );
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+int
+ibpm_get_counters_global(
+  uint16_t lid,
+  uint8_t port_select,
+  char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t single_counters_set;
+  *pp_new_counters_str = NULL;
+  status = (int) ibpm_get_counters(p_ibpm_global,lid,port_select,&single_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(1, &single_counters_set);
+  }
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t *p_multi_counters_set;
+  p_multi_counters_set = (ib_pm_port_counter_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_extended_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_extended_t *p_multi_counters_set;
+  p_multi_counters_set =
+    (ib_pm_port_counter_extended_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters_extended(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_extended_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_clr_all_counters_global(
+  uint16_t lid,
+  uint8_t port_select)
+{
+  int status;
+  status = (int) ibpm_clr_all_counters(p_ibpm_global,lid,port_select);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear port counters");
+  }
+  return(status);
+}
+
+int
+ibpm_clr_all_multi_counters_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_select_list[])
+{
+  int status;
+  status = (int) ibpm_clr_all_multi_counters(p_ibpm_global,num,lid_list,port_select_list);
+
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear multiple port counters");
+  }
+  return(status);
+}
+
+
+#define  uint16_pm_arr_t  uint16_t
+
+#define  uint8_pm_arr_t  uint8_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibvs.h"
+
+
+static ibvs_t *p_ibvs_global;
+
+int
+ibvs_num_of_multi_max(void)
+{
+	return (IBVS_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibvs_get_vs_str(
+  boolean_t is_multi,
+  boolean_t is_read,
+  uint8_t num,
+  uint8_t size,
+  uint8_t first_data_idx,
+  ib_vs_t *p_vs_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  int i,j, extra;
+
+  if (p_vs_mads) {
+    for (i=0;i<num;i++) {
+      boolean_t space_in_resp = TRUE;
+
+      if (p_vs_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        sprintf(buff,"TARGET_ERROR : Failed to obtain VS mad response");
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]) != 0) {
+        sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]));
+      } else if (is_read) {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} ",
+                cl_ntoh64(p_vs_mads[i].vendor_key));
+        for (j=0; j < size; j++) {
+          sprintf(buff,"%s {data%u 0x%x} ",
+                  buff, j, cl_ntoh32(p_vs_mads[i].data[j+first_data_idx]));
+        }
+      } else {
+	  // Write response - no data
+	  // Note: The trailing space here is important !
+	  sprintf(buff, "ACK ");
+	  space_in_resp = 0;
+      }
+
+      if (is_multi && space_in_resp)
+	extra = 3;
+      else
+	extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi && space_in_resp) {
+	  strcat(p_res_str,"{");
+	  strcat(p_res_str, buff);
+	  strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibvs_cpu_read_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t address,
+  char **pp_new_cpu_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_cpu_read(p_ibvs_global,lid,size,cpu_traget_size,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_cpu_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_CPU_DATA_OFFSET, vs_mads);
+   }
+
+   return(status);
+}
+
+int
+ibvs_cpu_write_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t data[],
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status =
+     ibvs_cpu_write(p_ibvs_global,lid,size,cpu_traget_size,data,address);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to clear port counters");
+   return(status);
+}
+
+int
+ibvs_i2c_read_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_i2c_read(
+       p_ibvs_global,lid,port_num,size,device_id,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_i2c_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_i2c_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_read(p_ibvs_global,num,lid_list,port_num,size,device_id,address,vs_mads);
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed reading multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_multi_i2c_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_i2c_str)
+{
+
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_write(p_ibvs_global,num,lid_list,port_num,size,device_id,data,address,vs_mads);
+
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed writing multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, FALSE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_i2c_write_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+
+    ib_api_status_t status;
+
+    status = ibvs_i2c_write(p_ibvs_global,lid,port_num,size,device_id,data,address);
+    if (status)
+	ibis_set_tcl_error("ERROR : Fail to write i2c");
+    return(status);
+}
+
+int
+ibvs_gpio_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_gpio_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status = ibvs_gpio_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read gpio");
+   } else {
+     *pp_new_gpio_str =
+       ibvs_get_vs_str(TRUE, TRUE, 1, IBVS_DATA_MAX, VS_GPIO_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_gpio_write_global(
+  IN uint16_t lid,
+  IN uint64_t gpio_mask,
+  IN uint64_t gpio_data)
+{
+	ib_api_status_t status;
+
+	status = ibvs_gpio_write(p_ibvs_global,lid,gpio_mask,gpio_data );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write gpio");
+	return(status);
+}
+
+int
+ibvs_multi_sw_reset_global(
+  uint8_t num,
+  uint16_t lid_list[])
+{
+	ib_api_status_t status;
+
+	status = ibvs_multi_sw_reset(p_ibvs_global,num,lid_list);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to reset");
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_open_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t last,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_open(
+       p_ibvs_global,num,lid_list,last,size,data,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to open flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_close_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t force,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_close(
+       p_ibvs_global,num,lid_list,force,vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to close flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_set_bank_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_set_bank(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to set flash bank");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_erase_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_erase(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to erase flash sector");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_read(
+       p_ibvs_global, num, lid_list, size, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+	ib_api_status_t status;
+
+	status =
+     ibvs_multi_flash_write(
+       p_ibvs_global, num, lid_list, size, data, address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write flash");
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_mirror_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+   status = ibvs_mirror_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read mirror");
+   } else {
+     *pp_new_mirror_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_MIRROR_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_write_global(
+  IN uint16_t lid,
+  IN uint32_t rx_mirror,
+  IN uint32_t tx_mirror)
+{
+   ib_api_status_t status;
+
+   status = ibvs_mirror_write(p_ibvs_global,lid,rx_mirror,tx_mirror );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write mirror");
+	return(status);
+}
+
+int
+ibvs_plft_map_get_global(
+  IN uint16_t lid,
+  IN uint8_t upper_ports,
+  OUT	char **pp_new_plft_map_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	ib_vs_plft_map_t *p_map = (ib_vs_plft_map_t *)&vs_mads[0];
+
+   status = ibvs_plft_map_get(p_ibvs_global,lid,upper_ports,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get private LFT map");
+		*pp_new_plft_map_str = NULL;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_new_plft_map_str = buff;
+		sprintf(buff,
+				  "{ib_port0 0x%x} "
+				  "{shared_plft_port0 0x%x} "
+				  "{size0 0x%x} "
+				  "{ib_port1 0x%x} "
+				  "{shared_plft_port1 0x%x} "
+				  "{size1 0x%x} "
+				  "{ib_port2 0x%x} "
+				  "{shared_plft_port2 0x%x} "
+				  "{size2 0x%x} "
+				  "{ib_port3 0x%x} "
+				  "{shared_plft_port3 0x%x} "
+				  "{size3 0x%x} "
+				  "{ib_port4 0x%x} "
+				  "{shared_plft_port4 0x%x} "
+				  "{size4 0x%x} "
+				  "{ib_port5 0x%x} "
+				  "{shared_plft_port5 0x%x} "
+				  "{size5 0x%x} "
+				  "{ib_port6 0x%x} "
+				  "{shared_plft_port6 0x%x} "
+				  "{size6 0x%x} "
+				  "{ib_port7 0x%x} "
+				  "{shared_plft_port7 0x%x} "
+				  "{reserved7 0x%x} "
+				  "{size7 0x%x} "
+				  "{ib_port8 0x%x} "
+				  "{shared_plft_port8 0x%x} "
+				  "{size8 0x%x} "
+				  "{ib_port9 0x%x} "
+				  "{shared_plft_port9 0x%x} "
+				  "{reserved9 0x%x} "
+				  "{size9 0x%x} "
+				  "{ib_port10 0x%x} "
+				  "{shared_plft_port10 0x%x} "
+				  "{size10 0x%x} "
+				  "{ib_port11 0x%x} "
+				  "{shared_plft_port11 0x%x} "
+				  "{size11 0x%x} "
+				  "{ib_port12 0x%x} "
+				  "{shared_plft_port12 0x%x} "
+				  "{size12 0x%x}",
+				  p_map->ib_port0,
+				  p_map->shared_plft_port0,
+				  p_map->size0,
+				  p_map->ib_port1,
+				  p_map->shared_plft_port1,
+				  p_map->size1,
+				  p_map->ib_port2,
+				  p_map->shared_plft_port2,
+				  p_map->size2,
+				  p_map->ib_port3,
+				  p_map->shared_plft_port3,
+				  p_map->size3,
+				  p_map->ib_port4,
+				  p_map->shared_plft_port4,
+				  p_map->size4,
+				  p_map->ib_port5,
+				  p_map->shared_plft_port5,
+				  p_map->size5,
+				  p_map->ib_port6,
+				  p_map->shared_plft_port6,
+				  p_map->size6,
+				  p_map->ib_port7,
+				  p_map->shared_plft_port7,
+				  p_map->reserved7,
+				  p_map->size7,
+				  p_map->ib_port8,
+				  p_map->shared_plft_port8,
+				  p_map->size8,
+				  p_map->ib_port9,
+				  p_map->shared_plft_port9,
+				  p_map->reserved9,
+				  p_map->size9,
+				  p_map->ib_port10,
+				  p_map->shared_plft_port10,
+				  p_map->size10,
+				  p_map->ib_port11,
+				  p_map->shared_plft_port11,
+				  p_map->size11,
+				  p_map->ib_port12,
+				  p_map->shared_plft_port12,
+				  p_map->size12
+				  );
+   }
+	return(status);
+}
+
+int
+ibvs_general_info_get_global(
+  IN uint16_t lid,
+  OUT	char **pp_gen_info_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	char            psid[17];
+	ib_vs_gen_info_t *p_info = (ib_vs_gen_info_t *)&vs_mads[0];
+   status = ibvs_general_info_get(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get general info");
+		*pp_gen_info_str = 0;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_gen_info_str = buff;
+		strncpy(psid, (char *)p_info->fw_psid, 16);
+		psid[16] = '\0';
+		sprintf(buff,
+				  "{hw_rev 0x%x} "
+				  "{hw_devid 0x%x} "
+				  "{hw_uptime 0x%x} "
+				  "{fw_major 0x%x} "
+				  "{fw_minor 0x%x} "
+				  "{fw_sub_minor 0x%x} "
+				  "{fw_build_id 0x%x} "
+				  "{fw_month 0x%x} "
+				  "{fw_day 0x%x} "
+				  "{fw_year 0x%x} "
+				  "{fw_hour 0x%x} "
+				  "{fw_psid \"%s\"} "
+				  "{fw_ini_ver 0x%x} "
+				  "{sw_major 0x%x} "
+				  "{sw_minor 0x%x} "
+				  "{sw_sub_minor 0x%x}",
+				  cl_ntoh16(p_info->hw_rev),
+				  cl_ntoh16(p_info->hw_devid),
+				  cl_ntoh32(p_info->hw_uptime),
+				  p_info->fw_major,
+				  p_info->fw_minor,
+				  p_info->fw_sub_minor,
+				  cl_ntoh32(p_info->fw_build_id),
+				  p_info->fw_month,
+				  p_info->fw_day,
+				  cl_ntoh16(p_info->fw_year),
+				  cl_ntoh16(p_info->fw_hour),
+				  psid,
+				  cl_ntoh32(p_info->fw_ini_ver),
+				  p_info->sw_major,
+				  p_info->sw_minor,
+				  p_info->sw_sub_minor);
+   }
+	return(status);
+}
+
+
+#define uint16_vs_arr_t uint16_t
+
+#define uint32_vs_data_arr_t uint32_t
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibbbm.h"
+
+
+static ibbbm_t *p_ibbbm_global;
+
+int
+ibbbm_read_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  ib_bbm_vpd_t *p_bbm_vpd_mad)
+{
+	ib_api_status_t status;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VPD");
+
+	return(status);
+}
+
+int
+ibbbm_write_vpd_global(
+  uint16_t lid,
+  uint8_t vpd_device_selector,
+  uint16_t bytes_num,
+  uint16_t offset,
+  uint8_t *p_data)
+{
+
+	ib_api_status_t status;
+
+	status = ibbbm_write_vpd(p_ibbbm_global,lid,vpd_device_selector,bytes_num,offset,p_data);
+	;
+	ibis_set_tcl_error("-E- Failed to write VPD");
+	return(status);
+}
+
+int
+ibbbm_read_vsd_vpd_global(
+  uint16_t lid,
+  ib_bbm_vsd_vpd_t *p_bbm_vsd_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_vsd_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_VSD_VPD_DEV_SEL,IBBBM_VSD_VPD_SIZE,IBBBM_VSD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read VSD VPD");
+   return(status);
+}
+
+int
+ibbbm_read_bsn_vpd_global(
+  uint16_t lid,
+  ib_bbm_bsn_vpd_t *p_bbm_bsn_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_bsn_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_BSN_VPD_DEV_SEL,IBBBM_BSN_VPD_SIZE,IBBBM_BSN_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read BSN");
+
+	return(status);
+}
+
+int
+ibbbm_read_mod_vpd_global(
+  uint16_t lid,
+  ib_bbm_mod_vpd_t *p_bbm_mod_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_mod_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_MOD_VPD_DEV_SEL,IBBBM_MOD_VPD_SIZE,IBBBM_MOD_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+	ibis_set_tcl_error("-E- Failed to read Module VPD");
+
+	return(status);
+}
+
+int
+ibbbm_read_cha_vpd_global(
+  uint16_t lid,
+  ib_bbm_cha_vpd_t *p_bbm_cha_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_cha_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_CHA_VPD_DEV_SEL,IBBBM_CHA_VPD_SIZE,IBBBM_CHA_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+   ibis_set_tcl_error("-E- Failed to read Chassis VPD");
+	return(status);
+}
+
+
+int
+ibbbm_read_fw_ver_vpd_global(
+  uint16_t lid,
+  ib_bbm_fw_ver_vpd_t *p_bbm_fw_ver_vpd_mad)
+{
+	ib_api_status_t status;
+	ib_bbm_vpd_t *p_bbm_vpd_mad;
+
+	p_bbm_vpd_mad = (ib_bbm_vpd_t *)p_bbm_fw_ver_vpd_mad;
+
+	status = ibbbm_read_vpd(p_ibbbm_global,lid,IBBBM_FW_VER_VPD_DEV_SEL,IBBBM_FW_VER_VPD_SIZE,IBBBM_FW_VER_VPD_OFFSET,p_bbm_vpd_mad);
+	;
+
+   ibis_set_tcl_error("-E- Failed to read FW Version.");
+
+	return(status);
+}
+
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+#ifdef OSM_BUILD_OPENIB
+#include <vendor/osm_vendor_sa_api.h>
+#else
+#include <opensm/osm_vendor_sa_api.h>
+#endif
+#include "ibsac.h"
+
+  /*
+     TODO:  Add the following queries
+     ClassPortInfo
+     InformInfo
+     SLtoVLMappingTableRecord
+     VLArbitrationTableRecord
+     ServiceRecord
+     P_KeyTableRecord
+
+     Not supported by OpenSM:
+     Notice
+     MulticastForwardingTableRecord
+     GUIDInfoRecord
+     InformInfoRecord
+
+     Later:
+     MultiPathRecord
+  */
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_record_t         sacNodeRec;
+  typedef ib_node_info_t           sacNodeInfo;
+  typedef ib_portinfo_record_t     sacPortRec;
+  typedef ib_port_info_t           sacPortInfo;
+  typedef ib_sminfo_record_t       sacSmRec;
+  typedef ib_sm_info_t             sacSmInfo;
+  typedef ib_switch_info_record_t  sacSwRec;
+  typedef ib_switch_info_t         sacSwInfo;
+  typedef ib_link_record_t         sacLinkRec;
+  typedef ib_path_rec_t            sacPathRec;
+  typedef ib_lft_record_t          sacLFTRec;
+  typedef ib_member_rec_t          sacMCMRec;
+  typedef ib_class_port_info_t     sacClassPortInfo;
+  typedef ib_inform_info_t         sacInformInfo;
+  typedef ib_service_record_t      sacServiceRec;
+  typedef ib_slvl_table_t          sacSlVlTbl;
+  typedef ib_slvl_table_record_t   sacSlVlRec;
+  typedef ib_vl_arb_table_record_t sacVlArbRec;
+  typedef ib_pkey_table_t          sacPKeyTbl;
+  typedef ib_pkey_table_record_t   sacPKeyRec;
+  typedef uint8_t                  ib_lft_t;
+
+
+#include "swig_extended_obj.c"
+
+  /* Pre allocated Query Objects */
+  ib_node_record_t        ibsac_node_rec;
+  ib_portinfo_record_t    ibsac_portinfo_rec;
+  ib_sminfo_record_t      ibsac_sminfo_rec;
+  ib_switch_info_record_t ibsac_swinfo_rec;
+  ib_link_record_t        ibsac_link_rec; // no sub type
+  ib_path_rec_t           ibsac_path_rec; // no sub type
+  ib_lft_record_t         ibsac_lft_rec; // no sub type
+  ib_member_rec_t         ibsac_mcm_rec; // no sub type
+
+  ib_class_port_info_t    ibsac_class_port_info; // no sub type
+  ib_inform_info_t        ibsac_inform_info; // no sub type
+  ib_service_record_t     ibsac_svc_rec;  // no sub type
+  ib_slvl_table_record_t  ibsac_slvl_rec; // ib_slvl_table_t
+  ib_vl_arb_table_record_t ibsac_vlarb_rec; // ib_vl_arb_table_t
+  ib_pkey_table_record_t  ibsac_pkey_rec; // ib_pkey_table_t
+
+  /* Query Functions for each record */
+  /* These are TCL specific thus are here */
+
+  char *ibsacNodeRecordQuery(
+	 ib_node_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_node_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_NODE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_node_record_t *)malloc(sizeof(ib_node_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_node_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("nr",p_rec);
+		SWIG_AltMnglRegObj("ni",&(p_rec->node_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "nr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPortInfoRecordQuery(
+	 ib_portinfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_portinfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PORTINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_portinfo_record_t *)malloc(sizeof(ib_portinfo_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_portinfo_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pir",p_rec);
+		SWIG_AltMnglRegObj("pi",&(p_rec->port_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSMInfoRecordQuery(
+	 ib_sminfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_sminfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SMINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_sminfo_record_t *)malloc(sizeof(ib_sminfo_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_sminfo_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("smir",p_rec);
+		SWIG_AltMnglRegObj("smi",&(p_rec->sm_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "smir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSwitchInfoRecordQuery(
+	 ib_switch_info_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_switch_info_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, CL_NTOH16(0x0014), self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_switch_info_record_t *)malloc(sizeof(ib_switch_info_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_switch_info_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("swir",p_rec);
+		SWIG_AltMnglRegObj("swi",&(p_rec->switch_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "swir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPathRecordQuery(
+	 ib_path_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_path_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PATH_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_path_rec_t *)malloc(sizeof(ib_path_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_path_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("path",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "path", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLinkRecordQuery(
+	 ib_link_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_link_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LINK_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_link_record_t *)malloc(sizeof(ib_link_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_link_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("link",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "link", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLFTRecordQuery(
+	 ib_lft_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_lft_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LFT_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_lft_record_t *)malloc(sizeof(ib_lft_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_lft_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("lft",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "lft", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacMCMemberRecordQuery(
+	 ib_member_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_member_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_MCMEMBER_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_member_rec_t *)malloc(sizeof(ib_member_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_member_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("mcm",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "mcm", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacClassPortInfoQuery(
+	 ib_class_port_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_class_port_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_CLASS_PORT_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_class_port_info_t *)malloc(sizeof(ib_class_port_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_class_port_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("cpi",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "cpi", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacInformInfoQuery(
+	 ib_inform_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_inform_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_INFORM_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_inform_info_t *)malloc(sizeof(ib_inform_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_inform_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("info",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "info", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+
+  char *ibsacServiceRecordQuery(
+	 ib_service_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_service_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_SERVICE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_service_record_t *)malloc(sizeof(ib_service_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_service_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("svc",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "svc", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSl2VlRecordQuery(
+	 ib_slvl_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_slvl_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SLVL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_slvl_table_record_t *)malloc(sizeof(ib_slvl_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_slvl_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("slvr",p_rec);
+		SWIG_AltMnglRegObj("slvt",&(p_rec->slvl_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "slvr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacVlArbRecordQuery(
+	 ib_vl_arb_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_vl_arb_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_VLARB_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_vl_arb_table_record_t *)malloc(sizeof(ib_vl_arb_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_vl_arb_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("vlarb",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "vlarb", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPKeyRecordQuery(
+	 ib_pkey_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_pkey_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PKEY_TBL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_pkey_table_record_t *)malloc(sizeof(ib_pkey_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_pkey_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pkr",p_rec);
+		SWIG_AltMnglRegObj("pkt",&(p_rec->pkey_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pkr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+static int  _wrap_const_IB_NR_COMPMASK_LID = 0x1;
+static int  _wrap_const_IB_NR_COMPMASK_RESERVED1 = 0x2;
+static int  _wrap_const_IB_NR_COMPMASK_BASEVERSION = 0x4;
+static int  _wrap_const_IB_NR_COMPMASK_CLASSVERSION = 0x8;
+static int  _wrap_const_IB_NR_COMPMASK_NODETYPE = 0x10;
+static int  _wrap_const_IB_NR_COMPMASK_NUMPORTS = 0x20;
+static int  _wrap_const_IB_NR_COMPMASK_SYSIMAGEGUID = 0x40;
+static int  _wrap_const_IB_NR_COMPMASK_NODEGUID = 0x80;
+static int  _wrap_const_IB_NR_COMPMASK_PORTGUID = 0x100;
+static int  _wrap_const_IB_NR_COMPMASK_PARTCAP = 0x200;
+static int  _wrap_const_IB_NR_COMPMASK_DEVID = 0x400;
+static int  _wrap_const_IB_NR_COMPMASK_REV = 0x800;
+static int  _wrap_const_IB_NR_COMPMASK_PORTNUM = 0x1000;
+static int  _wrap_const_IB_NR_COMPMASK_VENDID = 0x2000;
+static int  _wrap_const_IB_NR_COMPMASK_NODEDESC = 0x4000;
+static char * _wrap_const_IB_PIR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_PIR_COMPMASK_PORTNUM = "0x2";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV1 = "0x4";
+static char * _wrap_const_IB_PIR_COMPMASK_MKEY = "0x8";
+static int  _wrap_const_IB_PIR_COMPMASK_GIDPRE = 0x10;
+static int  _wrap_const_IB_PIR_COMPMASK_BASELID = 0x20;
+static int  _wrap_const_IB_PIR_COMPMASK_SMLID = 0x40;
+static int  _wrap_const_IB_PIR_COMPMASK_CAPMASK = 0x80;
+static int  _wrap_const_IB_PIR_COMPMASK_DIAGCODE = 0x100;
+static int  _wrap_const_IB_PIR_COMPMASK_MKEYLEASEPRD = 0x200;
+static int  _wrap_const_IB_PIR_COMPMASK_LOCALPORTNUM = 0x400;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKWIDTHSUPPORT = 0x800;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKWIDTHACTIVE = 0x1000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKWIDTHENABLED = 0x2000;
+static int  _wrap_const_IB_PIR_COMPMASK_LNKSPEEDSUPPORT = 0x4000;
+static int  _wrap_const_IB_PIR_COMPMASK_PORTSTATE = 0x10000;
+static int  _wrap_const_IB_PIR_COMPMASK_PORTPHYSTATE = 0x20000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKDWNDFLTSTATE = 0x40000;
+static int  _wrap_const_IB_PIR_COMPMASK_MKEYPROTBITS = 0x80000;
+static int  _wrap_const_IB_PIR_COMPMASK_LMC = 0x100000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKSPEEDACTIVE = 0x200000;
+static int  _wrap_const_IB_PIR_COMPMASK_LINKSPEEDENABLE = 0x400000;
+static int  _wrap_const_IB_PIR_COMPMASK_NEIGHBORMTU = 0x800000;
+static int  _wrap_const_IB_PIR_COMPMASK_MASTERSMSL = 0x1000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLCAP = 0x2000000;
+static int  _wrap_const_IB_PIR_COMPMASK_INITTYPE = 0x4000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLHIGHLIMIT = 0x8000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLARBHIGHCAP = 0x10000000;
+static int  _wrap_const_IB_PIR_COMPMASK_VLARBLOWCAP = 0x20000000;
+static int  _wrap_const_IB_PIR_COMPMASK_INITTYPEREPLY = 0x40000000;
+static int  _wrap_const_IB_PIR_COMPMASK_MTUCAP = 0x80000000;
+static char * _wrap_const_IB_PIR_COMPMASK_VLSTALLCNT = "0x100000000";
+static char * _wrap_const_IB_PIR_COMPMASK_HOQLIFE = "0x200000000";
+static char * _wrap_const_IB_PIR_COMPMASK_OPVLS = "0x400000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PARENFIN = "0x800000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PARENFOUT = "0x1000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_FILTERRAWIN = "0x2000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_FILTERRAWOUT = "0x4000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_MKEYVIO = "0x8000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_PKEYVIO = "0x10000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_QKEYVIO = "0x20000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_GUIDCAP = "0x40000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV2 = "0x80000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_SUBNTO = "0x100000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESV3 = "0x200000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_RESPTIME = "0x400000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_LOCALPHYERR = "0x800000000000";
+static char * _wrap_const_IB_PIR_COMPMASK_OVERRUNERR = "0x1000000000000";
+static char * _wrap_const_IB_SMR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SMR_COMPMASK_GUID = "0x2";
+static char * _wrap_const_IB_SMR_COMPMASK_SM_KEY = "0x4";
+static char * _wrap_const_IB_SMR_COMPMASK_ACT_COUNT = "0x8";
+static int  _wrap_const_IB_SMR_COMPMASK_STATE = 0x10;
+static int  _wrap_const_IB_SMR_COMPMASK_PRI = 0x20;
+static char * _wrap_const_IB_SWR_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SWR_COMPMASK_LIN_CAP = "0x2";
+static char * _wrap_const_IB_SWR_COMPMASK_RAND_CAP = "0x4";
+static char * _wrap_const_IB_SWR_COMPMASK_MCAST_CAP = "0x8";
+static char * _wrap_const_IB_SWR_COMPMASK_LIN_TOP = "0x10";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_PORT = "0x20";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_MCAST_PRI = "0x40";
+static char * _wrap_const_IB_SWR_COMPMASK_DEF_MCAST_NOT = "0x80";
+static char * _wrap_const_IB_SWR_COMPMASK_STATE = "0x100";
+static char * _wrap_const_IB_SWR_COMPMASK_LIFE = "0x200";
+static char * _wrap_const_IB_SWR_COMPMASK_LMC = "0x400";
+static char * _wrap_const_IB_SWR_COMPMASK_ENFORCE_CAP = "0x800";
+static char * _wrap_const_IB_SWR_COMPMASK_FLAGS = "0x1000";
+static int  _wrap_const_IB_LR_COMPMASK_FROM_LID = 0x1;
+static int  _wrap_const_IB_LR_COMPMASK_FROM_PORT = 0x2;
+static int  _wrap_const_IB_LR_COMPMASK_TO_PORT = 0x4;
+static int  _wrap_const_IB_LR_COMPMASK_TO_LID = 0x8;
+static int  _wrap_const_IB_PR_COMPMASK_DGID = 0x4;
+static int  _wrap_const_IB_PR_COMPMASK_SGID = 0x8;
+static int  _wrap_const_IB_PR_COMPMASK_DLID = 0x10;
+static int  _wrap_const_IB_PR_COMPMASK_SLID = 0x20;
+static int  _wrap_const_IB_PR_COMPMASK_RAWTRAFIC = 0x40;
+static int  _wrap_const_IB_PR_COMPMASK_RESV0 = 0x80;
+static int  _wrap_const_IB_PR_COMPMASK_FLOWLABEL = 0x100;
+static int  _wrap_const_IB_PR_COMPMASK_HOPLIMIT = 0x200;
+static int  _wrap_const_IB_PR_COMPMASK_TCLASS = 0x400;
+static int  _wrap_const_IB_PR_COMPMASK_REVERSIBLE = 0x800;
+static int  _wrap_const_IB_PR_COMPMASK_NUMBPATH = 0x1000;
+static int  _wrap_const_IB_PR_COMPMASK_PKEY = 0x2000;
+static int  _wrap_const_IB_PR_COMPMASK_RESV1 = 0x4000;
+static int  _wrap_const_IB_PR_COMPMASK_SL = 0x8000;
+static int  _wrap_const_IB_PR_COMPMASK_MTUSELEC = 0x10000;
+static int  _wrap_const_IB_PR_COMPMASK_MTU = 0x20000;
+static int  _wrap_const_IB_PR_COMPMASK_RATESELEC = 0x40000;
+static int  _wrap_const_IB_PR_COMPMASK_RATE = 0x80000;
+static int  _wrap_const_IB_PR_COMPMASK_PKTLIFETIMESELEC = 0x100000;
+static int  _wrap_const_IB_PR_COMPMASK_PFTLIFETIME = 0x200000;
+static char * _wrap_const_IB_LFT_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_LFT_COMPMASK_BLOCK = "0x2";
+static char * _wrap_const_IB_MCR_COMPMASK_GID = "0x1";
+static char * _wrap_const_IB_MCR_COMPMASK_MGID = "0x1";
+static char * _wrap_const_IB_MCR_COMPMASK_PORT_GID = "0x2";
+static char * _wrap_const_IB_MCR_COMPMASK_QKEY = "0x4";
+static char * _wrap_const_IB_MCR_COMPMASK_MLID = "0x8";
+static char * _wrap_const_IB_MCR_COMPMASK_MTU_SEL = "0x10";
+static char * _wrap_const_IB_MCR_COMPMASK_MTU = "0x20";
+static char * _wrap_const_IB_MCR_COMPMASK_TCLASS = "0x40";
+static char * _wrap_const_IB_MCR_COMPMASK_PKEY = "0x80";
+static char * _wrap_const_IB_MCR_COMPMASK_RATE_SEL = "0x100";
+static char * _wrap_const_IB_MCR_COMPMASK_RATE = "0x200";
+static char * _wrap_const_IB_MCR_COMPMASK_LIFE_SEL = "0x400";
+static char * _wrap_const_IB_MCR_COMPMASK_LIFE = "0x800";
+static char * _wrap_const_IB_MCR_COMPMASK_SL = "0x1000";
+static char * _wrap_const_IB_MCR_COMPMASK_FLOW = "0x2000";
+static char * _wrap_const_IB_MCR_COMPMASK_HOP = "0x4000";
+static char * _wrap_const_IB_MCR_COMPMASK_SCOPE = "0x8000";
+static char * _wrap_const_IB_MCR_COMPMASK_JOIN_STATE = "0x10000";
+static char * _wrap_const_IB_MCR_COMPMASK_PROXY = "0x20000";
+
+typedef union {
+	 struct _sac_inform_generic
+	 {
+		ib_net16_t		trap_num;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			node_type_msb;
+		ib_net16_t		node_type_lsb;
+	 } generic;
+
+	 struct _sac_inform_vend
+	 {
+		ib_net16_t		dev_id;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			vendor_id_msb;
+		ib_net16_t		vendor_id_lsb;
+	 } vend;
+
+  } sacInformInfo_g_or_v;
+
+
+typedef struct {
+		ib_net16_t		trap_num;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			node_type_msb;
+		ib_net16_t		node_type_lsb;
+	 } sacInformInfo_g_or_v_generic;
+
+
+typedef struct {
+		ib_net16_t		dev_id;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			vendor_id_msb;
+		ib_net16_t		vendor_id_lsb;
+	 } sacInformInfo_g_or_v_vend;
+
+static char * _wrap_const_IB_SR_COMPMASK_SID = "0x1";
+static char * _wrap_const_IB_SR_COMPMASK_SGID = "0x1";
+static char * _wrap_const_IB_SR_COMPMASK_SPKEY = "0x2";
+static char * _wrap_const_IB_SR_COMPMASK_RES1 = "0x4";
+static char * _wrap_const_IB_SR_COMPMASK_SLEASE = "0x8";
+static char * _wrap_const_IB_SR_COMPMASK_SKEY = "0x10";
+static char * _wrap_const_IB_SR_COMPMASK_SNAME = "0x20";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_0 = "0x40";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_1 = "0x80";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_2 = "0x100";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_3 = "0x200";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_4 = "0x400";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_5 = "0x800";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_6 = "0x1000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_7 = "0x2000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_8 = "0x4000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_9 = "0x8000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_10 = "0x10000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_11 = "0x20000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_12 = "0x40000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_13 = "0x80000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_14 = "0x100000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA8_15 = "0x200000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_0 = "0x400000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_1 = "0x800000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_2 = "0x1000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_3 = "0x2000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_4 = "0x4000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_5 = "0x8000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_6 = "0x10000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA16_7 = "0x20000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_0 = "0x40000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_1 = "0x80000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_2 = "0x100000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA32_3 = "0x200000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA64_0 = "0x400000000";
+static char * _wrap_const_IB_SR_COMPMASK_SDATA64_1 = "0x800000000";
+static char * _wrap_const_IB_SLVL_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_SLVL_COMPMASK_IN_PORT = "0x2";
+static char * _wrap_const_IB_SLVL_COMPMASK_OUT_PORT = "0x4";
+static char * _wrap_const_IB_VLA_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_VLA_COMPMASK_OUT_PORT = "0x2";
+static char * _wrap_const_IB_VLA_COMPMASK_BLOCK = "0x4";
+
+#define sac_vl_arb_tbl_t ib_vl_arb_table_t
+static char * _wrap_const_IB_PKEY_COMPMASK_LID = "0x1";
+static char * _wrap_const_IB_PKEY_COMPMASK_BLOCK = "0x2";
+static char * _wrap_const_IB_PKEY_COMPMASK_PORT = "0x4";
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+  /* the global pointer to this SM mads manager */
+  static ibsm_t *gp_ibsm;
+
+  /* the data section within a LFT mad */
+  typedef struct _ibsm_lft_block {
+    uint8_t lft[64];
+  } ibsm_lft_block_t;
+
+  /* the data section within a MFT mad */
+  typedef struct _ibsm_mft_block {
+    uint16_t mft[32];
+  } ibsm_mft_block_t;
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_info_t        smNodeInfo;
+  typedef ib_port_info_t        smPortInfo;
+  typedef ib_switch_info_t      smSwInfo;
+  typedef ibsm_lft_block_t      smLftBlock;
+  typedef ibsm_mft_block_t      smMftBlock;
+  typedef ib_guid_info_t        smGuidInfo;
+  typedef ib_pkey_table_t       smPkeyTable;
+  typedef ib_slvl_table_t       smSlVlTable;
+  typedef ib_vl_arb_table_t     smVlArbTable;
+  typedef ib_node_desc_t        smNodeDesc;
+  typedef ib_sm_info_t          smSMInfo;
+  typedef ib_mad_notice_attr_t  smNotice;
+
+  /* these are the globals to be used for set/get */
+  ib_node_info_t          ibsm_node_info_obj;
+  ib_port_info_t          ibsm_port_info_obj;
+  ib_switch_info_t        ibsm_switch_info_obj;
+  ibsm_lft_block_t        ibsm_lft_block_obj;
+  ibsm_mft_block_t        ibsm_mft_block_obj;
+  ib_guid_info_t          ibsm_guid_info_obj;
+  ib_pkey_table_t         ibsm_pkey_table_obj;
+  ib_slvl_table_t         ibsm_slvl_table_obj;
+  ib_vl_arb_table_t       ibsm_vl_arb_table_obj;
+  ib_node_desc_t          ibsm_node_desc_obj;
+  ib_sm_info_t            ibsm_sm_info_obj;
+  ib_mad_notice_attr_t    ibsm_notice_obj;
+
+  /* TODO - define a Vendor Specific CR Read/Write attributes to use VL15 */
+
+
+  int smMftGetAttrMod( uint16_t startLid, uint8_t startPort, uint32_t *p_attrMod )
+    {
+      if (startLid % 32)
+      {
+        printf("Error: Given startLid must be a multiply of 32: %u\n", startLid);
+        return TCL_ERROR;
+      }
+      if (startPort % 16)
+      {
+        printf("Error: Given startPort must be a multiply of 16: %u\n", startPort);
+        return TCL_ERROR;
+      }
+
+      /*
+         always true due to the uint8_t
+         if (startPort > 255)
+         {
+         printf("Error: Given startPort is out of range: %u > 255\n", startPort);
+         return TCL_ERROR;
+         }
+      */
+      *p_attrMod = ((startLid - 0xc000) / 32) + ((startPort / 16) << 28);
+      return TCL_OK;
+    }
+
+  typedef uint8_t ibsm_node_desc_str_t;
+
+typedef union {
+	 struct _sm_notice_generic
+	 {
+		uint8_t		prod_type_msb;
+		ib_net16_t	prod_type_lsb;
+		ib_net16_t	trap_num;
+	 }	generic;
+
+	 struct _sm_notice_vend
+	 {
+		uint8_t		vend_id_msb;
+		ib_net16_t	vend_id_lsb;
+		ib_net16_t	dev_id;
+	 } vend;
+  } smNotice_g_or_v;
+
+
+typedef union {
+    struct _sm_raw_data
+    {
+      uint8_array_t	details[54];
+    } raw_data;
+
+    struct _sm_ntc_64_67
+    {
+      uint8_array_t  res[6];
+      ib_gid_t   gid;	// the Node or Multicast Group that came in/out
+    } ntc_64_67;
+
+    struct _sm_ntc_128 {
+      ib_net16_t sw_lid; // the sw lid of which link state changed
+    } ntc_128;
+
+    struct _sm_ntc_129_131 {
+      ib_net16_t    pad;
+      ib_net16_t    lid;		// lid and port number of the violation
+      uint8_t       port_num;
+    } ntc_129_131;
+
+    struct _sm_ntc_144 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where capability mask changed
+      ib_net16_t    pad2;
+      ib_net32_t    new_cap_mask; // new capability mask
+    } ntc_144;
+
+    struct _sm_ntc_145 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where sys guid changed
+      ib_net16_t    pad2;
+      ib_net64_t    new_sys_guid; // new system image guid
+    } ntc_145;
+
+    struct _sm_ntc_256 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;
+      ib_net16_t    pad2;
+      uint8_t       method;
+      uint8_t       pad3;
+      ib_net16_t    attr_id;
+      ib_net32_t    attr_mod;
+      ib_net64_t    mkey;
+      uint8_t       dr_slid;
+      uint8_t       dr_trunc_hop;
+      uint8_array_t dr_rtn_path[30];
+    } ntc_256;
+
+    struct _sm_ntc_257_258 // violation of p/q_key // 49
+    {
+      ib_net16_t    pad1;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      ib_net32_t    qp2;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+    } ntc_257_258;
+
+    struct _sm_ntc_259 // p/q_key violation with sw info 53
+    {
+      ib_net16_t    data_valid;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      uint8_t       qp2_msb;
+      ib_net16_t    qp2_lsb;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+      ib_net16_t    sw_lid;
+      uint8_t       port_no;
+    } ntc_259;
+
+  } smNotice_data_details;
+
+
+typedef struct {
+		uint8_t		prod_type_msb;
+		ib_net16_t	prod_type_lsb;
+		ib_net16_t	trap_num;
+	 } smNotice_g_or_v_generic;
+
+
+typedef struct {
+		uint8_t		vend_id_msb;
+		ib_net16_t	vend_id_lsb;
+		ib_net16_t	dev_id;
+	 } smNotice_g_or_v_vend;
+
+
+typedef struct {
+      uint8_array_t	details[54];
+    } smNotice_data_details_raw_data;
+
+
+typedef struct {
+      uint8_array_t  res[6];
+      ib_gid_t   gid;	// the Node or Multicast Group that came in/out
+    } smNotice_data_details_ntc_64_67;
+
+
+typedef struct {
+      ib_net16_t sw_lid; // the sw lid of which link state changed
+    } smNotice_data_details_ntc_128;
+
+
+typedef struct {
+      ib_net16_t    pad;
+      ib_net16_t    lid;		// lid and port number of the violation
+      uint8_t       port_num;
+    } smNotice_data_details_ntc_129_131;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where capability mask changed
+      ib_net16_t    pad2;
+      ib_net32_t    new_cap_mask; // new capability mask
+    } smNotice_data_details_ntc_144;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where sys guid changed
+      ib_net16_t    pad2;
+      ib_net64_t    new_sys_guid; // new system image guid
+    } smNotice_data_details_ntc_145;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;
+      ib_net16_t    pad2;
+      uint8_t       method;
+      uint8_t       pad3;
+      ib_net16_t    attr_id;
+      ib_net32_t    attr_mod;
+      ib_net64_t    mkey;
+      uint8_t       dr_slid;
+      uint8_t       dr_trunc_hop;
+      uint8_array_t dr_rtn_path[30];
+    } smNotice_data_details_ntc_256;
+
+
+typedef struct {
+      ib_net16_t    pad1;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      ib_net32_t    qp2;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+    } smNotice_data_details_ntc_257_258;
+
+
+typedef struct {
+      ib_net16_t    data_valid;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      uint8_t       qp2_msb;
+      ib_net16_t    qp2_lsb;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+      ib_net16_t    sw_lid;
+      uint8_t       port_no;
+    } smNotice_data_details_ntc_259;
+
+
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+	/* the global pointer to this CC mads manager */
+	static ibcc_t *gp_ibcc;
+
+	/* we probably want to use our own naming for classes */
+	typedef ib_class_port_info_t       ccClassPortInfo;
+	typedef ibcc_notice_attr_t         ccNotice;
+	typedef ib_cong_info_t             ccCongestionInfo;
+	typedef ib_cong_key_info_t         ccCongestionKeyInfo;
+	typedef ibcc_ca_cong_log_t         ccCACongestionLog;
+	typedef ibcc_sw_cong_log_t         ccSWCongestionLog;
+	typedef ib_sw_cong_setting_t       ccSWCongestionSetting;
+	typedef ib_sw_port_cong_setting_t  ccSWPortCongestionSetting;
+	typedef ib_ca_cong_setting_t       ccCACongestionSetting;
+	typedef ib_cc_tbl_t                ccTable;
+	typedef ib_time_stamp_t            ccTimeStamp;
+
+	/* these are the global objects to be used
+	   for set/get (one for each attribute) */
+	ib_class_port_info_t               ibcc_class_port_info_obj;
+	ibcc_notice_attr_t                 ibcc_notice_obj;
+	ib_cong_info_t                     ibcc_cong_info_obj;
+	ib_cong_key_info_t                 ibcc_cong_key_info_obj;
+	ibcc_ca_cong_log_t                 ibcc_ca_cong_log_obj;
+	ibcc_sw_cong_log_t                 ibcc_sw_cong_log_obj;
+	ib_sw_cong_setting_t               ibcc_sw_cong_setting_obj;
+	ib_sw_port_cong_setting_t          ibcc_sw_port_cong_setting_obj;
+	ib_ca_cong_setting_t               ibcc_ca_cong_setting_obj;
+	ib_cc_tbl_t                        ibcc_table_obj;
+	ib_time_stamp_t                    ibcc_time_stamp_obj;
+
+
+  /* globals */
+  ibis_t    IbisObj;
+  static ibis_opt_t  *ibis_opt_p;
+  ibis_opt_t IbisOpts;
+
+  /* initialize the ibis object - is not done during init so we
+     can play with the options ... */
+  int ibis_ui_init(void)
+  {
+    ib_api_status_t status;
+#ifdef OSM_BUILD_OPENIB
+    complib_init();
+#endif
+
+	 status = ibis_init( &IbisOpts, IbisOpts.log_flags );
+	 if( status != IB_SUCCESS ) {
+		printf("-E- Error from ibis_init: %s.\n",
+				 ib_get_err_str( status ));
+		ibis_destroy();
+		exit(1);
+	 }
+
+    status = ibcr_init(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibcr_init.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_init(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- fail to init ibpm_init.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_init(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibvs_init.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_init(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibbbm_init.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_init(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibsm_init.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_init(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to init ibcc_init.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  /* destroy the osm object and close the complib.
+     This function is called from by the Tcl_CreateExitHandler - meaning
+     it will be called when calling 'exit' in the osm shell. */
+  void
+    ibis_exit( ClientData clientData ) {
+    ibcr_destroy(p_ibcr_global);
+    ibpm_destroy(p_ibpm_global);
+    ibvs_destroy(p_ibvs_global);
+    ibbbm_destroy(p_ibbbm_global);
+    ibsm_destroy(gp_ibsm);
+    ibcc_destroy(gp_ibcc);
+
+    ibis_destroy();
+    usleep(100);
+    complib_exit();
+  }
+
+  int ibis_ui_destroy(void)
+  {
+    ibis_exit(NULL);
+    return TCL_OK;
+  }
+
+
+  /* simply return the active port guid ibis is binded to */
+  uint64_t ibis_get_port(void)
+  {
+    return (IbisObj.port_guid);
+  }
+
+  /* set the port we bind to and initialize sub packages */
+  int ibis_set_port(uint64_t port_guid)
+  {
+    ib_api_status_t status;
+
+    if (! IbisObj.initialized) {
+      ibis_set_tcl_error("ibis was not initialized! Please use ibis_init before any call to ibis_*");
+      ibis_tcl_error = 1;
+      return 1;
+    }
+
+    IbisObj.port_guid = port_guid;
+
+    status = ibcr_bind(p_ibcr_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcr_bind.\n");
+      ibcr_destroy( p_ibcr_global );
+      exit(1);
+    }
+
+    status = ibpm_bind(p_ibpm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibpm_bind.\n");
+      ibpm_destroy( p_ibpm_global );
+      exit(1);
+    }
+
+    status = ibvs_bind(p_ibvs_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibvs_bind.\n");
+      ibvs_destroy( p_ibvs_global );
+      exit(1);
+    }
+
+    status = ibbbm_bind(p_ibbbm_global);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibbbm_bind.\n");
+      ibbbm_destroy( p_ibbbm_global );
+      exit(1);
+    }
+
+    status = ibsm_bind(gp_ibsm);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibsm_bind.\n");
+      ibsm_destroy( gp_ibsm );
+      exit(1);
+    }
+
+    status = ibcc_bind(gp_ibcc);
+    if( status != IB_SUCCESS )
+    {
+      printf("-E- Fail to ibcc_bind.\n");
+      ibcc_destroy( gp_ibcc );
+      exit(1);
+    }
+
+    if (ibsac_bind(&IbisObj))
+    {
+      printf("-E- Fail to ibsac_bind.\n");
+      exit(1);
+    }
+
+    return 0;
+  }
+
+  int ibis_set_verbosity(int level) {
+    if (IbisObj.initialized)
+      osm_log_set_level( &(IbisObj.log), level );
+    else
+      IbisOpts.log_flags = level;
+
+	 return TCL_OK;
+  }
+
+  int ibis_puts( osm_log_level_t verbosity, char *msg) {
+	 osm_log(&(IbisObj.log), verbosity, msg );
+	 return TCL_OK;
+  }
+
+  int ibis_set_transaction_timeout( uint32_t timeout_ms ) {
+	 osm_log(&(IbisObj.log),
+				OSM_LOG_VERBOSE,
+				" Setting timeout to:%u[msec]\n", timeout_ms);
+	 IbisOpts.transaction_timeout = timeout_ms;
+	 return TCL_OK;
+  }
+
+  /* return the list of port guids and their status etc */
+  static int ibis_get_local_ports_info (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj * tcl_result;
+	 ibis_t *p_ibis = &IbisObj;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_ports = GUID_ARRAY_SIZE;
+	 ib_port_attr_t attr_array[GUID_ARRAY_SIZE];
+	 static char res[128];
+	 Tcl_Obj *p_obj;
+
+    if (!IbisObj.initialized)
+    {
+      Tcl_SetStringObj(
+        Tcl_GetObjResult(interp),
+        "ibis was not yet initialized. please use ibis_init before.", -1);
+      return TCL_ERROR;
+    }
+
+	 /* command options */
+    tcl_result = Tcl_GetObjResult(interp);
+
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_get_local_ports_info ",-1);
+        return TCL_ERROR;
+    }
+
+	 /*
+		Call the transport layer for a list of local port
+		GUID values.
+	 */
+    status = osm_vendor_get_all_port_attr(
+      p_ibis->p_vendor,
+      attr_array,
+      &num_ports );
+    if( status != IB_SUCCESS )
+    {
+      sprintf(ibis_tcl_error_msg,"-E- fail status:%x\n", status);
+      ibis_tcl_error = 1;
+      return( TCL_ERROR );
+    }
+
+	 /*
+		 Go over all ports and build the return  value
+	 */
+	 for( i = 0; i < num_ports; i++ )
+    {
+
+      // start with 1 on host channel adapters.
+      sprintf(res, "0x%016" PRIx64 " 0x%04X %s %u",
+              cl_ntoh64( attr_array[i].port_guid ),
+              attr_array[i].lid,
+              ib_get_port_state_str( attr_array[i].link_state ),
+              attr_array[i].port_num
+              );
+
+      p_obj = Tcl_NewStringObj(res, strlen(res));
+      Tcl_ListObjAppendElement(interp, tcl_result, p_obj);
+    }
+
+    return TCL_OK;
+  }
+
+static int  _wrap_const_IBIS_LOG_NONE = 0x00;
+static int  _wrap_const_IBIS_LOG_ERROR = 0x01;
+static int  _wrap_const_IBIS_LOG_INFO = 0x02;
+static int  _wrap_const_IBIS_LOG_VERBOSE = 0x04;
+static int  _wrap_const_IBIS_LOG_DEBUG = 0x08;
+static int  _wrap_const_IBIS_LOG_FUNCS = 0x10;
+static int  _wrap_const_IBIS_LOG_FRAMES = 0x20;
+extern char * ibisSourceVersion;
+
+
+/* A TCL_AppInit() function that lets you build a new copy
+ * of tclsh.
+ *
+ * The macro SWIG_init contains the name of the initialization
+ * function in the wrapper file.
+ */
+
+#ifndef SWIG_RcFileName
+char *SWIG_RcFileName = "~/.myapprc";
+#endif
+
+
+#ifdef MAC_TCL
+extern int		MacintoshInit _ANSI_ARGS_((void));
+#endif
+
+int Tcl_AppInit(Tcl_Interp *interp){
+
+  if (Tcl_Init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+
+  /* Now initialize our functions */
+
+  if (SWIG_init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 5
+   Tcl_SetVar(interp,"tcl_rcFileName",SWIG_RcFileName,TCL_GLOBAL_ONLY);
+#else
+   tcl_RcFileName = SWIG_RcFileName;
+#endif
+#ifdef SWIG_RcRsrcName
+  Tcl_SetVar(interp,"tcl_rcRsrcName",SWIG_RcRsrcName,TCL_GLOBAL);
+#endif
+
+  return TCL_OK;
+}
+
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 4
+int main(int argc, char **argv) {
+#ifdef MAC_TCL
+    char *newArgv[2];
+
+    if (MacintoshInit()  != TCL_OK) {
+	Tcl_Exit(1);
+    }
+
+    argc = 1;
+    newArgv[0] = "tclsh";
+    newArgv[1] = NULL;
+    argv = newArgv;
+#endif
+
+  Tcl_Main(argc, argv, Tcl_AppInit);
+  return(0);
+
+}
+#else
+extern int main();
+#endif
+
+static int _wrap_crDestroy(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crDestroy ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_destroy_global();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crRead lid address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_read_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_crWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crWrite lid data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_crReadMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_cr_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBCR_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crReadMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBCR_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = strtoul(str, NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_multi_read_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_crWriteMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_cr_arr_t * _arg1;
+    uint32_t * _arg2;
+    uint32_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBCR_MULTI_MAX];
+    uint32_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. crWriteMulti num lid_list data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBCR_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = strtoul(str, NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibcr_multi_write_global(*_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmGetPortCounters(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetPortCounters lid port_select ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_counters_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_pmGetPortCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetPortCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_multi_counters_global(*_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_pmGetExtPortCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmGetExtPortCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_get_multi_counters_extended_global(*_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_pmClrAllCounters(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmClrAllCounters lid port_select ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_clr_all_counters_global(*_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_pmClrAllCountersMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_pm_arr_t * _arg1;
+    uint8_pm_arr_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBPM_MULTI_MAX];
+    uint8_t  temp1[IBPM_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. pmClrAllCountersMulti num lid_list port_select_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp0[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg1 = temp0;
+    free(loc_buf);
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[3],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp1[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  _arg2 = temp1;
+  free(loc_buf);
+
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibpm_clr_all_multi_counters_global(*_arg0,_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsMultiMaxGet(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMultiMaxGet ",-1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_num_of_multi_max();
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsCpuRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    char ** _arg4;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsCpuRead lid size cpu_traget_size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_cpu_read_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg4,strlen(*_arg4));
+  if (*_arg4) free(*_arg4);
+}
+    return TCL_OK;
+}
+static int _wrap_vsCpuWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint32_vs_data_arr_t * _arg3;
+    uint32_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint32_t  temp2[IBVS_DATA_MAX];
+    uint32_t  temp3;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsCpuWrite lid size cpu_traget_size data address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[4],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp2[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg3 = temp2;
+    free(loc_buf);
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_cpu_write_global(*_arg0,*_arg1,*_arg2,_arg3,*_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsI2cRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    char ** _arg5;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+
+    clientData = clientData; objv = objv;
+{
+  _arg5 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cRead lid port_num device_id size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_i2c_read_global(*_arg0,*_arg1,*_arg2,*_arg3,*_arg4,_arg5);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg5,strlen(*_arg5));
+  if (*_arg5) free(*_arg5);
+}
+    return TCL_OK;
+}
+static int _wrap_vsI2cWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    uint32_vs_data_arr_t * _arg5;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+    uint32_t  temp4[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cWrite lid port_num device_id size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[6],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp4[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg5 = temp4;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_i2c_write_global(*_arg0,*_arg1,*_arg2,*_arg3,*_arg4,_arg5);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsI2cReadMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint8_t * _arg4;
+    uint32_t * _arg5;
+    char ** _arg6;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint8_t  temp3;
+    uint32_t  temp4;
+
+    clientData = clientData; objv = objv;
+{
+  _arg6 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cReadMulti num lid_list port_num device_id size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  temp4 = strtoul(Tcl_GetStringFromObj(objv[6],NULL), NULL, 0);
+  _arg5 = &temp4;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_i2c_read_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,*_arg5,_arg6);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg6,strlen(*_arg6));
+  if (*_arg6) free(*_arg6);
+}
+    return TCL_OK;
+}
+static int _wrap_vsI2cWriteMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    uint8_t * _arg4;
+    uint32_t * _arg5;
+    uint32_vs_data_arr_t * _arg6;
+    char ** _arg7;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint8_t  temp2;
+    uint8_t  temp3;
+    uint32_t  temp4;
+    uint32_t  temp5[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg7 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 8) || (objc > 8)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsI2cWriteMulti num lid_list port_num device_id size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  temp4 = strtoul(Tcl_GetStringFromObj(objv[6],NULL), NULL, 0);
+  _arg5 = &temp4;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[7],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp5[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg6 = temp5;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_i2c_write_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,*_arg5,_arg6,_arg7);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg7,strlen(*_arg7));
+  if (*_arg7) free(*_arg7);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGpioRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGpioRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_gpio_read_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGpioWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint64_t * _arg1;
+    uint64_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint64_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGpioWrite lid gpio_mask gpio_data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[3],NULL), NULL,16);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_gpio_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsSWReset(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsSWReset num lid_list ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_sw_reset_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsFlashStartMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    uint8_t * _arg3;
+    uint32_t * _arg4;
+    uint32_vs_data_arr_t * _arg5;
+    char ** _arg6;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+    uint8_t  temp2;
+    uint32_t  temp3;
+    uint32_t  temp4[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+{
+  _arg6 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 7) || (objc > 7)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashStartMulti num lid_list last size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[6],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp4[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg5 = temp4;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_open_global(*_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg6,strlen(*_arg6));
+  if (*_arg6) free(*_arg6);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashStopMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashStopMulti num lid_list force ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_close_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashSetBankMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashSetBankMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_set_bank_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashEraseSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint32_t * _arg2;
+    char ** _arg3;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashEraseSectorMulti num lid_list address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_erase_global(*_arg0,_arg1,*_arg2,_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg3,strlen(*_arg3));
+  if (*_arg3) free(*_arg3);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashReadSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    char ** _arg4;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint32_t  temp2;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashReadSectorMulti num lid_list size address ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_read_global(*_arg0,_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg4,strlen(*_arg4));
+  if (*_arg4) free(*_arg4);
+}
+    return TCL_OK;
+}
+static int _wrap_vsFlashWriteSectorMulti(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    uint16_vs_arr_t * _arg1;
+    uint8_t * _arg2;
+    uint32_t * _arg3;
+    uint32_vs_data_arr_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0[IBVS_MULTI_MAX];
+    uint8_t  temp1;
+    uint32_t  temp2;
+    uint32_t  temp3[IBVS_DATA_MAX];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsFlashWriteSectorMulti num lid_list size address data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj(objv[2],NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp0[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  _arg1 = temp0;
+  free(loc_buf);
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj(objv[5],NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp3[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    _arg4 = temp3;
+    free(loc_buf);
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_multi_flash_write_global(*_arg0,_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsMirrorRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMirrorRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_mirror_read_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsMirrorWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsMirrorWrite lid rx_mirror tx_mirror ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_mirror_write_global(*_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_vsGetGeneralInfo(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    char ** _arg1;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGetGeneralInfo lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_general_info_get_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg1,strlen(*_arg1));
+  if (*_arg1) free(*_arg1);
+}
+    return TCL_OK;
+}
+static int _wrap_vsGetPrivateLFTMap(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    char ** _arg2;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. vsGetPrivateLFTMap lid upper_ports ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibvs_plft_map_get_global(*_arg0,*_arg1,_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result,*_arg2,strlen(*_arg2));
+  if (*_arg2) free(*_arg2);
+}
+    return TCL_OK;
+}
+static int _wrap_bbmVpdRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    uint16_t * _arg3;
+    ib_bbm_vpd_t * _arg4;
+    ib_bbm_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+    uint8_t  temp1;
+    uint16_t  temp2;
+    uint16_t  temp3;
+
+    clientData = clientData; objv = objv;
+{
+  _arg4 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVpdRead lid vpd_device_selector bytes_num offset ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_vpd_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg4) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x }",
+                        cl_ntoh64(_arg4->b_key),
+                        cl_ntoh16(_arg4->bm_sequence),
+			(_arg4->vpd_device_selector),
+			cl_ntoh16(_arg4->bytes_num),
+			cl_ntoh16(_arg4->offset));
+         for (i=0;i<cl_ntoh16(_arg4->bytes_num);i++) {
+         	sprintf(buff,"%s {data%u 0x%x} ",buff,i,_arg4->data[i]);
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmVpdWrite(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    uint16_t * _arg3;
+    uint8_t * _arg4;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+    uint16_t  temp2;
+    uint8_t  temp3;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVpdWrite lid vpd_device_selector bytes_num offset p_data ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  temp2 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp2;
+}
+{
+  temp3 = strtoul(Tcl_GetStringFromObj(objv[5],NULL), NULL, 0);
+  _arg4 = &temp3;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_write_vpd_global(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_bbmVSDRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_bsn_vpd_t * _arg1;
+    ib_bbm_bsn_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmVSDRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_bsn_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset));
+	 for (j=0;j<IBBBM_BSN_VPD_SIZE;j++) {
+		sprintf(buff,"%s {bsn%u 0x%x} ",buff,j,_arg1->bsn[j]);
+	 };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmBSNRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_bsn_vpd_t * _arg1;
+    ib_bbm_bsn_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmBSNRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_bsn_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 static int j;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset));
+	 for (j=0;j<IBBBM_BSN_VPD_SIZE;j++) {
+		sprintf(buff,"%s {bsn%u 0x%x} ",buff,j,_arg1->bsn[j]);
+	 };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmModRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_mod_vpd_t * _arg1;
+    ib_bbm_mod_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmModRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_mod_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+			cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->temp_sensor_count);
+
+         for (i=0;i<IBBBM_MOD_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,_arg1->power_sup_count);
+
+	 for (i=0;i<IBBBM_MOD_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32(_arg1->power_sup_record[i]));
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmChaRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_cha_vpd_t * _arg1;
+    ib_bbm_cha_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmChaRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_cha_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[1624];
+	 static int i;
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x } {device_sel 0x%x } {bytes_num 0x%x } {offset 0x%x } {temp_sensor_count 0x%x }",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->temp_sensor_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_TEMP_SIZE;i++) {
+         	sprintf(buff,"%s {temp%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->temp_sensor_record[i]));
+         };
+
+	 sprintf(buff,"%s {power_sup_count 0x%x} ",buff,_arg1->power_sup_count);
+
+	 for (i=0;i<IBBBM_CHA_VPD_PWR_SIZE;i++) {
+         	sprintf(buff,"%s {power%u 0x%x} ",buff,i+1,cl_ntoh32(_arg1->power_sup_record[i]));
+         };
+
+	 sprintf(buff,"%s {fan_count 0x%x} ",buff,_arg1->fan_count);
+
+   	 for (i=0;i<IBBBM_CHA_VPD_FAN_SIZE;i++) {
+         	sprintf(buff,"%s {fan%u 0x%x} ",buff,i+1,cl_ntoh16(_arg1->fan_record[i]));
+         };
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_bbmFWVerRead(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint16_t * _arg0;
+    ib_bbm_fw_ver_vpd_t * _arg1;
+    ib_bbm_fw_ver_vpd_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. bbmFWVerRead lid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibbbm_read_fw_ver_vpd_global(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (_arg1) {
+         static char buff[512];
+	 sprintf(buff, "{b_key 0x%016" PRIx64 "} {bm_sequence 0x%x} {device_sel 0x%x} {bytes_num 0x%x} {offset 0x%x} {maj_fw_ver 0x%x} {min_fw_ver 0x%x} {sub_min_fw_ver 0x%x}",
+                        cl_ntoh64(_arg1->b_key),
+                        cl_ntoh16(_arg1->bm_sequence),
+			(_arg1->vpd_device_selector),
+		        cl_ntoh16(_arg1->bytes_num),
+			cl_ntoh16(_arg1->offset),
+			_arg1->maj_fw_ver,
+			_arg1->min_fw_ver,
+			_arg1->sub_min_fw_ver);
+
+         Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  } else {
+         Tcl_SetStringObj(tcl_result, "", 0);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibis_puts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint8_t * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_puts verbosity msg ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ibis_puts(*_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_init(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_init ",-1);
+        return TCL_ERROR;
+    }
+    _result = (int )ibis_ui_init();
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_set_verbosity(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    int  _arg0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_verbosity level ",-1);
+        return TCL_ERROR;
+    }
+    if (Tcl_GetIntFromObj(interp,objv[1],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg0 = (int ) tempint;
+    _result = (int )ibis_set_verbosity(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_set_port(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint64_t * _arg0;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_port guid ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[1],NULL), NULL,16);
+  _arg0 = &temp;
+}
+    _result = (int )ibis_set_port(*_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_get_port(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_get_port ",-1);
+        return TCL_ERROR;
+    }
+    _result = (new_uint64_t *) malloc(sizeof(new_uint64_t ));
+    *(_result) = ibis_get_port();
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  free( _result );
+}
+    return TCL_OK;
+}
+static int _wrap_ibis_set_transaction_timeout(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    uint32_t * _arg0;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_set_transaction_timeout timeout_ms ",-1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[1],NULL), NULL, 0);
+  _arg0 = &temp;
+}
+    _result = (int )ibis_set_transaction_timeout(*_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibis_exit(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_exit ",-1);
+        return TCL_ERROR;
+    }
+    _result = (int )ibis_ui_destroy();
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define _ib_node_info_base_version_set(_swigobj,_swigval) (_swigobj->base_version = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_base_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_base_version_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_base_version_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_base_version_get(_swigobj) (&_swigobj->base_version)
+static int _wrap_sacNodeInfo_base_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_base_version_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_base_version_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_set(_swigobj,_swigval) (_swigobj->class_version = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_class_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_class_version_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_class_version_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_get(_swigobj) (&_swigobj->class_version)
+static int _wrap_sacNodeInfo_class_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_class_version_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_class_version_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_set(_swigobj,_swigval) (_swigobj->node_type = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_node_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_type_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_type_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_get(_swigobj) (&_swigobj->node_type)
+static int _wrap_sacNodeInfo_node_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_type_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_type_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_set(_swigobj,_swigval) (_swigobj->num_ports = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_num_ports_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_num_ports_set { sacNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_num_ports_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_get(_swigobj) (&_swigobj->num_ports)
+static int _wrap_sacNodeInfo_num_ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_num_ports_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_num_ports_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_sys_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_sys_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+static int _wrap_sacNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_sys_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_sys_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+static int _wrap_sacNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_node_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_node_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_guid_set { sacNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_guid_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+static int _wrap_sacNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_guid_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_guid_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_set(_swigobj,_swigval) (_swigobj->partition_cap = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_partition_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_partition_cap_set { sacNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_partition_cap_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_get(_swigobj) (&_swigobj->partition_cap)
+static int _wrap_sacNodeInfo_partition_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_partition_cap_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_partition_cap_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_set(_swigobj,_swigval) (_swigobj->device_id = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_device_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_device_id_set { sacNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_device_id_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_get(_swigobj) (&_swigobj->device_id)
+static int _wrap_sacNodeInfo_device_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_device_id_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_device_id_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_set(_swigobj,_swigval) (_swigobj->revision = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_revision_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_revision_set { sacNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_revision_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_get(_swigobj) (&_swigobj->revision)
+static int _wrap_sacNodeInfo_revision_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_revision_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_revision_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_set(_swigobj,_swigval) (_swigobj->port_num_vendor_id = *(_swigval),_swigval)
+static int _wrap_sacNodeInfo_port_num_vendor_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_num_vendor_id_set { sacNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_num_vendor_id_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_get(_swigobj) (&_swigobj->port_num_vendor_id)
+static int _wrap_sacNodeInfo_port_num_vendor_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_port_num_vendor_id_get { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_port_num_vendor_id_get. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacNodeInfo_delete(sacNodeInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacNodeInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeInfo_delete { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeInfo_delete. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacNodeInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacNodeInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacNodeInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacNodeInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacNodeInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_base_version_set;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_class_version_set;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_type_set;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_sacNodeInfo_num_ports_set;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_sys_guid_set;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_guid_set;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_guid_set;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_sacNodeInfo_partition_cap_set;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_device_id_set;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_sacNodeInfo_revision_set;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_num_vendor_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_base_version_get;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_sacNodeInfo_class_version_get;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_type_get;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_sacNodeInfo_num_ports_get;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_sys_guid_get;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_node_guid_get;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_guid_get;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_sacNodeInfo_partition_cap_get;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_device_id_get;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_sacNodeInfo_revision_get;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_sacNodeInfo_port_num_vendor_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacNodeInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacNodeInfo_base_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_class_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_node_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_num_ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_node_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_port_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_partition_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-partition_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_device_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-device_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_revision_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revision ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeInfo_port_num_vendor_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num_vendor_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacNodeInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacNodeInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacNodeInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacNodeInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacNodeInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacNodeInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_node_record_t_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_lid_set { sacNodeRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_lid_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_record_t_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacNodeRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_lid_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_lid_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_record_t_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_info_set(_swigobj,_swigval) (_swigobj->node_info = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_node_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _result;
+    sacNodeRec * _arg0;
+    sacNodeInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_info_set { sacNodeRec * } { sacNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_info_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacNodeRec_node_info_set. Expected _sacNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacNodeInfo *)_ib_node_record_t_node_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacNodeInfo_p");
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_info_get(_swigobj) (&_swigobj->node_info)
+static int _wrap_sacNodeRec_node_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeInfo * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_info_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_info_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacNodeInfo *)_ib_node_record_t_node_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacNodeInfo_p");
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_desc_set(_swigobj,_swigval) (_swigobj->node_desc = *(_swigval),_swigval)
+static int _wrap_sacNodeRec_node_desc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_node_desc_t * _result;
+    sacNodeRec * _arg0;
+    ib_node_desc_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_node_desc_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_desc_set { sacNodeRec * } { ib_node_desc_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_desc_set. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  strcpy((char *)temp.description, Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_node_desc_t *)_ib_node_record_t_node_desc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_record_t_node_desc_get(_swigobj) (&_swigobj->node_desc)
+static int _wrap_sacNodeRec_node_desc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_node_desc_t * _result;
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_node_desc_get { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_node_desc_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_node_desc_t *)_ib_node_record_t_node_desc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacNodeRec_get(sacNodeRec *self,uint64_t  comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacNodeRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacNodeRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_get { sacNodeRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_get. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacNodeRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacNodeRec_getTable(sacNodeRec *self,uint64_t  comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacNodeRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacNodeRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_getTable { sacNodeRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_getTable. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacNodeRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacNodeRec_delete(sacNodeRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->node_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacNodeRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacNodeRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacNodeRec_delete { sacNodeRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacNodeRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacNodeRec_delete. Expected _sacNodeRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacNodeRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacNodeRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacNodeRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacNodeRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacNodeRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacNodeRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacNodeRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacNodeRec_lid_set;
+                }  else if (strcmp(_str,"-node_info") == 0) {
+                    cmd = _wrap_sacNodeRec_node_info_set;
+                }  else if (strcmp(_str,"-node_desc") == 0) {
+                    cmd = _wrap_sacNodeRec_node_desc_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -node_info -node_desc  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -node_info -node_desc  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacNodeRec_lid_get;
+                }  else if (strcmp(_str,"-node_info") == 0) {
+                    cmd = _wrap_sacNodeRec_node_info_get;
+                }  else if (strcmp(_str,"-node_desc") == 0) {
+                    cmd = _wrap_sacNodeRec_node_desc_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacNodeRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -node_info -node_desc  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -node_info -node_desc  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacNodeRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeRec_node_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacNodeRec_node_desc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_desc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacNodeRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacNodeRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacNodeRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacNodeRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacNodeRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacNodeRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_port_info_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_set { sacPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_sacPortInfo_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_set(_swigobj,_swigval) (_swigobj->subnet_prefix = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_subnet_prefix_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_prefix_set { sacPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_prefix_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_get(_swigobj) (&_swigobj->subnet_prefix)
+static int _wrap_sacPortInfo_subnet_prefix_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_prefix_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_prefix_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_base_lid_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_base_lid_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_get(_swigobj) (&_swigobj->base_lid)
+static int _wrap_sacPortInfo_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_base_lid_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_base_lid_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_set(_swigobj,_swigval) (_swigobj->master_sm_base_lid = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_master_sm_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_master_sm_base_lid_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_master_sm_base_lid_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_get(_swigobj) (&_swigobj->master_sm_base_lid)
+static int _wrap_sacPortInfo_master_sm_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_master_sm_base_lid_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_master_sm_base_lid_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_set(_swigobj,_swigval) (_swigobj->capability_mask = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_capability_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_capability_mask_set { sacPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_capability_mask_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_get(_swigobj) (&_swigobj->capability_mask)
+static int _wrap_sacPortInfo_capability_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_capability_mask_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_capability_mask_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_set(_swigobj,_swigval) (_swigobj->diag_code = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_diag_code_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_diag_code_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_diag_code_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_get(_swigobj) (&_swigobj->diag_code)
+static int _wrap_sacPortInfo_diag_code_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_diag_code_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_diag_code_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_set(_swigobj,_swigval) (_swigobj->m_key_lease_period = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_lease_period_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_lease_period_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_get(_swigobj) (&_swigobj->m_key_lease_period)
+static int _wrap_sacPortInfo_m_key_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_lease_period_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_lease_period_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_set(_swigobj,_swigval) (_swigobj->local_port_num = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_local_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_local_port_num_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_local_port_num_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_get(_swigobj) (&_swigobj->local_port_num)
+static int _wrap_sacPortInfo_local_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_local_port_num_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_local_port_num_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_set(_swigobj,_swigval) (_swigobj->link_width_enabled = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_enabled_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_enabled_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_enabled_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_get(_swigobj) (&_swigobj->link_width_enabled)
+static int _wrap_sacPortInfo_link_width_enabled_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_enabled_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_enabled_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_set(_swigobj,_swigval) (_swigobj->link_width_supported = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_supported_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_supported_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_supported_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_get(_swigobj) (&_swigobj->link_width_supported)
+static int _wrap_sacPortInfo_link_width_supported_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_supported_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_supported_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_set(_swigobj,_swigval) (_swigobj->link_width_active = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_width_active_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_active_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_active_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_get(_swigobj) (&_swigobj->link_width_active)
+static int _wrap_sacPortInfo_link_width_active_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_width_active_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_width_active_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_set(_swigobj,_swigval) (_swigobj->state_info1 = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_state_info1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info1_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info1_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_get(_swigobj) (&_swigobj->state_info1)
+static int _wrap_sacPortInfo_state_info1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info1_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info1_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_set(_swigobj,_swigval) (_swigobj->state_info2 = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_state_info2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info2_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info2_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_get(_swigobj) (&_swigobj->state_info2)
+static int _wrap_sacPortInfo_state_info2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_state_info2_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_state_info2_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_set(_swigobj,_swigval) (_swigobj->mkey_lmc = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mkey_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mkey_lmc_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mkey_lmc_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_get(_swigobj) (&_swigobj->mkey_lmc)
+static int _wrap_sacPortInfo_mkey_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mkey_lmc_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mkey_lmc_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_set(_swigobj,_swigval) (_swigobj->link_speed = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_link_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_speed_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_speed_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_get(_swigobj) (&_swigobj->link_speed)
+static int _wrap_sacPortInfo_link_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_link_speed_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_link_speed_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_set(_swigobj,_swigval) (_swigobj->mtu_smsl = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mtu_smsl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_smsl_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_smsl_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_get(_swigobj) (&_swigobj->mtu_smsl)
+static int _wrap_sacPortInfo_mtu_smsl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_smsl_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_smsl_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_set(_swigobj,_swigval) (_swigobj->vl_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_get(_swigobj) (&_swigobj->vl_cap)
+static int _wrap_sacPortInfo_vl_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_set(_swigobj,_swigval) (_swigobj->vl_high_limit = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_high_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_high_limit_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_high_limit_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_get(_swigobj) (&_swigobj->vl_high_limit)
+static int _wrap_sacPortInfo_vl_high_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_high_limit_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_high_limit_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_high_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_arb_high_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_high_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_high_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_get(_swigobj) (&_swigobj->vl_arb_high_cap)
+static int _wrap_sacPortInfo_vl_arb_high_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_high_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_high_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_low_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_arb_low_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_low_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_low_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_get(_swigobj) (&_swigobj->vl_arb_low_cap)
+static int _wrap_sacPortInfo_vl_arb_low_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_arb_low_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_arb_low_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_set(_swigobj,_swigval) (_swigobj->mtu_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_mtu_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_get(_swigobj) (&_swigobj->mtu_cap)
+static int _wrap_sacPortInfo_mtu_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_mtu_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_mtu_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_set(_swigobj,_swigval) (_swigobj->vl_stall_life = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_stall_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_stall_life_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_stall_life_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_get(_swigobj) (&_swigobj->vl_stall_life)
+static int _wrap_sacPortInfo_vl_stall_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_stall_life_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_stall_life_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_set(_swigobj,_swigval) (_swigobj->vl_enforce = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_vl_enforce_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_enforce_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_enforce_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_get(_swigobj) (&_swigobj->vl_enforce)
+static int _wrap_sacPortInfo_vl_enforce_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_vl_enforce_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_vl_enforce_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_set(_swigobj,_swigval) (_swigobj->m_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_m_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_get(_swigobj) (&_swigobj->m_key_violations)
+static int _wrap_sacPortInfo_m_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_m_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_m_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_set(_swigobj,_swigval) (_swigobj->p_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_p_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_p_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_p_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_get(_swigobj) (&_swigobj->p_key_violations)
+static int _wrap_sacPortInfo_p_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_p_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_p_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_set(_swigobj,_swigval) (_swigobj->q_key_violations = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_q_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_q_key_violations_set { sacPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_q_key_violations_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_get(_swigobj) (&_swigobj->q_key_violations)
+static int _wrap_sacPortInfo_q_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_q_key_violations_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_q_key_violations_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_set(_swigobj,_swigval) (_swigobj->guid_cap = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_guid_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_guid_cap_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_guid_cap_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_get(_swigobj) (&_swigobj->guid_cap)
+static int _wrap_sacPortInfo_guid_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_guid_cap_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_guid_cap_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_set(_swigobj,_swigval) (_swigobj->subnet_timeout = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_subnet_timeout_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_timeout_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_timeout_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_get(_swigobj) (&_swigobj->subnet_timeout)
+static int _wrap_sacPortInfo_subnet_timeout_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_subnet_timeout_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_subnet_timeout_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_set(_swigobj,_swigval) (_swigobj->resp_time_value = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_resp_time_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_resp_time_value_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_resp_time_value_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_get(_swigobj) (&_swigobj->resp_time_value)
+static int _wrap_sacPortInfo_resp_time_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_resp_time_value_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_resp_time_value_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_set(_swigobj,_swigval) (_swigobj->error_threshold = *(_swigval),_swigval)
+static int _wrap_sacPortInfo_error_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_error_threshold_set { sacPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_error_threshold_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_get(_swigobj) (&_swigobj->error_threshold)
+static int _wrap_sacPortInfo_error_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_error_threshold_get { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_error_threshold_get. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacPortInfo_delete(sacPortInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPortInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortInfo_delete { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortInfo_delete. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPortInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPortInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPortInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_set;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_prefix_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_base_lid_set;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_master_sm_base_lid_set;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_sacPortInfo_capability_mask_set;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_sacPortInfo_diag_code_set;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_lease_period_set;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_sacPortInfo_local_port_num_set;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_enabled_set;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_supported_set;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_active_set;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info1_set;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info2_set;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_sacPortInfo_mkey_lmc_set;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_sacPortInfo_link_speed_set;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_smsl_set;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_cap_set;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_high_limit_set;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_high_cap_set;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_low_cap_set;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_cap_set;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_stall_life_set;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_enforce_set;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_violations_set;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_p_key_violations_set;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_q_key_violations_set;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_guid_cap_set;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_timeout_set;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_sacPortInfo_resp_time_value_set;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_sacPortInfo_error_threshold_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_ti [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_get;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_prefix_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_base_lid_get;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_sacPortInfo_master_sm_base_lid_get;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_sacPortInfo_capability_mask_get;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_sacPortInfo_diag_code_get;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_lease_period_get;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_sacPortInfo_local_port_num_get;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_enabled_get;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_supported_get;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_sacPortInfo_link_width_active_get;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info1_get;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_sacPortInfo_state_info2_get;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_sacPortInfo_mkey_lmc_get;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_sacPortInfo_link_speed_get;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_smsl_get;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_cap_get;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_high_limit_get;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_high_cap_get;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_arb_low_cap_get;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_mtu_cap_get;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_stall_life_get;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_sacPortInfo_vl_enforce_get;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_m_key_violations_get;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_p_key_violations_get;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_sacPortInfo_q_key_violations_get;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_sacPortInfo_guid_cap_get;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_sacPortInfo_subnet_timeout_get;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_sacPortInfo_resp_time_value_get;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_sacPortInfo_error_threshold_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_tim [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPortInfo_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_subnet_prefix_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_prefix ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_master_sm_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-master_sm_base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_capability_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-capability_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_diag_code_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-diag_code ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_m_key_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_local_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_enabled_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_enabled ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_supported_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_supported ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_width_active_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_active ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_state_info1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_state_info2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mkey_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey_lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_link_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mtu_smsl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_smsl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_high_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_high_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_arb_high_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_high_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_arb_low_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_low_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_mtu_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_stall_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_stall_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_vl_enforce_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_enforce ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_m_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_p_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_q_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-q_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_guid_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_subnet_timeout_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_timeout ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_resp_time_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resp_time_value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortInfo_error_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-error_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_portinfo_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacPortRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_lid_set { sacPortRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_lid_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_portinfo_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacPortRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_lid_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_lid_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_portinfo_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacPortRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_num_set { sacPortRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_num_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_portinfo_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacPortRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_num_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_num_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_portinfo_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_info_set(_swigobj,_swigval) (_swigobj->port_info = *(_swigval),_swigval)
+static int _wrap_sacPortRec_port_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _result;
+    sacPortRec * _arg0;
+    sacPortInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_info_set { sacPortRec * } { sacPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_info_set. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacPortRec_port_info_set. Expected _sacPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPortInfo *)_ib_portinfo_record_port_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPortInfo_p");
+    return TCL_OK;
+}
+#define _ib_portinfo_record_port_info_get(_swigobj) (&_swigobj->port_info)
+static int _wrap_sacPortRec_port_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortInfo * _result;
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_port_info_get { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_port_info_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPortInfo *)_ib_portinfo_record_port_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPortInfo_p");
+    return TCL_OK;
+}
+static char * sacPortRec_get(sacPortRec *self,uint64_t  comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPortRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPortRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_get { sacPortRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_get. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPortRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPortRec_getTable(sacPortRec *self,uint64_t  comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPortRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPortRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_getTable { sacPortRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_getTable. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPortRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPortRec_delete(sacPortRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->port_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPortRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPortRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPortRec_delete { sacPortRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPortRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPortRec_delete. Expected _sacPortRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPortRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPortRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPortRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPortRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPortRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPortRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPortRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPortRec_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPortRec_port_num_set;
+                }  else if (strcmp(_str,"-port_info") == 0) {
+                    cmd = _wrap_sacPortRec_port_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -port_num -port_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -port_num -port_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPortRec_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPortRec_port_num_get;
+                }  else if (strcmp(_str,"-port_info") == 0) {
+                    cmd = _wrap_sacPortRec_port_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPortRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -port_num -port_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -port_num -port_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPortRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPortRec_port_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPortRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPortRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPortRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPortRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPortRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPortRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sm_info_guid_set(_swigobj,_swigval) (_swigobj->guid = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_guid_set { sacSmInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_guid_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_guid_get(_swigobj) (&_swigobj->guid)
+static int _wrap_sacSmInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_guid_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_guid_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_sm_key_set { sacSmInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_sm_key_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_sm_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_sacSmInfo_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_sm_key_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_sm_key_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_sm_info_sm_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_act_count_set(_swigobj,_swigval) (_swigobj->act_count = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_act_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacSmInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_act_count_set { sacSmInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_act_count_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sm_info_act_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_act_count_get(_swigobj) (&_swigobj->act_count)
+static int _wrap_sacSmInfo_act_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_act_count_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_act_count_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sm_info_act_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_pri_state_set(_swigobj,_swigval) (_swigobj->pri_state = *(_swigval),_swigval)
+static int _wrap_sacSmInfo_pri_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSmInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_pri_state_set { sacSmInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_pri_state_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sm_info_pri_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sm_info_pri_state_get(_swigobj) (&_swigobj->pri_state)
+static int _wrap_sacSmInfo_pri_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_pri_state_get { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_pri_state_get. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sm_info_pri_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacSmInfo_delete(sacSmInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSmInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmInfo_delete { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmInfo_delete. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSmInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSmInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSmInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSmInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSmInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_sacSmInfo_guid_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_sacSmInfo_sm_key_set;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_sacSmInfo_act_count_set;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_sacSmInfo_pri_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid -sm_key -act_count -pri_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid -sm_key -act_count -pri_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_sacSmInfo_guid_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_sacSmInfo_sm_key_get;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_sacSmInfo_act_count_get;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_sacSmInfo_pri_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSmInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid -sm_key -act_count -pri_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid -sm_key -act_count -pri_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSmInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_act_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-act_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmInfo_pri_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pri_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSmInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSmInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSmInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSmInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSmInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSmInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sminfo_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSmRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSmRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_lid_set { sacSmRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_lid_set. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sminfo_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sminfo_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSmRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_lid_get { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_lid_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sminfo_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sminfo_record_sm_info_set(_swigobj,_swigval) (_swigobj->sm_info = *(_swigval),_swigval)
+static int _wrap_sacSmRec_sm_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _result;
+    sacSmRec * _arg0;
+    sacSmInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_sm_info_set { sacSmRec * } { sacSmInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_sm_info_set. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSmInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSmRec_sm_info_set. Expected _sacSmInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSmInfo *)_ib_sminfo_record_sm_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSmInfo_p");
+    return TCL_OK;
+}
+#define _ib_sminfo_record_sm_info_get(_swigobj) (&_swigobj->sm_info)
+static int _wrap_sacSmRec_sm_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmInfo * _result;
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_sm_info_get { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_sm_info_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSmInfo *)_ib_sminfo_record_sm_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSmInfo_p");
+    return TCL_OK;
+}
+static char * sacSmRec_get(sacSmRec *self,uint64_t  comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSmRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSmRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_get { sacSmRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_get. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSmRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSmRec_getTable(sacSmRec *self,uint64_t  comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSmRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSmRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_getTable { sacSmRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_getTable. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSmRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSmRec_delete(sacSmRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->sm_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSmRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSmRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSmRec_delete { sacSmRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSmRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSmRec_delete. Expected _sacSmRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSmRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSmRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSmRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSmRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSmRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSmRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSmRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSmRec_lid_set;
+                }  else if (strcmp(_str,"-sm_info") == 0) {
+                    cmd = _wrap_sacSmRec_sm_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -sm_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -sm_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSmRec_lid_get;
+                }  else if (strcmp(_str,"-sm_info") == 0) {
+                    cmd = _wrap_sacSmRec_sm_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSmRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -sm_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -sm_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSmRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSmRec_sm_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSmRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSmRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSmRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSmRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSmRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSmRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_switch_info_lin_cap_set(_swigobj,_swigval) (_swigobj->lin_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lin_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_cap_get(_swigobj) (&_swigobj->lin_cap)
+static int _wrap_sacSwInfo_lin_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_set(_swigobj,_swigval) (_swigobj->rand_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_rand_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_rand_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_rand_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_get(_swigobj) (&_swigobj->rand_cap)
+static int _wrap_sacSwInfo_rand_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_rand_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_rand_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_set(_swigobj,_swigval) (_swigobj->mcast_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_mcast_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_mcast_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_mcast_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_get(_swigobj) (&_swigobj->mcast_cap)
+static int _wrap_sacSwInfo_mcast_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_mcast_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_mcast_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_set(_swigobj,_swigval) (_swigobj->lin_top = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lin_top_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_top_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_top_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_get(_swigobj) (&_swigobj->lin_top)
+static int _wrap_sacSwInfo_lin_top_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lin_top_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lin_top_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_set(_swigobj,_swigval) (_swigobj->def_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_get(_swigobj) (&_swigobj->def_port)
+static int _wrap_sacSwInfo_def_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_set(_swigobj,_swigval) (_swigobj->def_mcast_pri_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_mcast_pri_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_pri_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_pri_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_get(_swigobj) (&_swigobj->def_mcast_pri_port)
+static int _wrap_sacSwInfo_def_mcast_pri_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_pri_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_pri_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_set(_swigobj,_swigval) (_swigobj->def_mcast_not_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_def_mcast_not_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_not_port_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_not_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_get(_swigobj) (&_swigobj->def_mcast_not_port)
+static int _wrap_sacSwInfo_def_mcast_not_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_def_mcast_not_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_def_mcast_not_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_set(_swigobj,_swigval) (_swigobj->life_state = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_life_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_life_state_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_life_state_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_get(_swigobj) (&_swigobj->life_state)
+static int _wrap_sacSwInfo_life_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_life_state_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_life_state_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_set(_swigobj,_swigval) (_swigobj->lids_per_port = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_lids_per_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lids_per_port_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lids_per_port_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_get(_swigobj) (&_swigobj->lids_per_port)
+static int _wrap_sacSwInfo_lids_per_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_lids_per_port_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_lids_per_port_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_set(_swigobj,_swigval) (_swigobj->enforce_cap = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_enforce_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_enforce_cap_set { sacSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_enforce_cap_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_get(_swigobj) (&_swigobj->enforce_cap)
+static int _wrap_sacSwInfo_enforce_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_enforce_cap_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_enforce_cap_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_set(_swigobj,_swigval) (_swigobj->flags = *(_swigval),_swigval)
+static int _wrap_sacSwInfo_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_flags_set { sacSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_flags_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_get(_swigobj) (&_swigobj->flags)
+static int _wrap_sacSwInfo_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_flags_get { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_flags_get. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static void  sacSwInfo_delete(sacSwInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSwInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwInfo_delete { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwInfo_delete. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSwInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSwInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSwInfo methods : { dump cget configure delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSwInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSwInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_cap_set;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_rand_cap_set;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_mcast_cap_set;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_top_set;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_port_set;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_pri_port_set;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_not_port_set;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_sacSwInfo_life_state_set;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_sacSwInfo_lids_per_port_set;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_enforce_cap_set;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_sacSwInfo_flags_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_cap_get;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_rand_cap_get;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_mcast_cap_get;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_sacSwInfo_lin_top_get;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_port_get;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_pri_port_get;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_sacSwInfo_def_mcast_not_port_get;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_sacSwInfo_life_state_get;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_sacSwInfo_lids_per_port_get;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_sacSwInfo_enforce_cap_get;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_sacSwInfo_flags_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSwInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSwInfo_lin_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_rand_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rand_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_mcast_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mcast_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_lin_top_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_top ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_mcast_pri_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_pri_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_def_mcast_not_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_not_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_life_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-life_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_lids_per_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lids_per_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_enforce_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-enforce_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwInfo_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSwInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSwInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSwInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSwInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSwInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSwInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_switch_info_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSwRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_lid_set { sacSwRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_lid_set. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSwRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_lid_get { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_lid_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_record_switch_info_set(_swigobj,_swigval) (_swigobj->switch_info = *(_swigval),_swigval)
+static int _wrap_sacSwRec_switch_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _result;
+    sacSwRec * _arg0;
+    sacSwInfo * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_switch_info_set { sacSwRec * } { sacSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_switch_info_set. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSwRec_switch_info_set. Expected _sacSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSwInfo *)_ib_switch_info_record_switch_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSwInfo_p");
+    return TCL_OK;
+}
+#define _ib_switch_info_record_switch_info_get(_swigobj) (&_swigobj->switch_info)
+static int _wrap_sacSwRec_switch_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwInfo * _result;
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_switch_info_get { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_switch_info_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSwInfo *)_ib_switch_info_record_switch_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSwInfo_p");
+    return TCL_OK;
+}
+static char * sacSwRec_get(sacSwRec *self,uint64_t  comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSwRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSwRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_get { sacSwRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_get. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSwRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSwRec_getTable(sacSwRec *self,uint64_t  comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSwRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSwRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_getTable { sacSwRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_getTable. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSwRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSwRec_delete(sacSwRec *self) {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->switch_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSwRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSwRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSwRec_delete { sacSwRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSwRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSwRec_delete. Expected _sacSwRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSwRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSwRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSwRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSwRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSwRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSwRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSwRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSwRec_lid_set;
+                }  else if (strcmp(_str,"-switch_info") == 0) {
+                    cmd = _wrap_sacSwRec_switch_info_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -switch_info  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -switch_info  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSwRec_lid_get;
+                }  else if (strcmp(_str,"-switch_info") == 0) {
+                    cmd = _wrap_sacSwRec_switch_info_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSwRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -switch_info  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -switch_info  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSwRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSwRec_switch_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-switch_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSwRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSwRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSwRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSwRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSwRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSwRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_link_record_from_lid_set(_swigobj,_swigval) (_swigobj->from_lid = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_from_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_lid_set { sacLinkRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_lid_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_from_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_lid_get(_swigobj) (&_swigobj->from_lid)
+static int _wrap_sacLinkRec_from_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_lid_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_lid_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_from_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_port_num_set(_swigobj,_swigval) (_swigobj->from_port_num = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_from_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_port_num_set { sacLinkRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_port_num_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_from_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_from_port_num_get(_swigobj) (&_swigobj->from_port_num)
+static int _wrap_sacLinkRec_from_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_from_port_num_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_from_port_num_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_from_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_port_num_set(_swigobj,_swigval) (_swigobj->to_port_num = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_to_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_port_num_set { sacLinkRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_port_num_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_to_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_port_num_get(_swigobj) (&_swigobj->to_port_num)
+static int _wrap_sacLinkRec_to_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_port_num_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_port_num_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_link_record_to_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_lid_set(_swigobj,_swigval) (_swigobj->to_lid = *(_swigval),_swigval)
+static int _wrap_sacLinkRec_to_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_lid_set { sacLinkRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_lid_set. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_to_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_link_record_to_lid_get(_swigobj) (&_swigobj->to_lid)
+static int _wrap_sacLinkRec_to_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_to_lid_get { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_to_lid_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_link_record_to_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacLinkRec_get(sacLinkRec *self,uint64_t  comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacLinkRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLinkRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_get { sacLinkRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_get. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLinkRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacLinkRec_getTable(sacLinkRec *self,uint64_t  comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacLinkRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLinkRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_getTable { sacLinkRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_getTable. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLinkRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacLinkRec_delete(sacLinkRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacLinkRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacLinkRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLinkRec_delete { sacLinkRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLinkRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLinkRec_delete. Expected _sacLinkRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacLinkRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacLinkRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacLinkRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacLinkRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacLinkRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacLinkRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacLinkRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-from_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_from_lid_set;
+                }  else if (strcmp(_str,"-from_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_from_port_num_set;
+                }  else if (strcmp(_str,"-to_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_to_port_num_set;
+                }  else if (strcmp(_str,"-to_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_to_lid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-from_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_from_lid_get;
+                }  else if (strcmp(_str,"-from_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_from_port_num_get;
+                }  else if (strcmp(_str,"-to_port_num") == 0) {
+                    cmd = _wrap_sacLinkRec_to_port_num_get;
+                }  else if (strcmp(_str,"-to_lid") == 0) {
+                    cmd = _wrap_sacLinkRec_to_lid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacLinkRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -from_lid -from_port_num -to_port_num -to_lid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -from_lid -from_port_num -to_port_num -to_lid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacLinkRec_from_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-from_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_from_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-from_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_to_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-to_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLinkRec_to_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-to_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacLinkRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacLinkRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacLinkRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacLinkRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacLinkRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacLinkRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_path_rec_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_sacPathRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPathRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_service_id_set { sacPathRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_service_id_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_path_rec_service_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_sacPathRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_service_id_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_service_id_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_path_rec_service_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dgid_set(_swigobj,_swigval) (_swigobj->dgid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_dgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dgid_set { sacPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dgid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_dgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dgid_get(_swigobj) (&_swigobj->dgid)
+static int _wrap_sacPathRec_dgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dgid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dgid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_dgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_sgid_set(_swigobj,_swigval) (_swigobj->sgid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_sgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_sgid_set { sacPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_sgid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_sgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_sgid_get(_swigobj) (&_swigobj->sgid)
+static int _wrap_sacPathRec_sgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_sgid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_sgid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_path_rec_sgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dlid_set(_swigobj,_swigval) (_swigobj->dlid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_dlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dlid_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dlid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_dlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_dlid_get(_swigobj) (&_swigobj->dlid)
+static int _wrap_sacPathRec_dlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_dlid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_dlid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_dlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_slid_set(_swigobj,_swigval) (_swigobj->slid = *(_swigval),_swigval)
+static int _wrap_sacPathRec_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_slid_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_slid_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_slid_get(_swigobj) (&_swigobj->slid)
+static int _wrap_sacPathRec_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_slid_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_slid_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_hop_flow_raw_set(_swigobj,_swigval) (_swigobj->hop_flow_raw = *(_swigval),_swigval)
+static int _wrap_sacPathRec_hop_flow_raw_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPathRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_hop_flow_raw_set { sacPathRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_hop_flow_raw_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_path_rec_hop_flow_raw_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_hop_flow_raw_get(_swigobj) (&_swigobj->hop_flow_raw)
+static int _wrap_sacPathRec_hop_flow_raw_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_hop_flow_raw_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_hop_flow_raw_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_path_rec_hop_flow_raw_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_sacPathRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_tclass_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_tclass_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_tclass_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_sacPathRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_tclass_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_tclass_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_tclass_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_num_path_set(_swigobj,_swigval) (_swigobj->num_path = *(_swigval),_swigval)
+static int _wrap_sacPathRec_num_path_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_num_path_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_num_path_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_num_path_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_num_path_get(_swigobj) (&_swigobj->num_path)
+static int _wrap_sacPathRec_num_path_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_num_path_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_num_path_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_num_path_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_sacPathRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkey_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkey_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_sacPathRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkey_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkey_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_qos_class_sl_set(_swigobj,_swigval) (_swigobj->qos_class_sl = *(_swigval),_swigval)
+static int _wrap_sacPathRec_qos_class_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_qos_class_sl_set { sacPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_qos_class_sl_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_qos_class_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_qos_class_sl_get(_swigobj) (&_swigobj->qos_class_sl)
+static int _wrap_sacPathRec_qos_class_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_qos_class_sl_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_qos_class_sl_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_path_rec_qos_class_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_sacPathRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_mtu_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_mtu_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_mtu_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_sacPathRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_mtu_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_mtu_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_mtu_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_sacPathRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_rate_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_rate_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_sacPathRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_rate_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_rate_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_sacPathRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkt_life_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkt_life_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_sacPathRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_pkt_life_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_pkt_life_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_pkt_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_preference_set(_swigobj,_swigval) (_swigobj->preference = *(_swigval),_swigval)
+static int _wrap_sacPathRec_preference_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_preference_set { sacPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_preference_set. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_preference_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_path_rec_preference_get(_swigobj) (&_swigobj->preference)
+static int _wrap_sacPathRec_preference_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_preference_get { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_preference_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_path_rec_preference_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacPathRec_get(sacPathRec *self,uint64_t  comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPathRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPathRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_get { sacPathRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_get. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPathRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPathRec_getTable(sacPathRec *self,uint64_t  comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPathRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPathRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_getTable { sacPathRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_getTable. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPathRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPathRec_delete(sacPathRec *self) {
+    free(self);
+	 SWIG_AltMnglUnregObj(self);
+  }
+static int _wrap_sacPathRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPathRec_delete { sacPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPathRec_delete. Expected _sacPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPathRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPathRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPathRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPathRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPathRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPathRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPathRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacPathRec_service_id_set;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_sacPathRec_dgid_set;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_sacPathRec_sgid_set;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_sacPathRec_dlid_set;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_sacPathRec_slid_set;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_sacPathRec_hop_flow_raw_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacPathRec_tclass_set;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_sacPathRec_num_path_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacPathRec_pkey_set;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_sacPathRec_qos_class_sl_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacPathRec_mtu_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacPathRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacPathRec_pkt_life_set;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_sacPathRec_preference_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacPathRec_service_id_get;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_sacPathRec_dgid_get;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_sacPathRec_sgid_get;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_sacPathRec_dlid_get;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_sacPathRec_slid_get;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_sacPathRec_hop_flow_raw_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacPathRec_tclass_get;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_sacPathRec_num_path_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacPathRec_pkey_get;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_sacPathRec_qos_class_sl_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacPathRec_mtu_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacPathRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacPathRec_pkt_life_get;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_sacPathRec_preference_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPathRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPathRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_dgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_sgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_dlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_hop_flow_raw_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-hop_flow_raw ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_num_path_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_path ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_qos_class_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qos_class_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPathRec_preference_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-preference ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPathRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPathRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPathRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPathRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPathRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPathRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_lft_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacLFTRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lid_set { sacLFTRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lid_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacLFTRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lid_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lid_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacLFTRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_block_num_set { sacLFTRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_block_num_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacLFTRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_block_num_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_block_num_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_lft_t * _ib_lft_record_lft_set(sacLFTRec *obj, ib_lft_t val[64]) {
+{
+  int i;
+  int m = 64;
+  if (m > 64) m = 64;
+  for (i=0; i <64 ; i++) {
+    obj->lft[i] = *(val+i);
+  }
+}
+    return (ib_lft_t *) val;
+}
+static int _wrap_sacLFTRec_lft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_lft_t * _result;
+    sacLFTRec * _arg0;
+    ib_lft_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lft_set { sacLFTRec * } { ib_lft_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lft_set. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_ib_lft_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacLFTRec_lft_set. Expected _ib_lft_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_lft_t *)_ib_lft_record_lft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+	 sprintf(buf, "{%u %u} ", i, _result[i]);
+	 Tcl_AppendToObj(tcl_result, buf, -1);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lft_get(_swigobj) ((ib_lft_t *) _swigobj->lft)
+static int _wrap_sacLFTRec_lft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_lft_t * _result;
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_lft_get { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_lft_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_lft_t *)_ib_lft_record_lft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+	 sprintf(buf, "{%u %u} ", i, _result[i]);
+	 Tcl_AppendToObj(tcl_result, buf, -1);
+  }
+}
+    return TCL_OK;
+}
+static char * sacLFTRec_get(sacLFTRec *self,uint64_t  comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacLFTRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLFTRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_get { sacLFTRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_get. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLFTRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacLFTRec_getTable(sacLFTRec *self,uint64_t  comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacLFTRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacLFTRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_getTable { sacLFTRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_getTable. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacLFTRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacLFTRec_delete(sacLFTRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacLFTRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacLFTRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacLFTRec_delete { sacLFTRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacLFTRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacLFTRec_delete. Expected _sacLFTRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacLFTRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacLFTRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacLFTRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacLFTRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacLFTRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacLFTRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacLFTRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacLFTRec_lid_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacLFTRec_block_num_set;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_sacLFTRec_lft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -block_num -lft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -block_num -lft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacLFTRec_lid_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacLFTRec_block_num_get;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_sacLFTRec_lft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacLFTRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -block_num -lft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -block_num -lft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacLFTRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLFTRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacLFTRec_lft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacLFTRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacLFTRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacLFTRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacLFTRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacLFTRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacLFTRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_member_rec_mgid_set(_swigobj,_swigval) (_swigobj->mgid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mgid_set { sacMCMRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mgid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_mgid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mgid_get(_swigobj) (&_swigobj->mgid)
+static int _wrap_sacMCMRec_mgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mgid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mgid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_mgid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_port_gid_set(_swigobj,_swigval) (_swigobj->port_gid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_port_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_port_gid_set { sacMCMRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_port_gid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_port_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_port_gid_get(_swigobj) (&_swigobj->port_gid)
+static int _wrap_sacMCMRec_port_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_port_gid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_port_gid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_member_rec_port_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_qkey_set(_swigobj,_swigval) (_swigobj->qkey = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_qkey_set { sacMCMRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_qkey_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_qkey_get(_swigobj) (&_swigobj->qkey)
+static int _wrap_sacMCMRec_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_qkey_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_qkey_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mlid_set(_swigobj,_swigval) (_swigobj->mlid = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mlid_set { sacMCMRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mlid_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_mlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mlid_get(_swigobj) (&_swigobj->mlid)
+static int _wrap_sacMCMRec_mlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mlid_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mlid_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_mlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mtu_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mtu_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_mtu_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_sacMCMRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_mtu_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_mtu_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_mtu_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_tclass_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_tclass_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_tclass_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_sacMCMRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_tclass_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_tclass_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_tclass_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkey_set { sacMCMRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkey_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_sacMCMRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkey_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkey_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_member_rec_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_rate_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_rate_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_sacMCMRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_rate_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_rate_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkt_life_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkt_life_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_sacMCMRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_pkt_life_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_pkt_life_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_pkt_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_sl_flow_hop_set(_swigobj,_swigval) (_swigobj->sl_flow_hop = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_sl_flow_hop_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_sl_flow_hop_set { sacMCMRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_sl_flow_hop_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_sl_flow_hop_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_sl_flow_hop_get(_swigobj) (&_swigobj->sl_flow_hop)
+static int _wrap_sacMCMRec_sl_flow_hop_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_sl_flow_hop_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_sl_flow_hop_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_member_rec_sl_flow_hop_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_scope_state_set(_swigobj,_swigval) (_swigobj->scope_state = *(_swigval),_swigval)
+static int _wrap_sacMCMRec_scope_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_scope_state_set { sacMCMRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_scope_state_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_scope_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_member_rec_scope_state_get(_swigobj) (&_swigobj->scope_state)
+static int _wrap_sacMCMRec_scope_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_scope_state_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_scope_state_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_member_rec_scope_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacMCMRec_get(sacMCMRec *self,uint64_t  comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacMCMRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_get { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_getTable(sacMCMRec *self,uint64_t  comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacMCMRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_getTable { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_getTable. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_set(sacMCMRec *self,uint64_t  comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+ }
+static int _wrap_sacMCMRec_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_set { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacMCMRec_del(sacMCMRec *self,uint64_t  comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+ }
+static int _wrap_sacMCMRec_del(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacMCMRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_del { sacMCMRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_del. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacMCMRec_del(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static int  sacMCMRec_proxy_join_get(sacMCMRec *self) {
+   return(self->proxy_join);
+ }
+static int _wrap_sacMCMRec_proxy_join_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_proxy_join_get { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_proxy_join_get. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )sacMCMRec_proxy_join_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static void  sacMCMRec_proxy_join_set(sacMCMRec *self,uint8_t  proxy_join) {
+    self->proxy_join = proxy_join;
+  }
+static int _wrap_sacMCMRec_proxy_join_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacMCMRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_proxy_join_set { sacMCMRec * } proxy_join ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_proxy_join_set. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacMCMRec_proxy_join_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static void  sacMCMRec_obj_delete(sacMCMRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacMCMRec_obj_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacMCMRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacMCMRec_obj_delete { sacMCMRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacMCMRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacMCMRec_obj_delete. Expected _sacMCMRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacMCMRec_obj_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacMCMRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacMCMRec methods : { dump cget configure get getTable set del proxy_join_get proxy_join_set obj_delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacMCMRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacMCMRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacMCMRec_getTable;
+    }    else if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacMCMRec_set;
+    }    else if (strcmp(_str,"del") == 0) {
+        cmd = _wrap_sacMCMRec_del;
+    }    else if (strcmp(_str,"proxy_join_get") == 0) {
+        cmd = _wrap_sacMCMRec_proxy_join_get;
+    }    else if (strcmp(_str,"proxy_join_set") == 0) {
+        cmd = _wrap_sacMCMRec_proxy_join_set;
+    }    else if (strcmp(_str,"obj_delete") == 0) {
+        cmd = _wrap_sacMCMRec_obj_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_sacMCMRec_mgid_set;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_sacMCMRec_port_gid_set;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_sacMCMRec_qkey_set;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_sacMCMRec_mlid_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacMCMRec_mtu_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacMCMRec_tclass_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacMCMRec_pkey_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacMCMRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacMCMRec_pkt_life_set;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_sacMCMRec_sl_flow_hop_set;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_sacMCMRec_scope_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_sacMCMRec_mgid_get;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_sacMCMRec_port_gid_get;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_sacMCMRec_qkey_get;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_sacMCMRec_mlid_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_sacMCMRec_mtu_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_sacMCMRec_tclass_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_sacMCMRec_pkey_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_sacMCMRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_sacMCMRec_pkt_life_get;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_sacMCMRec_sl_flow_hop_get;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_sacMCMRec_scope_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacMCMRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacMCMRec_mgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_port_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_mlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_sl_flow_hop_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl_flow_hop ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacMCMRec_scope_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-scope_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable set del proxy_join_get proxy_join_set obj_delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacMCMRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacMCMRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacMCMRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacMCMRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacMCMRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacMCMRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsac_class_port_info_base_ver_set(_swigobj,_swigval) (_swigobj->base_ver = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_base_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_base_ver_set { sacClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_base_ver_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_base_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_base_ver_get(_swigobj) (&_swigobj->base_ver)
+static int _wrap_sacClassPortInfo_base_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_base_ver_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_base_ver_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_base_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_class_ver_set(_swigobj,_swigval) (_swigobj->class_ver = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_class_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_class_ver_set { sacClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_class_ver_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_class_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_class_ver_get(_swigobj) (&_swigobj->class_ver)
+static int _wrap_sacClassPortInfo_class_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_class_ver_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_class_ver_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_class_port_info_class_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask_set(_swigobj,_swigval) (_swigobj->cap_mask = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask_get(_swigobj) (&_swigobj->cap_mask)
+static int _wrap_sacClassPortInfo_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask2_resp_time_set(_swigobj,_swigval) (_swigobj->cap_mask2_resp_time = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_cap_mask2_resp_time_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask2_resp_time_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask2_resp_time_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_cap_mask2_resp_time_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_cap_mask2_resp_time_get(_swigobj) (&_swigobj->cap_mask2_resp_time)
+static int _wrap_sacClassPortInfo_cap_mask2_resp_time_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_cap_mask2_resp_time_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_cap_mask2_resp_time_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_cap_mask2_resp_time_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_gid_set(_swigobj,_swigval) (_swigobj->redir_gid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_gid_set { sacClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_gid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_redir_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_gid_get(_swigobj) (&_swigobj->redir_gid)
+static int _wrap_sacClassPortInfo_redir_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_gid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_gid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_redir_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->redir_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_tc_sl_fl_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_tc_sl_fl_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_tc_sl_fl_get(_swigobj) (&_swigobj->redir_tc_sl_fl)
+static int _wrap_sacClassPortInfo_redir_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_tc_sl_fl_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_tc_sl_fl_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_lid_set(_swigobj,_swigval) (_swigobj->redir_lid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_lid_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_lid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_lid_get(_swigobj) (&_swigobj->redir_lid)
+static int _wrap_sacClassPortInfo_redir_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_lid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_lid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_pkey_set(_swigobj,_swigval) (_swigobj->redir_pkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_pkey_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_pkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_pkey_get(_swigobj) (&_swigobj->redir_pkey)
+static int _wrap_sacClassPortInfo_redir_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_pkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_pkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_redir_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qp_set(_swigobj,_swigval) (_swigobj->redir_qp = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qp_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qp_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qp_get(_swigobj) (&_swigobj->redir_qp)
+static int _wrap_sacClassPortInfo_redir_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qp_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qp_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qkey_set(_swigobj,_swigval) (_swigobj->redir_qkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_redir_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qkey_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_redir_qkey_get(_swigobj) (&_swigobj->redir_qkey)
+static int _wrap_sacClassPortInfo_redir_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_redir_qkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_redir_qkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_redir_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_gid_set(_swigobj,_swigval) (_swigobj->trap_gid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_gid_set { sacClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_gid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_trap_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_gid_get(_swigobj) (&_swigobj->trap_gid)
+static int _wrap_sacClassPortInfo_trap_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_gid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_gid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_class_port_info_trap_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->trap_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_tc_sl_fl_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_tc_sl_fl_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_tc_sl_fl_get(_swigobj) (&_swigobj->trap_tc_sl_fl)
+static int _wrap_sacClassPortInfo_trap_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_tc_sl_fl_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_tc_sl_fl_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_lid_set(_swigobj,_swigval) (_swigobj->trap_lid = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_lid_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_lid_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_lid_get(_swigobj) (&_swigobj->trap_lid)
+static int _wrap_sacClassPortInfo_trap_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_lid_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_lid_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_pkey_set(_swigobj,_swigval) (_swigobj->trap_pkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_pkey_set { sacClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_pkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_pkey_get(_swigobj) (&_swigobj->trap_pkey)
+static int _wrap_sacClassPortInfo_trap_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_pkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_pkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_class_port_info_trap_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_hop_qp_set(_swigobj,_swigval) (_swigobj->trap_hop_qp = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_hop_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_hop_qp_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_hop_qp_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_hop_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_hop_qp_get(_swigobj) (&_swigobj->trap_hop_qp)
+static int _wrap_sacClassPortInfo_trap_hop_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_hop_qp_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_hop_qp_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_hop_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_qkey_set(_swigobj,_swigval) (_swigobj->trap_qkey = *(_swigval),_swigval)
+static int _wrap_sacClassPortInfo_trap_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_qkey_set { sacClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_qkey_set. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_class_port_info_trap_qkey_get(_swigobj) (&_swigobj->trap_qkey)
+static int _wrap_sacClassPortInfo_trap_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_trap_qkey_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_trap_qkey_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsac_class_port_info_trap_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * sacClassPortInfo_get(sacClassPortInfo *self) {
+    return(ibsacClassPortInfoQuery(self, 0, IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacClassPortInfo_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_get { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_get. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacClassPortInfo_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacClassPortInfo_delete(sacClassPortInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacClassPortInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacClassPortInfo_delete { sacClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacClassPortInfo_delete. Expected _sacClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacClassPortInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacClassPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacClassPortInfo methods : { dump cget configure get delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacClassPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacClassPortInfo_get;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacClassPortInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_base_ver_set;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_class_ver_set;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask_set;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_set;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_gid_set;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_lid_set;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_pkey_set;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qp_set;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qkey_set;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_gid_set;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_lid_set;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_pkey_set;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_hop_qp_set;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_qkey_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_base_ver_get;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_sacClassPortInfo_class_ver_get;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask_get;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_get;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_gid_get;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_lid_get;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_pkey_get;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qp_get;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_redir_qkey_get;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_gid_get;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_lid_get;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_pkey_get;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_hop_qp_get;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_sacClassPortInfo_trap_qkey_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacClassPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacClassPortInfo_base_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_class_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_cap_mask2_resp_time_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask2_resp_time ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_redir_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_hop_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_hop_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacClassPortInfo_trap_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacClassPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacClassPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacClassPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacClassPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacClassPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacClassPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsac_inform_info_gid_set(_swigobj,_swigval) (_swigobj->gid = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacInformInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_gid_set { sacInformInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_gid_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_inform_info_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_gid_get(_swigobj) (&_swigobj->gid)
+static int _wrap_sacInformInfo_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_gid_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_gid_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsac_inform_info_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_begin_set(_swigobj,_swigval) (_swigobj->lid_range_begin = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_lid_range_begin_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_begin_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_begin_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_begin_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_begin_get(_swigobj) (&_swigobj->lid_range_begin)
+static int _wrap_sacInformInfo_lid_range_begin_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_begin_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_begin_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_begin_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_end_set(_swigobj,_swigval) (_swigobj->lid_range_end = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_lid_range_end_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_end_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_end_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_end_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_lid_range_end_get(_swigobj) (&_swigobj->lid_range_end)
+static int _wrap_sacInformInfo_lid_range_end_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_lid_range_end_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_lid_range_end_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_lid_range_end_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_reserved1_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_reserved1_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_reserved1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_sacInformInfo_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_reserved1_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_reserved1_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_reserved1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_is_generic_set(_swigobj,_swigval) (_swigobj->is_generic = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_is_generic_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_is_generic_set { sacInformInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_is_generic_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_is_generic_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_is_generic_get(_swigobj) (&_swigobj->is_generic)
+static int _wrap_sacInformInfo_is_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_is_generic_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_is_generic_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_is_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_subscribe_set(_swigobj,_swigval) (_swigobj->subscribe = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_subscribe_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_subscribe_set { sacInformInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_subscribe_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_subscribe_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_subscribe_get(_swigobj) (&_swigobj->subscribe)
+static int _wrap_sacInformInfo_subscribe_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_subscribe_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_subscribe_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsac_inform_info_subscribe_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_trap_type_set(_swigobj,_swigval) (_swigobj->trap_type = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_trap_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_trap_type_set { sacInformInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_trap_type_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_trap_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_trap_type_get(_swigobj) (&_swigobj->trap_type)
+static int _wrap_sacInformInfo_trap_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_trap_type_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_trap_type_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsac_inform_info_trap_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsac_inform_info_g_or_v_get(_swigobj) (&_swigobj->g_or_v)
+static int _wrap_sacInformInfo_g_or_v_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_get { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_get. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v *)_ibsac_inform_info_g_or_v_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_p");
+    return TCL_OK;
+}
+static char * sacInformInfo_set(sacInformInfo *self) {
+    return(ibsacInformInfoQuery(self, 0, IB_MAD_METHOD_SET));
+  }
+static int _wrap_sacInformInfo_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_set { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_set. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacInformInfo_set(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacInformInfo_delete(sacInformInfo *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacInformInfo_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_delete { sacInformInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_delete. Expected _sacInformInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacInformInfo_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo methods : { dump cget configure set delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacInformInfo_set;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacInformInfo_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_sacInformInfo_gid_set;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_begin_set;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_end_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacInformInfo_reserved1_set;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_sacInformInfo_is_generic_set;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_sacInformInfo_subscribe_set;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_sacInformInfo_trap_type_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_sacInformInfo_gid_get;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_begin_get;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_sacInformInfo_lid_range_end_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacInformInfo_reserved1_get;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_sacInformInfo_is_generic_get;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_sacInformInfo_subscribe_get;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_sacInformInfo_trap_type_get;
+                }  else if (strcmp(_str,"-g_or_v") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -g_or_v  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -g_or_v  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_lid_range_begin_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_begin ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_lid_range_end_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_end ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_is_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-is_generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_subscribe_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subscribe ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_trap_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-g_or_v ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure set delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_generic_get(_swigobj) (&_swigobj->generic)
+static int _wrap_sacInformInfo_g_or_v_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v_generic * _result;
+    sacInformInfo_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_get { sacInformInfo_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_get. Expected _sacInformInfo_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v_generic *)sacInformInfo_g_or_v_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_generic_p");
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_get(_swigobj) (&_swigobj->vend)
+static int _wrap_sacInformInfo_g_or_v_vend_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacInformInfo_g_or_v_vend * _result;
+    sacInformInfo_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_get { sacInformInfo_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_get. Expected _sacInformInfo_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacInformInfo_g_or_v_vend *)sacInformInfo_g_or_v_vend_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacInformInfo_g_or_v_vend_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_vMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_get;
+                }  else if (strcmp(_str,"-vend") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic -vend  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic -vend  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_vCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_vMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_generic_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_trap_num_set { sacInformInfo_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_trap_num_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_sacInformInfo_g_or_v_generic_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_trap_num_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_trap_num_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(_swigobj,_swigval) (_swigobj->qpn_resp_time_val = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_qpn_resp_time_val_set { sacInformInfo_g_or_v_generic * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_qpn_resp_time_val_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_generic_qpn_resp_time_val_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(_swigobj) (&_swigobj->qpn_resp_time_val)
+static int _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_qpn_resp_time_val_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_qpn_resp_time_val_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_generic_qpn_resp_time_val_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_reserved2_set { sacInformInfo_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_reserved2_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacInformInfo_g_or_v_generic_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_reserved2_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_reserved2_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_msb_set(_swigobj,_swigval) (_swigobj->node_type_msb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_msb_set { sacInformInfo_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_msb_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_node_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_msb_get(_swigobj) (&_swigobj->node_type_msb)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_msb_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_msb_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_generic_node_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_lsb_set(_swigobj,_swigval) (_swigobj->node_type_lsb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_lsb_set { sacInformInfo_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_lsb_set. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_node_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_generic_node_type_lsb_get(_swigobj) (&_swigobj->node_type_lsb)
+static int _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_generic_node_type_lsb_get { sacInformInfo_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_generic_node_type_lsb_get. Expected _sacInformInfo_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_generic_node_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_v_genericMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v_generic methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_generic_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_set;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_set;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_get;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_get;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_generic_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_generic_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qpn_resp_time_val ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_v_genericCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v_generic * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_generic_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_generic_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v_generic object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_v_genericMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define sacInformInfo_g_or_v_vend_dev_id_set(_swigobj,_swigval) (_swigobj->dev_id = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_dev_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_dev_id_set { sacInformInfo_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_dev_id_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_dev_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_dev_id_get(_swigobj) (&_swigobj->dev_id)
+static int _wrap_sacInformInfo_g_or_v_vend_dev_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_dev_id_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_dev_id_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_dev_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(_swigobj,_swigval) (_swigobj->qpn_resp_time_val = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_qpn_resp_time_val_set { sacInformInfo_g_or_v_vend * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_qpn_resp_time_val_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_vend_qpn_resp_time_val_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(_swigobj) (&_swigobj->qpn_resp_time_val)
+static int _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_qpn_resp_time_val_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_qpn_resp_time_val_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)sacInformInfo_g_or_v_vend_qpn_resp_time_val_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_reserved2_set { sacInformInfo_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_reserved2_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacInformInfo_g_or_v_vend_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_reserved2_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_reserved2_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_msb_set(_swigobj,_swigval) (_swigobj->vendor_id_msb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_msb_set { sacInformInfo_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_msb_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_vendor_id_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_msb_get(_swigobj) (&_swigobj->vendor_id_msb)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_msb_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_msb_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)sacInformInfo_g_or_v_vend_vendor_id_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_lsb_set(_swigobj,_swigval) (_swigobj->vendor_id_lsb = *(_swigval),_swigval)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_lsb_set { sacInformInfo_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_lsb_set. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_vendor_id_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define sacInformInfo_g_or_v_vend_vendor_id_lsb_get(_swigobj) (&_swigobj->vendor_id_lsb)
+static int _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacInformInfo_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacInformInfo_g_or_v_vend_vendor_id_lsb_get { sacInformInfo_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacInformInfo_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacInformInfo_g_or_v_vend_vendor_id_lsb_get. Expected _sacInformInfo_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)sacInformInfo_g_or_v_vend_vendor_id_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacInformInfo_g_or_v_vendMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacInformInfo_g_or_v_vend methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacInformInfo_g_or_v_vend_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_set;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_set;
+                }  else if (strcmp(_str,"-vendor_id_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set;
+                }  else if (strcmp(_str,"-vendor_id_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_get;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_get;
+                }  else if (strcmp(_str,"-vendor_id_msb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get;
+                }  else if (strcmp(_str,"-vendor_id_lsb") == 0) {
+                    cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacInformInfo_g_or_v_vend_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -dev_id -qpn_resp_time_val -reserved2 -vendor_id_msb -vendor_id_lsb  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacInformInfo_g_or_v_vend_dev_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dev_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qpn_resp_time_val ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendor_id_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendor_id_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacInformInfo_g_or_v_vendCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacInformInfo_g_or_v_vend * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacInformInfo_g_or_v_vend_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacInformInfo_g_or_v_vend_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacInformInfo_g_or_v_vend object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacInformInfo_g_or_v_vendMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_service_record_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacServiceRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_id_set { sacServiceRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_id_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_service_record_service_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_sacServiceRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_id_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_id_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_service_record_service_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_gid_set(_swigobj,_swigval) (_swigobj->service_gid = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacServiceRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_gid_set { sacServiceRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_gid_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_service_record_service_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_gid_get(_swigobj) (&_swigobj->service_gid)
+static int _wrap_sacServiceRec_service_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_gid_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_gid_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ib_service_record_service_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_pkey_set(_swigobj,_swigval) (_swigobj->service_pkey = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_pkey_set { sacServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_pkey_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_service_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_pkey_get(_swigobj) (&_swigobj->service_pkey)
+static int _wrap_sacServiceRec_service_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_pkey_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_pkey_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_service_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_resv_set { sacServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_resv_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_sacServiceRec_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_resv_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_resv_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_service_record_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_lease_set(_swigobj,_swigval) (_swigobj->service_lease = *(_swigval),_swigval)
+static int _wrap_sacServiceRec_service_lease_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacServiceRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_lease_set { sacServiceRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_lease_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_service_record_service_lease_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_lease_get(_swigobj) (&_swigobj->service_lease)
+static int _wrap_sacServiceRec_service_lease_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_lease_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_lease_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_service_record_service_lease_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_service_record_service_key_set(sacServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_key[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_key_set { sacServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_key_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_key_get(_swigobj) ((uint8_array_t *) _swigobj->service_key)
+static int _wrap_sacServiceRec_service_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_key_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_key_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_svc_name_t * _ib_service_record_service_name_set(sacServiceRec *obj, ib_svc_name_t *val) {
+{
+  memcpy(&(obj->service_name), val, sizeof(ib_svc_name_t));
+}
+    return (ib_svc_name_t *) val;
+}
+static int _wrap_sacServiceRec_service_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_svc_name_t * _result;
+    sacServiceRec * _arg0;
+    ib_svc_name_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_svc_name_t  n;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_name_set { sacServiceRec * } { ib_svc_name_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_name_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *p_name;
+  int l;
+  p_name = Tcl_GetStringFromObj(objv[2], &l);
+  if (l > 63) l = 63;
+  memcpy(n, p_name, l);
+  _arg1 = &n;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_svc_name_t *)_ib_service_record_service_name_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[64];
+  strncpy(buff, (char *)(*_result), 63);
+  buff[63] = '\0';
+  Tcl_SetStringObj(tcl_result,buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_name_get(_swigobj) (&_swigobj->service_name)
+static int _wrap_sacServiceRec_service_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_svc_name_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_name_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_name_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_svc_name_t *)_ib_service_record_service_name_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[64];
+  strncpy(buff, (char *)(*_result), 63);
+  buff[63] = '\0';
+  Tcl_SetStringObj(tcl_result,buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_service_record_service_data8_set(sacServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_data8[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data8_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data8_set { sacServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data8_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_data8_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data8_get(_swigobj) ((uint8_array_t *) _swigobj->service_data8)
+static int _wrap_sacServiceRec_service_data8_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data8_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data8_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_service_record_service_data8_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net16_array_t * _ib_service_record_service_data16_set(sacServiceRec *obj, ib_net16_array_t val[8]) {
+{
+	int i;
+	for (i=0; i <8 ; i++) {
+     obj->service_data16[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data16_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[8];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data16_set { sacServiceRec * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data16_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 8))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 8; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_service_record_service_data16_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data16_get(_swigobj) ((ib_net16_array_t *) _swigobj->service_data16)
+static int _wrap_sacServiceRec_service_data16_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data16_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data16_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_service_record_service_data16_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net32_array_t * _ib_service_record_service_data32_set(sacServiceRec *obj, ib_net32_array_t val[4]) {
+{
+	int i;
+	for (i=0; i <4 ; i++) {
+     obj->service_data32[i] = *(val+i);
+	}
+}
+    return (ib_net32_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data32_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net32_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  entrys[4];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data32_set { sacServiceRec * } { ib_net32_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data32_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint32_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 4))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton32(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 4; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_array_t *)_ib_service_record_service_data32_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data32_get(_swigobj) ((ib_net32_array_t *) _swigobj->service_data32)
+static int _wrap_sacServiceRec_service_data32_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data32_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data32_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_array_t *)_ib_service_record_service_data32_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_net64_array_t * _ib_service_record_service_data64_set(sacServiceRec *obj, ib_net64_array_t val[2]) {
+{
+	int i;
+	for (i=0; i <2 ; i++) {
+     obj->service_data64[i] = *(val+i);
+	}
+}
+    return (ib_net64_array_t *) val;
+}
+static int _wrap_sacServiceRec_service_data64_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    sacServiceRec * _arg0;
+    ib_net64_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net64_t  entrys[2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data64_set { sacServiceRec * } { ib_net64_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data64_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 2))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ib_service_record_service_data64_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_service_record_service_data64_get(_swigobj) ((ib_net64_array_t *) _swigobj->service_data64)
+static int _wrap_sacServiceRec_service_data64_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_service_data64_get { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_service_data64_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ib_service_record_service_data64_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static char * sacServiceRec_get(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacServiceRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_get { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_get. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_set(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+  }
+static int _wrap_sacServiceRec_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_set { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_set. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_set(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_getTable(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacServiceRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_getTable { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_getTable. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacServiceRec_delete(sacServiceRec *self,uint64_t  comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+  }
+static int _wrap_sacServiceRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacServiceRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_delete { sacServiceRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_delete. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacServiceRec_delete(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacServiceRec_obj_delete(sacServiceRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacServiceRec_obj_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacServiceRec_obj_delete { sacServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacServiceRec_obj_delete. Expected _sacServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacServiceRec_obj_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacServiceRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacServiceRec methods : { dump cget configure get set getTable delete obj_delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacServiceRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacServiceRec_get;
+    }    else if (strcmp(_str,"set") == 0) {
+        cmd = _wrap_sacServiceRec_set;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacServiceRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacServiceRec_delete;
+    }    else if (strcmp(_str,"obj_delete") == 0) {
+        cmd = _wrap_sacServiceRec_obj_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacServiceRec_service_id_set;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_sacServiceRec_service_gid_set;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_sacServiceRec_service_pkey_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacServiceRec_resv_set;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_sacServiceRec_service_lease_set;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_sacServiceRec_service_key_set;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_sacServiceRec_service_name_set;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data8_set;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data16_set;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data32_set;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data64_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_sacServiceRec_service_id_get;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_sacServiceRec_service_gid_get;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_sacServiceRec_service_pkey_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacServiceRec_resv_get;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_sacServiceRec_service_lease_get;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_sacServiceRec_service_key_get;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_sacServiceRec_service_name_get;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data8_get;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data16_get;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data32_get;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_sacServiceRec_service_data64_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacServiceRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacServiceRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_lease_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_lease ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data8_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data8 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data16_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data16 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data32_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data32 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacServiceRec_service_data64_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data64 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get set getTable delete obj_delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacServiceRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacServiceRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacServiceRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacServiceRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacServiceRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacServiceRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ib_slvl_table_raw_vl_by_sl_set(sacSlVlTbl *obj, uint8_array_t val[IB_MAX_NUM_VLS/2]) {
+{
+	int i;
+	for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+		obj->raw_vl_by_sl[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_sacSlVlTbl_raw_vl_by_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacSlVlTbl * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[IB_MAX_NUM_VLS/2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlTbl_raw_vl_by_sl_set { sacSlVlTbl * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlTbl_raw_vl_by_sl_set. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_MAX_NUM_VLS/2))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_MAX_NUM_VLS/2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_slvl_table_raw_vl_by_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_raw_vl_by_sl_get(_swigobj) ((uint8_array_t *) _swigobj->raw_vl_by_sl)
+static int _wrap_sacSlVlTbl_raw_vl_by_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    sacSlVlTbl * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlTbl_raw_vl_by_sl_get { sacSlVlTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlTbl_raw_vl_by_sl_get. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_slvl_table_raw_vl_by_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSlVlTblMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSlVlTbl methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSlVlTbl_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -raw_vl_by_sl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -raw_vl_by_sl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSlVlTbl_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_vl_by_sl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_vl_by_sl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSlVlTbl_raw_vl_by_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_vl_by_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSlVlTblCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSlVlTbl * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSlVlTbl_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSlVlTbl_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSlVlTbl object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSlVlTblMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_slvl_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSlVlRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_lid_set { sacSlVlRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_lid_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_slvl_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacSlVlRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_lid_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_lid_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_slvl_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_in_port_num_set(_swigobj,_swigval) (_swigobj->in_port_num = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_in_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_in_port_num_set { sacSlVlRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_in_port_num_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_in_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_in_port_num_get(_swigobj) (&_swigobj->in_port_num)
+static int _wrap_sacSlVlRec_in_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_in_port_num_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_in_port_num_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_in_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_out_port_num_set(_swigobj,_swigval) (_swigobj->out_port_num = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_out_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_out_port_num_set { sacSlVlRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_out_port_num_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_out_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_out_port_num_get(_swigobj) (&_swigobj->out_port_num)
+static int _wrap_sacSlVlRec_out_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_out_port_num_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_out_port_num_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_slvl_table_record_out_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacSlVlRec * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_resv_set { sacSlVlRec * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_resv_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_slvl_table_record_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_sacSlVlRec_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_resv_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_resv_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_slvl_table_record_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_slvl_tbl_set(_swigobj,_swigval) (_swigobj->slvl_tbl = *(_swigval),_swigval)
+static int _wrap_sacSlVlRec_slvl_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlTbl * _result;
+    sacSlVlRec * _arg0;
+    sacSlVlTbl * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_slvl_tbl_set { sacSlVlRec * } { sacSlVlTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_slvl_tbl_set. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacSlVlTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacSlVlRec_slvl_tbl_set. Expected _sacSlVlTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSlVlTbl *)_ib_slvl_table_record_slvl_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSlVlTbl_p");
+    return TCL_OK;
+}
+#define _ib_slvl_table_record_slvl_tbl_get(_swigobj) (&_swigobj->slvl_tbl)
+static int _wrap_sacSlVlRec_slvl_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlTbl * _result;
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_slvl_tbl_get { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_slvl_tbl_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacSlVlTbl *)_ib_slvl_table_record_slvl_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacSlVlTbl_p");
+    return TCL_OK;
+}
+static char * sacSlVlRec_get(sacSlVlRec *self,uint64_t  comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacSlVlRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSlVlRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_get { sacSlVlRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_get. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSlVlRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacSlVlRec_getTable(sacSlVlRec *self,uint64_t  comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacSlVlRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacSlVlRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_getTable { sacSlVlRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_getTable. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacSlVlRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacSlVlRec_delete(sacSlVlRec *self) {
+	 SWIG_AltMnglUnregObj(&(self->slvl_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacSlVlRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacSlVlRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacSlVlRec_delete { sacSlVlRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacSlVlRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacSlVlRec_delete. Expected _sacSlVlRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacSlVlRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacSlVlRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacSlVlRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacSlVlRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacSlVlRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacSlVlRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacSlVlRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSlVlRec_lid_set;
+                }  else if (strcmp(_str,"-in_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_in_port_num_set;
+                }  else if (strcmp(_str,"-out_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_out_port_num_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacSlVlRec_resv_set;
+                }  else if (strcmp(_str,"-slvl_tbl") == 0) {
+                    cmd = _wrap_sacSlVlRec_slvl_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacSlVlRec_lid_get;
+                }  else if (strcmp(_str,"-in_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_in_port_num_get;
+                }  else if (strcmp(_str,"-out_port_num") == 0) {
+                    cmd = _wrap_sacSlVlRec_out_port_num_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_sacSlVlRec_resv_get;
+                }  else if (strcmp(_str,"-slvl_tbl") == 0) {
+                    cmd = _wrap_sacSlVlRec_slvl_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacSlVlRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -in_port_num -out_port_num -resv -slvl_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -in_port_num -out_port_num -resv -slvl_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacSlVlRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_in_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-in_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_out_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-out_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacSlVlRec_slvl_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slvl_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacSlVlRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacSlVlRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacSlVlRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacSlVlRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacSlVlRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacSlVlRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_vl_arb_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacVlArbRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_lid_set { sacVlArbRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_lid_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_vl_arb_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacVlArbRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_lid_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_lid_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_vl_arb_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_port_num_set { sacVlArbRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_port_num_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacVlArbRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_port_num_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_port_num_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_block_num_set { sacVlArbRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_block_num_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacVlArbRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_block_num_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_block_num_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_vl_arb_table_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_reserved_set(_swigobj,_swigval) (_swigobj->reserved = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_reserved_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacVlArbRec * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_reserved_set { sacVlArbRec * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_reserved_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_vl_arb_table_record_reserved_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_reserved_get(_swigobj) (&_swigobj->reserved)
+static int _wrap_sacVlArbRec_reserved_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_reserved_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_reserved_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint32_t *)_ib_vl_arb_table_record_reserved_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_vl_arb_tbl_set(_swigobj,_swigval) (_swigobj->vl_arb_tbl = *(_swigval),_swigval)
+static int _wrap_sacVlArbRec_vl_arb_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sac_vl_arb_tbl_t * _result;
+    sacVlArbRec * _arg0;
+    sac_vl_arb_tbl_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_vl_arb_table_t  n;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_vl_arb_tbl_set { sacVlArbRec * } { sac_vl_arb_tbl_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_vl_arb_tbl_set. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  uint8_t idx;
+  char *p_vl_str, *p_wt_str;
+  unsigned long int vl, weight;
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  memset( &n, 0, sizeof(ib_vl_arb_table_t) );
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0;
+       (idx < num_sub_lists) && (idx < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK);
+       idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    char buf[16];
+    char *p_last;
+    strcpy(buf, sub_lists[idx]);
+    p_vl_str = strtok_r(buf," \t", &p_last);
+    p_wt_str = strtok_r(NULL," \t", &p_last);
+    if (! (p_vl_str && p_wt_str)) {
+      printf("-E- Bad formatted number pair:%s\n", sub_lists[idx]);
+      return TCL_ERROR;
+    } else {
+      errno = 0;
+      vl = strtoul(p_vl_str, NULL, 0);
+      if (errno || (vl > 15)) {
+        printf("-E- Bad formatted VL:%s\n", p_vl_str);
+        return TCL_ERROR;
+      }
+
+      weight = strtoul(p_wt_str, NULL, 0);
+      if (errno || (weight > 255)) {
+        printf("-E- Bad formatted Weight:%s\n", p_wt_str);
+        return TCL_ERROR;
+      }
+
+      n.vl_entry[idx].vl = vl;
+      n.vl_entry[idx].weight = weight;
+    }
+  }
+  Tcl_Free((char *) sub_lists);
+
+  _arg1 = &n;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sac_vl_arb_tbl_t *)_ib_vl_arb_table_record_vl_arb_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  uint32_t i;
+  ib_vl_arb_table_t *p_tbl;
+  char buf[256];
+  if (_result) {
+    strcpy(buf, "");
+    p_tbl = _result;
+    /*  go over all elements */
+    for (i = 0; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++) {
+      sprintf(buf, "{0x%X 0x%02X} ",
+              p_tbl->vl_entry[i].vl, p_tbl->vl_entry[i].weight);
+      Tcl_AppendResult(interp, buf, NULL);
+    }
+  } else {
+	 Tcl_SetResult(interp, "", NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_vl_arb_table_record_vl_arb_tbl_get(_swigobj) (&_swigobj->vl_arb_tbl)
+static int _wrap_sacVlArbRec_vl_arb_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sac_vl_arb_tbl_t * _result;
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_vl_arb_tbl_get { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_vl_arb_tbl_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sac_vl_arb_tbl_t *)_ib_vl_arb_table_record_vl_arb_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  uint32_t i;
+  ib_vl_arb_table_t *p_tbl;
+  char buf[256];
+  if (_result) {
+    strcpy(buf, "");
+    p_tbl = _result;
+    /*  go over all elements */
+    for (i = 0; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++) {
+      sprintf(buf, "{0x%X 0x%02X} ",
+              p_tbl->vl_entry[i].vl, p_tbl->vl_entry[i].weight);
+      Tcl_AppendResult(interp, buf, NULL);
+    }
+  } else {
+	 Tcl_SetResult(interp, "", NULL);
+  }
+}
+    return TCL_OK;
+}
+static char * sacVlArbRec_get(sacVlArbRec *self,uint64_t  comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacVlArbRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacVlArbRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_get { sacVlArbRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_get. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacVlArbRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacVlArbRec_getTable(sacVlArbRec *self,uint64_t  comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacVlArbRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacVlArbRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_getTable { sacVlArbRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_getTable. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacVlArbRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacVlArbRec_delete(sacVlArbRec *self) {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacVlArbRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacVlArbRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacVlArbRec_delete { sacVlArbRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacVlArbRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacVlArbRec_delete. Expected _sacVlArbRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacVlArbRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacVlArbRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacVlArbRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacVlArbRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacVlArbRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacVlArbRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacVlArbRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacVlArbRec_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_port_num_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_block_num_set;
+                }  else if (strcmp(_str,"-reserved") == 0) {
+                    cmd = _wrap_sacVlArbRec_reserved_set;
+                }  else if (strcmp(_str,"-vl_arb_tbl") == 0) {
+                    cmd = _wrap_sacVlArbRec_vl_arb_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacVlArbRec_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_port_num_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacVlArbRec_block_num_get;
+                }  else if (strcmp(_str,"-reserved") == 0) {
+                    cmd = _wrap_sacVlArbRec_reserved_get;
+                }  else if (strcmp(_str,"-vl_arb_tbl") == 0) {
+                    cmd = _wrap_sacVlArbRec_vl_arb_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacVlArbRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -port_num -block_num -reserved -vl_arb_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -port_num -block_num -reserved -vl_arb_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacVlArbRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_reserved_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacVlArbRec_vl_arb_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacVlArbRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacVlArbRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacVlArbRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacVlArbRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacVlArbRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacVlArbRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ib_pkey_table_pkey_entry_set(sacPKeyTbl *obj, ib_net16_array_t val[IB_NUM_PKEY_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+     obj->pkey_entry[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_sacPKeyTbl_pkey_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacPKeyTbl * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyTbl_pkey_entry_set { sacPKeyTbl * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyTbl_pkey_entry_set. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_pkey_table_pkey_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_pkey_entry_get(_swigobj) ((ib_net16_array_t *) _swigobj->pkey_entry)
+static int _wrap_sacPKeyTbl_pkey_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    sacPKeyTbl * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyTbl_pkey_entry_get { sacPKeyTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyTbl_pkey_entry_get. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ib_pkey_table_pkey_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPKeyTblMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPKeyTbl methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPKeyTbl_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_sacPKeyTbl_pkey_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pkey_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pkey_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_sacPKeyTbl_pkey_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPKeyTbl_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pkey_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pkey_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPKeyTbl_pkey_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPKeyTblCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPKeyTbl * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPKeyTbl_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPKeyTbl_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPKeyTbl object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPKeyTblMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_pkey_table_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPKeyRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_lid_set { sacPKeyRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_lid_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pkey_table_record_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_sacPKeyRec_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_lid_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_lid_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pkey_table_record_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_block_num_set { sacPKeyRec * } { uint16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_block_num_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_block_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_sacPKeyRec_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_block_num_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_block_num_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_block_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_port_num_set { sacPKeyRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_port_num_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_sacPKeyRec_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_port_num_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_port_num_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved1_set { sacPKeyRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved1_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_reserved1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_sacPKeyRec_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved1_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved1_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_pkey_table_record_reserved1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved2_set { sacPKeyRec * } { uint16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved2_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_reserved2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_sacPKeyRec_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_t * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_reserved2_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_reserved2_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint16_t *)_ib_pkey_table_record_reserved2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_pkey_tbl_set(_swigobj,_swigval) (_swigobj->pkey_tbl = *(_swigval),_swigval)
+static int _wrap_sacPKeyRec_pkey_tbl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyTbl * _result;
+    sacPKeyRec * _arg0;
+    sacPKeyTbl * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_pkey_tbl_set { sacPKeyRec * } { sacPKeyTbl * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_pkey_tbl_set. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_sacPKeyTbl_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of sacPKeyRec_pkey_tbl_set. Expected _sacPKeyTbl_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPKeyTbl *)_ib_pkey_table_record_pkey_tbl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPKeyTbl_p");
+    return TCL_OK;
+}
+#define _ib_pkey_table_record_pkey_tbl_get(_swigobj) (&_swigobj->pkey_tbl)
+static int _wrap_sacPKeyRec_pkey_tbl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyTbl * _result;
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_pkey_tbl_get { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_pkey_tbl_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (sacPKeyTbl *)_ib_pkey_table_record_pkey_tbl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_sacPKeyTbl_p");
+    return TCL_OK;
+}
+static char * sacPKeyRec_get(sacPKeyRec *self,uint64_t  comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_sacPKeyRec_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPKeyRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_get { sacPKeyRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_get. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPKeyRec_get(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static char * sacPKeyRec_getTable(sacPKeyRec *self,uint64_t  comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  }
+static int _wrap_sacPKeyRec_getTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    sacPKeyRec * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_getTable { sacPKeyRec * } comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_getTable. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (char *)sacPKeyRec_getTable(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+free(_result);
+
+    return TCL_OK;
+}
+static void  sacPKeyRec_delete(sacPKeyRec *self) {
+	 SWIG_AltMnglUnregObj(&(self->pkey_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+static int _wrap_sacPKeyRec_delete(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    sacPKeyRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. sacPKeyRec_delete { sacPKeyRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_sacPKeyRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of sacPKeyRec_delete. Expected _sacPKeyRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      sacPKeyRec_delete(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsacPKeyRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"sacPKeyRec methods : { dump cget configure get getTable delete  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_sacPKeyRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"get") == 0) {
+        cmd = _wrap_sacPKeyRec_get;
+    }    else if (strcmp(_str,"getTable") == 0) {
+        cmd = _wrap_sacPKeyRec_getTable;
+    }    else if (strcmp(_str,"delete") == 0) {
+        cmd = _wrap_sacPKeyRec_delete;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPKeyRec_lid_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_block_num_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_port_num_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved1_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved2_set;
+                }  else if (strcmp(_str,"-pkey_tbl") == 0) {
+                    cmd = _wrap_sacPKeyRec_pkey_tbl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_sacPKeyRec_lid_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_block_num_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_sacPKeyRec_port_num_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved1_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_sacPKeyRec_reserved2_get;
+                }  else if (strcmp(_str,"-pkey_tbl") == 0) {
+                    cmd = _wrap_sacPKeyRec_pkey_tbl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_sacPKeyRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -block_num -port_num -reserved1 -reserved2 -pkey_tbl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_sacPKeyRec_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_sacPKeyRec_pkey_tbl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_tbl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure get getTable delete }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsacPKeyRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    sacPKeyRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_sacPKeyRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_sacPKeyRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a sacPKeyRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsacPKeyRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_node_info_base_version_set(_swigobj,_swigval) (_swigobj->base_version = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_base_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_base_version_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_base_version_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_base_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_base_version_get(_swigobj) (&_swigobj->base_version)
+static int _wrap_smNodeInfo_base_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_base_version_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_base_version_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_base_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_class_version_set(_swigobj,_swigval) (_swigobj->class_version = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_class_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_class_version_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_class_version_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_class_version_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_class_version_get(_swigobj) (&_swigobj->class_version)
+static int _wrap_smNodeInfo_class_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_class_version_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_class_version_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_class_version_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_type_set(_swigobj,_swigval) (_swigobj->node_type = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_node_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_type_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_type_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_node_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_type_get(_swigobj) (&_swigobj->node_type)
+static int _wrap_smNodeInfo_node_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_type_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_type_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_node_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_num_ports_set(_swigobj,_swigval) (_swigobj->num_ports = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_num_ports_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_num_ports_set { smNodeInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_num_ports_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_num_ports_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_num_ports_get(_swigobj) (&_swigobj->num_ports)
+static int _wrap_smNodeInfo_num_ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_num_ports_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_num_ports_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_node_info_num_ports_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_sys_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_sys_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+static int _wrap_smNodeInfo_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_sys_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_sys_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_node_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+static int _wrap_smNodeInfo_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_node_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_node_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_node_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_guid_set { smNodeInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_guid_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_port_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+static int _wrap_smNodeInfo_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_guid_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_guid_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_node_info_port_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_partition_cap_set(_swigobj,_swigval) (_swigobj->partition_cap = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_partition_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_partition_cap_set { smNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_partition_cap_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_partition_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_partition_cap_get(_swigobj) (&_swigobj->partition_cap)
+static int _wrap_smNodeInfo_partition_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_partition_cap_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_partition_cap_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_partition_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_device_id_set(_swigobj,_swigval) (_swigobj->device_id = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_device_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_device_id_set { smNodeInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_device_id_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_device_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_device_id_get(_swigobj) (&_swigobj->device_id)
+static int _wrap_smNodeInfo_device_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_device_id_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_device_id_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_node_info_device_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_revision_set(_swigobj,_swigval) (_swigobj->revision = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_revision_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_revision_set { smNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_revision_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_revision_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_revision_get(_swigobj) (&_swigobj->revision)
+static int _wrap_smNodeInfo_revision_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_revision_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_revision_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_revision_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_num_vendor_id_set(_swigobj,_swigval) (_swigobj->port_num_vendor_id = *(_swigval),_swigval)
+static int _wrap_smNodeInfo_port_num_vendor_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_num_vendor_id_set { smNodeInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_num_vendor_id_set. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_port_num_vendor_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_info_port_num_vendor_id_get(_swigobj) (&_swigobj->port_num_vendor_id)
+static int _wrap_smNodeInfo_port_num_vendor_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNodeInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_port_num_vendor_id_get { smNodeInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_port_num_vendor_id_get. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_node_info_port_num_vendor_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smNodeInfo_getByDr(smNodeInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_getByDr { smNodeInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_getByDr. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_setByDr(smNodeInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_setByDr { smNodeInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_setByDr. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_getByLid(smNodeInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_getByLid { smNodeInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_getByLid. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeInfo_setByLid(smNodeInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeInfo_setByLid { smNodeInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeInfo_setByLid. Expected _smNodeInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNodeInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNodeInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNodeInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smNodeInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smNodeInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smNodeInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smNodeInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_smNodeInfo_base_version_set;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_smNodeInfo_class_version_set;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_smNodeInfo_node_type_set;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_smNodeInfo_num_ports_set;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_sys_guid_set;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_node_guid_set;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_port_guid_set;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_smNodeInfo_partition_cap_set;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_smNodeInfo_device_id_set;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_smNodeInfo_revision_set;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_smNodeInfo_port_num_vendor_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_smNodeInfo_base_version_get;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_smNodeInfo_class_version_get;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_smNodeInfo_node_type_get;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_smNodeInfo_num_ports_get;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_sys_guid_get;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_node_guid_get;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_smNodeInfo_port_guid_get;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_smNodeInfo_partition_cap_get;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_smNodeInfo_device_id_get;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_smNodeInfo_revision_get;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_smNodeInfo_port_num_vendor_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNodeInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNodeInfo_base_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_class_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_node_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_num_ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_node_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_port_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_partition_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-partition_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_device_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-device_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_revision_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revision ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNodeInfo_port_num_vendor_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num_vendor_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNodeInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNodeInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNodeInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNodeInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNodeInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNodeInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_port_info_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_set { smPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_m_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_smPortInfo_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_m_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_prefix_set(_swigobj,_swigval) (_swigobj->subnet_prefix = *(_swigval),_swigval)
+static int _wrap_smPortInfo_subnet_prefix_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_prefix_set { smPortInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_prefix_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_subnet_prefix_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_prefix_get(_swigobj) (&_swigobj->subnet_prefix)
+static int _wrap_smPortInfo_subnet_prefix_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_prefix_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_prefix_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_port_info_subnet_prefix_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = *(_swigval),_swigval)
+static int _wrap_smPortInfo_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_base_lid_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_base_lid_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_base_lid_get(_swigobj) (&_swigobj->base_lid)
+static int _wrap_smPortInfo_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_base_lid_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_base_lid_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_master_sm_base_lid_set(_swigobj,_swigval) (_swigobj->master_sm_base_lid = *(_swigval),_swigval)
+static int _wrap_smPortInfo_master_sm_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_master_sm_base_lid_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_master_sm_base_lid_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_master_sm_base_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_master_sm_base_lid_get(_swigobj) (&_swigobj->master_sm_base_lid)
+static int _wrap_smPortInfo_master_sm_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_master_sm_base_lid_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_master_sm_base_lid_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_master_sm_base_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_capability_mask_set(_swigobj,_swigval) (_swigobj->capability_mask = *(_swigval),_swigval)
+static int _wrap_smPortInfo_capability_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_capability_mask_set { smPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_capability_mask_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_port_info_capability_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_capability_mask_get(_swigobj) (&_swigobj->capability_mask)
+static int _wrap_smPortInfo_capability_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_capability_mask_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_capability_mask_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_port_info_capability_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_diag_code_set(_swigobj,_swigval) (_swigobj->diag_code = *(_swigval),_swigval)
+static int _wrap_smPortInfo_diag_code_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_diag_code_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_diag_code_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_diag_code_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_diag_code_get(_swigobj) (&_swigobj->diag_code)
+static int _wrap_smPortInfo_diag_code_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_diag_code_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_diag_code_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_diag_code_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_lease_period_set(_swigobj,_swigval) (_swigobj->m_key_lease_period = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_lease_period_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_lease_period_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_lease_period_get(_swigobj) (&_swigobj->m_key_lease_period)
+static int _wrap_smPortInfo_m_key_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_lease_period_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_lease_period_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_local_port_num_set(_swigobj,_swigval) (_swigobj->local_port_num = *(_swigval),_swigval)
+static int _wrap_smPortInfo_local_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_local_port_num_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_local_port_num_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_local_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_local_port_num_get(_swigobj) (&_swigobj->local_port_num)
+static int _wrap_smPortInfo_local_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_local_port_num_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_local_port_num_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_local_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_enabled_set(_swigobj,_swigval) (_swigobj->link_width_enabled = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_enabled_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_enabled_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_enabled_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_enabled_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_enabled_get(_swigobj) (&_swigobj->link_width_enabled)
+static int _wrap_smPortInfo_link_width_enabled_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_enabled_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_enabled_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_enabled_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_supported_set(_swigobj,_swigval) (_swigobj->link_width_supported = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_supported_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_supported_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_supported_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_supported_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_supported_get(_swigobj) (&_swigobj->link_width_supported)
+static int _wrap_smPortInfo_link_width_supported_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_supported_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_supported_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_supported_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_active_set(_swigobj,_swigval) (_swigobj->link_width_active = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_width_active_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_active_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_active_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_active_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_width_active_get(_swigobj) (&_swigobj->link_width_active)
+static int _wrap_smPortInfo_link_width_active_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_width_active_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_width_active_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_width_active_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info1_set(_swigobj,_swigval) (_swigobj->state_info1 = *(_swigval),_swigval)
+static int _wrap_smPortInfo_state_info1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info1_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info1_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info1_get(_swigobj) (&_swigobj->state_info1)
+static int _wrap_smPortInfo_state_info1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info1_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info1_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info2_set(_swigobj,_swigval) (_swigobj->state_info2 = *(_swigval),_swigval)
+static int _wrap_smPortInfo_state_info2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info2_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info2_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_state_info2_get(_swigobj) (&_swigobj->state_info2)
+static int _wrap_smPortInfo_state_info2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_state_info2_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_state_info2_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_state_info2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mkey_lmc_set(_swigobj,_swigval) (_swigobj->mkey_lmc = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mkey_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mkey_lmc_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mkey_lmc_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mkey_lmc_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mkey_lmc_get(_swigobj) (&_swigobj->mkey_lmc)
+static int _wrap_smPortInfo_mkey_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mkey_lmc_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mkey_lmc_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mkey_lmc_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_speed_set(_swigobj,_swigval) (_swigobj->link_speed = *(_swigval),_swigval)
+static int _wrap_smPortInfo_link_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_speed_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_speed_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_speed_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_link_speed_get(_swigobj) (&_swigobj->link_speed)
+static int _wrap_smPortInfo_link_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_link_speed_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_link_speed_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_link_speed_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_smsl_set(_swigobj,_swigval) (_swigobj->mtu_smsl = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mtu_smsl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_smsl_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_smsl_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_smsl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_smsl_get(_swigobj) (&_swigobj->mtu_smsl)
+static int _wrap_smPortInfo_mtu_smsl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_smsl_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_smsl_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_smsl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_cap_set(_swigobj,_swigval) (_swigobj->vl_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_cap_get(_swigobj) (&_swigobj->vl_cap)
+static int _wrap_smPortInfo_vl_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_high_limit_set(_swigobj,_swigval) (_swigobj->vl_high_limit = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_high_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_high_limit_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_high_limit_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_high_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_high_limit_get(_swigobj) (&_swigobj->vl_high_limit)
+static int _wrap_smPortInfo_vl_high_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_high_limit_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_high_limit_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_high_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_high_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_high_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_arb_high_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_high_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_high_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_high_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_high_cap_get(_swigobj) (&_swigobj->vl_arb_high_cap)
+static int _wrap_smPortInfo_vl_arb_high_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_high_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_high_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_high_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_low_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_low_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_arb_low_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_low_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_low_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_low_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_arb_low_cap_get(_swigobj) (&_swigobj->vl_arb_low_cap)
+static int _wrap_smPortInfo_vl_arb_low_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_arb_low_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_arb_low_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_arb_low_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_cap_set(_swigobj,_swigval) (_swigobj->mtu_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_mtu_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_mtu_cap_get(_swigobj) (&_swigobj->mtu_cap)
+static int _wrap_smPortInfo_mtu_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_mtu_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_mtu_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_mtu_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_stall_life_set(_swigobj,_swigval) (_swigobj->vl_stall_life = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_stall_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_stall_life_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_stall_life_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_stall_life_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_stall_life_get(_swigobj) (&_swigobj->vl_stall_life)
+static int _wrap_smPortInfo_vl_stall_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_stall_life_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_stall_life_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_stall_life_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_enforce_set(_swigobj,_swigval) (_swigobj->vl_enforce = *(_swigval),_swigval)
+static int _wrap_smPortInfo_vl_enforce_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_enforce_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_enforce_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_enforce_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_vl_enforce_get(_swigobj) (&_swigobj->vl_enforce)
+static int _wrap_smPortInfo_vl_enforce_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_vl_enforce_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_vl_enforce_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_vl_enforce_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_violations_set(_swigobj,_swigval) (_swigobj->m_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_m_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_m_key_violations_get(_swigobj) (&_swigobj->m_key_violations)
+static int _wrap_smPortInfo_m_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_m_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_m_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_m_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_p_key_violations_set(_swigobj,_swigval) (_swigobj->p_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_p_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_p_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_p_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_p_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_p_key_violations_get(_swigobj) (&_swigobj->p_key_violations)
+static int _wrap_smPortInfo_p_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_p_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_p_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_p_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_q_key_violations_set(_swigobj,_swigval) (_swigobj->q_key_violations = *(_swigval),_swigval)
+static int _wrap_smPortInfo_q_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_q_key_violations_set { smPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_q_key_violations_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_q_key_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_q_key_violations_get(_swigobj) (&_swigobj->q_key_violations)
+static int _wrap_smPortInfo_q_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_q_key_violations_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_q_key_violations_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_port_info_q_key_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_guid_cap_set(_swigobj,_swigval) (_swigobj->guid_cap = *(_swigval),_swigval)
+static int _wrap_smPortInfo_guid_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_guid_cap_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_guid_cap_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_guid_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_guid_cap_get(_swigobj) (&_swigobj->guid_cap)
+static int _wrap_smPortInfo_guid_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_guid_cap_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_guid_cap_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_guid_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_timeout_set(_swigobj,_swigval) (_swigobj->subnet_timeout = *(_swigval),_swigval)
+static int _wrap_smPortInfo_subnet_timeout_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_timeout_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_timeout_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_subnet_timeout_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_subnet_timeout_get(_swigobj) (&_swigobj->subnet_timeout)
+static int _wrap_smPortInfo_subnet_timeout_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_subnet_timeout_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_subnet_timeout_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_subnet_timeout_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_resp_time_value_set(_swigobj,_swigval) (_swigobj->resp_time_value = *(_swigval),_swigval)
+static int _wrap_smPortInfo_resp_time_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_resp_time_value_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_resp_time_value_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_resp_time_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_resp_time_value_get(_swigobj) (&_swigobj->resp_time_value)
+static int _wrap_smPortInfo_resp_time_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_resp_time_value_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_resp_time_value_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_resp_time_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_error_threshold_set(_swigobj,_swigval) (_swigobj->error_threshold = *(_swigval),_swigval)
+static int _wrap_smPortInfo_error_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_error_threshold_set { smPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_error_threshold_set. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_error_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_port_info_error_threshold_get(_swigobj) (&_swigobj->error_threshold)
+static int _wrap_smPortInfo_error_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_error_threshold_get { smPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_error_threshold_get. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_port_info_error_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smPortInfo_getByDr(smPortInfo *self,ibsm_dr_path_t * dr,uint8_t  portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPortInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_getByDr { smPortInfo * } dr portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_getByDr. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_setByDr(smPortInfo *self,ibsm_dr_path_t * dr,uint8_t  portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPortInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_setByDr { smPortInfo * } dr portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_setByDr. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_getByLid(smPortInfo *self,uint16_t  lid,uint8_t  portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPortInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_getByLid { smPortInfo * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_getByLid. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPortInfo_setByLid(smPortInfo *self,uint16_t  lid,uint8_t  portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPortInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPortInfo * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPortInfo_setByLid { smPortInfo * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPortInfo_setByLid. Expected _smPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPortInfo_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smPortInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smPortInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smPortInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smPortInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smPortInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_set;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_prefix_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_base_lid_set;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_master_sm_base_lid_set;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_smPortInfo_capability_mask_set;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_smPortInfo_diag_code_set;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_lease_period_set;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_smPortInfo_local_port_num_set;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_enabled_set;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_supported_set;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_active_set;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_smPortInfo_state_info1_set;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_smPortInfo_state_info2_set;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_smPortInfo_mkey_lmc_set;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_smPortInfo_link_speed_set;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_smsl_set;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_cap_set;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_smPortInfo_vl_high_limit_set;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_high_cap_set;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_low_cap_set;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_cap_set;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_smPortInfo_vl_stall_life_set;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_smPortInfo_vl_enforce_set;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_violations_set;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_p_key_violations_set;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_q_key_violations_set;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_smPortInfo_guid_cap_set;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_timeout_set;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_smPortInfo_resp_time_value_set;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_smPortInfo_error_threshold_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_ti [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_get;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_prefix_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_base_lid_get;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_smPortInfo_master_sm_base_lid_get;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_smPortInfo_capability_mask_get;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_smPortInfo_diag_code_get;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_lease_period_get;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_smPortInfo_local_port_num_get;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_enabled_get;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_supported_get;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_smPortInfo_link_width_active_get;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_smPortInfo_state_info1_get;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_smPortInfo_state_info2_get;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_smPortInfo_mkey_lmc_get;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_smPortInfo_link_speed_get;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_smsl_get;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_cap_get;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_smPortInfo_vl_high_limit_get;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_high_cap_get;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_smPortInfo_vl_arb_low_cap_get;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_smPortInfo_mtu_cap_get;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_smPortInfo_vl_stall_life_get;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_smPortInfo_vl_enforce_get;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_m_key_violations_get;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_p_key_violations_get;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_smPortInfo_q_key_violations_get;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_smPortInfo_guid_cap_get;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_smPortInfo_subnet_timeout_get;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_smPortInfo_resp_time_value_get;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_smPortInfo_error_threshold_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_tim [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smPortInfo_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_subnet_prefix_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_prefix ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_master_sm_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-master_sm_base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_capability_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-capability_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_diag_code_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-diag_code ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_m_key_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_local_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_enabled_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_enabled ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_supported_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_supported ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_width_active_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_active ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_state_info1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_state_info2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mkey_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey_lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_link_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mtu_smsl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_smsl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_high_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_high_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_arb_high_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_high_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_arb_low_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_low_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_mtu_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_stall_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_stall_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_vl_enforce_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_enforce ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_m_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_p_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_q_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-q_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_guid_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_subnet_timeout_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_timeout ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_resp_time_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resp_time_value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smPortInfo_error_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-error_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_switch_info_lin_cap_set(_swigobj,_swigval) (_swigobj->lin_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lin_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_cap_get(_swigobj) (&_swigobj->lin_cap)
+static int _wrap_smSwInfo_lin_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_rand_cap_set(_swigobj,_swigval) (_swigobj->rand_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_rand_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_rand_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_rand_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_rand_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_rand_cap_get(_swigobj) (&_swigobj->rand_cap)
+static int _wrap_smSwInfo_rand_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_rand_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_rand_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_rand_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_mcast_cap_set(_swigobj,_swigval) (_swigobj->mcast_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_mcast_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_mcast_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_mcast_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_mcast_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_mcast_cap_get(_swigobj) (&_swigobj->mcast_cap)
+static int _wrap_smSwInfo_mcast_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_mcast_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_mcast_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_mcast_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_top_set(_swigobj,_swigval) (_swigobj->lin_top = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lin_top_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_top_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_top_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_top_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lin_top_get(_swigobj) (&_swigobj->lin_top)
+static int _wrap_smSwInfo_lin_top_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lin_top_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lin_top_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lin_top_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_port_set(_swigobj,_swigval) (_swigobj->def_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_port_get(_swigobj) (&_swigobj->def_port)
+static int _wrap_smSwInfo_def_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_pri_port_set(_swigobj,_swigval) (_swigobj->def_mcast_pri_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_mcast_pri_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_pri_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_pri_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_pri_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_pri_port_get(_swigobj) (&_swigobj->def_mcast_pri_port)
+static int _wrap_smSwInfo_def_mcast_pri_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_pri_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_pri_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_pri_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_not_port_set(_swigobj,_swigval) (_swigobj->def_mcast_not_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_def_mcast_not_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_not_port_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_not_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_not_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_def_mcast_not_port_get(_swigobj) (&_swigobj->def_mcast_not_port)
+static int _wrap_smSwInfo_def_mcast_not_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_def_mcast_not_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_def_mcast_not_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_def_mcast_not_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_life_state_set(_swigobj,_swigval) (_swigobj->life_state = *(_swigval),_swigval)
+static int _wrap_smSwInfo_life_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_life_state_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_life_state_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_life_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_life_state_get(_swigobj) (&_swigobj->life_state)
+static int _wrap_smSwInfo_life_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_life_state_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_life_state_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_life_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lids_per_port_set(_swigobj,_swigval) (_swigobj->lids_per_port = *(_swigval),_swigval)
+static int _wrap_smSwInfo_lids_per_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lids_per_port_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lids_per_port_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lids_per_port_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_lids_per_port_get(_swigobj) (&_swigobj->lids_per_port)
+static int _wrap_smSwInfo_lids_per_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_lids_per_port_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_lids_per_port_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_lids_per_port_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_enforce_cap_set(_swigobj,_swigval) (_swigobj->enforce_cap = *(_swigval),_swigval)
+static int _wrap_smSwInfo_enforce_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_enforce_cap_set { smSwInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_enforce_cap_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_enforce_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_enforce_cap_get(_swigobj) (&_swigobj->enforce_cap)
+static int _wrap_smSwInfo_enforce_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_enforce_cap_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_enforce_cap_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_switch_info_enforce_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_flags_set(_swigobj,_swigval) (_swigobj->flags = *(_swigval),_swigval)
+static int _wrap_smSwInfo_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_flags_set { smSwInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_flags_set. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_switch_info_flags_get(_swigobj) (&_swigobj->flags)
+static int _wrap_smSwInfo_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSwInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_flags_get { smSwInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_flags_get. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_switch_info_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smSwInfo_getByDr(smSwInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSwInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_getByDr { smSwInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_getByDr. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_setByDr(smSwInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSwInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_setByDr { smSwInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_setByDr. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_getByLid(smSwInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSwInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_getByLid { smSwInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_getByLid. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSwInfo_setByLid(smSwInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSwInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSwInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSwInfo_setByLid { smSwInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSwInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSwInfo_setByLid. Expected _smSwInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSwInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSwInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSwInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSwInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSwInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSwInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSwInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSwInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_smSwInfo_lin_cap_set;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_smSwInfo_rand_cap_set;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_smSwInfo_mcast_cap_set;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_smSwInfo_lin_top_set;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_port_set;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_pri_port_set;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_not_port_set;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_smSwInfo_life_state_set;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_smSwInfo_lids_per_port_set;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_smSwInfo_enforce_cap_set;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_smSwInfo_flags_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_smSwInfo_lin_cap_get;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_smSwInfo_rand_cap_get;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_smSwInfo_mcast_cap_get;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_smSwInfo_lin_top_get;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_port_get;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_pri_port_get;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_smSwInfo_def_mcast_not_port_get;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_smSwInfo_life_state_get;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_smSwInfo_lids_per_port_get;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_smSwInfo_enforce_cap_get;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_smSwInfo_flags_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSwInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSwInfo_lin_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_rand_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rand_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_mcast_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mcast_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_lin_top_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_top ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_mcast_pri_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_pri_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_def_mcast_not_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_not_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_life_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-life_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_lids_per_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lids_per_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_enforce_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-enforce_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSwInfo_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSwInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSwInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSwInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSwInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSwInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSwInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ibsm_lft_block_lft_set(smLftBlock *obj, uint8_array_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->lft[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smLftBlock_lft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smLftBlock * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_lft_set { smLftBlock * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_lft_set. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 64))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 64; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_lft_block_lft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_lft_block_lft_get(_swigobj) ((uint8_array_t *) _swigobj->lft)
+static int _wrap_smLftBlock_lft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smLftBlock * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_lft_get { smLftBlock * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_lft_get. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_lft_block_lft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smLftBlock_getByDr(smLftBlock *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smLftBlock_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_getByDr { smLftBlock * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_getByDr. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_setByDr(smLftBlock *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smLftBlock_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_setByDr { smLftBlock * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_setByDr. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_getByLid(smLftBlock *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smLftBlock_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_getByLid { smLftBlock * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_getByLid. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smLftBlock_setByLid(smLftBlock *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smLftBlock_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smLftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smLftBlock_setByLid { smLftBlock * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smLftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smLftBlock_setByLid. Expected _smLftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smLftBlock_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmLftBlockMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smLftBlock methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smLftBlock_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smLftBlock_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smLftBlock_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smLftBlock_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smLftBlock_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_smLftBlock_lft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_smLftBlock_lft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smLftBlock_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smLftBlock_lft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmLftBlockCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smLftBlock * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smLftBlock_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smLftBlock_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smLftBlock object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmLftBlockMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ibsm_mft_block_mft_set(smMftBlock *obj, ib_net16_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+     obj->mft[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_smMftBlock_mft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smMftBlock * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_mft_set { smMftBlock * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_mft_set. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_mft_block_mft_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_mft_block_mft_get(_swigobj) ((ib_net16_array_t *) _swigobj->mft)
+static int _wrap_smMftBlock_mft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smMftBlock * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_mft_get { smMftBlock * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_mft_get. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_mft_block_mft_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smMftBlock_getByDr(smMftBlock *self,ibsm_dr_path_t * dr,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smMftBlock_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_getByDr { smMftBlock * } dr startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_getByDr. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_setByDr(smMftBlock *self,ibsm_dr_path_t * dr,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smMftBlock_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_setByDr { smMftBlock * } dr startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_setByDr. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_getByLid(smMftBlock *self,uint16_t  lid,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+static int _wrap_smMftBlock_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_getByLid { smMftBlock * } lid startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_getByLid. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smMftBlock_setByLid(smMftBlock *self,uint16_t  lid,uint16_t  startLid,uint8_t  startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+static int _wrap_smMftBlock_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smMftBlock * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smMftBlock_setByLid { smMftBlock * } lid startLid startPort ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smMftBlock_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smMftBlock_setByLid. Expected _smMftBlock_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smMftBlock_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmMftBlockMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smMftBlock methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smMftBlock_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smMftBlock_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smMftBlock_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smMftBlock_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smMftBlock_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mft") == 0) {
+                    cmd = _wrap_smMftBlock_mft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mft") == 0) {
+                    cmd = _wrap_smMftBlock_mft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smMftBlock_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smMftBlock_mft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmMftBlockCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smMftBlock * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smMftBlock_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smMftBlock_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smMftBlock object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmMftBlockMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net64_array_t * _ibsm_guid_info_guid_set(smGuidInfo *obj, ib_net64_array_t val[GUID_TABLE_MAX_ENTRIES]) {
+{
+	int i;
+	for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+     obj->guid[i] = *(val+i);
+	}
+}
+    return (ib_net64_array_t *) val;
+}
+static int _wrap_smGuidInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    smGuidInfo * _arg0;
+    ib_net64_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net64_t  entrys[GUID_TABLE_MAX_ENTRIES];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_guid_set { smGuidInfo * } { ib_net64_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_guid_set. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < GUID_TABLE_MAX_ENTRIES))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < GUID_TABLE_MAX_ENTRIES; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ibsm_guid_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_guid_info_guid_get(_swigobj) ((ib_net64_array_t *) _swigobj->guid)
+static int _wrap_smGuidInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_array_t * _result;
+    smGuidInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_guid_get { smGuidInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_guid_get. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_array_t *)_ibsm_guid_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <GUID_TABLE_MAX_ENTRIES ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smGuidInfo_getByDr(smGuidInfo *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smGuidInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_getByDr { smGuidInfo * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_getByDr. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_getByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_setByDr(smGuidInfo *self,ibsm_dr_path_t * dr,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smGuidInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_setByDr { smGuidInfo * } dr blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_setByDr. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_setByDr(_arg0,_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_getByLid(smGuidInfo *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smGuidInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_getByLid { smGuidInfo * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_getByLid. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smGuidInfo_setByLid(smGuidInfo *self,uint16_t  lid,uint16_t  blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smGuidInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smGuidInfo * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smGuidInfo_setByLid { smGuidInfo * } lid blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smGuidInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smGuidInfo_setByLid. Expected _smGuidInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smGuidInfo_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmGuidInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smGuidInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smGuidInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smGuidInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smGuidInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smGuidInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smGuidInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smGuidInfo_guid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smGuidInfo_guid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smGuidInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smGuidInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmGuidInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smGuidInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smGuidInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smGuidInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smGuidInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmGuidInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_net16_array_t * _ibsm_pkey_table_pkey_entry_set(smPkeyTable *obj, ib_net16_array_t val[IB_NUM_PKEY_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+     obj->pkey_entry[i] = *(val+i);
+	}
+}
+    return (ib_net16_array_t *) val;
+}
+static int _wrap_smPkeyTable_pkey_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smPkeyTable * _arg0;
+    ib_net16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  entrys[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_pkey_entry_set { smPkeyTable * } { ib_net16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_pkey_entry_set. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_NUM_PKEY_ELEMENTS_IN_BLOCK; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_pkey_table_pkey_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_pkey_table_pkey_entry_get(_swigobj) ((ib_net16_array_t *) _swigobj->pkey_entry)
+static int _wrap_smPkeyTable_pkey_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_array_t * _result;
+    smPkeyTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_pkey_entry_get { smPkeyTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_pkey_entry_get. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_array_t *)_ibsm_pkey_table_pkey_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NUM_PKEY_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*(_result+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smPkeyTable_getByDr(smPkeyTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPkeyTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_getByDr { smPkeyTable * } dr portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_getByDr. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_setByDr(smPkeyTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPkeyTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_setByDr { smPkeyTable * } dr portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_setByDr. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_getByLid(smPkeyTable *self,uint16_t  lid,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smPkeyTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_getByLid { smPkeyTable * } lid portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_getByLid. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smPkeyTable_setByLid(smPkeyTable *self,uint16_t  lid,uint8_t  portNum,uint16_t  blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smPkeyTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smPkeyTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint16_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smPkeyTable_setByLid { smPkeyTable * } lid portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smPkeyTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smPkeyTable_setByLid. Expected _smPkeyTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smPkeyTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmPkeyTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smPkeyTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smPkeyTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smPkeyTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smPkeyTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smPkeyTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smPkeyTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_smPkeyTable_pkey_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pkey_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pkey_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pkey_entry") == 0) {
+                    cmd = _wrap_smPkeyTable_pkey_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smPkeyTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pkey_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pkey_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smPkeyTable_pkey_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmPkeyTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smPkeyTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smPkeyTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smPkeyTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smPkeyTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmPkeyTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ibsm_slvl_table_raw_vl_by_sl_set(smSlVlTable *obj, uint8_array_t val[IB_MAX_NUM_VLS/2]) {
+{
+	int i;
+	for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+		obj->raw_vl_by_sl[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smSlVlTable_raw_vl_by_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smSlVlTable * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[IB_MAX_NUM_VLS/2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_raw_vl_by_sl_set { smSlVlTable * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_raw_vl_by_sl_set. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_MAX_NUM_VLS/2))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_MAX_NUM_VLS/2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_slvl_table_raw_vl_by_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_slvl_table_raw_vl_by_sl_get(_swigobj) ((uint8_array_t *) _swigobj->raw_vl_by_sl)
+static int _wrap_smSlVlTable_raw_vl_by_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smSlVlTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_raw_vl_by_sl_get { smSlVlTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_raw_vl_by_sl_get. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibsm_slvl_table_raw_vl_by_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_MAX_NUM_VLS/2 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smSlVlTable_getByDr(smSlVlTable *self,ibsm_dr_path_t * dr,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSlVlTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_getByDr { smSlVlTable * } dr inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_getByDr. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_setByDr(smSlVlTable *self,ibsm_dr_path_t * dr,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSlVlTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_setByDr { smSlVlTable * } dr inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_setByDr. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_getByLid(smSlVlTable *self,uint16_t  lid,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSlVlTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_getByLid { smSlVlTable * } lid inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_getByLid. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSlVlTable_setByLid(smSlVlTable *self,uint16_t  lid,uint8_t  inPortNum,uint8_t  outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSlVlTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSlVlTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSlVlTable_setByLid { smSlVlTable * } lid inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSlVlTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSlVlTable_setByLid. Expected _smSlVlTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSlVlTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSlVlTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSlVlTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSlVlTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSlVlTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSlVlTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSlVlTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSlVlTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_smSlVlTable_raw_vl_by_sl_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -raw_vl_by_sl  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -raw_vl_by_sl  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_vl_by_sl") == 0) {
+                    cmd = _wrap_smSlVlTable_raw_vl_by_sl_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSlVlTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_vl_by_sl  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_vl_by_sl  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSlVlTable_raw_vl_by_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_vl_by_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSlVlTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSlVlTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSlVlTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSlVlTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSlVlTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSlVlTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_vl_arb_element_t * _ibsm_vl_arb_table_vl_entry_set(smVlArbTable *obj, ib_vl_arb_element_t val[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK]) {
+{
+	int i;
+	for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+		obj->vl_entry[i] = *(val+i);
+	}
+}
+    return (ib_vl_arb_element_t *) val;
+}
+static int _wrap_smVlArbTable_vl_entry_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_vl_arb_element_t * _result;
+    smVlArbTable * _arg0;
+    ib_vl_arb_element_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_vl_arb_element_t  entrys[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_vl_entry_set { smVlArbTable * } { ib_vl_arb_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_vl_entry_set. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *p_ch;
+  char *last;
+  long int vl, weight;
+  int   countSubLists, idx, numElements;
+  int i = 0;
+  Tcl_Obj	**subListObjArray;
+  Tcl_Obj   *tclObj;
+
+  if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+  {
+    printf("Error: wrong format for VL Arb Table: %s\n",
+           Tcl_GetStringFromObj(objv[2],NULL));
+    return TCL_ERROR;
+  }
+
+  /* go over all sub lists and convert them */
+  for (idx = 0; idx < countSubLists; idx++) {
+    if (Tcl_ListObjLength(interp, subListObjArray[idx], &numElements) != TCL_OK)
+    {
+      printf("Error: wrong format for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (numElements != 2)
+    {
+      printf("Error: wrong number of elements for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 0, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain first element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    vl = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 1, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain second element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    weight = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+
+    entrys[i].vl = vl;
+    entrys[i++].weight = weight;
+
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+
+  for (; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++)
+  {
+    entrys[i].vl = 0;
+    entrys[i].weight = 0;
+  }
+
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_vl_arb_element_t *)_ibsm_vl_arb_table_vl_entry_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[16];
+  for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "{0x%x 0x%02x} ", _result[i].vl, _result[i].weight);
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibsm_vl_arb_table_vl_entry_get(_swigobj) ((ib_vl_arb_element_t *) _swigobj->vl_entry)
+static int _wrap_smVlArbTable_vl_entry_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_vl_arb_element_t * _result;
+    smVlArbTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_vl_entry_get { smVlArbTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_vl_entry_get. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_vl_arb_element_t *)_ibsm_vl_arb_table_vl_entry_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[16];
+  for (i=0; i <IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; i++) {
+    sprintf(buff, "{0x%x 0x%02x} ", _result[i].vl, _result[i].weight);
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  smVlArbTable_getByDr(smVlArbTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smVlArbTable_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_getByDr { smVlArbTable * } dr portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_getByDr. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_getByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_setByDr(smVlArbTable *self,ibsm_dr_path_t * dr,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smVlArbTable_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    ibsm_dr_path_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_setByDr { smVlArbTable * } dr portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_setByDr. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_setByDr(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_getByLid(smVlArbTable *self,uint16_t  lid,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smVlArbTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_getByLid { smVlArbTable * } lid portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_getByLid. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_getByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smVlArbTable_setByLid(smVlArbTable *self,uint16_t  lid,uint8_t  portNum,uint8_t  block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smVlArbTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smVlArbTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    uint8_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smVlArbTable_setByLid { smVlArbTable * } lid portNum block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smVlArbTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smVlArbTable_setByLid. Expected _smVlArbTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smVlArbTable_setByLid(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmVlArbTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smVlArbTable methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smVlArbTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smVlArbTable_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smVlArbTable_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smVlArbTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smVlArbTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-vl_entry") == 0) {
+                    cmd = _wrap_smVlArbTable_vl_entry_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -vl_entry  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -vl_entry  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-vl_entry") == 0) {
+                    cmd = _wrap_smVlArbTable_vl_entry_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smVlArbTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -vl_entry  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -vl_entry  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smVlArbTable_vl_entry_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_entry ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmVlArbTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smVlArbTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smVlArbTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smVlArbTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smVlArbTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmVlArbTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ibsm_node_desc_str_t * _ibsm_node_desc_description_set(smNodeDesc *obj, ibsm_node_desc_str_t val[IB_NODE_DESCRIPTION_SIZE]) {
+{
+  strncpy((char *)obj->description,(char *)val,IB_NODE_DESCRIPTION_SIZE - 1);
+  obj->description[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+}
+    return (ibsm_node_desc_str_t *) val;
+}
+static int _wrap_smNodeDesc_description_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ibsm_node_desc_str_t * _result;
+    smNodeDesc * _arg0;
+    ibsm_node_desc_str_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp[IB_NODE_DESCRIPTION_SIZE];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_description_set { smNodeDesc * } { ibsm_node_desc_str_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_description_set. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  strcpy((char *)temp, Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ibsm_node_desc_str_t *)_ibsm_node_desc_description_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_node_desc_description_get(_swigobj) ((ibsm_node_desc_str_t *) _swigobj->description)
+static int _wrap_smNodeDesc_description_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ibsm_node_desc_str_t * _result;
+    smNodeDesc * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_description_get { smNodeDesc * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_description_get. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ibsm_node_desc_str_t *)_ibsm_node_desc_description_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)_result,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smNodeDesc_getByDr(smNodeDesc *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeDesc_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_getByDr { smNodeDesc * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_getByDr. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_setByDr(smNodeDesc *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeDesc_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_setByDr { smNodeDesc * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_setByDr. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_getByLid(smNodeDesc *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smNodeDesc_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_getByLid { smNodeDesc * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_getByLid. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNodeDesc_setByLid(smNodeDesc *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smNodeDesc_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNodeDesc * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNodeDesc_setByLid { smNodeDesc * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNodeDesc_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNodeDesc_setByLid. Expected _smNodeDesc_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNodeDesc_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNodeDescMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNodeDesc methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNodeDesc_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smNodeDesc_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smNodeDesc_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smNodeDesc_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smNodeDesc_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_smNodeDesc_description_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -description  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -description  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_smNodeDesc_description_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNodeDesc_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -description  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -description  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNodeDesc_description_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-description ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNodeDescCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNodeDesc * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNodeDesc_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNodeDesc_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNodeDesc object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNodeDescMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_sm_info_guid_set(_swigobj,_swigval) (_swigobj->guid = *(_swigval),_swigval)
+static int _wrap_smSMInfo_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_guid_set { smSMInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_guid_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_guid_get(_swigobj) (&_swigobj->guid)
+static int _wrap_smSMInfo_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_guid_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_guid_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_smSMInfo_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_sm_key_set { smSMInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_sm_key_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_sm_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_smSMInfo_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_sm_key_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_sm_key_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibsm_sm_info_sm_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_act_count_set(_swigobj,_swigval) (_swigobj->act_count = *(_swigval),_swigval)
+static int _wrap_smSMInfo_act_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smSMInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_act_count_set { smSMInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_act_count_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_sm_info_act_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_act_count_get(_swigobj) (&_swigobj->act_count)
+static int _wrap_smSMInfo_act_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_act_count_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_act_count_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibsm_sm_info_act_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_pri_state_set(_swigobj,_swigval) (_swigobj->pri_state = *(_swigval),_swigval)
+static int _wrap_smSMInfo_pri_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSMInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_pri_state_set { smSMInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_pri_state_set. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_sm_info_pri_state_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_sm_info_pri_state_get(_swigobj) (&_swigobj->pri_state)
+static int _wrap_smSMInfo_pri_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smSMInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_pri_state_get { smSMInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_pri_state_get. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_sm_info_pri_state_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  smSMInfo_getByDr(smSMInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSMInfo_getByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_getByDr { smSMInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_getByDr. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_getByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_setByDr(smSMInfo *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSMInfo_setByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_setByDr { smSMInfo * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_setByDr. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_setByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_getByLid(smSMInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+static int _wrap_smSMInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_getByLid { smSMInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_getByLid. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smSMInfo_setByLid(smSMInfo *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+static int _wrap_smSMInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smSMInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smSMInfo_setByLid { smSMInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smSMInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smSMInfo_setByLid. Expected _smSMInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smSMInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmSMInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smSMInfo methods : { dump cget configure getByDr setByDr getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smSMInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByDr") == 0) {
+        cmd = _wrap_smSMInfo_getByDr;
+    }    else if (strcmp(_str,"setByDr") == 0) {
+        cmd = _wrap_smSMInfo_setByDr;
+    }    else if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_smSMInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_smSMInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smSMInfo_guid_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_smSMInfo_sm_key_set;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_smSMInfo_act_count_set;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_smSMInfo_pri_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -guid -sm_key -act_count -pri_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -guid -sm_key -act_count -pri_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-guid") == 0) {
+                    cmd = _wrap_smSMInfo_guid_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_smSMInfo_sm_key_get;
+                }  else if (strcmp(_str,"-act_count") == 0) {
+                    cmd = _wrap_smSMInfo_act_count_get;
+                }  else if (strcmp(_str,"-pri_state") == 0) {
+                    cmd = _wrap_smSMInfo_pri_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smSMInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -guid -sm_key -act_count -pri_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -guid -sm_key -act_count -pri_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smSMInfo_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_act_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-act_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smSMInfo_pri_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pri_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByDr setByDr getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmSMInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smSMInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smSMInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smSMInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smSMInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmSMInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibsm_notice_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_smNotice_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_generic_type_set { smNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_generic_type_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_notice_generic_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_smNotice_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_generic_type_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_generic_type_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibsm_notice_generic_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_lid_set { smNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_lid_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_smNotice_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_lid_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_lid_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_issuer_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_smNotice_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_toggle_count_set { smNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_toggle_count_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_toggle_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_smNotice_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_toggle_count_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_toggle_count_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibsm_notice_toggle_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_smNotice_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_gid_set { smNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_gid_set. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsm_notice_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_smNotice_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_issuer_gid_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_issuer_gid_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibsm_notice_issuer_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibsm_notice_g_or_v_get(_swigobj) (&_swigobj->g_or_v)
+static int _wrap_smNotice_g_or_v_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v *)_ibsm_notice_g_or_v_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_p");
+    return TCL_OK;
+}
+#define _ibsm_notice_data_details_get(_swigobj) (&_swigobj->data_details)
+static int _wrap_smNotice_data_details_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details * _result;
+    smNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_get { smNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_get. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details *)_ibsm_notice_data_details_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_p");
+    return TCL_OK;
+}
+static int  smNotice_trapByDr(smNotice *self,ibsm_dr_path_t * dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self,
+                               sizeof(smNotice),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                               IB_MAD_METHOD_TRAP));
+  }
+static int _wrap_smNotice_trapByDr(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNotice * _arg0;
+    ibsm_dr_path_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ibsm_dr_path_t  dr;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_trapByDr { smNotice * } dr ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_trapByDr. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[2],NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  _arg1 = &dr;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNotice_trapByDr(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  smNotice_trapByLid(smNotice *self,uint16_t  lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self,
+                                sizeof(smNotice),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                                IB_MAD_METHOD_TRAP));
+  }
+static int _wrap_smNotice_trapByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    smNotice * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_trapByLid { smNotice * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_trapByLid. Expected _smNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )smNotice_trapByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNoticeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice methods : { dump cget configure trapByDr trapByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"trapByDr") == 0) {
+        cmd = _wrap_smNotice_trapByDr;
+    }    else if (strcmp(_str,"trapByLid") == 0) {
+        cmd = _wrap_smNotice_trapByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_smNotice_generic_type_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_smNotice_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_smNotice_toggle_count_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_smNotice_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -issuer_lid -toggle_count -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -issuer_lid -toggle_count -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_smNotice_generic_type_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_smNotice_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_smNotice_toggle_count_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_smNotice_issuer_gid_get;
+                }  else if (strcmp(_str,"-g_or_v") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_get;
+                }  else if (strcmp(_str,"-data_details") == 0) {
+                    cmd = _wrap_smNotice_data_details_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -issuer_lid -toggle_count -issuer_gid -g_or_v -data_details  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -issuer_lid -toggle_count -issuer_gid -g_or_v -data_details  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-g_or_v ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-data_details ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure trapByDr trapByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNoticeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNoticeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_generic_get(_swigobj) (&_swigobj->generic)
+static int _wrap_smNotice_g_or_v_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v_generic * _result;
+    smNotice_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_get { smNotice_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_get. Expected _smNotice_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v_generic *)smNotice_g_or_v_generic_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_generic_p");
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_get(_swigobj) (&_swigobj->vend)
+static int _wrap_smNotice_g_or_v_vend_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_g_or_v_vend * _result;
+    smNotice_g_or_v * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_get { smNotice_g_or_v * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_get. Expected _smNotice_g_or_v_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_g_or_v_vend *)smNotice_g_or_v_vend_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_g_or_v_vend_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_vMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_get;
+                }  else if (strcmp(_str,"-vend") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic -vend  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic -vend  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_vCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_vMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_raw_data_get(_swigobj) (&_swigobj->raw_data)
+static int _wrap_smNotice_data_details_raw_data_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_raw_data * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_raw_data *)smNotice_data_details_raw_data_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_raw_data_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_get(_swigobj) (&_swigobj->ntc_64_67)
+static int _wrap_smNotice_data_details_ntc_64_67_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_64_67 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_64_67 *)smNotice_data_details_ntc_64_67_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_64_67_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_128_get(_swigobj) (&_swigobj->ntc_128)
+static int _wrap_smNotice_data_details_ntc_128_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_128 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_128 *)smNotice_data_details_ntc_128_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_128_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_get(_swigobj) (&_swigobj->ntc_129_131)
+static int _wrap_smNotice_data_details_ntc_129_131_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_129_131 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_129_131 *)smNotice_data_details_ntc_129_131_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_129_131_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_get(_swigobj) (&_swigobj->ntc_144)
+static int _wrap_smNotice_data_details_ntc_144_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_144 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_144 *)smNotice_data_details_ntc_144_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_144_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_get(_swigobj) (&_swigobj->ntc_145)
+static int _wrap_smNotice_data_details_ntc_145_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_145 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_145 *)smNotice_data_details_ntc_145_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_145_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_get(_swigobj) (&_swigobj->ntc_256)
+static int _wrap_smNotice_data_details_ntc_256_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_256 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_256 *)smNotice_data_details_ntc_256_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_256_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_get(_swigobj) (&_swigobj->ntc_257_258)
+static int _wrap_smNotice_data_details_ntc_257_258_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_257_258 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_257_258 *)smNotice_data_details_ntc_257_258_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_257_258_p");
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_get(_swigobj) (&_swigobj->ntc_259)
+static int _wrap_smNotice_data_details_ntc_259_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    smNotice_data_details_ntc_259 * _result;
+    smNotice_data_details * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_get { smNotice_data_details * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_get. Expected _smNotice_data_details_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (smNotice_data_details_ntc_259 *)smNotice_data_details_ntc_259_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_smNotice_data_details_ntc_259_p");
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_detailsMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-raw_data") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_get;
+                }  else if (strcmp(_str,"-ntc_64_67") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_get;
+                }  else if (strcmp(_str,"-ntc_128") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_get;
+                }  else if (strcmp(_str,"-ntc_129_131") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_get;
+                }  else if (strcmp(_str,"-ntc_144") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_get;
+                }  else if (strcmp(_str,"-ntc_145") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_get;
+                }  else if (strcmp(_str,"-ntc_256") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_get;
+                }  else if (strcmp(_str,"-ntc_257_258") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_get;
+                }  else if (strcmp(_str,"-ntc_259") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -raw_data -ntc_64_67 -ntc_128 -ntc_129_131 -ntc_144 -ntc_145 -ntc_256 -ntc_257_258 -ntc_259  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -raw_data -ntc_64_67 -ntc_128 -ntc_129_131 -ntc_144 -ntc_145 -ntc_256 -ntc_257_258 -ntc_259  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_raw_data_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-raw_data ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_64_67_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_64_67 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_128_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_128 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_129_131 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_144 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_145 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_256 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_257_258 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc_259 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_detailsCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_detailsMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_generic_prod_type_msb_set(_swigobj,_swigval) (_swigobj->prod_type_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_msb_set { smNotice_g_or_v_generic * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_msb_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_generic_prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_msb_get(_swigobj) (&_swigobj->prod_type_msb)
+static int _wrap_smNotice_g_or_v_generic_prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_msb_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_msb_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_generic_prod_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_lsb_set(_swigobj,_swigval) (_swigobj->prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_lsb_set { smNotice_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_lsb_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_prod_type_lsb_get(_swigobj) (&_swigobj->prod_type_lsb)
+static int _wrap_smNotice_g_or_v_generic_prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_prod_type_lsb_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_prod_type_lsb_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_prod_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_generic_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_trap_num_set { smNotice_g_or_v_generic * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_trap_num_set. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_generic_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_smNotice_g_or_v_generic_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_generic * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_generic_trap_num_get { smNotice_g_or_v_generic * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_generic_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_generic_trap_num_get. Expected _smNotice_g_or_v_generic_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_generic_trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_v_genericMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v_generic methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_generic_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_set;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_trap_num_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_get;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_generic_trap_num_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_generic_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -prod_type_msb -prod_type_lsb -trap_num  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -prod_type_msb -prod_type_lsb -trap_num  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_generic_prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_generic_prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_generic_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_v_genericCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v_generic * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_generic_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_generic_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v_generic object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_v_genericMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_g_or_v_vend_vend_id_msb_set(_swigobj,_swigval) (_swigobj->vend_id_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_vend_id_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_msb_set { smNotice_g_or_v_vend * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_msb_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_vend_vend_id_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_msb_get(_swigobj) (&_swigobj->vend_id_msb)
+static int _wrap_smNotice_g_or_v_vend_vend_id_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_msb_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_msb_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_g_or_v_vend_vend_id_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_lsb_set(_swigobj,_swigval) (_swigobj->vend_id_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_vend_id_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_lsb_set { smNotice_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_lsb_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_vend_id_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_vend_id_lsb_get(_swigobj) (&_swigobj->vend_id_lsb)
+static int _wrap_smNotice_g_or_v_vend_vend_id_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_vend_id_lsb_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_vend_id_lsb_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_vend_id_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_dev_id_set(_swigobj,_swigval) (_swigobj->dev_id = *(_swigval),_swigval)
+static int _wrap_smNotice_g_or_v_vend_dev_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_dev_id_set { smNotice_g_or_v_vend * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_dev_id_set. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_dev_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_g_or_v_vend_dev_id_get(_swigobj) (&_swigobj->dev_id)
+static int _wrap_smNotice_g_or_v_vend_dev_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_g_or_v_vend * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_g_or_v_vend_dev_id_get { smNotice_g_or_v_vend * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_g_or_v_vend_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_g_or_v_vend_dev_id_get. Expected _smNotice_g_or_v_vend_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_g_or_v_vend_dev_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_g_or_v_vendMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_g_or_v_vend methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_g_or_v_vend_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-vend_id_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_set;
+                }  else if (strcmp(_str,"-vend_id_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_set;
+                }  else if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_dev_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-vend_id_msb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_get;
+                }  else if (strcmp(_str,"-vend_id_lsb") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_get;
+                }  else if (strcmp(_str,"-dev_id") == 0) {
+                    cmd = _wrap_smNotice_g_or_v_vend_dev_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_g_or_v_vend_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -vend_id_msb -vend_id_lsb -dev_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -vend_id_msb -vend_id_lsb -dev_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_g_or_v_vend_vend_id_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend_id_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_vend_id_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vend_id_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_g_or_v_vend_dev_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dev_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_g_or_v_vendCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_g_or_v_vend * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_g_or_v_vend_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_g_or_v_vend_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_g_or_v_vend object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_g_or_v_vendMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * smNotice_data_details_raw_data_details_set(smNotice_data_details_raw_data *obj, uint8_array_t val[54]) {
+{
+	int i;
+	for (i=0; i <54 ; i++) {
+		obj->details[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_raw_data_details_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_raw_data * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[54];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_details_set { smNotice_data_details_raw_data * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_raw_data_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_details_set. Expected _smNotice_data_details_raw_data_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 54))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 54; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_raw_data_details_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <54 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_raw_data_details_get(_swigobj) ((uint8_array_t *) _swigobj->details)
+static int _wrap_smNotice_data_details_raw_data_details_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_raw_data * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_raw_data_details_get { smNotice_data_details_raw_data * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_raw_data_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_raw_data_details_get. Expected _smNotice_data_details_raw_data_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_raw_data_details_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <54 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_raw_dataMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_raw_data methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_raw_data_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-details") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_details_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -details  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -details  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-details") == 0) {
+                    cmd = _wrap_smNotice_data_details_raw_data_details_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_raw_data_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -details  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -details  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_raw_data_details_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-details ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_raw_dataCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_raw_data * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_raw_data_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_raw_data_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_raw_data object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_raw_dataMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * smNotice_data_details_ntc_64_67_res_set(smNotice_data_details_ntc_64_67 *obj, uint8_array_t val[6]) {
+{
+	int i;
+	for (i=0; i <6 ; i++) {
+		obj->res[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_ntc_64_67_res_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[6];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_res_set { smNotice_data_details_ntc_64_67 * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_res_set. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 6))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 6; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_64_67_res_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_res_get(_swigobj) ((uint8_array_t *) _swigobj->res)
+static int _wrap_smNotice_data_details_ntc_64_67_res_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_res_get { smNotice_data_details_ntc_64_67 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_res_get. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_64_67_res_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_gid_set(_swigobj,_swigval) (_swigobj->gid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_64_67_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_gid_set { smNotice_data_details_ntc_64_67 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_gid_set. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_64_67_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_64_67_gid_get(_swigobj) (&_swigobj->gid)
+static int _wrap_smNotice_data_details_ntc_64_67_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_64_67 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_64_67_gid_get { smNotice_data_details_ntc_64_67 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_64_67_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_64_67_gid_get. Expected _smNotice_data_details_ntc_64_67_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_64_67_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_64_67MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_64_67 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_64_67_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-res") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_res_set;
+                }  else if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -res -gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -res -gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-res") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_res_get;
+                }  else if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_64_67_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_64_67_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -res -gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -res -gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_64_67_res_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-res ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_64_67_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_64_67Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_64_67 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_64_67_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_64_67_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_64_67 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_64_67MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_128_sw_lid_set(_swigobj,_swigval) (_swigobj->sw_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_128_sw_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_sw_lid_set { smNotice_data_details_ntc_128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_sw_lid_set. Expected _smNotice_data_details_ntc_128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_128_sw_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_128_sw_lid_get(_swigobj) (&_swigobj->sw_lid)
+static int _wrap_smNotice_data_details_ntc_128_sw_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_128_sw_lid_get { smNotice_data_details_ntc_128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_128_sw_lid_get. Expected _smNotice_data_details_ntc_128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_128_sw_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_128MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_128 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_128_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -sw_lid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -sw_lid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_128_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -sw_lid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -sw_lid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_128_sw_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sw_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_128Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_128 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_128_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_128_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_128 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_128MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_129_131_pad_set(_swigobj,_swigval) (_swigobj->pad = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_pad_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_pad_set { smNotice_data_details_ntc_129_131 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_pad_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_pad_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_pad_get(_swigobj) (&_swigobj->pad)
+static int _wrap_smNotice_data_details_ntc_129_131_pad_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_pad_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_pad_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_pad_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_lid_set { smNotice_data_details_ntc_129_131 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_lid_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_129_131_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_lid_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_lid_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_129_131_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_129_131_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_port_num_set { smNotice_data_details_ntc_129_131 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_port_num_set. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_129_131_port_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_129_131_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_smNotice_data_details_ntc_129_131_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_129_131 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_129_131_port_num_get { smNotice_data_details_ntc_129_131 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_129_131_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_129_131_port_num_get. Expected _smNotice_data_details_ntc_129_131_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_129_131_port_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_129_131MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_129_131 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_129_131_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_pad_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad -lid -port_num  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad -lid -port_num  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_pad_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_129_131_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad -lid -port_num  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad -lid -port_num  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_129_131_pad_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_129_131_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_129_131Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_129_131 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_129_131_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_129_131_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_129_131 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_129_131MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_144_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad1_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad1_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_144_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad1_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad1_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_lid_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_lid_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_144_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_lid_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_lid_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad2_set { smNotice_data_details_ntc_144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad2_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_144_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_pad2_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_pad2_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_144_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_new_cap_mask_set(_swigobj,_swigval) (_swigobj->new_cap_mask = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_144_new_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_new_cap_mask_set { smNotice_data_details_ntc_144 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_new_cap_mask_set. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_144_new_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_144_new_cap_mask_get(_swigobj) (&_swigobj->new_cap_mask)
+static int _wrap_smNotice_data_details_ntc_144_new_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_144_new_cap_mask_get { smNotice_data_details_ntc_144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_144_new_cap_mask_get. Expected _smNotice_data_details_ntc_144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_144_new_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_144MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_144 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_144_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad2_set;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -new_cap_mask  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -new_cap_mask  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_pad2_get;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_144_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -new_cap_mask  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -new_cap_mask  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_144_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_144_new_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-new_cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_144Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_144 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_144_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_144_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_144 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_144MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_145_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad1_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad1_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_145_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad1_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad1_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_lid_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_lid_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_145_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_lid_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_lid_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad2_set { smNotice_data_details_ntc_145 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad2_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_145_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_pad2_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_pad2_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_145_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_new_sys_guid_set(_swigobj,_swigval) (_swigobj->new_sys_guid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_145_new_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_new_sys_guid_set { smNotice_data_details_ntc_145 * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_new_sys_guid_set. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_145_new_sys_guid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_145_new_sys_guid_get(_swigobj) (&_swigobj->new_sys_guid)
+static int _wrap_smNotice_data_details_ntc_145_new_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_145 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_145_new_sys_guid_get { smNotice_data_details_ntc_145 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_145_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_145_new_sys_guid_get. Expected _smNotice_data_details_ntc_145_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_145_new_sys_guid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_145MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_145 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_145_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad2_set;
+                }  else if (strcmp(_str,"-new_sys_guid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -new_sys_guid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -new_sys_guid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_pad2_get;
+                }  else if (strcmp(_str,"-new_sys_guid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_145_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -new_sys_guid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -new_sys_guid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_145_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_145_new_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-new_sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_145Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_145 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_145_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_145_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_145 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_145MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_256_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad1_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad1_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_256_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad1_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad1_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_lid_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_lid_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_smNotice_data_details_ntc_256_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_lid_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_lid_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad2_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad2_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_smNotice_data_details_ntc_256_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad2_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad2_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_pad2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_method_set(_swigobj,_swigval) (_swigobj->method = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_method_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_method_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_method_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_method_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_method_get(_swigobj) (&_swigobj->method)
+static int _wrap_smNotice_data_details_ntc_256_method_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_method_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_method_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_method_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad3_set(_swigobj,_swigval) (_swigobj->pad3 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_pad3_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad3_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad3_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_pad3_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_pad3_get(_swigobj) (&_swigobj->pad3)
+static int _wrap_smNotice_data_details_ntc_256_pad3_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_pad3_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_pad3_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_pad3_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_id_set(_swigobj,_swigval) (_swigobj->attr_id = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_attr_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_id_set { smNotice_data_details_ntc_256 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_id_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_attr_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_id_get(_swigobj) (&_swigobj->attr_id)
+static int _wrap_smNotice_data_details_ntc_256_attr_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_id_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_id_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_256_attr_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_mod_set(_swigobj,_swigval) (_swigobj->attr_mod = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_attr_mod_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_mod_set { smNotice_data_details_ntc_256 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_mod_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_256_attr_mod_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_attr_mod_get(_swigobj) (&_swigobj->attr_mod)
+static int _wrap_smNotice_data_details_ntc_256_attr_mod_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_attr_mod_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_attr_mod_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_256_attr_mod_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_mkey_set(_swigobj,_swigval) (_swigobj->mkey = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_mkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_mkey_set { smNotice_data_details_ntc_256 * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_mkey_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_256_mkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_mkey_get(_swigobj) (&_swigobj->mkey)
+static int _wrap_smNotice_data_details_ntc_256_mkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_mkey_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_mkey_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)smNotice_data_details_ntc_256_mkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_slid_set(_swigobj,_swigval) (_swigobj->dr_slid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_dr_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_slid_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_slid_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_slid_get(_swigobj) (&_swigobj->dr_slid)
+static int _wrap_smNotice_data_details_ntc_256_dr_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_slid_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_slid_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_trunc_hop_set(_swigobj,_swigval) (_swigobj->dr_trunc_hop = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_trunc_hop_set { smNotice_data_details_ntc_256 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_trunc_hop_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_trunc_hop_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_trunc_hop_get(_swigobj) (&_swigobj->dr_trunc_hop)
+static int _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_trunc_hop_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_trunc_hop_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_256_dr_trunc_hop_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * smNotice_data_details_ntc_256_dr_rtn_path_set(smNotice_data_details_ntc_256 *obj, uint8_array_t val[30]) {
+{
+	int i;
+	for (i=0; i <30 ; i++) {
+		obj->dr_rtn_path[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[30];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_rtn_path_set { smNotice_data_details_ntc_256 * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_rtn_path_set. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 30))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 30; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_256_dr_rtn_path_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <30 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_256_dr_rtn_path_get(_swigobj) ((uint8_array_t *) _swigobj->dr_rtn_path)
+static int _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    smNotice_data_details_ntc_256 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_256_dr_rtn_path_get { smNotice_data_details_ntc_256 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_256_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_256_dr_rtn_path_get. Expected _smNotice_data_details_ntc_256_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)smNotice_data_details_ntc_256_dr_rtn_path_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <30 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_256MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_256 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_256_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad2_set;
+                }  else if (strcmp(_str,"-method") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_method_set;
+                }  else if (strcmp(_str,"-pad3") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad3_set;
+                }  else if (strcmp(_str,"-attr_id") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_id_set;
+                }  else if (strcmp(_str,"-attr_mod") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_set;
+                }  else if (strcmp(_str,"-mkey") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_mkey_set;
+                }  else if (strcmp(_str,"-dr_slid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_set;
+                }  else if (strcmp(_str,"-dr_trunc_hop") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set;
+                }  else if (strcmp(_str,"-dr_rtn_path") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad2_get;
+                }  else if (strcmp(_str,"-method") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_method_get;
+                }  else if (strcmp(_str,"-pad3") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_pad3_get;
+                }  else if (strcmp(_str,"-attr_id") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_id_get;
+                }  else if (strcmp(_str,"-attr_mod") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_get;
+                }  else if (strcmp(_str,"-mkey") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_mkey_get;
+                }  else if (strcmp(_str,"-dr_slid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_get;
+                }  else if (strcmp(_str,"-dr_trunc_hop") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get;
+                }  else if (strcmp(_str,"-dr_rtn_path") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_256_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid -pad2 -method -pad3 -attr_id -attr_mod -mkey -dr_slid -dr_trunc_hop -dr_rtn_path  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_256_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_method_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-method ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_pad3_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad3 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_attr_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attr_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_attr_mod_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attr_mod ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_mkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_trunc_hop ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dr_rtn_path ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_256Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_256 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_256_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_256_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_256 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_256MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_257_258_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_pad1_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_pad1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_pad1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_smNotice_data_details_ntc_257_258_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_pad1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_pad1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_pad1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid1_set(_swigobj,_swigval) (_swigobj->lid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_lid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid1_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid1_get(_swigobj) (&_swigobj->lid1)
+static int _wrap_smNotice_data_details_ntc_257_258_lid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid2_set(_swigobj,_swigval) (_swigobj->lid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_lid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid2_set { smNotice_data_details_ntc_257_258 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_lid2_get(_swigobj) (&_swigobj->lid2)
+static int _wrap_smNotice_data_details_ntc_257_258_lid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_lid2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_lid2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_257_258_lid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_key_set(_swigobj,_swigval) (_swigobj->key = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_key_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_key_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_key_get(_swigobj) (&_swigobj->key)
+static int _wrap_smNotice_data_details_ntc_257_258_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_key_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_key_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_sl_set { smNotice_data_details_ntc_257_258 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_sl_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_257_258_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_smNotice_data_details_ntc_257_258_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_sl_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_sl_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_257_258_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp1_set(_swigobj,_swigval) (_swigobj->qp1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_qp1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp1_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp1_get(_swigobj) (&_swigobj->qp1)
+static int _wrap_smNotice_data_details_ntc_257_258_qp1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp2_set(_swigobj,_swigval) (_swigobj->qp2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_qp2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp2_set { smNotice_data_details_ntc_257_258 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_qp2_get(_swigobj) (&_swigobj->qp2)
+static int _wrap_smNotice_data_details_ntc_257_258_qp2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_qp2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_qp2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_257_258_qp2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid1_set(_swigobj,_swigval) (_swigobj->gid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_gid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid1_set { smNotice_data_details_ntc_257_258 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid1_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid1_get(_swigobj) (&_swigobj->gid1)
+static int _wrap_smNotice_data_details_ntc_257_258_gid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid1_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid1_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid2_set(_swigobj,_swigval) (_swigobj->gid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_257_258_gid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid2_set { smNotice_data_details_ntc_257_258 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid2_set. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_257_258_gid2_get(_swigobj) (&_swigobj->gid2)
+static int _wrap_smNotice_data_details_ntc_257_258_gid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_257_258 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_257_258_gid2_get { smNotice_data_details_ntc_257_258 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_257_258_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_257_258_gid2_get. Expected _smNotice_data_details_ntc_257_258_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_257_258_gid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_257_258MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_257_258 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_257_258_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_set;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_set;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_set;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_key_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_sl_set;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_set;
+                }  else if (strcmp(_str,"-qp2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_set;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_set;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_get;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_get;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_get;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_key_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_sl_get;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_get;
+                }  else if (strcmp(_str,"-qp2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_get;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_get;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_257_258_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -pad1 -lid1 -lid2 -key -sl -qp1 -qp2 -gid1 -gid2  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_257_258_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_lid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_lid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_qp1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_qp2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_gid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_257_258_gid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_257_258Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_257_258 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_257_258_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_257_258_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_257_258 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_257_258MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define smNotice_data_details_ntc_259_data_valid_set(_swigobj,_swigval) (_swigobj->data_valid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_data_valid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_data_valid_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_data_valid_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_data_valid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_data_valid_get(_swigobj) (&_swigobj->data_valid)
+static int _wrap_smNotice_data_details_ntc_259_data_valid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_data_valid_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_data_valid_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_data_valid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid1_set(_swigobj,_swigval) (_swigobj->lid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_lid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid1_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid1_get(_swigobj) (&_swigobj->lid1)
+static int _wrap_smNotice_data_details_ntc_259_lid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid2_set(_swigobj,_swigval) (_swigobj->lid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_lid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid2_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid2_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_lid2_get(_swigobj) (&_swigobj->lid2)
+static int _wrap_smNotice_data_details_ntc_259_lid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_lid2_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_lid2_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_lid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_key_set(_swigobj,_swigval) (_swigobj->key = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_key_set { smNotice_data_details_ntc_259 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_key_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_key_get(_swigobj) (&_swigobj->key)
+static int _wrap_smNotice_data_details_ntc_259_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_key_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_key_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sl_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sl_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_smNotice_data_details_ntc_259_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sl_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sl_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp1_set(_swigobj,_swigval) (_swigobj->qp1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp1_set { smNotice_data_details_ntc_259 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_qp1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp1_get(_swigobj) (&_swigobj->qp1)
+static int _wrap_smNotice_data_details_ntc_259_qp1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)smNotice_data_details_ntc_259_qp1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_msb_set(_swigobj,_swigval) (_swigobj->qp2_msb = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp2_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_msb_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_msb_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_qp2_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_msb_get(_swigobj) (&_swigobj->qp2_msb)
+static int _wrap_smNotice_data_details_ntc_259_qp2_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_msb_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_msb_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_qp2_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_lsb_set(_swigobj,_swigval) (_swigobj->qp2_lsb = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_qp2_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_lsb_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_lsb_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_qp2_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_qp2_lsb_get(_swigobj) (&_swigobj->qp2_lsb)
+static int _wrap_smNotice_data_details_ntc_259_qp2_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_qp2_lsb_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_qp2_lsb_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_qp2_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid1_set(_swigobj,_swigval) (_swigobj->gid1 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_gid1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid1_set { smNotice_data_details_ntc_259 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid1_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid1_get(_swigobj) (&_swigobj->gid1)
+static int _wrap_smNotice_data_details_ntc_259_gid1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid1_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid1_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid2_set(_swigobj,_swigval) (_swigobj->gid2 = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_gid2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid2_set { smNotice_data_details_ntc_259 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid2_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid2_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_gid2_get(_swigobj) (&_swigobj->gid2)
+static int _wrap_smNotice_data_details_ntc_259_gid2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_gid2_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_gid2_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)smNotice_data_details_ntc_259_gid2_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sw_lid_set(_swigobj,_swigval) (_swigobj->sw_lid = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_sw_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sw_lid_set { smNotice_data_details_ntc_259 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sw_lid_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_sw_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_sw_lid_get(_swigobj) (&_swigobj->sw_lid)
+static int _wrap_smNotice_data_details_ntc_259_sw_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_sw_lid_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_sw_lid_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)smNotice_data_details_ntc_259_sw_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_port_no_set(_swigobj,_swigval) (_swigobj->port_no = *(_swigval),_swigval)
+static int _wrap_smNotice_data_details_ntc_259_port_no_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_port_no_set { smNotice_data_details_ntc_259 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_port_no_set. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_port_no_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define smNotice_data_details_ntc_259_port_no_get(_swigobj) (&_swigobj->port_no)
+static int _wrap_smNotice_data_details_ntc_259_port_no_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    smNotice_data_details_ntc_259 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. smNotice_data_details_ntc_259_port_no_get { smNotice_data_details_ntc_259 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_smNotice_data_details_ntc_259_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of smNotice_data_details_ntc_259_port_no_get. Expected _smNotice_data_details_ntc_259_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)smNotice_data_details_ntc_259_port_no_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclsmNotice_data_details_ntc_259MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"smNotice_data_details_ntc_259 methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_smNotice_data_details_ntc_259_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-data_valid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_data_valid_set;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid1_set;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid2_set;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_key_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sl_set;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp1_set;
+                }  else if (strcmp(_str,"-qp2_msb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_set;
+                }  else if (strcmp(_str,"-qp2_lsb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_set;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid1_set;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid2_set;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_set;
+                }  else if (strcmp(_str,"-port_no") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_port_no_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-data_valid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_data_valid_get;
+                }  else if (strcmp(_str,"-lid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid1_get;
+                }  else if (strcmp(_str,"-lid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_lid2_get;
+                }  else if (strcmp(_str,"-key") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_key_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sl_get;
+                }  else if (strcmp(_str,"-qp1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp1_get;
+                }  else if (strcmp(_str,"-qp2_msb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_get;
+                }  else if (strcmp(_str,"-qp2_lsb") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_get;
+                }  else if (strcmp(_str,"-gid1") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid1_get;
+                }  else if (strcmp(_str,"-gid2") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_gid2_get;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_get;
+                }  else if (strcmp(_str,"-port_no") == 0) {
+                    cmd = _wrap_smNotice_data_details_ntc_259_port_no_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_smNotice_data_details_ntc_259_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -data_valid -lid1 -lid2 -key -sl -qp1 -qp2_msb -qp2_lsb -gid1 -gid2 -sw_lid -port_no  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_smNotice_data_details_ntc_259_data_valid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-data_valid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_lid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_lid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp2_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_qp2_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qp2_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_gid1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_gid2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_sw_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sw_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_smNotice_data_details_ntc_259_port_no_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_no ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclsmNotice_data_details_ntc_259Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    smNotice_data_details_ntc_259 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_smNotice_data_details_ntc_259_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_smNotice_data_details_ntc_259_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a smNotice_data_details_ntc_259 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclsmNotice_data_details_ntc_259MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_class_port_info_base_ver_set(_swigobj,_swigval) (_swigobj->base_ver = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_base_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_base_ver_set { ccClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_base_ver_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_base_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_base_ver_get(_swigobj) (&_swigobj->base_ver)
+static int _wrap_ccClassPortInfo_base_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_base_ver_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_base_ver_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_base_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_class_ver_set(_swigobj,_swigval) (_swigobj->class_ver = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_class_ver_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_class_ver_set { ccClassPortInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_class_ver_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_class_ver_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_class_ver_get(_swigobj) (&_swigobj->class_ver)
+static int _wrap_ccClassPortInfo_class_ver_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_class_ver_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_class_ver_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_class_port_info_class_ver_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask_set(_swigobj,_swigval) (_swigobj->cap_mask = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_cap_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask_get(_swigobj) (&_swigobj->cap_mask)
+static int _wrap_ccClassPortInfo_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_cap_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask2_resp_time_set(_swigobj,_swigval) (_swigobj->cap_mask2_resp_time = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_cap_mask2_resp_time_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask2_resp_time_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask2_resp_time_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_cap_mask2_resp_time_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_cap_mask2_resp_time_get(_swigobj) (&_swigobj->cap_mask2_resp_time)
+static int _wrap_ccClassPortInfo_cap_mask2_resp_time_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_cap_mask2_resp_time_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_cap_mask2_resp_time_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_cap_mask2_resp_time_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_gid_set(_swigobj,_swigval) (_swigobj->redir_gid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_gid_set { ccClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_gid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_redir_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_gid_get(_swigobj) (&_swigobj->redir_gid)
+static int _wrap_ccClassPortInfo_redir_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_gid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_gid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_redir_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->redir_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_tc_sl_fl_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_tc_sl_fl_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_tc_sl_fl_get(_swigobj) (&_swigobj->redir_tc_sl_fl)
+static int _wrap_ccClassPortInfo_redir_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_tc_sl_fl_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_tc_sl_fl_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_lid_set(_swigobj,_swigval) (_swigobj->redir_lid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_lid_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_lid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_lid_get(_swigobj) (&_swigobj->redir_lid)
+static int _wrap_ccClassPortInfo_redir_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_lid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_lid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_pkey_set(_swigobj,_swigval) (_swigobj->redir_pkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_pkey_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_pkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_pkey_get(_swigobj) (&_swigobj->redir_pkey)
+static int _wrap_ccClassPortInfo_redir_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_pkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_pkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_redir_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qp_set(_swigobj,_swigval) (_swigobj->redir_qp = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qp_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qp_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qp_get(_swigobj) (&_swigobj->redir_qp)
+static int _wrap_ccClassPortInfo_redir_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qp_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qp_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qkey_set(_swigobj,_swigval) (_swigobj->redir_qkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_redir_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qkey_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_redir_qkey_get(_swigobj) (&_swigobj->redir_qkey)
+static int _wrap_ccClassPortInfo_redir_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_redir_qkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_redir_qkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_redir_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_gid_set(_swigobj,_swigval) (_swigobj->trap_gid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_gid_set { ccClassPortInfo * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_gid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_trap_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_gid_get(_swigobj) (&_swigobj->trap_gid)
+static int _wrap_ccClassPortInfo_trap_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_gid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_gid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_class_port_info_trap_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_tc_sl_fl_set(_swigobj,_swigval) (_swigobj->trap_tc_sl_fl = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_tc_sl_fl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_tc_sl_fl_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_tc_sl_fl_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_tc_sl_fl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_tc_sl_fl_get(_swigobj) (&_swigobj->trap_tc_sl_fl)
+static int _wrap_ccClassPortInfo_trap_tc_sl_fl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_tc_sl_fl_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_tc_sl_fl_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_tc_sl_fl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_lid_set(_swigobj,_swigval) (_swigobj->trap_lid = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_lid_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_lid_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_lid_get(_swigobj) (&_swigobj->trap_lid)
+static int _wrap_ccClassPortInfo_trap_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_lid_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_lid_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_pkey_set(_swigobj,_swigval) (_swigobj->trap_pkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_pkey_set { ccClassPortInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_pkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_pkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_pkey_get(_swigobj) (&_swigobj->trap_pkey)
+static int _wrap_ccClassPortInfo_trap_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_pkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_pkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_class_port_info_trap_pkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_hop_qp_set(_swigobj,_swigval) (_swigobj->trap_hop_qp = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_hop_qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_hop_qp_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_hop_qp_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_hop_qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_hop_qp_get(_swigobj) (&_swigobj->trap_hop_qp)
+static int _wrap_ccClassPortInfo_trap_hop_qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_hop_qp_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_hop_qp_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_hop_qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_qkey_set(_swigobj,_swigval) (_swigobj->trap_qkey = *(_swigval),_swigval)
+static int _wrap_ccClassPortInfo_trap_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_qkey_set { ccClassPortInfo * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_qkey_set. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_qkey_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_class_port_info_trap_qkey_get(_swigobj) (&_swigobj->trap_qkey)
+static int _wrap_ccClassPortInfo_trap_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccClassPortInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_trap_qkey_get { ccClassPortInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_trap_qkey_get. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_class_port_info_trap_qkey_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccClassPortInfo_getByLid(ccClassPortInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccClassPortInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccClassPortInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_getByLid { ccClassPortInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_getByLid. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccClassPortInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccClassPortInfo_setByLid(ccClassPortInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccClassPortInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CLASS_PORT_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccClassPortInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccClassPortInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccClassPortInfo_setByLid { ccClassPortInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccClassPortInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccClassPortInfo_setByLid. Expected _ccClassPortInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccClassPortInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccClassPortInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccClassPortInfo methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccClassPortInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccClassPortInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccClassPortInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_base_ver_set;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_class_ver_set;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask_set;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_set;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_gid_set;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_lid_set;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_pkey_set;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qp_set;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qkey_set;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_gid_set;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_set;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_lid_set;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_pkey_set;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_hop_qp_set;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_qkey_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_base_ver_get;
+                }  else if (strcmp(_str,"-class_ver") == 0) {
+                    cmd = _wrap_ccClassPortInfo_class_ver_get;
+                }  else if (strcmp(_str,"-cap_mask") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask_get;
+                }  else if (strcmp(_str,"-cap_mask2_resp_time") == 0) {
+                    cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_get;
+                }  else if (strcmp(_str,"-redir_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_gid_get;
+                }  else if (strcmp(_str,"-redir_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-redir_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_lid_get;
+                }  else if (strcmp(_str,"-redir_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_pkey_get;
+                }  else if (strcmp(_str,"-redir_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qp_get;
+                }  else if (strcmp(_str,"-redir_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_redir_qkey_get;
+                }  else if (strcmp(_str,"-trap_gid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_gid_get;
+                }  else if (strcmp(_str,"-trap_tc_sl_fl") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_get;
+                }  else if (strcmp(_str,"-trap_lid") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_lid_get;
+                }  else if (strcmp(_str,"-trap_pkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_pkey_get;
+                }  else if (strcmp(_str,"-trap_hop_qp") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_hop_qp_get;
+                }  else if (strcmp(_str,"-trap_qkey") == 0) {
+                    cmd = _wrap_ccClassPortInfo_trap_qkey_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccClassPortInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_ver -class_ver -cap_mask -cap_mask2_resp_time -redir_gid -redir_tc_sl_fl -redir_lid -redir_pkey -redir_qp -redir_qkey -trap_gid -trap_tc_sl_fl -trap_lid -trap_pkey -trap_hop_qp -trap_qkey  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccClassPortInfo_base_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_class_ver_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_ver ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_cap_mask2_resp_time_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cap_mask2_resp_time ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_redir_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-redir_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_tc_sl_fl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_tc_sl_fl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_hop_qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_hop_qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccClassPortInfo_trap_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccClassPortInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccClassPortInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccClassPortInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccClassPortInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccClassPortInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccClassPortInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_notice_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic_type_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic_type_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_ccNotice_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic_type_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic_type_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_msb_set(_swigobj,_swigval) (_swigobj->generic__prod_type_msb = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_msb_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_msb_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic__prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_msb_get(_swigobj) (&_swigobj->generic__prod_type_msb)
+static int _wrap_ccNotice_generic__prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_msb_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_msb_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_generic__prod_type_msb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_lsb_set(_swigobj,_swigval) (_swigobj->generic__prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_lsb_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_lsb_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__prod_type_lsb_get(_swigobj) (&_swigobj->generic__prod_type_lsb)
+static int _wrap_ccNotice_generic__prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__prod_type_lsb_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__prod_type_lsb_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__prod_type_lsb_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__trap_num_set(_swigobj,_swigval) (_swigobj->generic__trap_num = *(_swigval),_swigval)
+static int _wrap_ccNotice_generic__trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__trap_num_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__trap_num_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__trap_num_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_generic__trap_num_get(_swigobj) (&_swigobj->generic__trap_num)
+static int _wrap_ccNotice_generic__trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_generic__trap_num_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_generic__trap_num_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_generic__trap_num_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_ccNotice_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_lid_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_lid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_ccNotice_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_lid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_lid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_issuer_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_ccNotice_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_toggle_count_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_toggle_count_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_toggle_count_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_ccNotice_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_toggle_count_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_toggle_count_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_toggle_count_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_lid_set(_swigobj,_swigval) (_swigobj->ntc0__source_lid = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__source_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_lid_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_lid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__source_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_lid_get(_swigobj) (&_swigobj->ntc0__source_lid)
+static int _wrap_ccNotice_ntc0__source_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_lid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_lid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__source_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__method_set(_swigobj,_swigval) (_swigobj->ntc0__method = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__method_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__method_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__method_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__method_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__method_get(_swigobj) (&_swigobj->ntc0__method)
+static int _wrap_ccNotice_ntc0__method_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__method_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__method_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__method_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv0_set(_swigobj,_swigval) (_swigobj->ntc0__resv0 = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv0_set { ccNotice * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv0_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv0_get(_swigobj) (&_swigobj->ntc0__resv0)
+static int _wrap_ccNotice_ntc0__resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv0_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv0_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ibcc_notice_ntc0__resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_id_set(_swigobj,_swigval) (_swigobj->ntc0__attr_id = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__attr_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_id_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_id_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__attr_id_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_id_get(_swigobj) (&_swigobj->ntc0__attr_id)
+static int _wrap_ccNotice_ntc0__attr_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_id_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_id_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__attr_id_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv1_set(_swigobj,_swigval) (_swigobj->ntc0__resv1 = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv1_set { ccNotice * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv1_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__resv1_get(_swigobj) (&_swigobj->ntc0__resv1)
+static int _wrap_ccNotice_ntc0__resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__resv1_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__resv1_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_notice_ntc0__resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_mod_set(_swigobj,_swigval) (_swigobj->ntc0__attr_mod = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__attr_mod_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_mod_set { ccNotice * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_mod_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__attr_mod_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__attr_mod_get(_swigobj) (&_swigobj->ntc0__attr_mod)
+static int _wrap_ccNotice_ntc0__attr_mod_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__attr_mod_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__attr_mod_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__attr_mod_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__qp_set(_swigobj,_swigval) (_swigobj->ntc0__qp = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__qp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__qp_set { ccNotice * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__qp_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__qp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__qp_get(_swigobj) (&_swigobj->ntc0__qp)
+static int _wrap_ccNotice_ntc0__qp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__qp_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__qp_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ibcc_notice_ntc0__qp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__cc_key_set(_swigobj,_swigval) (_swigobj->ntc0__cc_key = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__cc_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccNotice * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__cc_key_set { ccNotice * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__cc_key_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibcc_notice_ntc0__cc_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__cc_key_get(_swigobj) (&_swigobj->ntc0__cc_key)
+static int _wrap_ccNotice_ntc0__cc_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__cc_key_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__cc_key_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ibcc_notice_ntc0__cc_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_gid_set(_swigobj,_swigval) (_swigobj->ntc0__source_gid = *(_swigval),_swigval)
+static int _wrap_ccNotice_ntc0__source_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_gid_set { ccNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_gid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_ntc0__source_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__source_gid_get(_swigobj) (&_swigobj->ntc0__source_gid)
+static int _wrap_ccNotice_ntc0__source_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__source_gid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__source_gid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_ntc0__source_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ibcc_notice_ntc0__padding_set(ccNotice *obj, uint8_array_t val[14]) {
+{
+	int i;
+	for (i=0; i <14 ; i++) {
+		obj->ntc0__padding[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccNotice_ntc0__padding_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccNotice * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[14];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__padding_set { ccNotice * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__padding_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 14))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 14; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibcc_notice_ntc0__padding_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <14 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_ntc0__padding_get(_swigobj) ((uint8_array_t *) _swigobj->ntc0__padding)
+static int _wrap_ccNotice_ntc0__padding_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_ntc0__padding_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_ntc0__padding_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ibcc_notice_ntc0__padding_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <14 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_ccNotice_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_gid_set { ccNotice * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_gid_set. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	char buf[38];
+	char *p_prefix, *p_guid;
+	char *str_token;
+
+	strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+	p_prefix = strtok_r(buf,":", &str_token);
+	p_guid = strtok_r(NULL, " ", &str_token);
+	temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+	errno = 0;
+	if (errno) {
+		printf("Wrong format for gid prefix:%s\n", p_prefix);
+		return TCL_ERROR;
+	}
+
+	temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+	if (errno) {
+		printf("Wrong format for gid guid:%s\n", p_guid);
+		return TCL_ERROR;
+	}
+
+	_arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_notice_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_ccNotice_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    ccNotice * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_issuer_gid_get { ccNotice * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_issuer_gid_get. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_gid_t *)_ibcc_notice_issuer_gid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[38];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccNotice_trapByLid(ccNotice *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccNotice),        // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_NOTICE),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_TRAP);
+	}
+static int _wrap_ccNotice_trapByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccNotice * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccNotice_trapByLid { ccNotice * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccNotice_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccNotice_trapByLid. Expected _ccNotice_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccNotice_trapByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccNoticeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccNotice methods : { dump cget configure trapByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccNotice_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"trapByLid") == 0) {
+        cmd = _wrap_ccNotice_trapByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_ccNotice_generic_type_set;
+                }  else if (strcmp(_str,"-generic__prod_type_msb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_msb_set;
+                }  else if (strcmp(_str,"-generic__prod_type_lsb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_lsb_set;
+                }  else if (strcmp(_str,"-generic__trap_num") == 0) {
+                    cmd = _wrap_ccNotice_generic__trap_num_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_ccNotice_toggle_count_set;
+                }  else if (strcmp(_str,"-ntc0__source_lid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_lid_set;
+                }  else if (strcmp(_str,"-ntc0__method") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__method_set;
+                }  else if (strcmp(_str,"-ntc0__resv0") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv0_set;
+                }  else if (strcmp(_str,"-ntc0__attr_id") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_id_set;
+                }  else if (strcmp(_str,"-ntc0__resv1") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv1_set;
+                }  else if (strcmp(_str,"-ntc0__attr_mod") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_mod_set;
+                }  else if (strcmp(_str,"-ntc0__qp") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__qp_set;
+                }  else if (strcmp(_str,"-ntc0__cc_key") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__cc_key_set;
+                }  else if (strcmp(_str,"-ntc0__source_gid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_gid_set;
+                }  else if (strcmp(_str,"-ntc0__padding") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__padding_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_ccNotice_generic_type_get;
+                }  else if (strcmp(_str,"-generic__prod_type_msb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_msb_get;
+                }  else if (strcmp(_str,"-generic__prod_type_lsb") == 0) {
+                    cmd = _wrap_ccNotice_generic__prod_type_lsb_get;
+                }  else if (strcmp(_str,"-generic__trap_num") == 0) {
+                    cmd = _wrap_ccNotice_generic__trap_num_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_ccNotice_toggle_count_get;
+                }  else if (strcmp(_str,"-ntc0__source_lid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_lid_get;
+                }  else if (strcmp(_str,"-ntc0__method") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__method_get;
+                }  else if (strcmp(_str,"-ntc0__resv0") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv0_get;
+                }  else if (strcmp(_str,"-ntc0__attr_id") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_id_get;
+                }  else if (strcmp(_str,"-ntc0__resv1") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__resv1_get;
+                }  else if (strcmp(_str,"-ntc0__attr_mod") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__attr_mod_get;
+                }  else if (strcmp(_str,"-ntc0__qp") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__qp_get;
+                }  else if (strcmp(_str,"-ntc0__cc_key") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__cc_key_get;
+                }  else if (strcmp(_str,"-ntc0__source_gid") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__source_gid_get;
+                }  else if (strcmp(_str,"-ntc0__padding") == 0) {
+                    cmd = _wrap_ccNotice_ntc0__padding_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_ccNotice_issuer_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccNotice_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -generic__prod_type_msb -generic__prod_type_lsb -generic__trap_num -issuer_lid -toggle_count -ntc0__source_lid -ntc0__method -ntc0__resv0 -ntc0__attr_id -ntc0__resv1 -ntc0__attr_mod -ntc0__qp -ntc0__cc_key -ntc0__source_gid -ntc0__padding -issuer_gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccNotice_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_generic__trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic__trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__source_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__source_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__method_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__method ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__attr_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__attr_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__attr_mod_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__attr_mod ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__qp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__qp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__cc_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__cc_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__source_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__source_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_ntc0__padding_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ntc0__padding ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccNotice_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure trapByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccNoticeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccNotice * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccNotice_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccNotice_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccNotice object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccNoticeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_info_cong_info_set(_swigobj,_swigval) (_swigobj->cong_info = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_cong_info_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_cong_info_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_cong_info_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_cong_info_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_cong_info_get(_swigobj) (&_swigobj->cong_info)
+static int _wrap_ccCongestionInfo_cong_info_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_cong_info_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_cong_info_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_cong_info_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_resv_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_resv_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccCongestionInfo_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_resv_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_resv_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_ctrl_table_cap_set(_swigobj,_swigval) (_swigobj->ctrl_table_cap = *(_swigval),_swigval)
+static int _wrap_ccCongestionInfo_ctrl_table_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_ctrl_table_cap_set { ccCongestionInfo * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_ctrl_table_cap_set. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_ctrl_table_cap_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_info_ctrl_table_cap_get(_swigobj) (&_swigobj->ctrl_table_cap)
+static int _wrap_ccCongestionInfo_ctrl_table_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCongestionInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_ctrl_table_cap_get { ccCongestionInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_ctrl_table_cap_get. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_cong_info_ctrl_table_cap_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccCongestionInfo_getByLid(ccCongestionInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                     // log data
+			0,                        // log data size
+			(uint8_t *)self,          // mgt data
+			sizeof(ccCongestionInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_INFO),
+			0,                        // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCongestionInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionInfo_getByLid { ccCongestionInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionInfo_getByLid. Expected _ccCongestionInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCongestionInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCongestionInfo methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCongestionInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCongestionInfo_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-cong_info") == 0) {
+                    cmd = _wrap_ccCongestionInfo_cong_info_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCongestionInfo_resv_set;
+                }  else if (strcmp(_str,"-ctrl_table_cap") == 0) {
+                    cmd = _wrap_ccCongestionInfo_ctrl_table_cap_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -cong_info -resv -ctrl_table_cap  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -cong_info -resv -ctrl_table_cap  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-cong_info") == 0) {
+                    cmd = _wrap_ccCongestionInfo_cong_info_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCongestionInfo_resv_get;
+                }  else if (strcmp(_str,"-ctrl_table_cap") == 0) {
+                    cmd = _wrap_ccCongestionInfo_ctrl_table_cap_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCongestionInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -cong_info -resv -ctrl_table_cap  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -cong_info -resv -ctrl_table_cap  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCongestionInfo_cong_info_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_info ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionInfo_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionInfo_ctrl_table_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ctrl_table_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCongestionInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCongestionInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCongestionInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCongestionInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCongestionInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCongestionInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_key_info_cc_key_set(_swigobj,_swigval) (_swigobj->cc_key = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_cc_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_cc_key_set { ccCongestionKeyInfo * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_cc_key_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_cong_key_info_cc_key_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_cc_key_get(_swigobj) (&_swigobj->cc_key)
+static int _wrap_ccCongestionKeyInfo_cc_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_cc_key_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_cc_key_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_cong_key_info_cc_key_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_protect_bit_set(_swigobj,_swigval) (_swigobj->protect_bit = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_protect_bit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_protect_bit_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_protect_bit_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_protect_bit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_protect_bit_get(_swigobj) (&_swigobj->protect_bit)
+static int _wrap_ccCongestionKeyInfo_protect_bit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_protect_bit_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_protect_bit_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_protect_bit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_lease_period_set(_swigobj,_swigval) (_swigobj->lease_period = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_lease_period_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_lease_period_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_lease_period_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_lease_period_get(_swigobj) (&_swigobj->lease_period)
+static int _wrap_ccCongestionKeyInfo_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_lease_period_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_lease_period_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_lease_period_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_violations_set(_swigobj,_swigval) (_swigobj->violations = *(_swigval),_swigval)
+static int _wrap_ccCongestionKeyInfo_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_violations_set { ccCongestionKeyInfo * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_violations_set. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_violations_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_key_info_violations_get(_swigobj) (&_swigobj->violations)
+static int _wrap_ccCongestionKeyInfo_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCongestionKeyInfo * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_violations_get { ccCongestionKeyInfo * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_violations_get. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_key_info_violations_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccCongestionKeyInfo_getByLid(ccCongestionKeyInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCongestionKeyInfo_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionKeyInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_getByLid { ccCongestionKeyInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_getByLid. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionKeyInfo_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccCongestionKeyInfo_setByLid(ccCongestionKeyInfo *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid(
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCongestionKeyInfo), // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_KEY_INFO),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccCongestionKeyInfo_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCongestionKeyInfo * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCongestionKeyInfo_setByLid { ccCongestionKeyInfo * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCongestionKeyInfo_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCongestionKeyInfo_setByLid. Expected _ccCongestionKeyInfo_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCongestionKeyInfo_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCongestionKeyInfoMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCongestionKeyInfo methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCongestionKeyInfo_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCongestionKeyInfo_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccCongestionKeyInfo_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-cc_key") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_cc_key_set;
+                }  else if (strcmp(_str,"-protect_bit") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_protect_bit_set;
+                }  else if (strcmp(_str,"-lease_period") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_lease_period_set;
+                }  else if (strcmp(_str,"-violations") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_violations_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -cc_key -protect_bit -lease_period -violations  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -cc_key -protect_bit -lease_period -violations  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-cc_key") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_cc_key_get;
+                }  else if (strcmp(_str,"-protect_bit") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_protect_bit_get;
+                }  else if (strcmp(_str,"-lease_period") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_lease_period_get;
+                }  else if (strcmp(_str,"-violations") == 0) {
+                    cmd = _wrap_ccCongestionKeyInfo_violations_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCongestionKeyInfo_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -cc_key -protect_bit -lease_period -violations  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -cc_key -protect_bit -lease_period -violations  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCongestionKeyInfo_cc_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cc_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_protect_bit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-protect_bit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCongestionKeyInfo_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCongestionKeyInfoCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCongestionKeyInfo * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCongestionKeyInfo_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCongestionKeyInfo_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCongestionKeyInfo object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCongestionKeyInfoMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_log_event_sw_slid_set(_swigobj,_swigval) (_swigobj->slid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_slid_set { ib_cong_log_event_sw_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_slid_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_slid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_slid_get(_swigobj) (&_swigobj->slid)
+static int _wrap_ib_cong_log_event_sw_t_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_slid_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_slid_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_slid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_dlid_set(_swigobj,_swigval) (_swigobj->dlid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_dlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_dlid_set { ib_cong_log_event_sw_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_dlid_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_dlid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_dlid_get(_swigobj) (&_swigobj->dlid)
+static int _wrap_ib_cong_log_event_sw_t_dlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_dlid_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_dlid_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_sw_dlid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_sl_set(_swigobj,_swigval) (_swigobj->sl = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_sl_set { ib_cong_log_event_sw_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_sl_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_sl_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_sl_get(_swigobj) (&_swigobj->sl)
+static int _wrap_ib_cong_log_event_sw_t_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_sl_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_sl_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_sl_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_sw_t_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_time_stamp_set { ib_cong_log_event_sw_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_time_stamp_set. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_sw_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ib_cong_log_event_sw_t_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_sw_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_sw_t_time_stamp_get { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_sw_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_sw_t_time_stamp_get. Expected _ib_cong_log_event_sw_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_sw_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cong_log_event_sw_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cong_log_event_sw_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cong_log_event_sw_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_slid_set;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_dlid_set;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_sl_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -slid -dlid -sl -time_stamp  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -slid -dlid -sl -time_stamp  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_slid_get;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_dlid_get;
+                }  else if (strcmp(_str,"-sl") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_sl_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cong_log_event_sw_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -slid -dlid -sl -time_stamp  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -slid -dlid -sl -time_stamp  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cong_log_event_sw_t_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_dlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_sw_t_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cong_log_event_sw_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cong_log_event_sw_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cong_log_event_sw_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cong_log_event_sw_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cong_log_event_sw_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cong_log_event_sw_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cong_log_event_ca_local_qp_resv0_set(_swigobj,_swigval) (_swigobj->local_qp_resv0 = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_local_qp_resv0_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_local_qp_resv0_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_local_qp_resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_local_qp_resv0_get(_swigobj) (&_swigobj->local_qp_resv0)
+static int _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_local_qp_resv0_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_local_qp_resv0_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_local_qp_resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_qp_sl_service_type_set(_swigobj,_swigval) (_swigobj->remote_qp_sl_service_type = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_qp_sl_service_type_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_qp_sl_service_type_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_remote_qp_sl_service_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_qp_sl_service_type_get(_swigobj) (&_swigobj->remote_qp_sl_service_type)
+static int _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_qp_sl_service_type_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_qp_sl_service_type_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_remote_qp_sl_service_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_lid_set(_swigobj,_swigval) (_swigobj->remote_lid = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_remote_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_lid_set { ib_cong_log_event_ca_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_lid_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_remote_lid_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_remote_lid_get(_swigobj) (&_swigobj->remote_lid)
+static int _wrap_ib_cong_log_event_ca_t_remote_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_remote_lid_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_remote_lid_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_remote_lid_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_resv1_set(_swigobj,_swigval) (_swigobj->resv1 = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_resv1_set { ib_cong_log_event_ca_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_resv1_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_resv1_get(_swigobj) (&_swigobj->resv1)
+static int _wrap_ib_cong_log_event_ca_t_resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_resv1_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_resv1_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cong_log_event_ca_resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ib_cong_log_event_ca_t_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_time_stamp_set { ib_cong_log_event_ca_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_time_stamp_set. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cong_log_event_ca_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ib_cong_log_event_ca_t_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_cong_log_event_ca_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cong_log_event_ca_t_time_stamp_get { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cong_log_event_ca_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cong_log_event_ca_t_time_stamp_get. Expected _ib_cong_log_event_ca_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_cong_log_event_ca_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cong_log_event_ca_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cong_log_event_ca_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cong_log_event_ca_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-local_qp_resv0") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set;
+                }  else if (strcmp(_str,"-remote_qp_sl_service_type") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set;
+                }  else if (strcmp(_str,"-remote_lid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_set;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_resv1_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-local_qp_resv0") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get;
+                }  else if (strcmp(_str,"-remote_qp_sl_service_type") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get;
+                }  else if (strcmp(_str,"-remote_lid") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_get;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_resv1_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cong_log_event_ca_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -local_qp_resv0 -remote_qp_sl_service_type -remote_lid -resv1 -time_stamp  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_qp_resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-remote_qp_sl_service_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_remote_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-remote_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_cong_log_event_ca_t_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cong_log_event_ca_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cong_log_event_ca_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cong_log_event_ca_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cong_log_event_ca_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cong_log_event_ca_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cong_log_event_ca_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_cong_log_log_type_set(_swigobj,_swigval) (_swigobj->log_type = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_log_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_log_type_set { ccSWCongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_log_type_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_log_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_log_type_get(_swigobj) (&_swigobj->log_type)
+static int _wrap_ccSWCongestionLog_log_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_log_type_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_log_type_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_log_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_cong_flags_set(_swigobj,_swigval) (_swigobj->cong_flags = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_cong_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_cong_flags_set { ccSWCongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_cong_flags_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_cong_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_cong_flags_get(_swigobj) (&_swigobj->cong_flags)
+static int _wrap_ccSWCongestionLog_cong_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_cong_flags_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_cong_flags_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_log_cong_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_event_counter_set(_swigobj,_swigval) (_swigobj->event_counter = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_event_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_event_counter_set { ccSWCongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_event_counter_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_log_event_counter_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_event_counter_get(_swigobj) (&_swigobj->event_counter)
+static int _wrap_ccSWCongestionLog_event_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_event_counter_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_event_counter_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_log_event_counter_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionLog_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_time_stamp_set { ccSWCongestionLog * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_time_stamp_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_log_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ccSWCongestionLog_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_time_stamp_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_time_stamp_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_log_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_log_port_map_set(ccSWCongestionLog *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->port_map[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionLog_port_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionLog * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_port_map_set { ccSWCongestionLog * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_port_map_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_log_port_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_port_map_get(_swigobj) ((uint8_array_t *) _swigobj->port_map)
+static int _wrap_ccSWCongestionLog_port_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_port_map_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_port_map_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_log_port_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static ib_cong_log_event_sw_t * _ib_sw_cong_log_entry_list_set(ccSWCongestionLog *obj, ib_cong_log_event_sw_t val[15]) {
+{
+	int i;
+	for (i=0; i <15 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_cong_log_event_sw_t *) val;
+}
+static int _wrap_ccSWCongestionLog_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_sw_t * _result;
+    ccSWCongestionLog * _arg0;
+    ib_cong_log_event_sw_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cong_log_event_sw_t  entrys[15];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_entry_list_set { ccSWCongestionLog * } { ib_cong_log_event_sw_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_entry_list_set. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* SW Congestion Log Event List should have up to 15 events */
+	if (countSubLists > 15)
+	{
+		printf("Error: SW Congestion Log Event List should have up to %d events (provided %d)\n",
+			15, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWCongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWCongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 15; i++) {
+		entrys[i].slid = 0;
+		entrys[i].dlid = 0;
+		entrys[i].sl = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].slid = cl_hton16(value); break;
+					case 1: entrys[i].dlid = cl_hton16(value); break;
+					case 2: entrys[i].sl = cl_hton32(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for SW Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].slid = cl_hton16(value); break;
+					case 2: entrys[entry_index].dlid = cl_hton16(value); break;
+					case 3: entrys[entry_index].sl = cl_hton32(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_sw_t *)_ib_sw_cong_log_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <15 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -slid 0x%04x", cl_ntoh16(_result[i].slid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -dlid 0x%04x", cl_ntoh16(_result[i].dlid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -sl 0x%08x", cl_ntoh32(_result[i].sl));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_log_entry_list_get(_swigobj) ((ib_cong_log_event_sw_t *) _swigobj->entry_list)
+static int _wrap_ccSWCongestionLog_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_sw_t * _result;
+    ccSWCongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_entry_list_get { ccSWCongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_entry_list_get. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_sw_t *)_ib_sw_cong_log_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <15 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -slid 0x%04x", cl_ntoh16(_result[i].slid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -dlid 0x%04x", cl_ntoh16(_result[i].dlid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -sl 0x%08x", cl_ntoh32(_result[i].sl));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccSWCongestionLog_getByLid(ccSWCongestionLog *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccSWCongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWCongestionLog_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionLog * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionLog_getByLid { ccSWCongestionLog * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionLog_getByLid. Expected _ccSWCongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionLog_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWCongestionLogMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWCongestionLog methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWCongestionLog_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWCongestionLog_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_log_type_set;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_cong_flags_set;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_event_counter_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_time_stamp_set;
+                }  else if (strcmp(_str,"-port_map") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_port_map_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_log_type_get;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_cong_flags_get;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_event_counter_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_time_stamp_get;
+                }  else if (strcmp(_str,"-port_map") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_port_map_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccSWCongestionLog_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWCongestionLog_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -log_type -cong_flags -event_counter -time_stamp -port_map -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWCongestionLog_log_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_cong_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_event_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_port_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionLog_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWCongestionLogCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWCongestionLog * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWCongestionLog_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWCongestionLog_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWCongestionLog object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWCongestionLogMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_log_log_type_set(_swigobj,_swigval) (_swigobj->log_type = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_log_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_type_set { ccCACongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_type_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_log_type_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_log_type_get(_swigobj) (&_swigobj->log_type)
+static int _wrap_ccCACongestionLog_log_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_type_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_type_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_log_type_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_cong_flags_set(_swigobj,_swigval) (_swigobj->cong_flags = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_cong_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_cong_flags_set { ccCACongestionLog * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_cong_flags_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_cong_flags_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_cong_flags_get(_swigobj) (&_swigobj->cong_flags)
+static int _wrap_ccCACongestionLog_cong_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_cong_flags_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_cong_flags_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_log_cong_flags_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_counter_set(_swigobj,_swigval) (_swigobj->event_counter = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_event_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_counter_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_counter_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_counter_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_counter_get(_swigobj) (&_swigobj->event_counter)
+static int _wrap_ccCACongestionLog_event_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_counter_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_counter_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_counter_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_map_set(_swigobj,_swigval) (_swigobj->event_map = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_event_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_map_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_map_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_event_map_get(_swigobj) (&_swigobj->event_map)
+static int _wrap_ccCACongestionLog_event_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_event_map_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_event_map_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_event_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_resv_set { ccCACongestionLog * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_resv_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccCACongestionLog_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_resv_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_resv_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_log_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_time_stamp_set(_swigobj,_swigval) (_swigobj->time_stamp = *(_swigval),_swigval)
+static int _wrap_ccCACongestionLog_time_stamp_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_time_stamp_set { ccCACongestionLog * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_time_stamp_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_ca_cong_log_time_stamp_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_time_stamp_get(_swigobj) (&_swigobj->time_stamp)
+static int _wrap_ccCACongestionLog_time_stamp_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_time_stamp_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_time_stamp_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_ca_cong_log_time_stamp_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_cong_log_event_ca_t * _ib_ca_cong_log_log_event_set(ccCACongestionLog *obj, ib_cong_log_event_ca_t val[13]) {
+{
+	int i;
+	for (i=0; i <13 ; i++) {
+		obj->log_event[i] = *(val+i);
+	}
+}
+    return (ib_cong_log_event_ca_t *) val;
+}
+static int _wrap_ccCACongestionLog_log_event_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_ca_t * _result;
+    ccCACongestionLog * _arg0;
+    ib_cong_log_event_ca_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cong_log_event_ca_t  entrys[13];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_event_set { ccCACongestionLog * } { ib_cong_log_event_ca_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_event_set. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Log Event: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Log Event List should have up to 13 events */
+	if (countSubLists > 13)
+	{
+		printf("Error: CA Congestion Log Event List should have up to %d events (provided %d)\n",
+			13, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure log_event:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionLogMad configure -log_event {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionLogMad configure -log_event {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 13; i++) {
+		entrys[i].local_qp_resv0 = 0;
+		entrys[i].remote_qp_sl_service_type = 0;
+		entrys[i].remote_lid = 0;
+		entrys[i].time_stamp = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].local_qp_resv0 = cl_hton32(value); break;
+					case 1: entrys[i].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 2: entrys[i].remote_lid = cl_hton16(value); break;
+					case 3: entrys[i].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Log Event: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Log Event: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].local_qp_resv0 = cl_hton32(value); break;
+					case 2: entrys[entry_index].remote_qp_sl_service_type = cl_hton32(value); break;
+					case 3: entrys[entry_index].remote_lid = cl_hton16(value); break;
+					case 4: entrys[entry_index].time_stamp = cl_hton32(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_ca_t *)_ib_ca_cong_log_log_event_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-log_event\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <13 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -local_qp_resv0 0x%08x", cl_ntoh32(_result[i].local_qp_resv0));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_qp_sl_service_type 0x%08x", cl_ntoh32(_result[i].remote_qp_sl_service_type));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_lid 0x%04x", cl_ntoh16(_result[i].remote_lid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_log_log_event_get(_swigobj) ((ib_cong_log_event_ca_t *) _swigobj->log_event)
+static int _wrap_ccCACongestionLog_log_event_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cong_log_event_ca_t * _result;
+    ccCACongestionLog * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_log_event_get { ccCACongestionLog * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_log_event_get. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cong_log_event_ca_t *)_ib_ca_cong_log_log_event_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-log_event\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <13 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -local_qp_resv0 0x%08x", cl_ntoh32(_result[i].local_qp_resv0));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_qp_sl_service_type 0x%08x", cl_ntoh32(_result[i].remote_qp_sl_service_type));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -remote_lid 0x%04x", cl_ntoh16(_result[i].remote_lid));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -time_stamp 0x%08x", cl_ntoh32(_result[i].time_stamp));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccCACongestionLog_getByLid(ccCACongestionLog *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			(uint8_t *)self,           // log data
+			sizeof(ccCACongestionLog), // log data size
+			NULL,                      // mgt data
+			0,                         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CONG_LOG),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCACongestionLog_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionLog * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionLog_getByLid { ccCACongestionLog * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionLog_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionLog_getByLid. Expected _ccCACongestionLog_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionLog_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCACongestionLogMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCACongestionLog methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCACongestionLog_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCACongestionLog_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_type_set;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccCACongestionLog_cong_flags_set;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_counter_set;
+                }  else if (strcmp(_str,"-event_map") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_map_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCACongestionLog_resv_set;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccCACongestionLog_time_stamp_set;
+                }  else if (strcmp(_str,"-log_event") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_event_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-log_type") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_type_get;
+                }  else if (strcmp(_str,"-cong_flags") == 0) {
+                    cmd = _wrap_ccCACongestionLog_cong_flags_get;
+                }  else if (strcmp(_str,"-event_counter") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_counter_get;
+                }  else if (strcmp(_str,"-event_map") == 0) {
+                    cmd = _wrap_ccCACongestionLog_event_map_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccCACongestionLog_resv_get;
+                }  else if (strcmp(_str,"-time_stamp") == 0) {
+                    cmd = _wrap_ccCACongestionLog_time_stamp_get;
+                }  else if (strcmp(_str,"-log_event") == 0) {
+                    cmd = _wrap_ccCACongestionLog_log_event_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCACongestionLog_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -log_type -cong_flags -event_counter -event_map -resv -time_stamp -log_event  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCACongestionLog_log_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_cong_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_event_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_event_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-event_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_time_stamp_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-time_stamp ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionLog_log_event_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_event ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCACongestionLogCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCACongestionLog * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCACongestionLog_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCACongestionLog_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCACongestionLog object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCACongestionLogMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_cong_setting_control_map_set(_swigobj,_swigval) (_swigobj->control_map = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_control_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_control_map_set { ccSWCongestionSetting * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_control_map_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_setting_control_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_control_map_get(_swigobj) (&_swigobj->control_map)
+static int _wrap_ccSWCongestionSetting_control_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_control_map_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_control_map_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_sw_cong_setting_control_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_setting_victim_mask_set(ccSWCongestionSetting *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->victim_mask[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionSetting_victim_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_victim_mask_set { ccSWCongestionSetting * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_victim_mask_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_victim_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_victim_mask_get(_swigobj) ((uint8_array_t *) _swigobj->victim_mask)
+static int _wrap_ccSWCongestionSetting_victim_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_victim_mask_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_victim_mask_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_victim_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_sw_cong_setting_credit_mask_set(ccSWCongestionSetting *obj, uint8_array_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->credit_mask[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ccSWCongestionSetting_credit_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_credit_mask_set { ccSWCongestionSetting * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_credit_mask_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 32))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 32; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_credit_mask_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_credit_mask_get(_swigobj) ((uint8_array_t *) _swigobj->credit_mask)
+static int _wrap_ccSWCongestionSetting_credit_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_credit_mask_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_credit_mask_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_sw_cong_setting_credit_mask_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <32 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_threshold_resv_set(_swigobj,_swigval) (_swigobj->threshold_resv = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_threshold_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_threshold_resv_set { ccSWCongestionSetting * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_threshold_resv_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_threshold_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_threshold_resv_get(_swigobj) (&_swigobj->threshold_resv)
+static int _wrap_ccSWCongestionSetting_threshold_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_threshold_resv_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_threshold_resv_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_threshold_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_packet_size_set(_swigobj,_swigval) (_swigobj->packet_size = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_packet_size_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_packet_size_set { ccSWCongestionSetting * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_packet_size_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_packet_size_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_packet_size_get(_swigobj) (&_swigobj->packet_size)
+static int _wrap_ccSWCongestionSetting_packet_size_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_packet_size_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_packet_size_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_cong_setting_packet_size_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_threshold_resv_set(_swigobj,_swigval) (_swigobj->cs_threshold_resv = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_cs_threshold_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_threshold_resv_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_threshold_resv_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_threshold_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_threshold_resv_get(_swigobj) (&_swigobj->cs_threshold_resv)
+static int _wrap_ccSWCongestionSetting_cs_threshold_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_threshold_resv_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_threshold_resv_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_threshold_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_return_delay_set(_swigobj,_swigval) (_swigobj->cs_return_delay = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_cs_return_delay_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_return_delay_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_return_delay_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_return_delay_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_cs_return_delay_get(_swigobj) (&_swigobj->cs_return_delay)
+static int _wrap_ccSWCongestionSetting_cs_return_delay_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_cs_return_delay_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_cs_return_delay_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_cs_return_delay_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_marking_rate_set(_swigobj,_swigval) (_swigobj->marking_rate = *(_swigval),_swigval)
+static int _wrap_ccSWCongestionSetting_marking_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_marking_rate_set { ccSWCongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_marking_rate_set. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_marking_rate_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_cong_setting_marking_rate_get(_swigobj) (&_swigobj->marking_rate)
+static int _wrap_ccSWCongestionSetting_marking_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccSWCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_marking_rate_get { ccSWCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_marking_rate_get. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_cong_setting_marking_rate_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccSWCongestionSetting_getByLid(ccSWCongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWCongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_getByLid { ccSWCongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_getByLid. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionSetting_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccSWCongestionSetting_setByLid(ccSWCongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccSWCongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWCongestionSetting_setByLid { ccSWCongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWCongestionSetting_setByLid. Expected _ccSWCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWCongestionSetting_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWCongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWCongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWCongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWCongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccSWCongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_control_map_set;
+                }  else if (strcmp(_str,"-victim_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_victim_mask_set;
+                }  else if (strcmp(_str,"-credit_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_credit_mask_set;
+                }  else if (strcmp(_str,"-threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_threshold_resv_set;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_packet_size_set;
+                }  else if (strcmp(_str,"-cs_threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_set;
+                }  else if (strcmp(_str,"-cs_return_delay") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_return_delay_set;
+                }  else if (strcmp(_str,"-marking_rate") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_marking_rate_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_control_map_get;
+                }  else if (strcmp(_str,"-victim_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_victim_mask_get;
+                }  else if (strcmp(_str,"-credit_mask") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_credit_mask_get;
+                }  else if (strcmp(_str,"-threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_threshold_resv_get;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_packet_size_get;
+                }  else if (strcmp(_str,"-cs_threshold_resv") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_get;
+                }  else if (strcmp(_str,"-cs_return_delay") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_cs_return_delay_get;
+                }  else if (strcmp(_str,"-marking_rate") == 0) {
+                    cmd = _wrap_ccSWCongestionSetting_marking_rate_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWCongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -control_map -victim_mask -credit_mask -threshold_resv -packet_size -cs_threshold_resv -cs_return_delay -marking_rate  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWCongestionSetting_control_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-control_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_victim_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-victim_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_credit_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-credit_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_threshold_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-threshold_resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_packet_size_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-packet_size ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_cs_threshold_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cs_threshold_resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_cs_return_delay_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cs_return_delay ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccSWCongestionSetting_marking_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-marking_rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWCongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWCongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWCongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWCongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWCongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWCongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_set(_swigobj,_swigval) (_swigobj->valid_ctrl_type_res_threshold = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set { ib_sw_port_cong_setting_element_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_get(_swigobj) (&_swigobj->valid_ctrl_type_res_threshold)
+static int _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_valid_ctrl_type_res_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_packet_size_set(_swigobj,_swigval) (_swigobj->packet_size = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_packet_size_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_packet_size_set { ib_sw_port_cong_setting_element_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_packet_size_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_packet_size_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_packet_size_get(_swigobj) (&_swigobj->packet_size)
+static int _wrap_ib_sw_port_cong_setting_element_t_packet_size_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_packet_size_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_packet_size_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_sw_port_cong_setting_element_packet_size_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_cong_param_set(_swigobj,_swigval) (_swigobj->cong_param = *(_swigval),_swigval)
+static int _wrap_ib_sw_port_cong_setting_element_t_cong_param_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_cong_param_set { ib_sw_port_cong_setting_element_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_cong_param_set. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_port_cong_setting_element_cong_param_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_element_cong_param_get(_swigobj) (&_swigobj->cong_param)
+static int _wrap_ib_sw_port_cong_setting_element_t_cong_param_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_sw_port_cong_setting_element_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_sw_port_cong_setting_element_t_cong_param_get { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_sw_port_cong_setting_element_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_sw_port_cong_setting_element_t_cong_param_get. Expected _ib_sw_port_cong_setting_element_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_sw_port_cong_setting_element_cong_param_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_sw_port_cong_setting_element_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_sw_port_cong_setting_element_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_sw_port_cong_setting_element_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-valid_ctrl_type_res_threshold") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_set;
+                }  else if (strcmp(_str,"-cong_param") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-valid_ctrl_type_res_threshold") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get;
+                }  else if (strcmp(_str,"-packet_size") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_get;
+                }  else if (strcmp(_str,"-cong_param") == 0) {
+                    cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_sw_port_cong_setting_element_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -valid_ctrl_type_res_threshold -packet_size -cong_param  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -valid_ctrl_type_res_threshold -packet_size -cong_param  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-valid_ctrl_type_res_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_sw_port_cong_setting_element_t_packet_size_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-packet_size ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_sw_port_cong_setting_element_t_cong_param_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-cong_param ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_sw_port_cong_setting_element_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_sw_port_cong_setting_element_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_sw_port_cong_setting_element_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_sw_port_cong_setting_element_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_sw_port_cong_setting_element_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_sw_port_cong_setting_element_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static ib_sw_port_cong_setting_element_t * _ib_sw_port_cong_setting_block_set(ccSWPortCongestionSetting *obj, ib_sw_port_cong_setting_element_t val[32]) {
+{
+	int i;
+	for (i=0; i <32 ; i++) {
+		obj->block[i] = *(val+i);
+	}
+}
+    return (ib_sw_port_cong_setting_element_t *) val;
+}
+static int _wrap_ccSWPortCongestionSetting_block_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_sw_port_cong_setting_element_t * _result;
+    ccSWPortCongestionSetting * _arg0;
+    ib_sw_port_cong_setting_element_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_sw_port_cong_setting_element_t  entrys[32];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_block_set { ccSWPortCongestionSetting * } { ib_sw_port_cong_setting_element_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_block_set. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* SwitchPortCongestionSetting Block list should have up to 32 blocks */
+	if (countSubLists > 32)
+	{
+		printf("Error: SwitchPortCongestionSetting Block list should have up to %d blocks (provided %d)\n",
+			32, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccSWPortCongestionSettingMad configure -block {{1 2 3} {4 5 6}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccSWPortCongestionSettingMad configure -block {{4 1 2 3} {8 4 5 6}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 3)
+			option = 1;
+		else if (numElements == 4)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 32; i++) {
+		entrys[i].valid_ctrl_type_res_threshold = 0;
+		entrys[i].packet_size = 0;
+		entrys[i].cong_param = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 3) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 3; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].valid_ctrl_type_res_threshold = value; break;
+					case 1: entrys[i].packet_size = value; break;
+					case 2: entrys[i].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for SW Port Congestion Setting Element: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of SW Port Congestion Setting Element: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].valid_ctrl_type_res_threshold = value; break;
+					case 2: entrys[entry_index].packet_size = value; break;
+					case 3: entrys[entry_index].cong_param = cl_hton16(value); break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_sw_port_cong_setting_element_t *)_ib_sw_port_cong_setting_block_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-block\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <32 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -valid_ctrl_type_res_threshold 0x%02x", _result[i].valid_ctrl_type_res_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -packet_size 0x%02x", _result[i].packet_size);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -cong_param 0x%04x", cl_ntoh16(_result[i].cong_param));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_sw_port_cong_setting_block_get(_swigobj) ((ib_sw_port_cong_setting_element_t *) _swigobj->block)
+static int _wrap_ccSWPortCongestionSetting_block_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_sw_port_cong_setting_element_t * _result;
+    ccSWPortCongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_block_get { ccSWPortCongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_block_get. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_sw_port_cong_setting_element_t *)_ib_sw_port_cong_setting_block_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-block\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <32 ; i++) {
+		sprintf(buff, " {#%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -valid_ctrl_type_res_threshold 0x%02x", _result[i].valid_ctrl_type_res_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -packet_size 0x%02x", _result[i].packet_size);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -cong_param 0x%04x", cl_ntoh16(_result[i].cong_param));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccSWPortCongestionSetting_getByLid(ccSWPortCongestionSetting *self,uint16_t  lid,uint8_t  block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccSWPortCongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWPortCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_getByLid { ccSWPortCongestionSetting * } lid block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_getByLid. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWPortCongestionSetting_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccSWPortCongestionSetting_setByLid(ccSWPortCongestionSetting *self,uint16_t  lid,uint8_t  block) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccSWPortCongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_SW_PORT_CONG_SETTING),
+			block,                   // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccSWPortCongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccSWPortCongestionSetting * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccSWPortCongestionSetting_setByLid { ccSWPortCongestionSetting * } lid block ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccSWPortCongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccSWPortCongestionSetting_setByLid. Expected _ccSWPortCongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccSWPortCongestionSetting_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccSWPortCongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccSWPortCongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccSWPortCongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccSWPortCongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccSWPortCongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-block") == 0) {
+                    cmd = _wrap_ccSWPortCongestionSetting_block_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -block  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -block  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-block") == 0) {
+                    cmd = _wrap_ccSWPortCongestionSetting_block_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccSWPortCongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -block  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -block  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccSWPortCongestionSetting_block_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccSWPortCongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccSWPortCongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccSWPortCongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccSWPortCongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccSWPortCongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccSWPortCongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_entry_ccti_timer_set(_swigobj,_swigval) (_swigobj->ccti_timer = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_timer_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_timer_set { ib_ca_cong_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_timer_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_ccti_timer_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_timer_get(_swigobj) (&_swigobj->ccti_timer)
+static int _wrap_ib_ca_cong_entry_t_ccti_timer_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_timer_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_timer_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_ccti_timer_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_increase_set(_swigobj,_swigval) (_swigobj->ccti_increase = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_increase_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_increase_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_increase_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_increase_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_increase_get(_swigobj) (&_swigobj->ccti_increase)
+static int _wrap_ib_ca_cong_entry_t_ccti_increase_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_increase_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_increase_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_increase_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_trigger_threshold_set(_swigobj,_swigval) (_swigobj->trigger_threshold = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_trigger_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_trigger_threshold_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_trigger_threshold_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_trigger_threshold_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_trigger_threshold_get(_swigobj) (&_swigobj->trigger_threshold)
+static int _wrap_ib_ca_cong_entry_t_trigger_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_trigger_threshold_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_trigger_threshold_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_trigger_threshold_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_min_set(_swigobj,_swigval) (_swigobj->ccti_min = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_ccti_min_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_min_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_min_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_min_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_ccti_min_get(_swigobj) (&_swigobj->ccti_min)
+static int _wrap_ib_ca_cong_entry_t_ccti_min_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_ccti_min_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_ccti_min_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_ccti_min_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv0_set(_swigobj,_swigval) (_swigobj->resv0 = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv0_set { ib_ca_cong_entry_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv0_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_resv0_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv0_get(_swigobj) (&_swigobj->resv0)
+static int _wrap_ib_ca_cong_entry_t_resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv0_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv0_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (uint8_t *)_ib_ca_cong_entry_resv0_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv1_set(_swigobj,_swigval) (_swigobj->resv1 = *(_swigval),_swigval)
+static int _wrap_ib_ca_cong_entry_t_resv1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv1_set { ib_ca_cong_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv1_set. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_resv1_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_entry_resv1_get(_swigobj) (&_swigobj->resv1)
+static int _wrap_ib_ca_cong_entry_t_resv1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_ca_cong_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_ca_cong_entry_t_resv1_get { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_ca_cong_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_ca_cong_entry_t_resv1_get. Expected _ib_ca_cong_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_entry_resv1_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_ca_cong_entry_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_ca_cong_entry_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_ca_cong_entry_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-ccti_timer") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_set;
+                }  else if (strcmp(_str,"-ccti_increase") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_set;
+                }  else if (strcmp(_str,"-trigger_threshold") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_set;
+                }  else if (strcmp(_str,"-ccti_min") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_min_set;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv0_set;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv1_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-ccti_timer") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_get;
+                }  else if (strcmp(_str,"-ccti_increase") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_get;
+                }  else if (strcmp(_str,"-trigger_threshold") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_get;
+                }  else if (strcmp(_str,"-ccti_min") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_ccti_min_get;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv0_get;
+                }  else if (strcmp(_str,"-resv1") == 0) {
+                    cmd = _wrap_ib_ca_cong_entry_t_resv1_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_ca_cong_entry_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -ccti_timer -ccti_increase -trigger_threshold -ccti_min -resv0 -resv1  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_ca_cong_entry_t_ccti_timer_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_timer ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_ccti_increase_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_increase ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_trigger_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trigger_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_ccti_min_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_min ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_ca_cong_entry_t_resv1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_ca_cong_entry_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_ca_cong_entry_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_ca_cong_entry_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_ca_cong_entry_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_ca_cong_entry_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_ca_cong_entry_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_ca_cong_setting_port_control_set(_swigobj,_swigval) (_swigobj->port_control = *(_swigval),_swigval)
+static int _wrap_ccCACongestionSetting_port_control_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_port_control_set { ccCACongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_port_control_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_port_control_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_port_control_get(_swigobj) (&_swigobj->port_control)
+static int _wrap_ccCACongestionSetting_port_control_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_port_control_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_port_control_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_port_control_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_control_map_set(_swigobj,_swigval) (_swigobj->control_map = *(_swigval),_swigval)
+static int _wrap_ccCACongestionSetting_control_map_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_control_map_set { ccCACongestionSetting * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_control_map_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_control_map_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_control_map_get(_swigobj) (&_swigobj->control_map)
+static int _wrap_ccCACongestionSetting_control_map_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_control_map_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_control_map_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_ca_cong_setting_control_map_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_ca_cong_entry_t * _ib_ca_cong_setting_entry_list_set(ccCACongestionSetting *obj, ib_ca_cong_entry_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_ca_cong_entry_t *) val;
+}
+static int _wrap_ccCACongestionSetting_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_ca_cong_entry_t * _result;
+    ccCACongestionSetting * _arg0;
+    ib_ca_cong_entry_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_ca_cong_entry_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_entry_list_set { ccCACongestionSetting * } { ib_ca_cong_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_entry_list_set. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int k;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CA Congestion Setting: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* CA Congestion Setting Entry List should have up to 16 entries */
+	if (countSubLists > 16)
+	{
+		printf("Error: CA Congestion Setting Entry List should have up to %d entries (provided %d)\n",
+			16, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of value groups:
+	 *        ccCACongestionSetting configure -entry_list {{1 2 3 4} {5 6 7 8}}
+	 *   2. Configure specific items from the list by providing index in addition to the above:
+	 *        ccCACongestionSetting configure -entry_list {{4 1 2 3 4} {8 5 6 7 8}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 4)
+			option = 1;
+		else if (numElements == 5)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 16; i++) {
+		entrys[i].ccti_timer = 0;
+		entrys[i].ccti_increase = 0;
+		entrys[i].trigger_threshold = 0;
+		entrys[i].ccti_min = 0;
+	}
+
+	if (option == 1) {
+		/*
+		 * first option - list of groups of four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 4) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 4; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entrys[i].ccti_timer = cl_hton16(value); break;
+					case 1: entrys[i].ccti_increase = value; break;
+					case 2: entrys[i].trigger_threshold = value; break;
+					case 3: entrys[i].ccti_min = value; break;
+					default: break;
+				}
+			}
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and four values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 5) {
+				printf("Error: wrong number of elements for CA Congestion Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			for (k = 0; k < 5; k++) {
+
+				if (Tcl_ListObjIndex(interp, subListObjArray[i], k, &tclObj) != TCL_OK) {
+					printf("Error: Fail to obtain the element of CA Congestion Entry: %s\n",
+						Tcl_GetStringFromObj(subListObjArray[i],NULL));
+					return TCL_ERROR;
+				}
+				value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+				switch (k) {
+					case 0: entry_index = value; break;
+					case 1: entrys[entry_index].ccti_timer = cl_hton16(value); break;
+					case 2: entrys[entry_index].ccti_increase = value; break;
+					case 3: entrys[entry_index].trigger_threshold = value; break;
+					case 4: entrys[entry_index].ccti_min = value; break;
+					default: break;
+				}
+			}
+
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_ca_cong_entry_t *)_ib_ca_cong_setting_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <16 ; i++) {
+		sprintf(buff, " {SL%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_timer 0x%04x", cl_ntoh16(_result[i].ccti_timer));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_increase 0x%02x", _result[i].ccti_increase);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -trigger_threshold 0x%02x", _result[i].trigger_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_min 0x%02x", _result[i].ccti_min);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+#define _ib_ca_cong_setting_entry_list_get(_swigobj) ((ib_ca_cong_entry_t *) _swigobj->entry_list)
+static int _wrap_ccCACongestionSetting_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_ca_cong_entry_t * _result;
+    ccCACongestionSetting * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_entry_list_get { ccCACongestionSetting * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_entry_list_get. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_ca_cong_entry_t *)_ib_ca_cong_setting_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list\n ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <16 ; i++) {
+		sprintf(buff, " {SL%02u:", i);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_timer 0x%04x", cl_ntoh16(_result[i].ccti_timer));
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_increase 0x%02x", _result[i].ccti_increase);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -trigger_threshold 0x%02x", _result[i].trigger_threshold);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, " -ccti_min 0x%02x", _result[i].ccti_min);
+		Tcl_AppendResult(interp, buff, NULL);
+
+		sprintf(buff, "}\n ");
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+}
+    return TCL_OK;
+}
+static int  ccCACongestionSetting_getByLid(ccCACongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccCACongestionSetting_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_getByLid { ccCACongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_getByLid. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionSetting_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccCACongestionSetting_setByLid(ccCACongestionSetting *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccCACongestionSetting),// mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CA_CONG_SETTING),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccCACongestionSetting_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccCACongestionSetting * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccCACongestionSetting_setByLid { ccCACongestionSetting * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccCACongestionSetting_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccCACongestionSetting_setByLid. Expected _ccCACongestionSetting_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccCACongestionSetting_setByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccCACongestionSettingMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccCACongestionSetting methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccCACongestionSetting_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccCACongestionSetting_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccCACongestionSetting_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-port_control") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_port_control_set;
+                }  else if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_control_map_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -port_control -control_map -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -port_control -control_map -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-port_control") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_port_control_get;
+                }  else if (strcmp(_str,"-control_map") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_control_map_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccCACongestionSetting_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccCACongestionSetting_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -port_control -control_map -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -port_control -control_map -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccCACongestionSetting_port_control_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_control ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionSetting_control_map_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-control_map ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccCACongestionSetting_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccCACongestionSettingCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccCACongestionSetting * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccCACongestionSetting_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccCACongestionSetting_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccCACongestionSetting object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccCACongestionSettingMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibcc_tbl_entry_shift_multiplier_set(_swigobj,_swigval) (_swigobj->shift_multiplier = *(_swigval),_swigval)
+static int _wrap_ib_cc_tbl_entry_t_shift_multiplier_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cc_tbl_entry_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cc_tbl_entry_t_shift_multiplier_set { ib_cc_tbl_entry_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cc_tbl_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cc_tbl_entry_t_shift_multiplier_set. Expected _ib_cc_tbl_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_tbl_entry_shift_multiplier_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibcc_tbl_entry_shift_multiplier_get(_swigobj) (&_swigobj->shift_multiplier)
+static int _wrap_ib_cc_tbl_entry_t_shift_multiplier_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_cc_tbl_entry_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_cc_tbl_entry_t_shift_multiplier_get { ib_cc_tbl_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_cc_tbl_entry_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_cc_tbl_entry_t_shift_multiplier_get. Expected _ib_cc_tbl_entry_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ibcc_tbl_entry_shift_multiplier_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_cc_tbl_entry_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_cc_tbl_entry_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_cc_tbl_entry_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-shift_multiplier") == 0) {
+                    cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -shift_multiplier  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -shift_multiplier  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-shift_multiplier") == 0) {
+                    cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_cc_tbl_entry_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -shift_multiplier  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -shift_multiplier  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_cc_tbl_entry_t_shift_multiplier_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-shift_multiplier ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_cc_tbl_entry_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_cc_tbl_entry_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_cc_tbl_entry_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_cc_tbl_entry_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_cc_tbl_entry_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_cc_tbl_entry_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_cc_tbl_ccti_limit_set(_swigobj,_swigval) (_swigobj->ccti_limit = *(_swigval),_swigval)
+static int _wrap_ccTable_ccti_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_ccti_limit_set { ccTable * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_ccti_limit_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_ccti_limit_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_ccti_limit_get(_swigobj) (&_swigobj->ccti_limit)
+static int _wrap_ccTable_ccti_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_ccti_limit_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_ccti_limit_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_ccti_limit_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_ccTable_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_resv_set { ccTable * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_resv_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_resv_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_ccTable_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_resv_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_resv_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_cc_tbl_resv_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static ib_cc_tbl_entry_t * _ib_cc_tbl_entry_list_set(ccTable *obj, ib_cc_tbl_entry_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->entry_list[i] = *(val+i);
+	}
+}
+    return (ib_cc_tbl_entry_t *) val;
+}
+static int _wrap_ccTable_entry_list_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cc_tbl_entry_t * _result;
+    ccTable * _arg0;
+    ib_cc_tbl_entry_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_cc_tbl_entry_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_entry_list_set { ccTable * } { ib_cc_tbl_entry_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_entry_list_set. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+	long int value;
+	long int entry_index = 0;
+	int countSubLists, numElements;
+	int i = 0;
+	int option = 0;
+	Tcl_Obj ** subListObjArray;
+	Tcl_Obj  * tclObj;
+
+	if (Tcl_ListObjGetElements(interp, objv[2], &countSubLists, &subListObjArray) != TCL_OK)
+	{
+		printf("Error: wrong format for CC Table: %s\n",
+			Tcl_GetStringFromObj(objv[2],NULL));
+		return TCL_ERROR;
+	}
+
+	/* Congestion Control Table Entry List should have up to 64 entries */
+	if (countSubLists > 64)
+	{
+		printf("Error: Congestion Control Table Entry List should have up to %d entries (provided %d)\n",
+			64, countSubLists);
+		return TCL_ERROR;
+	}
+
+	/*
+	 * There are two options to configure entry_list:
+	 *   1. Configure the whole list by providing list of values:
+	 *        ccTableMad configure -entry_list {1 2 3 4 5 6}
+	 *   2. Configure specific items from the list by providing index and value:
+	 *        ccTableMad configure -entry_list {{1 3} {2 4} {7 16}}
+	 */
+
+	if (countSubLists > 0) {
+
+		/* check how many members does the first substring have */
+
+		if (Tcl_ListObjLength(interp, subListObjArray[0], &numElements) != TCL_OK) {
+			printf("Error: wrong format for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+
+		if (numElements == 1)
+			option = 1;
+		else if (numElements == 2)
+			option = 2;
+		else {
+			printf("Error: wrong number of elements for CC Table Entry: %s\n",
+				Tcl_GetStringFromObj(subListObjArray[0],NULL));
+			return TCL_ERROR;
+		}
+	}
+	else {
+		/* if the user didn't specify anything, use option 1,
+		   wich will effectively clear the whole list values */
+		option = 1;
+	}
+
+	for (i = 0; i < 64; i++)
+		entrys[i].shift_multiplier = 0;
+
+	if (option == 1) {
+		/*
+		 * first option - list of values
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 1) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[i].shift_multiplier = cl_hton16(value);
+		}
+
+	}
+	else {
+		/*
+		 * second option - index and value
+		 */
+
+		for (i = 0; i < countSubLists; i++) {
+
+			if (Tcl_ListObjLength(interp, subListObjArray[i], &numElements) != TCL_OK) {
+				printf("Error: wrong format for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (numElements != 2) {
+				printf("Error: wrong number of elements for CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 0, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			entry_index = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			if (Tcl_ListObjIndex(interp, subListObjArray[i], 1, &tclObj) != TCL_OK) {
+				printf("Error: Fail to obtain the element of CC Table Entry: %s\n",
+					Tcl_GetStringFromObj(subListObjArray[i],NULL));
+				return TCL_ERROR;
+			}
+
+			value = strtol(Tcl_GetStringFromObj(tclObj, NULL), NULL, 0);
+
+			entrys[entry_index].shift_multiplier = cl_hton16(value);
+		}
+	}
+
+	_arg1 = entrys;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cc_tbl_entry_t *)_ib_cc_tbl_entry_list_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list { ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <64 ; i++) {
+		sprintf(buff, "{#%02u: 0x%04x} ", i, cl_ntoh16(_result[i].shift_multiplier));
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+
+	sprintf(buff, "} ");
+	Tcl_AppendResult(interp, buff, NULL);
+}
+    return TCL_OK;
+}
+#define _ib_cc_tbl_entry_list_get(_swigobj) ((ib_cc_tbl_entry_t *) _swigobj->entry_list)
+static int _wrap_ccTable_entry_list_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_cc_tbl_entry_t * _result;
+    ccTable * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_entry_list_get { ccTable * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_entry_list_get. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_cc_tbl_entry_t *)_ib_cc_tbl_entry_list_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	int i;
+	char buff[99];
+
+	sprintf(buff, "-entry_list { ");
+	Tcl_AppendResult(interp, buff, NULL);
+
+	for (i=0; i <64 ; i++) {
+		sprintf(buff, "{#%02u: 0x%04x} ", i, cl_ntoh16(_result[i].shift_multiplier));
+		Tcl_AppendResult(interp, buff, NULL);
+	}
+
+	sprintf(buff, "} ");
+	Tcl_AppendResult(interp, buff, NULL);
+}
+    return TCL_OK;
+}
+static int  ccTable_getByLid(ccTable *self,uint16_t  lid,uint8_t  sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccTable_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_getByLid { ccTable * } lid sn ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_getByLid. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTable_getByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  ccTable_setByLid(ccTable *self,uint16_t  lid,uint8_t  sn) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTable),         // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_CC_TBL),
+			sn,                      // attribute modifier
+			IB_MAD_METHOD_SET);
+	}
+static int _wrap_ccTable_setByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTable * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTable_setByLid { ccTable * } lid sn ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTable_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTable_setByLid. Expected _ccTable_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTable_setByLid(_arg0,*_arg1,*_arg2);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccTableMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccTable methods : { dump cget configure getByLid setByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccTable_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccTable_getByLid;
+    }    else if (strcmp(_str,"setByLid") == 0) {
+        cmd = _wrap_ccTable_setByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-ccti_limit") == 0) {
+                    cmd = _wrap_ccTable_ccti_limit_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccTable_resv_set;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccTable_entry_list_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -ccti_limit -resv -entry_list  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -ccti_limit -resv -entry_list  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-ccti_limit") == 0) {
+                    cmd = _wrap_ccTable_ccti_limit_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_ccTable_resv_get;
+                }  else if (strcmp(_str,"-entry_list") == 0) {
+                    cmd = _wrap_ccTable_entry_list_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccTable_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -ccti_limit -resv -entry_list  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -ccti_limit -resv -entry_list  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccTable_ccti_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-ccti_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccTable_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ccTable_entry_list_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-entry_list ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid setByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccTableCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccTable * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccTable_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccTable_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccTable object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccTableMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_time_stamp_value_set(_swigobj,_swigval) (_swigobj->value = *(_swigval),_swigval)
+static int _wrap_ccTimeStamp_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccTimeStamp * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_value_set { ccTimeStamp * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_value_set. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_time_stamp_value_set(_arg0,_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_time_stamp_value_get(_swigobj) (&_swigobj->value)
+static int _wrap_ccTimeStamp_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ccTimeStamp * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_value_get { ccTimeStamp * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_value_get. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_time_stamp_value_get(_arg0);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  ccTimeStamp_getByLid(ccTimeStamp *self,uint16_t  lid) {
+		return ibcc_send_mad_by_lid (
+			gp_ibcc,
+			IBCC_DEAFULT_KEY,
+			NULL,                    // log data
+			0,                       // log data size
+			(uint8_t *)self,         // mgt data
+			sizeof(ccTimeStamp),     // mgt data size
+			lid,
+			CL_NTOH16(IB_MAD_ATTR_TIME_STAMP),
+			0,                       // attribute modifier
+			IB_MAD_METHOD_GET);
+	}
+static int _wrap_ccTimeStamp_getByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    ccTimeStamp * _arg0;
+    uint16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ccTimeStamp_getByLid { ccTimeStamp * } lid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ccTimeStamp_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ccTimeStamp_getByLid. Expected _ccTimeStamp_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  /* we can check if IBIS was initialized here */
+  if (!IbisObj.initialized)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      "ibis was not yet initialized. please use ibis_init and then ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  if (! IbisObj.port_guid)
+  {
+    Tcl_SetStringObj(
+      Tcl_GetObjResult(interp),
+      " ibis was not yet initialized. please use ibis_set_port before.", -1);
+    return TCL_ERROR;
+  }
+
+  ibis_tcl_error = 0;
+      _result = (int )ccTimeStamp_getByLid(_arg0,*_arg1);
+;
+  if (ibis_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibis_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclccTimeStampMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ccTimeStamp methods : { dump cget configure getByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ccTimeStamp_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getByLid") == 0) {
+        cmd = _wrap_ccTimeStamp_getByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-value") == 0) {
+                    cmd = _wrap_ccTimeStamp_value_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -value  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -value  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-value") == 0) {
+                    cmd = _wrap_ccTimeStamp_value_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ccTimeStamp_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -value  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -value  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ccTimeStamp_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclccTimeStampCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ccTimeStamp * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ccTimeStamp_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ccTimeStamp_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ccTimeStamp object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclccTimeStampMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ibis_opt_single_thread_set(_swigobj,_swigval) (_swigobj->single_thread = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_single_thread_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    boolean_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    boolean_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_single_thread_set { ibis_opt_t * } { boolean_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_single_thread_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  if (strcmp(Tcl_GetStringFromObj(objv[2],NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  _arg1 = &temp;
+}
+    _result = (boolean_t *)_ibis_opt_single_thread_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_single_thread_get(_swigobj) (&_swigobj->single_thread)
+static int _wrap_ibis_opt_t_single_thread_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_single_thread_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_single_thread_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (boolean_t *)_ibis_opt_single_thread_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_force_log_flush_set(_swigobj,_swigval) (_swigobj->force_log_flush = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_force_log_flush_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    boolean_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    boolean_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_force_log_flush_set { ibis_opt_t * } { boolean_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_force_log_flush_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  if (strcmp(Tcl_GetStringFromObj(objv[2],NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  _arg1 = &temp;
+}
+    _result = (boolean_t *)_ibis_opt_force_log_flush_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_force_log_flush_get(_swigobj) (&_swigobj->force_log_flush)
+static int _wrap_ibis_opt_t_force_log_flush_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    boolean_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_force_log_flush_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_force_log_flush_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (boolean_t *)_ibis_opt_force_log_flush_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (*_result) {
+	 Tcl_SetStringObj(tcl_result,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj(tcl_result,"FALSE", 5);
+  }
+}
+    return TCL_OK;
+}
+#define _ibis_opt_log_flags_set(_swigobj,_swigval) (_swigobj->log_flags = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_log_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ibis_opt_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_flags_set { ibis_opt_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_flags_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+    _result = (uint8_t *)_ibis_opt_log_flags_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_log_flags_get(_swigobj) (&_swigobj->log_flags)
+static int _wrap_ibis_opt_t_log_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_flags_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_flags_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint8_t *)_ibis_opt_log_flags_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static char * _ibis_opt_log_file_set(ibis_opt_t *obj, char val[1024]) {
+{
+  strncpy(obj->log_file,val,1024 - 1);
+  obj->log_file[1024 - 1] = '\0';
+}
+    return (char *) val;
+}
+static int _wrap_ibis_opt_t_log_file_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    ibis_opt_t * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_file_set { ibis_opt_t * } { char * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_file_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+    _result = (char *)_ibis_opt_log_file_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+    return TCL_OK;
+}
+#define _ibis_opt_log_file_get(_swigobj) ((char *) _swigobj->log_file)
+static int _wrap_ibis_opt_t_log_file_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    char * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_log_file_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_log_file_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (char *)_ibis_opt_log_file_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetStringObj(tcl_result,_result,-1);
+    return TCL_OK;
+}
+#define _ibis_opt_sm_key_set(_swigobj,_swigval) (_swigobj->sm_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_sm_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_sm_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_sm_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_sm_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_sm_key_get(_swigobj) (&_swigobj->sm_key)
+static int _wrap_ibis_opt_t_sm_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_sm_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_sm_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_sm_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_m_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_m_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_m_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_ibis_opt_t_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_m_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_m_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_m_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_v_key_set(_swigobj,_swigval) (_swigobj->v_key = *(_swigval),_swigval)
+static int _wrap_ibis_opt_t_v_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_v_key_set { ibis_opt_t * } { uint64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_v_key_set. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+    _result = (uint64_t *)_ibis_opt_v_key_set(_arg0,_arg1);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ibis_opt_v_key_get(_swigobj) (&_swigobj->v_key)
+static int _wrap_ibis_opt_t_v_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_t * _result;
+    ibis_opt_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibis_opt_t_v_key_get { ibis_opt_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ibis_opt_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ibis_opt_t_v_key_get. Expected _ibis_opt_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    _result = (uint64_t *)_ibis_opt_v_key_get(_arg0);
+    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclibis_opt_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ibis_opt_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ibis_opt_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-single_thread") == 0) {
+                    cmd = _wrap_ibis_opt_t_single_thread_set;
+                }  else if (strcmp(_str,"-force_log_flush") == 0) {
+                    cmd = _wrap_ibis_opt_t_force_log_flush_set;
+                }  else if (strcmp(_str,"-log_flags") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_flags_set;
+                }  else if (strcmp(_str,"-log_file") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_file_set;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_sm_key_set;
+                }  else if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_m_key_set;
+                }  else if (strcmp(_str,"-v_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_v_key_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-single_thread") == 0) {
+                    cmd = _wrap_ibis_opt_t_single_thread_get;
+                }  else if (strcmp(_str,"-force_log_flush") == 0) {
+                    cmd = _wrap_ibis_opt_t_force_log_flush_get;
+                }  else if (strcmp(_str,"-log_flags") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_flags_get;
+                }  else if (strcmp(_str,"-log_file") == 0) {
+                    cmd = _wrap_ibis_opt_t_log_file_get;
+                }  else if (strcmp(_str,"-sm_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_sm_key_get;
+                }  else if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_m_key_get;
+                }  else if (strcmp(_str,"-v_key") == 0) {
+                    cmd = _wrap_ibis_opt_t_v_key_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ibis_opt_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -single_thread -force_log_flush -log_flags -log_file -sm_key -m_key -v_key  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ibis_opt_t_single_thread_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-single_thread ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_force_log_flush_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-force_log_flush ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_log_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_log_file_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-log_file ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_sm_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sm_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ibis_opt_t_v_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-v_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclibis_opt_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ibis_opt_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ibis_opt_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ibis_opt_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ibis_opt_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclibis_opt_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+SWIGEXPORT(int,Ibis_Init)(Tcl_Interp *interp) {
+	 if (interp == 0)
+		 return TCL_ERROR;
+	 SWIG_RegisterType();
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crDestroy", _wrap_crDestroy, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crMultiMaxGet", _wrap_crMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crRead", _wrap_crRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crWrite", _wrap_crWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crReadMulti", _wrap_crReadMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "crWriteMulti", _wrap_crWriteMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+
+
+ {
+
+	}
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmMultiMaxGet", _wrap_pmMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetPortCounters", _wrap_pmGetPortCounters, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetPortCountersMulti", _wrap_pmGetPortCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmGetExtPortCountersMulti", _wrap_pmGetExtPortCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmClrAllCounters", _wrap_pmClrAllCounters, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "pmClrAllCountersMulti", _wrap_pmClrAllCountersMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMultiMaxGet", _wrap_vsMultiMaxGet, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsCpuRead", _wrap_vsCpuRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsCpuWrite", _wrap_vsCpuWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cRead", _wrap_vsI2cRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cWrite", _wrap_vsI2cWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cReadMulti", _wrap_vsI2cReadMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsI2cWriteMulti", _wrap_vsI2cWriteMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGpioRead", _wrap_vsGpioRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGpioWrite", _wrap_vsGpioWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsSWReset", _wrap_vsSWReset, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashStartMulti", _wrap_vsFlashStartMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashStopMulti", _wrap_vsFlashStopMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashSetBankMulti", _wrap_vsFlashSetBankMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashEraseSectorMulti", _wrap_vsFlashEraseSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashReadSectorMulti", _wrap_vsFlashReadSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsFlashWriteSectorMulti", _wrap_vsFlashWriteSectorMulti, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMirrorRead", _wrap_vsMirrorRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsMirrorWrite", _wrap_vsMirrorWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGetGeneralInfo", _wrap_vsGetGeneralInfo, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "vsGetPrivateLFTMap", _wrap_vsGetPrivateLFTMap, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVpdRead", _wrap_bbmVpdRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVpdWrite", _wrap_bbmVpdWrite, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmVSDRead", _wrap_bbmVSDRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmBSNRead", _wrap_bbmBSNRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmModRead", _wrap_bbmModRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmChaRead", _wrap_bbmChaRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "bbmFWVerRead", _wrap_bbmFWVerRead, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_LID", (char *) &_wrap_const_IB_NR_COMPMASK_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_RESERVED1", (char *) &_wrap_const_IB_NR_COMPMASK_RESERVED1, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_BASEVERSION", (char *) &_wrap_const_IB_NR_COMPMASK_BASEVERSION, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_CLASSVERSION", (char *) &_wrap_const_IB_NR_COMPMASK_CLASSVERSION, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODETYPE", (char *) &_wrap_const_IB_NR_COMPMASK_NODETYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NUMPORTS", (char *) &_wrap_const_IB_NR_COMPMASK_NUMPORTS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_SYSIMAGEGUID", (char *) &_wrap_const_IB_NR_COMPMASK_SYSIMAGEGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODEGUID", (char *) &_wrap_const_IB_NR_COMPMASK_NODEGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PORTGUID", (char *) &_wrap_const_IB_NR_COMPMASK_PORTGUID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PARTCAP", (char *) &_wrap_const_IB_NR_COMPMASK_PARTCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_DEVID", (char *) &_wrap_const_IB_NR_COMPMASK_DEVID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_REV", (char *) &_wrap_const_IB_NR_COMPMASK_REV, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_PORTNUM", (char *) &_wrap_const_IB_NR_COMPMASK_PORTNUM, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_VENDID", (char *) &_wrap_const_IB_NR_COMPMASK_VENDID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_NR_COMPMASK_NODEDESC", (char *) &_wrap_const_IB_NR_COMPMASK_NODEDESC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LID", (char *) &_wrap_const_IB_PIR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTNUM", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTNUM, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV1", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEY", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_GIDPRE", (char *) &_wrap_const_IB_PIR_COMPMASK_GIDPRE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_BASELID", (char *) &_wrap_const_IB_PIR_COMPMASK_BASELID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_SMLID", (char *) &_wrap_const_IB_PIR_COMPMASK_SMLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_CAPMASK", (char *) &_wrap_const_IB_PIR_COMPMASK_CAPMASK, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_DIAGCODE", (char *) &_wrap_const_IB_PIR_COMPMASK_DIAGCODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYLEASEPRD", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYLEASEPRD, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LOCALPORTNUM", (char *) &_wrap_const_IB_PIR_COMPMASK_LOCALPORTNUM, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKWIDTHSUPPORT", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKWIDTHSUPPORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKWIDTHACTIVE", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKWIDTHACTIVE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKWIDTHENABLED", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKWIDTHENABLED, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LNKSPEEDSUPPORT", (char *) &_wrap_const_IB_PIR_COMPMASK_LNKSPEEDSUPPORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PORTPHYSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_PORTPHYSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKDWNDFLTSTATE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKDWNDFLTSTATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYPROTBITS", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYPROTBITS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LMC", (char *) &_wrap_const_IB_PIR_COMPMASK_LMC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKSPEEDACTIVE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKSPEEDACTIVE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LINKSPEEDENABLE", (char *) &_wrap_const_IB_PIR_COMPMASK_LINKSPEEDENABLE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_NEIGHBORMTU", (char *) &_wrap_const_IB_PIR_COMPMASK_NEIGHBORMTU, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MASTERSMSL", (char *) &_wrap_const_IB_PIR_COMPMASK_MASTERSMSL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_INITTYPE", (char *) &_wrap_const_IB_PIR_COMPMASK_INITTYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLHIGHLIMIT", (char *) &_wrap_const_IB_PIR_COMPMASK_VLHIGHLIMIT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLARBHIGHCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLARBHIGHCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLARBLOWCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_VLARBLOWCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_INITTYPEREPLY", (char *) &_wrap_const_IB_PIR_COMPMASK_INITTYPEREPLY, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MTUCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_MTUCAP, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_VLSTALLCNT", (char *) &_wrap_const_IB_PIR_COMPMASK_VLSTALLCNT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_HOQLIFE", (char *) &_wrap_const_IB_PIR_COMPMASK_HOQLIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_OPVLS", (char *) &_wrap_const_IB_PIR_COMPMASK_OPVLS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PARENFIN", (char *) &_wrap_const_IB_PIR_COMPMASK_PARENFIN, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PARENFOUT", (char *) &_wrap_const_IB_PIR_COMPMASK_PARENFOUT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_FILTERRAWIN", (char *) &_wrap_const_IB_PIR_COMPMASK_FILTERRAWIN, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_FILTERRAWOUT", (char *) &_wrap_const_IB_PIR_COMPMASK_FILTERRAWOUT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_MKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_MKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_PKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_PKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_QKEYVIO", (char *) &_wrap_const_IB_PIR_COMPMASK_QKEYVIO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_GUIDCAP", (char *) &_wrap_const_IB_PIR_COMPMASK_GUIDCAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV2", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_SUBNTO", (char *) &_wrap_const_IB_PIR_COMPMASK_SUBNTO, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESV3", (char *) &_wrap_const_IB_PIR_COMPMASK_RESV3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_RESPTIME", (char *) &_wrap_const_IB_PIR_COMPMASK_RESPTIME, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_LOCALPHYERR", (char *) &_wrap_const_IB_PIR_COMPMASK_LOCALPHYERR, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PIR_COMPMASK_OVERRUNERR", (char *) &_wrap_const_IB_PIR_COMPMASK_OVERRUNERR, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_LID", (char *) &_wrap_const_IB_SMR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_GUID", (char *) &_wrap_const_IB_SMR_COMPMASK_GUID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_SM_KEY", (char *) &_wrap_const_IB_SMR_COMPMASK_SM_KEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_ACT_COUNT", (char *) &_wrap_const_IB_SMR_COMPMASK_ACT_COUNT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_STATE", (char *) &_wrap_const_IB_SMR_COMPMASK_STATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SMR_COMPMASK_PRI", (char *) &_wrap_const_IB_SMR_COMPMASK_PRI, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LID", (char *) &_wrap_const_IB_SWR_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIN_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_LIN_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_RAND_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_RAND_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_MCAST_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_MCAST_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIN_TOP", (char *) &_wrap_const_IB_SWR_COMPMASK_LIN_TOP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_PORT", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_MCAST_PRI", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_MCAST_PRI, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_DEF_MCAST_NOT", (char *) &_wrap_const_IB_SWR_COMPMASK_DEF_MCAST_NOT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_STATE", (char *) &_wrap_const_IB_SWR_COMPMASK_STATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LIFE", (char *) &_wrap_const_IB_SWR_COMPMASK_LIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_LMC", (char *) &_wrap_const_IB_SWR_COMPMASK_LMC, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_ENFORCE_CAP", (char *) &_wrap_const_IB_SWR_COMPMASK_ENFORCE_CAP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SWR_COMPMASK_FLAGS", (char *) &_wrap_const_IB_SWR_COMPMASK_FLAGS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_FROM_LID", (char *) &_wrap_const_IB_LR_COMPMASK_FROM_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_FROM_PORT", (char *) &_wrap_const_IB_LR_COMPMASK_FROM_PORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_TO_PORT", (char *) &_wrap_const_IB_LR_COMPMASK_TO_PORT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LR_COMPMASK_TO_LID", (char *) &_wrap_const_IB_LR_COMPMASK_TO_LID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_DGID", (char *) &_wrap_const_IB_PR_COMPMASK_DGID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SGID", (char *) &_wrap_const_IB_PR_COMPMASK_SGID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_DLID", (char *) &_wrap_const_IB_PR_COMPMASK_DLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SLID", (char *) &_wrap_const_IB_PR_COMPMASK_SLID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RAWTRAFIC", (char *) &_wrap_const_IB_PR_COMPMASK_RAWTRAFIC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RESV0", (char *) &_wrap_const_IB_PR_COMPMASK_RESV0, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_FLOWLABEL", (char *) &_wrap_const_IB_PR_COMPMASK_FLOWLABEL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_HOPLIMIT", (char *) &_wrap_const_IB_PR_COMPMASK_HOPLIMIT, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_TCLASS", (char *) &_wrap_const_IB_PR_COMPMASK_TCLASS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_REVERSIBLE", (char *) &_wrap_const_IB_PR_COMPMASK_REVERSIBLE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_NUMBPATH", (char *) &_wrap_const_IB_PR_COMPMASK_NUMBPATH, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PKEY", (char *) &_wrap_const_IB_PR_COMPMASK_PKEY, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RESV1", (char *) &_wrap_const_IB_PR_COMPMASK_RESV1, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_SL", (char *) &_wrap_const_IB_PR_COMPMASK_SL, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_MTUSELEC", (char *) &_wrap_const_IB_PR_COMPMASK_MTUSELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_MTU", (char *) &_wrap_const_IB_PR_COMPMASK_MTU, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RATESELEC", (char *) &_wrap_const_IB_PR_COMPMASK_RATESELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_RATE", (char *) &_wrap_const_IB_PR_COMPMASK_RATE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PKTLIFETIMESELEC", (char *) &_wrap_const_IB_PR_COMPMASK_PKTLIFETIMESELEC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PR_COMPMASK_PFTLIFETIME", (char *) &_wrap_const_IB_PR_COMPMASK_PFTLIFETIME, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LFT_COMPMASK_LID", (char *) &_wrap_const_IB_LFT_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_LFT_COMPMASK_BLOCK", (char *) &_wrap_const_IB_LFT_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_GID", (char *) &_wrap_const_IB_MCR_COMPMASK_GID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MGID", (char *) &_wrap_const_IB_MCR_COMPMASK_MGID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PORT_GID", (char *) &_wrap_const_IB_MCR_COMPMASK_PORT_GID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_QKEY", (char *) &_wrap_const_IB_MCR_COMPMASK_QKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MLID", (char *) &_wrap_const_IB_MCR_COMPMASK_MLID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MTU_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_MTU_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_MTU", (char *) &_wrap_const_IB_MCR_COMPMASK_MTU, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_TCLASS", (char *) &_wrap_const_IB_MCR_COMPMASK_TCLASS, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PKEY", (char *) &_wrap_const_IB_MCR_COMPMASK_PKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_RATE_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_RATE_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_RATE", (char *) &_wrap_const_IB_MCR_COMPMASK_RATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_LIFE_SEL", (char *) &_wrap_const_IB_MCR_COMPMASK_LIFE_SEL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_LIFE", (char *) &_wrap_const_IB_MCR_COMPMASK_LIFE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_SL", (char *) &_wrap_const_IB_MCR_COMPMASK_SL, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_FLOW", (char *) &_wrap_const_IB_MCR_COMPMASK_FLOW, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_HOP", (char *) &_wrap_const_IB_MCR_COMPMASK_HOP, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_SCOPE", (char *) &_wrap_const_IB_MCR_COMPMASK_SCOPE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_JOIN_STATE", (char *) &_wrap_const_IB_MCR_COMPMASK_JOIN_STATE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_MCR_COMPMASK_PROXY", (char *) &_wrap_const_IB_MCR_COMPMASK_PROXY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SID", (char *) &_wrap_const_IB_SR_COMPMASK_SID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SGID", (char *) &_wrap_const_IB_SR_COMPMASK_SGID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SPKEY", (char *) &_wrap_const_IB_SR_COMPMASK_SPKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_RES1", (char *) &_wrap_const_IB_SR_COMPMASK_RES1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SLEASE", (char *) &_wrap_const_IB_SR_COMPMASK_SLEASE, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SKEY", (char *) &_wrap_const_IB_SR_COMPMASK_SKEY, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SNAME", (char *) &_wrap_const_IB_SR_COMPMASK_SNAME, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_4", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_4, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_5", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_5, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_6", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_6, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_7", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_7, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_8", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_8, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_9", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_9, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_10", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_10, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_11", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_11, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_12", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_12, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_13", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_13, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_14", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_14, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA8_15", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA8_15, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_4", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_4, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_5", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_5, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_6", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_6, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA16_7", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA16_7, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_2", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_2, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA32_3", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA32_3, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA64_0", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA64_0, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SR_COMPMASK_SDATA64_1", (char *) &_wrap_const_IB_SR_COMPMASK_SDATA64_1, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_LID", (char *) &_wrap_const_IB_SLVL_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_IN_PORT", (char *) &_wrap_const_IB_SLVL_COMPMASK_IN_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SLVL_COMPMASK_OUT_PORT", (char *) &_wrap_const_IB_SLVL_COMPMASK_OUT_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_LID", (char *) &_wrap_const_IB_VLA_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_OUT_PORT", (char *) &_wrap_const_IB_VLA_COMPMASK_OUT_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_VLA_COMPMASK_BLOCK", (char *) &_wrap_const_IB_VLA_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_LID", (char *) &_wrap_const_IB_PKEY_COMPMASK_LID, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_BLOCK", (char *) &_wrap_const_IB_PKEY_COMPMASK_BLOCK, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_PKEY_COMPMASK_PORT", (char *) &_wrap_const_IB_PKEY_COMPMASK_PORT, TCL_LINK_STRING | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_NONE", (char *) &_wrap_const_IBIS_LOG_NONE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_ERROR", (char *) &_wrap_const_IBIS_LOG_ERROR, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_INFO", (char *) &_wrap_const_IBIS_LOG_INFO, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_VERBOSE", (char *) &_wrap_const_IBIS_LOG_VERBOSE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_DEBUG", (char *) &_wrap_const_IBIS_LOG_DEBUG, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_FUNCS", (char *) &_wrap_const_IBIS_LOG_FUNCS, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IBIS_LOG_FRAMES", (char *) &_wrap_const_IBIS_LOG_FRAMES, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_puts", _wrap_ibis_puts, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_init", _wrap_ibis_init, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_verbosity", _wrap_ibis_set_verbosity, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_port", _wrap_ibis_set_port, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_get_port", _wrap_ibis_get_port, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_set_transaction_timeout", _wrap_ibis_set_transaction_timeout, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_exit", _wrap_ibis_exit, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "ibisSourceVersion", (char *) &ibisSourceVersion, TCL_LINK_STRING);
+
+
+  /* Make sure that the osmv, complib and ibisp use
+     same modes (debug/free) */
+  if ( osm_is_debug() != cl_is_debug()    ||
+       osm_is_debug() != ibisp_is_debug() ||
+       ibisp_is_debug() != cl_is_debug() )
+  {
+    fprintf(stderr, "-E- OSMV, Complib and Ibis were compiled using different modes\n");
+    fprintf(stderr, "-E- OSMV debug:%d Complib debug:%d IBIS debug:%d \n",
+            osm_is_debug(), cl_is_debug(), ibisp_is_debug() );
+    exit(1);
+  }
+
+  /* sub block required for declarations .... */
+  {
+    static int notFirstTime = 0;
+
+    /* we initialize the structs etc only once. */
+    if (0 == notFirstTime++) {
+      Tcl_StaticPackage(interp, "ibis", Ibis_Init, NULL);
+      Tcl_PkgProvide(interp, "ibis", IBIS_VERSION);
+      /* Default Options  */
+      memset(&IbisOpts, 0,sizeof(ibis_opt_t));
+      IbisOpts.transaction_timeout = 4*OSM_DEFAULT_TRANS_TIMEOUT_MILLISEC;
+      IbisOpts.single_thread = TRUE;
+      IbisOpts.force_log_flush = TRUE;
+      IbisOpts.sm_key = 0;
+      IbisOpts.m_key = 0;
+      IbisOpts.v_key = 0;
+      IbisOpts.log_flags = OSM_LOG_ERROR;
+      strcpy(IbisOpts.log_file,"/tmp/ibis.log");
+
+
+      /* we want all exists to cleanup */
+      Tcl_CreateExitHandler(ibis_exit, NULL);
+
+      /* ------------------ IBCR ---------------------- */
+      p_ibcr_global = ibcr_construct();
+
+      if (p_ibcr_global == NULL) {
+        printf("-E- Error from ibcr_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBPM ---------------------- */
+      p_ibpm_global = ibpm_construct();
+
+      if (p_ibpm_global == NULL) {
+        printf("-E- Error from ibpm_construct.\n");
+        exit(1);
+      }
+
+      /* ------------------ IBVS ---------------------- */
+		p_ibvs_global = ibvs_construct();
+
+  		if (p_ibvs_global == NULL) {
+			printf("-E- Error from ibvs_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBBBM ---------------------- */
+		p_ibbbm_global = ibbbm_construct();
+
+  		if (p_ibbbm_global == NULL) {
+			printf("-E- Error from ibbbm_construct.\n");
+         exit(1);
+  		}
+
+      /* ------------------ IBSM ---------------------- */
+		gp_ibsm = ibsm_construct();
+
+  		if (gp_ibsm == NULL) {
+			printf("-E- Error from ibsm_construct.\n");
+         exit(1);
+  		}
+
+      /* Initialize global records */
+      memset(&ibsm_node_info_obj, 0, sizeof(ib_node_info_t));
+      memset(&ibsm_port_info_obj, 0, sizeof(ib_port_info_t));
+      memset(&ibsm_switch_info_obj, 0, sizeof(ib_switch_info_t));
+      memset(&ibsm_lft_block_obj, 0, sizeof(ibsm_lft_block_t));
+      memset(&ibsm_mft_block_obj, 0, sizeof(ibsm_mft_block_t));
+      memset(&ibsm_guid_info_obj, 0, sizeof(ib_guid_info_t));
+      memset(&ibsm_pkey_table_obj, 0, sizeof(ib_pkey_table_t));
+      memset(&ibsm_sm_info_obj, 0, sizeof(ib_sm_info_t));
+
+      /* ------------------ IBCC ---------------------- */
+
+      gp_ibcc = ibcc_construct();
+
+      if (gp_ibcc == NULL) {
+          printf("-E- Error from ibcc_construct.\n");
+          exit(1);
+      }
+
+      /* Initialize global records */
+      memset(&ibcc_class_port_info_obj, 0, sizeof(ib_class_port_info_t));
+      memset(&ibcc_notice_obj, 0, sizeof(ibcc_notice_attr_t));
+      memset(&ibcc_cong_info_obj, 0, sizeof(ib_cong_info_t));
+      memset(&ibcc_cong_key_info_obj, 0, sizeof(ib_cong_key_info_t));
+      memset(&ibcc_ca_cong_log_obj, 0, sizeof(ibcc_ca_cong_log_t));
+      memset(&ibcc_sw_cong_log_obj, 0, sizeof(ibcc_sw_cong_log_t));
+      memset(&ibcc_sw_cong_setting_obj, 0, sizeof(ib_sw_cong_setting_t));
+      memset(&ibcc_sw_port_cong_setting_obj, 0, sizeof(ib_sw_port_cong_setting_t));
+      memset(&ibcc_ca_cong_setting_obj, 0, sizeof(ib_ca_cong_setting_t));
+      memset(&ibcc_table_obj, 0, sizeof(ib_cc_tbl_t));
+      memset(&ibcc_time_stamp_obj, 0, sizeof(ib_time_stamp_t));
+
+      /* ------------------ IBSAC ---------------------- */
+
+      /* Initialize global records */
+      memset(&ibsac_node_rec, 0,sizeof(ibsac_node_rec));
+      memset(&ibsac_portinfo_rec, 0,sizeof(ibsac_portinfo_rec));
+      memset(&ibsac_sminfo_rec, 0, sizeof(ib_sminfo_record_t));
+      memset(&ibsac_swinfo_rec, 0, sizeof(ib_switch_info_record_t));
+      memset(&ibsac_link_rec, 0, sizeof(ib_link_record_t));
+      memset(&ibsac_path_rec, 0, sizeof(ib_path_rec_t));
+      memset(&ibsac_lft_rec, 0, sizeof(ib_lft_record_t));
+      memset(&ibsac_mcm_rec, 0, sizeof(ib_member_rec_t));
+
+      /*
+       * A1 Supported features:
+       *
+       * Query:                Rec/Info Types    Done
+       *
+       * NodeRecord            (nr, ni)           Y
+       * PortInfoRecord        (pir, pi)          Y
+       * SwitchInfoRecord      (swir, swi)        Y
+       * SMInfoRecord          (smir, smi)        Y
+       * PathRecord            (path)             Y
+       * LinkRecord            (link)             Y
+       * LinFwdTblRecord       (lft)              Y
+       * MulticastFwdTblRecord (mftr, mft)        N - Not supported by OSM
+       *
+       * B Supported features:
+       * MCMemberRecord        (mcm)              Y
+       * ClassPortInfo         (cpi)              Y
+       * InformInfo            (info)             Y
+       * ServiceRecord         (svc)              Y
+       * SL2VLTableRecord      (slvr, slvt)       Y
+       * VLArbTableRecord      (vlarb)            Y
+       * PKeyTableRecord       (pkr, pkt)         Y
+       */
+
+      /* We use alternate SWIG Objects mangling */
+      SWIG_AltMnglInit();
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeInfo_p", "ni");
+      SWIG_AltMnglRegTypeToPrefix("_sacNodeRec_p", "nr");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortInfo_p", "pi");
+      SWIG_AltMnglRegTypeToPrefix("_sacPortRec_p", "pir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmInfo_p", "smi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSmRec_p", "smir");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwInfo_p", "swi");
+      SWIG_AltMnglRegTypeToPrefix("_sacSwRec_p", "swir");
+      SWIG_AltMnglRegTypeToPrefix("_sacLinkRec_p", "link");
+      SWIG_AltMnglRegTypeToPrefix("_sacPathRec_p", "path");
+      SWIG_AltMnglRegTypeToPrefix("_sacLFTRec_p", "lft");
+      SWIG_AltMnglRegTypeToPrefix("_sacMCMRec_p", "mcm");
+      SWIG_AltMnglRegTypeToPrefix("_sacClassPortInfo_p", "cpi");
+      SWIG_AltMnglRegTypeToPrefix("_sacInformInfo_p", "info");
+      SWIG_AltMnglRegTypeToPrefix("_sacServiceRec_p", "svc");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlTbl_p", "slvt");
+      SWIG_AltMnglRegTypeToPrefix("_sacSlVlRec_p", "slvr");
+      SWIG_AltMnglRegTypeToPrefix("_sacVlArbRec_p", "vlarb");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyTbl_p", "pkt");
+      SWIG_AltMnglRegTypeToPrefix("_sacPKeyRec_p", "pkr");
+
+      // register the pre-allocated objects
+      SWIG_AltMnglRegObj("ni",&(ibsac_node_rec.node_info));
+      SWIG_AltMnglRegObj("nr",&(ibsac_node_rec));
+
+      SWIG_AltMnglRegObj("pi", &(ibsac_portinfo_rec.port_info));
+      SWIG_AltMnglRegObj("pir",&(ibsac_portinfo_rec));
+
+      SWIG_AltMnglRegObj("smi", &(ibsac_sminfo_rec.sm_info));
+      SWIG_AltMnglRegObj("smir",&(ibsac_sminfo_rec));
+
+      SWIG_AltMnglRegObj("swi", &(ibsac_swinfo_rec.switch_info));
+      SWIG_AltMnglRegObj("swir",&(ibsac_swinfo_rec));
+
+      SWIG_AltMnglRegObj("path",&(ibsac_path_rec));
+
+      SWIG_AltMnglRegObj("link",&(ibsac_link_rec));
+
+      SWIG_AltMnglRegObj("lft",&(ibsac_lft_rec));
+
+      SWIG_AltMnglRegObj("mcm",&(ibsac_mcm_rec));
+
+      SWIG_AltMnglRegObj("cpi",&(ibsac_class_port_info));
+      SWIG_AltMnglRegObj("info",&(ibsac_inform_info));
+      SWIG_AltMnglRegObj("svc",&(ibsac_svc_rec));
+
+      SWIG_AltMnglRegObj("slvt", &(ibsac_slvl_rec.slvl_tbl));
+      SWIG_AltMnglRegObj("slvr", &(ibsac_slvl_rec));
+
+      SWIG_AltMnglRegObj("vlarb", &(ibsac_vlarb_rec));
+
+      SWIG_AltMnglRegObj("pkt", &(ibsac_pkey_rec.pkey_tbl));
+      SWIG_AltMnglRegObj("pkr", &(ibsac_pkey_rec));
+
+      usleep(1000);
+    }
+
+    /* we defined this as a native command so declare it in here */
+    Tcl_CreateObjCommand(interp, "ibis_get_local_ports_info",
+                         ibis_get_local_ports_info, NULL, NULL);
+
+	 /* this will declare an object osm_opts */
+	 ibis_opt_p = &IbisOpts;
+	 Tcl_CreateObjCommand(interp,"ibis_opts", Tclibis_opt_tMethodCmd,
+									 (ClientData)ibis_opt_p, 0);
+
+    /* add commands for accessing the global query records */
+
+    /* ------------------ IBSM ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"smNodeInfoMad",
+                         TclsmNodeInfoMethodCmd,
+                         (ClientData)&ibsm_node_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPortInfoMad",
+                         TclsmPortInfoMethodCmd,
+                         (ClientData)&ibsm_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSwitchInfoMad",
+                         TclsmSwInfoMethodCmd,
+                         (ClientData)&ibsm_switch_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smLftBlockMad",
+                         TclsmLftBlockMethodCmd,
+                         (ClientData)&ibsm_lft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smMftBlockMad",
+                         TclsmMftBlockMethodCmd,
+                         (ClientData)&ibsm_mft_block_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smGuidInfoMad",
+                         TclsmGuidInfoMethodCmd,
+                         (ClientData)&ibsm_guid_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smPkeyTableMad",
+                         TclsmPkeyTableMethodCmd,
+                         (ClientData)&ibsm_pkey_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSlVlTableMad",
+                         TclsmSlVlTableMethodCmd,
+                         (ClientData)&ibsm_slvl_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smVlArbTableMad",
+                         TclsmVlArbTableMethodCmd,
+                         (ClientData)&ibsm_vl_arb_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smSMInfoMad",
+                         TclsmSMInfoMethodCmd,
+                         (ClientData)&ibsm_sm_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNodeDescMad",
+                         TclsmNodeDescMethodCmd,
+                         (ClientData)&ibsm_node_desc_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"smNoticeMad",
+                         TclsmNoticeMethodCmd,
+                         (ClientData)&ibsm_notice_obj, 0);
+
+    /* ------------------ IBCC ---------------------- */
+
+    Tcl_CreateObjCommand(interp,"ccClassPortInfoMad",
+                         TclccClassPortInfoMethodCmd,
+                         (ClientData)&ibcc_class_port_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccNoticeMad",
+                         TclccNoticeMethodCmd,
+                         (ClientData)&ibcc_notice_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionInfoMad",
+                         TclccCongestionInfoMethodCmd,
+                         (ClientData)&ibcc_cong_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCongestionKeyInfoMad",
+                         TclccCongestionKeyInfoMethodCmd,
+                         (ClientData)&ibcc_cong_key_info_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionLogMad",
+                         TclccCACongestionLogMethodCmd,
+                         (ClientData)&ibcc_ca_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionLogMad",
+                         TclccSWCongestionLogMethodCmd,
+                         (ClientData)&ibcc_sw_cong_log_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWCongestionSettingMad",
+                         TclccSWCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccSWPortCongestionSettingMad",
+                         TclccSWPortCongestionSettingMethodCmd,
+                         (ClientData)&ibcc_sw_port_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccCACongestionSettingMad",
+                         TclccCACongestionSettingMethodCmd,
+                         (ClientData)&ibcc_ca_cong_setting_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTableMad",
+                         TclccTableMethodCmd,
+                         (ClientData)&ibcc_table_obj, 0);
+
+    Tcl_CreateObjCommand(interp,"ccTimeStampMad",
+                         TclccTimeStampMethodCmd,
+                         (ClientData)&ibcc_time_stamp_obj, 0);
+
+    /* ------------------ IBSAC --------------------- */
+
+	 Tcl_CreateObjCommand(interp,"sacNodeQuery",
+								 TclsacNodeRecMethodCmd,
+								 (ClientData)&ibsac_node_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPortQuery",
+								 TclsacPortRecMethodCmd,
+								 (ClientData)&ibsac_portinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSmQuery",
+								 TclsacSmRecMethodCmd,
+								 (ClientData)&ibsac_sminfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSwQuery",
+								 TclsacSwRecMethodCmd,
+								 (ClientData)&ibsac_swinfo_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLinkQuery",
+								 TclsacLinkRecMethodCmd,
+								 (ClientData)&ibsac_link_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPathQuery",
+								 TclsacPathRecMethodCmd,
+								 (ClientData)&ibsac_path_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacLFTQuery",
+								 TclsacLFTRecMethodCmd,
+								 (ClientData)&ibsac_lft_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacMCMQuery",
+								 TclsacMCMRecMethodCmd,
+								 (ClientData)&ibsac_mcm_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacClassPortInfoQuery",
+								 TclsacClassPortInfoMethodCmd,
+								 (ClientData)&ibsac_class_port_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacInformInfoQuery",
+								 TclsacInformInfoMethodCmd,
+								 (ClientData)&ibsac_inform_info, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacServiceQuery",
+								 TclsacServiceRecMethodCmd,
+								 (ClientData)&ibsac_svc_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacSLVlQuery",
+								 TclsacSlVlRecMethodCmd,
+								 (ClientData)&ibsac_slvl_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacVlArbQuery",
+								 TclsacVlArbRecMethodCmd,
+								 (ClientData)&ibsac_vlarb_rec, 0);
+
+	 Tcl_CreateObjCommand(interp,"sacPKeyQuery",
+								 TclsacPKeyRecMethodCmd,
+								 (ClientData)&ibsac_pkey_rec, 0);
+
+    /*
+      use an embedded Tcl code for doing init if given command line
+      parameters: -port_num <port num>
+    */
+    Tcl_GlobalEval(
+      interp,
+      "if {[file tail $argv0] == \"ibis\"} {\n"
+      " set _ibis_port_num_arg_idx [lsearch $argv -port_num]\n"
+      " if {$_ibis_port_num_arg_idx >= 0} {\n"
+      "  if {[llength $argv] < $_ibis_port_num_arg_idx + 2} {\n"
+      "    puts {ibis given -port_num with no actual port number argument}\n"
+      "  } else { \n"
+      "    set _ibis_port_num [lindex $argv [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    set argv [lreplace $argv $_ibis_port_num_arg_idx [expr $_ibis_port_num_arg_idx + 1]]\n"
+      "    ibis_init\n"
+      "    set _ibis_all_ports [ibis_get_local_ports_info]\n"
+      "    set first_port_idx [lsearch -all $_ibis_all_ports [lindex $_ibis_all_ports 0]]\n"
+      "    if {[llength $first_port_idx] > 1} {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports $_ibis_port_num]\n"
+      "    } else {\n"
+      "      set _ibis_port_info [lindex $_ibis_all_ports [expr $_ibis_port_num - 1]]\n"
+      "    }\n"
+      "    if {[lindex $_ibis_port_info 2] != \"ACTIVE\"} {\n"
+      "       puts \"Port $_ibis_port_num is not ACTIVE: $_ibis_port_info\"\n"
+      "       exit 1\n"
+      "    } else { \n"
+      "       ibis_set_port [lindex $_ibis_port_info 0]\n"
+      "       puts \"Port set to:[lindex $_ibis_port_info 0]\"\n"
+      "    }\n"
+      "  }\n"
+      " }\n"
+      "}\n");
+  }
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_base_version_set", _wrap_sacNodeInfo_base_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_base_version_get", _wrap_sacNodeInfo_base_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_class_version_set", _wrap_sacNodeInfo_class_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_class_version_get", _wrap_sacNodeInfo_class_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_type_set", _wrap_sacNodeInfo_node_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_type_get", _wrap_sacNodeInfo_node_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_num_ports_set", _wrap_sacNodeInfo_num_ports_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_num_ports_get", _wrap_sacNodeInfo_num_ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_sys_guid_set", _wrap_sacNodeInfo_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_sys_guid_get", _wrap_sacNodeInfo_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_guid_set", _wrap_sacNodeInfo_node_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_node_guid_get", _wrap_sacNodeInfo_node_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_guid_set", _wrap_sacNodeInfo_port_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_guid_get", _wrap_sacNodeInfo_port_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_partition_cap_set", _wrap_sacNodeInfo_partition_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_partition_cap_get", _wrap_sacNodeInfo_partition_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_device_id_set", _wrap_sacNodeInfo_device_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_device_id_get", _wrap_sacNodeInfo_device_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_revision_set", _wrap_sacNodeInfo_revision_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_revision_get", _wrap_sacNodeInfo_revision_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_num_vendor_id_set", _wrap_sacNodeInfo_port_num_vendor_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_port_num_vendor_id_get", _wrap_sacNodeInfo_port_num_vendor_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeInfo_delete", _wrap_sacNodeInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacNodeInfo",TclsacNodeInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_lid_set", _wrap_sacNodeRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_lid_get", _wrap_sacNodeRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_info_set", _wrap_sacNodeRec_node_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_info_get", _wrap_sacNodeRec_node_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_desc_set", _wrap_sacNodeRec_node_desc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_node_desc_get", _wrap_sacNodeRec_node_desc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_get", _wrap_sacNodeRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_getTable", _wrap_sacNodeRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacNodeRec_delete", _wrap_sacNodeRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacNodeRec",TclsacNodeRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_set", _wrap_sacPortInfo_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_get", _wrap_sacPortInfo_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_prefix_set", _wrap_sacPortInfo_subnet_prefix_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_prefix_get", _wrap_sacPortInfo_subnet_prefix_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_base_lid_set", _wrap_sacPortInfo_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_base_lid_get", _wrap_sacPortInfo_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_master_sm_base_lid_set", _wrap_sacPortInfo_master_sm_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_master_sm_base_lid_get", _wrap_sacPortInfo_master_sm_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_capability_mask_set", _wrap_sacPortInfo_capability_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_capability_mask_get", _wrap_sacPortInfo_capability_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_diag_code_set", _wrap_sacPortInfo_diag_code_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_diag_code_get", _wrap_sacPortInfo_diag_code_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_lease_period_set", _wrap_sacPortInfo_m_key_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_lease_period_get", _wrap_sacPortInfo_m_key_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_local_port_num_set", _wrap_sacPortInfo_local_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_local_port_num_get", _wrap_sacPortInfo_local_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_enabled_set", _wrap_sacPortInfo_link_width_enabled_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_enabled_get", _wrap_sacPortInfo_link_width_enabled_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_supported_set", _wrap_sacPortInfo_link_width_supported_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_supported_get", _wrap_sacPortInfo_link_width_supported_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_active_set", _wrap_sacPortInfo_link_width_active_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_width_active_get", _wrap_sacPortInfo_link_width_active_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info1_set", _wrap_sacPortInfo_state_info1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info1_get", _wrap_sacPortInfo_state_info1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info2_set", _wrap_sacPortInfo_state_info2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_state_info2_get", _wrap_sacPortInfo_state_info2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mkey_lmc_set", _wrap_sacPortInfo_mkey_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mkey_lmc_get", _wrap_sacPortInfo_mkey_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_speed_set", _wrap_sacPortInfo_link_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_link_speed_get", _wrap_sacPortInfo_link_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_smsl_set", _wrap_sacPortInfo_mtu_smsl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_smsl_get", _wrap_sacPortInfo_mtu_smsl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_cap_set", _wrap_sacPortInfo_vl_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_cap_get", _wrap_sacPortInfo_vl_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_high_limit_set", _wrap_sacPortInfo_vl_high_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_high_limit_get", _wrap_sacPortInfo_vl_high_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_high_cap_set", _wrap_sacPortInfo_vl_arb_high_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_high_cap_get", _wrap_sacPortInfo_vl_arb_high_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_low_cap_set", _wrap_sacPortInfo_vl_arb_low_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_arb_low_cap_get", _wrap_sacPortInfo_vl_arb_low_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_cap_set", _wrap_sacPortInfo_mtu_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_mtu_cap_get", _wrap_sacPortInfo_mtu_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_stall_life_set", _wrap_sacPortInfo_vl_stall_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_stall_life_get", _wrap_sacPortInfo_vl_stall_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_enforce_set", _wrap_sacPortInfo_vl_enforce_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_vl_enforce_get", _wrap_sacPortInfo_vl_enforce_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_violations_set", _wrap_sacPortInfo_m_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_m_key_violations_get", _wrap_sacPortInfo_m_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_p_key_violations_set", _wrap_sacPortInfo_p_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_p_key_violations_get", _wrap_sacPortInfo_p_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_q_key_violations_set", _wrap_sacPortInfo_q_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_q_key_violations_get", _wrap_sacPortInfo_q_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_guid_cap_set", _wrap_sacPortInfo_guid_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_guid_cap_get", _wrap_sacPortInfo_guid_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_timeout_set", _wrap_sacPortInfo_subnet_timeout_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_subnet_timeout_get", _wrap_sacPortInfo_subnet_timeout_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_resp_time_value_set", _wrap_sacPortInfo_resp_time_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_resp_time_value_get", _wrap_sacPortInfo_resp_time_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_error_threshold_set", _wrap_sacPortInfo_error_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_error_threshold_get", _wrap_sacPortInfo_error_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortInfo_delete", _wrap_sacPortInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPortInfo",TclsacPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_lid_set", _wrap_sacPortRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_lid_get", _wrap_sacPortRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_num_set", _wrap_sacPortRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_num_get", _wrap_sacPortRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_info_set", _wrap_sacPortRec_port_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_port_info_get", _wrap_sacPortRec_port_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_get", _wrap_sacPortRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_getTable", _wrap_sacPortRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPortRec_delete", _wrap_sacPortRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPortRec",TclsacPortRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_guid_set", _wrap_sacSmInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_guid_get", _wrap_sacSmInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_sm_key_set", _wrap_sacSmInfo_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_sm_key_get", _wrap_sacSmInfo_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_act_count_set", _wrap_sacSmInfo_act_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_act_count_get", _wrap_sacSmInfo_act_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_pri_state_set", _wrap_sacSmInfo_pri_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_pri_state_get", _wrap_sacSmInfo_pri_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmInfo_delete", _wrap_sacSmInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSmInfo",TclsacSmInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_lid_set", _wrap_sacSmRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_lid_get", _wrap_sacSmRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_sm_info_set", _wrap_sacSmRec_sm_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_sm_info_get", _wrap_sacSmRec_sm_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_get", _wrap_sacSmRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_getTable", _wrap_sacSmRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSmRec_delete", _wrap_sacSmRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSmRec",TclsacSmRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_cap_set", _wrap_sacSwInfo_lin_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_cap_get", _wrap_sacSwInfo_lin_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_rand_cap_set", _wrap_sacSwInfo_rand_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_rand_cap_get", _wrap_sacSwInfo_rand_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_mcast_cap_set", _wrap_sacSwInfo_mcast_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_mcast_cap_get", _wrap_sacSwInfo_mcast_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_top_set", _wrap_sacSwInfo_lin_top_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lin_top_get", _wrap_sacSwInfo_lin_top_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_port_set", _wrap_sacSwInfo_def_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_port_get", _wrap_sacSwInfo_def_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_pri_port_set", _wrap_sacSwInfo_def_mcast_pri_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_pri_port_get", _wrap_sacSwInfo_def_mcast_pri_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_not_port_set", _wrap_sacSwInfo_def_mcast_not_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_def_mcast_not_port_get", _wrap_sacSwInfo_def_mcast_not_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_life_state_set", _wrap_sacSwInfo_life_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_life_state_get", _wrap_sacSwInfo_life_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lids_per_port_set", _wrap_sacSwInfo_lids_per_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_lids_per_port_get", _wrap_sacSwInfo_lids_per_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_enforce_cap_set", _wrap_sacSwInfo_enforce_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_enforce_cap_get", _wrap_sacSwInfo_enforce_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_flags_set", _wrap_sacSwInfo_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_flags_get", _wrap_sacSwInfo_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwInfo_delete", _wrap_sacSwInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSwInfo",TclsacSwInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_lid_set", _wrap_sacSwRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_lid_get", _wrap_sacSwRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_switch_info_set", _wrap_sacSwRec_switch_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_switch_info_get", _wrap_sacSwRec_switch_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_get", _wrap_sacSwRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_getTable", _wrap_sacSwRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSwRec_delete", _wrap_sacSwRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSwRec",TclsacSwRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_lid_set", _wrap_sacLinkRec_from_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_lid_get", _wrap_sacLinkRec_from_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_port_num_set", _wrap_sacLinkRec_from_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_from_port_num_get", _wrap_sacLinkRec_from_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_port_num_set", _wrap_sacLinkRec_to_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_port_num_get", _wrap_sacLinkRec_to_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_lid_set", _wrap_sacLinkRec_to_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_to_lid_get", _wrap_sacLinkRec_to_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_get", _wrap_sacLinkRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_getTable", _wrap_sacLinkRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLinkRec_delete", _wrap_sacLinkRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacLinkRec",TclsacLinkRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_service_id_set", _wrap_sacPathRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_service_id_get", _wrap_sacPathRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dgid_set", _wrap_sacPathRec_dgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dgid_get", _wrap_sacPathRec_dgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_sgid_set", _wrap_sacPathRec_sgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_sgid_get", _wrap_sacPathRec_sgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dlid_set", _wrap_sacPathRec_dlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_dlid_get", _wrap_sacPathRec_dlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_slid_set", _wrap_sacPathRec_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_slid_get", _wrap_sacPathRec_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_hop_flow_raw_set", _wrap_sacPathRec_hop_flow_raw_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_hop_flow_raw_get", _wrap_sacPathRec_hop_flow_raw_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_tclass_set", _wrap_sacPathRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_tclass_get", _wrap_sacPathRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_num_path_set", _wrap_sacPathRec_num_path_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_num_path_get", _wrap_sacPathRec_num_path_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkey_set", _wrap_sacPathRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkey_get", _wrap_sacPathRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_qos_class_sl_set", _wrap_sacPathRec_qos_class_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_qos_class_sl_get", _wrap_sacPathRec_qos_class_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_mtu_set", _wrap_sacPathRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_mtu_get", _wrap_sacPathRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_rate_set", _wrap_sacPathRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_rate_get", _wrap_sacPathRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkt_life_set", _wrap_sacPathRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_pkt_life_get", _wrap_sacPathRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_preference_set", _wrap_sacPathRec_preference_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_preference_get", _wrap_sacPathRec_preference_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_get", _wrap_sacPathRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_getTable", _wrap_sacPathRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPathRec_delete", _wrap_sacPathRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPathRec",TclsacPathRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lid_set", _wrap_sacLFTRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lid_get", _wrap_sacLFTRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_block_num_set", _wrap_sacLFTRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_block_num_get", _wrap_sacLFTRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lft_set", _wrap_sacLFTRec_lft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_lft_get", _wrap_sacLFTRec_lft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_get", _wrap_sacLFTRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_getTable", _wrap_sacLFTRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacLFTRec_delete", _wrap_sacLFTRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacLFTRec",TclsacLFTRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mgid_set", _wrap_sacMCMRec_mgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mgid_get", _wrap_sacMCMRec_mgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_port_gid_set", _wrap_sacMCMRec_port_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_port_gid_get", _wrap_sacMCMRec_port_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_qkey_set", _wrap_sacMCMRec_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_qkey_get", _wrap_sacMCMRec_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mlid_set", _wrap_sacMCMRec_mlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mlid_get", _wrap_sacMCMRec_mlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mtu_set", _wrap_sacMCMRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_mtu_get", _wrap_sacMCMRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_tclass_set", _wrap_sacMCMRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_tclass_get", _wrap_sacMCMRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkey_set", _wrap_sacMCMRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkey_get", _wrap_sacMCMRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_rate_set", _wrap_sacMCMRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_rate_get", _wrap_sacMCMRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkt_life_set", _wrap_sacMCMRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_pkt_life_get", _wrap_sacMCMRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_sl_flow_hop_set", _wrap_sacMCMRec_sl_flow_hop_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_sl_flow_hop_get", _wrap_sacMCMRec_sl_flow_hop_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_scope_state_set", _wrap_sacMCMRec_scope_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_scope_state_get", _wrap_sacMCMRec_scope_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_get", _wrap_sacMCMRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_getTable", _wrap_sacMCMRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_set", _wrap_sacMCMRec_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_del", _wrap_sacMCMRec_del, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_proxy_join_get", _wrap_sacMCMRec_proxy_join_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_proxy_join_set", _wrap_sacMCMRec_proxy_join_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacMCMRec_obj_delete", _wrap_sacMCMRec_obj_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacMCMRec",TclsacMCMRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_base_ver_set", _wrap_sacClassPortInfo_base_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_base_ver_get", _wrap_sacClassPortInfo_base_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_class_ver_set", _wrap_sacClassPortInfo_class_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_class_ver_get", _wrap_sacClassPortInfo_class_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask_set", _wrap_sacClassPortInfo_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask_get", _wrap_sacClassPortInfo_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask2_resp_time_set", _wrap_sacClassPortInfo_cap_mask2_resp_time_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_cap_mask2_resp_time_get", _wrap_sacClassPortInfo_cap_mask2_resp_time_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_gid_set", _wrap_sacClassPortInfo_redir_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_gid_get", _wrap_sacClassPortInfo_redir_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_tc_sl_fl_set", _wrap_sacClassPortInfo_redir_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_tc_sl_fl_get", _wrap_sacClassPortInfo_redir_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_lid_set", _wrap_sacClassPortInfo_redir_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_lid_get", _wrap_sacClassPortInfo_redir_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_pkey_set", _wrap_sacClassPortInfo_redir_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_pkey_get", _wrap_sacClassPortInfo_redir_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qp_set", _wrap_sacClassPortInfo_redir_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qp_get", _wrap_sacClassPortInfo_redir_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qkey_set", _wrap_sacClassPortInfo_redir_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_redir_qkey_get", _wrap_sacClassPortInfo_redir_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_gid_set", _wrap_sacClassPortInfo_trap_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_gid_get", _wrap_sacClassPortInfo_trap_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_tc_sl_fl_set", _wrap_sacClassPortInfo_trap_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_tc_sl_fl_get", _wrap_sacClassPortInfo_trap_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_lid_set", _wrap_sacClassPortInfo_trap_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_lid_get", _wrap_sacClassPortInfo_trap_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_pkey_set", _wrap_sacClassPortInfo_trap_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_pkey_get", _wrap_sacClassPortInfo_trap_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_hop_qp_set", _wrap_sacClassPortInfo_trap_hop_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_hop_qp_get", _wrap_sacClassPortInfo_trap_hop_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_qkey_set", _wrap_sacClassPortInfo_trap_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_trap_qkey_get", _wrap_sacClassPortInfo_trap_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_get", _wrap_sacClassPortInfo_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacClassPortInfo_delete", _wrap_sacClassPortInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacClassPortInfo",TclsacClassPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_gid_set", _wrap_sacInformInfo_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_gid_get", _wrap_sacInformInfo_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_begin_set", _wrap_sacInformInfo_lid_range_begin_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_begin_get", _wrap_sacInformInfo_lid_range_begin_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_end_set", _wrap_sacInformInfo_lid_range_end_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_lid_range_end_get", _wrap_sacInformInfo_lid_range_end_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_reserved1_set", _wrap_sacInformInfo_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_reserved1_get", _wrap_sacInformInfo_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_is_generic_set", _wrap_sacInformInfo_is_generic_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_is_generic_get", _wrap_sacInformInfo_is_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_subscribe_set", _wrap_sacInformInfo_subscribe_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_subscribe_get", _wrap_sacInformInfo_subscribe_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_trap_type_set", _wrap_sacInformInfo_trap_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_trap_type_get", _wrap_sacInformInfo_trap_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_get", _wrap_sacInformInfo_g_or_v_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_set", _wrap_sacInformInfo_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_delete", _wrap_sacInformInfo_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo",TclsacInformInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_get", _wrap_sacInformInfo_g_or_v_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_get", _wrap_sacInformInfo_g_or_v_vend_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v",TclsacInformInfo_g_or_vCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_trap_num_set", _wrap_sacInformInfo_g_or_v_generic_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_trap_num_get", _wrap_sacInformInfo_g_or_v_generic_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_qpn_resp_time_val_set", _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_qpn_resp_time_val_get", _wrap_sacInformInfo_g_or_v_generic_qpn_resp_time_val_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_reserved2_set", _wrap_sacInformInfo_g_or_v_generic_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_reserved2_get", _wrap_sacInformInfo_g_or_v_generic_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_msb_set", _wrap_sacInformInfo_g_or_v_generic_node_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_msb_get", _wrap_sacInformInfo_g_or_v_generic_node_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_lsb_set", _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_generic_node_type_lsb_get", _wrap_sacInformInfo_g_or_v_generic_node_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v_generic",TclsacInformInfo_g_or_v_genericCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_dev_id_set", _wrap_sacInformInfo_g_or_v_vend_dev_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_dev_id_get", _wrap_sacInformInfo_g_or_v_vend_dev_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_qpn_resp_time_val_set", _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_qpn_resp_time_val_get", _wrap_sacInformInfo_g_or_v_vend_qpn_resp_time_val_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_reserved2_set", _wrap_sacInformInfo_g_or_v_vend_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_reserved2_get", _wrap_sacInformInfo_g_or_v_vend_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_msb_set", _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_msb_get", _wrap_sacInformInfo_g_or_v_vend_vendor_id_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_lsb_set", _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacInformInfo_g_or_v_vend_vendor_id_lsb_get", _wrap_sacInformInfo_g_or_v_vend_vendor_id_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacInformInfo_g_or_v_vend",TclsacInformInfo_g_or_v_vendCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_id_set", _wrap_sacServiceRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_id_get", _wrap_sacServiceRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_gid_set", _wrap_sacServiceRec_service_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_gid_get", _wrap_sacServiceRec_service_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_pkey_set", _wrap_sacServiceRec_service_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_pkey_get", _wrap_sacServiceRec_service_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_resv_set", _wrap_sacServiceRec_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_resv_get", _wrap_sacServiceRec_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_lease_set", _wrap_sacServiceRec_service_lease_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_lease_get", _wrap_sacServiceRec_service_lease_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_key_set", _wrap_sacServiceRec_service_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_key_get", _wrap_sacServiceRec_service_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_name_set", _wrap_sacServiceRec_service_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_name_get", _wrap_sacServiceRec_service_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data8_set", _wrap_sacServiceRec_service_data8_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data8_get", _wrap_sacServiceRec_service_data8_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data16_set", _wrap_sacServiceRec_service_data16_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data16_get", _wrap_sacServiceRec_service_data16_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data32_set", _wrap_sacServiceRec_service_data32_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data32_get", _wrap_sacServiceRec_service_data32_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data64_set", _wrap_sacServiceRec_service_data64_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_service_data64_get", _wrap_sacServiceRec_service_data64_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_get", _wrap_sacServiceRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_set", _wrap_sacServiceRec_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_getTable", _wrap_sacServiceRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_delete", _wrap_sacServiceRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacServiceRec_obj_delete", _wrap_sacServiceRec_obj_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacServiceRec",TclsacServiceRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlTbl_raw_vl_by_sl_set", _wrap_sacSlVlTbl_raw_vl_by_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlTbl_raw_vl_by_sl_get", _wrap_sacSlVlTbl_raw_vl_by_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSlVlTbl",TclsacSlVlTblCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_lid_set", _wrap_sacSlVlRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_lid_get", _wrap_sacSlVlRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_in_port_num_set", _wrap_sacSlVlRec_in_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_in_port_num_get", _wrap_sacSlVlRec_in_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_out_port_num_set", _wrap_sacSlVlRec_out_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_out_port_num_get", _wrap_sacSlVlRec_out_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_resv_set", _wrap_sacSlVlRec_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_resv_get", _wrap_sacSlVlRec_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_slvl_tbl_set", _wrap_sacSlVlRec_slvl_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_slvl_tbl_get", _wrap_sacSlVlRec_slvl_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_get", _wrap_sacSlVlRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_getTable", _wrap_sacSlVlRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacSlVlRec_delete", _wrap_sacSlVlRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacSlVlRec",TclsacSlVlRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_lid_set", _wrap_sacVlArbRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_lid_get", _wrap_sacVlArbRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_port_num_set", _wrap_sacVlArbRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_port_num_get", _wrap_sacVlArbRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_block_num_set", _wrap_sacVlArbRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_block_num_get", _wrap_sacVlArbRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_reserved_set", _wrap_sacVlArbRec_reserved_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_reserved_get", _wrap_sacVlArbRec_reserved_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_vl_arb_tbl_set", _wrap_sacVlArbRec_vl_arb_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_vl_arb_tbl_get", _wrap_sacVlArbRec_vl_arb_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_get", _wrap_sacVlArbRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_getTable", _wrap_sacVlArbRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacVlArbRec_delete", _wrap_sacVlArbRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacVlArbRec",TclsacVlArbRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyTbl_pkey_entry_set", _wrap_sacPKeyTbl_pkey_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyTbl_pkey_entry_get", _wrap_sacPKeyTbl_pkey_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPKeyTbl",TclsacPKeyTblCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_lid_set", _wrap_sacPKeyRec_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_lid_get", _wrap_sacPKeyRec_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_block_num_set", _wrap_sacPKeyRec_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_block_num_get", _wrap_sacPKeyRec_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_port_num_set", _wrap_sacPKeyRec_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_port_num_get", _wrap_sacPKeyRec_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved1_set", _wrap_sacPKeyRec_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved1_get", _wrap_sacPKeyRec_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved2_set", _wrap_sacPKeyRec_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_reserved2_get", _wrap_sacPKeyRec_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_pkey_tbl_set", _wrap_sacPKeyRec_pkey_tbl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_pkey_tbl_get", _wrap_sacPKeyRec_pkey_tbl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_get", _wrap_sacPKeyRec_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_getTable", _wrap_sacPKeyRec_getTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "sacPKeyRec_delete", _wrap_sacPKeyRec_delete, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "sacPKeyRec",TclsacPKeyRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_base_version_set", _wrap_smNodeInfo_base_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_base_version_get", _wrap_smNodeInfo_base_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_class_version_set", _wrap_smNodeInfo_class_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_class_version_get", _wrap_smNodeInfo_class_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_type_set", _wrap_smNodeInfo_node_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_type_get", _wrap_smNodeInfo_node_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_num_ports_set", _wrap_smNodeInfo_num_ports_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_num_ports_get", _wrap_smNodeInfo_num_ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_sys_guid_set", _wrap_smNodeInfo_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_sys_guid_get", _wrap_smNodeInfo_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_guid_set", _wrap_smNodeInfo_node_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_node_guid_get", _wrap_smNodeInfo_node_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_guid_set", _wrap_smNodeInfo_port_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_guid_get", _wrap_smNodeInfo_port_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_partition_cap_set", _wrap_smNodeInfo_partition_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_partition_cap_get", _wrap_smNodeInfo_partition_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_device_id_set", _wrap_smNodeInfo_device_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_device_id_get", _wrap_smNodeInfo_device_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_revision_set", _wrap_smNodeInfo_revision_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_revision_get", _wrap_smNodeInfo_revision_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_num_vendor_id_set", _wrap_smNodeInfo_port_num_vendor_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_port_num_vendor_id_get", _wrap_smNodeInfo_port_num_vendor_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_getByDr", _wrap_smNodeInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_setByDr", _wrap_smNodeInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_getByLid", _wrap_smNodeInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeInfo_setByLid", _wrap_smNodeInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNodeInfo",TclsmNodeInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_set", _wrap_smPortInfo_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_get", _wrap_smPortInfo_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_prefix_set", _wrap_smPortInfo_subnet_prefix_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_prefix_get", _wrap_smPortInfo_subnet_prefix_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_base_lid_set", _wrap_smPortInfo_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_base_lid_get", _wrap_smPortInfo_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_master_sm_base_lid_set", _wrap_smPortInfo_master_sm_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_master_sm_base_lid_get", _wrap_smPortInfo_master_sm_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_capability_mask_set", _wrap_smPortInfo_capability_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_capability_mask_get", _wrap_smPortInfo_capability_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_diag_code_set", _wrap_smPortInfo_diag_code_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_diag_code_get", _wrap_smPortInfo_diag_code_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_lease_period_set", _wrap_smPortInfo_m_key_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_lease_period_get", _wrap_smPortInfo_m_key_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_local_port_num_set", _wrap_smPortInfo_local_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_local_port_num_get", _wrap_smPortInfo_local_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_enabled_set", _wrap_smPortInfo_link_width_enabled_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_enabled_get", _wrap_smPortInfo_link_width_enabled_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_supported_set", _wrap_smPortInfo_link_width_supported_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_supported_get", _wrap_smPortInfo_link_width_supported_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_active_set", _wrap_smPortInfo_link_width_active_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_width_active_get", _wrap_smPortInfo_link_width_active_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info1_set", _wrap_smPortInfo_state_info1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info1_get", _wrap_smPortInfo_state_info1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info2_set", _wrap_smPortInfo_state_info2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_state_info2_get", _wrap_smPortInfo_state_info2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mkey_lmc_set", _wrap_smPortInfo_mkey_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mkey_lmc_get", _wrap_smPortInfo_mkey_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_speed_set", _wrap_smPortInfo_link_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_link_speed_get", _wrap_smPortInfo_link_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_smsl_set", _wrap_smPortInfo_mtu_smsl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_smsl_get", _wrap_smPortInfo_mtu_smsl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_cap_set", _wrap_smPortInfo_vl_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_cap_get", _wrap_smPortInfo_vl_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_high_limit_set", _wrap_smPortInfo_vl_high_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_high_limit_get", _wrap_smPortInfo_vl_high_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_high_cap_set", _wrap_smPortInfo_vl_arb_high_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_high_cap_get", _wrap_smPortInfo_vl_arb_high_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_low_cap_set", _wrap_smPortInfo_vl_arb_low_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_arb_low_cap_get", _wrap_smPortInfo_vl_arb_low_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_cap_set", _wrap_smPortInfo_mtu_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_mtu_cap_get", _wrap_smPortInfo_mtu_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_stall_life_set", _wrap_smPortInfo_vl_stall_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_stall_life_get", _wrap_smPortInfo_vl_stall_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_enforce_set", _wrap_smPortInfo_vl_enforce_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_vl_enforce_get", _wrap_smPortInfo_vl_enforce_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_violations_set", _wrap_smPortInfo_m_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_m_key_violations_get", _wrap_smPortInfo_m_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_p_key_violations_set", _wrap_smPortInfo_p_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_p_key_violations_get", _wrap_smPortInfo_p_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_q_key_violations_set", _wrap_smPortInfo_q_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_q_key_violations_get", _wrap_smPortInfo_q_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_guid_cap_set", _wrap_smPortInfo_guid_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_guid_cap_get", _wrap_smPortInfo_guid_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_timeout_set", _wrap_smPortInfo_subnet_timeout_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_subnet_timeout_get", _wrap_smPortInfo_subnet_timeout_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_resp_time_value_set", _wrap_smPortInfo_resp_time_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_resp_time_value_get", _wrap_smPortInfo_resp_time_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_error_threshold_set", _wrap_smPortInfo_error_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_error_threshold_get", _wrap_smPortInfo_error_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_getByDr", _wrap_smPortInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_setByDr", _wrap_smPortInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_getByLid", _wrap_smPortInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPortInfo_setByLid", _wrap_smPortInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smPortInfo",TclsmPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_cap_set", _wrap_smSwInfo_lin_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_cap_get", _wrap_smSwInfo_lin_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_rand_cap_set", _wrap_smSwInfo_rand_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_rand_cap_get", _wrap_smSwInfo_rand_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_mcast_cap_set", _wrap_smSwInfo_mcast_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_mcast_cap_get", _wrap_smSwInfo_mcast_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_top_set", _wrap_smSwInfo_lin_top_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lin_top_get", _wrap_smSwInfo_lin_top_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_port_set", _wrap_smSwInfo_def_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_port_get", _wrap_smSwInfo_def_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_pri_port_set", _wrap_smSwInfo_def_mcast_pri_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_pri_port_get", _wrap_smSwInfo_def_mcast_pri_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_not_port_set", _wrap_smSwInfo_def_mcast_not_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_def_mcast_not_port_get", _wrap_smSwInfo_def_mcast_not_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_life_state_set", _wrap_smSwInfo_life_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_life_state_get", _wrap_smSwInfo_life_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lids_per_port_set", _wrap_smSwInfo_lids_per_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_lids_per_port_get", _wrap_smSwInfo_lids_per_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_enforce_cap_set", _wrap_smSwInfo_enforce_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_enforce_cap_get", _wrap_smSwInfo_enforce_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_flags_set", _wrap_smSwInfo_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_flags_get", _wrap_smSwInfo_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_getByDr", _wrap_smSwInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_setByDr", _wrap_smSwInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_getByLid", _wrap_smSwInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSwInfo_setByLid", _wrap_smSwInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSwInfo",TclsmSwInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_lft_set", _wrap_smLftBlock_lft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_lft_get", _wrap_smLftBlock_lft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_getByDr", _wrap_smLftBlock_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_setByDr", _wrap_smLftBlock_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_getByLid", _wrap_smLftBlock_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smLftBlock_setByLid", _wrap_smLftBlock_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smLftBlock",TclsmLftBlockCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_mft_set", _wrap_smMftBlock_mft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_mft_get", _wrap_smMftBlock_mft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_getByDr", _wrap_smMftBlock_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_setByDr", _wrap_smMftBlock_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_getByLid", _wrap_smMftBlock_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smMftBlock_setByLid", _wrap_smMftBlock_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smMftBlock",TclsmMftBlockCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_guid_set", _wrap_smGuidInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_guid_get", _wrap_smGuidInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_getByDr", _wrap_smGuidInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_setByDr", _wrap_smGuidInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_getByLid", _wrap_smGuidInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smGuidInfo_setByLid", _wrap_smGuidInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smGuidInfo",TclsmGuidInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_pkey_entry_set", _wrap_smPkeyTable_pkey_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_pkey_entry_get", _wrap_smPkeyTable_pkey_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_getByDr", _wrap_smPkeyTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_setByDr", _wrap_smPkeyTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_getByLid", _wrap_smPkeyTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smPkeyTable_setByLid", _wrap_smPkeyTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smPkeyTable",TclsmPkeyTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_raw_vl_by_sl_set", _wrap_smSlVlTable_raw_vl_by_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_raw_vl_by_sl_get", _wrap_smSlVlTable_raw_vl_by_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_getByDr", _wrap_smSlVlTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_setByDr", _wrap_smSlVlTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_getByLid", _wrap_smSlVlTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSlVlTable_setByLid", _wrap_smSlVlTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSlVlTable",TclsmSlVlTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_vl_entry_set", _wrap_smVlArbTable_vl_entry_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_vl_entry_get", _wrap_smVlArbTable_vl_entry_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_getByDr", _wrap_smVlArbTable_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_setByDr", _wrap_smVlArbTable_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_getByLid", _wrap_smVlArbTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smVlArbTable_setByLid", _wrap_smVlArbTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smVlArbTable",TclsmVlArbTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_description_set", _wrap_smNodeDesc_description_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_description_get", _wrap_smNodeDesc_description_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_getByDr", _wrap_smNodeDesc_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_setByDr", _wrap_smNodeDesc_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_getByLid", _wrap_smNodeDesc_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNodeDesc_setByLid", _wrap_smNodeDesc_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNodeDesc",TclsmNodeDescCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_guid_set", _wrap_smSMInfo_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_guid_get", _wrap_smSMInfo_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_sm_key_set", _wrap_smSMInfo_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_sm_key_get", _wrap_smSMInfo_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_act_count_set", _wrap_smSMInfo_act_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_act_count_get", _wrap_smSMInfo_act_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_pri_state_set", _wrap_smSMInfo_pri_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_pri_state_get", _wrap_smSMInfo_pri_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_getByDr", _wrap_smSMInfo_getByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_setByDr", _wrap_smSMInfo_setByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_getByLid", _wrap_smSMInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smSMInfo_setByLid", _wrap_smSMInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smSMInfo",TclsmSMInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_generic_type_set", _wrap_smNotice_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_generic_type_get", _wrap_smNotice_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_lid_set", _wrap_smNotice_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_lid_get", _wrap_smNotice_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_toggle_count_set", _wrap_smNotice_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_toggle_count_get", _wrap_smNotice_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_gid_set", _wrap_smNotice_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_issuer_gid_get", _wrap_smNotice_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_get", _wrap_smNotice_g_or_v_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_get", _wrap_smNotice_data_details_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_trapByDr", _wrap_smNotice_trapByDr, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_trapByLid", _wrap_smNotice_trapByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice",TclsmNoticeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_get", _wrap_smNotice_g_or_v_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_get", _wrap_smNotice_g_or_v_vend_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v",TclsmNotice_g_or_vCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_get", _wrap_smNotice_data_details_raw_data_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_get", _wrap_smNotice_data_details_ntc_64_67_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_get", _wrap_smNotice_data_details_ntc_128_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_get", _wrap_smNotice_data_details_ntc_129_131_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_get", _wrap_smNotice_data_details_ntc_144_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_get", _wrap_smNotice_data_details_ntc_145_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_get", _wrap_smNotice_data_details_ntc_256_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_get", _wrap_smNotice_data_details_ntc_257_258_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_get", _wrap_smNotice_data_details_ntc_259_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details",TclsmNotice_data_detailsCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_msb_set", _wrap_smNotice_g_or_v_generic_prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_msb_get", _wrap_smNotice_g_or_v_generic_prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_lsb_set", _wrap_smNotice_g_or_v_generic_prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_prod_type_lsb_get", _wrap_smNotice_g_or_v_generic_prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_trap_num_set", _wrap_smNotice_g_or_v_generic_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_generic_trap_num_get", _wrap_smNotice_g_or_v_generic_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v_generic",TclsmNotice_g_or_v_genericCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_msb_set", _wrap_smNotice_g_or_v_vend_vend_id_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_msb_get", _wrap_smNotice_g_or_v_vend_vend_id_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_lsb_set", _wrap_smNotice_g_or_v_vend_vend_id_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_vend_id_lsb_get", _wrap_smNotice_g_or_v_vend_vend_id_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_dev_id_set", _wrap_smNotice_g_or_v_vend_dev_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_g_or_v_vend_dev_id_get", _wrap_smNotice_g_or_v_vend_dev_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_g_or_v_vend",TclsmNotice_g_or_v_vendCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_details_set", _wrap_smNotice_data_details_raw_data_details_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_raw_data_details_get", _wrap_smNotice_data_details_raw_data_details_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_raw_data",TclsmNotice_data_details_raw_dataCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_res_set", _wrap_smNotice_data_details_ntc_64_67_res_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_res_get", _wrap_smNotice_data_details_ntc_64_67_res_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_gid_set", _wrap_smNotice_data_details_ntc_64_67_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_64_67_gid_get", _wrap_smNotice_data_details_ntc_64_67_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_64_67",TclsmNotice_data_details_ntc_64_67Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_sw_lid_set", _wrap_smNotice_data_details_ntc_128_sw_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_128_sw_lid_get", _wrap_smNotice_data_details_ntc_128_sw_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_128",TclsmNotice_data_details_ntc_128Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_pad_set", _wrap_smNotice_data_details_ntc_129_131_pad_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_pad_get", _wrap_smNotice_data_details_ntc_129_131_pad_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_lid_set", _wrap_smNotice_data_details_ntc_129_131_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_lid_get", _wrap_smNotice_data_details_ntc_129_131_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_port_num_set", _wrap_smNotice_data_details_ntc_129_131_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_129_131_port_num_get", _wrap_smNotice_data_details_ntc_129_131_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_129_131",TclsmNotice_data_details_ntc_129_131Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad1_set", _wrap_smNotice_data_details_ntc_144_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad1_get", _wrap_smNotice_data_details_ntc_144_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_lid_set", _wrap_smNotice_data_details_ntc_144_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_lid_get", _wrap_smNotice_data_details_ntc_144_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad2_set", _wrap_smNotice_data_details_ntc_144_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_pad2_get", _wrap_smNotice_data_details_ntc_144_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_new_cap_mask_set", _wrap_smNotice_data_details_ntc_144_new_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_144_new_cap_mask_get", _wrap_smNotice_data_details_ntc_144_new_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_144",TclsmNotice_data_details_ntc_144Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad1_set", _wrap_smNotice_data_details_ntc_145_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad1_get", _wrap_smNotice_data_details_ntc_145_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_lid_set", _wrap_smNotice_data_details_ntc_145_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_lid_get", _wrap_smNotice_data_details_ntc_145_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad2_set", _wrap_smNotice_data_details_ntc_145_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_pad2_get", _wrap_smNotice_data_details_ntc_145_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_new_sys_guid_set", _wrap_smNotice_data_details_ntc_145_new_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_145_new_sys_guid_get", _wrap_smNotice_data_details_ntc_145_new_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_145",TclsmNotice_data_details_ntc_145Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad1_set", _wrap_smNotice_data_details_ntc_256_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad1_get", _wrap_smNotice_data_details_ntc_256_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_lid_set", _wrap_smNotice_data_details_ntc_256_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_lid_get", _wrap_smNotice_data_details_ntc_256_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad2_set", _wrap_smNotice_data_details_ntc_256_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad2_get", _wrap_smNotice_data_details_ntc_256_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_method_set", _wrap_smNotice_data_details_ntc_256_method_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_method_get", _wrap_smNotice_data_details_ntc_256_method_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad3_set", _wrap_smNotice_data_details_ntc_256_pad3_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_pad3_get", _wrap_smNotice_data_details_ntc_256_pad3_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_id_set", _wrap_smNotice_data_details_ntc_256_attr_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_id_get", _wrap_smNotice_data_details_ntc_256_attr_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_mod_set", _wrap_smNotice_data_details_ntc_256_attr_mod_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_attr_mod_get", _wrap_smNotice_data_details_ntc_256_attr_mod_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_mkey_set", _wrap_smNotice_data_details_ntc_256_mkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_mkey_get", _wrap_smNotice_data_details_ntc_256_mkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_slid_set", _wrap_smNotice_data_details_ntc_256_dr_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_slid_get", _wrap_smNotice_data_details_ntc_256_dr_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_trunc_hop_set", _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_trunc_hop_get", _wrap_smNotice_data_details_ntc_256_dr_trunc_hop_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_rtn_path_set", _wrap_smNotice_data_details_ntc_256_dr_rtn_path_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_256_dr_rtn_path_get", _wrap_smNotice_data_details_ntc_256_dr_rtn_path_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_256",TclsmNotice_data_details_ntc_256Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_pad1_set", _wrap_smNotice_data_details_ntc_257_258_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_pad1_get", _wrap_smNotice_data_details_ntc_257_258_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid1_set", _wrap_smNotice_data_details_ntc_257_258_lid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid1_get", _wrap_smNotice_data_details_ntc_257_258_lid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid2_set", _wrap_smNotice_data_details_ntc_257_258_lid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_lid2_get", _wrap_smNotice_data_details_ntc_257_258_lid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_key_set", _wrap_smNotice_data_details_ntc_257_258_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_key_get", _wrap_smNotice_data_details_ntc_257_258_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_sl_set", _wrap_smNotice_data_details_ntc_257_258_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_sl_get", _wrap_smNotice_data_details_ntc_257_258_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp1_set", _wrap_smNotice_data_details_ntc_257_258_qp1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp1_get", _wrap_smNotice_data_details_ntc_257_258_qp1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp2_set", _wrap_smNotice_data_details_ntc_257_258_qp2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_qp2_get", _wrap_smNotice_data_details_ntc_257_258_qp2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid1_set", _wrap_smNotice_data_details_ntc_257_258_gid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid1_get", _wrap_smNotice_data_details_ntc_257_258_gid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid2_set", _wrap_smNotice_data_details_ntc_257_258_gid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_257_258_gid2_get", _wrap_smNotice_data_details_ntc_257_258_gid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_257_258",TclsmNotice_data_details_ntc_257_258Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_data_valid_set", _wrap_smNotice_data_details_ntc_259_data_valid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_data_valid_get", _wrap_smNotice_data_details_ntc_259_data_valid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid1_set", _wrap_smNotice_data_details_ntc_259_lid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid1_get", _wrap_smNotice_data_details_ntc_259_lid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid2_set", _wrap_smNotice_data_details_ntc_259_lid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_lid2_get", _wrap_smNotice_data_details_ntc_259_lid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_key_set", _wrap_smNotice_data_details_ntc_259_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_key_get", _wrap_smNotice_data_details_ntc_259_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sl_set", _wrap_smNotice_data_details_ntc_259_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sl_get", _wrap_smNotice_data_details_ntc_259_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp1_set", _wrap_smNotice_data_details_ntc_259_qp1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp1_get", _wrap_smNotice_data_details_ntc_259_qp1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_msb_set", _wrap_smNotice_data_details_ntc_259_qp2_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_msb_get", _wrap_smNotice_data_details_ntc_259_qp2_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_lsb_set", _wrap_smNotice_data_details_ntc_259_qp2_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_qp2_lsb_get", _wrap_smNotice_data_details_ntc_259_qp2_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid1_set", _wrap_smNotice_data_details_ntc_259_gid1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid1_get", _wrap_smNotice_data_details_ntc_259_gid1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid2_set", _wrap_smNotice_data_details_ntc_259_gid2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_gid2_get", _wrap_smNotice_data_details_ntc_259_gid2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sw_lid_set", _wrap_smNotice_data_details_ntc_259_sw_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_sw_lid_get", _wrap_smNotice_data_details_ntc_259_sw_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_port_no_set", _wrap_smNotice_data_details_ntc_259_port_no_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "smNotice_data_details_ntc_259_port_no_get", _wrap_smNotice_data_details_ntc_259_port_no_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "smNotice_data_details_ntc_259",TclsmNotice_data_details_ntc_259Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_base_ver_set", _wrap_ccClassPortInfo_base_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_base_ver_get", _wrap_ccClassPortInfo_base_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_class_ver_set", _wrap_ccClassPortInfo_class_ver_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_class_ver_get", _wrap_ccClassPortInfo_class_ver_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask_set", _wrap_ccClassPortInfo_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask_get", _wrap_ccClassPortInfo_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask2_resp_time_set", _wrap_ccClassPortInfo_cap_mask2_resp_time_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_cap_mask2_resp_time_get", _wrap_ccClassPortInfo_cap_mask2_resp_time_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_gid_set", _wrap_ccClassPortInfo_redir_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_gid_get", _wrap_ccClassPortInfo_redir_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_tc_sl_fl_set", _wrap_ccClassPortInfo_redir_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_tc_sl_fl_get", _wrap_ccClassPortInfo_redir_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_lid_set", _wrap_ccClassPortInfo_redir_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_lid_get", _wrap_ccClassPortInfo_redir_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_pkey_set", _wrap_ccClassPortInfo_redir_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_pkey_get", _wrap_ccClassPortInfo_redir_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qp_set", _wrap_ccClassPortInfo_redir_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qp_get", _wrap_ccClassPortInfo_redir_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qkey_set", _wrap_ccClassPortInfo_redir_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_redir_qkey_get", _wrap_ccClassPortInfo_redir_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_gid_set", _wrap_ccClassPortInfo_trap_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_gid_get", _wrap_ccClassPortInfo_trap_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_tc_sl_fl_set", _wrap_ccClassPortInfo_trap_tc_sl_fl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_tc_sl_fl_get", _wrap_ccClassPortInfo_trap_tc_sl_fl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_lid_set", _wrap_ccClassPortInfo_trap_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_lid_get", _wrap_ccClassPortInfo_trap_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_pkey_set", _wrap_ccClassPortInfo_trap_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_pkey_get", _wrap_ccClassPortInfo_trap_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_hop_qp_set", _wrap_ccClassPortInfo_trap_hop_qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_hop_qp_get", _wrap_ccClassPortInfo_trap_hop_qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_qkey_set", _wrap_ccClassPortInfo_trap_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_trap_qkey_get", _wrap_ccClassPortInfo_trap_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_getByLid", _wrap_ccClassPortInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccClassPortInfo_setByLid", _wrap_ccClassPortInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccClassPortInfo",TclccClassPortInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic_type_set", _wrap_ccNotice_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic_type_get", _wrap_ccNotice_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_msb_set", _wrap_ccNotice_generic__prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_msb_get", _wrap_ccNotice_generic__prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_lsb_set", _wrap_ccNotice_generic__prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__prod_type_lsb_get", _wrap_ccNotice_generic__prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__trap_num_set", _wrap_ccNotice_generic__trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_generic__trap_num_get", _wrap_ccNotice_generic__trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_lid_set", _wrap_ccNotice_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_lid_get", _wrap_ccNotice_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_toggle_count_set", _wrap_ccNotice_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_toggle_count_get", _wrap_ccNotice_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_lid_set", _wrap_ccNotice_ntc0__source_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_lid_get", _wrap_ccNotice_ntc0__source_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__method_set", _wrap_ccNotice_ntc0__method_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__method_get", _wrap_ccNotice_ntc0__method_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv0_set", _wrap_ccNotice_ntc0__resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv0_get", _wrap_ccNotice_ntc0__resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_id_set", _wrap_ccNotice_ntc0__attr_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_id_get", _wrap_ccNotice_ntc0__attr_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv1_set", _wrap_ccNotice_ntc0__resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__resv1_get", _wrap_ccNotice_ntc0__resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_mod_set", _wrap_ccNotice_ntc0__attr_mod_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__attr_mod_get", _wrap_ccNotice_ntc0__attr_mod_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__qp_set", _wrap_ccNotice_ntc0__qp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__qp_get", _wrap_ccNotice_ntc0__qp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__cc_key_set", _wrap_ccNotice_ntc0__cc_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__cc_key_get", _wrap_ccNotice_ntc0__cc_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_gid_set", _wrap_ccNotice_ntc0__source_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__source_gid_get", _wrap_ccNotice_ntc0__source_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__padding_set", _wrap_ccNotice_ntc0__padding_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_ntc0__padding_get", _wrap_ccNotice_ntc0__padding_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_gid_set", _wrap_ccNotice_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_issuer_gid_get", _wrap_ccNotice_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccNotice_trapByLid", _wrap_ccNotice_trapByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccNotice",TclccNoticeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_cong_info_set", _wrap_ccCongestionInfo_cong_info_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_cong_info_get", _wrap_ccCongestionInfo_cong_info_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_resv_set", _wrap_ccCongestionInfo_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_resv_get", _wrap_ccCongestionInfo_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_ctrl_table_cap_set", _wrap_ccCongestionInfo_ctrl_table_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_ctrl_table_cap_get", _wrap_ccCongestionInfo_ctrl_table_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionInfo_getByLid", _wrap_ccCongestionInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCongestionInfo",TclccCongestionInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_cc_key_set", _wrap_ccCongestionKeyInfo_cc_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_cc_key_get", _wrap_ccCongestionKeyInfo_cc_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_protect_bit_set", _wrap_ccCongestionKeyInfo_protect_bit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_protect_bit_get", _wrap_ccCongestionKeyInfo_protect_bit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_lease_period_set", _wrap_ccCongestionKeyInfo_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_lease_period_get", _wrap_ccCongestionKeyInfo_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_violations_set", _wrap_ccCongestionKeyInfo_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_violations_get", _wrap_ccCongestionKeyInfo_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_getByLid", _wrap_ccCongestionKeyInfo_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCongestionKeyInfo_setByLid", _wrap_ccCongestionKeyInfo_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCongestionKeyInfo",TclccCongestionKeyInfoCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_slid_set", _wrap_ib_cong_log_event_sw_t_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_slid_get", _wrap_ib_cong_log_event_sw_t_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_dlid_set", _wrap_ib_cong_log_event_sw_t_dlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_dlid_get", _wrap_ib_cong_log_event_sw_t_dlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_sl_set", _wrap_ib_cong_log_event_sw_t_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_sl_get", _wrap_ib_cong_log_event_sw_t_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_time_stamp_set", _wrap_ib_cong_log_event_sw_t_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_sw_t_time_stamp_get", _wrap_ib_cong_log_event_sw_t_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cong_log_event_sw_t",Tclib_cong_log_event_sw_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_local_qp_resv0_set", _wrap_ib_cong_log_event_ca_t_local_qp_resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_local_qp_resv0_get", _wrap_ib_cong_log_event_ca_t_local_qp_resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_qp_sl_service_type_set", _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_qp_sl_service_type_get", _wrap_ib_cong_log_event_ca_t_remote_qp_sl_service_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_lid_set", _wrap_ib_cong_log_event_ca_t_remote_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_remote_lid_get", _wrap_ib_cong_log_event_ca_t_remote_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_resv1_set", _wrap_ib_cong_log_event_ca_t_resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_resv1_get", _wrap_ib_cong_log_event_ca_t_resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_time_stamp_set", _wrap_ib_cong_log_event_ca_t_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cong_log_event_ca_t_time_stamp_get", _wrap_ib_cong_log_event_ca_t_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cong_log_event_ca_t",Tclib_cong_log_event_ca_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_log_type_set", _wrap_ccSWCongestionLog_log_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_log_type_get", _wrap_ccSWCongestionLog_log_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_cong_flags_set", _wrap_ccSWCongestionLog_cong_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_cong_flags_get", _wrap_ccSWCongestionLog_cong_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_event_counter_set", _wrap_ccSWCongestionLog_event_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_event_counter_get", _wrap_ccSWCongestionLog_event_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_time_stamp_set", _wrap_ccSWCongestionLog_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_time_stamp_get", _wrap_ccSWCongestionLog_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_port_map_set", _wrap_ccSWCongestionLog_port_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_port_map_get", _wrap_ccSWCongestionLog_port_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_entry_list_set", _wrap_ccSWCongestionLog_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_entry_list_get", _wrap_ccSWCongestionLog_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionLog_getByLid", _wrap_ccSWCongestionLog_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWCongestionLog",TclccSWCongestionLogCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_type_set", _wrap_ccCACongestionLog_log_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_type_get", _wrap_ccCACongestionLog_log_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_cong_flags_set", _wrap_ccCACongestionLog_cong_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_cong_flags_get", _wrap_ccCACongestionLog_cong_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_counter_set", _wrap_ccCACongestionLog_event_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_counter_get", _wrap_ccCACongestionLog_event_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_map_set", _wrap_ccCACongestionLog_event_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_event_map_get", _wrap_ccCACongestionLog_event_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_resv_set", _wrap_ccCACongestionLog_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_resv_get", _wrap_ccCACongestionLog_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_time_stamp_set", _wrap_ccCACongestionLog_time_stamp_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_time_stamp_get", _wrap_ccCACongestionLog_time_stamp_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_event_set", _wrap_ccCACongestionLog_log_event_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_log_event_get", _wrap_ccCACongestionLog_log_event_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionLog_getByLid", _wrap_ccCACongestionLog_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCACongestionLog",TclccCACongestionLogCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_control_map_set", _wrap_ccSWCongestionSetting_control_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_control_map_get", _wrap_ccSWCongestionSetting_control_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_victim_mask_set", _wrap_ccSWCongestionSetting_victim_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_victim_mask_get", _wrap_ccSWCongestionSetting_victim_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_credit_mask_set", _wrap_ccSWCongestionSetting_credit_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_credit_mask_get", _wrap_ccSWCongestionSetting_credit_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_threshold_resv_set", _wrap_ccSWCongestionSetting_threshold_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_threshold_resv_get", _wrap_ccSWCongestionSetting_threshold_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_packet_size_set", _wrap_ccSWCongestionSetting_packet_size_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_packet_size_get", _wrap_ccSWCongestionSetting_packet_size_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_threshold_resv_set", _wrap_ccSWCongestionSetting_cs_threshold_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_threshold_resv_get", _wrap_ccSWCongestionSetting_cs_threshold_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_return_delay_set", _wrap_ccSWCongestionSetting_cs_return_delay_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_cs_return_delay_get", _wrap_ccSWCongestionSetting_cs_return_delay_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_marking_rate_set", _wrap_ccSWCongestionSetting_marking_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_marking_rate_get", _wrap_ccSWCongestionSetting_marking_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_getByLid", _wrap_ccSWCongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWCongestionSetting_setByLid", _wrap_ccSWCongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWCongestionSetting",TclccSWCongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set", _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get", _wrap_ib_sw_port_cong_setting_element_t_valid_ctrl_type_res_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_packet_size_set", _wrap_ib_sw_port_cong_setting_element_t_packet_size_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_packet_size_get", _wrap_ib_sw_port_cong_setting_element_t_packet_size_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_cong_param_set", _wrap_ib_sw_port_cong_setting_element_t_cong_param_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_sw_port_cong_setting_element_t_cong_param_get", _wrap_ib_sw_port_cong_setting_element_t_cong_param_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_sw_port_cong_setting_element_t",Tclib_sw_port_cong_setting_element_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_block_set", _wrap_ccSWPortCongestionSetting_block_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_block_get", _wrap_ccSWPortCongestionSetting_block_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_getByLid", _wrap_ccSWPortCongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccSWPortCongestionSetting_setByLid", _wrap_ccSWPortCongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccSWPortCongestionSetting",TclccSWPortCongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_timer_set", _wrap_ib_ca_cong_entry_t_ccti_timer_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_timer_get", _wrap_ib_ca_cong_entry_t_ccti_timer_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_increase_set", _wrap_ib_ca_cong_entry_t_ccti_increase_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_increase_get", _wrap_ib_ca_cong_entry_t_ccti_increase_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_trigger_threshold_set", _wrap_ib_ca_cong_entry_t_trigger_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_trigger_threshold_get", _wrap_ib_ca_cong_entry_t_trigger_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_min_set", _wrap_ib_ca_cong_entry_t_ccti_min_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_ccti_min_get", _wrap_ib_ca_cong_entry_t_ccti_min_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv0_set", _wrap_ib_ca_cong_entry_t_resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv0_get", _wrap_ib_ca_cong_entry_t_resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv1_set", _wrap_ib_ca_cong_entry_t_resv1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_ca_cong_entry_t_resv1_get", _wrap_ib_ca_cong_entry_t_resv1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_ca_cong_entry_t",Tclib_ca_cong_entry_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_port_control_set", _wrap_ccCACongestionSetting_port_control_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_port_control_get", _wrap_ccCACongestionSetting_port_control_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_control_map_set", _wrap_ccCACongestionSetting_control_map_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_control_map_get", _wrap_ccCACongestionSetting_control_map_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_entry_list_set", _wrap_ccCACongestionSetting_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_entry_list_get", _wrap_ccCACongestionSetting_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_getByLid", _wrap_ccCACongestionSetting_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccCACongestionSetting_setByLid", _wrap_ccCACongestionSetting_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccCACongestionSetting",TclccCACongestionSettingCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cc_tbl_entry_t_shift_multiplier_set", _wrap_ib_cc_tbl_entry_t_shift_multiplier_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_cc_tbl_entry_t_shift_multiplier_get", _wrap_ib_cc_tbl_entry_t_shift_multiplier_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_cc_tbl_entry_t",Tclib_cc_tbl_entry_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_ccti_limit_set", _wrap_ccTable_ccti_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_ccti_limit_get", _wrap_ccTable_ccti_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_resv_set", _wrap_ccTable_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_resv_get", _wrap_ccTable_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_entry_list_set", _wrap_ccTable_entry_list_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_entry_list_get", _wrap_ccTable_entry_list_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_getByLid", _wrap_ccTable_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTable_setByLid", _wrap_ccTable_setByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccTable",TclccTableCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_value_set", _wrap_ccTimeStamp_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_value_get", _wrap_ccTimeStamp_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ccTimeStamp_getByLid", _wrap_ccTimeStamp_getByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ccTimeStamp",TclccTimeStampCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_single_thread_set", _wrap_ibis_opt_t_single_thread_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_single_thread_get", _wrap_ibis_opt_t_single_thread_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_force_log_flush_set", _wrap_ibis_opt_t_force_log_flush_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_force_log_flush_get", _wrap_ibis_opt_t_force_log_flush_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_flags_set", _wrap_ibis_opt_t_log_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_flags_get", _wrap_ibis_opt_t_log_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_file_set", _wrap_ibis_opt_t_log_file_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_log_file_get", _wrap_ibis_opt_t_log_file_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_sm_key_set", _wrap_ibis_opt_t_sm_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_sm_key_get", _wrap_ibis_opt_t_sm_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_m_key_set", _wrap_ibis_opt_t_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_m_key_get", _wrap_ibis_opt_t_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_v_key_set", _wrap_ibis_opt_t_v_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibis_opt_t_v_key_get", _wrap_ibis_opt_t_v_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ibis_opt_t",Tclibis_opt_tCmd, (ClientData) NULL, NULL);
+/*
+ * These are the pointer type-equivalency mappings.
+ * (Used by the SWIG pointer type-checker).
+ */
+	 SWIG_RegisterMapping("_struct__ibsm_sm_info","_smSMInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_sm_info","__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("__ibcc_class_port_info","_ccClassPortInfo",0);
+	 SWIG_RegisterMapping("__ibcc_class_port_info","_struct__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_struct__ibcc_notice","_ccNotice",0);
+	 SWIG_RegisterMapping("_struct__ibcc_notice","__ibcc_notice",0);
+	 SWIG_RegisterMapping("_signed_long","_long",0);
+	 SWIG_RegisterMapping("_struct__ibsm_vl_arb_table","_smVlArbTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_vl_arb_table","__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_ibis_opt_t","_struct__ibis_opt",0);
+	 SWIG_RegisterMapping("_ibis_opt_t","__ibis_opt",0);
+	 SWIG_RegisterMapping("_sacPortInfo","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_sacPortInfo","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table","_sacPKeyTbl",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table","__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_ccTimeStamp","_struct__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_ccTimeStamp","__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_sacNodeInfo","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_sacNodeInfo","__ib_node_info",0);
+	 SWIG_RegisterMapping("_struct__ib_portinfo_record","_sacPortRec",0);
+	 SWIG_RegisterMapping("_struct__ib_portinfo_record","__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("__ibcc_notice","_ccNotice",0);
+	 SWIG_RegisterMapping("__ibcc_notice","_struct__ibcc_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","_sacPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_ca","_ib_cong_log_event_ca_t",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_ca","__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","_sacSwInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_sacNodeRec","_struct__ib_node_record_t",0);
+	 SWIG_RegisterMapping("_sacNodeRec","__ib_node_record_t",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_sacSwInfo",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_mft_block","_smMftBlock",0);
+	 SWIG_RegisterMapping("_struct__ibsm_mft_block","__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_struct__ibcc_class_port_info","_ccClassPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibcc_class_port_info","__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("__ibsm_mft_block","_smMftBlock",0);
+	 SWIG_RegisterMapping("__ibsm_mft_block","_struct__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_sw_t","_struct__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_sw_t","__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_long","_unsigned_long",0);
+	 SWIG_RegisterMapping("_long","_signed_long",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_ca_t","_struct__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_ib_cong_log_event_ca_t","__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_sacSlVlTbl","_struct__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_sacSlVlTbl","__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_smNotice","_struct__ibsm_notice",0);
+	 SWIG_RegisterMapping("_smNotice","__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_setting","_ccSWCongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_setting","__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_struct__ibsm_port_info","_smPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_port_info","__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","_sacNodeInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","__ib_node_info",0);
+	 SWIG_RegisterMapping("__ibsm_port_info","_smPortInfo",0);
+	 SWIG_RegisterMapping("__ibsm_port_info","_struct__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_sm_info","_sacSmInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_sm_info","__ib_sm_info",0);
+	 SWIG_RegisterMapping("_sacLinkRec","_struct__ib_link_record",0);
+	 SWIG_RegisterMapping("_sacLinkRec","__ib_link_record",0);
+	 SWIG_RegisterMapping("_sacClassPortInfo","_struct__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("_sacClassPortInfo","__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("__ibsm_vl_arb_table","_smVlArbTable",0);
+	 SWIG_RegisterMapping("__ibsm_vl_arb_table","_struct__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_sacPKeyTbl","_struct__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_sacPKeyTbl","__ib_pkey_table",0);
+	 SWIG_RegisterMapping("__ib_portinfo_record","_sacPortRec",0);
+	 SWIG_RegisterMapping("__ib_portinfo_record","_struct__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("__ib_node_record_t","_sacNodeRec",0);
+	 SWIG_RegisterMapping("__ib_node_record_t","_struct__ib_node_record_t",0);
+	 SWIG_RegisterMapping("_smVlArbTable","_struct__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_smVlArbTable","__ibsm_vl_arb_table",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_info","_smNodeInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_info","__ibsm_node_info",0);
+	 SWIG_RegisterMapping("__ibsm_switch_info","_smSwInfo",0);
+	 SWIG_RegisterMapping("__ibsm_switch_info","_struct__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("__ibsm_node_info","_smNodeInfo",0);
+	 SWIG_RegisterMapping("__ibsm_node_info","_struct__ibsm_node_info",0);
+	 SWIG_RegisterMapping("_ccSWCongestionSetting","_struct__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_ccSWCongestionSetting","__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_member_rec","_sacMCMRec",0);
+	 SWIG_RegisterMapping("__ib_member_rec","_struct__ib_member_rec",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting","_ccSWPortCongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting","_struct__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ibis_opt","_ibis_opt_t",0);
+	 SWIG_RegisterMapping("__ibis_opt","_struct__ibis_opt",0);
+	 SWIG_RegisterMapping("_struct__ib_time_stamp","_ccTimeStamp",0);
+	 SWIG_RegisterMapping("_struct__ib_time_stamp","__ib_time_stamp",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_setting","_ccSWCongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_setting","_struct__ib_sw_cong_setting",0);
+	 SWIG_RegisterMapping("_sacServiceRec","_struct__ib_service_record",0);
+	 SWIG_RegisterMapping("_sacServiceRec","__ib_service_record",0);
+	 SWIG_RegisterMapping("_ib_cc_tbl_entry_t","_struct__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_ib_cc_tbl_entry_t","__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_log","_ccSWCongestionLog",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_cong_log","__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_log","_ccSWCongestionLog",0);
+	 SWIG_RegisterMapping("__ib_sw_cong_log","_struct__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("_struct__ib_path_rec","_sacPathRec",0);
+	 SWIG_RegisterMapping("_struct__ib_path_rec","__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_log","_ccCACongestionLog",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_log","__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("__ib_cong_key_info","_ccCongestionKeyInfo",0);
+	 SWIG_RegisterMapping("__ib_cong_key_info","_struct__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_log","_ccCACongestionLog",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_log","_struct__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_struct__ibsac_class_port_info","_sacClassPortInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsac_class_port_info","__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_desc","_smNodeDesc",0);
+	 SWIG_RegisterMapping("_struct__ibsm_node_desc","__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting_element","_ib_sw_port_cong_setting_element_t",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting_element","__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_sacSmInfo","_struct__ib_sm_info",0);
+	 SWIG_RegisterMapping("_sacSmInfo","__ib_sm_info",0);
+	 SWIG_RegisterMapping("__ibsm_node_desc","_smNodeDesc",0);
+	 SWIG_RegisterMapping("__ibsm_node_desc","_struct__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("__ibsac_class_port_info","_sacClassPortInfo",0);
+	 SWIG_RegisterMapping("__ibsac_class_port_info","_struct__ibsac_class_port_info",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_sw","_ib_cong_log_event_sw_t",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_sw","_struct__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("_ccCongestionKeyInfo","_struct__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("_ccCongestionKeyInfo","__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("__ib_path_rec","_sacPathRec",0);
+	 SWIG_RegisterMapping("__ib_path_rec","_struct__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_setting","_ccCACongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_setting","__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_cong_info","_ccCongestionInfo",0);
+	 SWIG_RegisterMapping("__ib_cong_info","_struct__ib_cong_info",0);
+	 SWIG_RegisterMapping("__ib_slvl_table","_sacSlVlTbl",0);
+	 SWIG_RegisterMapping("__ib_slvl_table","_struct__ib_slvl_table",0);
+	 SWIG_RegisterMapping("_unsigned_long","_long",0);
+	 SWIG_RegisterMapping("_smPkeyTable","_struct__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_smPkeyTable","__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","_sacLFTRec",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_struct__ibcc_tbl_entry","_ib_cc_tbl_entry_t",0);
+	 SWIG_RegisterMapping("_struct__ibcc_tbl_entry","__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_sacPathRec","_struct__ib_path_rec",0);
+	 SWIG_RegisterMapping("_sacPathRec","__ib_path_rec",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_sw","_ib_cong_log_event_sw_t",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_log_event_sw","__ib_cong_log_event_sw",0);
+	 SWIG_RegisterMapping("__ibcc_tbl_entry","_ib_cc_tbl_entry_t",0);
+	 SWIG_RegisterMapping("__ibcc_tbl_entry","_struct__ibcc_tbl_entry",0);
+	 SWIG_RegisterMapping("_smPortInfo","_struct__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_smPortInfo","__ibsm_port_info",0);
+	 SWIG_RegisterMapping("_smNodeInfo","_struct__ibsm_node_info",0);
+	 SWIG_RegisterMapping("_smNodeInfo","__ibsm_node_info",0);
+	 SWIG_RegisterMapping("__ib_pkey_table","_sacPKeyTbl",0);
+	 SWIG_RegisterMapping("__ib_pkey_table","_struct__ib_pkey_table",0);
+	 SWIG_RegisterMapping("_signed_int","_int",0);
+	 SWIG_RegisterMapping("_struct__ibsm_guid_info","_smGuidInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_guid_info","__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_ccSWCongestionLog","_struct__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("_ccSWCongestionLog","__ib_sw_cong_log",0);
+	 SWIG_RegisterMapping("__ibsm_guid_info","_smGuidInfo",0);
+	 SWIG_RegisterMapping("__ibsm_guid_info","_struct__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_struct__ib_node_record_t","_sacNodeRec",0);
+	 SWIG_RegisterMapping("_struct__ib_node_record_t","__ib_node_record_t",0);
+	 SWIG_RegisterMapping("__ib_slvl_table_record","_sacSlVlRec",0);
+	 SWIG_RegisterMapping("__ib_slvl_table_record","_struct__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_ccClassPortInfo","_struct__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_ccClassPortInfo","__ibcc_class_port_info",0);
+	 SWIG_RegisterMapping("_ccCACongestionSetting","_struct__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_ccCACongestionSetting","__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_sacInformInfo","_struct__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_sacInformInfo","__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_struct__ibsm_switch_info","_smSwInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsm_switch_info","__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_setting","_ccCACongestionSetting",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_setting","_struct__ib_ca_cong_setting",0);
+	 SWIG_RegisterMapping("_unsigned_short","_short",0);
+	 SWIG_RegisterMapping("_smSwInfo","_struct__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("_smSwInfo","__ibsm_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ib_service_record","_sacServiceRec",0);
+	 SWIG_RegisterMapping("_struct__ib_service_record","__ib_service_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_notice","_smNotice",0);
+	 SWIG_RegisterMapping("_struct__ibsm_notice","__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ibsm_slvl_table","_smSlVlTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_slvl_table","__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("__ibsm_sm_info","_smSMInfo",0);
+	 SWIG_RegisterMapping("__ibsm_sm_info","_struct__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_smNodeDesc","_struct__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_smNodeDesc","__ibsm_node_desc",0);
+	 SWIG_RegisterMapping("_signed_short","_short",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table_record","_sacSlVlRec",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table_record","__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_smGuidInfo","_struct__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("_smGuidInfo","__ibsm_guid_info",0);
+	 SWIG_RegisterMapping("__ib_pkey_table_record","_sacPKeyRec",0);
+	 SWIG_RegisterMapping("__ib_pkey_table_record","_struct__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("__ib_sminfo_record","_sacSmRec",0);
+	 SWIG_RegisterMapping("__ib_sminfo_record","_struct__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_entry","_ib_ca_cong_entry_t",0);
+	 SWIG_RegisterMapping("__ib_ca_cong_entry","_struct__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_sacPortRec","_struct__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("_sacPortRec","__ib_portinfo_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_pkey_table","_smPkeyTable",0);
+	 SWIG_RegisterMapping("_struct__ibsm_pkey_table","__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("__ibsm_notice","_smNotice",0);
+	 SWIG_RegisterMapping("__ibsm_notice","_struct__ibsm_notice",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_key_info","_ccCongestionKeyInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_key_info","__ib_cong_key_info",0);
+	 SWIG_RegisterMapping("_unsigned_int","_int",0);
+	 SWIG_RegisterMapping("__ibsm_slvl_table","_smSlVlTable",0);
+	 SWIG_RegisterMapping("__ibsm_slvl_table","_struct__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("_short","_unsigned_short",0);
+	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("__ib_port_info","_sacPortInfo",0);
+	 SWIG_RegisterMapping("__ib_port_info","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_ccCongestionInfo","_struct__ib_cong_info",0);
+	 SWIG_RegisterMapping("_ccCongestionInfo","__ib_cong_info",0);
+	 SWIG_RegisterMapping("_sacSmRec","_struct__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("_sacSmRec","__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_service_record","_sacServiceRec",0);
+	 SWIG_RegisterMapping("__ib_service_record","_struct__ib_service_record",0);
+	 SWIG_RegisterMapping("_sacSwInfo","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_sacSwInfo","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_struct__ibsac_inform_info","_sacInformInfo",0);
+	 SWIG_RegisterMapping("_struct__ibsac_inform_info","__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_struct__ib_vl_arb_table_record","_sacVlArbRec",0);
+	 SWIG_RegisterMapping("_struct__ib_vl_arb_table_record","__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_ccSWPortCongestionSetting","_struct__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("_ccSWPortCongestionSetting","__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_time_stamp","_ccTimeStamp",0);
+	 SWIG_RegisterMapping("__ib_time_stamp","_struct__ib_time_stamp",0);
+	 SWIG_RegisterMapping("_sacMCMRec","_struct__ib_member_rec",0);
+	 SWIG_RegisterMapping("_sacMCMRec","__ib_member_rec",0);
+	 SWIG_RegisterMapping("_struct__ibis_opt","_ibis_opt_t",0);
+	 SWIG_RegisterMapping("_struct__ibis_opt","__ibis_opt",0);
+	 SWIG_RegisterMapping("__ib_sm_info","_sacSmInfo",0);
+	 SWIG_RegisterMapping("__ib_sm_info","_struct__ib_sm_info",0);
+	 SWIG_RegisterMapping("__ibsm_pkey_table","_smPkeyTable",0);
+	 SWIG_RegisterMapping("__ibsm_pkey_table","_struct__ibsm_pkey_table",0);
+	 SWIG_RegisterMapping("_int","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_signed_int",0);
+	 SWIG_RegisterMapping("_ib_ca_cong_entry_t","_struct__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_ib_ca_cong_entry_t","__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table_record","_sacPKeyRec",0);
+	 SWIG_RegisterMapping("_struct__ib_pkey_table_record","__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("__ib_node_info","_sacNodeInfo",0);
+	 SWIG_RegisterMapping("__ib_node_info","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_ccCACongestionLog","_struct__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_ccCACongestionLog","__ib_ca_cong_log",0);
+	 SWIG_RegisterMapping("_sacLFTRec","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_sacLFTRec","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_struct__ib_member_rec","_sacMCMRec",0);
+	 SWIG_RegisterMapping("_struct__ib_member_rec","__ib_member_rec",0);
+	 SWIG_RegisterMapping("__ib_cc_tbl","_ccTable",0);
+	 SWIG_RegisterMapping("__ib_cc_tbl","_struct__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_info","_ccCongestionInfo",0);
+	 SWIG_RegisterMapping("_struct__ib_cong_info","__ib_cong_info",0);
+	 SWIG_RegisterMapping("__ibsac_inform_info","_sacInformInfo",0);
+	 SWIG_RegisterMapping("__ibsac_inform_info","_struct__ibsac_inform_info",0);
+	 SWIG_RegisterMapping("_ccTable","_struct__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_ccTable","__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info_record","_sacSwRec",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info_record","__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_sacVlArbRec","_struct__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_sacVlArbRec","__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("_smSlVlTable","_struct__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("_smSlVlTable","__ibsm_slvl_table",0);
+	 SWIG_RegisterMapping("__ib_switch_info_record","_sacSwRec",0);
+	 SWIG_RegisterMapping("__ib_switch_info_record","_struct__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("__ib_vl_arb_table_record","_sacVlArbRec",0);
+	 SWIG_RegisterMapping("__ib_vl_arb_table_record","_struct__ib_vl_arb_table_record",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting_element","_ib_sw_port_cong_setting_element_t",0);
+	 SWIG_RegisterMapping("__ib_sw_port_cong_setting_element","_struct__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting","_ccSWPortCongestionSetting",0);
+	 SWIG_RegisterMapping("_struct__ib_sw_port_cong_setting","__ib_sw_port_cong_setting",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_sacLFTRec",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_smSMInfo","_struct__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_smSMInfo","__ibsm_sm_info",0);
+	 SWIG_RegisterMapping("_sacSlVlRec","_struct__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_sacSlVlRec","__ib_slvl_table_record",0);
+	 SWIG_RegisterMapping("_smLftBlock","_struct__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_smLftBlock","__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_smMftBlock","_struct__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_smMftBlock","__ibsm_mft_block",0);
+	 SWIG_RegisterMapping("_sacSwRec","_struct__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_sacSwRec","__ib_switch_info_record",0);
+	 SWIG_RegisterMapping("_struct__ib_cc_tbl","_ccTable",0);
+	 SWIG_RegisterMapping("_struct__ib_cc_tbl","__ib_cc_tbl",0);
+	 SWIG_RegisterMapping("_struct__ib_link_record","_sacLinkRec",0);
+	 SWIG_RegisterMapping("_struct__ib_link_record","__ib_link_record",0);
+	 SWIG_RegisterMapping("_struct__ibsm_lft_block","_smLftBlock",0);
+	 SWIG_RegisterMapping("_struct__ibsm_lft_block","__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("_ccNotice","_struct__ibcc_notice",0);
+	 SWIG_RegisterMapping("_ccNotice","__ibcc_notice",0);
+	 SWIG_RegisterMapping("_ib_sw_port_cong_setting_element_t","_struct__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_ib_sw_port_cong_setting_element_t","__ib_sw_port_cong_setting_element",0);
+	 SWIG_RegisterMapping("_struct__ib_sminfo_record","_sacSmRec",0);
+	 SWIG_RegisterMapping("_struct__ib_sminfo_record","__ib_sminfo_record",0);
+	 SWIG_RegisterMapping("__ib_link_record","_sacLinkRec",0);
+	 SWIG_RegisterMapping("__ib_link_record","_struct__ib_link_record",0);
+	 SWIG_RegisterMapping("__ibsm_lft_block","_smLftBlock",0);
+	 SWIG_RegisterMapping("__ibsm_lft_block","_struct__ibsm_lft_block",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_ca","_ib_cong_log_event_ca_t",0);
+	 SWIG_RegisterMapping("__ib_cong_log_event_ca","_struct__ib_cong_log_event_ca",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_entry","_ib_ca_cong_entry_t",0);
+	 SWIG_RegisterMapping("_struct__ib_ca_cong_entry","__ib_ca_cong_entry",0);
+	 SWIG_RegisterMapping("_sacPKeyRec","_struct__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("_sacPKeyRec","__ib_pkey_table_record",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table","_sacSlVlTbl",0);
+	 SWIG_RegisterMapping("_struct__ib_slvl_table","__ib_slvl_table",0);
+	 
+   if (Tcl_PkgRequire(interp,"tclreadline",0,0) != NULL) {
+     Tcl_Eval(interp,
+				  "if {$tcl_interactive} {namespace eval tclreadline {proc prompt1 {} {return \"ibis >\"} }; ::tclreadline::Loop ibis.log }"
+     );
+   }
+return TCL_OK;
+}
diff --git a/ibis/src/ibpm.c b/ibis/src/ibpm.c
new file mode 100644
index 0000000..977a1af
--- /dev/null
+++ b/ibis/src/ibpm.c
@@ -0,0 +1,448 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibpm_t.
+ * This object represents the Subnet Performance Monitor object.
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.5 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibpm.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+/**********************************************************************
+ **********************************************************************/
+
+ibpm_t*
+ibpm_construct()
+{
+  ibpm_t* p_ibpm;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibpm = malloc(sizeof(ibpm_t));
+  if (p_ibpm == NULL)
+  {
+    goto Exit;
+  }
+
+  memset (p_ibpm, 0, sizeof(ibpm_t));
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return(p_ibpm);
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibpm_destroy(
+  IN ibpm_t* const p_ibpm )
+{
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibpm->state = IBPM_STATE_INIT;
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_init(
+  IN ibpm_t* const p_ibpm )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+  p_ibpm->state = IBPM_STATE_INIT;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibpm_bind(
+  IN ibpm_t* const p_ibpm )
+{
+  ib_api_status_t status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_PERF, 1,
+    &p_ibpm->h_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    PERF_CLASS ,
+    PERF_PORTS_COUNTER ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibpm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    PERF_CLASS ,
+    PERF_PORTS_COUNTER_EXTENDED ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibpm);
+
+  Exit :
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+static void
+__ibpm_prep_port_counter_mad(
+  IN ibpm_t*       p_ibpm,
+  IN uint16_t      lid,
+  IN uint8_t       method,
+  IN uint8_t       port_select,
+  IN uint16_t      counter_select,
+  IN uint16_t      attr,
+  OUT osm_madw_t **pp_madw
+  )
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "__ibpm_prep_port_counter_mad: "
+          " Sending method:0x%X lid:0x%04X port:0x%X counters:0x%X\n",
+          method, lid, port_select, counter_select);
+
+
+  mad_addr.dest_lid = cl_hton16(lid);
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+  mad_addr.addr_type.gsi.remote_qp=cl_hton32(1);
+  mad_addr.addr_type.gsi.remote_qkey = cl_hton32(0x80010000);
+  mad_addr.addr_type.gsi.pkey_ix = 0;
+  mad_addr.addr_type.gsi.service_level = 0;
+  mad_addr.addr_type.gsi.global_route = FALSE;
+
+  p_madw = osm_mad_pool_get(
+    &(IbisObj.mad_pool), p_ibpm->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+  *pp_madw = p_madw;
+  p_madw->resp_expected = TRUE;
+
+  ((ib_mad_t *)p_madw->p_mad)->method = method;
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = PERF_CLASS;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attr);
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(0);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+
+  ((ib_pm_port_counter_t *)p_madw->p_mad)->port_select = port_select;
+  ((ib_pm_port_counter_t *)p_madw->p_mad)->counter_select = cl_hton16(counter_select);
+
+  /* NOTE: we do not send the mads - just prepare them */
+  OSM_LOG_EXIT(&(IbisObj.log));
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_get_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint16_t lid,
+  IN uint8_t port_select,
+  OUT ib_pm_port_counter_t* p_ibpm_port_counter_mad)
+{
+
+  osm_madw_t          *p_madw_arr[1];
+  ib_api_status_t      status;
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  /* prepare the mad */
+  __ibpm_prep_port_counter_mad(
+    p_ibpm,
+    lid,
+    VENDOR_GET,
+    port_select,
+    0xffff, /* counter select */
+    PERF_PORTS_COUNTER,
+    &p_madw_arr[0]
+    );
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibpm->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_pm_port_counter_t),
+    (uint8_t*)p_ibpm_port_counter_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_get_multi_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[],
+  OUT ib_pm_port_counter_t *p_ibpm_port_counter_mad_list)
+{
+
+  osm_madw_t           *p_madw_arr[IBPM_MULTI_MAX];
+  unsigned int          i;
+  ib_api_status_t       status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBPM_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  /* prepare the mads */
+  for (i = 0; i < num; i++)
+  {
+    __ibpm_prep_port_counter_mad(
+      p_ibpm,
+      lid_list[i],
+      VENDOR_GET,
+      port_select_list[i],
+      0xffff, /* counter select */
+      PERF_PORTS_COUNTER,
+      &p_madw_arr[i]
+      );
+  }
+
+  /* send */
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibpm->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_pm_port_counter_t),
+    (uint8_t*)p_ibpm_port_counter_mad_list);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_get_multi_counters_extended(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[],
+  OUT ib_pm_port_counter_extended_t *p_ibpm_port_counter_mad_list)
+{
+
+  osm_madw_t           *p_madw_arr[IBPM_MULTI_MAX];
+  unsigned int          i;
+  ib_api_status_t       status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBPM_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  /* prepare the mads */
+  for (i = 0; i < num; i++)
+  {
+    __ibpm_prep_port_counter_mad(
+      p_ibpm,
+      lid_list[i],
+      VENDOR_GET,
+      port_select_list[i],
+      0xffff, /* counter select */
+      PERF_PORTS_COUNTER_EXTENDED,
+      &p_madw_arr[i]
+      );
+  }
+
+  /* send */
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibpm->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_pm_port_counter_t),
+    (uint8_t*)p_ibpm_port_counter_mad_list);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_clr_all_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint16_t lid,
+  IN uint8_t port_select)
+{
+
+  ib_pm_port_counter_t res_mad;
+  osm_madw_t          *p_madw_arr[1];
+  ib_api_status_t      status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  /* prepare the mad */
+  __ibpm_prep_port_counter_mad(
+    p_ibpm,
+    lid,
+    VENDOR_SET,
+    port_select,
+    0xffff, /* counter select */
+    PERF_PORTS_COUNTER,
+    &p_madw_arr[0]
+    );
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibpm->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_pm_port_counter_t),
+    (uint8_t*)&res_mad);
+
+  if (status == IB_SUCCESS)
+    status = ibis_get_mad_status((ib_mad_t*)&res_mad);
+
+  if (! ((ib_mad_t *)&res_mad)->trans_id)
+    status = IB_ERROR;
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibpm_clr_all_multi_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[])
+{
+
+  ib_pm_port_counter_t res_mads[IBPM_MULTI_MAX];
+  osm_madw_t          *p_madw_arr[IBPM_MULTI_MAX];
+  ib_api_status_t      status;
+  uint8_t              i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBPM_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  /* prepare the mads */
+  for (i = 0; i < num; i++)
+  {
+    __ibpm_prep_port_counter_mad(
+      p_ibpm,
+      lid_list[i],
+      VENDOR_SET,
+      port_select_list[i],
+      0xffff, /* counter select */
+      PERF_PORTS_COUNTER,
+      &p_madw_arr[i]
+      );
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibpm->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_pm_port_counter_t),
+    (uint8_t*)res_mads);
+
+  /* check some commands passed in success */
+  if (status == IB_SUCCESS)
+  {
+    for (i = 0; i < num; i++)
+    {
+      status = ibis_get_mad_status((ib_mad_t*)&res_mads[i]);
+      if (status == IB_SUCCESS)
+      {
+        break;
+      }
+    }
+  }
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+
+}
diff --git a/ibis/src/ibpm.h b/ibis/src/ibpm.h
new file mode 100644
index 0000000..527cf0f
--- /dev/null
+++ b/ibis/src/ibpm.h
@@ -0,0 +1,399 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Implementation of ibpm_t.
+ *	This object represents the Subnet Performance Monitor object.
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.3 $
+ */
+
+#ifndef _IBPM_H_
+#define _IBPM_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+#include "ibpm_base.h"
+
+
+/****s* IBIS: ibpm/ibpm_t
+ * NAME  ibpm_t
+ *
+ *
+ * DESCRIPTION
+ *       ibpm structure.
+ *
+ * SYNOPSIS
+ */
+typedef struct _ibpm
+{
+  ibpm_state_t         state;
+  osm_bind_handle_t    h_bind;
+} ibpm_t;
+/*
+ * FIELDS
+ *
+ *       state
+ *            The ibpm state: INIT, READ or BUSY
+ *
+ * SEE ALSO
+ *
+ *********/
+
+
+/****f* IBIS: ibpm/ibpm_construct
+ * NAME
+ *       ibpm_construct
+ *
+ * DESCRIPTION
+ *      Allocation of ibpm_t struct
+ *
+ * SYNOPSIS
+ */
+
+ibpm_t*
+ibpm_construct(void);
+
+/*
+ * PARAMETERS
+ *
+ *
+ * RETURN VALUE
+ *       Return a pointer to an ibpm struct. Null if fails to do so.
+ *
+ * NOTES
+ *       First step of the creation of ibpm_t
+ *
+ * SEE ALSO
+ *       ibpm_destroy ibpm_init
+ *********/
+
+/****s* IBIS: ibpm/ibpm_destroy
+ * NAME
+ *       ibpm_destroy
+ *
+ * DESCRIPTION
+ *      release of ibpm_t struct
+ *
+ * SYNOPSIS
+ */
+
+void
+ibpm_destroy(
+  IN ibpm_t* const p_ibpm );
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct that is about to be released
+ *
+ * RETURN VALUE
+ *
+ * NOTES
+ *       Final step of the releasing of ibpm_t
+ *
+ * SEE ALSO
+ *       ibpm_construct
+ *********/
+
+/****f* IBIS: ibpm/ibpm_init
+ * NAME
+ *       ibpm_init
+ *
+ * DESCRIPTION
+ *      Initialization of an ibpm_t struct
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_init(
+  IN ibpm_t* const p_ibpm );
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct that is about to be initialized
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_construct
+ * *********/
+
+
+/****f* IBIS: ibpm/ibpm_bind
+ * NAME
+ *       ibpm_bind
+ *
+ * DESCRIPTION
+ *      Binding the ibpm object to a lower level.
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_bind(
+  IN ibpm_t* const p_ibpm );
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct that is about to be binded
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_construct
+ *********/
+
+/****f* IBIS: ibpm/ibpm_get_counters
+ * NAME
+ *     ibpm_get_counters
+ *
+ * DESCRIPTION
+ *      Send a PM MAD (port counters) and wait for the reply.
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_get_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint16_t lid,
+  IN uint8_t port_select,
+  OUT ib_pm_port_counter_t *p_pm_port_counter_mad);
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct.
+ *
+ *       lid
+ *               The Destination lid of the MAD.
+ *
+ *       port_select
+ *               The Destination port of the MAD.
+ *
+ *       p_pm_port_counter_mad
+ *               A pointer to a pm port counter MAD that was received.
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_clr_all_counters
+ *********/
+
+
+/****f* IBIS: ibpm/ibpm_get_multi_counters
+ * NAME
+ *     ibpm_get_multi_counters
+ *
+ * DESCRIPTION
+ *      Sends a number of PM MADs (port counters) and wait for the reply.
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_get_multi_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[],
+  OUT ib_pm_port_counter_t *p_pm_port_counter_mad_list);
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct.
+ *
+ *       num
+ *              The number of requested MADs.
+ *
+ *       lid_list
+ *               List of destination lids of the MADs.
+ *
+ *       port_select_list
+ *               List of destination ports of the MADs.
+ *
+ *       p_pm_port_counter_mad_list
+ *               A pointer to a list of pm port counter MADs that was received.
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_get_counters
+ *********/
+
+/****f* IBIS: ibpm/ibpm_get_multi_counters_extended
+ * NAME
+ *     ibpm_get_multi_counters_extended
+ *
+ * DESCRIPTION
+ *      Sends a number of PM MADs (port counters) and wait for the reply.
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_get_multi_counters_extended(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[],
+  OUT ib_pm_port_counter_extended_t *p_pm_port_counter_mad_list);
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct.
+ *
+ *       num
+ *              The number of requested MADs.
+ *
+ *       lid_list
+ *               List of destination lids of the MADs.
+ *
+ *       port_select_list
+ *               List of destination ports of the MADs.
+ *
+ *       p_pm_port_counter_mad_list
+ *               A pointer to a list of pm port counter MADs that was received.
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_get_counters
+ *********/
+
+/****f* IBIS: ibpm/ibpm_clr_all_counters
+ * NAME
+ *     ibpm_clr_all_counters
+ *
+ * DESCRIPTION
+ *      Send a PM MAD (port counters) that resets all the counters..
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_clr_all_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint16_t lid,
+  IN uint8_t port_select);
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct.
+ *
+ *       lid
+ *               The Destination lid of the MAD.
+ *
+ *       port_select
+ *               The Destination port of the MAD.
+ *
+
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_get_counters
+ *********/
+
+/****f* IBIS: ibpm/ibpm_clr_all_multi_counters
+ * NAME
+ *     ibpm_clr_all_multi_counters
+ *
+ * DESCRIPTION
+ *      Send a number of PM MADs (port counters) that resets all the counters..
+ *
+ * SYNOPSIS
+ */
+ib_api_status_t
+ibpm_clr_all_multi_counters(
+  IN ibpm_t* const p_ibpm,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_select_list[]);
+
+/*
+ * PARAMETERS
+ *       p_ibpm
+ *               A pointer to the ibpm_t struct.
+ *
+ *       num
+ *              The number of requested MADs.
+ *
+ *       lid_list
+ *               List of destination lids of the MADs.
+ *
+ *       port_select_list
+ *               List of destination ports of the MADs.
+ *
+ *
+ * RETURN VALUE
+ *       The status of the function.
+ *
+ * NOTES
+ *
+ * SEE ALSO
+ *       ibpm_get_multi_counters
+ *********/
+#endif /* _IBPM_H_ */
diff --git a/ibis/src/ibpm.i b/ibis/src/ibpm.i
new file mode 100644
index 0000000..cdb5d0f
--- /dev/null
+++ b/ibis/src/ibpm.i
@@ -0,0 +1,342 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include <inttypes.h>
+#include "ibpm.h"
+%}
+
+%{
+
+static ibpm_t *p_ibpm_global;
+
+int
+ibpm_num_of_multi_max(void)
+{
+	return (IBPM_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   port counters.
+*/
+char *
+ibpm_get_port_counters_str(
+  uint8_t num,
+  ib_pm_port_counter_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u } {counter_select %u } {symbol_error_counter %u } {link_error_recovery_counter %u } {link_down_counter %u } {port_rcv_errors %u } {port_rcv_remote_physical_errors %u } {port_rcv_switch_relay_errors %u } {port_xmit_discard %u } {port_xmit_constraint_errors %u } {port_rcv_constraint_errors %u } {local_link_integrity_errors %u } {excesive_buffer_errors %u } {vl15_dropped %u } {port_xmit_data %u } {port_rcv_data %u } {port_xmit_pkts %u } {port_rcv_pkts %u }} ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh16(p_counters[i].symbol_error_counter),
+              p_counters[i].link_error_recovery_counter,
+              p_counters[i].link_down_counter,
+              cl_ntoh16(p_counters[i].port_rcv_errors),
+              cl_ntoh16(p_counters[i].port_rcv_remote_physical_errors),
+              cl_ntoh16(p_counters[i].port_rcv_switch_relay_errors),
+              cl_ntoh16(p_counters[i].port_xmit_discard),
+              p_counters[i].port_xmit_constraint_errors,
+              p_counters[i].port_rcv_constraint_errors,
+              (p_counters[i].lli_errors_exc_buf_errors & 0xf0) >> 4,
+              (p_counters[i].lli_errors_exc_buf_errors & 0x0f),
+              cl_ntoh16(p_counters[i].vl15_dropped),
+              cl_ntoh32(p_counters[i].port_xmit_data),
+              cl_ntoh32(p_counters[i].port_rcv_data),
+              cl_ntoh32(p_counters[i].port_xmit_pkts),
+              cl_ntoh32(p_counters[i].port_rcv_pkts));
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+/*
+   this function returns the string corresponding to the
+   extended port counters.
+*/
+char *
+ibpm_get_port_counters_extended_str(
+  uint8_t num,
+  ib_pm_port_counter_extended_t *p_counters)
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  static int i;
+
+  buff[0] = '\0';
+  for (i=0;i<num;i++) {
+    /* format the string */
+    if (p_counters[i].mad_header.method == VENDOR_GET_RESP) {
+      sprintf(buff,"{{port_select %u} {counter_select %u} {port_xmit_data %"PRIu64"} {port_rcv_data %"PRIu64"} {port_xmit_pkts %"PRIu64"} {port_rcv_pkts %"PRIu64"} {port_ucast_xmit_pkts %"PRIu64"} {port_ucast_rcv_pkts %"PRIu64"} {port_mcast_xmit_pkts %"PRIu64"} {port_mcast_rcv_pkts %"PRIu64"} } ",
+              p_counters[i].port_select,
+              cl_ntoh16(p_counters[i].counter_select),
+              cl_ntoh64(p_counters[i].port_xmit_data),
+              cl_ntoh64(p_counters[i].port_rcv_data),
+              cl_ntoh64(p_counters[i].port_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_ucast_rcv_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_xmit_pkts),
+              cl_ntoh64(p_counters[i].port_mcast_rcv_pkts)
+              );
+    } else {
+      sprintf(buff,"{TARGET_ERROR : Fail to obtain port counters} ");
+    }
+
+    if (p_res_str) {
+      p_res_str = (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1);
+    } else {
+      p_res_str = (char *)malloc(strlen(buff) + 1);
+      p_res_str[0] = '\0';
+    }
+    strcat(p_res_str, buff);
+  }
+  return(p_res_str);
+}
+
+int
+ibpm_get_counters_global(
+  uint16_t lid,
+  uint8_t port_select,
+  char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t single_counters_set;
+  *pp_new_counters_str = NULL;
+  status = (int) ibpm_get_counters(p_ibpm_global,lid,port_select,&single_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(1, &single_counters_set);
+  }
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_t *p_multi_counters_set;
+  p_multi_counters_set = (ib_pm_port_counter_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_get_multi_counters_extended_global(
+   uint8_t num,
+   uint16_t lid_list[],
+   uint8_t port_select_list[],
+   char **pp_new_counters_str)
+{
+  int status;
+  ib_pm_port_counter_extended_t *p_multi_counters_set;
+  p_multi_counters_set =
+    (ib_pm_port_counter_extended_t *)malloc(sizeof(ib_pm_port_counter_t)*num);
+  *pp_new_counters_str = NULL;
+
+  status = (int) ibpm_get_multi_counters_extended(
+    p_ibpm_global,num,lid_list,port_select_list,p_multi_counters_set);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to obtain multiple port counters");
+  } else {
+    *pp_new_counters_str = ibpm_get_port_counters_extended_str(num, p_multi_counters_set);
+  }
+  free(p_multi_counters_set);
+  return(status);
+}
+
+int
+ibpm_clr_all_counters_global(
+  uint16_t lid,
+  uint8_t port_select)
+{
+  int status;
+  status = (int) ibpm_clr_all_counters(p_ibpm_global,lid,port_select);
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear port counters");
+  }
+  return(status);
+}
+
+int
+ibpm_clr_all_multi_counters_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_select_list[])
+{
+  int status;
+  status = (int) ibpm_clr_all_multi_counters(p_ibpm_global,num,lid_list,port_select_list);
+
+  if (status) {
+    ibis_set_tcl_error("ERROR : Fail to clear multiple port counters");
+  }
+  return(status);
+}
+
+%}
+
+//
+// STANDARD IB TYPE MAPS:
+//
+
+%{
+#define  uint16_pm_arr_t  uint16_t
+%}
+%typemap(tcl8,in) uint16_pm_arr_t *(uint16_t temp[IBPM_MULTI_MAX]) {
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj($source,NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBPM_MULTI_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp[i] = atoi(str);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    $target = temp;
+    free(loc_buf);
+}
+
+%{
+#define  uint8_pm_arr_t  uint8_t
+%}
+%typemap(tcl8,in) uint8_pm_arr_t *(uint8_t temp[IBPM_MULTI_MAX]) {
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj($source,NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBPM_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+
+  $target = temp;
+  free(loc_buf);
+
+}
+
+//
+// IBPM MAD TYPE MAPS
+//
+
+%section "IBPM Functions",pre
+/* IBPM UI functions */
+%text %{
+This section provide the details about the functions IBPM exposes.
+They all return 0 on succes.
+%}
+
+%name(pmMultiMaxGet) ibpm_num_of_multi_max();
+
+%typemap (tcl8, ignore) char **p_out_str (char *p_c) {
+  $target = &p_c;
+}
+
+%typemap (tcl8, argout) char **p_out_str {
+  Tcl_SetStringObj($target,*$source,strlen(*$source));
+  if (*$source) free(*$source);
+}
+
+%apply char **p_out_str {char **p_counters_str};
+
+%name(pmGetPortCounters)
+     int ibpm_get_counters_global(uint16_t lid,uint8_t port_select, char **p_counters_str);
+
+%name(pmGetPortCountersMulti)
+     int ibpm_get_multi_counters_global(uint8_t num, uint16_pm_arr_t lid_list[],uint8_pm_arr_t port_select_list[], char **p_counters_str);
+
+%name(pmGetExtPortCountersMulti)
+     int ibpm_get_multi_counters_extended_global(uint8_t num, uint16_pm_arr_t lid_list[],uint8_pm_arr_t port_select_list[], char **p_counters_str);
+
+%name(pmClrAllCounters) int ibpm_clr_all_counters_global(uint16_t lid,uint8_t port_select);
+
+%name(pmClrAllCountersMulti) int ibpm_clr_all_multi_counters_global( uint8_t num,uint16_pm_arr_t lid_list[],uint8_pm_arr_t port_select_list[]);
+
diff --git a/ibis/src/ibpm_base.h b/ibis/src/ibpm_base.h
new file mode 100644
index 0000000..170299c
--- /dev/null
+++ b/ibis/src/ibpm_base.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef _IBPM_BASE_H_
+#define _IBPM_BASE_H_
+
+#include <endian.h>
+
+#define PERF_CLASS      0x04
+#define PERF_CLASS_PORT_INFO 0x01
+#define PERF_PORT_SAMPLES_CONTROL 0x10
+#define PERF_PORT_SAMPLES_RESULTS 0x11
+#define PERF_PORTS_COUNTER 0x12
+#define PERF_PORTS_COUNTER_EXTENDED 0x1D
+#define VENDOR_GET      0x01
+#define VENDOR_SET      0x02
+#define VENDOR_GET_RESP 0x81
+#define MAD_PAYLOAD_SIZE 256
+#define IBPM_INITIAL_TID_VALUE 0x4444
+#define IBPM_MULTI_MAX 64
+
+typedef enum _ibpm_state
+{
+  IBPM_STATE_INIT,
+  IBPM_STATE_READY,
+  IBPM_STATE_BUSY,
+} ibpm_state_t;
+
+#include <complib/cl_packon.h>
+typedef struct _ib_pm_port_counter
+{
+  ib_mad_t mad_header;
+  ib_net32_t reserved0[10];
+  uint8_t reserved1;
+  uint8_t port_select;
+  ib_net16_t counter_select;
+  ib_net16_t symbol_error_counter;
+  uint8_t link_error_recovery_counter;
+  uint8_t link_down_counter;
+  ib_net16_t port_rcv_errors;
+  ib_net16_t port_rcv_remote_physical_errors;
+  ib_net16_t port_rcv_switch_relay_errors;
+  ib_net16_t port_xmit_discard;
+  /* uint4_t excessive_buffer_overrun_errors;
+     uint4_t local_link_integrity_errors; */
+  uint8_t port_xmit_constraint_errors;
+  uint8_t port_rcv_constraint_errors;
+  uint8_t reserved2;
+  uint8_t lli_errors_exc_buf_errors;
+  ib_net16_t reserved3;
+  ib_net16_t vl15_dropped;
+  ib_net32_t port_xmit_data;
+  ib_net32_t port_rcv_data;
+  ib_net32_t port_xmit_pkts;
+  ib_net32_t port_rcv_pkts;
+  ib_net32_t reserved5[38];
+
+}  PACK_SUFFIX ib_pm_port_counter_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_pm_port_counter_extended
+{
+  ib_mad_t mad_header;
+  ib_net32_t reserved0[10];
+  uint8_t reserved1;
+  uint8_t port_select;
+  ib_net16_t counter_select;
+  uint32_t reserved2;
+  ib_net64_t port_xmit_data;
+  ib_net64_t port_rcv_data;
+  ib_net64_t port_xmit_pkts;
+  ib_net64_t port_rcv_pkts;
+  ib_net64_t port_ucast_xmit_pkts;
+  ib_net64_t port_ucast_rcv_pkts;
+  ib_net64_t port_mcast_xmit_pkts;
+  ib_net64_t port_mcast_rcv_pkts;
+}  PACK_SUFFIX ib_pm_port_counter_extended_t;
+#include <complib/cl_packoff.h>
+
+
+#endif /* _IBPM_BASE_H_ */
diff --git a/ibis/src/ibsac.c b/ibis/src/ibsac.c
new file mode 100644
index 0000000..2c60139
--- /dev/null
+++ b/ibis/src/ibsac.c
@@ -0,0 +1,416 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <string.h>
+#include "ibis.h"
+#include <opensm/osm_helper.h>
+#ifdef OSM_BUILD_OPENIB
+#include <vendor/osm_vendor_sa_api.h>
+#else
+#include <opensm/osm_vendor_sa_api.h>
+#endif
+
+#define IB_MAD_STATUS_CLASS_MASK       (CL_HTON16(0xFF00))
+
+static const char ib_mad_status_str_busy[] = "IB_MAD_STATUS_BUSY";
+static const char ib_mad_status_str_redirect[] = "IB_MAD_STATUS_REDIRECT";
+static const char ib_mad_status_str_unsup_class_ver[] =
+"IB_MAD_STATUS_UNSUP_CLASS_VER";
+static const char ib_mad_status_str_unsup_method[] =
+"IB_MAD_STATUS_UNSUP_METHOD";
+static const char ib_mad_status_str_unsup_method_attr[] =
+"IB_MAD_STATUS_UNSUP_METHOD_ATTR";
+static const char ib_mad_status_str_invalid_field[] =
+"IB_MAD_STATUS_INVALID_FIELD";
+static const char ib_mad_status_str_no_resources[] =
+"IB_SA_MAD_STATUS_NO_RESOURCES";
+static const char ib_mad_status_str_req_invalid[] =
+"IB_SA_MAD_STATUS_REQ_INVALID";
+static const char ib_mad_status_str_no_records[] =
+"IB_SA_MAD_STATUS_NO_RECORDS";
+static const char ib_mad_status_str_too_many_records[] =
+"IB_SA_MAD_STATUS_TOO_MANY_RECORDS";
+static const char ib_mad_status_str_invalid_gid[] =
+"IB_SA_MAD_STATUS_INVALID_GID";
+static const char ib_mad_status_str_insuf_comps[] =
+"IB_SA_MAD_STATUS_INSUF_COMPS";
+static const char generic_or_str[] = " | ";
+
+/**********************************************************************
+ **********************************************************************/
+/* Global that is initialized to the bind handle of the SA client */
+osm_bind_handle_t IbSacBindHndl;
+
+int
+ibsac_bind(
+  IN ibis_t *   const p_ibis
+  )
+{
+  IbSacBindHndl =
+    osmv_bind_sa(p_ibis->p_vendor,
+                 &p_ibis->mad_pool,
+                 cl_hton64(p_ibis->port_guid));
+
+  return (IbSacBindHndl == OSM_BIND_INVALID_HANDLE);
+}
+
+/**********************************************************************
+ **********************************************************************/
+const char *
+ib_get_mad_status_str( IN const ib_mad_t * const p_mad )
+{
+  static char line[512];
+  uint32_t offset = 0;
+  ib_net16_t status;
+  boolean_t first = TRUE;
+
+  line[offset] = '\0';
+
+  status = ( ib_net16_t ) ( p_mad->status & IB_SMP_STATUS_MASK );
+
+  if( status == 0 )
+  {
+    strcat( &line[offset], "IB_SUCCESS" );
+    return ( line );
+  }
+
+  if( status & IB_MAD_STATUS_BUSY )
+  {
+    strcat( &line[offset], ib_mad_status_str_busy );
+    offset += sizeof( ib_mad_status_str_busy );
+  }
+  if( status & IB_MAD_STATUS_REDIRECT )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_redirect );
+    offset += sizeof( ib_mad_status_str_redirect ) - 1;
+  }
+  if( status & IB_MAD_STATUS_UNSUP_CLASS_VER )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_unsup_class_ver );
+    offset += sizeof( ib_mad_status_str_unsup_class_ver ) - 1;
+  }
+  if( status & IB_MAD_STATUS_UNSUP_METHOD )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_unsup_method );
+    offset += sizeof( ib_mad_status_str_unsup_method ) - 1;
+  }
+  if( status & IB_MAD_STATUS_UNSUP_METHOD_ATTR )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_unsup_method_attr );
+    offset += sizeof( ib_mad_status_str_unsup_method_attr ) - 1;
+  }
+  if( status & IB_MAD_STATUS_INVALID_FIELD )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_invalid_field );
+    offset += sizeof( ib_mad_status_str_invalid_field ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) ==
+      IB_SA_MAD_STATUS_NO_RESOURCES )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_no_resources );
+    offset += sizeof( ib_mad_status_str_no_resources ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) ==
+      IB_SA_MAD_STATUS_REQ_INVALID )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_req_invalid );
+    offset += sizeof( ib_mad_status_str_req_invalid ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) == IB_SA_MAD_STATUS_NO_RECORDS )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_no_records );
+    offset += sizeof( ib_mad_status_str_no_records ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) ==
+      IB_SA_MAD_STATUS_TOO_MANY_RECORDS )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_too_many_records );
+    offset += sizeof( ib_mad_status_str_too_many_records ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) ==
+      IB_SA_MAD_STATUS_INVALID_GID )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_invalid_gid );
+    offset += sizeof( ib_mad_status_str_invalid_gid ) - 1;
+  }
+  if( ( status & IB_MAD_STATUS_CLASS_MASK ) ==
+      IB_SA_MAD_STATUS_INSUF_COMPS )
+  {
+    if( !first )
+    {
+      strcat( &line[offset], generic_or_str );
+      offset += sizeof( generic_or_str ) - 1;
+    }
+    first = FALSE;
+    strcat( &line[offset], ib_mad_status_str_insuf_comps );
+    offset += sizeof( ib_mad_status_str_insuf_comps ) - 1;
+  }
+
+  return ( line );
+}
+
+typedef struct _ibsac_req_context
+{
+  ibis_t *p_ibis;
+  osmv_query_res_t result;
+} ibsac_req_context_t;
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibsac_query_res_cb( IN osmv_query_res_t * p_rec )
+{
+  ibsac_req_context_t *const p_ctxt =
+    ( ibsac_req_context_t * ) p_rec->query_context;
+  ibis_t *const p_ibis = p_ctxt->p_ibis;
+
+  OSM_LOG_ENTER(&p_ibis->log);
+
+  p_ctxt->result = *p_rec;
+
+  if( p_rec->status != IB_SUCCESS )
+  {
+    if ( p_rec->status != IB_INVALID_PARAMETER )
+    {
+      osm_log( &p_ibis->log, OSM_LOG_ERROR,
+               "ibsac_query_res_cb: ERR 0003: "
+               "Error on query (%s).\n",
+               ib_get_err_str(p_rec->status) );
+    }
+  }
+
+  OSM_LOG_EXIT( &p_ibis->log );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibsac_query( IN ibis_t *   const p_ibis,
+             IN ib_net16_t const attr_id,
+             IN void *     const p_attr,
+             IN ib_net64_t const comp_mask,
+             IN uint8_t    const method,
+             OUT uint32_t       *result_count,
+             OUT osm_madw_t    **pp_result_madw)
+{
+  ib_api_status_t status = IB_SUCCESS;
+  osmv_user_query_t user;
+  osmv_query_req_t req;
+  ibsac_req_context_t context;
+  ibsac_req_context_t *p_context = &context;
+
+  OSM_LOG_ENTER(&p_ibis->log);
+
+  if( osm_log_is_active( &p_ibis->log, OSM_LOG_DEBUG ) )
+  {
+    osm_log( &p_ibis->log, OSM_LOG_DEBUG,
+             "ibsac_query: "
+             "Getting matching %s records.\n",
+             ib_get_sa_attr_str( attr_id ) );
+  }
+
+  /*
+   * Do a blocking query for the requested
+   * The result is returned in the result field of the caller's
+   * context structure.
+   *
+   * The query structures are locals.
+   */
+  memset( &req, 0, sizeof( req ) );
+  memset( &user, 0, sizeof( user ) );
+
+  p_context->p_ibis = p_ibis;
+  user.method = method;
+  user.attr_id = attr_id;
+  user.comp_mask = comp_mask;
+  user.attr_mod = 0;
+  user.p_attr = p_attr;
+  switch (attr_id) {
+  case IB_MAD_ATTR_NODE_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof(ib_node_record_t) );
+    break;
+  case IB_MAD_ATTR_PORTINFO_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof(ib_portinfo_record_t) );
+    break;
+  case IB_MAD_ATTR_SERVICE_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_service_record_t ) );
+    break;
+  case IB_MAD_ATTR_LINK_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_link_record_t ) );
+    break;
+  case IB_MAD_ATTR_LFT_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_lft_record_t ) );
+    break;
+  case IB_MAD_ATTR_MCMEMBER_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_member_rec_t ) );
+    break;
+  case IB_MAD_ATTR_SMINFO_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_sminfo_record_t ) );
+    break;
+  case IB_MAD_ATTR_PATH_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_path_rec_t ) );
+    break;
+  case IB_MAD_ATTR_VLARB_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_vl_arb_table_record_t ) );
+    break;
+  case IB_MAD_ATTR_SLVL_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_slvl_table_record_t ) );
+    break;
+  case IB_MAD_ATTR_PKEY_TBL_RECORD:
+    user.attr_offset = ib_get_attr_offset( sizeof( ib_pkey_table_record_t ) );
+    break;
+  case IB_MAD_ATTR_TRACE_RECORD:
+  case IB_MAD_ATTR_MULTIPATH_RECORD:
+  case IB_MAD_ATTR_SVC_ASSOCIATION_RECORD:
+    osm_log( &p_ibis->log, OSM_LOG_ERROR,
+             "ibsac_query: ERR 0004: "
+             "Unsupported attribute (%u).\n", attr_id );
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  req.query_type = OSMV_QUERY_USER_DEFINED;
+  req.timeout_ms = p_ibis->p_opt->transaction_timeout;
+  /* req.retry_cnt = p_ibis->p_opt->retry_count; */
+  req.retry_cnt = 5; /* HACK we currently always use retry of 5 */
+  req.flags = OSM_SA_FLAGS_SYNC;
+  req.query_context = p_context;
+  req.pfn_query_cb = ibsac_query_res_cb;
+  req.p_query_input = &user;
+  req.sm_key = cl_ntoh64(p_ibis->p_opt->sm_key);
+
+  *result_count = 0;
+  *pp_result_madw = p_context->result.p_result_madw = NULL;
+
+  status = osmv_query_sa( IbSacBindHndl, &req );
+
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &p_ibis->log, OSM_LOG_ERROR,
+             "ibsac_query: ERR 0004: "
+             "ib_query failed (%s).\n", ib_get_err_str( status ) );
+    goto Exit;
+  }
+
+  status = p_context->result.status;
+
+  if( status != IB_SUCCESS )
+  {
+    osm_log( &p_ibis->log, OSM_LOG_ERROR,
+             "ibsac_query: ERR 0064: "
+             "ib_query failed (%s).\n", ib_get_err_str( status ) );
+
+    if( status == IB_REMOTE_ERROR )
+    {
+      osm_log( &p_ibis->log, OSM_LOG_ERROR,
+               "ibsac_query: "
+               "Remote error = %s.\n",
+               ib_get_mad_status_str(
+                 osm_madw_get_mad_ptr
+                 ( p_context->result.p_result_madw ) ) );
+    }
+    goto Exit;
+  }
+
+  *result_count = p_context->result.result_cnt;
+
+ Exit:
+  /* we must return the mad pointer even on error so we can return
+     it to the pool */
+  *pp_result_madw = p_context->result.p_result_madw;
+  OSM_LOG_EXIT( &p_ibis->log );
+  return ( status );
+}
+
+
diff --git a/ibis/src/ibsac.h b/ibis/src/ibsac.h
new file mode 100644
index 0000000..ef4f2b4
--- /dev/null
+++ b/ibis/src/ibsac.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <iba/ib_types.h>
+#include "ibis_api.h"
+
+extern osm_bind_handle_t IbSacBindHndl;
+
+int
+ibsac_bind(IN ibis_t *   const p_ibis);
+
+ib_api_status_t
+ibsac_query( IN ibis_t * const p_ibis,
+				 IN ib_net16_t const attr_id,
+				 IN void *     const p_attr,
+				 IN ib_net64_t const comp_mask,
+             IN uint8_t    const method,
+				 OUT uint32_t   *result_count,
+				 OUT osm_madw_t **pp_result_madw);
+
+
diff --git a/ibis/src/ibsac.i b/ibis/src/ibsac.i
new file mode 100644
index 0000000..23d474f
--- /dev/null
+++ b/ibis/src/ibsac.i
@@ -0,0 +1,1894 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+#ifdef OSM_BUILD_OPENIB
+#include <vendor/osm_vendor_sa_api.h>
+#else
+#include <opensm/osm_vendor_sa_api.h>
+#endif
+#include "ibsac.h"
+
+  /*
+     TODO:  Add the following queries
+     ClassPortInfo
+     InformInfo
+     SLtoVLMappingTableRecord
+     VLArbitrationTableRecord
+     ServiceRecord
+     P_KeyTableRecord
+
+     Not supported by OpenSM:
+     Notice
+     MulticastForwardingTableRecord
+     GUIDInfoRecord
+     InformInfoRecord
+
+     Later:
+     MultiPathRecord
+  */
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_record_t         sacNodeRec;
+  typedef ib_node_info_t           sacNodeInfo;
+  typedef ib_portinfo_record_t     sacPortRec;
+  typedef ib_port_info_t           sacPortInfo;
+  typedef ib_sminfo_record_t       sacSmRec;
+  typedef ib_sm_info_t             sacSmInfo;
+  typedef ib_switch_info_record_t  sacSwRec;
+  typedef ib_switch_info_t         sacSwInfo;
+  typedef ib_link_record_t         sacLinkRec;
+  typedef ib_path_rec_t            sacPathRec;
+  typedef ib_lft_record_t          sacLFTRec;
+  typedef ib_member_rec_t          sacMCMRec;
+  typedef ib_class_port_info_t     sacClassPortInfo;
+  typedef ib_inform_info_t         sacInformInfo;
+  typedef ib_service_record_t      sacServiceRec;
+  typedef ib_slvl_table_t          sacSlVlTbl;
+  typedef ib_slvl_table_record_t   sacSlVlRec;
+  typedef ib_vl_arb_table_record_t sacVlArbRec;
+  typedef ib_pkey_table_t          sacPKeyTbl;
+  typedef ib_pkey_table_record_t   sacPKeyRec;
+  typedef uint8_t                  ib_lft_t;
+%}
+
+%{
+
+#include "swig_extended_obj.c"
+
+  /* Pre allocated Query Objects */
+  ib_node_record_t        ibsac_node_rec;
+  ib_portinfo_record_t    ibsac_portinfo_rec;
+  ib_sminfo_record_t      ibsac_sminfo_rec;
+  ib_switch_info_record_t ibsac_swinfo_rec;
+  ib_link_record_t        ibsac_link_rec; // no sub type
+  ib_path_rec_t           ibsac_path_rec; // no sub type
+  ib_lft_record_t         ibsac_lft_rec; // no sub type
+  ib_member_rec_t         ibsac_mcm_rec; // no sub type
+
+  ib_class_port_info_t    ibsac_class_port_info; // no sub type
+  ib_inform_info_t        ibsac_inform_info; // no sub type
+  ib_service_record_t     ibsac_svc_rec;  // no sub type
+  ib_slvl_table_record_t  ibsac_slvl_rec; // ib_slvl_table_t
+  ib_vl_arb_table_record_t ibsac_vlarb_rec; // ib_vl_arb_table_t
+  ib_pkey_table_record_t  ibsac_pkey_rec; // ib_pkey_table_t
+
+  /* Query Functions for each record */
+  /* These are TCL specific thus are here */
+
+  char *ibsacNodeRecordQuery(
+	 ib_node_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_node_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_NODE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_node_record_t *)malloc(sizeof(ib_node_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_node_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("nr",p_rec);
+		SWIG_AltMnglRegObj("ni",&(p_rec->node_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "nr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPortInfoRecordQuery(
+	 ib_portinfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_portinfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PORTINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_portinfo_record_t *)malloc(sizeof(ib_portinfo_record_t));
+
+		/* copy into it */
+		*p_rec = *(osmv_get_query_portinfo_rec( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pir",p_rec);
+		SWIG_AltMnglRegObj("pi",&(p_rec->port_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSMInfoRecordQuery(
+	 ib_sminfo_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_sminfo_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SMINFO_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_sminfo_record_t *)malloc(sizeof(ib_sminfo_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_sminfo_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("smir",p_rec);
+		SWIG_AltMnglRegObj("smi",&(p_rec->sm_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "smir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSwitchInfoRecordQuery(
+	 ib_switch_info_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_switch_info_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, CL_NTOH16(0x0014), self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_switch_info_record_t *)malloc(sizeof(ib_switch_info_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_switch_info_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("swir",p_rec);
+		SWIG_AltMnglRegObj("swi",&(p_rec->switch_info));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "swir", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPathRecordQuery(
+	 ib_path_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_path_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PATH_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_path_rec_t *)malloc(sizeof(ib_path_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_path_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("path",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "path", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLinkRecordQuery(
+	 ib_link_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_link_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LINK_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_link_record_t *)malloc(sizeof(ib_link_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_link_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("link",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "link", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacLFTRecordQuery(
+	 ib_lft_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_lft_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_LFT_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_lft_record_t *)malloc(sizeof(ib_lft_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_lft_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("lft",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "lft", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacMCMemberRecordQuery(
+	 ib_member_rec_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_member_rec_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_MCMEMBER_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_member_rec_t *)malloc(sizeof(ib_member_rec_t));
+
+		/* copy into it */
+		*p_rec = *((ib_member_rec_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("mcm",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "mcm", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacClassPortInfoQuery(
+	 ib_class_port_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_class_port_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_CLASS_PORT_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_class_port_info_t *)malloc(sizeof(ib_class_port_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_class_port_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("cpi",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "cpi", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacInformInfoQuery(
+	 ib_inform_info_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_inform_info_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_INFORM_INFO, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_inform_info_t *)malloc(sizeof(ib_inform_info_t));
+
+		/* copy into it */
+		*p_rec = *((ib_inform_info_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("info",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "info", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+
+  char *ibsacServiceRecordQuery(
+	 ib_service_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_service_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj,  IB_MAD_ATTR_SERVICE_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_service_record_t *)malloc(sizeof(ib_service_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_service_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("svc",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "svc", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacSl2VlRecordQuery(
+	 ib_slvl_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_slvl_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_SLVL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_slvl_table_record_t *)malloc(sizeof(ib_slvl_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_slvl_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("slvr",p_rec);
+		SWIG_AltMnglRegObj("slvt",&(p_rec->slvl_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "slvr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacVlArbRecordQuery(
+	 ib_vl_arb_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_vl_arb_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_VLARB_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_vl_arb_table_record_t *)malloc(sizeof(ib_vl_arb_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_vl_arb_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("vlarb",p_rec);
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "vlarb", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+  char *ibsacPKeyRecordQuery(
+	 ib_pkey_table_record_t *self,
+	 uint64_t comp_mask,
+	 uint8_t method) {
+	 ib_pkey_table_record_t *p_rec;
+	 uint32_t i;
+	 ib_api_status_t status;
+	 uint32_t num_recs = 0;
+	 osm_madw_t *p_result_madw;
+	 char *p_res_str = NULL, *tmp;
+	 Tcl_Obj *p_tclObj;
+	 int nameLength;
+
+	 status = ibsac_query(
+		&IbisObj, IB_MAD_ATTR_PKEY_TBL_RECORD, self, comp_mask, method,
+		&num_recs, &p_result_madw
+		);
+
+	 for( i = 0; i < num_recs; i++ )
+	 {
+		/* we need to create a new node info and copy */
+		p_rec = (ib_pkey_table_record_t *)malloc(sizeof(ib_pkey_table_record_t));
+
+		/* copy into it */
+		*p_rec = *((ib_pkey_table_record_t*)osmv_get_query_result( p_result_madw, i ));
+
+		/* register it as a new object */
+		SWIG_AltMnglRegObj("pkr",p_rec);
+		SWIG_AltMnglRegObj("pkt",&(p_rec->pkey_tbl));
+
+		p_tclObj = Tcl_NewObj();
+
+		/* get the assigned name */
+		if (SWIG_AltMnglGetObjNameByPtr(p_tclObj, "pkr", p_rec)) {
+		  printf("-E- Fail to get name of object %p\n", p_rec);
+		} else {
+		  tmp = Tcl_GetStringFromObj(p_tclObj, &nameLength);
+
+		  /* enlarge the result string length */
+		  if (p_res_str)
+			 p_res_str = (char *)realloc(p_res_str, strlen(p_res_str) + nameLength + 2);
+		  else {
+			 p_res_str = (char *)malloc(nameLength + 2);
+			 p_res_str[0] = '\0';
+		  }
+
+		  strcat(p_res_str, tmp);
+		  strcat(p_res_str, " ");
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+
+	 if( p_result_madw != NULL )
+		osm_mad_pool_put( &IbisObj.mad_pool, p_result_madw );
+
+	 return(p_res_str);
+  }
+
+%}
+
+//
+// STANDARD IB TYPE MAPS:
+//
+
+%typemap(tcl8,in) ib_gid_t*(ib_gid_t temp) {
+  char buf[40];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj($source,NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  if (! p_prefix)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj($source,NULL));
+    return TCL_ERROR;
+  }
+  p_guid = strtok_r(NULL, " ", &str_token);
+  if (! p_guid)
+  {
+    printf("Wrong format for gid prefix:%s\n", Tcl_GetStringFromObj($source,NULL));
+    return TCL_ERROR;
+  }
+
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  $target = &temp;
+}
+
+
+%typemap(tcl8,out) ib_node_desc_t * {
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)$source,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj($target, buff, strlen(buff));
+}
+
+%typemap(tcl8,out) ib_lft_t * {
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+	 sprintf(buf, "{%u %u} ", i, $source[i]);
+	 Tcl_AppendToObj($target, buf, -1);
+  }
+}
+
+%typemap(tcl8,memberin) ib_lft_t[ANY] {
+  int i;
+  int m = $dim0;
+  if (m > 64) m = 64;
+  for (i=0; i <$dim0 ; i++) {
+    $target[i] = *($source+i);
+  }
+}
+
+%typemap(tcl8,in) ib_node_desc_t *(ib_node_desc_t temp) {
+  strcpy((char *)temp.description, Tcl_GetStringFromObj($source,NULL));
+  $target = &temp;
+}
+
+//
+// INTERFACE DEFINITION (~copy of h file)
+//
+
+%section "IBSAC Constants"
+/* These constants are provided by IBIS: */
+
+%section "IBSAC Objects",pre
+/* This section describes the various object types exposed by IBSAC. */
+%text %{
+
+  IBSAC exposes some of its internal subnet objects. The objects
+  identifiers returned by the various function calls are formatted
+  acording to the following rules:
+  ni:<idx> = node info objects
+
+  IBIS Objects are standard Swig-Tcl objects.
+  As such they have two flavors for their usage: Variables, Objects.
+
+  Variables:
+     For each object attribute a "get" and "set" methods are provided.
+	  The format of the methods is: <class>_<attribute>_<get|set>.
+     The "set" method is only available for read/write attributes.
+
+  Example:
+  ib_node_info_t_port_guid_get ni:1
+
+  Objects:
+     Given an object identifier one can convert it to a Tcl "Object"
+	  using the following command:
+     <class> <obj_name> -this <obj identifier>
+
+     Once declared the <obj-name> can be used in conjunction to
+     with the standard "configure" and "cget" commands.
+
+  Example: (following the previous one):
+		 ib_node_info_t nodeRecNI -this ni:1
+
+%}
+
+#define IB_NR_COMPMASK_LID					0x1
+#define IB_NR_COMPMASK_RESERVED1			0x2
+#define IB_NR_COMPMASK_BASEVERSION		0x4
+#define IB_NR_COMPMASK_CLASSVERSION		0x8
+#define IB_NR_COMPMASK_NODETYPE			0x10
+#define IB_NR_COMPMASK_NUMPORTS			0x20
+#define IB_NR_COMPMASK_SYSIMAGEGUID		0x40
+#define IB_NR_COMPMASK_NODEGUID			0x80
+#define IB_NR_COMPMASK_PORTGUID			0x100
+#define IB_NR_COMPMASK_PARTCAP			0x200
+#define IB_NR_COMPMASK_DEVID				0x400
+#define IB_NR_COMPMASK_REV					0x800
+#define IB_NR_COMPMASK_PORTNUM			0x1000
+#define IB_NR_COMPMASK_VENDID				0x2000
+#define IB_NR_COMPMASK_NODEDESC			0x4000
+
+typedef struct _ib_node_info
+{
+	uint8_t				base_version;
+	uint8_t				class_version;
+	uint8_t				node_type;
+	uint8_t				num_ports;
+	ib_net64_t			sys_guid;
+	ib_net64_t			node_guid;
+	ib_net64_t			port_guid;
+	ib_net16_t			partition_cap;
+	ib_net16_t			device_id;
+	ib_net32_t			revision;
+	ib_net32_t			port_num_vendor_id;
+
+} sacNodeInfo;
+
+%addmethods sacNodeInfo {
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+typedef struct _ib_node_record_t
+{
+	ib_net16_t		lid;
+	sacNodeInfo 	node_info;
+	ib_node_desc_t node_desc;
+} sacNodeRec;
+
+%addmethods sacNodeRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacNodeRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->node_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	PORT INFO
+	-----------------------------------------------------*/
+
+#define IB_PIR_COMPMASK_LID				  "0x1"
+#define IB_PIR_COMPMASK_PORTNUM			  "0x2"
+#define IB_PIR_COMPMASK_RESV1				  "0x4"
+#define IB_PIR_COMPMASK_MKEY				  "0x8"
+#define IB_PIR_COMPMASK_GIDPRE			  0x10
+#define IB_PIR_COMPMASK_BASELID			  0x20
+#define IB_PIR_COMPMASK_SMLID				  0x40
+#define IB_PIR_COMPMASK_CAPMASK			  0x80
+#define IB_PIR_COMPMASK_DIAGCODE			  0x100
+#define IB_PIR_COMPMASK_MKEYLEASEPRD	  0x200
+#define IB_PIR_COMPMASK_LOCALPORTNUM	  0x400
+#define IB_PIR_COMPMASK_LNKWIDTHSUPPORT  0x800
+#define IB_PIR_COMPMASK_LNKWIDTHACTIVE	  0x1000
+#define IB_PIR_COMPMASK_LINKWIDTHENABLED 0x2000
+#define IB_PIR_COMPMASK_LNKSPEEDSUPPORT  0x4000
+#define IB_PIR_COMPMASK_PORTSTATE		  0x10000
+#define IB_PIR_COMPMASK_PORTPHYSTATE	  0x20000
+#define IB_PIR_COMPMASK_LINKDWNDFLTSTATE 0x40000
+#define IB_PIR_COMPMASK_MKEYPROTBITS	  0x80000
+#define IB_PIR_COMPMASK_LMC				  0x100000
+#define IB_PIR_COMPMASK_LINKSPEEDACTIVE  0x200000
+#define IB_PIR_COMPMASK_LINKSPEEDENABLE  0x400000
+#define IB_PIR_COMPMASK_NEIGHBORMTU		  0x800000
+#define IB_PIR_COMPMASK_MASTERSMSL		  0x1000000
+#define IB_PIR_COMPMASK_VLCAP				  0x2000000
+#define IB_PIR_COMPMASK_INITTYPE			  0x4000000
+#define IB_PIR_COMPMASK_VLHIGHLIMIT		  0x8000000
+#define IB_PIR_COMPMASK_VLARBHIGHCAP	  0x10000000
+#define IB_PIR_COMPMASK_VLARBLOWCAP		  0x20000000
+#define IB_PIR_COMPMASK_INITTYPEREPLY	  0x40000000
+#define IB_PIR_COMPMASK_MTUCAP			  0x80000000
+#define IB_PIR_COMPMASK_VLSTALLCNT		  "0x100000000"
+#define IB_PIR_COMPMASK_HOQLIFE			  "0x200000000"
+#define IB_PIR_COMPMASK_OPVLS		    	  "0x400000000"
+#define IB_PIR_COMPMASK_PARENFIN		     "0x800000000"
+#define IB_PIR_COMPMASK_PARENFOUT		  "0x1000000000"
+#define IB_PIR_COMPMASK_FILTERRAWIN		  "0x2000000000"
+#define IB_PIR_COMPMASK_FILTERRAWOUT	  "0x4000000000"
+#define IB_PIR_COMPMASK_MKEYVIO			  "0x8000000000"
+#define IB_PIR_COMPMASK_PKEYVIO			  "0x10000000000"
+#define IB_PIR_COMPMASK_QKEYVIO			  "0x20000000000"
+#define IB_PIR_COMPMASK_GUIDCAP			  "0x40000000000"
+#define IB_PIR_COMPMASK_RESV2			     "0x80000000000"
+#define IB_PIR_COMPMASK_SUBNTO			  "0x100000000000"
+#define IB_PIR_COMPMASK_RESV3			     "0x200000000000"
+#define IB_PIR_COMPMASK_RESPTIME		     "0x400000000000"
+#define IB_PIR_COMPMASK_LOCALPHYERR		  "0x800000000000"
+#define IB_PIR_COMPMASK_OVERRUNERR		  "0x1000000000000"
+
+typedef struct _ib_port_info
+{
+	ib_net64_t			m_key;
+	ib_net64_t			subnet_prefix;
+	ib_net16_t			base_lid;
+	ib_net16_t			master_sm_base_lid;
+	ib_net32_t			capability_mask;
+	ib_net16_t			diag_code;
+	ib_net16_t			m_key_lease_period;
+	uint8_t				local_port_num;
+	uint8_t				link_width_enabled;
+	uint8_t				link_width_supported;
+	uint8_t				link_width_active;
+	uint8_t				state_info1;	// LinkSpeedSupported and PortState
+	uint8_t				state_info2;	// PortPhysState and LinkDownDefaultState
+	uint8_t				mkey_lmc;
+	uint8_t				link_speed;		// LinkSpeedEnabled and LinkSpeedActive
+	uint8_t				mtu_smsl;
+   uint8_t				vl_cap;        // VlCap and InitType
+	uint8_t				vl_high_limit;
+	uint8_t				vl_arb_high_cap;
+	uint8_t				vl_arb_low_cap;
+	uint8_t				mtu_cap;
+	uint8_t				vl_stall_life;
+	uint8_t				vl_enforce;
+	ib_net16_t			m_key_violations;
+	ib_net16_t			p_key_violations;
+	ib_net16_t			q_key_violations;
+	uint8_t				guid_cap;
+	uint8_t				subnet_timeout;
+	uint8_t				resp_time_value;
+	uint8_t				error_threshold;
+
+} sacPortInfo;
+
+%addmethods sacPortInfo {
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+typedef struct _ib_portinfo_record
+{
+	ib_net16_t		lid;
+	uint8_t			port_num;
+	sacPortInfo   	port_info;
+} sacPortRec;
+
+%addmethods sacPortRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacPortInfoRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->port_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	SM INFO
+	-----------------------------------------------------*/
+
+#define IB_SMR_COMPMASK_LID				  "0x1"
+#define IB_SMR_COMPMASK_GUID             "0x2"
+#define IB_SMR_COMPMASK_SM_KEY           "0x4"
+#define IB_SMR_COMPMASK_ACT_COUNT 	     "0x8"
+#define IB_SMR_COMPMASK_STATE  		     0x10
+#define IB_SMR_COMPMASK_PRI       	     0x20
+
+typedef struct _ib_sm_info
+{
+  ib_net64_t			guid;
+  ib_net64_t			sm_key;
+  ib_net32_t			act_count;
+  uint8_t				pri_state;
+} sacSmInfo;
+
+%addmethods sacSmInfo {
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+typedef struct _ib_sminfo_record
+{
+  ib_net16_t		lid;
+  sacSmInfo	      sm_info;
+} sacSmRec;
+
+%addmethods sacSmRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacSMInfoRecordQuery(self, cl_hton64(comp_mask),
+                                  IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->sm_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	SWITCH INFO
+	-----------------------------------------------------*/
+
+#define IB_SWR_COMPMASK_LID			    "0x1"
+#define IB_SWR_COMPMASK_LIN_CAP         "0x2"
+#define IB_SWR_COMPMASK_RAND_CAP	       "0x4"
+#define IB_SWR_COMPMASK_MCAST_CAP	    "0x8"
+#define IB_SWR_COMPMASK_LIN_TOP		    "0x10"
+#define IB_SWR_COMPMASK_DEF_PORT  	    "0x20"
+#define IB_SWR_COMPMASK_DEF_MCAST_PRI   "0x40"
+#define IB_SWR_COMPMASK_DEF_MCAST_NOT   "0x80"
+#define IB_SWR_COMPMASK_STATE 		    "0x100"
+#define IB_SWR_COMPMASK_LIFE    	       "0x200"
+#define IB_SWR_COMPMASK_LMC 			    "0x400"
+#define IB_SWR_COMPMASK_ENFORCE_CAP     "0x800"
+#define IB_SWR_COMPMASK_FLAGS		       "0x1000"
+
+typedef struct _ib_switch_info
+{
+	ib_net16_t			lin_cap;
+	ib_net16_t			rand_cap;
+	ib_net16_t			mcast_cap;
+	ib_net16_t			lin_top;
+	uint8_t				def_port;
+	uint8_t				def_mcast_pri_port;
+	uint8_t				def_mcast_not_port;
+	uint8_t				life_state;
+	ib_net16_t			lids_per_port;
+	ib_net16_t			enforce_cap;
+	uint8_t				flags;
+
+} sacSwInfo;
+
+%addmethods sacSwInfo {
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+typedef struct _ib_switch_info_record
+{
+  ib_net16_t			lid;
+  sacSwInfo       	switch_info;
+} sacSwRec;
+
+%addmethods sacSwRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacSwitchInfoRecordQuery(self, cl_hton64(comp_mask),
+                                      IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 /* we need to de-register both the node info and node record */
+	 SWIG_AltMnglUnregObj(&(self->switch_info));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	LINK
+	-----------------------------------------------------*/
+
+#define IB_LR_COMPMASK_FROM_LID   0x1
+#define IB_LR_COMPMASK_FROM_PORT  0x2
+#define IB_LR_COMPMASK_TO_PORT    0x4
+#define IB_LR_COMPMASK_TO_LID     0x8
+
+typedef struct _ib_link_record
+{
+	ib_net16_t		from_lid;
+	uint8_t			from_port_num;
+	uint8_t			to_port_num;
+	ib_net16_t		to_lid;
+} sacLinkRec;
+
+%addmethods sacLinkRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacLinkRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	PATH
+	-----------------------------------------------------*/
+
+#define  IB_PR_COMPMASK_DGID              0x4
+#define  IB_PR_COMPMASK_SGID              0x8
+#define  IB_PR_COMPMASK_DLID              0x10
+#define  IB_PR_COMPMASK_SLID              0x20
+#define  IB_PR_COMPMASK_RAWTRAFIC         0x40
+#define  IB_PR_COMPMASK_RESV0             0x80
+#define  IB_PR_COMPMASK_FLOWLABEL         0x100
+#define  IB_PR_COMPMASK_HOPLIMIT          0x200
+#define  IB_PR_COMPMASK_TCLASS            0x400
+#define  IB_PR_COMPMASK_REVERSIBLE        0x800
+#define  IB_PR_COMPMASK_NUMBPATH          0x1000
+#define  IB_PR_COMPMASK_PKEY              0x2000
+#define  IB_PR_COMPMASK_RESV1             0x4000
+#define  IB_PR_COMPMASK_SL                0x8000
+#define  IB_PR_COMPMASK_MTUSELEC          0x10000
+#define  IB_PR_COMPMASK_MTU               0x20000
+#define  IB_PR_COMPMASK_RATESELEC         0x40000
+#define  IB_PR_COMPMASK_RATE              0x80000
+#define  IB_PR_COMPMASK_PKTLIFETIMESELEC  0x100000
+#define  IB_PR_COMPMASK_PFTLIFETIME       0x200000
+
+typedef struct _ib_path_rec
+{
+        ib_net64_t service_id;
+        ib_gid_t dgid;
+        ib_gid_t sgid;
+        ib_net16_t dlid;
+        ib_net16_t slid;
+        ib_net32_t hop_flow_raw;
+        uint8_t tclass;
+        uint8_t num_path;
+        ib_net16_t pkey;
+        ib_net16_t qos_class_sl;
+        uint8_t mtu;
+        uint8_t rate;
+        uint8_t pkt_life;
+        uint8_t preference;
+} sacPathRec;
+
+%addmethods sacPathRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacPathRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+    free(self);
+	 SWIG_AltMnglUnregObj(self);
+  }
+}
+
+/* -----------------------------------------------------
+	LFT
+	-----------------------------------------------------*/
+
+#define IB_LFT_COMPMASK_LID    "0x1"
+#define IB_LFT_COMPMASK_BLOCK  "0x2"
+
+typedef struct _ib_lft_record
+{
+	ib_net16_t		lid;
+	ib_net16_t		block_num;
+	ib_lft_t	      lft[64];
+} sacLFTRec;
+
+%addmethods sacLFTRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacLFTRecordQuery(self, cl_hton64(comp_mask),
+                               IB_MAD_METHOD_GETTABLE));
+  };
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	MCM
+	-----------------------------------------------------*/
+
+#define IB_MCR_COMPMASK_GID         "0x1"
+#define IB_MCR_COMPMASK_MGID        "0x1"
+#define IB_MCR_COMPMASK_PORT_GID    "0x2"
+#define IB_MCR_COMPMASK_QKEY        "0x4"
+#define IB_MCR_COMPMASK_MLID        "0x8"
+#define IB_MCR_COMPMASK_MTU_SEL     "0x10"
+#define IB_MCR_COMPMASK_MTU         "0x20"
+#define IB_MCR_COMPMASK_TCLASS      "0x40"
+#define IB_MCR_COMPMASK_PKEY        "0x80"
+#define IB_MCR_COMPMASK_RATE_SEL    "0x100"
+#define IB_MCR_COMPMASK_RATE        "0x200"
+#define IB_MCR_COMPMASK_LIFE_SEL    "0x400"
+#define IB_MCR_COMPMASK_LIFE        "0x800"
+#define IB_MCR_COMPMASK_SL          "0x1000"
+#define IB_MCR_COMPMASK_FLOW        "0x2000"
+#define IB_MCR_COMPMASK_HOP         "0x4000"
+#define IB_MCR_COMPMASK_SCOPE       "0x8000"
+#define IB_MCR_COMPMASK_JOIN_STATE  "0x10000"
+#define IB_MCR_COMPMASK_PROXY       "0x20000"
+
+typedef struct _ib_member_rec
+{
+	ib_gid_t				mgid;
+	ib_gid_t				port_gid;
+	ib_net32_t			qkey;
+	ib_net16_t			mlid;
+	uint8_t				mtu;
+	uint8_t				tclass;
+	ib_net16_t			pkey;
+	uint8_t				rate;
+	uint8_t				pkt_life;
+	ib_net32_t			sl_flow_hop;
+	uint8_t				scope_state;
+  // uint8_t				proxy_join:1; bit fields are not supported.
+} sacMCMRec;
+
+%addmethods sacMCMRec {
+%new char *get(uint64_t comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GET));
+  };
+%new char *getTable(uint64_t comp_mask) {
+	 return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                    IB_MAD_METHOD_GETTABLE));
+  };
+ %new char *set(uint64_t comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+ };
+ %new char *del(uint64_t comp_mask) {
+   return(ibsacMCMemberRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+ };
+
+ int proxy_join_get() {
+   return(self->proxy_join);
+ }
+
+  void proxy_join_set(uint8_t proxy_join) {
+    self->proxy_join = proxy_join;
+  }
+
+  void obj_delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+
+}
+
+/* -----------------------------------------------------
+	Class Port Info
+	-----------------------------------------------------*/
+typedef struct _ibsac_class_port_info
+{
+	uint8_t					base_ver;
+	uint8_t					class_ver;
+	ib_net16_t				cap_mask;
+	ib_net32_t				cap_mask2_resp_time;
+	ib_gid_t				redir_gid;
+	ib_net32_t				redir_tc_sl_fl;
+	ib_net16_t				redir_lid;
+	ib_net16_t				redir_pkey;
+	ib_net32_t				redir_qp;
+	ib_net32_t				redir_qkey;
+	ib_gid_t				trap_gid;
+	ib_net32_t				trap_tc_sl_fl;
+	ib_net16_t				trap_lid;
+	ib_net16_t				trap_pkey;
+	ib_net32_t				trap_hop_qp;
+	ib_net32_t				trap_qkey;
+} sacClassPortInfo;
+
+%addmethods sacClassPortInfo {
+  %new char *get() {
+    return(ibsacClassPortInfoQuery(self, 0, IB_MAD_METHOD_GET));
+  };
+
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	Inform Info
+	-----------------------------------------------------*/
+typedef struct _ibsac_inform_info
+{
+  ib_gid_t				   gid;
+  ib_net16_t				lid_range_begin;
+  ib_net16_t				lid_range_end;
+  ib_net16_t				reserved1;
+  uint8_t					is_generic;
+  uint8_t					subscribe;
+  ib_net16_t				trap_type;
+  union _sac_inform_g_or_v
+  {
+	 struct _sac_inform_generic
+	 {
+		ib_net16_t		trap_num;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			node_type_msb;
+		ib_net16_t		node_type_lsb;
+	 } generic;
+
+	 struct _sac_inform_vend
+	 {
+		ib_net16_t		dev_id;
+		ib_net32_t		qpn_resp_time_val;
+      uint8_t        reserved2;
+		uint8_t			vendor_id_msb;
+		ib_net16_t		vendor_id_lsb;
+	 } vend;
+
+  } g_or_v;
+
+} sacInformInfo;
+
+%addmethods sacInformInfo {
+  %new char *set() {
+    return(ibsacInformInfoQuery(self, 0, IB_MAD_METHOD_SET));
+  };
+
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	Service Record
+	-----------------------------------------------------*/
+
+#define IB_SR_COMPMASK_SID           "0x1"
+#define IB_SR_COMPMASK_SGID          "0x1"
+#define IB_SR_COMPMASK_SPKEY         "0x2"
+#define IB_SR_COMPMASK_RES1          "0x4"
+#define IB_SR_COMPMASK_SLEASE        "0x8"
+#define IB_SR_COMPMASK_SKEY          "0x10"
+#define IB_SR_COMPMASK_SNAME         "0x20"
+#define IB_SR_COMPMASK_SDATA8_0      "0x40"
+#define IB_SR_COMPMASK_SDATA8_1      "0x80"
+#define IB_SR_COMPMASK_SDATA8_2      "0x100"
+#define IB_SR_COMPMASK_SDATA8_3      "0x200"
+#define IB_SR_COMPMASK_SDATA8_4      "0x400"
+#define IB_SR_COMPMASK_SDATA8_5      "0x800"
+#define IB_SR_COMPMASK_SDATA8_6      "0x1000"
+#define IB_SR_COMPMASK_SDATA8_7      "0x2000"
+#define IB_SR_COMPMASK_SDATA8_8      "0x4000"
+#define IB_SR_COMPMASK_SDATA8_9      "0x8000"
+#define IB_SR_COMPMASK_SDATA8_10     "0x10000"
+#define IB_SR_COMPMASK_SDATA8_11     "0x20000"
+#define IB_SR_COMPMASK_SDATA8_12     "0x40000"
+#define IB_SR_COMPMASK_SDATA8_13     "0x80000"
+#define IB_SR_COMPMASK_SDATA8_14     "0x100000"
+#define IB_SR_COMPMASK_SDATA8_15     "0x200000"
+#define IB_SR_COMPMASK_SDATA16_0     "0x400000"
+#define IB_SR_COMPMASK_SDATA16_1     "0x800000"
+#define IB_SR_COMPMASK_SDATA16_2     "0x1000000"
+#define IB_SR_COMPMASK_SDATA16_3     "0x2000000"
+#define IB_SR_COMPMASK_SDATA16_4     "0x4000000"
+#define IB_SR_COMPMASK_SDATA16_5     "0x8000000"
+#define IB_SR_COMPMASK_SDATA16_6     "0x10000000"
+#define IB_SR_COMPMASK_SDATA16_7     "0x20000000"
+#define IB_SR_COMPMASK_SDATA32_0     "0x40000000"
+#define IB_SR_COMPMASK_SDATA32_1     "0x80000000"
+#define IB_SR_COMPMASK_SDATA32_2     "0x100000000"
+#define IB_SR_COMPMASK_SDATA32_3     "0x200000000"
+#define IB_SR_COMPMASK_SDATA64_0     "0x400000000"
+#define IB_SR_COMPMASK_SDATA64_1     "0x800000000"
+
+%typemap(tcl8,in) ib_svc_name_t*(ib_svc_name_t n) {
+  char *p_name;
+  int l;
+  p_name = Tcl_GetStringFromObj($source, &l);
+  if (l > 63) l = 63;
+  memcpy(n, p_name, l);
+  $target = &n;
+}
+
+%typemap(tcl8,memberin) ib_svc_name_t {
+  memcpy(&($target), $source, sizeof(ib_svc_name_t));
+}
+
+%typemap(tcl8,out) ib_svc_name_t* {
+  char buff[64];
+  strncpy(buff, (char *)(*$source), 63);
+  buff[63] = '\0';
+  Tcl_SetStringObj($target,buff, strlen(buff));
+}
+
+
+typedef struct _ib_service_record
+{
+	ib_net64_t		service_id;
+	ib_gid_t		   service_gid;
+	ib_net16_t		service_pkey;
+	ib_net16_t		resv;
+	ib_net32_t		service_lease;
+	uint8_array_t	service_key[16];
+	ib_svc_name_t	service_name;
+	uint8_array_t	service_data8[16];
+	ib_net16_array_t service_data16[8];
+	ib_net32_array_t service_data32[4];
+	ib_net64_array_t service_data64[2];
+} sacServiceRec;
+
+%addmethods sacServiceRec {
+  %new char *get(uint64_t comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GET));
+  };
+  %new char *set(uint64_t comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_SET));
+  };
+  %new char *getTable(uint64_t comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_GETTABLE));
+  };
+  %new char *delete(uint64_t comp_mask) {
+    return(ibsacServiceRecordQuery(self, cl_hton64(comp_mask),
+                                   IB_MAD_METHOD_DELETE));
+  };
+
+  void obj_delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+	SL to VL Table Record
+	-----------------------------------------------------*/
+#define IB_SLVL_COMPMASK_LID             "0x1"
+#define IB_SLVL_COMPMASK_IN_PORT         "0x2"
+#define IB_SLVL_COMPMASK_OUT_PORT        "0x4"
+typedef struct _ib_slvl_table
+{
+	uint8_array_t raw_vl_by_sl[IB_MAX_NUM_VLS/2];
+} sacSlVlTbl;
+
+typedef struct _ib_slvl_table_record
+{
+	ib_net16_t		 lid; // for CA: lid of port, for switch lid of port 0
+	uint8_t			 in_port_num;	// reserved for CA's
+	uint8_t			 out_port_num;	// reserved for CA's
+	uint32_t	  	    resv;
+	sacSlVlTbl      slvl_tbl;
+} sacSlVlRec;
+
+%addmethods sacSlVlRec {
+  %new char *get(uint64_t comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  };
+  %new char *getTable(uint64_t comp_mask) {
+    return(ibsacSl2VlRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  };
+
+  void delete() {
+	 SWIG_AltMnglUnregObj(&(self->slvl_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+   VL Arb Table Record
+	-----------------------------------------------------*/
+#define IB_VLA_COMPMASK_LID              "0x1"
+#define IB_VLA_COMPMASK_OUT_PORT         "0x2"
+#define IB_VLA_COMPMASK_BLOCK            "0x4"
+
+%typemap(tcl8,in) sac_vl_arb_tbl_t* (ib_vl_arb_table_t n) {
+  uint8_t idx;
+  char *p_vl_str, *p_wt_str;
+  unsigned long int vl, weight;
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  memset( &n, 0, sizeof(ib_vl_arb_table_t) );
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj($source,0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj($source,0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0;
+       (idx < num_sub_lists) && (idx < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK);
+       idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    char buf[16];
+    char *p_last;
+    strcpy(buf, sub_lists[idx]);
+    p_vl_str = strtok_r(buf," \t", &p_last);
+    p_wt_str = strtok_r(NULL," \t", &p_last);
+    if (! (p_vl_str && p_wt_str)) {
+      printf("-E- Bad formatted number pair:%s\n", sub_lists[idx]);
+      return TCL_ERROR;
+    } else {
+      errno = 0;
+      vl = strtoul(p_vl_str, NULL, 0);
+      if (errno || (vl > 15)) {
+        printf("-E- Bad formatted VL:%s\n", p_vl_str);
+        return TCL_ERROR;
+      }
+
+      weight = strtoul(p_wt_str, NULL, 0);
+      if (errno || (weight > 255)) {
+        printf("-E- Bad formatted Weight:%s\n", p_wt_str);
+        return TCL_ERROR;
+      }
+
+      n.vl_entry[idx].vl = vl;
+      n.vl_entry[idx].weight = weight;
+    }
+  }
+  Tcl_Free((char *) sub_lists);
+
+  $target = &n;
+}
+
+%typemap(tcl8,out) sac_vl_arb_tbl_t* {
+  uint32_t i;
+  ib_vl_arb_table_t *p_tbl;
+  char buf[256];
+  if ($source) {
+    strcpy(buf, "");
+    p_tbl = $source;
+    /*  go over all elements */
+    for (i = 0; i < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK; i++) {
+      sprintf(buf, "{0x%X 0x%02X} ",
+              p_tbl->vl_entry[i].vl, p_tbl->vl_entry[i].weight);
+      Tcl_AppendResult(interp, buf, NULL);
+    }
+  } else {
+	 Tcl_SetResult(interp, "", NULL);
+  }
+}
+
+
+%{
+#define sac_vl_arb_tbl_t ib_vl_arb_table_t
+%}
+typedef struct _ib_vl_arb_table_record
+{
+	ib_net16_t			lid; // for CA: lid of port, for switch lid of port 0
+	uint8_t				port_num;
+	uint8_t				block_num;
+	uint32_t			   reserved;
+	sac_vl_arb_tbl_t  vl_arb_tbl;
+} sacVlArbRec;
+
+%addmethods sacVlArbRec {
+  %new char *get(uint64_t comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GET));
+  };
+  %new char *getTable(uint64_t comp_mask) {
+    return(ibsacVlArbRecordQuery(self, cl_hton64(comp_mask),
+                                 IB_MAD_METHOD_GETTABLE));
+  };
+
+  void delete() {
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
+
+/* -----------------------------------------------------
+   PKey Table Record
+	-----------------------------------------------------*/
+#define IB_PKEY_COMPMASK_LID        "0x1"
+#define IB_PKEY_COMPMASK_BLOCK      "0x2"
+#define IB_PKEY_COMPMASK_PORT       "0x4"
+
+typedef struct _ib_pkey_table
+{
+  ib_net16_array_t pkey_entry[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+} sacPKeyTbl;
+
+typedef struct _ib_pkey_table_record
+{
+	ib_net16_t			lid; // for CA: lid of port, for switch lid of port 0
+	uint16_t				block_num;
+   uint8_t				port_num; // for switch: port number, for CA: reserved
+	uint8_t   			reserved1;
+	uint16_t 			reserved2;
+	sacPKeyTbl     	pkey_tbl;
+} sacPKeyRec;
+
+%addmethods sacPKeyRec {
+  %new char *get(uint64_t comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GET));
+  };
+  %new char *getTable(uint64_t comp_mask) {
+    return(ibsacPKeyRecordQuery(self, cl_hton64(comp_mask),
+                                IB_MAD_METHOD_GETTABLE));
+  };
+
+  void delete() {
+	 SWIG_AltMnglUnregObj(&(self->pkey_tbl));
+	 SWIG_AltMnglUnregObj(self);
+    free(self);
+  }
+}
diff --git a/ibis/src/ibsm.c b/ibis/src/ibsm.c
new file mode 100644
index 0000000..6e48a80
--- /dev/null
+++ b/ibis/src/ibsm.c
@@ -0,0 +1,374 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibsm_t.
+ * This object represents the Subnet Management Packets Interface
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.8 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibsm.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+/**********************************************************************
+ **********************************************************************/
+
+ibsm_t*
+ibsm_construct()
+{
+  ibsm_t* p_ibsm;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibsm = malloc(sizeof(ibsm_t));
+  if (p_ibsm == NULL)
+  {
+    goto Exit;
+  }
+
+  memset (p_ibsm, 0, sizeof(ibsm_t));
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return(p_ibsm);
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibsm_destroy(
+  IN ibsm_t* const p_ibsm )
+{
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibsm->state = IBSM_STATE_INIT;
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibsm_init(
+  IN ibsm_t* const p_ibsm )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+  p_ibsm->state = IBSM_STATE_INIT;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibsm_bind(
+  IN ibsm_t *p_ibsm )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  /* no need to bind the Directed Route class as it will automatically
+     be handled by the osm_vendor_bind if asked for LID route */
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID, 1,
+    &p_ibsm->lid_route_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  /* now register every class/attr pair we have: */
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID ,
+    CL_NTOH16(IB_MAD_ATTR_NODE_INFO) ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_PORT_INFO),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_GUID_INFO),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_NODE_DESC),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_SM_INFO),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    CL_NTOH16(IB_MAD_ATTR_NOTICE),
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibsm);
+
+  Exit :
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+
+/**********************************************************************
+ *   ibsm_send_mad_by_lid(p_ibsm, p_data, data_size, lid, attr, mod, meth)
+ *   Note that all values are in host order.
+ **********************************************************************/
+ib_api_status_t
+ibsm_send_mad_by_lid (
+  ibsm_t   *p_ibsm,
+  uint8_t  *p_data,
+  size_t    data_size,
+  uint16_t  lid,
+  uint16_t  attr,
+  uint32_t  mod,
+  uint16_t  meth)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t           *p_madw;
+  ib_smp_t              response_mad = {0};
+  ib_api_status_t       status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibsm_send_mad_by_lid: "
+          " Sending to lid:0x%04X method:0x%02X attr:0x%04X mod:0x%08x\n",
+          lid, meth, attr, mod);
+
+  mad_addr.dest_lid = cl_hton16(lid);
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+
+  p_madw = osm_mad_pool_get(
+    &(IbisObj.mad_pool), p_ibsm->lid_route_bind, MAD_BLOCK_SIZE, &mad_addr);
+  p_madw->resp_expected = TRUE;
+
+  memset((char*)p_madw->p_mad, 0, MAD_BLOCK_SIZE);
+  ((ib_mad_t *)p_madw->p_mad)->method = meth;
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = IB_MCLASS_SUBN_LID;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+  ((ib_smp_t *)p_madw->p_mad)->m_key = cl_hton64(IbisObj.p_opt->m_key);
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attr);
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(mod);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+
+  /* copy over the user attribute data */
+  memcpy(&((ib_smp_t*)p_madw->p_mad)->data, p_data, data_size);
+
+  /* send and wait */
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibsm->lid_route_bind,
+    1,
+    &p_madw,
+    sizeof(ib_smp_t),
+    (uint8_t*)&response_mad);
+
+  if (!response_mad.method)
+    status = IB_TIMEOUT;
+
+  if (status == IB_SUCCESS)
+  {
+    memcpy(p_data, &response_mad.data, data_size);
+
+    if (cl_ntoh16(response_mad.status) & 0x7fff)
+    {
+      status = cl_ntoh16(response_mad.status);
+    }
+  }
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ *   ibsm_send_mad_by_dr(p_ibsm, p_mad, dr[], attr, mod, meth)
+ *   Note that all values are in network order.
+ **********************************************************************/
+ib_api_status_t
+ibsm_send_mad_by_dr(
+  ibsm_t   *p_ibsm,
+  uint8_t  *p_data,
+  size_t    data_size,
+  ibsm_dr_path_t *dr,
+  uint16_t  attr,
+  uint32_t  mod,
+  uint16_t  meth)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t           *p_madw;
+  ib_smp_t              response_mad = {0};
+  ib_smp_t             *p_smp;
+  ib_api_status_t       status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibsm_send_mad_by_dr: "
+          " Sending to DR method:0x%02X attr:0x%04X mod:0x%08x\n",
+          meth, attr, mod);
+
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+
+  p_madw = osm_mad_pool_get(
+    &(IbisObj.mad_pool), p_ibsm->lid_route_bind, MAD_BLOCK_SIZE, &mad_addr);
+  p_madw->resp_expected = TRUE;
+
+  p_smp = (ib_smp_t*)p_madw->p_mad;
+  memset((char*)p_madw->p_mad, 0, MAD_BLOCK_SIZE);
+
+  ib_smp_init_new(
+    p_smp,
+    meth,
+    ibis_get_tid(),
+    cl_hton16(attr),
+    cl_hton32(mod),
+    dr->count,
+    cl_hton64(IbisObj.p_opt->m_key), /* mkey */
+    dr->path,
+    0xffff,
+    0xffff);
+
+  /* copy over the user attribute data */
+  memcpy(&((ib_smp_t*)p_madw->p_mad)->data, p_data, data_size);
+
+  /* verbose ... */
+  osm_dump_dr_smp(&(IbisObj.log), p_smp, OSM_LOG_FRAMES);
+
+  /* send and wait */
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibsm->lid_route_bind,
+    1,
+    &p_madw,
+    sizeof(ib_smp_t),
+    (uint8_t*)&response_mad);
+
+  if (!response_mad.method)
+    status = IB_TIMEOUT;
+
+  if (status == IB_SUCCESS)
+  {
+    memcpy(p_data, &response_mad.data, data_size);
+
+    if (cl_ntoh16(response_mad.status) & 0x7fff)
+    {
+      status = cl_ntoh16(response_mad.status);
+    }
+  }
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
diff --git a/ibis/src/ibsm.h b/ibis/src/ibsm.h
new file mode 100644
index 0000000..8900bbb
--- /dev/null
+++ b/ibis/src/ibsm.h
@@ -0,0 +1,334 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ * 	Definition of ibsm_t.
+ *	This object represents the Subnet Management Packets Interface
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.2 $
+ */
+
+#ifndef _IBSM_H_
+#define _IBSM_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+
+typedef enum _ibsm_state
+{
+  IBSM_STATE_INIT,
+  IBSM_STATE_READY,
+  IBSM_STATE_BUSY,
+} ibsm_state_t;
+
+/****s* IBIS: ibsm/ibsm_t
+* NAME  ibsm_t
+*
+*
+* DESCRIPTION
+*       ibsm structure.
+*
+* SYNOPSIS
+*/
+typedef struct _ibsm
+{
+  ibsm_state_t         state;
+  osm_bind_handle_t    lid_route_bind;
+  osm_bind_handle_t    dr_route_bind;
+} ibsm_t;
+/*
+* FIELDS
+*
+*       state
+*            The ibsm state: INIT, READ or BUSY
+*
+* SEE ALSO
+*
+*********/
+
+/****s* IBIS: ibsm/ibsm_dr_path_t
+* NAME  ibsm_dr_path_t
+*
+*
+* DESCRIPTION
+*       ibsm directed route structure.
+*
+* SYNOPSIS
+*/
+typedef struct _ibsm_dr_path {
+  uint8_t count;
+  uint8_t path[IB_SUBNET_PATH_HOPS_MAX];
+} ibsm_dr_path_t;
+/*
+* FIELDS
+*
+*  path
+*   The list of output ports to be used in the path going out (initial)
+*
+*  number of entries
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBIS: ibsm/ibsm_construct
+* NAME
+*       ibsm_construct
+*
+* DESCRIPTION
+*      Allocation of ibsm_t struct
+*
+* SYNOPSIS
+*/
+
+ibsm_t*
+ibsm_construct(void);
+
+/*
+* PARAMETERS
+*
+*
+* RETURN VALUE
+*       Return a pointer to an ibsm struct. Null if fails to do so.
+*
+* NOTES
+*       First step of the creation of ibsm_t
+*
+* SEE ALSO
+*       ibsm_destroy ibsm_init
+*********/
+
+/****s* IBIS: ibsm/ibsm_destroy
+* NAME
+*       ibsm_destroy
+*
+* DESCRIPTION
+*      release of ibsm_t struct
+*
+* SYNOPSIS
+*/
+
+void
+ibsm_destroy(
+  IN ibsm_t* const p_ibsm );
+
+/*
+* PARAMETERS
+*       p_ibsm
+*               A pointer to the ibsm_t struct that is about to be released
+*
+* RETURN VALUE
+*
+* NOTES
+*       Final step of the releasing of ibsm_t
+*
+* SEE ALSO
+*       ibsm_construct
+*********/
+
+/****f* IBIS: ibsm/ibsm_init
+* NAME
+*       ibsm_init
+*
+* DESCRIPTION
+*      Initialization of an ibsm_t struct
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibsm_init(
+  IN ibsm_t* const p_ibsm );
+
+/*
+* PARAMETERS
+*       p_ibsm
+*               A pointer to the ibsm_t struct that is about to be initialized
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibsm_construct
+* *********/
+
+
+/****f* IBIS: ibsm/ibsm_bind
+* NAME
+*       ibsm_bind
+*
+* DESCRIPTION
+*      Binding the ibsm object to a lower level.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibsm_bind(
+  ibsm_t* p_ibsm );
+
+/*
+* PARAMETERS
+*       p_ibsm
+*               A pointer to the ibsm_t struct that is about to be binded
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibsm_construct
+*********/
+
+/****f* IBIS: ibsm/ibsm_send_mad_by_lid
+* NAME
+*     ibsm_send_mad_by_lid
+*
+* DESCRIPTION
+*      Send a SMI mad to the given LID.
+*
+* SYNOPSIS
+*   ibsm_send_mad_by_lid(p_ibsm, p_mad, lid, attr, mod, meth)
+*   Note that all values are in host order.
+*/
+ib_api_status_t
+ibsm_send_mad_by_lid(
+  ibsm_t   *p_ibsm,
+  uint8_t  *p_data,
+  size_t    data_size,
+  uint16_t  lid,
+  uint16_t  attr,
+  uint32_t  mod,
+  uint16_t  meth);
+/*
+* PARAMETERS
+*       p_ibsm
+*               A pointer to the ibsm_t struct.
+*
+*       p_data
+*               [in/out] A pointer to attribute data. Will be overwritten in case of response.
+*
+*       data_size
+*               [in] The size of the attribute block
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       attr
+*               The Attribute code
+*
+*       mod
+*               Attribute modifier value
+*
+*       meth
+*               The MAD method: Set/Get/Trap...
+*
+* RETURN VALUE
+*       The status of the function or response status.
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBIS: ibsm/ibsm_send_mad_by_dr
+* NAME
+*     ibsm_send_mad_by_dr
+*
+* DESCRIPTION
+*      Send a SMI mad to the given a directed route
+*
+* SYNOPSIS
+*   ibsm_send_mad_by_dr(p_ibsm, p_mad, dr[], attr, mod, meth)
+*   Note that all values are in network order.
+*/
+ib_api_status_t
+ibsm_send_mad_by_dr(
+  ibsm_t   *p_ibsm,
+  uint8_t  *p_data,
+  size_t    data_size,
+  ibsm_dr_path_t *dr,
+  uint16_t  attr,
+  uint32_t  mod,
+  uint16_t  meth);
+/*
+* PARAMETERS
+*       p_ibsm
+*               A pointer to the ibsm_t struct.
+*
+*       p_data
+*               [in/out] A pointer to attribute data. Will be overwritten in case of response.
+*
+*       data_size
+*               [in] The size of the attribute block
+*
+*
+*       dr
+*               The directed route to the destination as an
+*               array of bytes with last one is 0.
+*
+*       attr
+*               The Attribute code
+*
+*       mod
+*               Attribute modifier value
+*
+*       meth
+*               The MAD method: Set/Get/Trap...
+*
+* RETURN VALUE
+*       The status of the function or response status.
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+#endif /* _IBSM_H_ */
diff --git a/ibis/src/ibsm.i b/ibis/src/ibsm.i
new file mode 100644
index 0000000..5bc5407
--- /dev/null
+++ b/ibis/src/ibsm.i
@@ -0,0 +1,836 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%text %{
+
+  Subnet Management:
+    The SM interface supports sending Subnet Management Packets to
+    the fabric devices.
+
+    A set of object types is defined. The user can allocate a new attribute
+    object. Then the object can be set using configure or the direct
+    manipulation methods.
+
+    Extra methods are provided for each object:
+    setByDr <dr> <attrMod>
+    getByDr <dr> <attrMod>
+    setByLid <lid> <attrMod>
+    getByLid <lid> <attrMod>
+%}
+
+/*
+ * NOTE : The simplest way to implement that interface is to
+ * code the Set section as embedded tcl code that will create a new
+ * object of the attribute type and use the given set of flags
+ * as configuration command. This way we let swig do the coding
+ * and parsing of each field.
+ */
+
+%{
+#include "stdio.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <iba/ib_types.h>
+#include <complib/cl_types.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_map.h>
+#include <complib/cl_debug.h>
+#include "ibis_api.h"
+
+  /* the global pointer to this SM mads manager */
+  static ibsm_t *gp_ibsm;
+
+  /* the data section within a LFT mad */
+  typedef struct _ibsm_lft_block {
+    uint8_t lft[64];
+  } ibsm_lft_block_t;
+
+  /* the data section within a MFT mad */
+  typedef struct _ibsm_mft_block {
+    uint16_t mft[32];
+  } ibsm_mft_block_t;
+
+  /* we probably want to use our own naming for classes */
+  typedef ib_node_info_t        smNodeInfo;
+  typedef ib_port_info_t        smPortInfo;
+  typedef ib_switch_info_t      smSwInfo;
+  typedef ibsm_lft_block_t      smLftBlock;
+  typedef ibsm_mft_block_t      smMftBlock;
+  typedef ib_guid_info_t        smGuidInfo;
+  typedef ib_pkey_table_t       smPkeyTable;
+  typedef ib_slvl_table_t       smSlVlTable;
+  typedef ib_vl_arb_table_t     smVlArbTable;
+  typedef ib_node_desc_t        smNodeDesc;
+  typedef ib_sm_info_t          smSMInfo;
+  typedef ib_mad_notice_attr_t  smNotice;
+
+  /* these are the globals to be used for set/get */
+  ib_node_info_t          ibsm_node_info_obj;
+  ib_port_info_t          ibsm_port_info_obj;
+  ib_switch_info_t        ibsm_switch_info_obj;
+  ibsm_lft_block_t        ibsm_lft_block_obj;
+  ibsm_mft_block_t        ibsm_mft_block_obj;
+  ib_guid_info_t          ibsm_guid_info_obj;
+  ib_pkey_table_t         ibsm_pkey_table_obj;
+  ib_slvl_table_t         ibsm_slvl_table_obj;
+  ib_vl_arb_table_t       ibsm_vl_arb_table_obj;
+  ib_node_desc_t          ibsm_node_desc_obj;
+  ib_sm_info_t            ibsm_sm_info_obj;
+  ib_mad_notice_attr_t    ibsm_notice_obj;
+
+  /* TODO - define a Vendor Specific CR Read/Write attributes to use VL15 */
+
+%}
+
+//
+// STANDARD IB TYPE MAPS:
+//
+
+%typemap(tcl8,in) ib_gid_t*(ib_gid_t temp) {
+  char buf[38];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj($source,NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  errno = 0;
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  $target = &temp;
+}
+
+
+%typemap(tcl8, out) ibsm_lft_block_t * {
+  char buf[12];
+  int i;
+  for (i = 0; i < 64; i++) {
+    sprintf(buf, "{%u %u} ", i, $source[i]);
+    Tcl_AppendToObj($target, buf, -1);
+  }
+}
+
+%typemap(tcl8, out) ibsm_mft_block_t * {
+  char buf[12];
+  int i;
+  for (i = 0; i < 32; i++) {
+    sprintf(buf, "{%u %u} ", i, $source[i]);
+    Tcl_AppendToObj($target, buf, -1);
+  }
+}
+
+%typemap(tcl8, out) ibsm_dr_path_t* {
+  char buf[12];
+  int i;
+  for (i = 1; i < $source->count; i++) {
+    sprintf(buf, "%u ", $source->path[i]);
+    Tcl_AppendToObj($target, buf, -1);
+  }
+}
+
+%typemap(tcl8,in) ibsm_dr_path_t* (ibsm_dr_path_t dr) {
+  char buf[1024];
+  char *p_next;
+  unsigned int port;
+  int i;
+
+  dr.count = 1;
+  dr.path[0] = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj($source,NULL), 1023);
+  buf[1023] = '\0';
+  p_next = strtok(buf," \t");
+  while (p_next != NULL)
+  {
+    if (sscanf(p_next,"%u", &port) != 1)
+    {
+      printf("Error: bad format in directed route path index:%u : %s\n",
+             dr.count, p_next);
+      return TCL_ERROR;
+    }
+    dr.path[dr.count++] = port;
+    p_next = strtok(NULL," \t");
+  }
+  for (i = dr.count; i < 64; i++) dr.path[i] = 0;
+  dr.count--;
+  $target = &dr;
+}
+
+//
+// INTERFACE DEFINITION (~copy of h file)
+//
+
+%section "IBSM Constants"
+/* These constants are provided by IBSM: */
+
+%section "IBSM Objects",pre
+/* This section describes the various object types exposed by IBSM. */
+%text %{
+
+%}
+
+typedef struct _ibsm_node_info
+{
+  uint8_t       base_version;
+  uint8_t       class_version;
+  uint8_t       node_type;
+  uint8_t       num_ports;
+  ib_net64_t    sys_guid;
+  ib_net64_t    node_guid;
+  ib_net64_t    port_guid;
+  ib_net16_t    partition_cap;
+  ib_net16_t    device_id;
+  ib_net32_t    revision;
+  ib_net32_t    port_num_vendor_id;
+} smNodeInfo;
+
+%addmethods smNodeInfo {
+  int getByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_port_info
+{
+  ib_net64_t  m_key;
+  ib_net64_t  subnet_prefix;
+  ib_net16_t  base_lid;
+  ib_net16_t  master_sm_base_lid;
+  ib_net32_t  capability_mask;
+  ib_net16_t  diag_code;
+  ib_net16_t  m_key_lease_period;
+  uint8_t     local_port_num;
+  uint8_t     link_width_enabled;
+  uint8_t     link_width_supported;
+  uint8_t     link_width_active;
+  uint8_t     state_info1;    // LinkSpeedSupported and PortState
+  uint8_t     state_info2;  // PortPhysState and LinkDownDefaultState
+  uint8_t     mkey_lmc;
+  uint8_t     link_speed;   // LinkSpeedEnabled and LinkSpeedActive
+  uint8_t     mtu_smsl;
+  uint8_t     vl_cap;       // VlCap and InitType
+  uint8_t     vl_high_limit;
+  uint8_t     vl_arb_high_cap;
+  uint8_t     vl_arb_low_cap;
+  uint8_t     mtu_cap;
+  uint8_t     vl_stall_life;
+  uint8_t     vl_enforce;
+  ib_net16_t  m_key_violations;
+  ib_net16_t  p_key_violations;
+  ib_net16_t  q_key_violations;
+  uint8_t     guid_cap;
+  uint8_t     subnet_timeout;
+  uint8_t     resp_time_value;
+  uint8_t     error_threshold;
+} smPortInfo;
+
+%addmethods smPortInfo {
+  int getByDr(ibsm_dr_path_t *dr, uint8_t portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint8_t portNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint8_t portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint8_t portNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPortInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_PORT_INFO), portNum, IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_switch_info
+{
+  ib_net16_t   lin_cap;
+  ib_net16_t   rand_cap;
+  ib_net16_t   mcast_cap;
+  ib_net16_t   lin_top;
+  uint8_t      def_port;
+  uint8_t      def_mcast_pri_port;
+  uint8_t      def_mcast_not_port;
+  uint8_t      life_state;
+  ib_net16_t   lids_per_port;
+  ib_net16_t   enforce_cap;
+  uint8_t      flags;
+} smSwInfo;
+
+%addmethods smSwInfo {
+  int getByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSwInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+/* the data section within a LFT mad */
+typedef struct _ibsm_lft_block {
+  uint8_array_t lft[64];
+} smLftBlock;
+
+%addmethods smLftBlock {
+  int getByDr(ibsm_dr_path_t *dr, uint16_t blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint16_t blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint16_t blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint16_t blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smLftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL), blockNum, IB_MAD_METHOD_SET));
+  }
+}
+
+/* the data section within a MFT mad */
+typedef struct _ibsm_mft_block {
+  ib_net16_array_t mft[32];
+} smMftBlock;
+
+%{
+  int smMftGetAttrMod( uint16_t startLid, uint8_t startPort, uint32_t *p_attrMod )
+    {
+      if (startLid % 32)
+      {
+        printf("Error: Given startLid must be a multiply of 32: %u\n", startLid);
+        return TCL_ERROR;
+      }
+      if (startPort % 16)
+      {
+        printf("Error: Given startPort must be a multiply of 16: %u\n", startPort);
+        return TCL_ERROR;
+      }
+
+      /*
+         always true due to the uint8_t
+         if (startPort > 255)
+         {
+         printf("Error: Given startPort is out of range: %u > 255\n", startPort);
+         return TCL_ERROR;
+         }
+      */
+      *p_attrMod = ((startLid - 0xc000) / 32) + ((startPort / 16) << 28);
+      return TCL_OK;
+    }
+%}
+
+%addmethods smMftBlock {
+  int getByDr(ibsm_dr_path_t *dr, uint16_t startLid, uint8_t startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint16_t startLid, uint8_t startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                               dr, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint16_t startLid, uint8_t startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint16_t startLid, uint8_t startPort) {
+    uint32_t attrMod;
+    if (smMftGetAttrMod(startLid, startPort, &attrMod) != TCL_OK)
+      return TCL_ERROR;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smMftBlock),
+                                lid, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL), attrMod, IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_guid_info
+{
+	ib_net64_array_t guid[GUID_TABLE_MAX_ENTRIES];
+} smGuidInfo;
+
+%addmethods smGuidInfo {
+  int getByDr(ibsm_dr_path_t *dr, uint16_t blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint16_t blockNum) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint16_t blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint16_t blockNum) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smGuidInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_GUID_INFO), blockNum,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_pkey_table
+{
+  ib_net16_array_t pkey_entry[IB_NUM_PKEY_ELEMENTS_IN_BLOCK];
+} smPkeyTable;
+
+%addmethods smPkeyTable {
+  int getByDr(ibsm_dr_path_t *dr, uint8_t portNum, uint16_t blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint8_t portNum, uint16_t blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint8_t portNum, uint16_t blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint8_t portNum, uint16_t blockNum) {
+    uint32_t attrMod = blockNum | (portNum << 16);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smPkeyTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_slvl_table
+{
+	uint8_array_t raw_vl_by_sl[IB_MAX_NUM_VLS/2];
+} smSlVlTable;
+
+%addmethods smSlVlTable {
+  int getByDr(ibsm_dr_path_t *dr, uint8_t inPortNum, uint8_t outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint8_t inPortNum, uint8_t outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint8_t inPortNum, uint8_t outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint8_t inPortNum, uint8_t outPortNum) {
+    uint32_t attrMod = outPortNum | (inPortNum << 8);
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSlVlTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+/* ---------------- handling array of ib_vl_arb_element_t ---------------------- */
+%typemap(memberin) ib_vl_arb_element_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_vl_arb_element_t[ANY] (ib_vl_arb_element_t entrys[$dim0]) {
+  char *p_ch;
+  char *last;
+  long int vl, weight;
+  int   countSubLists, idx, numElements;
+  int i = 0;
+  Tcl_Obj	**subListObjArray;
+  Tcl_Obj   *tclObj;
+
+  if (Tcl_ListObjGetElements(interp, $source, &countSubLists, &subListObjArray) != TCL_OK)
+  {
+    printf("Error: wrong format for VL Arb Table: %s\n",
+           Tcl_GetStringFromObj($source,NULL));
+    return TCL_ERROR;
+  }
+
+  /* go over all sub lists and convert them */
+  for (idx = 0; idx < countSubLists; idx++) {
+    if (Tcl_ListObjLength(interp, subListObjArray[idx], &numElements) != TCL_OK)
+    {
+      printf("Error: wrong format for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (numElements != 2)
+    {
+      printf("Error: wrong number of elements for VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 0, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain first element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    vl = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+    if (Tcl_ListObjIndex(interp, subListObjArray[idx], 1, &tclObj) != TCL_OK)
+    {
+      printf("Error: Fail to obtain second element of VL Arb Table Entry: %s\n",
+             Tcl_GetStringFromObj(subListObjArray[idx],NULL));
+      return TCL_ERROR;
+    }
+
+    weight = strtol(Tcl_GetStringFromObj( tclObj, NULL ), NULL, 0);
+
+    entrys[i].vl = vl;
+    entrys[i++].weight = weight;
+
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+
+  for (; i < $dim0; i++)
+  {
+    entrys[i].vl = 0;
+    entrys[i].weight = 0;
+  }
+
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_vl_arb_element_t[ANY] {
+  int i;
+  char buff[16];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "{0x%x 0x%02x} ", $source[i].vl, $source[i].weight);
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+typedef struct _ibsm_vl_arb_table
+{
+	ib_vl_arb_element_t vl_entry[IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK];
+} smVlArbTable;
+
+%addmethods smVlArbTable {
+  int getByDr(ibsm_dr_path_t *dr, uint8_t portNum, uint8_t block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr, uint8_t portNum, uint8_t block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                               dr, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid, uint8_t portNum, uint8_t block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid, uint8_t portNum, uint8_t block) {
+    uint32_t attrMod = (block <<16) | portNum;
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smVlArbTable),
+                                lid, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION), attrMod,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+%{
+  typedef uint8_t ibsm_node_desc_str_t;
+%}
+
+%typemap(tcl8,in) ibsm_node_desc_str_t *(uint8_t temp[IB_NODE_DESCRIPTION_SIZE]) {
+  strcpy((char *)temp, Tcl_GetStringFromObj($source,NULL));
+  $target = temp;
+}
+%typemap(tcl8,memberin) ibsm_node_desc_str_t[IB_NODE_DESCRIPTION_SIZE] {
+  strncpy((char *)$target,(char *)$source,IB_NODE_DESCRIPTION_SIZE - 1);
+  $target[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+}
+
+%typemap(tcl8,out) ibsm_node_desc_str_t[ANY] {
+  /* we must make sure we do not overflow the node desc length */
+  char buff[IB_NODE_DESCRIPTION_SIZE];
+  strncpy(buff,(char *)$source,IB_NODE_DESCRIPTION_SIZE - 1);
+  buff[IB_NODE_DESCRIPTION_SIZE - 1] = '\0';
+  Tcl_SetStringObj($target, buff, strlen(buff));
+}
+
+typedef struct _ibsm_node_desc
+{
+	ibsm_node_desc_str_t	description[IB_NODE_DESCRIPTION_SIZE];
+} smNodeDesc;
+
+%addmethods smNodeDesc {
+  int getByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smNodeDesc),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NODE_DESC), 0,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_sm_info
+{
+  ib_net64_t			guid;
+  ib_net64_t			sm_key;
+  ib_net32_t			act_count;
+  uint8_t				pri_state;
+}	smSMInfo;
+
+%addmethods smSMInfo {
+  int getByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_GET));
+  }
+  int setByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                               dr, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                               IB_MAD_METHOD_SET));
+  }
+  int getByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_GET));
+  }
+  int setByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self, sizeof(smSMInfo),
+                                lid, CL_NTOH16(IB_MAD_ATTR_SM_INFO), 0,
+                                IB_MAD_METHOD_SET));
+  }
+}
+
+typedef struct _ibsm_notice
+{
+  uint8_t		   generic_type;
+  union _sm_notice_g_or_v
+  {
+	 struct _sm_notice_generic
+	 {
+		uint8_t		prod_type_msb;
+		ib_net16_t	prod_type_lsb;
+		ib_net16_t	trap_num;
+	 }	generic;
+
+	 struct _sm_notice_vend
+	 {
+		uint8_t		vend_id_msb;
+		ib_net16_t	vend_id_lsb;
+		ib_net16_t	dev_id;
+	 } vend;
+  } g_or_v;
+
+  ib_net16_t			issuer_lid;
+  ib_net16_t			toggle_count;
+
+  union _data_details
+  {
+    struct _sm_raw_data
+    {
+      uint8_array_t	details[54];
+    } raw_data;
+
+    struct _sm_ntc_64_67
+    {
+      uint8_array_t  res[6];
+      ib_gid_t   gid;	// the Node or Multicast Group that came in/out
+    } ntc_64_67;
+
+    struct _sm_ntc_128 {
+      ib_net16_t sw_lid; // the sw lid of which link state changed
+    } ntc_128;
+
+    struct _sm_ntc_129_131 {
+      ib_net16_t    pad;
+      ib_net16_t    lid;		// lid and port number of the violation
+      uint8_t       port_num;
+    } ntc_129_131;
+
+    struct _sm_ntc_144 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where capability mask changed
+      ib_net16_t    pad2;
+      ib_net32_t    new_cap_mask; // new capability mask
+    } ntc_144;
+
+    struct _sm_ntc_145 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;		// lid where sys guid changed
+      ib_net16_t    pad2;
+      ib_net64_t    new_sys_guid; // new system image guid
+    } ntc_145;
+
+    struct _sm_ntc_256 {
+      ib_net16_t    pad1;
+      ib_net16_t    lid;
+      ib_net16_t    pad2;
+      uint8_t       method;
+      uint8_t       pad3;
+      ib_net16_t    attr_id;
+      ib_net32_t    attr_mod;
+      ib_net64_t    mkey;
+      uint8_t       dr_slid;
+      uint8_t       dr_trunc_hop;
+      uint8_array_t dr_rtn_path[30];
+    } ntc_256;
+
+    struct _sm_ntc_257_258 // violation of p/q_key // 49
+    {
+      ib_net16_t    pad1;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      ib_net32_t    qp2;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+    } ntc_257_258;
+
+    struct _sm_ntc_259 // p/q_key violation with sw info 53
+    {
+      ib_net16_t    data_valid;
+      ib_net16_t    lid1;
+      ib_net16_t    lid2;
+      ib_net32_t    key;
+      uint8_t       sl;
+      ib_net32_t    qp1;
+      uint8_t       qp2_msb;
+      ib_net16_t    qp2_lsb;
+      ib_gid_t      gid1;
+      ib_gid_t      gid2;
+      ib_net16_t    sw_lid;
+      uint8_t       port_no;
+    } ntc_259;
+
+  } data_details;
+
+  ib_gid_t			issuer_gid;
+} smNotice;
+
+%addmethods smNotice {
+  int trapByDr(ibsm_dr_path_t *dr) {
+    return(ibsm_send_mad_by_dr(gp_ibsm, (uint8_t *)self,
+                               sizeof(smNotice),
+                               dr, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                               IB_MAD_METHOD_TRAP));
+  }
+  int trapByLid(uint16_t lid) {
+    return(ibsm_send_mad_by_lid(gp_ibsm, (uint8_t *)self,
+                                sizeof(smNotice),
+                                lid, CL_NTOH16(IB_MAD_ATTR_NOTICE), 0,
+                                IB_MAD_METHOD_TRAP));
+  }
+}
diff --git a/ibis/src/ibvs.c b/ibis/src/ibvs.c
new file mode 100644
index 0000000..00787e5
--- /dev/null
+++ b/ibis/src/ibvs.c
@@ -0,0 +1,1437 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * Abstract:
+ *    Implementation of ibvs_t.
+ * This object represents the Subnet Performance Monitor object.
+ * This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ *    Linux User Mode
+ *
+ * $Revision: 1.5 $
+ */
+
+#include <string.h>
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include "ibvs.h"
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+
+/**********************************************************************
+ **********************************************************************/
+
+ibvs_t*
+ibvs_construct()
+{
+  ibvs_t* p_ibvs;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibvs = malloc(sizeof(ibvs_t));
+  if (p_ibvs == NULL)
+  {
+    goto Exit;
+  }
+
+  memset (p_ibvs, 0, sizeof(ibvs_t));
+  p_ibvs->state = IBVS_STATE_INIT;
+
+  Exit :
+    OSM_LOG_EXIT(&(IbisObj.log));
+  return(p_ibvs);
+}
+
+/**********************************************************************
+ **********************************************************************/
+void
+ibvs_destroy(
+  IN ibvs_t* const p_ibvs )
+{
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibvs->state = IBVS_STATE_INIT;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_init(
+  IN ibvs_t* const p_ibvs )
+{
+  ib_api_status_t status = IB_SUCCESS;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  p_ibvs->state = IBVS_STATE_READY;
+
+  OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_bind(
+  IN ibvs_t* const p_ibvs )
+{
+  ib_api_status_t status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS, 1,
+    &p_ibvs->h_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_bind(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID, 1,
+    &p_ibvs->h_smp_bind
+    );
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_EXT_PORT_ACCESS ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_DEVICE_SOFT_RESET ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_OPEN ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_CLOSE ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_BANK_SET ,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_ERASE_SECTOR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_READ_SECTOR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_FLASH_WRITE_SECTOR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_MIRROR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    VS_CLASS ,
+    VS_GENERAL_INFO_ATTR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  status = ibis_gsi_mad_ctrl_set_class_attr_cb(
+    &(IbisObj.mad_ctrl),
+    IB_MCLASS_SUBN_LID,
+    VS_SM_PLFT_MAP_ATTR,
+    ibis_gsi_sync_mad_batch_callback,
+    (void *)p_ibvs);
+
+  if( status != IB_SUCCESS )
+  {
+    goto Exit;
+  }
+
+  Exit :
+
+    OSM_LOG_EXIT( &(IbisObj.log) );
+  return( status );
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+void
+__ibvs_init_mad_addr(
+  IN uint16_t lid,
+  OUT osm_mad_addr_t *p_mad_addr)
+{
+  p_mad_addr->dest_lid = cl_hton16(lid);
+  p_mad_addr->path_bits = 0;
+  p_mad_addr->static_rate = 0;
+  p_mad_addr->addr_type.gsi.remote_qp=cl_hton32(1);
+  p_mad_addr->addr_type.gsi.remote_qkey = cl_hton32(0x80010000);
+  p_mad_addr->addr_type.gsi.pkey_ix = 0;
+  p_mad_addr->addr_type.gsi.service_level = 0;
+  p_mad_addr->addr_type.gsi.global_route = FALSE;
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+void
+__ibvs_init_mad_hdr(
+  IN uint8_t method,
+  IN uint16_t attr_id,
+  IN uint32_t attr_mod,
+  OUT osm_madw_t *p_madw
+  )
+{
+  p_madw->resp_expected = TRUE;
+  ((ib_mad_t *)p_madw->p_mad)->method = method;
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = VS_CLASS;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(attr_id);
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(attr_mod);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+static void
+__ibvs_prep_ext_port_access_mad(
+  IN ibvs_t* p_ibvs,
+  IN uint8_t ext_port,
+  IN uint16_t lid,
+  IN uint8_t method,
+  IN uint8_t size,
+  IN uint8_t cpu_traget_size, /* used only in cpu */
+  IN uint8_t device_id, /* used only in i2c */
+  IN uint32_t data[],
+  IN uint32_t address,
+  IN uint64_t gpio_mask, /* used only in gpio */
+  IN uint64_t gpio_data,  /* used only in gpio */
+  OUT osm_madw_t **pp_madw
+  )
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  uint8_t               i,dword_size;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "__ibvs_prep_ext_port_access_mad: "
+          " Sending VS to lid:0x%04X method:0x%X ext_port:0x%X address:0x%X\n",
+          lid, method, ext_port, address);
+
+  dword_size = size / 4;
+
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw =
+    osm_mad_pool_get(&(IbisObj.mad_pool),
+                     p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *pp_madw = p_madw;
+
+  __ibvs_init_mad_hdr(method, VS_EXT_PORT_ACCESS, ext_port, p_madw);
+  ((ib_vs_t *)p_madw->p_mad)->vendor_key = cl_hton64(IbisObj.p_opt->v_key);
+
+  if (ext_port == EXT_CPU_PORT)
+  {
+    ((ib_vs_t *)p_madw->p_mad)->data[0] = cl_hton32(cpu_traget_size << 28 | size);
+    ((ib_vs_t *)p_madw->p_mad)->data[1] = cl_hton32(address);
+    if (method == VENDOR_SET)
+    {
+      for (i=0;i<dword_size;i++) {
+        ((ib_vs_t *)p_madw->p_mad)->data[2+i] = cl_hton32(data[i]);
+      };
+    };
+  };
+
+  if (ext_port == EXT_I2C_PORT_1 || ext_port == EXT_I2C_PORT_2)
+  {
+    ((ib_vs_t *)p_madw->p_mad)->data[0] = cl_hton32(size);
+    ((ib_vs_t *)p_madw->p_mad)->data[1] = cl_hton32(device_id);
+    ((ib_vs_t *)p_madw->p_mad)->data[2] = cl_hton32(address);
+    if (method == VENDOR_SET)
+    {
+      for (i=0;i<dword_size;i++) {
+        ((ib_vs_t *)p_madw->p_mad)->data[3+i] = cl_hton32(data[i]);
+      };
+    };
+  };
+
+  if (ext_port == EXT_GPIO_PORT && method == VENDOR_SET)
+  {
+    ((ib_vs_t *)p_madw->p_mad)->data[0] = cl_hton32(gpio_mask & 0xffffffff);
+    ((ib_vs_t *)p_madw->p_mad)->data[1] = cl_hton32(gpio_mask & 0xffffffff00000000ULL);
+  };
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_cpu_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t size,
+  IN uint8_t cpu_traget_size,
+  IN uint32_t address,
+  OUT ib_vs_t *p_vs_mad
+  )
+{
+
+  osm_madw_t          *p_madw_arr[1];
+  ib_api_status_t status;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_CPU_PORT,
+    lid,
+    VENDOR_GET,
+    size,
+    cpu_traget_size,
+    0,
+    0,
+    address,
+    0,
+    0,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_cpu_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t size,
+  IN uint8_t cpu_traget_size,
+  IN uint32_t data[],
+  IN uint32_t address)
+{
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+  ib_vs_t         res_mad;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_CPU_PORT,
+    lid,
+    VENDOR_SET,
+    size,
+    cpu_traget_size,
+    0,
+    data,
+    address,
+    0,
+    0,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)&res_mad);
+
+  if (status == IB_SUCCESS)
+    status = ibis_get_mad_status((ib_mad_t*)&res_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_i2c_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t address,
+  OUT ib_vs_t *p_vs_mad)
+{
+
+  ib_api_status_t status;
+  osm_madw_t          *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_i2c_read: "
+          "Reading lid:0x%04X method:0x%X "
+          "ext_port:0x%X dev:0x%X address:0x%X size:0x%X \n",
+          lid, VENDOR_GET ,
+          EXT_I2C_PORT+port_num, device_id, address, size);
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_I2C_PORT+port_num,
+    lid,
+    VENDOR_GET,
+    size,
+    0,
+    device_id,
+    0,
+    address,
+    0,
+    0,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_multi_i2c_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t address,
+  OUT ib_vs_t *vs_mad_arr)
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint16_t        i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_multi_i2c_read: "
+          "Reading %d lids method:0x%X "
+          "ext_port:0x%X dev:0x%X address:0x%X size:%X \n",
+          num, VENDOR_GET ,
+          EXT_I2C_PORT+port_num, device_id, address, size);
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_ext_port_access_mad(
+      p_ibvs,
+      EXT_I2C_PORT+port_num,
+      lid_list[i],
+      VENDOR_GET,
+      size,
+      0,
+      device_id,
+      0,
+      address,
+      0,
+      0,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_i2c_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t data[],
+  IN uint32_t address)
+{
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+  ib_vs_t         res_mad;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_I2C_PORT+port_num,
+    lid,
+    VENDOR_SET,
+    size,
+    0,
+    device_id,
+    data,
+    address,
+    0,
+    0,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)&res_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+ib_api_status_t
+ibvs_multi_i2c_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t data[],
+  IN uint32_t address,
+  OUT ib_vs_t *vs_mad_arr)
+{
+  ib_api_status_t status;
+  uint8_t         i;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_ext_port_access_mad(
+      p_ibvs,
+      EXT_I2C_PORT+port_num,
+      lid_list[i],
+      VENDOR_SET,
+      size,
+      0,
+      device_id,
+      data,
+      address,
+      0,
+      0,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+  /* check some commands passed in success */
+  if (status == IB_SUCCESS)
+  {
+    for (i = 0; i < num; i++)
+    {
+      status = ibis_get_mad_status((ib_mad_t*)&vs_mad_arr[i]);
+      if (status == IB_SUCCESS)
+      {
+        break;
+      }
+    }
+  }
+  else
+  {
+    osm_log(&(IbisObj.log), OSM_LOG_ERROR,
+            "ibvs_multi_i2c_write: "
+            " Fail to send mad batch status:%d\n",
+            status);
+  }
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_gpio_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad)
+{
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_GPIO_PORT,
+    lid,
+    VENDOR_GET,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_gpio_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint64_t gpio_mask,
+  IN uint64_t gpio_data)
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+  ib_vs_t        res_mad;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  __ibvs_prep_ext_port_access_mad(
+    p_ibvs,
+    EXT_GPIO_PORT,
+    lid,
+    VENDOR_SET,
+    0,
+    0,
+    0,
+    0,
+    0,
+    gpio_mask,
+    gpio_data,
+    &p_madw_arr[0]);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)&res_mad);
+
+  if (status == IB_SUCCESS)
+    status = ibis_get_mad_status((ib_mad_t*)&res_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+static void
+__ibvs_prep_sw_reset_mad(
+  IN ibvs_t* p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t method,
+  OUT osm_madw_t **pp_madw)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "__ibvs_prep_sw_reset_mad: "
+          " Sending VS RST to lid:0x%04X method:0x:%X\n",
+          lid, method);
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw = osm_mad_pool_get(
+    &(IbisObj.mad_pool), p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *pp_madw = p_madw;
+
+  __ibvs_init_mad_hdr(method, VS_DEVICE_SOFT_RESET, 0, p_madw);
+  ((ib_vs_t *)p_madw->p_mad)->vendor_key = cl_hton64(IbisObj.p_opt->v_key);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_multi_sw_reset(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[])
+{
+  ib_api_status_t status;
+  uint8_t         i;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  ib_vs_t         res_mads[IBVS_MULTI_MAX];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_sw_reset_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_SET,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)res_mads);
+
+  /* check some commands passed in success */
+  if (status == IB_SUCCESS)
+  {
+    for (i = 0; i < num; i++)
+    {
+      status = ibis_get_mad_status((ib_mad_t*)&res_mads[i]);
+      if (status == IB_SUCCESS)
+      {
+        break;
+      }
+    }
+  }
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+static void
+__ibvs_prep_flash_access_mad(
+  IN ibvs_t* p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t method,
+  IN uint16_t attr_id,
+  IN uint32_t attr_mod,
+  IN uint8_t size,
+  IN uint32_t data[],
+  IN uint32_t address,
+  OUT osm_madw_t **pp_madw)
+{
+
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  uint8_t               i,dword_size;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "__ibvs_prep_flash_access_mad: "
+          " Sending VS Flash to lid:0x%04X method:0x:%X attr:0x%X mod:0x%X\n",
+          lid, method, attr_id, attr_mod);
+
+  dword_size = size / 4;
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw = osm_mad_pool_get(
+    &(IbisObj.mad_pool), p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *pp_madw = p_madw;
+
+  __ibvs_init_mad_hdr(method, attr_id, attr_mod, p_madw);
+  ((ib_vs_t *)p_madw->p_mad)->vendor_key = cl_hton64(IbisObj.p_opt->v_key);
+
+  ((ib_vs_flash_t *)p_madw->p_mad)->size = cl_hton32(size);
+  ((ib_vs_flash_t *)p_madw->p_mad)->offset = cl_hton32(address);
+
+  if ((method == VENDOR_SET) || (attr_id == VS_FLASH_OPEN))
+  {
+    for (i=0;i<dword_size;i++) {
+      ((ib_vs_flash_t *)p_madw->p_mad)->data[i] = cl_hton32(data[i]);
+    };
+  };
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_multi_flash_open(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t last,
+  IN uint8_t size,
+  IN uint32_t data[],
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[])
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint8_t         i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_GET,
+      VS_FLASH_OPEN,
+      last,
+      size,
+      data,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_multi_flash_close(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t force,
+  OUT ib_vs_t vs_mad_arr[])
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint8_t         i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_GET,
+      VS_FLASH_CLOSE,
+      force,
+      0,
+      0,
+      0,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+
+ib_api_status_t
+ibvs_multi_flash_set_bank(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[])
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint8_t         i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_SET,
+      VS_FLASH_BANK_SET,
+      ATTR_MOD,
+      0,
+      0,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_multi_flash_erase(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[])
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint8_t         i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_SET,
+      VS_FLASH_ERASE_SECTOR,
+      ATTR_MOD,
+      0,
+      0,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+ib_api_status_t
+ibvs_multi_flash_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t size,
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[])
+{
+
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  uint8_t         i;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_GET,
+      VS_FLASH_READ_SECTOR,
+      ATTR_MOD,
+      size,
+      0,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)vs_mad_arr);
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+/**********************************************************************
+ **********************************************************************/
+
+
+ib_api_status_t
+ibvs_multi_flash_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t size,
+  IN uint32_t data[],
+  IN uint32_t address)
+{
+  ib_api_status_t status;
+  uint8_t         i;
+  osm_madw_t     *p_madw_arr[IBVS_MULTI_MAX];
+  ib_vs_t         res_mads[IBVS_MULTI_MAX];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  if (num > IBVS_MULTI_MAX)
+  {
+    status = IB_ERROR;
+    goto Exit;
+  }
+
+  for (i = 0; i < num; i++)
+  {
+    __ibvs_prep_flash_access_mad(
+      p_ibvs,
+      lid_list[i],
+      VENDOR_SET,
+      VS_FLASH_WRITE_SECTOR,
+      ATTR_MOD,
+      size,
+      data,
+      address,
+      &p_madw_arr[i]);
+  }
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    num,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)res_mads);
+
+  /* check some commands passed in success */
+  if (status == IB_SUCCESS)
+  {
+    for (i = 0; i < num; i++)
+    {
+      status = ibis_get_mad_status((ib_mad_t*)&res_mads[i]);
+      if (status == IB_SUCCESS)
+      {
+        break;
+      }
+    }
+  }
+
+ Exit:
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+ **********************************************************************/
+
+
+ib_api_status_t
+ibvs_mirror_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_mirror_read: "
+          " Sending VS mirror get to lid:0x%04X",
+		  lid);
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw =
+    osm_mad_pool_get(&(IbisObj.mad_pool),
+                     p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *p_madw_arr = p_madw;
+
+  __ibvs_init_mad_hdr(VENDOR_GET, VS_MIRROR, SWITCH_PORT, p_madw);
+ ((ib_vs_t *)p_madw->p_mad)->vendor_key =
+ cl_hton64(IbisObj.p_opt->v_key);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+/**********************************************************************
+
+**********************************************************************/
+
+
+ib_api_status_t
+ibvs_mirror_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint32_t rx_mirror,
+  IN uint32_t tx_mirror)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+  ib_vs_t        res_mad;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_mirror_write: "
+          " Sending VS mirror set to lid:0x%04X",
+		  lid);
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw =
+    osm_mad_pool_get(&(IbisObj.mad_pool),
+                     p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *p_madw_arr = p_madw;
+
+  __ibvs_init_mad_hdr(VENDOR_SET, VS_MIRROR, SWITCH_PORT, p_madw);
+ ((ib_vs_t *)p_madw->p_mad)->vendor_key =
+ cl_hton64(IbisObj.p_opt->v_key);
+
+  ((ib_vs_t *)p_madw->p_mad)->data[0] = cl_hton32(rx_mirror);
+ ((ib_vs_t *)p_madw->p_mad)->data[1] = cl_hton32(tx_mirror);
+
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)&res_mad);
+
+  if (status == IB_SUCCESS)
+    status = ibis_get_mad_status((ib_mad_t*)&res_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+
+ib_api_status_t
+ibvs_plft_map_get(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t upper_ports,
+  OUT ib_vs_t *p_vs_mad)
+{
+  osm_mad_addr_t   mad_addr;
+  osm_madw_t      *p_madw;
+  ib_api_status_t  status;
+  osm_madw_t      *p_madw_arr[1];
+  uint32_t         attr_mod = 0;
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_plft_map_get: "
+          " Sending VS PrivateLFT Map lid:0x%04X",
+			 lid);
+
+  mad_addr.dest_lid = cl_hton16(lid);
+  mad_addr.path_bits = 0;
+  mad_addr.static_rate = 0;
+  mad_addr.addr_type.gsi.remote_qp=cl_hton32(0);
+  mad_addr.addr_type.gsi.remote_qkey = 0;
+  mad_addr.addr_type.gsi.pkey_ix = 0;
+  mad_addr.addr_type.gsi.service_level = 0;
+  mad_addr.addr_type.gsi.global_route = FALSE;
+
+  p_madw =
+    osm_mad_pool_get(&(IbisObj.mad_pool),
+                     p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *p_madw_arr = p_madw;
+
+  if (upper_ports)
+	  attr_mod = 1<<16;
+
+  p_madw->resp_expected = TRUE;
+  ((ib_mad_t *)p_madw->p_mad)->method = IB_MAD_METHOD_GET;
+  ((ib_mad_t *)p_madw->p_mad)->class_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->mgmt_class = IB_MCLASS_SUBN_LID;
+  ((ib_mad_t *)p_madw->p_mad)->base_ver = 1;
+  ((ib_mad_t *)p_madw->p_mad)->attr_id = cl_hton16(VS_SM_PLFT_MAP_ATTR);
+  ((ib_mad_t *)p_madw->p_mad)->attr_mod = cl_hton32(attr_mod);
+  ((ib_mad_t *)p_madw->p_mad)->trans_id = ibis_get_tid();
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_smp_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_smp_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
+
+ib_api_status_t
+ibvs_general_info_get(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad)
+{
+  osm_mad_addr_t        mad_addr;
+  osm_madw_t            *p_madw;
+  ib_api_status_t status;
+  osm_madw_t     *p_madw_arr[1];
+
+  OSM_LOG_ENTER(&(IbisObj.log));
+
+  osm_log(&(IbisObj.log), OSM_LOG_DEBUG,
+          "ibvs_general_info_get: "
+          " Sending VS GeneralInfo to lid:0x%04X",
+		  lid);
+
+  __ibvs_init_mad_addr(lid, &mad_addr);
+
+  p_madw =
+    osm_mad_pool_get(&(IbisObj.mad_pool),
+                     p_ibvs->h_bind, MAD_PAYLOAD_SIZE, &mad_addr);
+
+  *p_madw_arr = p_madw;
+
+  __ibvs_init_mad_hdr(VENDOR_GET, VS_GENERAL_INFO_ATTR, 0, p_madw);
+ ((ib_vs_t *)p_madw->p_mad)->vendor_key =
+	 cl_hton64(IbisObj.p_opt->v_key);
+
+  status = ibis_gsi_send_sync_mad_batch(
+    &(IbisObj.mad_ctrl),
+    p_ibvs->h_bind,
+    1,
+    p_madw_arr,
+    sizeof(ib_vs_t),
+    (uint8_t*)p_vs_mad);
+
+  OSM_LOG_EXIT(&(IbisObj.log));
+  return (status);
+}
diff --git a/ibis/src/ibvs.h b/ibis/src/ibvs.h
new file mode 100644
index 0000000..152a6e2
--- /dev/null
+++ b/ibis/src/ibvs.h
@@ -0,0 +1,1008 @@
+
+/*
+ * Abstract:
+ * 	Implementation of ibcr_t.
+ *	This object represents the Subnet Performance Monitor object.
+ *	This object is part of the IBIS family of objects.
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.3 $
+ */
+
+#ifndef _IBVS_H_
+#define _IBVS_H_
+
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibis_api.h"
+#include "ibis.h"
+#include "ibvs_base.h"
+
+
+/****s* IBIS: ibvs/ibvs_t
+* NAME  ibvs_t
+*
+*
+* DESCRIPTION
+*       ibvs structure.
+*
+* SYNOPSIS
+*/
+
+
+typedef struct _ibvs
+{
+  ibvs_state_t       state;
+  osm_bind_handle_t  h_bind;
+  osm_bind_handle_t  h_smp_bind;
+} ibvs_t;
+
+
+/*
+* FIELDS
+*
+*       state
+*            The ibvs condition state.
+*
+*       h_bind
+*            The handle to bind with the lower level.
+*
+*
+* SEE ALSO
+*
+*********/
+
+
+/****f* IBIS: ibvs/ibvs_construct
+* NAME
+*       ibvs_construct
+*
+* DESCRIPTION
+*      Allocation of ibvs_t struct
+*
+* SYNOPSIS
+*/
+
+ibvs_t*
+ibvs_construct(void);
+
+/*
+* PARAMETERS
+*
+*
+* RETURN VALUE
+*       Return a pointer to an ibvs struct. Null if fails to do so.
+*
+* NOTES
+*       First step of the creation of ibvs_t
+*
+* SEE ALSO
+*       ibvs_destroy ibvs_init
+*********/
+
+/****s* IBIS: ibvs/ibvs_destroy
+* NAME
+*       ibvs_destroy
+*
+* DESCRIPTION
+*      release of ibvs_t struct
+*
+* SYNOPSIS
+*/
+
+void
+ibvs_destroy(
+  IN ibvs_t* const p_ibvs );
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct that is about to be released
+*
+* RETURN VALUE
+*
+* NOTES
+*       Final step of the releasing of ibvs_t
+*
+* SEE ALSO
+*       ibvs_construct
+*********/
+
+/****f* IBIS: ibvs/ibvs_init
+* NAME
+*       ibvs_init
+*
+* DESCRIPTION
+*      Initialization of an ibvs_t struct
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_init(
+  IN ibvs_t* const p_ibvs );
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct that is about to be initialized
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_construct
+* *********/
+
+
+/****f* IBIS: ibvs/ibvs_bind
+* NAME
+*       ibvs_bind
+*
+* DESCRIPTION
+*      Binding the ibvs object to a lower level.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_bind(
+  IN ibvs_t* const p_ibvs );
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct that is about to be binded
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_construct
+*********/
+
+/****f* IBIS: ibvs/ibvs_cpu_read
+* NAME
+*     ibvs_cpu_read
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_cpu_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t size,
+  IN uint8_t cpu_traget_size,
+  IN uint32_t address,
+  OUT ib_vs_t *p_vs_mad);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       cpu_target_size
+*               The width of the cpu bus. (0-32bit 1-16bit 2-8bit).
+*
+*       address
+*               The external port address in which to read from.
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_cpu_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_cpu_write
+* NAME
+*     ibvs_cpu_write
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_cpu_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t size,
+  IN uint8_t cpu_traget_size,
+  IN uint32_t *data,
+  IN uint32_t address);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       cpu_target_size
+*               The width of the cpu bus. (0-32bit 1-16bit 2-8bit).
+*
+*       address
+*               The external port address in which to write from.
+*
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_cpu_read
+*********/
+
+/****f* IBIS: ibvs/ibvs_i2c_read
+* NAME
+*     ibvs_i2c_read
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_i2c_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t address,
+  OUT ib_vs_t *p_vs_mad);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       port_num
+*               The Destination i2c port (1/2).
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       device_id
+*               The device_id (address) on the i2c bus.
+*
+*       address
+*               The external port address in which to read from.
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_i2c_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_i2c_write
+* NAME
+*     ibvs_i2c_write
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_i2c_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t *data,
+  IN uint32_t address);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       port_num
+*               The Destination i2c port (1/2).
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       device_id
+*               The device_id (address) on the i2c bus.
+*
+*       data
+*               The array of data.
+*
+*       address
+*               The external port address in which to write from.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_i2c_read
+*********/
+
+
+/****f* IBIS: ibvs/ibvs_multi_i2c_read
+* NAME
+*     ibvs_multi_i2c_read
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_i2c_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t address,
+  OUT ib_vs_t *vs_mad_arr);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       port_num
+*               The Destination i2c port (1/2).
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       device_id
+*               The device_id (address) on the i2c bus.
+*
+*       address
+*               The external port address in which to read from.
+*
+*       vs_mad_arr
+*               An array of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_i2c_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_i2c_write
+* NAME
+*     ibvs_i2c_write
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_i2c_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t port_num,
+  IN uint8_t size,
+  IN uint8_t device_id,
+  IN uint32_t *data,
+  IN uint32_t address,
+  OUT ib_vs_t *vs_mad_arr);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       port_num
+*               The Destination i2c port (1/2).
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       device_id
+*               The device_id (address) on the i2c bus.
+*
+*       data
+*               The array of data.
+*
+*       address
+*               The external port address in which to write from.
+*
+*       vs_mad_arr
+*               An array of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_i2c_read
+*********/
+
+/****f* IBIS: ibvs/ibvs_gpio_read
+* NAME
+*     ibvs_gpio_read
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_gpio_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_gpio_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_gpio_write
+* NAME
+*     ibvs_gpio_write
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_gpio_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint64_t gpio_mask,
+  IN uint64_t gpio_data);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       gpio_mask
+*               Masking of the GPIO pins data.
+*
+*       gpio_data
+*               The written value for the GPIO pins.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_gpio_read
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_sw_reset
+* NAME
+*     ibvs_multi_sw_reset
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD (Ext Port Access) and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_sw_reset(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[]);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid_list
+*               List of the Destination lids of the MADs.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_sw_reset
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_flash_open
+* NAME
+*     ibvs_multi_flash_open
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_open(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t last,
+  IN uint8_t size,
+  IN uint32_t *data,
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[]);
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       last
+*               The last MAD in the open stream.
+*
+*       size
+*               The size of the ucode chunk.
+*
+*       address
+*               The address in which to store ucode.
+*
+*       p_vs_mad_list
+*               A pointer to a list of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_close
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_flash_close
+* NAME
+*     ibvs_multi_flash_close
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_close(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t force,
+  OUT ib_vs_t vs_mad_arr[]);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       force
+*               Force close without authentication.
+*
+*       p_vs_mad_list
+*               A pointer to a list of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_open
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_flash_set_bank
+* NAME
+*     ibvs_multi_flash_set_bank
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_set_bank(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[]);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       address
+*               The address in which to set bank.
+*
+*       p_vs_mad_list
+*               A pointer to a list of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_erase
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_flash_erase
+* NAME
+*     ibvs_multi_flash_erase
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_erase(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[]);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       address
+*               The address in which to erase.
+*
+*       p_vs_mad_list
+*               A pointer to a list of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_set_bank
+*********/
+
+
+/****f* IBIS: ibvs/ibvs_multi_flash_read
+* NAME
+*     ibvs_multi_flash_read
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t size,
+  IN uint32_t address,
+  OUT ib_vs_t vs_mad_arr[]);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       address
+*               The address in which to read from.
+*
+*       p_vs_mad_list
+*               A pointer to a list of Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_multi_flash_write
+* NAME
+*     ibvs_flash_write
+*
+* DESCRIPTION
+*      Send a Vendor Specific MAD and wait for the reply.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_multi_flash_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint8_t num,
+  IN uint16_t lid_list[],
+  IN uint8_t size,
+  IN uint32_t *data,
+  IN uint32_t address);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       num
+*               number of MAD to be send.
+*
+*       lid_list
+*               List of Destination lid of the MAD.
+*
+*       size
+*               The size of the burst in DWORD.
+*
+*       data
+*               The array of data.
+*
+*       address
+*               The address in which to write from.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_multi_flash_read
+*********/
+
+
+/****f* IBIS: ibvs/ibvs_mirror_read
+* NAME
+*     ibvs_mirror_read
+*
+* DESCRIPTION
+*      Read a Mirror Vendor Specific MAD.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_mirror_read(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad);
+
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_mirror_write
+*********/
+
+/****f* IBIS: ibvs/ibvs_mirror_write
+* NAME
+*     ibvs_mirror_write
+*
+* DESCRIPTION
+*      Send a Mirror Vendor Specific MAD.
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_mirror_write(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint32_t rx_mirror,
+  IN uint32_t tx_mirror);
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       rx_mirror
+*               From which port to mirror
+*
+*       tx_mirror
+*               To which port to mirror
+*
+* RETURN VALUE
+*       The status of the function.
+*
+* NOTES
+*
+* SEE ALSO
+*       ibvs_mirror_read
+*********/
+
+/****f* IBIS: ibvs/ibvs_plft_map_get
+* NAME
+*     ibvs_plft_map_get
+*
+* DESCRIPTION
+*      Get Private LFT Map
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_plft_map_get(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  IN uint8_t upper_ports,
+  OUT ib_vs_t *p_vs_mad);
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       upper_ports
+*               In non zero will return the upper ports map
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the get
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****f* IBIS: ibvs/ibvs_general_info_get
+* NAME
+*     ibvs_general_info_get
+*
+* DESCRIPTION
+*      Get General Info
+*
+* SYNOPSIS
+*/
+ib_api_status_t
+ibvs_general_info_get(
+  IN ibvs_t* const p_ibvs,
+  IN uint16_t lid,
+  OUT ib_vs_t *p_vs_mad);
+/*
+* PARAMETERS
+*       p_ibvs
+*               A pointer to the ibvs_t struct.
+*
+*       lid
+*               The Destination lid of the MAD.
+*
+*       p_vs_mad
+*               A pointer to a Vendor Specific MAD that was received.
+*
+* RETURN VALUE
+*       The status of the get
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+#endif /* _IBVS_H_ */
diff --git a/ibis/src/ibvs.i b/ibis/src/ibvs.i
new file mode 100644
index 0000000..6a6d1da
--- /dev/null
+++ b/ibis/src/ibvs.i
@@ -0,0 +1,849 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+%{
+#include <complib/cl_qmap.h>
+#include <complib/cl_passivelock.h>
+#include <complib/cl_debug.h>
+#include <iba/ib_types.h>
+#include <opensm/osm_madw.h>
+#include <opensm/osm_log.h>
+#include <opensm/osm_mad_pool.h>
+#include <opensm/osm_msgdef.h>
+#include "ibvs.h"
+%}
+
+%{
+
+static ibvs_t *p_ibvs_global;
+
+int
+ibvs_num_of_multi_max(void)
+{
+	return (IBVS_MULTI_MAX);
+}
+
+/*
+   this function returns the string corresponding to the
+   read cpu data
+*/
+char *
+ibvs_get_vs_str(
+  boolean_t is_multi,
+  boolean_t is_read,
+  uint8_t num,
+  uint8_t size,
+  uint8_t first_data_idx,
+  ib_vs_t *p_vs_mads
+  )
+{
+  char *p_res_str = 0;
+  char buff[1024];
+  int i,j, extra;
+
+  if (p_vs_mads) {
+    for (i=0;i<num;i++) {
+      boolean_t space_in_resp = TRUE;
+
+      if (p_vs_mads[i].mad_header.method != VENDOR_GET_RESP) {
+        sprintf(buff,"TARGET_ERROR : Failed to obtain VS mad response");
+      } else if (ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]) != 0) {
+        sprintf(buff,"TARGET_ERROR : Got remote error:0x%x",
+                ibis_get_mad_status((ib_mad_t*)&p_vs_mads[i]));
+      } else if (is_read) {
+        sprintf(buff, "{vendor_key 0x%016" PRIx64 "} ",
+                cl_ntoh64(p_vs_mads[i].vendor_key));
+        for (j=0; j < size; j++) {
+          sprintf(buff,"%s {data%u 0x%x} ",
+                  buff, j, cl_ntoh32(p_vs_mads[i].data[j+first_data_idx]));
+        }
+      } else {
+	  // Write response - no data
+	  // Note: The trailing space here is important !
+	  sprintf(buff, "ACK ");
+	  space_in_resp = 0;
+      }
+
+      if (is_multi && space_in_resp)
+	extra = 3;
+      else
+	extra = 0;
+
+      if (p_res_str) {
+        p_res_str =
+          (char *)realloc(p_res_str,strlen(p_res_str)+strlen(buff) + 1+ extra);
+      } else {
+        p_res_str = (char *)malloc(strlen(buff) + 1+ extra);
+        p_res_str[0] = '\0';
+      }
+
+      /* need an extra list wrap */
+      if (is_multi && space_in_resp) {
+	  strcat(p_res_str,"{");
+	  strcat(p_res_str, buff);
+	  strcat(p_res_str,"} ");
+      } else {
+        strcat(p_res_str, buff);
+      }
+    }
+  }
+  return(p_res_str);
+}
+
+int
+ibvs_cpu_read_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t address,
+  char **pp_new_cpu_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_cpu_read(p_ibvs_global,lid,size,cpu_traget_size,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_cpu_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_CPU_DATA_OFFSET, vs_mads);
+   }
+
+   return(status);
+}
+
+int
+ibvs_cpu_write_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t data[],
+  uint32_t address)
+{
+
+	ib_api_status_t status;
+
+	status =
+     ibvs_cpu_write(p_ibvs_global,lid,size,cpu_traget_size,data,address);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to clear port counters");
+   return(status);
+}
+
+int
+ibvs_i2c_read_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status =
+     ibvs_i2c_read(
+       p_ibvs_global,lid,port_num,size,device_id,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to obtain port counters");
+   } else {
+     *pp_new_i2c_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_i2c_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str)
+{
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_read(p_ibvs_global,num,lid_list,port_num,size,device_id,address,vs_mads);
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed reading multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_multi_i2c_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_i2c_str)
+{
+
+    ib_api_status_t status;
+    ib_vs_t         vs_mads[IBVS_MULTI_MAX];
+
+    status =
+	ibvs_multi_i2c_write(p_ibvs_global,num,lid_list,port_num,size,device_id,data,address,vs_mads);
+
+    if (status) {
+	ibis_set_tcl_error("ERROR : Failed writing multiple i2c");
+    } else {
+	*pp_new_i2c_str =
+	    ibvs_get_vs_str(TRUE, FALSE, num, size / 4, VS_I2C_DATA_OFFSET, vs_mads);
+    }
+
+    return(status);
+}
+
+int
+ibvs_i2c_write_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+
+    ib_api_status_t status;
+
+    status = ibvs_i2c_write(p_ibvs_global,lid,port_num,size,device_id,data,address);
+    if (status)
+	ibis_set_tcl_error("ERROR : Fail to write i2c");
+    return(status);
+}
+
+int
+ibvs_gpio_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_gpio_str)
+{
+	ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+	status = ibvs_gpio_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read gpio");
+   } else {
+     *pp_new_gpio_str =
+       ibvs_get_vs_str(TRUE, TRUE, 1, IBVS_DATA_MAX, VS_GPIO_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_gpio_write_global(
+  IN uint16_t lid,
+  IN uint64_t gpio_mask,
+  IN uint64_t gpio_data)
+{
+	ib_api_status_t status;
+
+	status = ibvs_gpio_write(p_ibvs_global,lid,gpio_mask,gpio_data );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write gpio");
+	return(status);
+}
+
+int
+ibvs_multi_sw_reset_global(
+  uint8_t num,
+  uint16_t lid_list[])
+{
+	ib_api_status_t status;
+
+	status = ibvs_multi_sw_reset(p_ibvs_global,num,lid_list);
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to reset");
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_open_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t last,
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[],
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_open(
+       p_ibvs_global,num,lid_list,last,size,data,address,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to open flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_close_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t force,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_close(
+       p_ibvs_global,num,lid_list,force,vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to close flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_set_bank_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_set_bank(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to set flash bank");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_erase_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_erase(
+       p_ibvs_global, num, lid_list, address, vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to erase flash sector");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_read_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_flash_str)
+{
+	ib_api_status_t status;
+ 	ib_vs_t vs_mads[IBVS_MULTI_MAX];
+
+	status =
+     ibvs_multi_flash_read(
+       p_ibvs_global, num, lid_list, size, address, vs_mads);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read flash");
+   } else {
+     *pp_new_flash_str =
+       ibvs_get_vs_str(TRUE, TRUE, num, size / 4, VS_FLASH_DATA_OFFSET, vs_mads);
+   }
+
+	return(status);
+}
+
+int
+ibvs_multi_flash_write_global(
+  uint8_t num,
+  uint16_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  uint32_t data[])
+{
+	ib_api_status_t status;
+
+	status =
+     ibvs_multi_flash_write(
+       p_ibvs_global, num, lid_list, size, data, address);
+
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to write flash");
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_read_global(
+  IN uint16_t lid,
+  OUT	char **pp_new_mirror_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+
+   status = ibvs_mirror_read(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to read mirror");
+   } else {
+     *pp_new_mirror_str =
+       ibvs_get_vs_str(FALSE, TRUE, 1, IBVS_DATA_MAX, VS_MIRROR_DATA_OFFSET, vs_mads);
+   }
+	return(status);
+}
+
+int
+ibvs_mirror_write_global(
+  IN uint16_t lid,
+  IN uint32_t rx_mirror,
+  IN uint32_t tx_mirror)
+{
+   ib_api_status_t status;
+
+   status = ibvs_mirror_write(p_ibvs_global,lid,rx_mirror,tx_mirror );
+   if (status)
+     ibis_set_tcl_error("ERROR : Fail to write mirror");
+	return(status);
+}
+
+int
+ibvs_plft_map_get_global(
+  IN uint16_t lid,
+  IN uint8_t upper_ports,
+  OUT	char **pp_new_plft_map_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	ib_vs_plft_map_t *p_map = (ib_vs_plft_map_t *)&vs_mads[0];
+
+   status = ibvs_plft_map_get(p_ibvs_global,lid,upper_ports,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get private LFT map");
+		*pp_new_plft_map_str = NULL;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_new_plft_map_str = buff;
+		sprintf(buff,
+				  "{ib_port0 0x%x} "
+				  "{shared_plft_port0 0x%x} "
+				  "{size0 0x%x} "
+				  "{ib_port1 0x%x} "
+				  "{shared_plft_port1 0x%x} "
+				  "{size1 0x%x} "
+				  "{ib_port2 0x%x} "
+				  "{shared_plft_port2 0x%x} "
+				  "{size2 0x%x} "
+				  "{ib_port3 0x%x} "
+				  "{shared_plft_port3 0x%x} "
+				  "{size3 0x%x} "
+				  "{ib_port4 0x%x} "
+				  "{shared_plft_port4 0x%x} "
+				  "{size4 0x%x} "
+				  "{ib_port5 0x%x} "
+				  "{shared_plft_port5 0x%x} "
+				  "{size5 0x%x} "
+				  "{ib_port6 0x%x} "
+				  "{shared_plft_port6 0x%x} "
+				  "{size6 0x%x} "
+				  "{ib_port7 0x%x} "
+				  "{shared_plft_port7 0x%x} "
+				  "{reserved7 0x%x} "
+				  "{size7 0x%x} "
+				  "{ib_port8 0x%x} "
+				  "{shared_plft_port8 0x%x} "
+				  "{size8 0x%x} "
+				  "{ib_port9 0x%x} "
+				  "{shared_plft_port9 0x%x} "
+				  "{reserved9 0x%x} "
+				  "{size9 0x%x} "
+				  "{ib_port10 0x%x} "
+				  "{shared_plft_port10 0x%x} "
+				  "{size10 0x%x} "
+				  "{ib_port11 0x%x} "
+				  "{shared_plft_port11 0x%x} "
+				  "{size11 0x%x} "
+				  "{ib_port12 0x%x} "
+				  "{shared_plft_port12 0x%x} "
+				  "{size12 0x%x}",
+				  p_map->ib_port0,
+				  p_map->shared_plft_port0,
+				  p_map->size0,
+				  p_map->ib_port1,
+				  p_map->shared_plft_port1,
+				  p_map->size1,
+				  p_map->ib_port2,
+				  p_map->shared_plft_port2,
+				  p_map->size2,
+				  p_map->ib_port3,
+				  p_map->shared_plft_port3,
+				  p_map->size3,
+				  p_map->ib_port4,
+				  p_map->shared_plft_port4,
+				  p_map->size4,
+				  p_map->ib_port5,
+				  p_map->shared_plft_port5,
+				  p_map->size5,
+				  p_map->ib_port6,
+				  p_map->shared_plft_port6,
+				  p_map->size6,
+				  p_map->ib_port7,
+				  p_map->shared_plft_port7,
+				  p_map->reserved7,
+				  p_map->size7,
+				  p_map->ib_port8,
+				  p_map->shared_plft_port8,
+				  p_map->size8,
+				  p_map->ib_port9,
+				  p_map->shared_plft_port9,
+				  p_map->reserved9,
+				  p_map->size9,
+				  p_map->ib_port10,
+				  p_map->shared_plft_port10,
+				  p_map->size10,
+				  p_map->ib_port11,
+				  p_map->shared_plft_port11,
+				  p_map->size11,
+				  p_map->ib_port12,
+				  p_map->shared_plft_port12,
+				  p_map->size12
+				  );
+   }
+	return(status);
+}
+
+int
+ibvs_general_info_get_global(
+  IN uint16_t lid,
+  OUT	char **pp_gen_info_str)
+{
+   ib_api_status_t status;
+   ib_vs_t         vs_mads[1];
+	char *          buff;
+	char            psid[17];
+	ib_vs_gen_info_t *p_info = (ib_vs_gen_info_t *)&vs_mads[0];
+   status = ibvs_general_info_get(p_ibvs_global,lid,vs_mads);
+   if (status) {
+     ibis_set_tcl_error("ERROR : Fail to get general info");
+		*pp_gen_info_str = 0;
+   } else {
+		buff = (char *)malloc(1024);
+		*pp_gen_info_str = buff;
+		strncpy(psid, (char *)p_info->fw_psid, 16);
+		psid[16] = '\0';
+		sprintf(buff,
+				  "{hw_rev 0x%x} "
+				  "{hw_devid 0x%x} "
+				  "{hw_uptime 0x%x} "
+				  "{fw_major 0x%x} "
+				  "{fw_minor 0x%x} "
+				  "{fw_sub_minor 0x%x} "
+				  "{fw_build_id 0x%x} "
+				  "{fw_month 0x%x} "
+				  "{fw_day 0x%x} "
+				  "{fw_year 0x%x} "
+				  "{fw_hour 0x%x} "
+				  "{fw_psid \"%s\"} "
+				  "{fw_ini_ver 0x%x} "
+				  "{sw_major 0x%x} "
+				  "{sw_minor 0x%x} "
+				  "{sw_sub_minor 0x%x}",
+				  cl_ntoh16(p_info->hw_rev),
+				  cl_ntoh16(p_info->hw_devid),
+				  cl_ntoh32(p_info->hw_uptime),
+				  p_info->fw_major,
+				  p_info->fw_minor,
+				  p_info->fw_sub_minor,
+				  cl_ntoh32(p_info->fw_build_id),
+				  p_info->fw_month,
+				  p_info->fw_day,
+				  cl_ntoh16(p_info->fw_year),
+				  cl_ntoh16(p_info->fw_hour),
+				  psid,
+				  cl_ntoh32(p_info->fw_ini_ver),
+				  p_info->sw_major,
+				  p_info->sw_minor,
+				  p_info->sw_sub_minor);
+   }
+	return(status);
+}
+
+%}
+
+%{
+#define uint16_vs_arr_t uint16_t
+%}
+%typemap(tcl8,in) uint16_vs_arr_t *(uint16_t temp[IBVS_MULTI_MAX]) {
+  char *str;
+  char *str_tcl;
+  int i;
+  char *loc_buf;
+  char *str_token;
+
+  str_tcl = Tcl_GetStringFromObj($source,NULL);
+  loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+  strcpy(loc_buf,str_tcl);
+
+  str = strtok_r(loc_buf," ", &str_token);
+  for (i=0;i<IBVS_MULTI_MAX;i++) {
+    if (str == NULL) {
+      break;
+    }
+    temp[i] = atoi(str);
+    str = strtok_r(NULL," ",&str_token);
+  }
+  $target = temp;
+  free(loc_buf);
+}
+
+%{
+#define uint32_vs_data_arr_t uint32_t
+%}
+%typemap(tcl8,in) uint32_vs_data_arr_t *(uint32_t temp[IBVS_DATA_MAX]) {
+    char *str;
+    char *str_tcl;
+    int i;
+    char *loc_buf;
+    char *str_token;
+
+    str_tcl = Tcl_GetStringFromObj($source,NULL);
+    loc_buf = (char *)malloc((strlen(str_tcl)+1)*sizeof(char));
+    strcpy(loc_buf,str_tcl);
+    str = strtok_r(loc_buf," ", &str_token);
+    for (i=0;i<IBVS_DATA_MAX;i++) {
+	if (str == NULL) {
+	    break;
+	}
+	temp[i] = (uint32_t)strtoll(str, (char **)NULL, 0);
+	str = strtok_r(NULL," ",&str_token);
+    }
+    $target = temp;
+    free(loc_buf);
+}
+
+//
+// IBVS MAD TYPE MAPS
+//
+
+%section "IB Vendor Specific Functions",pre
+/* IBVS UI functions */
+%text %{
+This section provide the details about the functions IBVS exposes.
+They all return 0 on succes.
+%}
+
+%name(vsMultiMaxGet) ibvs_num_of_multi_max();
+
+%typemap (tcl8, ignore) char **p_out_str (char *p_c) {
+  $target = &p_c;
+}
+
+%typemap (tcl8, argout) char **p_out_str {
+  Tcl_SetStringObj($target,*$source,strlen(*$source));
+  if (*$source) free(*$source);
+}
+
+%apply char **p_out_str {char **pp_new_cpu_str};
+
+%name(vsCpuRead) int ibvs_cpu_read_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_t address,
+  char **pp_new_cpu_str);
+
+%name(vsCpuWrite) int ibvs_cpu_write_global(
+  uint16_t lid,
+  uint8_t size,
+  uint8_t cpu_traget_size,
+  uint32_vs_data_arr_t data[],
+  uint32_t address);
+
+%apply char **p_out_str {char **pp_new_i2c_str};
+
+%name(vsI2cRead) int ibvs_i2c_read_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str);
+
+%name(vsI2cWrite) int ibvs_i2c_write_global(
+  uint16_t lid,
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_vs_data_arr_t data[]);
+
+%name(vsI2cReadMulti) int ibvs_multi_i2c_read_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_i2c_str);
+
+%name(vsI2cWriteMulti) int ibvs_multi_i2c_write_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint8_t port_num,
+  uint8_t device_id,
+  uint8_t size,
+  uint32_t address,
+  uint32_vs_data_arr_t data[],
+  char **pp_new_i2c_str);
+
+%apply char **p_out_str {char **pp_new_gpio_str};
+
+%name(vsGpioRead) int ibvs_gpio_read_global(
+  uint16_t lid,
+  char **pp_new_gpio_str);
+
+%name(vsGpioWrite) int ibvs_gpio_write_global(
+  uint16_t lid,
+  uint64_t gpio_mask,
+  uint64_t gpio_data);
+
+%name(vsSWReset) int ibvs_multi_sw_reset_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[]);
+
+%apply char **p_out_str {char **pp_new_flash_str};
+
+%name(vsFlashStartMulti) int ibvs_multi_flash_open_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint32_t last,
+  uint8_t size,
+  uint32_t address,
+  uint32_vs_data_arr_t data[],
+  char **pp_new_flash_str);
+
+%name(vsFlashStopMulti) int ibvs_multi_flash_close_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint32_t force,
+  char **pp_new_flash_str);
+
+%name(vsFlashSetBankMulti) int ibvs_multi_flash_set_bank_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str);
+
+%name(vsFlashEraseSectorMulti) int ibvs_multi_flash_erase_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint32_t address,
+  char **pp_new_flash_str);
+
+%name(vsFlashReadSectorMulti) int ibvs_multi_flash_read_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  char **pp_new_flash_str);
+
+%name(vsFlashWriteSectorMulti) int ibvs_multi_flash_write_global(
+  uint8_t num,
+  uint16_vs_arr_t lid_list[],
+  uint8_t size,
+  uint32_t address,
+  uint32_vs_data_arr_t data[]);
+
+%name(vsMirrorRead) int ibvs_mirror_read_global(
+  uint16_t lid,
+  char **pp_new_gpio_str);
+
+%name(vsMirrorWrite) int ibvs_mirror_write_global(
+  uint16_t lid,
+  uint32_t rx_mirror,
+  uint32_t tx_mirror);
+
+%apply char **p_out_str {char **pp_gen_info_str};
+
+%name(vsGetGeneralInfo) int ibvs_general_info_get_global(
+	uint16_t lid,
+	char **pp_gen_info_str);
+
+%apply char **p_out_str {char **pp_new_plft_map_str};
+
+%name(vsGetPrivateLFTMap) int ibvs_plft_map_get_global(
+	uint16_t lid,
+	uint8_t upper_ports,
+	char **pp_new_plft_map_str);
diff --git a/ibis/src/ibvs_base.h b/ibis/src/ibvs_base.h
new file mode 100644
index 0000000..df3bd82
--- /dev/null
+++ b/ibis/src/ibvs_base.h
@@ -0,0 +1,224 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef _IBVS_BASE_H_
+#define _IBVS_BASE_H_
+
+#include <endian.h>
+
+#define VS_CLASS             0x0a
+#define VS_CLASS_PORT_INFO   0x01
+#define VS_PRIVATE_LFT       0x10
+#define VS_PORT_ON_OFF       0x11
+#define VS_DEVICE_SOFT_RESET 0x12
+#define VS_EXT_PORT_ACCESS   0x13
+#define VS_PHY_CONFIG        0x14
+#define VS_MFT               0x15
+#define VS_IB_PORT_CONFIG    0x16
+#define VS_MIRROR            0x18
+#define VENDOR_GET           0x01
+#define VENDOR_SET           0x02
+#define VENDOR_GET_RESP      0x81
+#define SWITCH_PORT          0x0
+#define EXT_CPU_PORT         0x01
+#define EXT_I2C_PORT         0x01
+#define EXT_I2C_PORT_1       0x02
+#define EXT_I2C_PORT_2       0x03
+#define EXT_GPIO_PORT        0x04
+#define MAD_PAYLOAD_SIZE     256
+#define IBVS_INITIAL_TID_VALUE 0xaaaa
+#define IBVS_MULTI_MAX 64
+#define IBVS_DATA_MAX 64
+#define VS_FLASH_OPEN 0x0A
+#define VS_FLASH_CLOSE 0x0B
+#define VS_FLASH_BANK_SET 0x0C
+#define VS_FLASH_ERASE_SECTOR 0x0F
+#define VS_FLASH_READ_SECTOR 0x0D
+#define VS_FLASH_WRITE_SECTOR 0x0E
+#define ATTR_ID 0x0
+#define ATTR_MOD 0x0
+#define ATTR_MOD_LAST 0x1
+#define VS_CPU_DATA_OFFSET 0
+#define VS_GPIO_DATA_OFFSET 0
+#define VS_MIRROR_DATA_OFFSET 0
+#define VS_I2C_DATA_OFFSET 3
+#define VS_FLASH_DATA_OFFSET 2
+#define VS_GENERAL_INFO_ATTR 0x17
+#define VS_SM_PLFT_MAP_ATTR 0xff10
+
+typedef enum _ibvs_state
+{
+  IBVS_STATE_INIT,
+  IBVS_STATE_READY,
+  IBVS_STATE_BUSY,
+} ibvs_state_t;
+
+#include <complib/cl_packon.h>
+typedef struct _ib_vs
+{
+ib_mad_t mad_header;
+ib_net64_t vendor_key;
+ib_net32_t data[56];
+}	PACK_SUFFIX ib_vs_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_vs_i2c
+{
+ib_mad_t mad_header;
+ib_net64_t vendor_key;
+ib_net32_t size;
+ib_net32_t device_select;
+ib_net32_t offset;
+ib_net32_t data[53];
+}	PACK_SUFFIX ib_vs_i2c_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_vs_flash
+{
+ib_mad_t mad_header;
+ib_net64_t vendor_key;
+ib_net32_t size;
+ib_net32_t offset;
+ib_net32_t data[54];
+}	PACK_SUFFIX ib_vs_flash_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_vs_plft_map
+{
+	ib_mad_t mad_header;
+	ib_net64_t m_key;
+	ib_net16_t dr_slid;
+	ib_net16_t dr_dlid;
+	uint32_t	  resv1[7];
+
+	uint8_t ib_port0;
+	uint8_t shared_plft_port0;
+	uint8_t reserved0;
+	uint8_t size0;
+
+	uint8_t ib_port1;
+	uint8_t shared_plft_port1;
+	uint8_t reserved1;
+	uint8_t size1;
+
+	uint8_t ib_port2;
+	uint8_t shared_plft_port2;
+	uint8_t reserved2;
+	uint8_t size2;
+
+	uint8_t ib_port3;
+	uint8_t shared_plft_port3;
+	uint8_t reserved3;
+	uint8_t size3;
+
+	uint8_t ib_port4;
+	uint8_t shared_plft_port4;
+	uint8_t reserved4;
+	uint8_t size4;
+
+	uint8_t ib_port5;
+	uint8_t shared_plft_port5;
+	uint8_t reserved5;
+	uint8_t size5;
+
+	uint8_t ib_port6;
+	uint8_t shared_plft_port6;
+	uint8_t reserved6;
+	uint8_t size6;
+
+	uint8_t ib_port7;
+	uint8_t shared_plft_port7;
+	uint8_t reserved7;
+	uint8_t size7;
+
+	uint8_t ib_port8;
+	uint8_t shared_plft_port8;
+	uint8_t reserved8;
+	uint8_t size8;
+
+	uint8_t ib_port9;
+	uint8_t shared_plft_port9;
+	uint8_t reserved9;
+	uint8_t size9;
+
+	uint8_t ib_port10;
+	uint8_t shared_plft_port10;
+	uint8_t reserved10;
+	uint8_t size10;
+
+	uint8_t ib_port11;
+	uint8_t shared_plft_port11;
+	uint8_t reserved11;
+	uint8_t size11;
+
+	uint8_t ib_port12;
+	uint8_t shared_plft_port12;
+	uint8_t reserved12;
+	uint8_t size12;
+}	PACK_SUFFIX ib_vs_plft_map_t;
+#include <complib/cl_packoff.h>
+
+#include <complib/cl_packon.h>
+typedef struct _ib_vs_gen_info
+{
+	ib_mad_t mad_header;
+	ib_net64_t vendor_key;
+	uint16_t hw_rev;
+	uint16_t hw_devid;
+	uint8_t  hw_reserved[24];
+	uint32_t hw_uptime;
+        uint8_t  reserved0;
+	uint8_t  fw_major;
+	uint8_t  fw_minor;
+	uint8_t  fw_sub_minor;
+	uint32_t fw_build_id;
+	uint8_t  fw_month;
+	uint8_t  fw_day;
+	uint16_t fw_year;
+	uint16_t reserved3;
+	uint16_t fw_hour;
+	uint8_t  fw_psid[16];
+	uint32_t fw_ini_ver;
+	uint32_t fw_reserved[7];
+	uint8_t  sw_reserved;
+	uint8_t  sw_major;
+	uint8_t  sw_minor;
+	uint8_t  sw_sub_minor;
+}	PACK_SUFFIX ib_vs_gen_info_t;
+#include <complib/cl_packoff.h>
+
+#endif /* _IBVS_BASE_H_ */
diff --git a/ibis/src/pkgIndex.tcl b/ibis/src/pkgIndex.tcl
new file mode 100644
index 0000000..e1f295c
--- /dev/null
+++ b/ibis/src/pkgIndex.tcl
@@ -0,0 +1,6 @@
+proc ibis_load%VERSION% {dir} {
+   puts "Loading package ibis from: $dir"
+   uplevel \#0 load [file join $dir libibis.so.%VERSION%]
+}
+
+package ifneeded ibis %VERSION% [list ibis_load%VERSION% $dir]
diff --git a/ibis/src/swig_extended_obj.c b/ibis/src/swig_extended_obj.c
new file mode 100644
index 0000000..05b2179
--- /dev/null
+++ b/ibis/src/swig_extended_obj.c
@@ -0,0 +1,489 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*--------------------------------------------------------------------
+ * This file holds an extended implementation for SWIG TCL Objects.
+ * The idea is to provide a generic interface for introducing new object
+ * types and providing a nicer object mangling for them.
+ *
+ */
+
+/*
+ * We keep track of the object types we are handling in the following
+ * map that provides the mapping from SWIG obj type to obj prefix
+ */
+cl_map_t SWIG_AltMnglTypeToPrefix;
+
+/*
+ * All provided objects should be registered upon creation
+ * using the interface: SWIG_RegNewObj(type, ptr)
+ *
+ * All objects should be de-registered on deletion
+ * using the interface: SWIG_DeregObj(ptr)
+ */
+
+/*
+ * We are going to simply assign an ID for each
+ * legally assigned object.
+ *
+ * TWO Static Global Maps will hold pointer to obj num and
+ * obj num to object mapping.
+ * Object numbers will be allocated sequentialy
+ */
+
+static long int SWIG_AltMnglObjIdx = 0;
+static cl_map_t SWIG_AltMnglTypeByPtr;
+static cl_map_t SWIG_AltMnglIdxByPtr;
+static cl_map_t SWIG_AltMnglPtrByIdx;
+
+/* Given a ptr convert it into a search key */
+static void ptr_to_key(void *ptr, uint64_t *key) {
+  *key = 0;
+# if __WORDSIZE == 64
+  *key = (uint64_t)ptr;
+#else
+  *key |= (uint32_t)ptr;
+#endif
+}
+
+/*--------------------------------------------------------------------
+ * CL MAPS work off a unit64 key so we need to copy the given string
+ * to a uint64_t to search for it
+ */
+void strToUInt64(char *swig_type, uint64_t *res_p) {
+  int i;
+  swig_type = swig_type + 4; // assuming all objects types start with "_ib_"
+  i = strlen(swig_type);
+  if ( i > 8 ) i = 8;
+  memset(res_p, 0, 8);
+  memcpy(res_p, swig_type, i);
+}
+
+/* introduce a new valid object by registering it into the maps */
+int SWIG_AltMnglRegObj(char * type, void * ptr) {
+  cl_map_t *p_typeByPtrMap = &(SWIG_AltMnglTypeByPtr);
+  char *p_type;
+  uint64_t key;
+
+  /* convert the ptr into a key */
+  ptr_to_key(ptr, &key);
+
+  /* is such a pointer already registered */
+  if ((p_type = (char *)cl_map_get(p_typeByPtrMap, key)))
+  {
+    printf("-W- Object of type:%s already exists for ptr:%p.\n",
+           p_type, ptr);
+    return 1;
+  }
+
+  // printf("-V- Registering type:%s ptr:%p.\n", type, ptr);
+  /* advance our objects counter */
+  SWIG_AltMnglObjIdx++;
+  cl_map_insert(&(SWIG_AltMnglTypeByPtr), key, (void *)type);
+  cl_map_insert(&(SWIG_AltMnglIdxByPtr), key, (void *)SWIG_AltMnglObjIdx);
+  cl_map_insert(&(SWIG_AltMnglPtrByIdx),(uint64_t)SWIG_AltMnglObjIdx, ptr);
+
+  return 0;
+}
+
+/* Remove an objects from the Maps */
+int SWIG_AltMnglUnregObj( void * ptr) {
+
+  uint64_t key;
+  unsigned long int idx;
+
+  /* convert the ptr into a key */
+  ptr_to_key(ptr, &key);
+
+  /* is such a pointer already registered for a type? */
+  if (!cl_map_remove(&(SWIG_AltMnglTypeByPtr), key))
+  {
+    printf("-W- Fail to find object type for ptr:%p.\n", ptr);
+  }
+
+  /* but we must know it's idx ! */
+  if (! (idx = (unsigned long int)cl_map_remove(&(SWIG_AltMnglIdxByPtr), key)))
+  {
+    printf("-W- Fail to find object idx for ptr:%p.\n", ptr);
+    return 1;
+  }
+
+  /* remove from the map of ptr by idx */
+  if (!cl_map_remove(&(SWIG_AltMnglPtrByIdx),(uint64_t)idx))
+  {
+    printf("-W- Fail to find object idx for ptr:%p.\n", ptr);
+    return 1;
+  }
+
+  return 0;
+}
+
+/* given a pointer return it's object name */
+int SWIG_AltMnglGetObjNameByPtr(Tcl_Obj *objPt, char *p_expType, void * ptr) {
+  char res[64];
+  unsigned long int idx;
+  char *p_type;
+  uint64_t key;
+
+  ptr_to_key(ptr, &key);
+
+  /* first get the idx */
+  idx = (unsigned long int)cl_map_get(&(SWIG_AltMnglIdxByPtr), key);
+  if (!idx)
+  {
+    printf("-E- Fail to find object idx for ptr:%p.\n", ptr);
+    return TCL_ERROR;
+  }
+
+  /* now get the type */
+  p_type = (char *)cl_map_get(&(SWIG_AltMnglTypeByPtr), key);
+  if (!p_type)
+  {
+    printf("-E- Fail to find object type for ptr:%p.\n", ptr);
+    return TCL_ERROR;
+  }
+
+  /* check we got the expected type */
+  if (strcmp(p_type, p_expType))
+  {
+    printf("-E- Expected type:%s but the objet has type:%s.\n",
+           p_expType, p_type);
+    return TCL_ERROR;
+  }
+
+  sprintf(res, "%s:%lu", p_type, idx);
+  Tcl_SetStringObj(objPt, res, -1);
+  return TCL_OK;
+}
+
+// given an object name return the object pointer:
+int SWIG_AltMnglGetObjPtrByName(Tcl_Obj *objPtr, void **ptr) {
+  char buf[256];
+  char *colonIdx;
+  char *idStr;
+  unsigned long int idx;
+
+  /* Format for the objects is always <type>:<idx> */
+  strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+  colonIdx = index(buf,':');
+  idStr = colonIdx + 1;
+
+  if (!colonIdx)
+  {
+    sprintf(ibis_tcl_error_msg,"-E- Bad formatted object:%s\n", buf);
+    return TCL_ERROR;
+  }
+
+  *colonIdx = '\0';
+
+  /* we can count on the object idx for the ptr */
+  idx = strtoul( idStr, NULL, 10);
+  *ptr = cl_map_get(&(SWIG_AltMnglPtrByIdx), (uint64_t)idx);
+  if (!*ptr)
+  {
+    printf("-E- fail to find object by idx:%lu\n", idx);
+    return TCL_ERROR;
+  }
+
+  return TCL_OK;
+}
+
+/* Register a SWIG type to Object Prefix */
+void SWIG_AltMnglRegTypeToPrefix (char *swig_type, char *objNamePrefix) {
+  uint64_t type_key;
+
+  strToUInt64(swig_type, &type_key);
+  cl_map_insert(&SWIG_AltMnglTypeToPrefix, type_key, (void *)objNamePrefix);
+}
+
+/* initialize the alternate mangling code */
+int SWIG_AltMnglInit(void) {
+  // init the swig object maps
+  cl_map_construct(&SWIG_AltMnglTypeToPrefix);
+  cl_map_construct(&SWIG_AltMnglTypeByPtr);
+  cl_map_construct(&SWIG_AltMnglIdxByPtr);
+  cl_map_construct(&SWIG_AltMnglPtrByIdx);
+
+  cl_map_init(&SWIG_AltMnglTypeToPrefix,10);
+  cl_map_init(&SWIG_AltMnglTypeByPtr,20);
+  cl_map_init(&SWIG_AltMnglIdxByPtr,20);
+  cl_map_init(&SWIG_AltMnglPtrByIdx,20);
+  return 0;
+}
+
+/*---------------------------------------------------------------------
+ * The functions below are replicates for the standard SWIG
+ * mapper functions. They will call the alternate object mangling
+ * for the types available in SWIG_AltMnglTypeToPrefix map.
+ *---------------------------------------------------------------------*/
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ * CONVERT THE OBJECT POINTER GIVEN INTO A TCL NAME
+ *---------------------------------------------------------------------*/
+SWIGSTATIC
+void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *_ptr, char *type) {
+
+  // if we have an alternate mangling use it:
+  static char _hex[16] =
+    {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+     'a', 'b', 'c', 'd', 'e', 'f'};
+  unsigned long _p, _s;
+  char _result[20], *_r;    /* Note : a 64-bit hex number = 16 digits */
+  char _temp[20], *_c;
+  char *p_type;
+  uint64_t type_key;
+
+  /* only if this type was pre-registered as SWIG Alt Mangling */
+  strToUInt64(type, &type_key);
+  //  printf("Looking for key:%s\n", type);
+  p_type = (char *)cl_map_get(&SWIG_AltMnglTypeToPrefix, type_key);
+
+  if (p_type != NULL)
+  {
+    if (SWIG_AltMnglGetObjNameByPtr(objPtr, p_type, _ptr))
+    {
+      printf("-E- Fail to convert object %p to %s obj.\n", _ptr, type);
+    }
+    return;
+  }
+
+  memset(_result, 0,20);
+  _r = &_result[0];
+  _p = (unsigned long) _ptr;
+  if (_p > 0)
+  {
+    while (_p > 0) {
+      _s = _p & 0xf;
+      *_r = _hex[_s];
+      _r++;
+      _p = _p >> 4;
+    }
+    *_r = '_';
+    _c = &_temp[0];
+    while (_r >= _result)
+      *(_c++) = *(_r--);
+    *_c = 0;
+    Tcl_SetStringObj(objPtr,_temp,-1);
+  }
+  else
+  {
+    Tcl_SetStringObj(objPtr,"NULL",-1);
+  }
+  if (_ptr)
+    Tcl_AppendToObj(objPtr,type,-1);
+}
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *
+ * SET THE PTR GIVEN TO THE LOOKUP OF THE OBJECT BY NAME
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *_t) {
+  unsigned long _p;
+  char temp_type[256];
+  char *name;
+  int  i, len;
+  SwigPtrType *sp,*tp;
+  SwigCacheType *cache;
+  int  start, end;
+  char *_c;
+  uint64_t type_key;
+  char *p_type;
+
+  /* only we have this type registered for alt mangling */
+  strToUInt64(_t, &type_key);
+  p_type = (char *)cl_map_get(&SWIG_AltMnglTypeToPrefix, type_key);
+  if (p_type != NULL)
+  {
+    /* get the object name by the given pointer */
+    if (SWIG_AltMnglGetObjPtrByName(objPtr, ptr))
+    {
+      printf("-E- fail to get object by name %s\n",
+             Tcl_GetStringFromObj(objPtr, &i));
+      return Tcl_GetStringFromObj(objPtr, &i);
+    }
+    return 0;
+  }
+
+  _p = 0;
+
+  /* Extract the pointer value as a string */
+  _c = Tcl_GetStringFromObj(objPtr, &i);
+
+  /* Pointer values must start with leading underscore */
+  if (*_c == '_')
+  {
+    _c++;
+    /* Extract hex value from pointer */
+    while (*_c) {
+      if ((*_c >= '0') && (*_c <= '9'))
+        _p = (_p << 4) + (*_c - '0');
+      else if ((*_c >= 'a') && (*_c <= 'f'))
+        _p = (_p << 4) + ((*_c - 'a') + 10);
+      else
+        break;
+      _c++;
+    }
+
+    if (_t)
+    {
+      if (strcmp(_t,_c))
+      {
+        if (!SwigPtrSort)
+        {
+          qsort((void *) SwigPtrTable, SwigPtrN, sizeof(SwigPtrType), swigsort);
+          for (i = 0; i < 256; i++) {
+            SwigStart[i] = SwigPtrN;
+          }
+          for (i = SwigPtrN-1; i >= 0; i--) {
+            SwigStart[(int) (SwigPtrTable[i].name[1])] = i;
+          }
+          for (i = 255; i >= 1; i--) {
+            if (SwigStart[i-1] > SwigStart[i])
+              SwigStart[i-1] = SwigStart[i];
+          }
+          SwigPtrSort = 1;
+          for (i = 0; i < SWIG_CACHESIZE; i++)
+            SwigCache[i].stat = 0;
+        }
+
+        /* First check cache for matches.  Uses last cache value as starting point */
+        cache = &SwigCache[SwigLastCache];
+        for (i = 0; i < SWIG_CACHESIZE; i++) {
+          if (cache->stat)
+          {
+            if (strcmp(_t,cache->name) == 0)
+            {
+              if (strcmp(_c,cache->mapped) == 0)
+              {
+                cache->stat++;
+                *ptr = (void *) _p;
+                if (cache->tp->cast) *ptr = (*(cache->tp->cast))(*ptr);
+                return (char *) 0;
+              }
+            }
+          }
+          SwigLastCache = (SwigLastCache+1) & SWIG_CACHEMASK;
+          if (!SwigLastCache) cache = SwigCache;
+          else cache++;
+        }
+        /* We have a type mismatch.  Will have to look through our type
+           mapping table to figure out whether or not we can accept this datatype */
+
+        start = SwigStart[(int) _t[1]];
+        end = SwigStart[(int) _t[1]+1];
+        sp = &SwigPtrTable[start];
+        while (start < end) {
+          if (swigcmp(_t,sp) == 0) break;
+          sp++;
+          start++;
+        }
+        if (start >= end) sp = 0;
+        /* Try to find a match for this */
+        if (sp)
+        {
+          while (swigcmp(_t,sp) == 0) {
+            name = sp->name;
+            len = sp->len;
+            tp = sp->next;
+            /* Try to find entry for our given datatype */
+            while(tp) {
+              if (tp->len >= 255)
+              {
+                return _c;
+              }
+              strcpy(temp_type,tp->name);
+              strncat(temp_type,_t+len,255-tp->len);
+              if (strcmp(_c,temp_type) == 0)
+              {
+
+                strcpy(SwigCache[SwigCacheIndex].mapped,_c);
+                strcpy(SwigCache[SwigCacheIndex].name,_t);
+                SwigCache[SwigCacheIndex].stat = 1;
+                SwigCache[SwigCacheIndex].tp = tp;
+                SwigCacheIndex = SwigCacheIndex & SWIG_CACHEMASK;
+
+                /* Get pointer value */
+                *ptr = (void *) _p;
+                if (tp->cast) *ptr = (*(tp->cast))(*ptr);
+                return (char *) 0;
+              }
+              tp = tp->next;
+            }
+            sp++;
+            /* Hmmm. Didn't find it this time */
+          }
+        }
+        /* Didn't find any sort of match for this data.
+           Get the pointer value and return the received type */
+        *ptr = (void *) _p;
+        return _c;
+      }
+      else
+      {
+        /* Found a match on the first try.  Return pointer value */
+        *ptr = (void *) _p;
+        return (char *) 0;
+      }
+    }
+    else
+    {
+      /* No type specified.  Good luck */
+      *ptr = (void *) _p;
+      return (char *) 0;
+    }
+  }
+  else
+  {
+    if (strcmp (_c, "NULL") == 0)
+    {
+      *ptr = (void *) 0;
+      return (char *) 0;
+    }
+    *ptr = (void *) 0;
+    return _c;
+  }
+}
diff --git a/ibis/stamp-h1 b/ibis/stamp-h1
new file mode 100644
index 0000000..4547fe1
--- /dev/null
+++ b/ibis/stamp-h1
@@ -0,0 +1 @@
+timestamp for config.h
diff --git a/ibis/tests/Makefile b/ibis/tests/Makefile
new file mode 100644
index 0000000..aabb897
--- /dev/null
+++ b/ibis/tests/Makefile
@@ -0,0 +1,379 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# tests/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ibis
+pkglibdir = $(libdir)/ibis
+pkgincludedir = $(includedir)/ibis
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i486-pc-linux-gnu
+host_triplet = i486-pc-linux-gnu
+subdir = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run automake-1.9
+AWK = mawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEBUG_FALSE = 
+DEBUG_TRUE = #
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = -g -O2
+HAS_SWIG_FALSE = #
+HAS_SWIG_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/missing --run makeinfo
+OBJEXT = o
+OSM_BUILD = openib
+OSM_BUILD_OPENIB_FALSE = #
+OSM_BUILD_OPENIB_TRUE = 
+OSM_CFLAGS = -I/usr/include/infiniband -I/usr/include  -DOSM_VENDOR_INTF_OPENIB  -DOSM_BUILD_OPENIB -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
+OSM_LDFLAGS = -Wl,-rpath -Wl,/usr/lib -L/usr/lib -lopensm -losmvendor -losmcomp -libumad -libcommon
+OSM_VENDOR = openib
+OSM_VENDOR_MTL_FALSE = 
+OSM_VENDOR_MTL_TRUE = #
+OSM_VENDOR_SIM_FALSE = 
+OSM_VENDOR_SIM_TRUE = #
+OSM_VENDOR_TS_FALSE = 
+OSM_VENDOR_TS_TRUE = #
+PACKAGE = ibis
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+SWIG = echo "Error: SWIG version == 1.1.5 is required.  You have 1.3.36.  You should look at http://www.swig.org" ; false
+SWIG_LIB = "Error: SWIG version == 1.1.5 is required. You have 1.3.36. You should look at http://www.swig.org" ; false -swiglib
+TCLSH = /usr/bin/tclsh
+TCL_CPPFLAGS = -I/usr/include/tcl8.4
+TCL_DEFS = -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPW [...]
+TCL_LIBS = -L/usr/lib64 -ltcl8.4${TCL_DBGX} -ldl -lpthread  -lm
+TCL_PREFIX = /usr
+VERSION = 1.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i486-pc-linux-gnu
+build_alias = i486-linux-gnu
+build_cpu = i486
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i486-pc-linux-gnu
+host_alias = 
+host_cpu = i486
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = /home/gmpc/work/infiniband/ofed-1.4/debs/ibutils-1.2/ibis/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = /etc
+target_alias = 
+with_osm = /usr
+
+# All the provided in package systems:
+KNOWN_TESTS = $(wildcard $(srcdir)/*.tcl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_TESTS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_TESTS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+#	mkdir -p $(libdir)/ibis$(VERSION)/tests
+#	for s in $(KNOWN_TESTS); do cp $$s $(libdir)/ibis$(VERSION)/tests; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/tests/Makefile.am b/ibis/tests/Makefile.am
new file mode 100644
index 0000000..fcae85a
--- /dev/null
+++ b/ibis/tests/Makefile.am
@@ -0,0 +1,13 @@
+# All the provided in package systems:
+KNOWN_TESTS = $(wildcard $(srcdir)/*.tcl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_TESTS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_TESTS)
+
+install-data-am:
+#	mkdir -p $(libdir)/ibis$(VERSION)/tests
+#	for s in $(KNOWN_TESTS); do cp $$s $(libdir)/ibis$(VERSION)/tests; done
+
diff --git a/ibis/tests/Makefile.in b/ibis/tests/Makefile.in
new file mode 100644
index 0000000..c9b4853
--- /dev/null
+++ b/ibis/tests/Makefile.in
@@ -0,0 +1,379 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/osm.m4 \
+	$(top_srcdir)/config/swig.m4 $(top_srcdir)/config/tcl.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_osm = @with_osm@
+
+# All the provided in package systems:
+KNOWN_TESTS = $(wildcard $(srcdir)/*.tcl)
+
+# We only want to distriute these files
+pkgdata_DATA = $(KNOWN_TESTS)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(KNOWN_TESTS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+install-data-am:
+#	mkdir -p $(libdir)/ibis$(VERSION)/tests
+#	for s in $(KNOWN_TESTS); do cp $$s $(libdir)/ibis$(VERSION)/tests; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibis/tests/ibcr_test.tcl b/ibis/tests/ibcr_test.tcl
new file mode 100755
index 0000000..23de035
--- /dev/null
+++ b/ibis/tests/ibcr_test.tcl
@@ -0,0 +1,261 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+   exec tclsh "$0" "$@"
+
+set Usage "Usage: $argv0 portNum <is3Lid> <remTavorLid> <badLid>"
+
+set Help "
+
+IBCR API Test
+
+SYNOPSYS:
+ $Usage
+
+DESCRIPTION:
+ This simple test works at the CR Space lowest level interface.
+ It perfoems the following checks.
+
+API crMultiMaxGet :
+max_get_1 - simply invoke and verify we get 64
+
+API crRead :
+get_1 - Use a good IS3 lid - check we did obtain device id
+get_2 - Use a good Tavor lid - check we did obtain device id
+get_3 - Use a bad  lid - check we fail
+
+API crReadMulti :
+get_multi1 - Use local and remote lids - check we did obtain some data.
+get_multi2 - Use local, remote and bad lids - check we did obtain some data.
+
+API crWrite :
+write1 - write to Tavor  and Read to see if got it.
+write2 - write to IS3  and Read to see if got it.
+write3 - write to bad lid - make sure we got an error
+
+API crWriteMulti :
+write_multi1 - write to the 2 tavors
+write_multi2 - write twice to the IS3
+
+"
+########################################################################
+
+# provide a verbose evaluation method:
+proc ex {expr} {
+   global verbose
+
+   if {$verbose} {puts "EX: $expr"}
+   if {[catch {eval "set res \[$expr\]"} e]} {
+      if {$verbose} {puts "EX: ERR: $e"}
+      return $e
+   } else {
+      if {$verbose} {puts "EX: => $res"}
+   }
+   return $res
+}
+
+# given a key and a list of ley/value pairs get the pair
+proc assoc {key key_list} {
+	foreach kv $key_list {
+		if {[lindex $kv 0] == $key} {return [lrange $kv 1 end]}
+	}
+	return ""
+}
+
+# check if the given result is an error
+proc ibcr_is_error_res {data idx} {
+   if {[llength $data] < $idx + 1} {
+      puts "-E- Resulting list too short: idx:$idx $data"
+      return 0
+   }
+   return [regexp {ERROR} [lindex $data $idx]]
+}
+
+########################################################################
+
+#
+# PARSE COMMAND LINE
+#
+if {[llength $argv] && [lindex $argv 0] == "-v"} {
+   set argv [lrange $argv 1 end]
+   set verbose 1
+} else {
+   set verbose 0
+}
+
+if {[llength $argv] != 4} {
+   puts $Usage
+   exit
+}
+
+set doBadCases 1
+set numLoops 1
+
+set locPort     [lindex $argv 0]
+set is3Lid      [lindex $argv 1]
+set remTavorLid [lindex $argv 2]
+set badLid      [lindex $argv 3]
+
+#
+# Set ibis port:
+#
+package require ibis
+ibis_set_verbosity 0xff
+ibis_opts configure -log_file /tmp/ibcr_test.log
+ibis_init
+
+set availPorts [ibis_get_local_ports_info]
+
+# make sure we can bind to the requested port
+if {[llength $availPorts] < $locPort} {
+   puts "-E- Not enough local ports: [llength $availPorts] (required $locPort)"
+   exit
+}
+
+set portInfo [lindex $availPorts [expr $locPort - 1]]
+# make sure it is active...
+if {[lindex $portInfo 2] != "ACTIVE"} {
+   puts "-E- Requested port: $locPort status is:$portInfo"
+   exit
+}
+
+set locLid [expr [lindex $portInfo 1]]
+
+# bind to the port
+ibis_set_port [lindex $portInfo 0]
+
+package require ibcr
+
+#
+# Start API testing
+#
+set anyError 0
+
+for {set loop 0} {$loop < $numLoops} {incr loop} {
+   # API crMultiMaxGet :
+   # max_get_1 - simply invoke and verify we get 64
+   if {[ex crMultiMaxGet] != 64} {
+      puts "-E- crMultiMaxGet did not return 64"
+      incr anyError
+   }
+
+   #
+   # API crRead :
+   # get_1 - Use a good lid - check we did obtain some values
+   set data [ex "crRead $is3Lid 0x60014"]
+   set anafa2_id [lindex [lindex $data 1 ] 1 ]
+   if {[expr $anafa2_id & 0xffff] != 0xB924} {
+      puts "-E- Failed to InfiniScale3 Device ID. crRead failed."
+      incr anyError
+   }
+
+
+   set data [ex "crRead $remTavorLid 0xF0014"]
+   set tavor_id [lindex [lindex $data 1 ] 1 ]
+   if {[expr $tavor_id & 0xffff] != 0x5A44} {
+      puts "-E- Failed to Tavor Device ID. crRead failed."
+      incr anyError
+   }
+
+   if {$doBadCases} {
+      # get_cnt_2 - Use a bad  lid and port pair - check we fail
+      set data [ex "crRead $badLid 0xF0014"]
+      if {[lindex $data 0] != "TARGET_ERROR"} {
+         puts "-E- Failed to get an error on bad read."
+         incr anyError
+      }
+   }
+
+   #
+   # API crReadMulti :
+   # get_multi1 - Use local and remote lids - check we did devcie ids
+   set data [ex "crReadMulti 3 {$locLid $remTavorLid $is3Lid} 0xF0014"]
+   if {[llength $data] != 3} {
+      puts "-E- Fail to read multiple lids..."
+      incr anyError
+   }
+   # first and second should be Tavors:
+   set tavor_id [lindex [lindex [lindex $data 0] 1 ] 1 ]
+   if {[expr $tavor_id & 0xffff] != 0x5A44} {
+      puts "-E- Failed to validate Tavor Device ID for lid $locLid."
+      incr anyError
+   }
+   set tavor_id [lindex [lindex [lindex $data 1] 1 ] 1 ]
+   if {[expr $tavor_id & 0xffff] != 0x5A44} {
+      puts "-E- Failed to validate Tavor Device ID for lid $remTavorLid."
+      incr anyError
+   }
+   set data [ex "crReadMulti 3 {$locLid $remTavorLid $is3Lid} 0x60014"]
+   if {[llength $data] != 3} {
+      puts "-E- Fail to read multiple lids..."
+      incr anyError
+   }
+   # Third is an IS3:
+   set is3_id [lindex [lindex [lindex $data 2] 1 ] 1 ]
+   if {[expr $is3_id & 0xffff] != 0xB924} {
+      puts "-E- Failed to validate IS3 Device ID for lid $is3Lid."
+      incr anyError
+   }
+
+   # get_multi2 - Use local, remote and bad lids - check we obtain some data.
+   set lidsList "$locLid $remTavorLid $is3Lid"
+   for {set badIdx 0} {$badIdx < 4} {incr badIdx} {
+      set lids [linsert $lidsList $badIdx $badLid]
+      set data [ex "crReadMulti 4 {$lids} 0x60014"]
+      for {set i 0} {$i < 4} {incr i} {
+         if {$i == $badIdx} {
+            if {![ibcr_is_error_res $data $i]} {
+               puts "-E- Failed to get error in idx:$badIdx of lids:$lids $data"
+               incr anyError
+            }
+         } else {
+            if {[ibcr_is_error_res $data $i]} {
+               puts "-E- Un-expected error in idx:$badIdx of lids:$lids $data"
+               incr anyError
+            }
+         }
+      }
+   }
+
+   # write to cr ...
+   # we are going to write to the PortRcvErrors ...
+   set addr 0x10130
+   set data [format "0x%08x" [expr int(rand()*0xffff)]]
+   set res [ex "crWrite $locLid $data $addr"]
+   if {$res != 0} {
+      puts "-E- Fail to write : crWrite $locLid $data $addr"
+      incr anyError
+   } else {
+      set rdata [ex "crRead $locLid $addr"]
+      set rdata [assoc data $rdata]
+      if {[expr $rdata & 0xffff] != $data} {
+         puts "-E- Failed to Read back written data. "
+         incr anyError
+      }
+   }
+
+   # do a multi write ...
+   set res [ex "crWriteMulti 2 {$locLid $remTavorLid} $data $addr"]
+   if {$res != 0} {
+      puts "-E- Fail to multi write : crWriteMulti 2 {$locLid $remTavorLid} $data $addr"
+      incr anyError
+   } else {
+      set rdata [ex "crRead $locLid $addr"]
+      set rdata [assoc data $rdata]
+      if {[expr $rdata & 0xffff] != $data} {
+         puts "-E- Failed to Read back written data. "
+         incr anyError
+      }
+      set rdata [ex "crRead $remTavorLid $addr"]
+      set rdata [assoc data $rdata]
+      if {[expr $rdata & 0xffff] != $data} {
+         puts "-E- Failed to Read back written data. "
+         incr anyError
+      }
+   }
+
+}
+
+if {$anyError} {
+   puts "-E- TEST FAILED (with $anyError errors)"
+}
+exit $anyError
diff --git a/ibis/tests/ibpm_test.tcl b/ibis/tests/ibpm_test.tcl
new file mode 100755
index 0000000..23c21d6
--- /dev/null
+++ b/ibis/tests/ibpm_test.tcl
@@ -0,0 +1,308 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+   exec tclsh8.3 "$0" "$@"
+
+set Usage "Usage: $argv0 portNum <rem_lid> <rem_port> <bad_lid> <bad_port>"
+
+set Help "
+
+IBPM API Test
+
+SYNOPSYS:
+ $Usage
+
+DESCRIPTION:
+ This simple test works at the PM lowest level interface.
+ It perfoems the following checks.
+
+API pmMultiMaxGet :
+max_get_1 - simply invoke and verify we get 64
+
+API pmGetPortCounters :
+get_cnt_1 - Use a good lid and port pair - check we did obtain some values
+get_cnt_2 - Use a bad  lid and port pair - check we fail
+
+API pmGetPortCountersMulti :
+get_multi1 - Use local and remote ports - check we did obtain some data.
+get_multi2 - Use local, remote and bad ports - check we did obtain some data.
+
+API pmClrAllCounters :
+clr1 - Clear local port - make sure we got 0...
+clr2 - Clear remote port - make sure we got 0...
+clr3 - Clear bad port - make sure we got an error
+
+API pmClrAllCountersMulti :
+clr_multi1 - Clear local and remote ports - make sure we got 0...
+clr_multi2 - Clear local, remote and bad port - make sure we got 0s abnd err
+
+FLOWS:
+flow1 - get ports on local and remote. See number of packets advanced on local
+TODO: flow2 - Validate each counter by using CR-Space access.
+
+"
+########################################################################
+
+# provide a verbose evaluation method:
+proc ex {expr} {
+   global verbose
+
+   if {$verbose} {puts "EX: $expr"}
+   if {[catch {eval "set res \[$expr\]"} e]} {
+      if {$verbose} {puts "EX: ERR: $e"}
+      return $e
+   } else {
+      if {$verbose} {puts "EX: => $res"}
+   }
+   return $res
+}
+
+# Make sure we got some reasonable counter values.
+proc ibpm_validate_counters {counters} {
+   return [regexp {port_select.*counter_select.*symbol_error_counter.*port_rcv_pkts} $counters]
+}
+
+# Make sure counters were cleared. return 1 if all zeros.
+proc ibpm_validate_counters_cleared {counters} {
+   if {[regexp {counter_select.*\s+.([a-z][a-z_15]+\s+[1-9][0-9]+)} $counters d1 viol]} {
+      puts "-E- found non zero counters: $viol"
+      return 0
+   }
+   return 1
+}
+
+# given a key and a list of ley/value pairs get the pair
+proc assoc {key key_list} {
+	foreach kv $key_list {
+		if {[lindex $kv 0] == $key} {return [lrange $kv 1 end]}
+	}
+	return ""
+}
+
+########################################################################
+
+#
+# PARSE COMMAND LINE
+#
+if {[llength $argv] && [lindex $argv 0] == "-v"} {
+   set argv [lrange $argv 1 end]
+   set verbose 1
+} else {
+   set verbose 0
+}
+
+if {[llength $argv] != 5} {
+   puts $Usage
+   exit
+}
+
+set doBadCases 1
+set numLoops 10
+
+set locPort [lindex $argv 0]
+set remLid  [lindex $argv 1]
+set remPort [lindex $argv 2]
+set badLid  [lindex $argv 3]
+set badPort [lindex $argv 4]
+
+#
+# Set ibis port:
+#
+package require ibis
+ibis_set_verbosity 0xff
+set availPorts [ibis_get_local_ports_info]
+
+# make sure we can bind to the requested port
+if {[llength $availPorts] < $locPort} {
+   puts "-E- Not enough local ports: [llength $availPorts] (required $locPort)"
+   exit
+}
+
+set portInfo [lindex $availPorts [expr $locPort - 1]]
+# make sure it is active...
+if {[lindex $portInfo 2] != "ACTIVE"} {
+   puts "-E- Requested port: $locPort status is:$portInfo"
+   exit
+}
+
+set locLid [expr [lindex $portInfo 1]]
+
+# bind to the port
+ibis_set_port [lindex $portInfo 0]
+
+package require ibpm
+
+#
+# Start API testing
+#
+set anyError 0
+
+for {set i 0} {$i < $numLoops} {incr i} {
+   # API pmMultiMaxGet :
+   # max_get_1 - simply invoke and verify we get 64
+   if {[ex pmMultiMaxGet] != 64} {
+      puts "-E- pmMultiMaxGet did not return 64"
+      incr anyError
+   }
+
+   #
+   # API pmGetPortCounters :
+   # get_cnt_1 - Use a good lid and port pair - check we did obtain some values
+   set cnts [ex "pmGetPortCounters $locLid $locPort"]
+   if {![ibpm_validate_counters $cnts]} {
+      puts "-E- Failed to validate counters."
+      incr anyError
+   }
+
+   if {$doBadCases} {
+      # get_cnt_2 - Use a bad  lid and port pair - check we fail
+      set cnts [ex "pmGetPortCounters $badLid $badPort"]
+      if {[ibpm_validate_counters $cnts]} {
+         puts "-E- Failed to invalidate counters error."
+         incr anyError
+      }
+   }
+
+   #
+   # API pmGetPortCountersMulti :
+   # get_multi1 - Use local and remote ports - check we did obtain some data.
+   set cnts [ex "pmGetPortCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   if {![ibpm_validate_counters [lindex $cnts 0]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 0] "
+      incr anyError
+   }
+   if {![ibpm_validate_counters [lindex $cnts 1]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 1] "
+      incr anyError
+   }
+
+   # get_multi2 - Use local, remote and bad ports - check we obtain some data.
+   # Last is bad
+   set cnts [ex "pmGetPortCountersMulti 3 {$locLid $remLid $badLid} {$locPort $remPort $badPort}"]
+   if {![ibpm_validate_counters [lindex $cnts 0]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 0] "
+      incr anyError
+   }
+   if {![ibpm_validate_counters [lindex $cnts 1]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 1] "
+      incr anyError
+   }
+   if {[ibpm_validate_counters [lindex $cnts 2]]} {
+      puts "-E- Failed to invalidate bad counters:[lindex $cnts 2] "
+      incr anyError
+   }
+   # Middle BAD
+   set cnts [ex "pmGetPortCountersMulti 3 {$locLid $badLid $remLid} {$locPort $badPort $remPort}"]
+   if {![ibpm_validate_counters [lindex $cnts 0]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 0] "
+      incr anyError
+   }
+   if {![ibpm_validate_counters [lindex $cnts 2]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 2] "
+      incr anyError
+   }
+   if {[ibpm_validate_counters [lindex $cnts 1]]} {
+      puts "-E- Failed to invalidate bad counters:[lindex $cnts 1] "
+      incr anyError
+   }
+   # End BAD:
+   set cnts [ex "pmGetPortCountersMulti 3 {$badLid $locLid $remLid} {$badPort $locPort $remPort}"]
+   if {![ibpm_validate_counters [lindex $cnts 1]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 1] "
+      incr anyError
+   }
+   if {![ibpm_validate_counters [lindex $cnts 2]]} {
+      puts "-E- Failed to validate counters:[lindex $cnts 2] "
+      incr anyError
+   }
+   if {[ibpm_validate_counters [lindex $cnts 0]]} {
+      puts "-E- Failed to invalidate bad counters:[lindex $cnts 0] "
+      incr anyError
+   }
+
+   #
+   # API pmClrAllCounters :
+   # clr1 - Clear local port - make sure we got 0...
+   set err [ex "pmClrAllCounters $locLid $locPort"]
+   if {$err} {
+      puts "-E- Failed to clear counters on lid:$locLid port:$locPort  "
+      incr anyError
+   }
+   set cnts [ex "pmGetPortCounters $locLid $locPort"]
+   if {![ibpm_validate_counters_cleared [lindex $cnts 0]]} {
+      puts "-E- Some counters not cleared on lid:$locLid port:$locPort => [lindex $cnts 0]"
+      incr anyError
+   }
+   # clr2 - Clear remote port - make sure we got 0...
+   set err [ex "pmClrAllCounters $remLid $remPort"]
+   if {$err} {
+      puts "-E- Failed to clear counters on lid:$remLid port:$remPort  "
+      incr anyError
+   }
+   set cnts [ex "pmGetPortCounters $remLid $remPort"]
+   if {![ibpm_validate_counters_cleared [lindex $cnts 0]]} {
+      puts "-E- Some counters not cleared on lid:$remLid port:$remPort => [lindex $cnts 0]"
+      incr anyError
+   }
+
+   # clr3 - Clear bad port - make sure we got an error
+   set err [ex "pmClrAllCounters $badLid $badPort"]
+   if {$err == 0} {
+      puts "-E- Failed to catch bad clear counters on lid:$badLid port:$badPort  "
+      incr anyError
+   }
+
+   #
+   # API pmClrAllCountersMulti :
+   # clr_multi1 - Clear local and remote ports - make sure we got 0...
+   set err \
+      [ex "pmClrAllCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   if {$err != 0} {
+      puts "-E- Failed to clear counters on lid:$locLid port:$locPort => $err "
+      incr anyError
+   }
+   set multiCnts \
+      [ex "pmGetPortCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   foreach cnt $multiCnts {
+      if {![ibpm_validate_counters_cleared $cnts]} {
+         puts "-E- Some counters not cleared on lid:$remLid port:$remPort => $cnts"
+         incr anyError
+      }
+   }
+
+   # clr_multi2 - Clear local, remote and bad - make sure we got 0s abnd err
+   #
+   set err \
+      [ex "pmClrAllCountersMulti 2 {$locLid $remLid $badLid} {$locPort $remPort $badPort}"]
+   if {$err != 0} {
+      puts "-E- Failed to clear counters on lid:$locLid port:$locPort => $err "
+      incr anyError
+   }
+   set multiCnts \
+      [ex "pmGetPortCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   foreach cnt $multiCnts {
+      if {![ibpm_validate_counters_cleared $cnts]} {
+         puts "-E- Some counters not cleared on lid:$remLid port:$remPort => $cnts"
+         incr anyError
+      }
+   }
+
+   # FLOWS:
+   # flow1 - get ports on local and remote. See number packets advanced...
+   set cnts \
+      [ex "pmGetPortCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   set xmitPkts1 [assoc port_xmit_pkts [lindex $cnts 0]]
+   set cnts \
+      [ex "pmGetPortCountersMulti 2 {$locLid $remLid} {$locPort $remPort}"]
+   set xmitPkts2 [assoc port_xmit_pkts [lindex $cnts 0]]
+   if {$xmitPkts1 >= $xmitPkts2} {
+      puts "-E- Expected number of local port packets to grow. But xmitPkts1:$xmitPkts1 >= xmitPkts2:$xmitPkts2"
+      incr anyError
+   }
+
+   # flow2 - Validate each counter by using CR-Space access.
+}
+
+if {$anyError} {
+   puts "-E- TEST FAILED (with $anyError errors)"
+}
+exit $anyError
diff --git a/ibis/tests/ibvs_test.tcl b/ibis/tests/ibvs_test.tcl
new file mode 100755
index 0000000..39867c3
--- /dev/null
+++ b/ibis/tests/ibvs_test.tcl
@@ -0,0 +1,278 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+   exec tclsh8.3 "$0" "$@"
+
+set Usage "Usage: $argv0 portNum i2c|flash <remLid1> <remLid2>"
+
+set Help "
+
+IBVS API Test
+
+SYNOPSYS:
+ $Usage
+
+DESCRIPTION:
+ This simple test works at the Vendor Specific lowest level interface.
+ It either works on a flash or i2c controlled ROM.
+ It perfoems the following checks:
+
+vsMultiMaxGet
+max1 - verify we get 64
+
+vsI2cRead
+vsI2cReadMulti
+vsI2cWrite
+vsI2cWriteMulti
+
+We perform the following flow for verification:
+read1 - read some addresses from the EEPROM assuming fixed addresses
+read2 - repeat from teh other devices
+read3 - do multi read and verify we got same result
+read4 - try reading same multi read but this time with some garbadge lid too.
+        verify we still get what expect.
+writ1 - modify the data using vsI2cWrite (with some random data)
+read5 - make sure we get back what we expect
+writ2 - use vsI2cWriteMulti to recover old data
+read6 - use vsI2cReadMulti to verify we got it.
+
+vsFlashStartMulti
+vsFlashStopMulti
+vsFlashSetBankMulti
+vsFlashEraseSectorMulti
+vsFlashReadSectorMulti
+vsFlashWriteSectorMulti
+
+vsSWReset
+
+vsCpuRead TODO
+vsCpuWrite TODO
+vsGpioRead TODO
+vsGpioWrite TODO
+"
+########################################################################
+
+# provide a verbose evaluation method:
+proc ex {expr} {
+   global verbose
+
+   if {$verbose} {puts "EX: $expr"}
+   if {[catch {eval "set res \[$expr\]"} e]} {
+      if {$verbose} {puts "EX: ERR: $e"}
+      return $e
+   } else {
+      if {$verbose} {puts "EX: => $res"}
+   }
+   return $res
+}
+
+# given a key and a list of ley/value pairs get the pair
+proc assoc {key key_list} {
+	foreach kv $key_list {
+		if {[lindex $kv 0] == $key} {return [lrange $kv 1 end]}
+	}
+	return ""
+}
+
+########################################################################
+
+#
+# PARSE COMMAND LINE
+#
+if {[llength $argv] && [lindex $argv 0] == "-v"} {
+   set argv [lrange $argv 1 end]
+   set verbose 1
+} else {
+   set verbose 0
+}
+
+if {[llength $argv] != 4} {
+   puts $Usage
+   exit
+}
+
+set doBadCases 1
+set numLoops 1
+
+set locPort [lindex $argv 0]
+set mode    [lindex $argv 1]
+set remLid1 [lindex $argv 2]
+set remLid2 [lindex $argv 3]
+
+#
+# Set ibis port:
+#
+package require ibis
+ibis_set_verbosity 0xff
+set availPorts [ibis_get_local_ports_info]
+
+# make sure we can bind to the requested port
+if {[llength $availPorts] < $locPort} {
+   puts "-E- Not enough local ports: [llength $availPorts] (required $locPort)"
+   exit
+}
+
+set portInfo [lindex $availPorts [expr $locPort - 1]]
+# make sure it is active...
+if {[lindex $portInfo 2] != "ACTIVE"} {
+   puts "-E- Requested port: $locPort status is:$portInfo"
+   exit
+}
+
+set locLid [expr [lindex $portInfo 1]]
+
+# bind to the port
+ibis_set_port [lindex $portInfo 0]
+
+package require ibvs
+
+#
+# Start API testing
+#
+set anyError 0
+
+for {set i 0} {$i < $numLoops} {incr i} {
+   if {$mode == "i2c"} {
+      # read1 - read some addresses from the EEPROM assuming fixed addresses
+      set data [ex "vsI2cRead $remLid2 1 0x56 32 0x30"]
+      for {set i 0} {$i < 4} {incr i} {
+         set DATA1($i) [assoc data$i $data]
+      }
+      if {$DATA1(0) != "0x56010000"} {
+         puts "-E- Expected 0x56010000 as the data0 got:$DATA1(0)"
+         incr anyError
+      }
+      if {$DATA1(1) != "0x57010000"} {
+         puts "-E- Expected 0x57010000 as the data1 got:$DATA1(1)"
+         incr anyError
+      }
+      if {$DATA1(2) != "0x52010000"} {
+         puts "-E- Expected 0x52010000 as the data2 got:$DATA1(2)"
+         incr anyError
+      }
+      if {$DATA1(3) != "0x53010000"} {
+         puts "-E- Expected 0x53010000 as the data3 got:$DATA1(3)"
+         incr anyError
+      }
+
+      # read2 - repeat from the other devices
+      set data [ex "vsI2cRead $remLid1 1 0x56 32 0x30"]
+      for {set i 0} {$i < 4} {incr i} {
+         set DATA2($i) [assoc data$i $data]
+      }
+      if {$DATA2(0) != "0x56010000"} {
+         puts "-E- Expected 0x56010000 as the data0 got:$DATA2(0)"
+         incr anyError
+      }
+      if {$DATA2(1) != "0x57010000"} {
+         puts "-E- Expected 0x57010000 as the data1 got:$DATA2(1)"
+         incr anyError
+      }
+      if {$DATA2(2) != "0x52010000"} {
+         puts "-E- Expected 0x52010000 as the data2 got:$DATA2(2)"
+         incr anyError
+      }
+      if {$DATA2(3) != "0x53010000"} {
+         puts "-E- Expected 0x53010000 as the data3 got:$DATA2(3)"
+         incr anyError
+      }
+
+      # read3 - do multi read and verify we got same result
+      set mdata [ex "vsI2cReadMulti 2 {$remLid1 $remLid2} 1 0x56 32 0x30"]
+      if {[llength $mdata] != 2} {
+         puts "-E- Expected 2 sub lists in result for multi. Got:$mdata"
+         incr anyError
+      } else {
+         # OK SO GO CHEK IT:
+         for {set d 1} { $d <= 2} {incr d} {
+            set data [lindex $mdata [expr $d - 1]]
+            for {set i 0} {$i < 4} {incr i} {
+               set prev [lindex [array get DATA$d $i] 1]
+               set this [assoc data$i $data]
+               if {$prev != $this} {
+                  puts "-E- Missmatch on set:$d data:$i $prev != $this"
+                  incr anyError
+               }
+            }
+         }
+      }
+
+      # read4 - try reading same multi read but this time with some garbadge
+      #         lid too. verify we still get what expect.
+      set mdata [ex "vsI2cReadMulti 3 {$remLid1 $remLid2 99} 1 0x56 32 0x30"]
+      if {[llength $mdata] != 3} {
+         puts "-E- Expected 2 sub lists in result for multi. Got:$mdata"
+         incr anyError
+      } else {
+         # OK SO GO CHEK IT:
+         for {set d 1} { $d <= 2} {incr d} {
+            set data [lindex $mdata [expr $d - 1]]
+            for {set i 0} {$i < 4} {incr i} {
+               set prev [lindex [array get DATA$d $i] 1]
+               set this [assoc data$i $data]
+               if {$prev != $this} {
+                  puts "-E- Missmatch on set:$d data:$i $prev != $this"
+                  incr anyError
+               }
+            }
+         }
+         # check we did get an error on the last sublist:
+         set data [lindex $mdata 2]
+         if {![regexp ERROR $data]} {
+            puts "-E- Missing expected error on lid:99 doing vsI2cReadMulti"
+            incr anyError
+         }
+      }
+
+      # writ1 - modify the data using vsI2cWrite (with some random data)
+      set newWords {}
+      for {set i 0} {$i < 4} {incr i} {
+         lappend newWords [format "0x%08x" [expr int(rand()*0xfffffff*8)]]
+      }
+      set res [ex "vsI2cWrite $remLid1 1 0x56 16 0x30 {$newWords}"]
+      if {$res != 0} {
+         puts "-E- failed to write: sI2cWrite $remLid1 1 0x56 16 0x30 {$newWords}"
+         incr anyError
+      } else {
+         after 200
+         # read5 - make sure we get back what we expect
+         set data [ex "vsI2cRead $remLid1 1 0x56 16 0x30"]
+         for {set i 0} {$i < 4} {incr i} {
+            set prev [lindex $newWords $i]
+            set this [assoc data$i $data]
+            if {$prev != $this} {
+               puts "-E- Missmatch read back of written data-set:$d data:$i $prev != $this"
+               incr anyError
+            }
+         }
+      }
+      # writ2 - use vsI2cWriteMulti to recover old data
+      set oldWords "$DATA1(0) $DATA1(1) $DATA1(2) $DATA1(3)"
+      set res [ex "vsI2cWrite $remLid1 1 0x56 16 0x30 {$oldWords}"]
+      if {$res != 0} {
+         puts "-E- failed to write: sI2cWrite $remLid1 1 0x56 16 0x30 {$oldWords}"
+         incr anyError
+      } else {
+         # read6 - make sure we get back what we expect
+         after 200
+         set data [ex "vsI2cRead $remLid1 1 0x56 16 0x30"]
+         for {set i 0} {$i < 4} {incr i} {
+            set prev [lindex $oldWords $i]
+            set this [assoc data$i $data]
+            if {$prev != $this} {
+               puts "-E- Missmatch read back of reverted data-set:$d data:$i $prev != $this"
+               incr anyError
+            }
+         }
+      }
+
+      #
+   } else {
+      puts "-E- Unsupported Mode:$mode"
+      exit 1
+   }
+}
+
+if {$anyError} {
+   puts "-E- TEST FAILED (with $anyError errors)"
+}
+exit $anyError
diff --git a/ibis/tests/obj.tcl b/ibis/tests/obj.tcl
new file mode 100755
index 0000000..4cde229
--- /dev/null
+++ b/ibis/tests/obj.tcl
@@ -0,0 +1,18 @@
+proc objDump {obj} {
+	catch {$obj cget} atts
+	puts "---- Object Dump ------"
+	foreach attr [lindex $atts 0] {
+		set an [string range $attr 1 end]
+		puts "$an = [$obj cget $attr]"
+	}
+	puts "-----------------------"
+}
+
+proc objPtrDump {class objPtr} {
+	if {[catch {$class __obj -this $objPtr;} e]} {
+		puts $e
+	} else {
+		objDump __obj
+		rename __obj ""
+	}
+}
diff --git a/ibis/tests/sac_demo.tcl b/ibis/tests/sac_demo.tcl
new file mode 100755
index 0000000..06adc44
--- /dev/null
+++ b/ibis/tests/sac_demo.tcl
@@ -0,0 +1,69 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+   exec tclsh "$0" "$@"
+
+package require ibis
+
+# given a key and a list of ley/value pairs get the pair
+proc assoc {key key_list} {
+	foreach kv $key_list {
+		if {[lindex $kv 0] == $key} {return [lrange $kv 1 end]}
+	}
+	return ""
+}
+
+# Find the first available port that is not DOWN and
+# return its GUID
+proc Ibis_GetFirstAvailablePortGuid {} {
+	foreach GuidLidStat [ibis_get_local_ports_info] {
+		set portState [lindex $GuidLidStat 2]
+		if {$portState != "DOWN"} {
+			return [lindex $GuidLidStat 0]
+		}
+	}
+	return ""
+}
+
+# Use the first available port (active or init)
+set port_guid [Ibis_GetFirstAvailablePortGuid]
+if {$port_guid == ""} {
+	puts "-E- Fail to find any available port"
+	exit
+}
+puts "-I- Setting IBIS Port to $port_guid"
+ibis_set_port $port_guid
+
+package require ibsac
+
+# get all nodes
+set allNodes [sacNodeQuery getTable 0]
+
+# get all ports
+set allPorts [sacPortQuery getTable 0]
+
+# get SM Info from the local port
+set allSms [sacSmQuery getTable 0]
+
+# get all Links:
+set allLinks [sacLinkQuery getTable 0]
+
+puts "Found: [llength $allNodes] nodes [llength $allPorts] ports [llength $allSms] SMs [llength $allLinks] Links"
+
+foreach nr $allNodes {
+	# Get the Node Info and the GUID
+	set ni [sacNodeRec_node_info_get $nr]
+	puts "Node Guid:[sacNodeInfo_node_guid_get $ni]"
+	# garbadge collection
+	sacNodeRec_delete $nr
+}
+
+# Print the FDB of the first switch found:
+sacLFTQuery configure -lid 2
+set lfts [sacLFTQuery getTable $IB_LFT_COMPMASK_LID]
+foreach lft $lfts {
+   puts $lft
+}
+
+after 50000
+
+exit
diff --git a/ibmgtsim/AUTHORS b/ibmgtsim/AUTHORS
new file mode 100644
index 0000000..a979027
--- /dev/null
+++ b/ibmgtsim/AUTHORS
@@ -0,0 +1,2 @@
+Eitan Zahavi <eitan at mellanox.co.il>
+Nimrod Gindi <nimrodg at mellanox.co.il>
diff --git a/ibmgtsim/COPYING b/ibmgtsim/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/ibmgtsim/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+

+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+

+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+

+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+

+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ibmgtsim/ChangeLog b/ibmgtsim/ChangeLog
new file mode 100644
index 0000000..b9653ac
--- /dev/null
+++ b/ibmgtsim/ChangeLog
@@ -0,0 +1,14 @@
+2005-02-23  Eitan Zahavi  <eitan at mellanox.co.il>
+
+	* Added OpenIB license headers. Basically this is the first
+	publically released code.
+
+2005-07-10 Eitan Zahavi  <eitan at mellanox.co.il>
+	* Major update:
+	- Introduce RunSimTest and tests directory with a set of example tests
+	  and a simple way to run them
+	- MCMemberRecord mads can be injected from the simulator.
+	- PMA integrated into the simulator
+	- VSA integrated into the simulator
+	- All randomization in test flows should be done through a thread safe
+	  randomization angine
diff --git a/ibmgtsim/INSTALL b/ibmgtsim/INSTALL
new file mode 100644
index 0000000..23e5f25
--- /dev/null
+++ b/ibmgtsim/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/ibmgtsim/Makefile.am b/ibmgtsim/Makefile.am
new file mode 100644
index 0000000..a1fd0e9
--- /dev/null
+++ b/ibmgtsim/Makefile.am
@@ -0,0 +1,51 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+
+# note that order matters: make the lib first then use it
+SUBDIRS 		= src utils tests doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+
+ACLOCAL			= aclocal -I $(ac_aux_dir)
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in src; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
diff --git a/ibmgtsim/Makefile.in b/ibmgtsim/Makefile.in
new file mode 100644
index 0000000..b904e85
--- /dev/null
+++ b/ibmgtsim/Makefile.in
@@ -0,0 +1,691 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+#AUTOMAKE_OPTIONS 	= gnits
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config/config.guess config/config.sub config/depcomp \
+	config/install-sh config/ltmain.sh config/missing
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ibdm.m4 \
+	$(top_srcdir)/config/osm.m4 $(top_srcdir)/config/swig.m4 \
+	$(top_srcdir)/config/tcl.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I $(ac_aux_dir)
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+IBDM_REF_IS_USED_FALSE = @IBDM_REF_IS_USED_FALSE@
+IBDM_REF_IS_USED_TRUE = @IBDM_REF_IS_USED_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_ibdm = @with_ibdm@
+with_osm = @with_osm@
+
+# note that order matters: make the lib first then use it
+SUBDIRS = src utils tests doc
+
+# this will control the update of the files in order
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/config
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-recursive \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am uninstall-info-am
+
+
+# Support cleanup of swig wrappers
+swigclean:
+	for dir in src; do make -C $$dir swigclean; done
+
+#dist-hook:
+#	cd $(distdir)
+#	cp -rf $(top_srcdir)/Clusters Clusters
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibmgtsim/NEWS b/ibmgtsim/NEWS
new file mode 100644
index 0000000..e69de29
diff --git a/ibmgtsim/README b/ibmgtsim/README
new file mode 100644
index 0000000..1e13ab7
--- /dev/null
+++ b/ibmgtsim/README
@@ -0,0 +1,106 @@
+SOFTWARE DEPENDENCIES
+---------------------
+IBMgtSim depends on:
+* autoconf > 2.59
+* automake > 1.9.3
+* libtool > 1.4.2
+* tcl8.3/8.4 (dev-rpm or source)
+* OpenSM 1.7.0(or later) and
+* ibdm 1.0 or later
+
+During configuration you will need to provide paths to these
+packages if not installed in their "standard location".
+
+To do that please provide the following falgs to the configure command:
+1. tclsh path
+--with-tclsh=<tclsh executable>
+E.g.
+--with-tclsh=/usr/bin/tclsh8.4
+
+2. OpenSM path:
+--with-osm=<path to opensm executable>
+E.g.
+--with-osm=/usr/mellanox/osm-sim/bin/opensm
+
+3. ibdm path:
+--with-ibdm=<path to ibdm installation dir>
+E.g.
+--with-ibdm=/usr
+
+HOWTO BUILD
+-----------
+
+1. bootstrap:
+   In a fresh git co directory you need to run ./autogen.sh
+   Make sure the autoconf -V is version 2.59 or newer.
+
+2. configure:
+   ./configure --with-osm=<opensm install path> --prefix=<where ever you want>
+
+   Optionally you can add:
+   --enable-debug --enable-maintainer-mode
+
+   If there there is no IBDM installed on the machine you will need to provide:
+   --with-ibdm=<where ever you did install it>
+
+   NOTE: the pointer to the osm install path can be to any osm (not just the
+   one compiled with the simulator interface vendor layer. e.g. /usr)
+
+   --enable-maintainer-mode - will enable updating fo teh TCL API (by running
+     swig) after modifications to any of the .i files. It also enables update
+    of the ibnl_parser.cc, ibnl_parser.h after changes to ibnl_parser.yy and
+    similarly updates to ibnl_scanner.cc after modification of ibnl_scanner.ll
+
+   Example:
+    ./configure --enable-debug --enable-maintainer-mode \
+        --with-osm=/home/eitan/SW/osm/linuxuser/bin/x86/2.6.5/debug \
+        --prefix=/home/eitan/SW/cvsroot/IBMgtSim/usr \
+        --with-ibdm=/home/eitan/SW/ibdm_build/usr
+
+3. make:
+   simply 'make'
+
+4. install:
+   make install
+
+The following steps 5-7 describe the manual way to start the Simulator server
+and OpenSM. This information is provided mainly for reference, as the most
+practical way to run the Simulator is to use RunSimTest which is described in
+step 8.
+
+5. run the server:
+   setenv IBMGTSIM_DIR <some dir used by the server and its clients>
+   set path = ($path <prefix>/bin)
+   usr/bin/IBMgtSim -t <topology-file>
+   See more options using -h.
+
+6. create some dummy /proc file system for some nodes:
+   usr/bin/mkSimNodeDir -n <host-name(H-1)> -g $IBMGTSIM_DIR/ibmgtsim.guids.txt
+
+7. to run OpenSM with the simulator:
+   OpenSM with support for a special vendor - i.e. the simulator
+   should be built separatly. To do that you need to provide the
+   -b sim to the OpenSM install script and also define IBMGTSIMHOME
+   pointing to the prefix where the simulator was installed (above the bin
+   dir).
+
+   setenv IBMGTSIM_DIR <some dir used by the server and its clients>
+   setenv IBMGTSIM_NODE <one of the node names you generated /proc for>
+
+   Invoke OpenSM ...
+
+8. RunSimTest - a script to fire off the simulator and invoke a "simulation"
+   flow (in the simulator shell) as well as a "checker" flow that starts OpenSM
+   or any other client and validates teh results.
+
+   RunSimTest takes 3 parameters:
+   -f <sim flow> = name of a TCL file that runs in the simulator core.
+      You can use it to automate tasks like assigning "drop rate" for
+      links, disconnecting cables, reassign lids, etc.
+   -c <checker flow> = name of a TCL file that starts OpenSM or any
+      other client and communicate with the simulator shell via TCP/IP
+   -t <topology file> = the file holding the topology definition of the
+      fabric to be simulated.
+
+   The directory named "tests" holds several such files. Please see the
+   "tests/README" file for more details.
diff --git a/ibmgtsim/aclocal.m4 b/ibmgtsim/aclocal.m4
new file mode 100644
index 0000000..95207fa
--- /dev/null
+++ b/ibmgtsim/aclocal.m4
@@ -0,0 +1,7300 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+         [],
+         [m4_define([AC_PROVIDE_IFELSE],
+	         [m4_ifdef([AC_PROVIDE_$1],
+		           [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+  ])])
+dnl And a similar setup for Fortran 77 support
+  AC_PROVIDE_IFELSE([AC_PROG_F77],
+    [AC_LIBTOOL_F77],
+    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+      [AC_LIBTOOL_GCJ],
+      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	[AC_LIBTOOL_GCJ],
+      [ifdef([AC_PROG_GCJ],
+	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([A][M_PROG_GCJ],
+	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([LT_AC_PROG_GCJ],
+	     [define([LT_AC_PROG_GCJ],
+		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+    [AC_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+[$]*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "[$]0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+  ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$5], , :, [$5])
+else
+    ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                          [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    ifelse([$4], , :, [$4])
+else
+    ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+   ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+    	  lt_cv_dlopen_self_static, [dnl
+	  _LT_AC_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_AC_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         AC_MSG_RESULT([yes])
+       else
+  AC_MSG_RESULT([no])
+fi
+       ;;
+   *)
+  AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+        [include additional configurations @<:@automatic@:>@])],
+    [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    AC_MSG_WARN([output file `$ofile' does not exist])
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+    else
+      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+    "") ;;
+    *)  AC_MSG_ERROR([invalid tag name: $tagname])
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      AC_MSG_ERROR([tag name \"$tagname\" already exists])
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  AC_LIBTOOL_LANG_CXX_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+	  AC_LIBTOOL_LANG_F77_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+	  AC_LIBTOOL_LANG_GCJ_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+	AC_LIBTOOL_LANG_RC_CONFIG
+	;;
+
+      *)
+	AC_MSG_ERROR([Unsupported tag name: $tagname])
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    AC_MSG_ERROR([unable to update list of available tagged configurations.])
+  fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+    [AC_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case $enable_ltdl_convenience in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, lt_dlinit,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    LTDLINCL=
+  fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# Report which library types will actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+  AC_PROG_LD
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    _LT_AC_TAGVAR(archive_cmds, $1)=''
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	else
+	  # We have old collect2
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      _LT_AC_SYS_LIBPATH_AIX
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	_LT_AC_SYS_LIBPATH_AIX
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+    # as there is no search path for DLLs.
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(always_export_symbols, $1)=no
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  freebsd[[12]]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  freebsd-elf*)
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    aCC*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+        ;;
+      *)
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+    *)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+	;;
+    esac
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_TAGVAR(postdeps,$1)=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars.  Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    _LT_AC_TAGVAR(compiler, $1) \
+    _LT_AC_TAGVAR(CC, $1) \
+    _LT_AC_TAGVAR(LD, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+    _LT_AC_TAGVAR(old_archive_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+    _LT_AC_TAGVAR(predep_objects, $1) \
+    _LT_AC_TAGVAR(postdep_objects, $1) \
+    _LT_AC_TAGVAR(predeps, $1) \
+    _LT_AC_TAGVAR(postdeps, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(archive_cmds, $1) \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(postinstall_cmds, $1) \
+    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+    _LT_AC_TAGVAR(no_undefined_flag, $1) \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+    _LT_AC_TAGVAR(hardcode_automatic, $1) \
+    _LT_AC_TAGVAR(module_cmds, $1) \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(exclude_expsyms, $1) \
+    _LT_AC_TAGVAR(include_expsyms, $1); do
+
+    case $var in
+    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(module_cmds, $1) | \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\[$]0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+    ;;
+  esac
+
+ifelse([$1], [],
+  [cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  AC_MSG_NOTICE([creating $ofile])],
+  [cfgfile="$ofile"])
+
+  cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+])
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  linux*)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  *)
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+],[
+  runpath_var=
+  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_AC_TAGVAR(archive_cmds, $1)=
+  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+  _LT_AC_TAGVAR(module_cmds, $1)=
+  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(always_export_symbols, $1)=no
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_AC_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=no
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix3*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_AC_TAGVAR(archive_cmds, $1)=''
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  else
+  	  # We have old collect2
+  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       _LT_AC_SYS_LIBPATH_AIX
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 _LT_AC_SYS_LIBPATH_AIX
+	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      # see comment about different semantics on the GNU ld section
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    bsdi[[45]]*)
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+      
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    openbsd*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	   ;;
+	 *)
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_AC_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/ibdm.m4])
+m4_include([config/osm.m4])
+m4_include([config/swig.m4])
+m4_include([config/tcl.m4])
diff --git a/ibmgtsim/autogen.sh b/ibmgtsim/autogen.sh
new file mode 100755
index 0000000..a780e64
--- /dev/null
+++ b/ibmgtsim/autogen.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# get two strings of version numbers
+# parse the two strings and compare
+function compare_versions() {
+   cat <<EOF > /tmp/$$.awk
+/[0-9]+\.[0-9]+(\.[0-9]+)?[    ]+[0-9]+\.[0-9]+(\.[0-9]+)?/{
+  vb = "$2";
+  nb = split(vb,b,"[.]");
+  va = "$1";
+  na = split(va,a,"[.]");
+  for (i = na + 1; i < 4; i++) {
+      a[i] = 0;
+  }
+  for (i = nb + 1; i < 4; i++) {
+      b[i] = 0;
+  }
+  for (i = 1; i <= 3; i++) {
+    if (b[i] < a[i]) {
+#      print "FAIL:" va ">" vb " at index:" i;
+        exit(1);
+    } else if (b[i] > a[i]) {
+#       print "OK:" va "<" vb " at index:" i;
+       exit(0);
+    }
+  }
+#  print "OK:" va "==" vb;
+  exit(0);
+}
+{
+  exit(1);
+}
+EOF
+  echo "$1 $2 " | awk -f /tmp/$$.awk
+  status=$?
+  rm /tmp/$$.awk
+  return $status
+}
+
+cd ${0%*/*}
+\rm -rf autom4te.cache
+\rm -rf aclocal.m4
+\rm -f config/missing config/install-sh config/depcomp config/mkinstalldirs config/ltmain.sh config/config.sub config/config.guess
+# make sure autoconf is up-to-date
+ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
+compare_versions 2.59 $ac_ver
+if test $? = 1; then
+    echo Min autoconf version is 2.59
+    exit 1
+fi
+
+# make sure automake is up-to-date
+am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
+compare_versions 1.9.2 $am_ver
+if test $? = 1; then
+    echo Min automake version is 1.9.2
+    exit 1
+fi
+
+# make sure libtool is up-to-date
+lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
+compare_versions 1.4.2 $lt_ver
+if test $? = 1; then
+    echo Min libtool version is 1.4.2
+    exit 1
+fi
+
+aclocal -I config 2>&1 | grep -v "warning: underquoted definition "
+libtoolize --automake --copy --force
+automake --add-missing --copy --gnu --force
+autoconf
diff --git a/ibmgtsim/config.h.in b/ibmgtsim/config.h.in
new file mode 100644
index 0000000..6c3aa60
--- /dev/null
+++ b/ibmgtsim/config.h.in
@@ -0,0 +1,76 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `regcomp' function. */
+#undef HAVE_REGCOMP
+
+/* Define to 1 if you have the `regexec' function. */
+#undef HAVE_REGEXEC
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/ibmgtsim/config/config.guess b/ibmgtsim/config/config.guess
new file mode 100755
index 0000000..ad5281e
--- /dev/null
+++ b/ibmgtsim/config/config.guess
@@ -0,0 +1,1466 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-08-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per at bothner.com>.
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibmgtsim/config/config.sub b/ibmgtsim/config/config.sub
new file mode 100755
index 0000000..1c366df
--- /dev/null
+++ b/ibmgtsim/config/config.sub
@@ -0,0 +1,1579 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/ibmgtsim/config/depcomp b/ibmgtsim/config/depcomp
new file mode 100755
index 0000000..04701da
--- /dev/null
+++ b/ibmgtsim/config/depcomp
@@ -0,0 +1,530 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2005-07-09.11
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibmgtsim/config/ibdm.m4 b/ibmgtsim/config/ibdm.m4
new file mode 100644
index 0000000..3144110
--- /dev/null
+++ b/ibmgtsim/config/ibdm.m4
@@ -0,0 +1,59 @@
+
+dnl ibdm.m4: an autoconf for IBDM reference
+dnl
+dnl
+dnl To use this macro, just do OPENIB_APP_IBDM.  It outputs
+dnl with-ibdm
+dnl If not successful, with_ibdm has the value "no".
+
+AC_DEFUN([OPENIB_APP_IBDM], [
+# --- BEGIN OPENIB_APP_IBDM ---
+dnl To link against IBDM, configure does several things to make my life
+dnl "easier".
+dnl
+dnl * if the user did define ibdm is look for it in "standard" places
+dnl * if can not be found - ask the user for --with-ibdm
+dnl
+
+dnl Define a way for the user to provide path to ibdm
+AC_ARG_WITH(ibdm,
+[  --with-ibdm=<dir> define where to find IBDM],
+AC_MSG_NOTICE(Using IBDM from:$with_ibdm),
+with_ibdm="none")
+
+dnl if the user did not provide --with-ibdm look for it in reasonable places
+if test "x$with_ibdm" = xnone; then
+   if test -d /usr/include/ibdm; then
+      with_ibdm=/usr
+   elif test -d [`pwd`]/ibdm; then
+      with_ibdm=[`pwd`]/ibdm
+   elif test -d [`pwd`]/../ibdm; then
+      with_ibdm=[`pwd`]/../ibdm
+   else
+      AC_MSG_ERROR([--with-ibdm must be provided - failed to find standard IBDM installation])
+   fi
+fi
+
+dnl validate the defined path
+if test -f $with_ibdm/include/ibdm/Fabric.h; then
+   AC_MSG_NOTICE([IBDM was installed in $with_ibdm])
+   ibdm_ref_is_used=0
+elif test -f $with_ibdm/ibdm/Fabric.h; then
+   AC_MSG_NOTICE([IBDM building from sources: $with_ibdm])
+   if test ! -d ../ibdm; then
+     AC_MSG_ERROR([IBDM sources provided - but ibdm was not built in ../ibdm])
+   fi
+   dnl we actually want to create a link to the ibdm sources
+   ln -s $with_ibdm/ibdm src/ibdm
+   ibdm_ref_is_used=1
+else
+   AC_MSG_ERROR([ IBDM Fabric.h not found under $with_ibdm/include/ibdm/])
+fi
+
+AM_CONDITIONAL([IBDM_REF_IS_USED], test $ibdm_ref_is_used = 1)
+
+AC_SUBST(with_ibdm)
+
+# --- OPENIB_APP_IBDM ---
+]) dnl OPENIB_APP_IBDM
+
diff --git a/ibmgtsim/config/install-sh b/ibmgtsim/config/install-sh
new file mode 100755
index 0000000..4d4a951
--- /dev/null
+++ b/ibmgtsim/config/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibmgtsim/config/ltmain.sh b/ibmgtsim/config/ltmain.sh
new file mode 100644
index 0000000..8fc56db
--- /dev/null
+++ b/ibmgtsim/config/ltmain.sh
@@ -0,0 +1,6871 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.22 Debian 1.5.22-2"
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes.
+if test -n "${ZSH_VERSION+set}" ; then
+  setopt NO_GLOB_SUBST
+fi
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  $echo "$modename: not configured to build any kind of library" 1>&2
+  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+	# Failing that, at least try and use $RANDOM to avoid a race
+	my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+	save_mktempdir_umask=`umask`
+	umask 0077
+	$mkdir "$my_tmpdir"
+	umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+	exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 | \
+	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	case $arg in
+	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	CC_quoted="$CC_quoted $arg"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	    # Double-quote args containing other shell metacharacters.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    CC_quoted="$CC_quoted $arg"
+	  done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  $echo "$modename: unable to infer tagged configuration"
+	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit $EXIT_FAILURE
+#        else
+#          $echo "$modename: using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+
+    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+      exit $EXIT_FAILURE
+    fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+    my_status=""
+
+    $show "${rm}r $my_gentop"
+    $run ${rm}r "$my_gentop"
+    $show "$mkdir $my_gentop"
+    $run $mkdir "$my_gentop"
+    my_status=$?
+    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+      exit $my_status
+    fi
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+      my_xdir="$my_gentop/$my_xlib"
+
+      $show "${rm}r $my_xdir"
+      $run ${rm}r "$my_xdir"
+      $show "$mkdir $my_xdir"
+      $run $mkdir "$my_xdir"
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+	exit $exit_status
+      fi
+      case $host in
+      *-darwin*)
+	$show "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	if test -z "$run"; then
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+	  if test -n "$darwin_arches"; then 
+	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      lipo -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    ${rm}r unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd "$darwin_orig_dir"
+ 	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	fi # $run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+        ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+    func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+  arg="$1"
+  shift
+
+  case $arg in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case $prev in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+      preserve_args="${preserve_args}=$arg"
+
+      # Check whether tagname contains only valid characters
+      case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+	$echo "$progname: invalid tag name: $tagname" 1>&2
+	exit $EXIT_FAILURE
+	;;
+      esac
+
+      case $tagname in
+      CC)
+	# Don't test for the "default" C tag, as we know, it's there, but
+	# not specially marked.
+	;;
+      *)
+	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+	  taglist="$taglist $tagname"
+	  # Evaluate the configuration.
+	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+	else
+	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+	fi
+	;;
+      esac
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case $arg in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    $echo
+    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
+    $echo "This is free software; see the source for copying conditions.  There is NO"
+    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    exit $?
+    ;;
+
+  --config)
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+    done
+    exit $?
+    ;;
+
+  --debug)
+    $echo "$progname: enabling shell trace mode"
+    set -x
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    $echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $echo "enable shared libraries"
+    else
+      $echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $echo "enable static libraries"
+    else
+      $echo "disable static libraries"
+    fi
+    exit $?
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
+  --quiet | --silent)
+    show=:
+    preserve_args="$preserve_args $arg"
+    ;;
+
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+    case $nonopt in
+    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+      mode=link
+      for arg
+      do
+	case $arg in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case $mode in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  if test -n "$libobj" ; then
+	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+ 	  for arg in $args; do
+	    IFS="$save_ifs"
+
+	    # Double-quote args containing other shell metacharacters.
+	    # Many Bourne shells cannot handle close brackets correctly
+	    # in scan sets, so we specify it separately.
+	    case $arg in
+	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	      arg="\"$arg\""
+	      ;;
+	    esac
+	    lastarg="$lastarg $arg"
+	  done
+	  IFS="$save_ifs"
+	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	* )
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      case $lastarg in
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, and some SunOS ksh mistreat backslash-escaping
+      # in scan sets (worked around with variable expansion),
+      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+      # at all, so we specify them separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      base_compile="$base_compile $lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      $echo "$modename: you must specify an argument for -Xcompile"
+      exit $EXIT_FAILURE
+      ;;
+    target)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *)
+      # Get the name of the library object.
+      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSifmso]'
+    case $libobj in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.ii) xform=ii ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case $libobj in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+    case $qlibobj in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qlibobj="\"$qlibobj\"" ;;
+    esac
+    test "X$libobj" != "X$qlibobj" \
+	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+      $echo "$srcfile" > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+    case $qsrcfile in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      qsrcfile="\"$qsrcfile\"" ;;
+    esac
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      if test ! -d "${xdir}$objdir"; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	exit_status=$?
+	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+	  exit $exit_status
+	fi
+      fi
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+        suppress_output=' >/dev/null 2>&1'
+      fi
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt $@"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat $save_arg`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		# If there is no directory component, then add one.
+		case $arg in
+		*/* | *\\*) . $arg ;;
+		*) . ./$arg ;;
+		esac
+
+		if test -z "$pic_object" || \
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none && \
+		   test "$non_pic_object" = none; then
+		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+
+		# Extract subdirectory from the argument.
+		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		if test "X$xdir" = "X$arg"; then
+		  xdir=
+		else
+		  xdir="$xdir/"
+		fi
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  libobjs="$libobjs $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if test -z "$run"; then
+		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+		  exit $EXIT_FAILURE
+		else
+		  # Dry-run case.
+
+		  # Extract subdirectory from the argument.
+		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+		  if test "X$xdir" = "X$arg"; then
+		    xdir=
+		  else
+		    xdir="$xdir/"
+		  fi
+
+		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+		  libobjs="$libobjs $pic_object"
+		  non_pic_objects="$non_pic_objects $non_pic_object"
+		fi
+	      fi
+	    done
+	  else
+	    $echo "$modename: link input file \`$save_arg' does not exist"
+	    exit $EXIT_FAILURE
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	shrext)
+  	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	darwin_framework|darwin_framework_skip)
+	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  prev=
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+	  exit $EXIT_FAILURE
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework|-arch|-isysroot)
+	case " $CC " in
+	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+		prev=darwin_framework_skip ;;
+	  *) compiler_flags="$compiler_flags $arg"
+	     prev=darwin_framework ;;
+	esac
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    absdir="$dir"
+	    notinst_path="$notinst_path $dir"
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs -framework System"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      -model)
+	compile_command="$compile_command $arg"
+	compiler_flags="$compiler_flags $arg"
+	finalize_command="$finalize_command $arg"
+	prev=xcompiler
+	continue
+	;;
+
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	compiler_flags="$compiler_flags $arg"
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m* pass through architecture-specific compiler args for GCC
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
+
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+        compile_command="$compile_command $arg"
+        finalize_command="$finalize_command $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case $flag in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  # If there is no directory component, then add one.
+	  case $arg in
+	  */* | *\\*) . $arg ;;
+	  *) . ./$arg ;;
+	  esac
+
+	  if test -z "$pic_object" || \
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none && \
+	     test "$non_pic_object" = none; then
+	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+ 	  else
+	    xdir="$xdir/"
+	  fi
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if test -z "$run"; then
+	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+	    exit $EXIT_FAILURE
+	  else
+	    # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+	    non_pic_objects="$non_pic_objects $non_pic_object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case $arg in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done # argument parsing loop
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d "$output_objdir"; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+	exit $exit_status
+      fi
+    fi
+
+    # Determine the type of output
+    case $output in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      duplicate_compiler_generated_deps=yes
+      ;;
+    *)
+      duplicate_compiler_generated_deps=$duplicate_deps
+      ;;
+    esac
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
+	esac
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if (${SED} -e '2q' $lib |
+                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		  library_names=
+		  old_library=
+		  case $lib in
+		  */* | *\\*) . $lib ;;
+		  *) . ./$lib ;;
+		  esac
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+		    test "X$ladir" = "X$lib" && ladir="."
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+	        ;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    valid_a_lib=no
+	    case $deplibs_check_method in
+	      match_pattern*)
+		set dummy $deplibs_check_method
+	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+		if eval $echo \"$deplib\" 2>/dev/null \
+		    | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		  valid_a_lib=yes
+		fi
+		;;
+	      pass_all)
+		valid_a_lib=yes
+		;;
+            esac
+	    if test "$valid_a_lib" != yes; then
+	      $echo
+	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+	      $echo "*** I have the capability to make that library automatically link in when"
+	      $echo "*** you link to this library.  But I can only do this if you have a"
+	      $echo "*** shared version of the library, which you do not appear to have"
+	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+	      $echo "*** that it is just a static archive that I should not used here."
+	    else
+	      $echo
+	      $echo "*** Warning: Linking the shared library $output against the"
+	      $echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	case $lib in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit $EXIT_FAILURE
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    notinst_deplibs="$notinst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on
+	  # some systems (darwin)
+	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+	    $echo
+	    if test "$linkmode" = prog; then
+	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $echo "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw*)
+		major=`expr $current - $age`
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$extract_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      save_ifs="$IFS"; IFS='~'
+	      cmds=$old_archive_from_expsyms_cmds
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a module then we can not link against
+		    # it, someone is ignoring the new warnings I added
+		    if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
+		      $echo "** Warning, lib $linklib is a module, not a shared library"
+		      if test -z "$old_library" ; then
+		        $echo
+		        $echo "** And there doesn't seem to be a static archive available"
+		        $echo "** The link will probably fail, sorry"
+		      else
+		        add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit $EXIT_FAILURE
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+	        add="$inst_prefix_dir$libdir/$linklib"
+	      else
+	        add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $echo
+	    $echo "*** Warning: This system can not link to static lib archive $lib."
+	    $echo "*** I have the capability to make that library automatically link in when"
+	    $echo "*** you link to this library.  But I can only do this if you have a"
+	    $echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $echo "*** But as you try to build a module library, libtool will still create "
+	      $echo "*** a static module, that should work as long as the dlopening application"
+	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$echo
+		$echo "*** However, this would only work if libtool was able to extract symbol"
+		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$echo "*** not find such a program.  So, this module is probably useless."
+		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="$absdir/$objdir"
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit $EXIT_FAILURE
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="$absdir"
+		fi
+		depdepl=
+		case $host in
+		*-*-darwin*)
+		  # we do not want to link against static libs,
+		  # but need to link against shared
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$path/$depdepl" ; then
+		      depdepl="$path/$depdepl"
+		    fi
+		    # do not add paths which are already there
+		    case " $newlib_search_path " in
+		    *" $path "*) ;;
+		    *) newlib_search_path="$newlib_search_path $path";;
+		    esac
+		  fi
+		  path=""
+		  ;;
+		*)
+		  path="-L$path"
+		  ;;
+		esac
+		;;
+	      -l*)
+		case $host in
+		*-*-darwin*)
+		  # Again, we only want to link against shared libraries
+		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+		  for tmp in $newlib_search_path ; do
+		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+		      break
+		    fi
+		  done
+		  path=""
+		  ;;
+		*) continue ;;
+		esac
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	      case " $deplibs " in
+	      *" $depdepl "*) ;;
+	      *) deplibs="$depdepl $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit $EXIT_FAILURE
+	else
+	  $echo
+	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  $echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test "$#" -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$2"
+	  number_minor="$3"
+	  number_revision="$4"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows)
+	    current=`expr $number_major + $number_minor`
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    current=`expr $number_major + $number_minor - 1`
+	    age="$number_minor"
+	    revision="$number_minor"
+	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$2"
+	  revision="$3"
+	  age="$4"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  minor_current=`expr $current + 1`
+	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	irix | nonstopux)
+	  major=`expr $current - $age + 1`
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=.`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+	         then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+	fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $notinst_path; do
+	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+ 	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+	  if test "$?" -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" -ne "0"; then
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+	        fi
+		if test -n "$i" ; then
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $echo
+		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+		    $echo "*** I have the capability to make that library automatically link in when"
+		    $echo "*** you link to this library.  But I can only do this if you have a"
+		    $echo "*** shared version of the library, which I believe you do not have"
+		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      name=`expr $i : '-l\(.*\)'`
+	      # If $name is empty we are operating on a -L argument.
+              if test "$name" != "" && test "$name" != "0"; then
+		$rm conftest
+		$LTCC $LTCFLAGS -o conftest conftest.c $i
+		# Did it work?
+		if test "$?" -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval \\$echo \"$libname_spec\"`
+		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		    set dummy $deplib_matches
+		    deplib_match=$2
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $echo
+		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+		      $echo "*** I have the capability to make that library automatically link in when"
+		      $echo "*** you link to this library.  But I can only do this if you have a"
+		      $echo "*** shared version of the library, which you do not appear to have"
+		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $echo
+		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** library that it depends on before this library will be fully"
+		  $echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+            if test "$name" != "" && test  "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | ${SED} 10q \
+			 | $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name=`expr $a_deplib : '-l\(.*\)'`
+	    # If $name is empty we are operating on a -L argument.
+	    if test -n "$name" && test "$name" != "0"; then
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval $echo \"$potent_lib\" 2>/dev/null \
+		        | ${SED} 10q \
+		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$echo
+		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+		$echo "*** I have the capability to make that library automatically link in when"
+		$echo "*** you link to this library.  But I can only do this if you have a"
+		$echo "*** shared version of the library, which you do not appear to have"
+		$echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $echo "*** with $libname and none of the candidates passed a file format test"
+		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	    -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	    done
+	  fi
+	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+	    | grep . >/dev/null; then
+	    $echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library is the System framework
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $echo
+	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $echo "*** a static module, that should work as long as the dlopening"
+	    $echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $echo
+	      $echo "*** However, this would only work if libtool was able to extract symbol"
+	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $echo "*** not find such a program.  So, this module is probably useless."
+	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $echo "*** The inter-library dependencies that have been dropped here will be"
+	    $echo "*** automatically added whenever a program is linked with this library"
+	    $echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $echo
+	      $echo "*** Since this library must not contain undefined symbols,"
+	      $echo "*** because either the platform does not support them or"
+	      $echo "*** it was explicitly requested with -no-undefined,"
+	      $echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      if len=`expr "X$cmd" : ".*"` &&
+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	        $show "$cmd"
+	        $run eval "$cmd" || exit $?
+	        skipped_export=false
+	      else
+	        # The command line is too long to execute in one step.
+	        $show "using reloadable object file for export list..."
+	        skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+		case " $convenience " in
+		*" $test_deplib "*) ;;
+		*)
+			tmp_deplibs="$tmp_deplibs $test_deplib"
+			;;
+		esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	  fi
+	fi
+	
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval test_cmds=\"$archive_expsym_cmds\"
+	  cmds=$archive_expsym_cmds
+	else
+	  eval test_cmds=\"$archive_cmds\"
+	  cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise.
+	  $echo "creating reloadable object files..."
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  delfiles=
+	  last_robj=
+	  k=1
+	  output=$output_objdir/$output_la-${k}.$objext
+	  # Loop over the list of objects to be linked.
+	  for obj in $save_libobjs
+	  do
+	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+	    if test "X$objlist" = X ||
+	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+		 test "$len" -le "$max_cmd_len"; }; then
+	      objlist="$objlist $obj"
+	    else
+	      # The command $test_cmds is almost too long, add a
+	      # command to the queue.
+	      if test "$k" -eq 1 ; then
+		# The first file doesn't have a previous command to add.
+		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+	      else
+		# All subsequent reloadable object files will link in
+		# the last one created.
+		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      fi
+	      last_robj=$output_objdir/$output_la-${k}.$objext
+	      k=`expr $k + 1`
+	      output=$output_objdir/$output_la-${k}.$objext
+	      objlist=$obj
+	      len=1
+	    fi
+	  done
+	  # Handle the remaining objects by creating one last
+	  # reloadable object file.  All subsequent reloadable object
+	  # files will link in the last one created.
+	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+	  if ${skipped_export-false}; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    libobjs=$output
+	    # Append the command to create the export file.
+	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+          fi
+
+	  # Set up a command to remove the reloadable object files
+	  # after they are used.
+	  i=0
+	  while test "$i" -lt "$k"
+	  do
+	    i=`expr $i + 1`
+	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+	  done
+
+	  $echo "creating a temporary reloadable object file: $output"
+
+	  # Loop through the commands generated above and execute them.
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $concat_cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    cmds=$archive_expsym_cmds
+	  else
+	    cmds=$archive_cmds
+	    fi
+	  fi
+
+	  # Append the command to remove the reloadable object files
+	  # to the just-reset $cmds.
+	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	fi
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      $show "${rm}r $gentop"
+	      $run ${rm}r "$gentop"
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case $output in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      cmds=$reload_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	cmds=$reload_cmds
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+      esac
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	;;
+      esac
+
+      case $host in
+      *darwin*)
+        # Don't allow lazy linking, it breaks C++ global constructors
+        if test "$tagname" = CXX ; then
+        compile_command="$compile_command ${wl}-bind_at_load"
+        finalize_command="$finalize_command ${wl}-bind_at_load"
+        fi
+        ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case $dlsyms in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$outputname.exp"
+	      $run $rm $export_symbols
+	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    else
+	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+	    $run eval '$echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+	    case $host in
+	    *cygwin* | *mingw* )
+	  $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs */
+struct {
+"
+	      ;;
+	    * )
+	  $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+	      ;;
+	    esac
+
+
+	  $echo >> "$output_objdir/$dlsyms" "\
+  const char *name;
+  lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	exit_status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case $dir in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
+  newargz = XMALLOC(char *, argc+2);
+EOF
+
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
+  /* we know the script has the same name, without the .exe */
+  /* so make sure newargz[1] doesn't end in .exe */
+  strendzap(newargz[1],".exe");
+  for (i = 1; i < argc; i++)
+    newargz[i+1] = xstrdup(argv[i]);
+  newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
+EOF
+
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",newargz);
+EOF
+              ;;
+            esac
+
+            cat >> $cwrappersource <<"EOF"
+  return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+  void * p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert(str != NULL);
+  assert(pat != NULL);
+
+  len = strlen(str);
+  patlen = strlen(pat);
+
+  if (patlen <= len)
+  {
+    str += len - patlen;
+    if (strcmp(str, pat) == 0)
+      *str = '\0';
+  }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+          const char * message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $echo >> $output "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  $echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$echo \"\$relink_command_output\" >&2
+	$rm \"\$progdir/\$file\"
+	exit $EXIT_FAILURE
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  $echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit $EXIT_FAILURE
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $echo "copying selected object files to avoid basename conflicts..."
+
+	  if test -z "$gentop"; then
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    exit_status=$?
+	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+	      exit $exit_status
+	    fi
+	  fi
+
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		counter=`expr $counter + 1`
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      $run ln "$obj" "$gentop/$newobj" ||
+	      $run cp "$obj" "$gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+
+	eval cmds=\"$old_archive_cmds\"
+
+	if len=`expr "X$cmds" : ".*"` &&
+	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  $echo "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  for obj in $save_oldobjs
+	  do
+	    oldobjs="$objlist $obj"
+	    objlist="$objlist $obj"
+	    eval test_cmds=\"$old_archive_cmds\"
+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+	       test "$len" -le "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+	        RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+        eval cmd=\"$cmd\"
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit $EXIT_FAILURE
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit $EXIT_FAILURE
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case $arg in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f) 
+      	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o) prev=$arg ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case $arg in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test "$#" -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  if test "$inst_prefix_dir" = "$destdir"; then
+	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  cmds=$postinstall_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || {
+	      lt_exit=$?
+
+	      # Restore the uninstalled library and exit
+	      if test "$mode" = relink; then
+		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      fi
+
+	      exit $lt_exit
+	    }
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      file=`$echo $file|${SED} 's,.exe$,,'`
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$notinst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case $lib in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # Note that it is not necessary on cygwin/mingw to append a dot to
+	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+	  # `FILE.' does not work on cygwin managed mounts.
+	  #
+	  # If there is no directory component, then add one.
+	  case $wrapper in
+	  */* | *\\*) . ${wrapper} ;;
+	  *) . ./${wrapper} ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir=`func_mktempdir`
+	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway 
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+	    ;;
+	  esac
+	  ;;
+	esac
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      cmds=$old_postinstall_cmds
+      save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	eval cmd=\"$cmd\"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  cmds=$finish_cmds
+	  save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    eval cmd=\"$cmd\"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit $EXIT_SUCCESS
+
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    $echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $echo "   $libdir"
+    done
+    $echo
+    $echo "If you ever happen to want to link against installed libraries"
+    $echo "in a given directory, LIBDIR, you must either use libtool, and"
+    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $echo
+    $echo "See any operating system documentation about shared libraries for"
+    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    $echo "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit $EXIT_FAILURE
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit $EXIT_FAILURE
+      fi
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case $file in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit $EXIT_FAILURE
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case $file in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) rm="$rm $arg"; rmforce=yes ;;
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if (test -L "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
+	|| test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      cmds=$postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      cmds=$old_postuninstall_cmds
+	      save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		eval cmd=\"$cmd\"
+		$show "$cmd"
+		$run eval "$cmd"
+		if test "$?" -ne 0 && test "$rmforce" != yes; then
+		  exit_status=1
+		fi
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+	  # Read the .lo file
+	  . $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" \
+	     && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" \
+	     && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    file=`$echo $file|${SED} 's,.exe$,,'`
+	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	    relink_command=
+	    . $dir/$noexename
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles || exit_status=1
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	$show "rmdir $dir"
+	$run rmdir $dir >/dev/null 2>&1
+      fi
+    done
+
+    exit $exit_status
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+    ;;
+  esac
+
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool at gnu.org>."
+  exit $EXIT_SUCCESS
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit $EXIT_FAILURE
+  ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/ibmgtsim/config/missing b/ibmgtsim/config/missing
new file mode 100755
index 0000000..894e786
--- /dev/null
+++ b/ibmgtsim/config/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ibmgtsim/config/osm.m4 b/ibmgtsim/config/osm.m4
new file mode 100644
index 0000000..da9ae81
--- /dev/null
+++ b/ibmgtsim/config/osm.m4
@@ -0,0 +1,204 @@
+
+dnl osm.m4: an autoconf for OpenSM (vendor and complib) reference
+dnl
+dnl
+dnl To use this macro, just do OPENIB_APP_OSM.
+dnl The following variables are defined:
+dnl with-osm - the osm installation prefix
+dnl OSM_CFLAGS - CFLAGS additions required (-I and debug )
+dnl OSM_LDFLAGS - a variable holding link directives
+dnl OSM_VENDOR - The type of vendor library available (ts, sim)
+dnl OSM_BUILD - The type of build used for buikding OpenSM either gen1 or openib
+dnl
+dnl Several conditionals are also defined:
+dnl OSM_BUILD_OPENIB - set when the build type is openib (gen2)
+dnl OSM_VENDOR_TS - should use gen1/gen2 API
+dnl OSM_VENDOR_SIM - interface a simulator vendor
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_osm has the value "no".
+
+AC_DEFUN([OPENIB_APP_OSM], [
+# --- BEGIN OPENIB_APP_OSM ---
+dnl To link against OpenSM Vendor or Complib, configure does several
+dnl things to make my life "easier".
+dnl
+dnl * if the user did define where opensm is look for it in "standard" places
+dnl * if can not be found - ask the user for --with-osm
+dnl * figure out if OpenSM was compiles in debug mode or not
+dnl
+dnl As we might have an OpenSM installation of IBGD or OpenIB and
+dnl different vendors too we need to use some heuristics for
+dnl figuring out the type of both STACK and VENDOR.
+dnl Heuristics is:
+dnl
+dnl If with_osm is not provided look fo it under:
+dnl   /usr/local/ibgd/apps/osm
+dnl   /usr/mellanox/osm
+dnl   /usr/mellanox/osm-sim
+dnl   /usr/local/lib/libopensm.a
+dnl   /usr/lib/libopensm.a
+dnl
+dnl Figure out what kind of BUILD it is gen1 or gen2:
+dnl if the with_osm/include/infiniband exists we are on gen2 stack
+dnl
+dnl Now decide what vendor was built:
+dnl if gen2 build
+dnl  if $with_osm/lib/osmvendor_gen1.so -> ts
+dnl  if $with_osm/lib/osmvendor_mtl.so -> mtl
+dnl  if $with_osm/lib/osmvendor_sim.so -> sim
+dnl  if $with_osm/lib/osmvendor.so -> openib
+dnl if gen1 build
+dnl  if $with_osm/lib/osmsvc_ts.so -> ts
+dnl  if $with_osm/lib/osmsvc_mtl.so -> mtl
+dnl  if $with_osm/lib/osmsvc_sim.so -> sim
+dnl ----------------------------------------------------------------
+
+dnl Define a way for the user to provide path to OpenSM
+AC_ARG_WITH(osm,
+[  --with-osm=<dir> define OSM prefix],
+AC_MSG_NOTICE(Using OSM from:$with_osm),
+with_osm="none")
+
+dnl Define a way for the user to provide path to OpenSM libs
+AC_ARG_WITH(osm-libs,
+[  --with-osm-libs=<dir> define where to find OSM libs],
+AC_MSG_NOTICE(Using OSM libs from:$with_osm_libs),
+with_osm_libs="none")
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+   dnl if the user did not provide --with-osm look for it in reasonable places
+   if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+      dnl if it is an ofed or gen2 install, we can use /etc/infiniband/info for searching opensm prefix
+      elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         AC_MSG_ERROR([OSM: --with-osm must be provided - fail to find standard OpenSM installation])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: used from $with_osm)
+
+   if test "x$with_osm_libs" = "xnone"; then
+   dnl if the user did not provide --with-osm-libs then look for it based on $with_osm
+      if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+   dnl check what build we have gen1 or gen2
+   if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   AC_MSG_NOTICE(OSM: build type $OSM_BUILD)
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+   dnl based on the with_osm dir and the libs available
+   dnl we can try and decide what vendor was used:
+   if test $OSM_BUILD = openib; then
+      dnl it is an OpenIB based build but can be any vendor too.
+      osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         AC_MSG_ERROR([OSM: Fail to recognize vendor type])
+      fi
+   fi
+   AC_MSG_NOTICE(OSM: vendor type $OSM_VENDOR)
+
+
+   dnl validate the defined path - so the build id header is there
+   AC_CHECK_FILE($osm_include_dir/opensm/osm_build_id.h,,
+      AC_MSG_ERROR([OSM: could not find $with_osm/include/opensm/osm_build_id.h]))
+
+   dnl now figure out somehow if the build was for debug or not
+   if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+      dnl why did they need so many ???
+      osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      AC_MSG_NOTICE(OSM: compiled in DEBUG mode)
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+   dnl dummy values
+   with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+AM_CONDITIONAL(OSM_VENDOR_TS, test "x$OSM_VENDOR" = xts)
+AM_CONDITIONAL(OSM_VENDOR_MTL, test "x$OSM_VENDOR" = xmtl)
+AM_CONDITIONAL(OSM_VENDOR_SIM, test "x$OSM_VENDOR" = xsim)
+AM_CONDITIONAL(OSM_BUILD_OPENIB, test "x$OSM_BUILD" = xopenib)
+
+AC_SUBST(with_osm)
+AC_SUBST(OSM_CFLAGS)
+AC_SUBST(OSM_LDFLAGS)
+AC_SUBST(OSM_VENDOR)
+AC_SUBST(OSM_BUILD)
+
+# --- OPENIB_APP_OSM ---
+]) dnl OPENIB_APP_OSM
+
diff --git a/ibmgtsim/config/swig.m4 b/ibmgtsim/config/swig.m4
new file mode 100644
index 0000000..ba895e6
--- /dev/null
+++ b/ibmgtsim/config/swig.m4
@@ -0,0 +1,93 @@
+dnl This macro checks for the existance of swig and defines the
+dnl corresponding SWIG variable.
+dnl
+dnl Synopsys:
+dnl    MLX_PROG_SWIG(maj.min.patch, eq|lt)
+dnl The second parameter defines the required relation of the found version
+dnl to the requested version:
+dnl lt - the found version required to be newer or equal to the maj.min.patch
+dnl eq - the found version required to be equal to the maj.min.patch
+dnl
+dnl Result:
+dnl    HAS_SWIG conditional - set to 1 if swig was found or 0 if not
+dnl    SWIG - the executable name
+dnl
+AC_DEFUN([MLX_PROG_SWIG],[
+   AC_PATH_PROG([SWIG],[swig])
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "$1" ; then
+      AC_MSG_CHECKING([for SWIG version])
+      [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+      AC_MSG_RESULT([$swig_version])
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         [required=$1]
+         [required_major=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_major" ; then
+            [required_major=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_minor=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_minor" ; then
+            [required_minor=0]
+         fi
+         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+         [required_patch=`echo $required | sed 's/[^0-9].*//'`]
+         if test -z "$required_patch" ; then
+            [required_patch=0]
+         fi
+         # Calculate the available version number components
+         [available=`echo $swig_version | sed 's/[^0-9]*//'`]
+         [available_major=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_major" ; then
+            [available_major=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_minor=`echo $available | sed 's/[^0-9].*//'`]
+         if test -z "$available_minor" ; then
+            [available_minor=0]
+         fi
+         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+         [available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `]
+         if test -z "$available_patch" ; then
+            [available_patch=0]
+         fi
+         # we have two modes of comparison...
+         if test x"$2" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               AC_MSG_WARN([SWIG version == $1 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org ])
+               SWIG='echo "Error: SWIG version == $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.  You should look at http://www.swig.org])
+               SWIG='echo "Error: SWIG version >= $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         AC_MSG_WARN([cannot determine SWIG version])
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+        dnl AC_MSG_INFO([SWIG executable is '$SWIG'])
+        SWIG_LIB=`$SWIG -swiglib`
+        dnl AC_MSG_INFO([SWIG runtime library directory is '$SWIG_LIB'])
+        AM_CONDITIONAL(HAS_SWIG,[test 1])
+   else
+        AM_CONDITIONAL(HAS_SWIG,[test 0])
+   fi
+   AC_SUBST([SWIG_LIB])
+])
diff --git a/ibmgtsim/config/tcl.m4 b/ibmgtsim/config/tcl.m4
new file mode 100644
index 0000000..1565d25
--- /dev/null
+++ b/ibmgtsim/config/tcl.m4
@@ -0,0 +1,191 @@
+
+dnl tcl.m4: an autoconf Tcl locator
+dnl
+dnl
+dnl BUGS
+dnl   The command-line arguments are overcomplicated.
+dnl   There are doubtlessly others...
+
+dnl To use this macro, just do MLX_LANG_TCL.  It outputs
+dnl TCL_LIBS, TCL_CPPFLAGS, and TCL_DEFS and SUBSTs them.
+dnl If successful, these have stuff in them.  If not, they're empty.
+dnl If not successful, with_tcl has the value "no".
+
+AC_DEFUN([MLX_LANG_TCL], [
+# --- BEGIN MLX_LANG_TCL ---
+dnl To link against Tcl, configure does several things to make my life
+dnl "easier".
+dnl
+dnl * maybe ask the user where they think Tcl lives, and try to find it
+dnl * maybe ask the user what "tclsh" is called this week (i.e., "tclsh8.0")
+dnl * run tclsh, ask it for a path, then run that path through sed
+dnl * sanity check its result (many installs are a little broken)
+dnl * try to figure out where Tcl is based on this result
+dnl * try to guess where the Tcl include files are
+dnl
+dnl Notes from previous incarnations:
+dnl > XXX MUST CHECK FOR TCL BEFORE KERBEROS V4 XXX
+dnl > This is because some genius at MIT named one of the Kerberos v4
+dnl > library functions log().  This of course conflicts with the
+dnl > logarithm function in the standard math library, used by Tcl.
+dnl
+dnl > Checking for Tcl first puts -lm before -lkrb on the library list.
+dnl
+
+dnl do not do anything if we are in disabled libcheck mode...
+if test "x$libcheck" = "xtrue"; then
+
+   dnl Check for some information from the user on what the world looks like
+   AC_ARG_WITH(tclconfig,[  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)],
+           dnl trim tclConfig.sh off the end so we can add it back on later.
+   	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`)
+   AC_ARG_WITH(tcl,      [  --with-tcl=PATH         use Tcl from PATH],
+   	TclLibBase="${withval}/lib")
+   AC_ARG_WITH(tclsh,    [  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)],
+   	TCLSH="${withval}")
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     AC_MSG_WARN([Tcl disabled because tclsh or tclconfig specified as "no"])
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       AC_MSG_ERROR([--with-tclconfig requires a directory argument.])
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       AC_MSG_ERROR([--with-tclsh must specify an executable file.])
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         AC_PATH_PROGS(TCLSH, [tclsh tclsh8.3 tclsh8.4], "unknown")
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         AC_MSG_CHECKING([where Tcl says it lives])
+         dnl to avoid .tclshrc issues use from a file...
+         echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,[^/]*$,,'`
+         rm /tmp/tcl.conf.$$
+          AC_MSG_RESULT($TclLibBase)
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       AC_MSG_RESULT([can't find tclsh])
+       AC_MSG_WARN([can't find Tcl installtion; use of Tcl disabled.])
+       with_tcl=no
+     else
+       AC_MSG_CHECKING([for tclConfig.sh])
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         AC_MSG_RESULT("unknown")
+         AC_MSG_WARN([can't find Tcl configuration; use of Tcl disabled.])
+         with_tcl=no
+       else
+         AC_MSG_RESULT(${TclLibBase}/)
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         AC_MSG_CHECKING([Tcl configuration on what Tcl needs to compile])
+         . ${TclLibBase}/tclConfig.sh
+         AC_MSG_RESULT(ok)
+         dnl no TK stuff for us.
+         dnl . ${TclLibBase}/tkConfig.sh
+       fi
+
+       dnl We hack the provided TCL_LIB_SPEC since it is using the /usr/lib even
+       dnl if the build was using lib64
+       if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         dnl Now, hunt for the Tcl include files, since we don't strictly
+         dnl know where they are; some folks put them (properly) in the
+         dnl default include path, or maybe in /usr/local; the *BSD folks
+         dnl put them in other places.
+         AC_MSG_CHECKING([where Tcl includes are])
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           AC_MSG_WARN(can't find Tcl includes; use of Tcl disabled.)
+           with_tcl=no
+         fi
+         AC_MSG_RESULT(${TCL_CPPFLAGS})
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+         dnl TCL_LIBS="${TK_LIB_SPEC} ${TK_XLIBSW} ${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC}"
+         dnl we are using libtool so need to convert to -rpath if at all
+         TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+         dnl sometimes we got empty libs: use TCL_LIB_FILE
+         if test X"$TCL_LIBS" = X; then
+           dnl extract the lib style name...
+           TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([[^ \t]]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+         dnl sometimes we got empty libs: use TCL_LIB_SPEC
+         if test X"$TCL_LIB_SPEC" = X; then
+           dnl extract the lib style name...
+           TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+         dnl Filter out the ieee - I do not see a shared version for it.
+         TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+dnl disbled libcheck mode - we do not need anything...
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+AC_SUBST(TCL_DEFS)
+AC_SUBST(TCL_LIBS)
+AC_SUBST(TCL_CPPFLAGS)
+AC_SUBST(TCL_PREFIX)
+
+# --- END MLX_LANG_TCL ---
+]) dnl MLX_LANG_TCL
+
diff --git a/ibmgtsim/configure b/ibmgtsim/configure
new file mode 100755
index 0000000..90be0a7
--- /dev/null
+++ b/ibmgtsim/configure
@@ -0,0 +1,21441 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "$0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+tagnames=${tagnames+${tagnames},}CXX
+
+tagnames=${tagnames+${tagnames},}F77
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="src/sim.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INS [...]
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CXX_set=${CXX+set}
+ac_env_CXX_value=$CXX
+ac_cv_env_CXX_set=${CXX+set}
+ac_cv_env_CXX_value=$CXX
+ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_env_CXXFLAGS_value=$CXXFLAGS
+ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+ac_env_CXXCPP_set=${CXXCPP+set}
+ac_env_CXXCPP_value=$CXXCPP
+ac_cv_env_CXXCPP_set=${CXXCPP+set}
+ac_cv_env_CXXCPP_value=$CXXCPP
+ac_env_F77_set=${F77+set}
+ac_env_F77_value=$F77
+ac_cv_env_F77_set=${F77+set}
+ac_cv_env_F77_value=$F77
+ac_env_FFLAGS_set=${FFLAGS+set}
+ac_env_FFLAGS_value=$FFLAGS
+ac_cv_env_FFLAGS_set=${FFLAGS+set}
+ac_cv_env_FFLAGS_value=$FFLAGS
+
+#
+# Report the --help message.
+#
+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 this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-shared[=PKGS]
+                          build shared libraries [default=yes]
+  --enable-static[=PKGS]
+                          build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-libcheck    Enable Dependency Checking
+  --enable-debug    Turn on debugging
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-tags[=TAGS]
+                          include additional configurations [automatic]
+  --with-tclconfig=PATH   use tclConfig.sh from PATH
+                             (configure gets Tcl configuration from here)
+  --with-tcl=PATH         use Tcl from PATH
+  --with-tclsh=TCLSH      use TCLSH as the tclsh program
+                             (let configure find Tcl using this program)
+  --with-ibdm=<dir> define where to find IBDM
+  --with-osm=<dir> define OSM prefix
+  --with-osm-libs=<dir> define where to find OSM libs
+
+Some influential environment variables:
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  CPP         C preprocessor
+  CXXCPP      C++ preprocessor
+  F77         Fortran 77 compiler command
+  FFLAGS      Fortran 77 compiler flags
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config $srcdir/config; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+          ac_config_headers="$ac_config_headers config.h"
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=ibmgtsim
+ VERSION=1.2
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+save_cflags="$CFLAGS"
+save_cxxflags="$CXXFLAGS"
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CXX" && break
+done
+test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+
+  CXX=$ac_ct_CXX
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	# FIXME: I believe we export ac_cv_exeext for Libtool,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  export ac_cv_exeext
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cxx_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+          ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CXX"  am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+   # Extract the first word of "swig", so it can be a program name with args.
+set dummy swig; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_SWIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $SWIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+SWIG=$ac_cv_path_SWIG
+
+if test -n "$SWIG"; then
+  echo "$as_me:$LINENO: result: $SWIG" >&5
+echo "${ECHO_T}$SWIG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+   # we use this to track the existance of swig
+   has_swig=0
+   if test -z "$SWIG" ; then
+      { echo "$as_me:$LINENO: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;}
+      SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
+   elif test -n "1.1.5" ; then
+      echo "$as_me:$LINENO: checking for SWIG version" >&5
+echo $ECHO_N "checking for SWIG version... $ECHO_C" >&6
+      swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
+      echo "$as_me:$LINENO: result: $swig_version" >&5
+echo "${ECHO_T}$swig_version" >&6
+      if test -n "$swig_version" ; then
+         # Calculate the required version number components
+         required=1.1.5
+         required_major=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_major" ; then
+            required_major=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_minor=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_minor" ; then
+            required_minor=0
+         fi
+         required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+         required_patch=`echo $required | sed 's/[^0-9].*//'`
+         if test -z "$required_patch" ; then
+            required_patch=0
+         fi
+         # Calculate the available version number components
+         available=`echo $swig_version | sed 's/[^0-9]*//'`
+         available_major=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_major" ; then
+            available_major=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_minor=`echo $available | sed 's/[^0-9].*//'`
+         if test -z "$available_minor" ; then
+            available_minor=0
+         fi
+         available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+         available_patch=`echo $available | sed -e 's/.*Patch[^0-9]*//' -e 's/[^0-9]*//g' `
+         if test -z "$available_patch" ; then
+            available_patch=0
+         fi
+         # we have two modes of comparison...
+         if test x"eq" == xeq; then
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -ne $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&5
+echo "$as_me: WARNING: SWIG version == 1.1.5 is required.  You have $available_major.$available_minor.$available_patch. You should look at http://www.swig.org " >&2;}
+               SWIG='echo "Error: SWIG version == 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+         else
+            if test $available_major -ne $required_major \
+               -o $available_minor -ne $required_minor \
+               -o $available_patch -lt $required_patch ; then
+               { echo "$as_me:$LINENO: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&5
+echo "$as_me: WARNING: SWIG version >= 1.1.5 is required.  You have $swig_version.  You should look at http://www.swig.org" >&2;}
+               SWIG='echo "Error: SWIG version >= 1.1.5 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
+            else
+               has_swig=1
+            fi
+        fi
+      else
+         { echo "$as_me:$LINENO: WARNING: cannot determine SWIG version" >&5
+echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
+      fi
+   fi
+   if test ! -z "$has_swig"; then
+                SWIG_LIB=`$SWIG -swiglib`
+
+
+if test 1; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   else
+
+
+if test 0; then
+  HAS_SWIG_TRUE=
+  HAS_SWIG_FALSE='#'
+else
+  HAS_SWIG_TRUE='#'
+  HAS_SWIG_FALSE=
+fi
+
+   fi
+
+
+
+CFLAGS="$save_cflags"
+CXXFLAGS="$save_cxxflags"
+
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi;
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi;
+
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval="$enable_fast_install"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi;
+
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+  ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+  ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+
+fi
+
+SED=$lt_cv_path_SED
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6
+NM="$lt_cv_path_NM"
+
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 4680 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  lt_cv_cc_needs_belf=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+lt_cv_cc_needs_belf=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+fi
+
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$F77"; then
+  ac_cv_prog_F77="$F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+  echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$F77" && break
+  done
+fi
+if test -z "$F77"; then
+  ac_ct_F77=$F77
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_F77"; then
+  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_F77="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_F77" && break
+done
+
+  F77=$ac_ct_F77
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:5577:" \
+     "checking for Fortran 77 compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file.  (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
+#ifndef __GNUC__
+       choke me
+#endif
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_f77_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_f77_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_f77_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+if test "$ac_test_FFLAGS" = set; then
+  FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-g -O2"
+  else
+    FFLAGS="-g"
+  fi
+else
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-O2"
+  else
+    FFLAGS=
+  fi
+fi
+
+G77=`test $ac_compiler_gnu = yes && echo yes`
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ 	]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	    lt_cv_sys_max_cmd_len=$new_result &&
+	    test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+else
+  echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
+fi
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDGIRSTW]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+	if grep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
+else
+  echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+fi
+
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+if test "${lt_cv_objdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6
+objdir=$lt_cv_objdir
+
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  AR=$ac_ct_AR
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  RANLIB=$ac_ct_RANLIB
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+enable_dlopen=no
+enable_win32_dll=no
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+  withval="$with_pic"
+  pic_mode="$withval"
+else
+  pic_mode=default
+fi;
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6638: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:6642: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic='-qnocommon'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:6906: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:6910: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
+     else
+       lt_prog_compiler_static_works=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7010: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:7014: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag=
+  enable_shared_with_static_runtimes=no
+  archive_cmds=
+  archive_expsym_cmds=
+  old_archive_From_new_cmds=
+  old_archive_from_expsyms_cmds=
+  export_dynamic_flag_spec=
+  whole_archive_flag_spec=
+  thread_safe_flag_spec=
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_direct=no
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  link_all_deplibs=unknown
+  hardcode_automatic=no
+  module_cmds=
+  module_expsym_cmds=
+  always_export_symbols=no
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs=no
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L=yes
+  	  hardcode_libdir_flag_spec='-L$libdir'
+  	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec='$convenience'
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc=no
+      hardcode_direct=no
+      hardcode_automatic=yes
+      hardcode_shlibpath_var=unsupported
+      whole_archive_flag_spec=''
+      link_all_deplibs=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      link_all_deplibs=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	hardcode_direct=yes
+	export_dynamic_flag_spec='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld='+b $libdir'
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  export_dynamic_flag_spec='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      link_all_deplibs=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    openbsd*)
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+	pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc=no
+        else
+	  archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var" || \
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+   ;;
+
+  *)
+    echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+  lt_cv_dlopen="shl_load"
+else
+  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+int
+main ()
+{
+shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+if test $ac_cv_lib_dld_shl_load = yes; then
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+  echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != dlopen;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+  lt_cv_dlopen="dlopen"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_svld_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+if test $ac_cv_lib_svld_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dld_link ();
+int
+main ()
+{
+dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_dld_link=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+if test $ac_cv_lib_dld_dld_link = yes; then
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9368 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<EOF
+#line 9468 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}
+EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+# Report which library types will actually be built
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+    ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler \
+    CC \
+    LD \
+    lt_prog_compiler_wl \
+    lt_prog_compiler_pic \
+    lt_prog_compiler_static \
+    lt_prog_compiler_no_builtin_flag \
+    export_dynamic_flag_spec \
+    thread_safe_flag_spec \
+    whole_archive_flag_spec \
+    enable_shared_with_static_runtimes \
+    old_archive_cmds \
+    old_archive_from_new_cmds \
+    predep_objects \
+    postdep_objects \
+    predeps \
+    postdeps \
+    compiler_lib_search_path \
+    archive_cmds \
+    archive_expsym_cmds \
+    postinstall_cmds \
+    postuninstall_cmds \
+    old_archive_from_expsyms_cmds \
+    allow_undefined_flag \
+    no_undefined_flag \
+    export_symbols_cmds \
+    hardcode_libdir_flag_spec \
+    hardcode_libdir_flag_spec_ld \
+    hardcode_libdir_separator \
+    hardcode_automatic \
+    module_cmds \
+    module_expsym_cmds \
+    lt_cv_prog_compiler_c_o \
+    exclude_expsyms \
+    include_expsyms; do
+
+    case $var in
+    old_archive_cmds | \
+    old_archive_from_new_cmds | \
+    archive_cmds | \
+    archive_expsym_cmds | \
+    module_cmds | \
+    module_expsym_cmds | \
+    old_archive_from_expsyms_cmds | \
+    export_symbols_cmds | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  { echo "$as_me:$LINENO: creating $ofile" >&5
+echo "$as_me: creating $ofile" >&6;}
+
+  cat <<__EOF__ >> "$cfgfile"
+#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+
+  case $host_os in
+  aix3*)
+    cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+# Check whether --with-tags or --without-tags was given.
+if test "${with_tags+set}" = set; then
+  withval="$with_tags"
+  tagnames="$withval"
+fi;
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+    else
+      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+    "") ;;
+    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+echo "$as_me: error: invalid tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+  $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+  lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+  $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+compiler_CXX=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+else
+  lt_prog_compiler_no_builtin_flag_CXX=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if test "$with_gnu_ld" = yes; then
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+	grep 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec_CXX=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+  GXX=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+ld_shlibs_CXX=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	    ;;
+	  esac
+	done
+	;;
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+    archive_cmds_CXX=''
+    hardcode_direct_CXX=yes
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes; then
+      case $host_os in aix4.[012]|aix4.[012].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  hardcode_direct_CXX=yes
+	else
+	  # We have old collect2
+	  hardcode_direct_CXX=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L_CXX=yes
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  hardcode_libdir_separator_CXX=
+	fi
+	;;
+      esac
+      shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	shared_flag='-G'
+      else
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
+      fi
+    fi
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    always_export_symbols_CXX=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      allow_undefined_flag_CXX='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+	allow_undefined_flag_CXX="-z nodefs"
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+      else
+	# Determine the default libpath from the value encoded in an empty executable.
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	no_undefined_flag_CXX=' ${wl}-bernotok'
+	allow_undefined_flag_CXX=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	whole_archive_flag_spec_CXX='$convenience'
+	archive_cmds_need_lc_CXX=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag_CXX=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+    # as there is no search path for DLLs.
+    hardcode_libdir_flag_spec_CXX='-L$libdir'
+    allow_undefined_flag_CXX=unsupported
+    always_export_symbols_CXX=no
+    enable_shared_with_static_runtimes_CXX=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      # If the export-symbols file already is a .def file (1st line
+      # is EXPORTS), use it as is; otherwise, prepend...
+      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname.def;
+      else
+	echo EXPORTS > $output_objdir/$soname.def;
+	cat $export_symbols >> $output_objdir/$soname.def;
+      fi~
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+        case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+        esac
+      archive_cmds_need_lc_CXX=no
+      hardcode_direct_CXX=no
+      hardcode_automatic_CXX=yes
+      hardcode_shlibpath_var_CXX=unsupported
+      whole_archive_flag_spec_CXX=''
+      link_all_deplibs_CXX=yes
+
+    if test "$GXX" = yes ; then
+      lt_int_apple_cc_single_mod=no
+      output_verbose_link_cmd='echo'
+      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+       lt_int_apple_cc_single_mod=yes
+      fi
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      else
+          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        fi
+        module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          else
+            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          fi
+            module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_CXX=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  freebsd[12]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    ld_shlibs_CXX=no
+    ;;
+  freebsd-elf*)
+    archive_cmds_need_lc_CXX=no
+    ;;
+  freebsd* | kfreebsd*-gnu | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    ld_shlibs_CXX=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    hardcode_direct_CXX=yes
+    hardcode_minus_L_CXX=yes # Not in the search PATH,
+				# but as the default
+				# location of the library.
+
+    case $cc_basename in
+    CC*)
+      # FIXME: insert proper C++ library support
+      ld_shlibs_CXX=no
+      ;;
+    aCC*)
+      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      #
+      # There doesn't appear to be a way to prevent this compiler from
+      # explicitly linking system object files so we need to strip them
+      # from the output so that they don't get included in the library
+      # dependencies.
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_CXX=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
+	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+        ;;
+      *)
+	export_dynamic_flag_spec_CXX='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      hardcode_direct_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      ;;
+    *)
+      hardcode_direct_CXX=yes
+      hardcode_minus_L_CXX=yes # Not in the search PATH,
+					      # but as the default
+					      # location of the library.
+      ;;
+    esac
+
+    case $cc_basename in
+      CC*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	esac
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    *)
+	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    esac
+	  fi
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  interix3*)
+    hardcode_direct_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
+  irix5* | irix6*)
+    case $cc_basename in
+      CC*)
+	# SGI C++
+	archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test "$with_gnu_ld" = no; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	link_all_deplibs_CXX=yes
+	;;
+    esac
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator_CXX=:
+    ;;
+  linux*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# Intel C++
+	with_gnu_ld=yes
+	# version 8.0 and above of icpc choke on multiply defined symbols
+	# if we add $predep_objects and $postdep_objects, however 7.1 and
+	# earlier do not add the objects themselves.
+	case `$CC -V 2>&1` in
+	*"Version 7."*)
+  	  archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	*)  # Version 8.0 or newer
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  ;;
+	esac
+	archive_cmds_need_lc_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC*)
+        # Portland Group C++ compiler
+	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	runpath_var=LD_RUN_PATH
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      hardcode_libdir_flag_spec_CXX='-R$libdir'
+      hardcode_direct_CXX=yes
+      hardcode_shlibpath_var_CXX=no
+    fi
+    # Workaround some broken pre-1.5 toolchains
+    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    ld_shlibs_CXX=no
+    ;;
+  openbsd*)
+    hardcode_direct_CXX=yes
+    hardcode_shlibpath_var_CXX=no
+    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      export_dynamic_flag_spec_CXX='${wl}-E'
+      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    fi
+    output_verbose_link_cmd='echo'
+    ;;
+  osf3*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	  archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  osf4* | osf5*)
+    case $cc_basename in
+      KCC*)
+	# Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	# KCC will only create a shared library if the output file
+	# ends with ".so" (or ".sl" for HP-UX), so rename the library
+	# to its proper name (with version) after linking.
+	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      cxx*)
+	allow_undefined_flag_CXX=' -expect_unresolved \*'
+	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	  echo "-hidden">> $lib.exp~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+	  $rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	hardcode_libdir_separator_CXX=:
+
+	# Commands to make compiler produce verbose output that lists
+	# what "hidden" libraries, object files and flags are used when
+	# linking a shared library.
+	#
+	# There doesn't appear to be a way to prevent this compiler from
+	# explicitly linking system object files so we need to strip them
+	# from the output so that they don't get included in the library
+	# dependencies.
+	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        archive_cmds_need_lc_CXX=yes
+	no_undefined_flag_CXX=' -zdefs'
+	archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	hardcode_libdir_flag_spec_CXX='-R$libdir'
+	hardcode_shlibpath_var_CXX=no
+	case $host_os in
+	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  *)
+	    # The C++ compiler is used as linker so we must use $wl
+	    # flag to pass the commands to the underlying system
+	    # linker. We must also pass each convience library through
+	    # to the system linker between allextract/defaultextract.
+	    # The C++ compiler will combine linker options so we
+	    # cannot just pass the convience library names through
+	    # without $wl.
+	    # Supported since Solaris 2.6 (maybe 2.5.1?)
+	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    ;;
+	esac
+	link_all_deplibs_CXX=yes
+
+	output_verbose_link_cmd='echo'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	# The C++ compiler must be used to create the archive.
+	old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	;;
+      *)
+	# GNU C++ compiler with Solaris linker
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+	  fi
+
+	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	fi
+	;;
+    esac
+    ;;
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+    no_undefined_flag_CXX='${wl}-z,text'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    no_undefined_flag_CXX='${wl}-z,text'
+    allow_undefined_flag_CXX='${wl}-z,nodefs'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+    export_dynamic_flag_spec_CXX='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  tandem*)
+    case $cc_basename in
+      NCC*)
+	# NonStop-UX NCC 3.20
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    ld_shlibs_CXX=no
+    ;;
+esac
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+GCC_CXX="$GXX"
+LD_CXX="$LD"
+
+
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  for p in `eval $output_verbose_link_cmd`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+	  || test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$compiler_lib_search_path_CXX"; then
+	     compiler_lib_search_path_CXX="${prev}${p}"
+	   else
+	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$postdeps_CXX"; then
+	   postdeps_CXX="${prev}${p}"
+	 else
+	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$predep_objects_CXX"; then
+	   predep_objects_CXX="$p"
+	 else
+	   predep_objects_CXX="$predep_objects_CXX $p"
+	 fi
+       else
+	 if test -z "$postdep_objects_CXX"; then
+	   postdep_objects_CXX="$p"
+	 else
+	   postdep_objects_CXX="$postdep_objects_CXX $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    postdeps_CXX='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+
+lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	lt_prog_compiler_pic_CXX='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix4* | aix5*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  lt_prog_compiler_static_CXX='-Bstatic'
+	else
+	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           lt_prog_compiler_pic_CXX='-qnocommon'
+           lt_prog_compiler_wl_CXX='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | kfreebsd*-gnu | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      lt_prog_compiler_pic_CXX='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      lt_prog_compiler_pic_CXX='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  pgCC*)
+	    # Portland Group C++ compiler.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fpic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    lt_prog_compiler_pic_CXX='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    lt_prog_compiler_wl_CXX='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    lt_prog_compiler_pic_CXX='-pic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	lt_prog_compiler_can_build_shared_CXX=no
+	;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_CXX=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:11806: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:11810: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+
+if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:11910: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:11914: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix4* | aix5*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    export_symbols_cmds_CXX="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  kfreebsd*-gnu)
+    link_all_deplibs_CXX=no
+  ;;
+  linux*)
+    link_all_deplibs_CXX=no
+  ;;
+  *)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+
+echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_CXX
+	pic_flag=$lt_prog_compiler_pic_CXX
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+        allow_undefined_flag_CXX=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_CXX=no
+        else
+	  archive_cmds_need_lc_CXX=yes
+        fi
+        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+   test -n "$runpath_var_CXX" || \
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6
+
+if test "$hardcode_action_CXX" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_CXX \
+    CC_CXX \
+    LD_CXX \
+    lt_prog_compiler_wl_CXX \
+    lt_prog_compiler_pic_CXX \
+    lt_prog_compiler_static_CXX \
+    lt_prog_compiler_no_builtin_flag_CXX \
+    export_dynamic_flag_spec_CXX \
+    thread_safe_flag_spec_CXX \
+    whole_archive_flag_spec_CXX \
+    enable_shared_with_static_runtimes_CXX \
+    old_archive_cmds_CXX \
+    old_archive_from_new_cmds_CXX \
+    predep_objects_CXX \
+    postdep_objects_CXX \
+    predeps_CXX \
+    postdeps_CXX \
+    compiler_lib_search_path_CXX \
+    archive_cmds_CXX \
+    archive_expsym_cmds_CXX \
+    postinstall_cmds_CXX \
+    postuninstall_cmds_CXX \
+    old_archive_from_expsyms_cmds_CXX \
+    allow_undefined_flag_CXX \
+    no_undefined_flag_CXX \
+    export_symbols_cmds_CXX \
+    hardcode_libdir_flag_spec_CXX \
+    hardcode_libdir_flag_spec_ld_CXX \
+    hardcode_libdir_separator_CXX \
+    hardcode_automatic_CXX \
+    module_cmds_CXX \
+    module_expsym_cmds_CXX \
+    lt_cv_prog_compiler_c_o_CXX \
+    exclude_expsyms_CXX \
+    include_expsyms_CXX; do
+
+    case $var in
+    old_archive_cmds_CXX | \
+    old_archive_from_new_cmds_CXX | \
+    archive_cmds_CXX | \
+    archive_expsym_cmds_CXX | \
+    module_cmds_CXX | \
+    module_expsym_cmds_CXX | \
+    old_archive_from_expsyms_cmds_CXX | \
+    export_symbols_cmds_CXX | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+
+
+archive_cmds_need_lc_F77=no
+allow_undefined_flag_F77=
+always_export_symbols_F77=no
+archive_expsym_cmds_F77=
+export_dynamic_flag_spec_F77=
+hardcode_direct_F77=no
+hardcode_libdir_flag_spec_F77=
+hardcode_libdir_flag_spec_ld_F77=
+hardcode_libdir_separator_F77=
+hardcode_minus_L_F77=no
+hardcode_automatic_F77=no
+module_cmds_F77=
+module_expsym_cmds_F77=
+link_all_deplibs_F77=unknown
+old_archive_cmds_F77=$old_archive_cmds
+no_undefined_flag_F77=
+whole_archive_flag_spec_F77=
+enable_shared_with_static_runtimes_F77=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+objext_F77=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="      program t\n      end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+compiler_F77=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+aix4* | aix5*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+GCC_F77="$G77"
+LD_F77="$LD"
+
+lt_prog_compiler_wl_F77=
+lt_prog_compiler_pic_F77=
+lt_prog_compiler_static_F77=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_F77='-Wl,'
+    lt_prog_compiler_static_F77='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_F77='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_F77=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_F77=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_F77='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_F77='-Bstatic'
+      else
+	lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_F77='-qnocommon'
+         lt_prog_compiler_wl_F77='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_F77='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-KPIC'
+	lt_prog_compiler_static_F77='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_F77='-Wl,'
+	lt_prog_compiler_pic_F77='-fpic'
+	lt_prog_compiler_static_F77='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_F77='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_F77='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_F77='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_F77='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_F77='-Qoption ld '
+      lt_prog_compiler_pic_F77='-PIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_F77='-Kconform_pic'
+	lt_prog_compiler_static_F77='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_F77='-pic'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_F77"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_F77=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_F77"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13498: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:13502: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+
+if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+    case $lt_prog_compiler_pic_F77 in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+     esac
+else
+    lt_prog_compiler_pic_F77=
+     lt_prog_compiler_can_build_shared_F77=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_F77=
+    ;;
+  *)
+    lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_F77=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_F77=yes
+       fi
+     else
+       lt_prog_compiler_static_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+    :
+else
+    lt_prog_compiler_static_F77=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_F77=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:13602: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:13606: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_F77=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_F77=
+  enable_shared_with_static_runtimes_F77=no
+  archive_cmds_F77=
+  archive_expsym_cmds_F77=
+  old_archive_From_new_cmds_F77=
+  old_archive_from_expsyms_cmds_F77=
+  export_dynamic_flag_spec_F77=
+  whole_archive_flag_spec_F77=
+  thread_safe_flag_spec_F77=
+  hardcode_libdir_flag_spec_F77=
+  hardcode_libdir_flag_spec_ld_F77=
+  hardcode_libdir_separator_F77=
+  hardcode_direct_F77=no
+  hardcode_minus_L_F77=no
+  hardcode_shlibpath_var_F77=unsupported
+  link_all_deplibs_F77=unknown
+  hardcode_automatic_F77=no
+  module_cmds_F77=
+  module_expsym_cmds_F77=
+  always_export_symbols_F77=no
+  export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_F77=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_F77=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_F77=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_F77=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_F77=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=no
+      enable_shared_with_static_runtimes_F77=yes
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_F77='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_F77=no
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_F77=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_F77=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_F77=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_F77=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_F77" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_F77=
+      export_dynamic_flag_spec_F77=
+      whole_archive_flag_spec_F77=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_F77=unsupported
+      always_export_symbols_F77=yes
+      archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_F77=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_F77=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_F77=''
+      hardcode_direct_F77=yes
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_F77=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_F77=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_F77=yes
+  	  hardcode_libdir_flag_spec_F77='-L$libdir'
+  	  hardcode_libdir_separator_F77=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_F77=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_F77='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_F77="-z nodefs"
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_F77=' ${wl}-bernotok'
+	  allow_undefined_flag_F77=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_F77='$convenience'
+	  archive_cmds_need_lc_F77=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_F77=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_F77=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_F77=' '
+      allow_undefined_flag_F77=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_F77='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_F77=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_F77=no
+      hardcode_direct_F77=no
+      hardcode_automatic_F77=yes
+      hardcode_shlibpath_var_F77=unsupported
+      whole_archive_flag_spec_F77=''
+      link_all_deplibs_F77=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_F77=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_F77=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      link_all_deplibs_F77=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_direct_F77=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	hardcode_direct_F77=yes
+	export_dynamic_flag_spec_F77='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_F77=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_F77=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+	  hardcode_direct_F77=no
+	  hardcode_shlibpath_var_F77=no
+	  ;;
+	*)
+	  hardcode_direct_F77=yes
+	  export_dynamic_flag_spec_F77='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_F77=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      link_all_deplibs_F77=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    newsos6)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_F77=yes
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_F77='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_F77='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_minus_L_F77=yes
+      allow_undefined_flag_F77=unsupported
+      archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_F77=' -expect_unresolved \*'
+	archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_F77='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_F77=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_F77=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_shlibpath_var_F77=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_F77=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_direct_F77=yes
+      hardcode_minus_L_F77=yes
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_F77='$CC -r -o $output$reload_objs'
+	  hardcode_direct_F77=no
+        ;;
+	motorola)
+	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_F77=no
+      export_dynamic_flag_spec_F77='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_F77=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_F77=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_F77='${wl}-z,text'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_F77='${wl}-z,text'
+      allow_undefined_flag_F77='${wl}-z,nodefs'
+      archive_cmds_need_lc_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_F77='-L$libdir'
+      hardcode_shlibpath_var_F77=no
+      ;;
+
+    *)
+      ld_shlibs_F77=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_F77" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_F77=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_F77 in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_F77
+	pic_flag=$lt_prog_compiler_pic_F77
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+        allow_undefined_flag_F77=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_F77=no
+        else
+	  archive_cmds_need_lc_F77=yes
+        fi
+        allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+   test -n "$runpath_var_F77" || \
+   test "X$hardcode_automatic_F77" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_F77" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+     test "$hardcode_minus_L_F77" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_F77=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_F77=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_F77=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6
+
+if test "$hardcode_action_F77" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_F77 \
+    CC_F77 \
+    LD_F77 \
+    lt_prog_compiler_wl_F77 \
+    lt_prog_compiler_pic_F77 \
+    lt_prog_compiler_static_F77 \
+    lt_prog_compiler_no_builtin_flag_F77 \
+    export_dynamic_flag_spec_F77 \
+    thread_safe_flag_spec_F77 \
+    whole_archive_flag_spec_F77 \
+    enable_shared_with_static_runtimes_F77 \
+    old_archive_cmds_F77 \
+    old_archive_from_new_cmds_F77 \
+    predep_objects_F77 \
+    postdep_objects_F77 \
+    predeps_F77 \
+    postdeps_F77 \
+    compiler_lib_search_path_F77 \
+    archive_cmds_F77 \
+    archive_expsym_cmds_F77 \
+    postinstall_cmds_F77 \
+    postuninstall_cmds_F77 \
+    old_archive_from_expsyms_cmds_F77 \
+    allow_undefined_flag_F77 \
+    no_undefined_flag_F77 \
+    export_symbols_cmds_F77 \
+    hardcode_libdir_flag_spec_F77 \
+    hardcode_libdir_flag_spec_ld_F77 \
+    hardcode_libdir_separator_F77 \
+    hardcode_automatic_F77 \
+    module_cmds_F77 \
+    module_expsym_cmds_F77 \
+    lt_cv_prog_compiler_c_o_F77 \
+    exclude_expsyms_F77 \
+    include_expsyms_F77; do
+
+    case $var in
+    old_archive_cmds_F77 | \
+    old_archive_from_new_cmds_F77 | \
+    archive_cmds_F77 | \
+    archive_expsym_cmds_F77 | \
+    module_cmds_F77 | \
+    module_expsym_cmds_F77 | \
+    old_archive_from_expsyms_cmds_F77 | \
+    export_symbols_cmds_F77 | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_F77
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_F77
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_F77
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_F77
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_F77
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_F77
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_F77
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_F77
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_F77
+archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_F77
+module_expsym_cmds=$lt_module_expsym_cmds_F77
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_F77
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_F77
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_F77
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_F77
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_F77
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_F77
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_F77
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_F77
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_F77
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_F77"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_F77
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_F77
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_F77
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_F77
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+objext_GCJ=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+archive_cmds_need_lc_GCJ=no
+
+old_archive_cmds_GCJ=$old_archive_cmds
+
+
+lt_prog_compiler_no_builtin_flag_GCJ=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15825: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:15829: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+lt_prog_compiler_wl_GCJ=
+lt_prog_compiler_pic_GCJ=
+lt_prog_compiler_static_GCJ=
+
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl_GCJ='-Wl,'
+    lt_prog_compiler_static_GCJ='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_GCJ='-fno-common'
+      ;;
+
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared_GCJ=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_GCJ=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      lt_prog_compiler_pic_GCJ='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      else
+	lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic_GCJ='-qnocommon'
+         lt_prog_compiler_wl_GCJ='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic_GCJ='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    linux*)
+      case $cc_basename in
+      icc* | ecc*)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-KPIC'
+	lt_prog_compiler_static_GCJ='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl_GCJ='-Wl,'
+	lt_prog_compiler_pic_GCJ='-fpic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl_GCJ='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static_GCJ='-non_shared'
+        ;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl_GCJ='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl_GCJ='-Qoption ld '
+      lt_prog_compiler_pic_GCJ='-PIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic_GCJ='-Kconform_pic'
+	lt_prog_compiler_static_GCJ='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic_GCJ='-pic'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_GCJ"; then
+
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works_GCJ=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16093: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:16097: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+    case $lt_prog_compiler_pic_GCJ in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+     esac
+else
+    lt_prog_compiler_pic_GCJ=
+     lt_prog_compiler_can_build_shared_GCJ=no
+fi
+
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_GCJ=
+    ;;
+  *)
+    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_GCJ=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_GCJ=yes
+       fi
+     else
+       lt_prog_compiler_static_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+    :
+else
+    lt_prog_compiler_static_GCJ=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_GCJ=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:16197: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:16201: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_GCJ=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag_GCJ=
+  enable_shared_with_static_runtimes_GCJ=no
+  archive_cmds_GCJ=
+  archive_expsym_cmds_GCJ=
+  old_archive_From_new_cmds_GCJ=
+  old_archive_from_expsyms_cmds_GCJ=
+  export_dynamic_flag_spec_GCJ=
+  whole_archive_flag_spec_GCJ=
+  thread_safe_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_GCJ=
+  hardcode_libdir_flag_spec_ld_GCJ=
+  hardcode_libdir_separator_GCJ=
+  hardcode_direct_GCJ=no
+  hardcode_minus_L_GCJ=no
+  hardcode_shlibpath_var_GCJ=unsupported
+  link_all_deplibs_GCJ=unknown
+  hardcode_automatic_GCJ=no
+  module_cmds_GCJ=
+  module_expsym_cmds_GCJ=
+  always_export_symbols_GCJ=no
+  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms_GCJ=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs_GCJ=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	whole_archive_flag_spec_GCJ=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+
+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
+      ld_shlibs_GCJ=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag_GCJ=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=no
+      enable_shared_with_static_runtimes_GCJ=yes
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    interix3*)
+      hardcode_direct_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	esac
+	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	fi
+	link_all_deplibs_GCJ=no
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+	ld_shlibs_GCJ=no
+	cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs_GCJ=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    ld_shlibs_GCJ=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs_GCJ=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs_GCJ" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_GCJ=
+      export_dynamic_flag_spec_GCJ=
+      whole_archive_flag_spec_GCJ=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag_GCJ=unsupported
+      always_export_symbols_GCJ=yes
+      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L_GCJ=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct_GCJ=unsupported
+      fi
+      ;;
+
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	  for ld_flag in $LDFLAGS; do
+  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+  	    aix_use_runtimelinking=yes
+  	    break
+  	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds_GCJ=''
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" && \
+  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  then
+  	  # We have reworked collect2
+  	  hardcode_direct_GCJ=yes
+	  else
+  	  # We have old collect2
+  	  hardcode_direct_GCJ=unsupported
+  	  # It fails to find uninstalled libraries when the uninstalled
+  	  # path is not listed in the libpath.  Setting hardcode_minus_L
+  	  # to unsupported forces relinking
+  	  hardcode_minus_L_GCJ=yes
+  	  hardcode_libdir_flag_spec_GCJ='-L$libdir'
+  	  hardcode_libdir_separator_GCJ=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+  	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols_GCJ=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag_GCJ='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag_GCJ="-z nodefs"
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an empty executable.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag_GCJ=' ${wl}-bernotok'
+	  allow_undefined_flag_GCJ=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  whole_archive_flag_spec_GCJ='$convenience'
+	  archive_cmds_need_lc_GCJ=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs_GCJ=no
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec_GCJ=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec_GCJ=' '
+      allow_undefined_flag_GCJ=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds_GCJ='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes_GCJ=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc_GCJ=no
+      hardcode_direct_GCJ=no
+      hardcode_automatic_GCJ=yes
+      hardcode_shlibpath_var_GCJ=unsupported
+      whole_archive_flag_spec_GCJ=''
+      link_all_deplibs_GCJ=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs_GCJ=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs_GCJ=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      link_all_deplibs_GCJ=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_direct_GCJ=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	hardcode_direct_GCJ=yes
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L_GCJ=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator_GCJ=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+	  hardcode_direct_GCJ=no
+	  hardcode_shlibpath_var_GCJ=no
+	  ;;
+	*)
+	  hardcode_direct_GCJ=yes
+	  export_dynamic_flag_spec_GCJ='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L_GCJ=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    newsos6)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct_GCJ=yes
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    openbsd*)
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_GCJ='${wl}-E'
+      else
+       case $host_os in
+	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
+	   ;;
+	 *)
+	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	   ;;
+       esac
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_minus_L_GCJ=yes
+      allow_undefined_flag_GCJ=unsupported
+      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag_GCJ=' -expect_unresolved \*'
+	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+      fi
+      hardcode_libdir_separator_GCJ=:
+      ;;
+
+    solaris*)
+      no_undefined_flag_GCJ=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+ 	# The compiler driver will combine linker options so we
+ 	# cannot just pass the convience library names through
+ 	# without $wl, iff we do not link with $LD.
+ 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+ 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+ 	case $wlarc in
+ 	'')
+ 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+ 	*)
+ 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ 	esac ;;
+      esac
+      link_all_deplibs_GCJ=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_minus_L_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+	  hardcode_direct_GCJ=no
+        ;;
+	motorola)
+	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var_GCJ=no
+      export_dynamic_flag_spec_GCJ='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var_GCJ=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs_GCJ=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_GCJ='${wl}-z,text'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_GCJ='${wl}-z,text'
+      allow_undefined_flag_GCJ='${wl}-z,nodefs'
+      archive_cmds_need_lc_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec_GCJ='-L$libdir'
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    *)
+      ld_shlibs_GCJ=no
+      ;;
+    esac
+  fi
+
+echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+test "$ld_shlibs_GCJ" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_GCJ" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_GCJ=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_GCJ in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_GCJ
+	pic_flag=$lt_prog_compiler_pic_GCJ
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+        allow_undefined_flag_GCJ=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+	  archive_cmds_need_lc_GCJ=no
+        else
+	  archive_cmds_need_lc_GCJ=yes
+        fi
+        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix4* | aix5*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
+   *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+   test -n "$runpath_var_GCJ" || \
+   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_GCJ" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+     test "$hardcode_minus_L_GCJ" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_GCJ=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_GCJ=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_GCJ=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6
+
+if test "$hardcode_action_GCJ" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_GCJ \
+    CC_GCJ \
+    LD_GCJ \
+    lt_prog_compiler_wl_GCJ \
+    lt_prog_compiler_pic_GCJ \
+    lt_prog_compiler_static_GCJ \
+    lt_prog_compiler_no_builtin_flag_GCJ \
+    export_dynamic_flag_spec_GCJ \
+    thread_safe_flag_spec_GCJ \
+    whole_archive_flag_spec_GCJ \
+    enable_shared_with_static_runtimes_GCJ \
+    old_archive_cmds_GCJ \
+    old_archive_from_new_cmds_GCJ \
+    predep_objects_GCJ \
+    postdep_objects_GCJ \
+    predeps_GCJ \
+    postdeps_GCJ \
+    compiler_lib_search_path_GCJ \
+    archive_cmds_GCJ \
+    archive_expsym_cmds_GCJ \
+    postinstall_cmds_GCJ \
+    postuninstall_cmds_GCJ \
+    old_archive_from_expsyms_cmds_GCJ \
+    allow_undefined_flag_GCJ \
+    no_undefined_flag_GCJ \
+    export_symbols_cmds_GCJ \
+    hardcode_libdir_flag_spec_GCJ \
+    hardcode_libdir_flag_spec_ld_GCJ \
+    hardcode_libdir_separator_GCJ \
+    hardcode_automatic_GCJ \
+    module_cmds_GCJ \
+    module_expsym_cmds_GCJ \
+    lt_cv_prog_compiler_c_o_GCJ \
+    exclude_expsyms_GCJ \
+    include_expsyms_GCJ; do
+
+    case $var in
+    old_archive_cmds_GCJ | \
+    old_archive_from_new_cmds_GCJ | \
+    archive_cmds_GCJ | \
+    archive_expsym_cmds_GCJ | \
+    module_cmds_GCJ | \
+    module_expsym_cmds_GCJ | \
+    old_archive_from_expsyms_cmds_GCJ | \
+    export_symbols_cmds_GCJ | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_GCJ
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_GCJ
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_GCJ
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_GCJ
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_GCJ
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_GCJ
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_GCJ
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_GCJ
+archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_GCJ
+module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_GCJ
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_GCJ
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_GCJ
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_GCJ
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_GCJ
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_GCJ
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_GCJ
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_GCJ
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_GCJ"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_GCJ
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_GCJ
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_GCJ
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+
+
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+objext_RC=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+compiler_RC=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+lt_cv_prog_compiler_c_o_RC=yes
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_RC \
+    CC_RC \
+    LD_RC \
+    lt_prog_compiler_wl_RC \
+    lt_prog_compiler_pic_RC \
+    lt_prog_compiler_static_RC \
+    lt_prog_compiler_no_builtin_flag_RC \
+    export_dynamic_flag_spec_RC \
+    thread_safe_flag_spec_RC \
+    whole_archive_flag_spec_RC \
+    enable_shared_with_static_runtimes_RC \
+    old_archive_cmds_RC \
+    old_archive_from_new_cmds_RC \
+    predep_objects_RC \
+    postdep_objects_RC \
+    predeps_RC \
+    postdeps_RC \
+    compiler_lib_search_path_RC \
+    archive_cmds_RC \
+    archive_expsym_cmds_RC \
+    postinstall_cmds_RC \
+    postuninstall_cmds_RC \
+    old_archive_from_expsyms_cmds_RC \
+    allow_undefined_flag_RC \
+    no_undefined_flag_RC \
+    export_symbols_cmds_RC \
+    hardcode_libdir_flag_spec_RC \
+    hardcode_libdir_flag_spec_ld_RC \
+    hardcode_libdir_separator_RC \
+    hardcode_automatic_RC \
+    module_cmds_RC \
+    module_expsym_cmds_RC \
+    lt_cv_prog_compiler_c_o_RC \
+    exclude_expsyms_RC \
+    include_expsyms_RC; do
+
+    case $var in
+    old_archive_cmds_RC | \
+    old_archive_from_new_cmds_RC | \
+    archive_cmds_RC | \
+    archive_expsym_cmds_RC | \
+    module_cmds_RC | \
+    module_expsym_cmds_RC | \
+    old_archive_from_expsyms_cmds_RC | \
+    export_symbols_cmds_RC | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+cfgfile="$ofile"
+
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_RC
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_RC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_RC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_RC
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_RC
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_RC
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_RC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_RC
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_RC
+archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_RC
+module_expsym_cmds=$lt_module_expsym_cmds_RC
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_RC
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_RC
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_RC
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_RC
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_RC
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_RC
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_RC
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_RC
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_RC
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_RC"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_RC
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_RC
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_RC
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_RC
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+	;;
+
+      *)
+	{ { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+   { (exit 1); exit 1; }; }
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Prevent multiple expansion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libcheck or --disable-libcheck was given.
+if test "${enable_libcheck+set}" = set; then
+  enableval="$enable_libcheck"
+  case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libcheck" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-libcheck" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  libcheck=true
+fi;
+
+
+# --- BEGIN MLX_LANG_TCL ---
+
+if test "x$libcheck" = "xtrue"; then
+
+
+# Check whether --with-tclconfig or --without-tclconfig was given.
+if test "${with_tclconfig+set}" = set; then
+  withval="$with_tclconfig"
+     	TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`
+fi;
+
+# Check whether --with-tcl or --without-tcl was given.
+if test "${with_tcl+set}" = set; then
+  withval="$with_tcl"
+  TclLibBase="${withval}/lib"
+fi;
+
+# Check whether --with-tclsh or --without-tclsh was given.
+if test "${with_tclsh+set}" = set; then
+  withval="$with_tclsh"
+  TCLSH="${withval}"
+fi;
+
+   if test "x$TCLSH" = "xno" -o "x$with_tclconfig" = "xno" ; then
+     { echo "$as_me:$LINENO: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&5
+echo "$as_me: WARNING: Tcl disabled because tclsh or tclconfig specified as \"no\"" >&2;}
+     with_tcl=no
+   fi
+
+   if test "x$with_tcl" != xno; then
+     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclconfig requires a directory argument." >&5
+echo "$as_me: error: --with-tclconfig requires a directory argument." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
+       { { echo "$as_me:$LINENO: error: --with-tclsh must specify an executable file." >&5
+echo "$as_me: error: --with-tclsh must specify an executable file." >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+     if test X"$TclLibBase" = X; then # do we already know?
+       # No? Run tclsh and ask it where it lives.
+
+       # Do we know where a tclsh lives?
+       if test X"$TCLSH" = X; then
+         # Try and find tclsh.  Any tclsh.
+         # If a new version of tcl comes out and unfortunately adds another
+         # filename, it should be safe to add it (to the front of the line --
+         # somef vendors have older, badly installed tclshs that we want to avoid
+         # if we can)
+         for ac_prog in tclsh tclsh8.3 tclsh8.4
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_TCLSH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $TCLSH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_TCLSH="$TCLSH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_TCLSH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+TCLSH=$ac_cv_path_TCLSH
+
+if test -n "$TCLSH"; then
+  echo "$as_me:$LINENO: result: $TCLSH" >&5
+echo "${ECHO_T}$TCLSH" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$TCLSH" && break
+done
+test -n "$TCLSH" || TCLSH=""unknown""
+
+       fi
+
+       # Do we know where to get a tclsh?
+       if test "X${TCLSH}" != "Xunknown"; then
+         echo "$as_me:$LINENO: checking where Tcl says it lives" >&5
+echo $ECHO_N "checking where Tcl says it lives... $ECHO_C" >&6
+                  echo "puts \$tcl_library" > /tmp/tcl.conf.$$
+         TclLibBase=`${TCLSH} /tmp/tcl.conf.$$ | sed -e 's,^/*$,,'`
+         rm /tmp/tcl.conf.$$
+          echo "$as_me:$LINENO: result: $TclLibBase" >&5
+echo "${ECHO_T}$TclLibBase" >&6
+       fi
+     fi
+
+     if test -z "$TclLibBase" ; then
+       echo "$as_me:$LINENO: result: can't find tclsh" >&5
+echo "${ECHO_T}can't find tclsh" >&6
+       { echo "$as_me:$LINENO: WARNING: can't find Tcl installtion; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl installtion; use of Tcl disabled." >&2;}
+       with_tcl=no
+     else
+       echo "$as_me:$LINENO: checking for tclConfig.sh" >&5
+echo $ECHO_N "checking for tclConfig.sh... $ECHO_C" >&6
+       # Check a list of places where the tclConfig.sh file might be.
+       # Note we prefer the 64 bit version if exists
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}"
+       tclCondifSearchPath="$tclCondifSearchPath ${TclLibBase}/.."
+       tclCondifSearchPath="$tclCondifSearchPath `echo ${TCLSH} | sed s/sh//`"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib64"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/lib"
+       tclCondifSearchPath="$tclCondifSearchPath /usr/local/lib"
+       for tcldir in $tclCondifSearchPath; do
+         if test -f "${tcldir}/tclConfig.sh"; then
+           TclLibBase="${tcldir}"
+           break
+         fi
+       done
+
+       if test -z "${TclLibBase}" ; then
+         echo "$as_me:$LINENO: result: \"unknown\"" >&5
+echo "${ECHO_T}\"unknown\"" >&6
+         { echo "$as_me:$LINENO: WARNING: can't find Tcl configuration; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl configuration; use of Tcl disabled." >&2;}
+         with_tcl=no
+       else
+         echo "$as_me:$LINENO: result: ${TclLibBase}/" >&5
+echo "${ECHO_T}${TclLibBase}/" >&6
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+         echo "$as_me:$LINENO: checking Tcl configuration on what Tcl needs to compile" >&5
+echo $ECHO_N "checking Tcl configuration on what Tcl needs to compile... $ECHO_C" >&6
+         . ${TclLibBase}/tclConfig.sh
+         echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+                         fi
+
+                     if test -d /usr/lib64 ; then
+          TCL_LIB_SPEC=`echo ${TCL_LIB_SPEC} | sed 's=/usr/lib =/usr/lib64 =g'`
+       fi
+
+       if test "X${with_tcl}" != Xno ; then
+                                             echo "$as_me:$LINENO: checking where Tcl includes are" >&5
+echo $ECHO_N "checking where Tcl includes are... $ECHO_C" >&6
+         for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
+                           "${TCL_PREFIX}/include/tcl" \
+                           "${TCL_PREFIX}/include" ; do
+           if test -r "${tclinclude}/tcl.h" ; then
+             TCL_CPPFLAGS="-I${tclinclude}"
+             break
+           fi
+         done
+         if test X"${TCL_CPPFLAGS}" = X ; then
+           { echo "$as_me:$LINENO: WARNING: can't find Tcl includes; use of Tcl disabled." >&5
+echo "$as_me: WARNING: can't find Tcl includes; use of Tcl disabled." >&2;}
+           with_tcl=no
+         fi
+         echo "$as_me:$LINENO: result: ${TCL_CPPFLAGS}" >&5
+echo "${ECHO_T}${TCL_CPPFLAGS}" >&6
+       fi
+
+       # Finally, pick up the Tcl configuration if we haven't found an
+       # excuse not to.
+       if test "X${with_tcl}" != Xno; then
+                           TCL_SEARCH=`echo ${TCL_LD_SEARCH_FLAGS} | sed 's/-Wl,-rpath,/-rpath/'`
+
+                  if test X"$TCL_LIBS" = X; then
+                      TCL_LIBS=`echo ${TCL_LIB_FILE} | sed 's/lib\([^ \t]*\)\.\(so\|a\)/-l\1/'`
+         fi
+
+                  if test X"$TCL_LIB_SPEC" = X; then
+                      TCL_LIB_SPEC='-L/usr/lib'
+         fi
+
+         TCL_LIBS1="${TCL_LIB_SPEC} ${TCL_LIBS}"
+                  TCL_LIBS=`echo ${TCL_LIBS1} | sed 's/-lieee//'`
+       fi
+     fi
+   fi
+else
+   TCL_DEFS=disabled
+   TCL_LIBS=disabled
+   TCL_CPPFLAGS=disabled
+   TCL_PREFIX=disabled
+fi
+
+
+
+
+
+
+# --- END MLX_LANG_TCL ---
+
+
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_header in inttypes.h stdlib.h string.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+if test "${ac_cv_type_size_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if ((size_t *) 0)
+  return 0;
+if (sizeof (size_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_size_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_size_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6
+if test $ac_cv_type_size_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+for ac_func in strchr strstr strtol strtoull regcomp regexec
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+else
+  debug=false
+fi;
+
+
+if test x$debug = xtrue; then
+  DEBUG_TRUE=
+  DEBUG_FALSE='#'
+else
+  DEBUG_TRUE='#'
+  DEBUG_FALSE=
+fi
+
+
+
+# --- BEGIN OPENIB_APP_IBDM ---
+
+
+# Check whether --with-ibdm or --without-ibdm was given.
+if test "${with_ibdm+set}" = set; then
+  withval="$with_ibdm"
+  { echo "$as_me:$LINENO: Using IBDM from:$with_ibdm" >&5
+echo "$as_me: Using IBDM from:$with_ibdm" >&6;}
+else
+  with_ibdm="none"
+fi;
+
+if test "x$with_ibdm" = xnone; then
+   if test -d /usr/include/ibdm; then
+      with_ibdm=/usr
+   elif test -d `pwd`/ibdm; then
+      with_ibdm=`pwd`/ibdm
+   elif test -d `pwd`/../ibdm; then
+      with_ibdm=`pwd`/../ibdm
+   else
+      { { echo "$as_me:$LINENO: error: --with-ibdm must be provided - failed to find standard IBDM installation" >&5
+echo "$as_me: error: --with-ibdm must be provided - failed to find standard IBDM installation" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+fi
+
+if test -f $with_ibdm/include/ibdm/Fabric.h; then
+   { echo "$as_me:$LINENO: IBDM was installed in $with_ibdm" >&5
+echo "$as_me: IBDM was installed in $with_ibdm" >&6;}
+   ibdm_ref_is_used=0
+elif test -f $with_ibdm/ibdm/Fabric.h; then
+   { echo "$as_me:$LINENO: IBDM building from sources: $with_ibdm" >&5
+echo "$as_me: IBDM building from sources: $with_ibdm" >&6;}
+   if test ! -d ../ibdm; then
+     { { echo "$as_me:$LINENO: error: IBDM sources provided - but ibdm was not built in ../ibdm" >&5
+echo "$as_me: error: IBDM sources provided - but ibdm was not built in ../ibdm" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+      ln -s $with_ibdm/ibdm src/ibdm
+   ibdm_ref_is_used=1
+else
+   { { echo "$as_me:$LINENO: error:  IBDM Fabric.h not found under $with_ibdm/include/ibdm/" >&5
+echo "$as_me: error:  IBDM Fabric.h not found under $with_ibdm/include/ibdm/" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+if test $ibdm_ref_is_used = 1; then
+  IBDM_REF_IS_USED_TRUE=
+  IBDM_REF_IS_USED_FALSE='#'
+else
+  IBDM_REF_IS_USED_TRUE='#'
+  IBDM_REF_IS_USED_FALSE=
+fi
+
+
+
+
+# --- OPENIB_APP_IBDM ---
+
+
+
+# --- BEGIN OPENIB_APP_OSM ---
+
+
+# Check whether --with-osm or --without-osm was given.
+if test "${with_osm+set}" = set; then
+  withval="$with_osm"
+  { echo "$as_me:$LINENO: Using OSM from:$with_osm" >&5
+echo "$as_me: Using OSM from:$with_osm" >&6;}
+else
+  with_osm="none"
+fi;
+
+
+# Check whether --with-osm-libs or --without-osm-libs was given.
+if test "${with_osm_libs+set}" = set; then
+  withval="$with_osm_libs"
+  { echo "$as_me:$LINENO: Using OSM libs from:$with_osm_libs" >&5
+echo "$as_me: Using OSM libs from:$with_osm_libs" >&6;}
+else
+  with_osm_libs="none"
+fi;
+
+osm_lib_dir="none"
+
+if test "x$libcheck" = "xtrue"; then
+      if test "x$with_osm" = xnone; then
+      if test -d /usr/local/ibgd/apps/osm; then
+         with_osm=/usr/local/ibgd/apps/osm
+      elif test -d /usr/mellanox/osm; then
+         with_osm=/usr/mellanox
+            elif test -f /etc/infiniband/info; then
+         ofed_dir=`/etc/infiniband/info | grep prefix | cut -d = -f 2`
+         if (test -f $ofed_dir/lib/libopensm.so ||
+				test -f $ofed_dir/lib64/libopensm.so); then
+            with_osm=$ofed_dir
+         fi
+      elif (test -f /usr/local/lib64/libopensm.so ||
+				test -f /usr/local/lib/libopensm.so); then
+         with_osm=/usr/local
+      elif (test -f /usr/lib64/libopensm.so ||
+				test -f /usr/lib/libopensm.so); then
+         with_osm=/usr
+      else
+         { { echo "$as_me:$LINENO: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&5
+echo "$as_me: error: OSM: --with-osm must be provided - fail to find standard OpenSM installation" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: used from $with_osm" >&5
+echo "$as_me: OSM: used from $with_osm" >&6;}
+
+   if test "x$with_osm_libs" = "xnone"; then
+         if (test -f $with_osm/lib64/libosmvendor_gen1.so ||
+			 test -f $with_osm/lib64/libosmvendor_vapi.so ||
+       	 test -f $with_osm/lib64/libopensm.so         ||
+			 test -f $with_osm/lib64/libosmvendor_sim.so); then
+         osm_lib_dir=lib64
+      else
+         osm_lib_dir=lib
+      fi
+   fi
+   with_osm_libs=$with_osm/$osm_lib_dir
+
+      if test -d $with_osm/include/infiniband; then
+      OSM_BUILD=openib
+   else
+      OSM_BUILD=gen1
+   fi
+   { echo "$as_me:$LINENO: OSM: build type $OSM_BUILD" >&5
+echo "$as_me: OSM: build type $OSM_BUILD" >&6;}
+
+   OSM_LDFLAGS="-Wl,-rpath -Wl,$with_osm_libs -L$with_osm_libs"
+         if test $OSM_BUILD = openib; then
+            osm_include_dir="$with_osm/include/infiniband"
+      osm_extra_includes="-I$with_osm/include"
+
+      if test -L $with_osm_libs/libosmvendor_gen1.so; then
+         OSM_VENDOR=ts
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp"
+      elif test -L $with_osm_libs/libosmvendor_vapi.so; then
+         OSM_VENDOR=mtl
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -lvapi -lib_mgt"
+      elif test -L $with_osm_libs/libosmvendor_sim.so; then
+         OSM_VENDOR=sim
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -libmscli -losmcomp"
+      elif test -L $with_osm_libs/libopensm.so; then
+         OSM_VENDOR=openib
+         osm_vendor_sel="-DOSM_VENDOR_INTF_OPENIB "
+         OSM_LDFLAGS="$OSM_LDFLAGS -lopensm -losmvendor -losmcomp -libumad -libcommon"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+      osm_vendor_sel="$osm_vendor_sel -DOSM_BUILD_OPENIB"
+   else
+      # we are in gen1 build
+      osm_include_dir="$with_osm/include"
+
+      if test -L $with_osm_libs/libosmsvc_ts.so; then
+         OSM_VENDOR=ts
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_ts -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_TS"
+      elif test -L $with_osm_libs/libosmsvc_mtl.so; then
+         OSM_VENDOR=mtl
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_mtl -lcomplib -lvapi -lib_mgt"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_MTL"
+      elif test -L $with_osm_libs/libosmsvc_sim.so; then
+         OSM_VENDOR=sim
+         OSM_LDFLAGS="$OSM_LDFLAGS -losmsvc_sim -lcomplib"
+         osm_vendor_sel="-DOSM_VENDOR_INTF_SIM"
+      else
+         { { echo "$as_me:$LINENO: error: OSM: Fail to recognize vendor type" >&5
+echo "$as_me: error: OSM: Fail to recognize vendor type" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+   fi
+   { echo "$as_me:$LINENO: OSM: vendor type $OSM_VENDOR" >&5
+echo "$as_me: OSM: vendor type $OSM_VENDOR" >&6;}
+
+
+      as_ac_File=`echo "ac_cv_file_$osm_include_dir/opensm/osm_build_id.h" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $osm_include_dir/opensm/osm_build_id.h" >&5
+echo $ECHO_N "checking for $osm_include_dir/opensm/osm_build_id.h... $ECHO_C" >&6
+if eval "test \"\${$as_ac_File+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  test "$cross_compiling" = yes &&
+  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+   { (exit 1); exit 1; }; }
+if test -r "$osm_include_dir/opensm/osm_build_id.h"; then
+  eval "$as_ac_File=yes"
+else
+  eval "$as_ac_File=no"
+fi
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+if test `eval echo '${'$as_ac_File'}'` = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&5
+echo "$as_me: error: OSM: could not find $with_osm/include/opensm/osm_build_id.h" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+      if test `grep debug $osm_include_dir/opensm/osm_build_id.h | wc -l` = 1; then
+            osm_debug_flags='-DDEBUG -D_DEBUG -D_DEBUG_ -DDBG'
+      { echo "$as_me:$LINENO: OSM: compiled in DEBUG mode" >&5
+echo "$as_me: OSM: compiled in DEBUG mode" >&6;}
+   else
+      osm_debug_flags=
+   fi
+
+   OSM_CFLAGS="-I$osm_include_dir $osm_extra_includes $osm_debug_flags $osm_vendor_sel -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1"
+else
+      with_osm=disabled
+   OSM_CLFAGS=disabled
+   OSM_LDFLAGS=disabled
+   OSM_VEDNOR=disabled
+   OSM_BUILD=disabled
+fi
+
+
+
+if test "x$OSM_VENDOR" = xts; then
+  OSM_VENDOR_TS_TRUE=
+  OSM_VENDOR_TS_FALSE='#'
+else
+  OSM_VENDOR_TS_TRUE='#'
+  OSM_VENDOR_TS_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xmtl; then
+  OSM_VENDOR_MTL_TRUE=
+  OSM_VENDOR_MTL_FALSE='#'
+else
+  OSM_VENDOR_MTL_TRUE='#'
+  OSM_VENDOR_MTL_FALSE=
+fi
+
+
+
+if test "x$OSM_VENDOR" = xsim; then
+  OSM_VENDOR_SIM_TRUE=
+  OSM_VENDOR_SIM_FALSE='#'
+else
+  OSM_VENDOR_SIM_TRUE='#'
+  OSM_VENDOR_SIM_FALSE=
+fi
+
+
+
+if test "x$OSM_BUILD" = xopenib; then
+  OSM_BUILD_OPENIB_TRUE=
+  OSM_BUILD_OPENIB_FALSE='#'
+else
+  OSM_BUILD_OPENIB_TRUE='#'
+  OSM_BUILD_OPENIB_FALSE=
+fi
+
+
+
+
+
+
+
+
+# --- OPENIB_APP_OSM ---
+
+
+                                                  ac_config_files="$ac_config_files Makefile src/Makefile utils/Makefile tests/Makefile doc/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAS_SWIG_TRUE}" && test -z "${HAS_SWIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAS_SWIG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${IBDM_REF_IS_USED_TRUE}" && test -z "${IBDM_REF_IS_USED_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"IBDM_REF_IS_USED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"IBDM_REF_IS_USED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_TS_TRUE}" && test -z "${OSM_VENDOR_TS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_MTL_TRUE}" && test -z "${OSM_VENDOR_MTL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_MTL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_VENDOR_SIM_TRUE}" && test -z "${OSM_VENDOR_SIM_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_VENDOR_SIM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${OSM_BUILD_OPENIB_TRUE}" && test -z "${OSM_BUILD_OPENIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OSM_BUILD_OPENIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
+  "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at CXX@,$CXX,;t t
+s, at CXXFLAGS@,$CXXFLAGS,;t t
+s, at LDFLAGS@,$LDFLAGS,;t t
+s, at CPPFLAGS@,$CPPFLAGS,;t t
+s, at ac_ct_CXX@,$ac_ct_CXX,;t t
+s, at EXEEXT@,$EXEEXT,;t t
+s, at OBJEXT@,$OBJEXT,;t t
+s, at DEPDIR@,$DEPDIR,;t t
+s, at am__include@,$am__include,;t t
+s, at am__quote@,$am__quote,;t t
+s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s, at CXXDEPMODE@,$CXXDEPMODE,;t t
+s, at am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
+s, at am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
+s, at CC@,$CC,;t t
+s, at CFLAGS@,$CFLAGS,;t t
+s, at ac_ct_CC@,$ac_ct_CC,;t t
+s, at CCDEPMODE@,$CCDEPMODE,;t t
+s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s, at CPP@,$CPP,;t t
+s, at LN_S@,$LN_S,;t t
+s, at SWIG@,$SWIG,;t t
+s, at HAS_SWIG_TRUE@,$HAS_SWIG_TRUE,;t t
+s, at HAS_SWIG_FALSE@,$HAS_SWIG_FALSE,;t t
+s, at SWIG_LIB@,$SWIG_LIB,;t t
+s, at build@,$build,;t t
+s, at build_cpu@,$build_cpu,;t t
+s, at build_vendor@,$build_vendor,;t t
+s, at build_os@,$build_os,;t t
+s, at host@,$host,;t t
+s, at host_cpu@,$host_cpu,;t t
+s, at host_vendor@,$host_vendor,;t t
+s, at host_os@,$host_os,;t t
+s, at EGREP@,$EGREP,;t t
+s, at ECHO@,$ECHO,;t t
+s, at AR@,$AR,;t t
+s, at ac_ct_AR@,$ac_ct_AR,;t t
+s, at RANLIB@,$RANLIB,;t t
+s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s, at CXXCPP@,$CXXCPP,;t t
+s, at F77@,$F77,;t t
+s, at FFLAGS@,$FFLAGS,;t t
+s, at ac_ct_F77@,$ac_ct_F77,;t t
+s, at LIBTOOL@,$LIBTOOL,;t t
+s, at TCLSH@,$TCLSH,;t t
+s, at TCL_DEFS@,$TCL_DEFS,;t t
+s, at TCL_LIBS@,$TCL_LIBS,;t t
+s, at TCL_CPPFLAGS@,$TCL_CPPFLAGS,;t t
+s, at TCL_PREFIX@,$TCL_PREFIX,;t t
+s, at DEBUG_TRUE@,$DEBUG_TRUE,;t t
+s, at DEBUG_FALSE@,$DEBUG_FALSE,;t t
+s, at IBDM_REF_IS_USED_TRUE@,$IBDM_REF_IS_USED_TRUE,;t t
+s, at IBDM_REF_IS_USED_FALSE@,$IBDM_REF_IS_USED_FALSE,;t t
+s, at with_ibdm@,$with_ibdm,;t t
+s, at OSM_VENDOR_TS_TRUE@,$OSM_VENDOR_TS_TRUE,;t t
+s, at OSM_VENDOR_TS_FALSE@,$OSM_VENDOR_TS_FALSE,;t t
+s, at OSM_VENDOR_MTL_TRUE@,$OSM_VENDOR_MTL_TRUE,;t t
+s, at OSM_VENDOR_MTL_FALSE@,$OSM_VENDOR_MTL_FALSE,;t t
+s, at OSM_VENDOR_SIM_TRUE@,$OSM_VENDOR_SIM_TRUE,;t t
+s, at OSM_VENDOR_SIM_FALSE@,$OSM_VENDOR_SIM_FALSE,;t t
+s, at OSM_BUILD_OPENIB_TRUE@,$OSM_BUILD_OPENIB_TRUE,;t t
+s, at OSM_BUILD_OPENIB_FALSE@,$OSM_BUILD_OPENIB_FALSE,;t t
+s, at with_osm@,$with_osm,;t t
+s, at OSM_CFLAGS@,$OSM_CFLAGS,;t t
+s, at OSM_LDFLAGS@,$OSM_LDFLAGS,;t t
+s, at OSM_VENDOR@,$OSM_VENDOR,;t t
+s, at OSM_BUILD@,$OSM_BUILD,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
+ac_dB='[	 ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X$ac_file : 'X\(//\)[^/]' \| \
+	 X$ac_file : 'X\(//\)$' \| \
+	 X$ac_file : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_dest" : 'X\(//\)[^/]' \| \
+	 X"$ac_dest" : 'X\(//\)$' \| \
+	 X"$ac_dest" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
diff --git a/ibmgtsim/configure.in b/ibmgtsim/configure.in
new file mode 100644
index 0000000..c2666e6
--- /dev/null
+++ b/ibmgtsim/configure.in
@@ -0,0 +1,100 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(src/sim.h)
+
+dnl use local config dir for extras
+AC_CONFIG_AUX_DIR(config)
+
+dnl Defines the Language
+AC_LANG_CPLUSPLUS
+
+dnl we use auto cheader
+AM_CONFIG_HEADER(config.h)
+
+dnl Auto make
+AM_INIT_AUTOMAKE(ibmgtsim,1.2)
+
+dnl Provides control over re-making of all auto files
+dnl We also use it to define swig dependencies so end
+dnl users do not see them.
+AM_MAINTAINER_MODE
+
+dnl Required for cases make defines a MAKE=make ??? Why
+AC_PROG_MAKE_SET
+
+dnl save the cflags befor calling AC_PROG_CXX and reevert after
+dnl to avoid the -g -O2
+save_cflags="$CFLAGS"
+save_cxxflags="$CXXFLAGS"
+
+dnl Checks for programs.
+AC_PROG_CXX
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+MLX_PROG_SWIG(1.1.5, eq)
+
+dnl revert CFLAGS
+CFLAGS="$save_cflags"
+CXXFLAGS="$save_cxxflags"
+
+dnl We will use libtool for making ...
+AC_PROG_LIBTOOL
+
+dnl For making dist we need not check any lib dependency
+AC_ARG_ENABLE(libcheck,
+[  --enable-libcheck    Enable Dependency Checking],
+[case "${enableval}" in
+  yes) libcheck=true ;;
+  no)  libcheck=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;;
+esac],[libcheck=true])
+
+dnl Get the TCL defs: TCL_LIBS TCL_CPPFLAGS
+MLX_LANG_TCL
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([inttypes.h stdlib.h string.h])
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl AC_HEADER_STDBOOL
+
+dnl For CPP there is absolutly no need for CONST etc
+dnl moreover we mst somehow remoev them from the autoheader
+dnl AC_C_CONST
+dnl AC_C_INLINE
+AC_LANG_CPLUSPLUS
+AC_TYPE_SIZE_T
+
+dnl Checks for library functions.
+dnl AC_FUNC_MALLOC
+dnl AC_FUNC_REALLOC
+AC_CHECK_FUNCS([strchr strstr strtol strtoull regcomp regexec])
+
+dnl Define an input config option to control debug compile
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=false])
+AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+
+dnl Define an input config option to allow the simulator know where
+dnl the IBDM is installed. This should point to one directory above
+dnl the include/ibdm directory holding Fabric.h
+OPENIB_APP_IBDM
+
+dnl Define an input config option to allow the simulator know where
+dnl the OSM is installed. This should point to one directory above
+dnl the include directory holding opensm/osm_build_id.h
+OPENIB_APP_OSM
+
+dnl Create the following Makefiles
+AC_OUTPUT(Makefile src/Makefile utils/Makefile tests/Makefile doc/Makefile)
+
diff --git a/ibmgtsim/doc/IBMgtSim.1 b/ibmgtsim/doc/IBMgtSim.1
new file mode 100644
index 0000000..e8ac646
--- /dev/null
+++ b/ibmgtsim/doc/IBMgtSim.1
@@ -0,0 +1,216 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBMGTSIM 1"
+.TH IBMGTSIM 1 "2008-06-16" "IBMGTSIM 1.0" "IB MANAGEMENT SIMULATOR"
+.SH "NAME"
+\&\fBIBMgtSim\fR \- Infiniband Management Simulator
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+IBMgtSim [\-h] [\-V mod\-verb\-pair\-list] [\-l log\-file] [\-p server\-port]
+  [\-w num\-threads] [\-f flow\-tcl\-file] [\-s seed] \-t topology
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Simulates the Fabric as defined by the given topology file and start a server to handle \s-1MAD\s0 requests from clients like OpenSM.
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.RE
+.IP "\-t topology"
+.IX Item "-t topology"
+A topology file describing the fabric to be simulated (see \fBibdm-topo-file\fR)
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.RE
+.IP "\-s seed"
+.IX Item "-s seed"
+The seed to be used for random number generation.
+.RE
+.IP "\-f flow-tcl-file"
+.IX Item "-f flow-tcl-file"
+A tcl file to be sourced after the fabric is setup.
+.RE
+.IP "\-l log-file"
+.IX Item "-l log-file"
+Set the log file of the simulator (default is /tmp/ibsim.log)
+.RE
+.IP "\-p server-port"
+.IX Item "-p server-port"
+Set the port number the server attaches to (default 46517)
+.RE
+.IP "\-w num-threads"
+.IX Item "-w num-threads"
+The number of threads processing the mads
+.RE
+.IP "\-V <module\-verbosity\-pair\-list>"
+.IX Item "-V <module-verbosity-pair-list>"
+Provides a fine grain control over the log file verbosity. Given list of pairs of simulator software module names and their verbosity levels \- every module is separatly controlled. The first value (missing module name) is controlling the default verbosity for all un-explicitly set modules.
+.Sp
+.RS 4
+Current Verbosity Levels:
+.Sp
+.Vb 13
+\& MsgShowFatal  = 0x01;
+\& MsgShowError  = 0x02;
+\& MsgShowWarning= 0x04;
+\& MsgShowInfo   = 0x08;
+\& MsgShowVerbose= 0x10;
+\& MsgShowContext= 0x20;
+\& MsgShowSource = 0x40;
+\& MsgShowTime   = 0x80;
+\& MsgShowModule = 0x100;
+\& MsgShowMads   = 0x200;
+\& MsgShowFrames = 0x400;
+\& MsgShowAll    = 0xffff;
+\& MsgDefault    = 0x62f;
+.Ve
+.Sp
+Software Modules:
+.Sp
+client, server, dispatcher, node, sma, lftMad, mftMad, vlArbMad, pKeyMad, portInfoMad
+.Sp
+Examples \-V flag values might be:
+.Sp
+.Vb 1
+\& -V 0xffff = Full verbosity on all modules
+.Ve
+.Sp
+.Vb 3
+\& -V '0x3 server 0x6f2 sma 0xffff' = Only fatal and error for all modules
+\&     full verbosity for the SMA module and default verbosity for the
+\&     Server module.
+.Ve
+.RE
+.RE
+.IP "\-h"
+.IX Item "-h"
+This help message
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/IBMgtSim.pod b/ibmgtsim/doc/IBMgtSim.pod
new file mode 100644
index 0000000..f9b422f
--- /dev/null
+++ b/ibmgtsim/doc/IBMgtSim.pod
@@ -0,0 +1,89 @@
+=head1 NAME
+
+B<IBMgtSim> - Infiniband Management Simulator
+
+=head1 SYNOPSYS
+
+IBMgtSim [-h] [-V mod-verb-pair-list] [-l log-file] [-p server-port]
+  [-w num-threads] [-f flow-tcl-file] [-s seed] -t topology
+
+=head1 DESCRIPTION
+
+Simulates the Fabric as defined by the given topology file and start a server to handle MAD requests from clients like OpenSM.
+
+=head1 ARGUMENTS
+
+
+=item -t topology
+
+A topology file describing the fabric to be simulated (see B<ibdm-topo-file>)
+
+=head1 OPTIONS
+
+=item -s seed
+
+The seed to be used for random number generation.
+
+=item -f flow-tcl-file
+
+A tcl file to be sourced after the fabric is setup.
+
+=item -l log-file
+
+Set the log file of the simulator (default is /tmp/ibsim.log)
+
+=item -p server-port
+
+Set the port number the server attaches to (default 46517)
+
+=item -w num-threads
+
+The number of threads processing the mads
+
+=item -V <module-verbosity-pair-list>
+
+Provides a fine grain control over the log file verbosity. Given list of pairs of simulator software module names and their verbosity levels - every module is separatly controlled. The first value (missing module name) is controlling the default verbosity for all un-explicitly set modules.
+
+=over 4
+
+Current Verbosity Levels:
+
+ MsgShowFatal  = 0x01;
+ MsgShowError  = 0x02;
+ MsgShowWarning= 0x04;
+ MsgShowInfo   = 0x08;
+ MsgShowVerbose= 0x10;
+ MsgShowContext= 0x20;
+ MsgShowSource = 0x40;
+ MsgShowTime   = 0x80;
+ MsgShowModule = 0x100;
+ MsgShowMads   = 0x200;
+ MsgShowFrames = 0x400;
+ MsgShowAll    = 0xffff;
+ MsgDefault    = 0x62f;
+
+Software Modules:
+
+client, server, dispatcher, node, sma, lftMad, mftMad, vlArbMad, pKeyMad, portInfoMad
+
+Examples -V flag values might be:
+
+ -V 0xffff = Full verbosity on all modules
+
+ -V '0x3 server 0x6f2 sma 0xffff' = Only fatal and error for all modules
+     full verbosity for the SMA module and default verbosity for the
+     Server module.
+
+=back 4
+
+=item -h
+
+This help message
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
+
+
+
diff --git a/ibmgtsim/doc/Makefile.am b/ibmgtsim/doc/Makefile.am
new file mode 100644
index 0000000..ac6f019
--- /dev/null
+++ b/ibmgtsim/doc/Makefile.am
@@ -0,0 +1,44 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+
+man_MANS = IBMgtSim.1 RunSimTest.1 ibmsquit.1 mkSimNodeDir.1 ibmssh.1
+
+EXTRA_DIST = \
+	IBMgtSim.1 RunSimTest.1 ibmsquit.1 mkSimNodeDir.1 ibmssh.1 \
+	IBMgtSim.pod RunSimTest.pod ibmsquit.pod mkSimNodeDir.pod ibmssh.pod \
+	ibmgtsim_pod2man
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibmgtsim_pod2man $< $@
+	cp -f $@ $(srcdir)/$@
diff --git a/ibmgtsim/doc/Makefile.in b/ibmgtsim/doc/Makefile.in
new file mode 100644
index 0000000..83c925f
--- /dev/null
+++ b/ibmgtsim/doc/Makefile.in
@@ -0,0 +1,439 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id: Makefile.am 7501 2006-05-25 18:50:23Z eitan $
+#--
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ibdm.m4 \
+	$(top_srcdir)/config/osm.m4 $(top_srcdir)/config/swig.m4 \
+	$(top_srcdir)/config/tcl.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+IBDM_REF_IS_USED_FALSE = @IBDM_REF_IS_USED_FALSE@
+IBDM_REF_IS_USED_TRUE = @IBDM_REF_IS_USED_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_ibdm = @with_ibdm@
+with_osm = @with_osm@
+man_MANS = IBMgtSim.1 RunSimTest.1 ibmsquit.1 mkSimNodeDir.1 ibmssh.1
+EXTRA_DIST = \
+	IBMgtSim.1 RunSimTest.1 ibmsquit.1 mkSimNodeDir.1 ibmssh.1 \
+	IBMgtSim.pod RunSimTest.pod ibmsquit.pod mkSimNodeDir.pod ibmssh.pod \
+	ibmgtsim_pod2man
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.1*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    1*) ;; \
+	    *) ext='1' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-man1 \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-man \
+	uninstall-man1
+
+
+%.1: @MAINTAINER_MODE_TRUE@ %.pod
+	$(srcdir)/ibmgtsim_pod2man $< $@
+	cp -f $@ $(srcdir)/$@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibmgtsim/doc/RunSimTest.1 b/ibmgtsim/doc/RunSimTest.1
new file mode 100644
index 0000000..97db302
--- /dev/null
+++ b/ibmgtsim/doc/RunSimTest.1
@@ -0,0 +1,185 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "RUNSIMTEST 1"
+.TH RUNSIMTEST 1 "2008-06-16" "IBMGTSIM 1.0" "IB MANAGEMENT SIMULATOR"
+.SH "NAME"
+\&\fBRunSimTest\fR \- Run a test over the IB management simulator
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+RunSimTest [\-h] [\-o osm\-path][\-f flow\-file][\-c checker\-file]
+   \-t topology [\-n osm\-node\-name][\-p osm\-port\-num][\-s seed][\-V verbosity\-list]
+.PP
+This command starts the simulator and runs the the given test flow
+on top of it. Then it runs the checker flow. The default test flow starts
+OpenSM and wait for Subnet-Up event. User given flow can make use of the
+provided facilities for starting OpenSM and tracking it events.
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.IP "\-t topology" 4
+.IX Item "-t topology"
+A topology file describing the fabric (see \fBibdm-topo-file\fR)
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\-f flow-file" 4
+.IX Item "-f flow-file"
+A tcl file sourced by the sim after the fabric is setup. See following discussion about the provided \s-1API\s0 and global variables that are available for the flow.
+.IP "\-c checker-file" 4
+.IX Item "-c checker-file"
+A tcl file defining when osm completed and what checks are requierd to validate it's outputs. The procedure named 'checker' is invoked by the test flow to start the checking flow. The default flow waits for OpenSM to complete setup the fabric and run ibdmchk.
+.IP "\-o osm-path" 4
+.IX Item "-o osm-path"
+Full path to OpenSM (/usr/local/ofed/osm\-sim/bin/opensm). \s-1NOTE\s0 OpenSM should be compiled with \-\-with\-osmv=sim to be able to connect to the simulator.
+.IP "\-n osm-node" 4
+.IX Item "-n osm-node"
+Topology file node name the \s-1SM\s0 runs on (default H\-1/U1)
+.IP "\-p port-num" 4
+.IX Item "-p port-num"
+Port number the \s-1SM\s0 attaches to (default 1).
+.IP "\-s seed" 4
+.IX Item "-s seed"
+Random seed to be used.
+.IP "\-V verbosity-list" 4
+.IX Item "-V verbosity-list"
+Module verbosity list. The first should be the global verbosity. See IBMgtSim for full list of modules.
+Examples:
+.Sp
+.Vb 4
+\& -V 0xffff = Full verbosity on all modules
+\& -V '"0x3 server 0x6f2 sma 0xffff"' = Only fatal and error
+\&    for all modules full verbosity for the SMA module and default
+\&    verbosity for the Server module.
+.Ve
+.IP "\-h" 4
+.IX Item "-h"
+This help message
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/RunSimTest.pod b/ibmgtsim/doc/RunSimTest.pod
new file mode 100644
index 0000000..8e48413
--- /dev/null
+++ b/ibmgtsim/doc/RunSimTest.pod
@@ -0,0 +1,70 @@
+=head1 NAME
+
+B<RunSimTest> - Run a test over the IB management simulator
+
+=head1 SYNOPSYS
+
+RunSimTest [-h] [-o osm-path][-f flow-file][-c checker-file]
+   -t topology [-n osm-node-name][-p osm-port-num][-s seed][-V verbosity-list]
+
+This command starts the simulator and runs the the given test flow
+on top of it. Then it runs the checker flow. The default test flow starts
+OpenSM and wait for Subnet-Up event. User given flow can make use of the
+provided facilities for starting OpenSM and tracking it events.
+
+=head1 ARGUMENTS
+
+=over
+
+=item -t topology
+
+A topology file describing the fabric (see B<ibdm-topo-file>)
+
+=back
+
+=head1 OPTIONS
+
+=over
+
+=item -f flow-file
+
+A tcl file sourced by the sim after the fabric is setup. See following discussion about the provided API and global variables that are available for the flow.
+
+=item -c checker-file
+
+A tcl file defining when osm completed and what checks are requierd to validate it's outputs. The procedure named 'checker' is invoked by the test flow to start the checking flow. The default flow waits for OpenSM to complete setup the fabric and run ibdmchk.
+
+=item -o osm-path
+
+Full path to OpenSM (/usr/local/ofed/osm-sim/bin/opensm). NOTE OpenSM should be compiled with --with-osmv=sim to be able to connect to the simulator.
+
+=item -n osm-node
+
+Topology file node name the SM runs on (default H-1/U1)
+
+=item -p port-num
+
+Port number the SM attaches to (default 1).
+
+=item -s seed
+
+Random seed to be used.
+
+=item -V verbosity-list
+
+Module verbosity list. The first should be the global verbosity. See IBMgtSim for full list of modules.
+Examples:
+
+ -V 0xffff = Full verbosity on all modules
+ -V '"0x3 server 0x6f2 sma 0xffff"' = Only fatal and error
+    for all modules full verbosity for the SMA module and default
+    verbosity for the Server module.
+
+=item -h
+
+This help message
+
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/ibmgtsim_pod2man b/ibmgtsim/doc/ibmgtsim_pod2man
new file mode 100755
index 0000000..7059408
--- /dev/null
+++ b/ibmgtsim/doc/ibmgtsim_pod2man
@@ -0,0 +1,32 @@
+eval '(exit $?0)' &&
+  eval 'exec perl -S $0 ${1+"$@"}' &&
+  eval 'exec perl -S $0 $argv:q'
+  if 0;
+
+use Pod::Man;
+$VERSION = "IBMGTSIM 1.0";
+$CENTER = "IB MANAGEMENT SIMULATOR";
+my $parser = Pod::Man->new (release => $VERSION, center => $CENTER);
+
+if (scalar(@ARGV) < 1) {
+   print "Usage $0 podFile [outFile]\n";
+   exit(1);
+}
+$inFile = $ARGV[0];
+if ($inFile !~ m/(.*)\.pod$/) {
+   print "Usage $0 podFile [outFile]\n";
+   print "Given podFile:$inFile extension != .pod\n";
+   exit(1);
+} else {
+   $base = $1;
+}
+
+if (scalar(@ARGV) > 1) {
+   $outFile = $ARGV[1];
+} else {
+   $outFile = "$base.1";
+}
+
+# Read POD from file.pod and write to file.1.
+$parser->parse_from_file ($inFile, $outFile);
+exit(0);
diff --git a/ibmgtsim/doc/ibmsquit.1 b/ibmgtsim/doc/ibmsquit.1
new file mode 100644
index 0000000..2107568
--- /dev/null
+++ b/ibmgtsim/doc/ibmsquit.1
@@ -0,0 +1,151 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBMSQUIT 1"
+.TH IBMSQUIT 1 "2008-06-16" "IBMGTSIM 1.0" "IB MANAGEMENT SIMULATOR"
+.SH "NAME"
+\&\fBibmsquit\fR \-  Quit the management simulator
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+ibmsquit <simulator host> <simulator port>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Causes the \s-1IB\s0 management simulator at the given host and port to quit
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.IP "<simulator host>" 4
+.IX Item "<simulator host>"
+Host name or \s-1IP\s0 where the simulator is being run.
+.IP "<simulator port>" 4
+.IX Item "<simulator port>"
+The \s-1TCP/IP\s0 port number the simulator is listening on
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/ibmsquit.pod b/ibmgtsim/doc/ibmsquit.pod
new file mode 100644
index 0000000..695d4c0
--- /dev/null
+++ b/ibmgtsim/doc/ibmsquit.pod
@@ -0,0 +1,28 @@
+=head1 NAME
+
+B<ibmsquit> -  Quit the management simulator
+
+=head1 SYNOPSYS
+
+ibmsquit <simulator host> <simulator port>
+
+=head1 DESCRIPTION
+
+Causes the IB management simulator at the given host and port to quit
+
+=head1 ARGUMENTS
+
+=over
+
+=item <simulator host>
+
+Host name or IP where the simulator is being run.
+
+=item <simulator port>
+
+The TCP/IP port number the simulator is listening on
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
diff --git a/ibmgtsim/doc/ibmssh.1 b/ibmgtsim/doc/ibmssh.1
new file mode 100644
index 0000000..1663514
--- /dev/null
+++ b/ibmgtsim/doc/ibmssh.1
@@ -0,0 +1,696 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "IBMSSH 1"
+.TH IBMSSH 1 "2008-06-16" "IBMGTSIM 1.0" "IB MANAGEMENT SIMULATOR"
+.SH "NAME"
+\&\fBibmssh\fR IB MANAGEMENT SIMULATOR \- Extentended TCL shell
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBibmssh\fR is a \s-1TCL\s0 shell extended with interface for the \s-1IB\s0 Management Simulator facilities.
+Normally you will not run this shell directly \- but instead it will be invoked by the \fBIBMgtSim\fR utility.
+However, in order to write simulation flows that interacts closely with the simulated model, a simulation flow should be provided. This flow is loaded by IBMgtSim and excersize the \s-1API\s0 provided by this shell.
+.PP
+The following sub sections provide detailed definition for those objects and \s-1API\s0.
+.SH "IBMgtSim Constants"
+.IX Header "IBMgtSim Constants"
+These constants are provided by IBMgtSim
+.Sh "Massage Manager Log Verbosity Flags"
+.IX Subsection "Massage Manager Log Verbosity Flags"
+.ie n .IP "[ Constant : int  ] $MsgShowFatal = 0x01" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowFatal\fR = 0x01" 4
+.IX Item "[ Constant : int  ] $MsgShowFatal = 0x01"
+.PD 0
+.ie n .IP "[ Constant : int  ] $MsgShowError = 0x02" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowError\fR = 0x02" 4
+.IX Item "[ Constant : int  ] $MsgShowError = 0x02"
+.ie n .IP "[ Constant : int  ] $MsgShowWarning = 0x04" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowWarning\fR = 0x04" 4
+.IX Item "[ Constant : int  ] $MsgShowWarning = 0x04"
+.ie n .IP "[ Constant : int  ] $MsgShowInfo = 0x08" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowInfo\fR = 0x08" 4
+.IX Item "[ Constant : int  ] $MsgShowInfo = 0x08"
+.ie n .IP "[ Constant : int  ] $MsgShowVerbose = 0x10" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowVerbose\fR = 0x10" 4
+.IX Item "[ Constant : int  ] $MsgShowVerbose = 0x10"
+.ie n .IP "[ Constant : int  ] $MsgShowContext = 0x20" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowContext\fR = 0x20" 4
+.IX Item "[ Constant : int  ] $MsgShowContext = 0x20"
+.ie n .IP "[ Constant : int  ] $MsgShowSource = 0x40" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowSource\fR = 0x40" 4
+.IX Item "[ Constant : int  ] $MsgShowSource = 0x40"
+.ie n .IP "[ Constant : int  ] $MsgShowTime = 0x80" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowTime\fR = 0x80" 4
+.IX Item "[ Constant : int  ] $MsgShowTime = 0x80"
+.ie n .IP "[ Constant : int  ] $MsgShowModule = 0x100" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowModule\fR = 0x100" 4
+.IX Item "[ Constant : int  ] $MsgShowModule = 0x100"
+.ie n .IP "[ Constant : int  ] $MsgShowMads = 0x200" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowMads\fR = 0x200" 4
+.IX Item "[ Constant : int  ] $MsgShowMads = 0x200"
+.ie n .IP "[ Constant : int  ] $MsgShowFrames = 0x400" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowFrames\fR = 0x400" 4
+.IX Item "[ Constant : int  ] $MsgShowFrames = 0x400"
+.ie n .IP "[ Constant : int  ] $MsgShowAll = 0xffff" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgShowAll\fR = 0xffff" 4
+.IX Item "[ Constant : int  ] $MsgShowAll = 0xffff"
+.ie n .IP "[ Constant : int  ] $MsgDefault = 0x62f" 4
+.el .IP "[ Constant : int  ] \f(CW$MsgDefault\fR = 0x62f" 4
+.IX Item "[ Constant : int  ] $MsgDefault = 0x62f"
+.PD
+.SH "Message Manager Objects"
+.IX Header "Message Manager Objects"
+.Sh "class msgManager"
+.IX Subsection "class msgManager"
+.RS 4
+This is the Message Manager class
+.RE
+.IP "[ Member : returns int  ] getVerbLevel ?module?" 4
+.IX Item "[ Member : returns int  ] getVerbLevel ?module?"
+.PD 0
+.IP "[ Member : returns int  ] clrVerbLevel ?module?" 4
+.IX Item "[ Member : returns int  ] clrVerbLevel ?module?"
+.IP "[ Member : returns void  ] setVerbLevel vl ?module?" 4
+.IX Item "[ Member : returns void  ] setVerbLevel vl ?module?"
+.IP "[ Member : returns int  ] outstandingMsgCount ?vl?" 4
+.IX Item "[ Member : returns int  ] outstandingMsgCount ?vl?"
+.IP "[ Member : returns string  ] outstandingMsgs ?vl?" 4
+.IX Item "[ Member : returns string  ] outstandingMsgs ?vl?"
+.IP "[ Member : returns string  ] getNextMessage" 4
+.IX Item "[ Member : returns string  ] getNextMessage"
+.IP "[ Member : returns void  ] nullOutstandingMsgs" 4
+.IX Item "[ Member : returns void  ] nullOutstandingMsgs"
+.IP "[ Member : returns int  ] setLogFile fileName" 4
+.IX Item "[ Member : returns int  ] setLogFile fileName"
+.PD
+.SH "Random Manager Functions"
+.IX Header "Random Manager Functions"
+.RE
+.IP "[ returns float  ] rmRand"
+.IX Item "[ returns float  ] rmRand"
+obtain a random number in the range 0.0 \- 1.0
+.RE
+.IP "[ returns int  ] rmSeed seed"
+.IX Item "[ returns int  ] rmSeed seed"
+initialize the seed for the random manager
+.Sh "class ib_node_info_t"
+.IX Subsection "class ib_node_info_t"
+.IP "[ Member data: returns uint8_t * ] \-base_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -base_version"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-class_version" 4
+.IX Item "[ Member data: returns uint8_t * ] -class_version"
+.IP "[ Member data: returns uint8_t * ] \-node_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -node_type"
+.IP "[ Member data: returns uint8_t * ] \-num_ports" 4
+.IX Item "[ Member data: returns uint8_t * ] -num_ports"
+.IP "[ Member data: returns ib_net64_t * ] \-sys_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -sys_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-node_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -node_guid"
+.IP "[ Member data: returns ib_net64_t * ] \-port_guid" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -port_guid"
+.IP "[ Member data: returns ib_net16_t * ] \-partition_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -partition_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-device_id" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -device_id"
+.IP "[ Member data: returns ib_net32_t * ] \-revision" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -revision"
+.IP "[ Member data: returns ib_net32_t * ] \-port_num_vendor_id" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_num_vendor_id"
+.PD
+.Sh "class ib_switch_info_t"
+.IX Subsection "class ib_switch_info_t"
+.IP "[ Member data: returns ib_net16_t * ] \-lin_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_cap"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-rand_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -rand_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-mcast_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -mcast_cap"
+.IP "[ Member data: returns ib_net16_t * ] \-lin_top" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lin_top"
+.IP "[ Member data: returns uint8_t * ] \-def_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_pri_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_pri_port"
+.IP "[ Member data: returns uint8_t * ] \-def_mcast_not_port" 4
+.IX Item "[ Member data: returns uint8_t * ] -def_mcast_not_port"
+.IP "[ Member data: returns uint8_t * ] \-life_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -life_state"
+.IP "[ Member data: returns ib_net16_t * ] \-lids_per_port" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lids_per_port"
+.IP "[ Member data: returns ib_net16_t * ] \-enforce_cap" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -enforce_cap"
+.IP "[ Member data: returns uint8_t * ] \-flags" 4
+.IX Item "[ Member data: returns uint8_t * ] -flags"
+.PD
+.Sh "class ib_port_info_t"
+.IX Subsection "class ib_port_info_t"
+.IP "[ Member data: returns ib_net64_t * ] \-m_key" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -m_key"
+.PD 0
+.IP "[ Member data: returns ib_net64_t * ] \-subnet_prefix" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -subnet_prefix"
+.IP "[ Member data: returns ib_net16_t * ] \-base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -base_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-master_sm_base_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -master_sm_base_lid"
+.IP "[ Member data: returns ib_net32_t * ] \-capability_mask" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -capability_mask"
+.IP "[ Member data: returns ib_net16_t * ] \-diag_code" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -diag_code"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_lease_period" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_lease_period"
+.IP "[ Member data: returns uint8_t * ] \-local_port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -local_port_num"
+.IP "[ Member data: returns uint8_t * ] \-link_width_enabled" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_enabled"
+.IP "[ Member data: returns uint8_t * ] \-link_width_supported" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_supported"
+.IP "[ Member data: returns uint8_t * ] \-link_width_active" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_width_active"
+.IP "[ Member data: returns uint8_t * ] \-state_info1" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info1"
+.IP "[ Member data: returns uint8_t * ] \-state_info2" 4
+.IX Item "[ Member data: returns uint8_t * ] -state_info2"
+.PD
+LinkSpeedSupported and PortState
+.IP "[ Member data: returns uint8_t * ] \-mkey_lmc" 4
+.IX Item "[ Member data: returns uint8_t * ] -mkey_lmc"
+PortPhysState and LinkDownDefaultState
+.IP "[ Member data: returns uint8_t * ] \-link_speed" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_speed"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-mtu_smsl" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_smsl"
+.PD
+LinkSpeedEnabled and LinkSpeedActive
+.IP "[ Member data: returns uint8_t * ] \-vl_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_cap"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_high_limit" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_high_limit"
+.PD
+VlCap and InitType
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_high_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_high_cap"
+.PD 0
+.IP "[ Member data: returns uint8_t * ] \-vl_arb_low_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_arb_low_cap"
+.IP "[ Member data: returns uint8_t * ] \-mtu_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu_cap"
+.IP "[ Member data: returns uint8_t * ] \-vl_stall_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_stall_life"
+.IP "[ Member data: returns uint8_t * ] \-vl_enforce" 4
+.IX Item "[ Member data: returns uint8_t * ] -vl_enforce"
+.IP "[ Member data: returns ib_net16_t * ] \-m_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -m_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-p_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -p_key_violations"
+.IP "[ Member data: returns ib_net16_t * ] \-q_key_violations" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -q_key_violations"
+.IP "[ Member data: returns uint8_t * ] \-guid_cap" 4
+.IX Item "[ Member data: returns uint8_t * ] -guid_cap"
+.IP "[ Member data: returns uint8_t * ] \-subnet_timeout" 4
+.IX Item "[ Member data: returns uint8_t * ] -subnet_timeout"
+.IP "[ Member data: returns uint8_t * ] \-resp_time_value" 4
+.IX Item "[ Member data: returns uint8_t * ] -resp_time_value"
+.IP "[ Member data: returns uint8_t * ] \-error_threshold" 4
+.IX Item "[ Member data: returns uint8_t * ] -error_threshold"
+.PD
+.Sh "class ib_node_desc_t"
+.IX Subsection "class ib_node_desc_t"
+.IP "[ Member data: returns uint8_array_t * ] \-description" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -description"
+Node String is an array of \s-1UTF\-8\s0 character that describes the node in text format
+Note that this string is \s-1NOT\s0 \s-1NULL\s0 \s-1TERMINATED\s0!
+.Sh "class ib_lft_record_t"
+.IX Subsection "class ib_lft_record_t"
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD 0
+.IP "[ Member data: returns ib_net16_t * ] \-block_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -block_num"
+.IP "[ Member data: returns uint32_t * ] \-resv0" 4
+.IX Item "[ Member data: returns uint32_t * ] -resv0"
+.IP "[ Member data: returns uint8_array_t * ] \-lft" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -lft"
+.PD
+.Sh "class ib_pm_counters_t"
+.IX Subsection "class ib_pm_counters_t"
+.IP "[ Member data: returns ib_mad_t * ] \-mad_header" 4
+.IX Item "[ Member data: returns ib_mad_t * ] -mad_header"
+.PD 0
+.IP "[ Member data: returns uint32_array_t * ] \-reserved0" 4
+.IX Item "[ Member data: returns uint32_array_t * ] -reserved0"
+.IP "[ Member data: returns uint8_t * ] \-reserved1" 4
+.IX Item "[ Member data: returns uint8_t * ] -reserved1"
+.IP "[ Member data: returns uint8_t * ] \-port_select" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_select"
+.IP "[ Member data: returns ib_net16_t * ] \-counter_select" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -counter_select"
+.IP "[ Member data: returns ib_net16_t * ] \-symbol_error_counter" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -symbol_error_counter"
+.IP "[ Member data: returns uint8_t * ] \-link_error_recovery_counter" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_error_recovery_counter"
+.IP "[ Member data: returns uint8_t * ] \-link_down_counter" 4
+.IX Item "[ Member data: returns uint8_t * ] -link_down_counter"
+.IP "[ Member data: returns ib_net16_t * ] \-port_rcv_errors" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -port_rcv_errors"
+.IP "[ Member data: returns ib_net16_t * ] \-port_rcv_remote_physical_errors" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -port_rcv_remote_physical_errors"
+.IP "[ Member data: returns ib_net16_t * ] \-port_rcv_switch_relay_errors" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -port_rcv_switch_relay_errors"
+.IP "[ Member data: returns ib_net16_t * ] \-port_xmit_discard" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -port_xmit_discard"
+.IP "[ Member data: returns uint8_t * ] \-port_xmit_constraint_errors" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_xmit_constraint_errors"
+.IP "[ Member data: returns uint8_t * ] \-port_rcv_constraint_errors" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_rcv_constraint_errors"
+.IP "[ Member data: returns uint8_t * ] \-reserved2" 4
+.IX Item "[ Member data: returns uint8_t * ] -reserved2"
+.IP "[ Member data: returns uint8_t * ] \-lli_errors_exc_buf_errors" 4
+.IX Item "[ Member data: returns uint8_t * ] -lli_errors_exc_buf_errors"
+.IP "[ Member data: returns ib_net16_t * ] \-reserved3" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -reserved3"
+.IP "[ Member data: returns ib_net16_t * ] \-vl15_dropped" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -vl15_dropped"
+.IP "[ Member data: returns ib_net32_t * ] \-port_xmit_data" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_xmit_data"
+.IP "[ Member data: returns ib_net32_t * ] \-port_rcv_data" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_rcv_data"
+.IP "[ Member data: returns ib_net32_t * ] \-port_xmit_pkts" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_xmit_pkts"
+.IP "[ Member data: returns ib_net32_t * ] \-port_rcv_pkts" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -port_rcv_pkts"
+.IP "[ Member data: returns uint32_array_t * ] \-reserved5" 4
+.IX Item "[ Member data: returns uint32_array_t * ] -reserved5"
+.PD
+.SH "IBMgtSim Simulator Objects"
+.IX Header "IBMgtSim Simulator Objects"
+.Sh "class IBMgtSim"
+.IX Subsection "class IBMgtSim"
+.IP "[ Member : returns IBFabric * ] getFabric" 4
+.IX Item "[ Member : returns IBFabric * ] getFabric"
+.PD 0
+.IP "[ Member : returns IBMSServer * ] getServer" 4
+.IX Item "[ Member : returns IBMSServer * ] getServer"
+.IP "[ Member : returns IBMSDispatcher * ] getDispatcher" 4
+.IX Item "[ Member : returns IBMSDispatcher * ] getDispatcher"
+.IP "[ Member : returns int  ] init topoFileName serverPortNum numWorkers" 4
+.IX Item "[ Member : returns int  ] init topoFileName serverPortNum numWorkers"
+.PD
+.Sh "class IBMSNode"
+.IX Subsection "class IBMSNode"
+.IP "[ Member : returns IBNode * ] getIBNode" 4
+.IX Item "[ Member : returns IBNode * ] getIBNode"
+get the IBNode of the IBMSNode
+.IP "[ Member : returns int  ] getLinkStatus outPortNum" 4
+.IX Item "[ Member : returns int  ] getLinkStatus outPortNum"
+get the link status of the given port
+.IP "[ Member : returns int  ] setPhyPortErrProfile portNum errProfileIn" 4
+.IX Item "[ Member : returns int  ] setPhyPortErrProfile portNum errProfileIn"
+set a particular port err profile
+.IP "[ Member : returns int  ] getPhyPortErrProfile portNum" 4
+.IX Item "[ Member : returns int  ] getPhyPortErrProfile portNum"
+get a particular port err profile
+.IP "[ Member : returns int  ] setPhyPortPMCounter portNum counterSelect countersVal" 4
+.IX Item "[ Member : returns int  ] setPhyPortPMCounter portNum counterSelect countersVal"
+set a specific port counter
+.IP "[ Member : returns ib_pm_counters_t * ] getPhyPortPMCounter portNum counterSelect get a specific port counter" 4
+.IX Item "[ Member : returns ib_pm_counters_t * ] getPhyPortPMCounter portNum counterSelect get a specific port counter"
+.PD 0
+.IP "[ Member : returns ib_port_info_t * ] getPortInfo portNum" 4
+.IX Item "[ Member : returns ib_port_info_t * ] getPortInfo portNum"
+.PD
+get a specific port info
+.IP "[ Member : returns int  ] setLinkStatus portNum newState" 4
+.IX Item "[ Member : returns int  ] setLinkStatus portNum newState"
+set the Link status including sending trap128
+.IP "[ Member : returns ib_node_info_t * ] getNodeInfo" 4
+.IX Item "[ Member : returns ib_node_info_t * ] getNodeInfo"
+get the node info
+.IP "[ Member : returns ib_switch_info_t * ] getSwitchInfo" 4
+.IX Item "[ Member : returns ib_switch_info_t * ] getSwitchInfo"
+get the switch info
+.IP "[ Member : returns ib_pkey_table_t * ] getPKeyTblBlock portNum blockNum" 4
+.IX Item "[ Member : returns ib_pkey_table_t * ] getPKeyTblBlock portNum blockNum"
+get pkey table block
+.IP "[ Member : returns int  ] setPKeyTblBlock portNum blockNum tbl" 4
+.IX Item "[ Member : returns int  ] setPKeyTblBlock portNum blockNum tbl"
+set pkey table block
+.IP "[ Member : returns int  ] setCrSpace startAddr length data" 4
+.IX Item "[ Member : returns int  ] setCrSpace startAddr length data"
+set \s-1CR\s0 Space Value
+.IP "[ Member : returns int  ] getCrSpace startAddr length data" 4
+.IX Item "[ Member : returns int  ] getCrSpace startAddr length data"
+get \s-1CR\s0 Space Value
+.IP "[ Member : returns int  ] getMFTBlock blockIdx portIdx" 4
+.IX Item "[ Member : returns int  ] getMFTBlock blockIdx portIdx"
+get \s-1MFT\s0 block
+.IP "[ Member : returns int  ] setMFTBlock blockIdx portIdx inMftBlock" 4
+.IX Item "[ Member : returns int  ] setMFTBlock blockIdx portIdx inMftBlock"
+set \s-1MFT\s0 block
+.Sh "class madMcMemberRec"
+.IX Subsection "class madMcMemberRec"
+.IP "[ Constructor: returns madMcMemberRec * ] madMcMemberRec name" 4
+.IX Item "[ Constructor: returns madMcMemberRec * ] madMcMemberRec name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns ib_gid_t * ] \-mgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -mgid"
+.IP "[ Member data: returns ib_gid_t * ] \-port_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -port_gid"
+.IP "[ Member data: returns ib_net32_t * ] \-qkey" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -qkey"
+.IP "[ Member data: returns ib_net16_t * ] \-mlid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -mlid"
+.IP "[ Member data: returns uint8_t * ] \-mtu" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu"
+.IP "[ Member data: returns uint8_t * ] \-tclass" 4
+.IX Item "[ Member data: returns uint8_t * ] -tclass"
+.IP "[ Member data: returns ib_net16_t * ] \-pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pkey"
+.IP "[ Member data: returns uint8_t * ] \-rate" 4
+.IX Item "[ Member data: returns uint8_t * ] -rate"
+.IP "[ Member data: returns uint8_t * ] \-pkt_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -pkt_life"
+.IP "[ Member data: returns ib_net32_t * ] \-sl_flow_hop" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -sl_flow_hop"
+.IP "[ Member data: returns uint8_t * ] \-scope_state" 4
+.IX Item "[ Member data: returns uint8_t * ] -scope_state"
+.IP "[ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask"
+.IP "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask"
+.IP "[ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask"
+.PD
+.Sh "class madPathRec"
+.IX Subsection "class madPathRec"
+.IP "[ Constructor: returns madPathRec * ] madPathRec name" 4
+.IX Item "[ Constructor: returns madPathRec * ] madPathRec name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns uint8_array_t * ] \-resv0" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -resv0"
+.IP "[ Member data: returns ib_gid_t * ] \-dgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -dgid"
+.IP "[ Member data: returns ib_gid_t * ] \-sgid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -sgid"
+.IP "[ Member data: returns ib_net16_t * ] \-dlid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -dlid"
+.IP "[ Member data: returns ib_net16_t * ] \-slid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -slid"
+.IP "[ Member data: returns ib_net32_t * ] \-hop_flow_raw" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -hop_flow_raw"
+.IP "[ Member data: returns uint8_t * ] \-tclass" 4
+.IX Item "[ Member data: returns uint8_t * ] -tclass"
+.IP "[ Member data: returns uint8_t * ] \-num_path" 4
+.IX Item "[ Member data: returns uint8_t * ] -num_path"
+.IP "[ Member data: returns ib_net16_t * ] \-pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pkey"
+.IP "[ Member data: returns ib_net16_t * ] \-sl" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -sl"
+.IP "[ Member data: returns uint8_t * ] \-mtu" 4
+.IX Item "[ Member data: returns uint8_t * ] -mtu"
+.IP "[ Member data: returns uint8_t * ] \-rate" 4
+.IX Item "[ Member data: returns uint8_t * ] -rate"
+.IP "[ Member data: returns uint8_t * ] \-pkt_life" 4
+.IX Item "[ Member data: returns uint8_t * ] -pkt_life"
+.IP "[ Member data: returns uint8_t * ] \-preference" 4
+.IX Item "[ Member data: returns uint8_t * ] -preference"
+.IP "[ Member data: returns uint8_array_t * ] \-resv2" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -resv2"
+.IP "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask"
+.PD
+.Sh "class madServiceRec"
+.IX Subsection "class madServiceRec"
+.IP "[ Constructor: returns madServiceRec * ] madServiceRec name" 4
+.IX Item "[ Constructor: returns madServiceRec * ] madServiceRec name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns ib_net64_t * ] \-service_id" 4
+.IX Item "[ Member data: returns ib_net64_t * ] -service_id"
+.IP "[ Member data: returns ib_gid_t * ] \-service_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -service_gid"
+.IP "[ Member data: returns ib_net16_t * ] \-service_pkey" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -service_pkey"
+.IP "[ Member data: returns ib_net16_t * ] \-resv" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -resv"
+.IP "[ Member data: returns ib_net32_t * ] \-service_lease" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -service_lease"
+.IP "[ Member data: returns uint8_array_t * ] \-service_key" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -service_key"
+.IP "[ Member data: returns uint8_array_t * ] \-service_name" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -service_name"
+.IP "[ Member data: returns uint8_array_t * ] \-service_data8" 4
+.IX Item "[ Member data: returns uint8_array_t * ] -service_data8"
+.IP "[ Member data: returns uint16_array_t * ] \-service_data16" 4
+.IX Item "[ Member data: returns uint16_array_t * ] -service_data16"
+.IP "[ Member data: returns uint32_array_t * ] \-service_data32" 4
+.IX Item "[ Member data: returns uint32_array_t * ] -service_data32"
+.IP "[ Member data: returns uint64_array_t * ] \-service_data64" 4
+.IX Item "[ Member data: returns uint64_array_t * ] -service_data64"
+.IP "[ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask"
+.IP "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask"
+.IP "[ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask" 4
+.IX Item "[ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask"
+.PD
+.Sh "class madNotice128"
+.IX Subsection "class madNotice128"
+.IP "[ Constructor: returns madNotice128 * ] madNotice128 name" 4
+.IX Item "[ Constructor: returns madNotice128 * ] madNotice128 name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns uint8_t * ] \-generic_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -generic_type"
+.IP "[ Member data: returns uint8_t * ] \-prod_type_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -prod_type_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-prod_type_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -prod_type_lsb"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_num"
+.IP "[ Member data: returns ib_net16_t * ] \-issuer_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -issuer_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-toggle_count" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -toggle_count"
+.IP "[ Member data: returns ib_net16_t * ] \-sw_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -sw_lid"
+.PD
+the sw lid of which link state changed \- for 128 only
+.IP "[ Member data: returns ib_gid_t * ] \-issuer_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -issuer_gid"
+.PD 0
+.IP "[ Member : returns int  ] send_trap pFromNode fromPort destLid" 4
+.IX Item "[ Member : returns int  ] send_trap pFromNode fromPort destLid"
+.PD
+.Sh "class madNotice129"
+.IX Subsection "class madNotice129"
+.IP "[ Constructor: returns madNotice129 * ] madNotice129 name" 4
+.IX Item "[ Constructor: returns madNotice129 * ] madNotice129 name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns uint8_t * ] \-generic_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -generic_type"
+.IP "[ Member data: returns uint8_t * ] \-prod_type_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -prod_type_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-prod_type_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -prod_type_lsb"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_num"
+.IP "[ Member data: returns ib_net16_t * ] \-issuer_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -issuer_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-toggle_count" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -toggle_count"
+.IP "[ Member data: returns ib_net16_t * ] \-pad" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad"
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD
+lid and port number of the violation
+.IP "[ Member data: returns uint8_t * ] \-port_num" 4
+.IX Item "[ Member data: returns uint8_t * ] -port_num"
+.PD 0
+.IP "[ Member data: returns ib_gid_t * ] \-issuer_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -issuer_gid"
+.IP "[ Member : returns int  ] send_trap pFromNode fromPort destLid" 4
+.IX Item "[ Member : returns int  ] send_trap pFromNode fromPort destLid"
+.PD
+.Sh "class madNotice144"
+.IX Subsection "class madNotice144"
+.IP "[ Constructor: returns madNotice144 * ] madNotice144 name" 4
+.IX Item "[ Constructor: returns madNotice144 * ] madNotice144 name"
+.PD 0
+.IP "[ Destructor: returns void  ] rename obj {}" 4
+.IX Item "[ Destructor: returns void  ] rename obj {}"
+.IP "[ Member data: returns uint8_t * ] \-generic_type" 4
+.IX Item "[ Member data: returns uint8_t * ] -generic_type"
+.IP "[ Member data: returns uint8_t * ] \-prod_type_msb" 4
+.IX Item "[ Member data: returns uint8_t * ] -prod_type_msb"
+.IP "[ Member data: returns ib_net16_t * ] \-prod_type_lsb" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -prod_type_lsb"
+.IP "[ Member data: returns ib_net16_t * ] \-trap_num" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -trap_num"
+.IP "[ Member data: returns ib_net16_t * ] \-issuer_lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -issuer_lid"
+.IP "[ Member data: returns ib_net16_t * ] \-toggle_count" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -toggle_count"
+.IP "[ Member data: returns ib_net16_t * ] \-pad1" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad1"
+.IP "[ Member data: returns ib_net16_t * ] \-lid" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -lid"
+.PD
+lid where capability mask changed
+.IP "[ Member data: returns ib_net16_t * ] \-pad2" 4
+.IX Item "[ Member data: returns ib_net16_t * ] -pad2"
+.PD 0
+.IP "[ Member data: returns ib_net32_t * ] \-new_cap_mask" 4
+.IX Item "[ Member data: returns ib_net32_t * ] -new_cap_mask"
+.PD
+new capability mask
+.IP "[ Member data: returns ib_gid_t * ] \-issuer_gid" 4
+.IX Item "[ Member data: returns ib_gid_t * ] -issuer_gid"
+.PD 0
+.IP "[ Member : returns int  ] send_trap pFromNode fromPort destLid" 4
+.IX Item "[ Member : returns int  ] send_trap pFromNode fromPort destLid"
+.PD
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/ibmssh.pod b/ibmgtsim/doc/ibmssh.pod
new file mode 100644
index 0000000..434fdff
--- /dev/null
+++ b/ibmgtsim/doc/ibmssh.pod
@@ -0,0 +1,610 @@
+=head1 NAME
+
+B<ibmssh> IB MANAGEMENT SIMULATOR - Extentended TCL shell
+
+=head1 DESCRIPTION
+
+B<ibmssh> is a TCL shell extended with interface for the IB Management Simulator facilities.
+Normally you will not run this shell directly - but instead it will be invoked by the B<IBMgtSim> utility.
+However, in order to write simulation flows that interacts closely with the simulated model, a simulation flow should be provided. This flow is loaded by IBMgtSim and excersize the API provided by this shell.
+
+The following sub sections provide detailed definition for those objects and API.
+
+=head1 IBMgtSim Constants
+
+These constants are provided by IBMgtSim
+
+=head2 Massage Manager Log Verbosity Flags
+
+=over
+
+=item [ Constant : int  ] $MsgShowFatal = 0x01
+
+=item [ Constant : int  ] $MsgShowError = 0x02
+
+=item [ Constant : int  ] $MsgShowWarning = 0x04
+
+=item [ Constant : int  ] $MsgShowInfo = 0x08
+
+=item [ Constant : int  ] $MsgShowVerbose = 0x10
+
+=item [ Constant : int  ] $MsgShowContext = 0x20
+
+=item [ Constant : int  ] $MsgShowSource = 0x40
+
+=item [ Constant : int  ] $MsgShowTime = 0x80
+
+=item [ Constant : int  ] $MsgShowModule = 0x100
+
+=item [ Constant : int  ] $MsgShowMads = 0x200
+
+=item [ Constant : int  ] $MsgShowFrames = 0x400
+
+=item [ Constant : int  ] $MsgShowAll = 0xffff
+
+=item [ Constant : int  ] $MsgDefault = 0x62f
+
+
+
+
+=back
+
+=head1 Message Manager Objects
+
+=head2 class msgManager
+
+=over
+
+This is the Message Manager class
+
+=item [ Member : returns int  ] getVerbLevel ?module?
+
+=item [ Member : returns int  ] clrVerbLevel ?module?
+
+=item [ Member : returns void  ] setVerbLevel vl ?module?
+
+=item [ Member : returns int  ] outstandingMsgCount ?vl?
+
+=item [ Member : returns string  ] outstandingMsgs ?vl?
+
+=item [ Member : returns string  ] getNextMessage
+
+=item [ Member : returns void  ] nullOutstandingMsgs
+
+=item [ Member : returns int  ] setLogFile fileName
+
+
+
+
+=back
+
+=head1 Random Manager Functions
+
+=item [ returns float  ] rmRand
+
+obtain a random number in the range 0.0 - 1.0
+
+=item [ returns int  ] rmSeed seed
+
+initialize the seed for the random manager
+
+=head2  class ib_node_info_t
+
+=over
+
+=item [ Member data: returns uint8_t * ] -base_version
+
+=item [ Member data: returns uint8_t * ] -class_version
+
+=item [ Member data: returns uint8_t * ] -node_type
+
+=item [ Member data: returns uint8_t * ] -num_ports
+
+=item [ Member data: returns ib_net64_t * ] -sys_guid
+
+=item [ Member data: returns ib_net64_t * ] -node_guid
+
+=item [ Member data: returns ib_net64_t * ] -port_guid
+
+=item [ Member data: returns ib_net16_t * ] -partition_cap
+
+=item [ Member data: returns ib_net16_t * ] -device_id
+
+=item [ Member data: returns ib_net32_t * ] -revision
+
+=item [ Member data: returns ib_net32_t * ] -port_num_vendor_id
+
+
+=back
+
+=head2 class ib_switch_info_t
+
+=over
+
+=item [ Member data: returns ib_net16_t * ] -lin_cap
+
+=item [ Member data: returns ib_net16_t * ] -rand_cap
+
+=item [ Member data: returns ib_net16_t * ] -mcast_cap
+
+=item [ Member data: returns ib_net16_t * ] -lin_top
+
+=item [ Member data: returns uint8_t * ] -def_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_pri_port
+
+=item [ Member data: returns uint8_t * ] -def_mcast_not_port
+
+=item [ Member data: returns uint8_t * ] -life_state
+
+=item [ Member data: returns ib_net16_t * ] -lids_per_port
+
+=item [ Member data: returns ib_net16_t * ] -enforce_cap
+
+=item [ Member data: returns uint8_t * ] -flags
+
+=back
+
+=head2 class ib_port_info_t
+
+=over
+
+=item [ Member data: returns ib_net64_t * ] -m_key
+
+=item [ Member data: returns ib_net64_t * ] -subnet_prefix
+
+=item [ Member data: returns ib_net16_t * ] -base_lid
+
+=item [ Member data: returns ib_net16_t * ] -master_sm_base_lid
+
+=item [ Member data: returns ib_net32_t * ] -capability_mask
+
+=item [ Member data: returns ib_net16_t * ] -diag_code
+
+=item [ Member data: returns ib_net16_t * ] -m_key_lease_period
+
+=item [ Member data: returns uint8_t * ] -local_port_num
+
+=item [ Member data: returns uint8_t * ] -link_width_enabled
+
+=item [ Member data: returns uint8_t * ] -link_width_supported
+
+=item [ Member data: returns uint8_t * ] -link_width_active
+
+=item [ Member data: returns uint8_t * ] -state_info1
+
+=item [ Member data: returns uint8_t * ] -state_info2
+
+LinkSpeedSupported and PortState
+
+=item [ Member data: returns uint8_t * ] -mkey_lmc
+
+PortPhysState and LinkDownDefaultState
+
+=item [ Member data: returns uint8_t * ] -link_speed
+
+=item [ Member data: returns uint8_t * ] -mtu_smsl
+
+LinkSpeedEnabled and LinkSpeedActive
+
+=item [ Member data: returns uint8_t * ] -vl_cap
+
+=item [ Member data: returns uint8_t * ] -vl_high_limit
+
+VlCap and InitType
+
+=item [ Member data: returns uint8_t * ] -vl_arb_high_cap
+
+=item [ Member data: returns uint8_t * ] -vl_arb_low_cap
+
+=item [ Member data: returns uint8_t * ] -mtu_cap
+
+=item [ Member data: returns uint8_t * ] -vl_stall_life
+
+=item [ Member data: returns uint8_t * ] -vl_enforce
+
+=item [ Member data: returns ib_net16_t * ] -m_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -p_key_violations
+
+=item [ Member data: returns ib_net16_t * ] -q_key_violations
+
+=item [ Member data: returns uint8_t * ] -guid_cap
+
+=item [ Member data: returns uint8_t * ] -subnet_timeout
+
+=item [ Member data: returns uint8_t * ] -resp_time_value
+
+=item [ Member data: returns uint8_t * ] -error_threshold
+
+
+=back
+
+=head2 class ib_node_desc_t
+
+=over
+
+=item [ Member data: returns uint8_array_t * ] -description
+
+Node String is an array of UTF-8 character that describes the node in text format
+Note that this string is NOT NULL TERMINATED!
+
+
+=back
+
+=head2  class ib_lft_record_t
+
+=over
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+=item [ Member data: returns ib_net16_t * ] -block_num
+
+=item [ Member data: returns uint32_t * ] -resv0
+
+=item [ Member data: returns uint8_array_t * ] -lft
+
+
+=back
+
+=head2 class ib_pm_counters_t
+
+=over
+
+=item [ Member data: returns ib_mad_t * ] -mad_header
+
+=item [ Member data: returns uint32_array_t * ] -reserved0
+
+=item [ Member data: returns uint8_t * ] -reserved1
+
+=item [ Member data: returns uint8_t * ] -port_select
+
+=item [ Member data: returns ib_net16_t * ] -counter_select
+
+=item [ Member data: returns ib_net16_t * ] -symbol_error_counter
+
+=item [ Member data: returns uint8_t * ] -link_error_recovery_counter
+
+=item [ Member data: returns uint8_t * ] -link_down_counter
+
+=item [ Member data: returns ib_net16_t * ] -port_rcv_errors
+
+=item [ Member data: returns ib_net16_t * ] -port_rcv_remote_physical_errors
+
+=item [ Member data: returns ib_net16_t * ] -port_rcv_switch_relay_errors
+
+=item [ Member data: returns ib_net16_t * ] -port_xmit_discard
+
+=item [ Member data: returns uint8_t * ] -port_xmit_constraint_errors
+
+=item [ Member data: returns uint8_t * ] -port_rcv_constraint_errors
+
+=item [ Member data: returns uint8_t * ] -reserved2
+
+=item [ Member data: returns uint8_t * ] -lli_errors_exc_buf_errors
+
+=item [ Member data: returns ib_net16_t * ] -reserved3
+
+=item [ Member data: returns ib_net16_t * ] -vl15_dropped
+
+=item [ Member data: returns ib_net32_t * ] -port_xmit_data
+
+=item [ Member data: returns ib_net32_t * ] -port_rcv_data
+
+=item [ Member data: returns ib_net32_t * ] -port_xmit_pkts
+
+=item [ Member data: returns ib_net32_t * ] -port_rcv_pkts
+
+=item [ Member data: returns uint32_array_t * ] -reserved5
+
+=back
+
+=head1 IBMgtSim Simulator Objects
+
+=head2 class IBMgtSim
+
+=over
+
+=item [ Member : returns IBFabric * ] getFabric
+
+=item [ Member : returns IBMSServer * ] getServer
+
+=item [ Member : returns IBMSDispatcher * ] getDispatcher
+
+=item [ Member : returns int  ] init topoFileName serverPortNum numWorkers
+
+=back
+
+=head2 class IBMSNode
+
+=over
+
+=item [ Member : returns IBNode * ] getIBNode
+
+get the IBNode of the IBMSNode
+
+=item [ Member : returns int  ] getLinkStatus outPortNum
+
+get the link status of the given port
+
+=item [ Member : returns int  ] setPhyPortErrProfile portNum errProfileIn
+
+set a particular port err profile
+
+=item [ Member : returns int  ] getPhyPortErrProfile portNum
+
+get a particular port err profile
+
+=item [ Member : returns int  ] setPhyPortPMCounter portNum counterSelect countersVal
+
+set a specific port counter
+
+=item [ Member : returns ib_pm_counters_t * ] getPhyPortPMCounter portNum counterSelect
+get a specific port counter
+
+=item [ Member : returns ib_port_info_t * ] getPortInfo portNum
+
+get a specific port info
+
+=item [ Member : returns int  ] setLinkStatus portNum newState
+
+set the Link status including sending trap128
+
+=item [ Member : returns ib_node_info_t * ] getNodeInfo
+
+get the node info
+
+=item [ Member : returns ib_switch_info_t * ] getSwitchInfo
+
+get the switch info
+
+=item [ Member : returns ib_pkey_table_t * ] getPKeyTblBlock portNum blockNum
+
+get pkey table block
+
+=item [ Member : returns int  ] setPKeyTblBlock portNum blockNum tbl
+
+set pkey table block
+
+=item [ Member : returns int  ] setCrSpace startAddr length data
+
+set CR Space Value
+
+=item [ Member : returns int  ] getCrSpace startAddr length data
+
+get CR Space Value
+
+=item [ Member : returns int  ] getMFTBlock blockIdx portIdx
+
+get MFT block
+
+=item [ Member : returns int  ] setMFTBlock blockIdx portIdx inMftBlock
+
+set MFT block
+
+=back
+
+=head2 class madMcMemberRec
+
+=over
+
+=item [ Constructor: returns madMcMemberRec * ] madMcMemberRec name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns ib_gid_t * ] -mgid
+
+=item [ Member data: returns ib_gid_t * ] -port_gid
+
+=item [ Member data: returns ib_net32_t * ] -qkey
+
+=item [ Member data: returns ib_net16_t * ] -mlid
+
+=item [ Member data: returns uint8_t * ] -mtu
+
+=item [ Member data: returns uint8_t * ] -tclass
+
+=item [ Member data: returns ib_net16_t * ] -pkey
+
+=item [ Member data: returns uint8_t * ] -rate
+
+=item [ Member data: returns uint8_t * ] -pkt_life
+
+=item [ Member data: returns ib_net32_t * ] -sl_flow_hop
+
+=item [ Member data: returns uint8_t * ] -scope_state
+
+=item [ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask
+
+=item [ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask
+
+=item [ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask
+
+=back
+
+=head2 class madPathRec
+
+=over
+
+=item [ Constructor: returns madPathRec * ] madPathRec name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns uint8_array_t * ] -resv0
+
+=item [ Member data: returns ib_gid_t * ] -dgid
+
+=item [ Member data: returns ib_gid_t * ] -sgid
+
+=item [ Member data: returns ib_net16_t * ] -dlid
+
+=item [ Member data: returns ib_net16_t * ] -slid
+
+=item [ Member data: returns ib_net32_t * ] -hop_flow_raw
+
+=item [ Member data: returns uint8_t * ] -tclass
+
+=item [ Member data: returns uint8_t * ] -num_path
+
+=item [ Member data: returns ib_net16_t * ] -pkey
+
+=item [ Member data: returns ib_net16_t * ] -sl
+
+=item [ Member data: returns uint8_t * ] -mtu
+
+=item [ Member data: returns uint8_t * ] -rate
+
+=item [ Member data: returns uint8_t * ] -pkt_life
+
+=item [ Member data: returns uint8_t * ] -preference
+
+=item [ Member data: returns uint8_array_t * ] -resv2
+
+=item [ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask
+
+=back
+
+=head2 class madServiceRec
+
+=over
+
+=item [ Constructor: returns madServiceRec * ] madServiceRec name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns ib_net64_t * ] -service_id
+
+=item [ Member data: returns ib_gid_t * ] -service_gid
+
+=item [ Member data: returns ib_net16_t * ] -service_pkey
+
+=item [ Member data: returns ib_net16_t * ] -resv
+
+=item [ Member data: returns ib_net32_t * ] -service_lease
+
+=item [ Member data: returns uint8_array_t * ] -service_key
+
+=item [ Member data: returns uint8_array_t * ] -service_name
+
+=item [ Member data: returns uint8_array_t * ] -service_data8
+
+=item [ Member data: returns uint16_array_t * ] -service_data16
+
+=item [ Member data: returns uint32_array_t * ] -service_data32
+
+=item [ Member data: returns uint64_array_t * ] -service_data64
+
+=item [ Member : returns int  ] send_set pFromNode fromPort destLid comp_mask
+
+=item [ Member : returns int  ] send_get pFromNode fromPort destLid comp_mask
+
+=item [ Member : returns int  ] send_del pFromNode fromPort destLid comp_mask
+
+=back
+
+=head2 class madNotice128
+
+=over
+
+=item [ Constructor: returns madNotice128 * ] madNotice128 name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns uint8_t * ] -generic_type
+
+=item [ Member data: returns uint8_t * ] -prod_type_msb
+
+=item [ Member data: returns ib_net16_t * ] -prod_type_lsb
+
+=item [ Member data: returns ib_net16_t * ] -trap_num
+
+=item [ Member data: returns ib_net16_t * ] -issuer_lid
+
+=item [ Member data: returns ib_net16_t * ] -toggle_count
+
+=item [ Member data: returns ib_net16_t * ] -sw_lid
+
+the sw lid of which link state changed - for 128 only
+
+=item [ Member data: returns ib_gid_t * ] -issuer_gid
+
+=item [ Member : returns int  ] send_trap pFromNode fromPort destLid
+
+=back
+
+=head2 class madNotice129
+
+=over
+
+=item [ Constructor: returns madNotice129 * ] madNotice129 name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns uint8_t * ] -generic_type
+
+=item [ Member data: returns uint8_t * ] -prod_type_msb
+
+=item [ Member data: returns ib_net16_t * ] -prod_type_lsb
+
+=item [ Member data: returns ib_net16_t * ] -trap_num
+
+=item [ Member data: returns ib_net16_t * ] -issuer_lid
+
+=item [ Member data: returns ib_net16_t * ] -toggle_count
+
+=item [ Member data: returns ib_net16_t * ] -pad
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+lid and port number of the violation
+
+=item [ Member data: returns uint8_t * ] -port_num
+
+=item [ Member data: returns ib_gid_t * ] -issuer_gid
+
+=item [ Member : returns int  ] send_trap pFromNode fromPort destLid
+
+=back
+
+=head2 class madNotice144
+
+=over
+
+=item [ Constructor: returns madNotice144 * ] madNotice144 name
+
+=item [ Destructor: returns void  ] rename obj {}
+
+=item [ Member data: returns uint8_t * ] -generic_type
+
+=item [ Member data: returns uint8_t * ] -prod_type_msb
+
+=item [ Member data: returns ib_net16_t * ] -prod_type_lsb
+
+=item [ Member data: returns ib_net16_t * ] -trap_num
+
+=item [ Member data: returns ib_net16_t * ] -issuer_lid
+
+=item [ Member data: returns ib_net16_t * ] -toggle_count
+
+=item [ Member data: returns ib_net16_t * ] -pad1
+
+=item [ Member data: returns ib_net16_t * ] -lid
+
+lid where capability mask changed
+
+=item [ Member data: returns ib_net16_t * ] -pad2
+
+=item [ Member data: returns ib_net32_t * ] -new_cap_mask
+
+new capability mask
+
+=item [ Member data: returns ib_gid_t * ] -issuer_gid
+
+=item [ Member : returns int  ] send_trap pFromNode fromPort destLid
+
+
+=back
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/mkSimNodeDir.1 b/ibmgtsim/doc/mkSimNodeDir.1
new file mode 100644
index 0000000..d680021
--- /dev/null
+++ b/ibmgtsim/doc/mkSimNodeDir.1
@@ -0,0 +1,157 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "MKSIMNODEDIR 1"
+.TH MKSIMNODEDIR 1 "2008-06-16" "IBMGTSIM 1.0" "IB MANAGEMENT SIMULATOR"
+.SH "NAME"
+\&\fBmkSimNodeDir\fR \-  Create a /proc like files for a simulated node
+.SH "SYNOPSYS"
+.IX Header "SYNOPSYS"
+mkSimNodeDir \-n node-name [\-g sim\-guids\-file]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This utility build the /proc like file tree for the given node
+based on the guids dump file produced by the simulator.
+.SH "ARGUMENTS"
+.IX Header "ARGUMENTS"
+.IP "\-n node-name" 4
+.IX Item "-n node-name"
+The node name to create the files for.
+.IP "\-g sim-guids-file" 4
+.IX Item "-g sim-guids-file"
+Dump file to use. default is ./ibmgtsim.guids.txt
+.SH "LIMITATIONS"
+.IX Header "LIMITATIONS"
+Only HCAs are supported.
+.PP
+Single \s-1HCA\s0 per guid.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Eitan Zahavi, Mellanox Technologies \s-1LTD\s0, eitan at mellanox.co.il
diff --git a/ibmgtsim/doc/mkSimNodeDir.pod b/ibmgtsim/doc/mkSimNodeDir.pod
new file mode 100644
index 0000000..f4ebb71
--- /dev/null
+++ b/ibmgtsim/doc/mkSimNodeDir.pod
@@ -0,0 +1,37 @@
+=head1 NAME
+
+B<mkSimNodeDir> -  Create a /proc like files for a simulated node
+
+=head1 SYNOPSYS
+
+mkSimNodeDir -n node-name [-g sim-guids-file]
+
+=head1 DESCRIPTION
+
+This utility build the /proc like file tree for the given node
+based on the guids dump file produced by the simulator.
+
+=head1 ARGUMENTS
+
+=over
+
+=item -n node-name
+
+The node name to create the files for.
+
+=item -g sim-guids-file
+
+Dump file to use. default is ./ibmgtsim.guids.txt
+
+=back
+
+=head1 LIMITATIONS
+
+Only HCAs are supported.
+
+Single HCA per guid.
+
+=head1 AUTHOR
+
+Eitan Zahavi, Mellanox Technologies LTD, eitan at mellanox.co.il
+
diff --git a/ibmgtsim/src/Makefile.am b/ibmgtsim/src/Makefile.am
new file mode 100644
index 0000000..d6108de
--- /dev/null
+++ b/ibmgtsim/src/Makefile.am
@@ -0,0 +1,180 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+## Makefile.am -- Process this file with automake to produce Makefile.in
+
+# Support debug mode through config variable
+if DEBUG
+DBG = -O0 -g -Wall -Werror
+else
+DBG = -O2 -Wall
+endif
+
+AM_CXXFLAGS = $(DBG) $(OSM_CFLAGS)
+
+if IBDM_REF_IS_USED
+INCLUDES		= -I$(with_ibdm)/ibdm $(TCL_CPPFLAGS)
+else
+INCLUDES		= -I$(with_ibdm)/include $(TCL_CPPFLAGS)
+endif
+
+
+bin_PROGRAMS = ibmssh ibmsquit #ibmgtsim test_msgmgr test_client test_server ibmgt_client
+
+if IBDM_REF_IS_USED
+# we assume we are building a parallel tree
+IBDM_PREFIX=$prefix
+IBDM_LIB=-L../../ibdm/ibdm -libdmcom
+IBDM_INC=-I$(srcdir)/../../ibdm
+IBDM_IFC=$(srcdir)/../../ibdm/ibdm/ibdm.i
+else
+IBDM_PREFIX=$(with_ibdm)
+IBDM_LIB=-L$(with_ibdm)/lib -libdmcom
+IBDM_INC=-I$(with_ibdm)/include/ibdm
+IBDM_IFC=$(with_ibdm)/include/ibdm/ibdm.i
+endif
+
+AM_CPPFLAGS = -I$(INCLUDES) $(IBDM_INC) $(OSM_CFLAGS)
+LDADD = $(IBDM_LIB) -lpthread
+
+# AM_LDFLAGS = -static
+
+# this is the main simulator
+#ibmgtsim_SOURCES = sim.cpp server.cpp node.cpp dispatcher.cpp \
+#	msgmgr.cpp simmsg.cpp tcpcomm.cpp sma.cpp pma.cpp
+#ibmgtsim_CPPFLAGS = -DBUILD_STANDALONE_SIM=1
+
+ibmssh_SOURCES = sim.cpp server.cpp node.cpp dispatcher.cpp \
+	 ibmssh_wrap.cpp sma.cpp pma.cpp vsa.cpp randmgr.cpp
+
+ibmssh_LDFLAGS = -static -Wl,-rpath -Wl,$(TCL_PREFIX)/lib \
+	-Wl,-rpath -Wl,$(IBDM_PREFIX)/lib
+
+ibmssh_LDADD = -libmscli $(IBDM_LIB) $(TCL_LIBS) -lpthread
+
+# SWIG FILES:
+SWIG_IFC_FILES= $(srcdir)/sim.i $(srcdir)/ib_types.i $(IBDM_IFC) \
+   $(srcdir)/inttypes.i $(srcdir)/mads.i
+
+#$(srcdir)/sim.cpp: $(srcdir)/git_version.h
+sim.o: $(srcdir)/git_version.h
+
+# track latest GIT version for this tree:
+GIT=$(shell which git)
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBMGTSIM_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+if HAS_SWIG
+$(srcdir)/ibms_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+	swig -I$(srcdir) $(IBDM_INC) -c++ -dhtml -tcl8 -o swig_wrap.c $(srcdir)/sim.i
+	$(srcdir)/../utils/fixSwigWrapper -g -s -p -o $@
+	rm -f swig_wrap.c
+
+$(srcdir)/ibmssh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+	swig -I$(srcdir) $(IBDM_INC) -c++ -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/sim.i
+	$(srcdir)/../utils/fixSwigWrapper -g -s -p -r ibms -o $@
+	rm -f swig_wrap.c
+endif
+
+swigclean:
+	rm -f $(srcdir)/ibms_wrap.cpp $(srcdir)/ibmssh_wrap.cpp *wrap.o
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_alternate_mangling.cpp
+
+# Quiter for the server
+ibmsquit_SOURCES = client.cpp msgmgr.cpp simmsg.cpp tcpcomm.cpp
+ibmsquit_CPPFLAGS = -DBUILD_QUIT_CLIENT=1 -I$(INCLUDES)
+
+# tester of the client code
+#ibmgt_client_SOURCES = client.cpp msgmgr.cpp simmsg.cpp tcpcomm.cpp
+#ibmgt_client_CPPFLAGS = -DBUILD_TEST_CLIENT=1
+
+# simple client program for testing
+#test_client_SOURCES = tcpcomm.cpp msgmgr.cpp
+#test_client_CPPFLAGS = -DBUILD_TCP_COMM_CLIENT=1
+
+# simple server program for testing
+#test_server_SOURCES = tcpcomm.cpp msgmgr.cpp
+#test_server_CPPFLAGS = -DBUILD_TCP_COMM_SERVER=1
+
+# testing message manager
+#test_msgmgr_SOURCES = msgmgr.cpp simmsg.cpp
+#test_msgmgr_CPPFLAGS = -DMSG_MGR_TEST=1
+
+# client library to be used by OSMV type sim:
+
+# ibms shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET="1:0:0"
+LIB_FILE_TRIPLET=1.0.0
+
+lib_LTLIBRARIES = libibmscli.la
+
+libibmscli_la_SOURCES = client.cpp simmsg.cpp msgmgr.cpp tcpcomm.cpp
+#  -Wl,-rpath -Wl,$(TCL_PREFIX)/lib
+libibmscli_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET) -no-undefined
+
+# we would like to export these headers during install
+pkginclude_HEADERS = $(wildcard $(srcdir)/*.h)
+
+# Don't distribute common.h, since it is build host dependent!
+#dist-hook:
+#	rm -f $(distdir)/common.h
diff --git a/ibmgtsim/src/Makefile.in b/ibmgtsim/src/Makefile.in
new file mode 100644
index 0000000..1db5564
--- /dev/null
+++ b/ibmgtsim/src/Makefile.in
@@ -0,0 +1,788 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = ibmssh$(EXEEXT) ibmsquit$(EXEEXT)
+subdir = src
+DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ibdm.m4 \
+	$(top_srcdir)/config/osm.m4 $(top_srcdir)/config/swig.m4 \
+	$(top_srcdir)/config/tcl.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+	"$(DESTDIR)$(pkgincludedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libibmscli_la_LIBADD =
+am_libibmscli_la_OBJECTS = client.lo simmsg.lo msgmgr.lo tcpcomm.lo
+libibmscli_la_OBJECTS = $(am_libibmscli_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_ibmsquit_OBJECTS = ibmsquit-client.$(OBJEXT) \
+	ibmsquit-msgmgr.$(OBJEXT) ibmsquit-simmsg.$(OBJEXT) \
+	ibmsquit-tcpcomm.$(OBJEXT)
+ibmsquit_OBJECTS = $(am_ibmsquit_OBJECTS)
+ibmsquit_LDADD = $(LDADD)
+am__DEPENDENCIES_1 =
+ibmsquit_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_ibmssh_OBJECTS = sim.$(OBJEXT) server.$(OBJEXT) node.$(OBJEXT) \
+	dispatcher.$(OBJEXT) ibmssh_wrap.$(OBJEXT) sma.$(OBJEXT) \
+	pma.$(OBJEXT) vsa.$(OBJEXT) randmgr.$(OBJEXT)
+ibmssh_OBJECTS = $(am_ibmssh_OBJECTS)
+ibmssh_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libibmscli_la_SOURCES) $(ibmsquit_SOURCES) \
+	$(ibmssh_SOURCES)
+DIST_SOURCES = $(libibmscli_la_SOURCES) $(ibmsquit_SOURCES) \
+	$(ibmssh_SOURCES)
+pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(pkginclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+IBDM_REF_IS_USED_FALSE = @IBDM_REF_IS_USED_FALSE@
+IBDM_REF_IS_USED_TRUE = @IBDM_REF_IS_USED_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_ibdm = @with_ibdm@
+with_osm = @with_osm@
+ at DEBUG_FALSE@DBG = -O2 -Wall
+
+# Support debug mode through config variable
+ at DEBUG_TRUE@DBG = -O0 -g -Wall -Werror
+AM_CXXFLAGS = $(DBG) $(OSM_CFLAGS)
+ at IBDM_REF_IS_USED_FALSE@INCLUDES = -I$(with_ibdm)/include $(TCL_CPPFLAGS)
+ at IBDM_REF_IS_USED_TRUE@INCLUDES = -I$(with_ibdm)/ibdm $(TCL_CPPFLAGS)
+ at IBDM_REF_IS_USED_FALSE@IBDM_PREFIX = $(with_ibdm)
+
+# we assume we are building a parallel tree
+ at IBDM_REF_IS_USED_TRUE@IBDM_PREFIX = $prefix
+ at IBDM_REF_IS_USED_FALSE@IBDM_LIB = -L$(with_ibdm)/lib -libdmcom
+ at IBDM_REF_IS_USED_TRUE@IBDM_LIB = -L../../ibdm/ibdm -libdmcom
+ at IBDM_REF_IS_USED_FALSE@IBDM_INC = -I$(with_ibdm)/include/ibdm
+ at IBDM_REF_IS_USED_TRUE@IBDM_INC = -I$(srcdir)/../../ibdm
+ at IBDM_REF_IS_USED_FALSE@IBDM_IFC = $(with_ibdm)/include/ibdm/ibdm.i
+ at IBDM_REF_IS_USED_TRUE@IBDM_IFC = $(srcdir)/../../ibdm/ibdm/ibdm.i
+AM_CPPFLAGS = -I$(INCLUDES) $(IBDM_INC) $(OSM_CFLAGS)
+LDADD = $(IBDM_LIB) -lpthread
+
+# AM_LDFLAGS = -static
+
+# this is the main simulator
+#ibmgtsim_SOURCES = sim.cpp server.cpp node.cpp dispatcher.cpp \
+#	msgmgr.cpp simmsg.cpp tcpcomm.cpp sma.cpp pma.cpp
+#ibmgtsim_CPPFLAGS = -DBUILD_STANDALONE_SIM=1
+ibmssh_SOURCES = sim.cpp server.cpp node.cpp dispatcher.cpp \
+	 ibmssh_wrap.cpp sma.cpp pma.cpp vsa.cpp randmgr.cpp
+
+ibmssh_LDFLAGS = -static -Wl,-rpath -Wl,$(TCL_PREFIX)/lib \
+	-Wl,-rpath -Wl,$(IBDM_PREFIX)/lib
+
+ibmssh_LDADD = -libmscli $(IBDM_LIB) $(TCL_LIBS) -lpthread
+
+# SWIG FILES:
+SWIG_IFC_FILES = $(srcdir)/sim.i $(srcdir)/ib_types.i $(IBDM_IFC) \
+   $(srcdir)/inttypes.i $(srcdir)/mads.i
+
+
+# track latest GIT version for this tree:
+GIT = $(shell which git)
+
+# we need there extra in the distribution as their dependency is not defined
+EXTRA_DIST = swig_alternate_mangling.cpp
+
+# Quiter for the server
+ibmsquit_SOURCES = client.cpp msgmgr.cpp simmsg.cpp tcpcomm.cpp
+ibmsquit_CPPFLAGS = -DBUILD_QUIT_CLIENT=1 -I$(INCLUDES)
+
+# tester of the client code
+#ibmgt_client_SOURCES = client.cpp msgmgr.cpp simmsg.cpp tcpcomm.cpp
+#ibmgt_client_CPPFLAGS = -DBUILD_TEST_CLIENT=1
+
+# simple client program for testing
+#test_client_SOURCES = tcpcomm.cpp msgmgr.cpp
+#test_client_CPPFLAGS = -DBUILD_TCP_COMM_CLIENT=1
+
+# simple server program for testing
+#test_server_SOURCES = tcpcomm.cpp msgmgr.cpp
+#test_server_CPPFLAGS = -DBUILD_TCP_COMM_SERVER=1
+
+# testing message manager
+#test_msgmgr_SOURCES = msgmgr.cpp simmsg.cpp
+#test_msgmgr_CPPFLAGS = -DMSG_MGR_TEST=1
+
+# client library to be used by OSMV type sim:
+
+# ibms shared library version triplet is:
+# API_ID:API_VER:NUM_PREV_API_SUP = x:y:z
+# * change of API_ID means new API
+# * change of AGE means how many API backward compt
+# * change of API_VER is required every version
+# Results with SO version: x-z:z:y
+LIB_VER_TRIPLET = "1:0:0"
+LIB_FILE_TRIPLET = 1.0.0
+lib_LTLIBRARIES = libibmscli.la
+libibmscli_la_SOURCES = client.cpp simmsg.cpp msgmgr.cpp tcpcomm.cpp
+#  -Wl,-rpath -Wl,$(TCL_PREFIX)/lib
+libibmscli_la_LDFLAGS = -version-info $(LIB_VER_TRIPLET) -no-undefined
+
+# we would like to export these headers during install
+pkginclude_HEADERS = $(wildcard $(srcdir)/*.h)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libibmscli.la: $(libibmscli_la_OBJECTS) $(libibmscli_la_DEPENDENCIES) 
+	$(CXXLINK) -rpath $(libdir) $(libibmscli_la_LDFLAGS) $(libibmscli_la_OBJECTS) $(libibmscli_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ibmsquit$(EXEEXT): $(ibmsquit_OBJECTS) $(ibmsquit_DEPENDENCIES) 
+	@rm -f ibmsquit$(EXEEXT)
+	$(CXXLINK) $(ibmsquit_LDFLAGS) $(ibmsquit_OBJECTS) $(ibmsquit_LDADD) $(LIBS)
+ibmssh$(EXEEXT): $(ibmssh_OBJECTS) $(ibmssh_DEPENDENCIES) 
+	@rm -f ibmssh$(EXEEXT)
+	$(CXXLINK) $(ibmssh_LDFLAGS) $(ibmssh_OBJECTS) $(ibmssh_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/client.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dispatcher.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibmsquit-client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibmsquit-msgmgr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibmsquit-simmsg.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibmsquit-tcpcomm.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ibmssh_wrap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/msgmgr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/node.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pma.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/randmgr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/server.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sim.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simmsg.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sma.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tcpcomm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vsa.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+ibmsquit-client.o: client.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-client.o -MD -MP -MF "$(DEPDIR)/ibmsquit-client.Tpo" -c -o ibmsquit-client.o `test -f 'client.cpp' || echo '$(srcdir)/'`client.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-client.Tpo" "$(DEPDIR)/ibmsquit-client.Po"; else rm -f "$(DEPDIR)/ibmsquit-client.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='client.cpp' object='ibmsquit-client.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-client.o `test -f 'client.cpp' || echo '$(srcdir)/'`client.cpp
+
+ibmsquit-client.obj: client.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-client.obj -MD -MP -MF "$(DEPDIR)/ibmsquit-client.Tpo" -c -o ibmsquit-client.obj `if test -f 'client.cpp'; then $(CYGPATH_W) 'client.cpp'; else $(CYGPATH_W) '$(srcdir)/client.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-client.Tpo" "$(DEPDIR)/ibmsquit-client.Po"; else rm -f "$(DEPDIR)/ibmsquit-client.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='client.cpp' object='ibmsquit-client.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-client.obj `if test -f 'client.cpp'; then $(CYGPATH_W) 'client.cpp'; else $(CYGPATH_W) '$(srcdir)/client.cpp'; fi`
+
+ibmsquit-msgmgr.o: msgmgr.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-msgmgr.o -MD -MP -MF "$(DEPDIR)/ibmsquit-msgmgr.Tpo" -c -o ibmsquit-msgmgr.o `test -f 'msgmgr.cpp' || echo '$(srcdir)/'`msgmgr.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-msgmgr.Tpo" "$(DEPDIR)/ibmsquit-msgmgr.Po"; else rm -f "$(DEPDIR)/ibmsquit-msgmgr.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='msgmgr.cpp' object='ibmsquit-msgmgr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-msgmgr.o `test -f 'msgmgr.cpp' || echo '$(srcdir)/'`msgmgr.cpp
+
+ibmsquit-msgmgr.obj: msgmgr.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-msgmgr.obj -MD -MP -MF "$(DEPDIR)/ibmsquit-msgmgr.Tpo" -c -o ibmsquit-msgmgr.obj `if test -f 'msgmgr.cpp'; then $(CYGPATH_W) 'msgmgr.cpp'; else $(CYGPATH_W) '$(srcdir)/msgmgr.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-msgmgr.Tpo" "$(DEPDIR)/ibmsquit-msgmgr.Po"; else rm -f "$(DEPDIR)/ibmsquit-msgmgr.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='msgmgr.cpp' object='ibmsquit-msgmgr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-msgmgr.obj `if test -f 'msgmgr.cpp'; then $(CYGPATH_W) 'msgmgr.cpp'; else $(CYGPATH_W) '$(srcdir)/msgmgr.cpp'; fi`
+
+ibmsquit-simmsg.o: simmsg.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-simmsg.o -MD -MP -MF "$(DEPDIR)/ibmsquit-simmsg.Tpo" -c -o ibmsquit-simmsg.o `test -f 'simmsg.cpp' || echo '$(srcdir)/'`simmsg.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-simmsg.Tpo" "$(DEPDIR)/ibmsquit-simmsg.Po"; else rm -f "$(DEPDIR)/ibmsquit-simmsg.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simmsg.cpp' object='ibmsquit-simmsg.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-simmsg.o `test -f 'simmsg.cpp' || echo '$(srcdir)/'`simmsg.cpp
+
+ibmsquit-simmsg.obj: simmsg.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-simmsg.obj -MD -MP -MF "$(DEPDIR)/ibmsquit-simmsg.Tpo" -c -o ibmsquit-simmsg.obj `if test -f 'simmsg.cpp'; then $(CYGPATH_W) 'simmsg.cpp'; else $(CYGPATH_W) '$(srcdir)/simmsg.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-simmsg.Tpo" "$(DEPDIR)/ibmsquit-simmsg.Po"; else rm -f "$(DEPDIR)/ibmsquit-simmsg.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simmsg.cpp' object='ibmsquit-simmsg.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-simmsg.obj `if test -f 'simmsg.cpp'; then $(CYGPATH_W) 'simmsg.cpp'; else $(CYGPATH_W) '$(srcdir)/simmsg.cpp'; fi`
+
+ibmsquit-tcpcomm.o: tcpcomm.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-tcpcomm.o -MD -MP -MF "$(DEPDIR)/ibmsquit-tcpcomm.Tpo" -c -o ibmsquit-tcpcomm.o `test -f 'tcpcomm.cpp' || echo '$(srcdir)/'`tcpcomm.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-tcpcomm.Tpo" "$(DEPDIR)/ibmsquit-tcpcomm.Po"; else rm -f "$(DEPDIR)/ibmsquit-tcpcomm.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tcpcomm.cpp' object='ibmsquit-tcpcomm.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-tcpcomm.o `test -f 'tcpcomm.cpp' || echo '$(srcdir)/'`tcpcomm.cpp
+
+ibmsquit-tcpcomm.obj: tcpcomm.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ibmsquit-tcpcomm.obj -MD -MP -MF "$(DEPDIR)/ibmsquit-tcpcomm.Tpo" -c -o ibmsquit-tcpcomm.obj `if test -f 'tcpcomm.cpp'; then $(CYGPATH_W) 'tcpcomm.cpp'; else $(CYGPATH_W) '$(srcdir)/tcpcomm.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/ibmsquit-tcpcomm.Tpo" "$(DEPDIR)/ibmsquit-tcpcomm.Po"; else rm -f "$(DEPDIR)/ibmsquit-tcpcomm.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tcpcomm.cpp' object='ibmsquit-tcpcomm.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ibmsquit_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ibmsquit-tcpcomm.obj `if test -f 'tcpcomm.cpp'; then $(CYGPATH_W) 'tcpcomm.cpp'; else $(CYGPATH_W) '$(srcdir)/tcpcomm.cpp'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+uninstall-pkgincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgincludedir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+	uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+	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-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-man install-pkgincludeHEADERS 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 uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am uninstall-libLTLIBRARIES \
+	uninstall-pkgincludeHEADERS
+
+
+#$(srcdir)/sim.cpp: $(srcdir)/git_version.h
+sim.o: $(srcdir)/git_version.h
+
+$(srcdir)/git_version.h:  @MAINTAINER_MODE_TRUE@ FORCE
+	if test x$(GIT) != x ; then \
+	   gitver=`cd $(srcdir) ; git-log | head -1 | cut -f2 -d\  `; \
+	   changes=`cd $(srcdir) ; git diff . | grep ^diff | wc -l`; \
+	else \
+	   gitver=undefined; changes=0; \
+	fi ; \
+	if test $$changes != 0; then gitver="$$gitver with-local-mods"; fi; \
+	echo "#define IBMGTSIM_CODE_VERSION \"$$gitver\"" > .git_version.h ;\
+	if test -f $(srcdir)/git_version.h ; then \
+		if test `diff .git_version.h $(srcdir)/git_version.h | wc -l` != 0; then \
+			mv -f .git_version.h $(srcdir)/git_version.h; \
+			echo "Updated code version to: $$gitver"; \
+		fi; \
+	else \
+		mv -f .git_version.h $(srcdir)/git_version.h; \
+		echo "Created code version file with version: $$gitver"; \
+	fi;
+
+FORCE:
+
+# only generate the swig wrappers if they do not exist...
+# so we avoid un-needed swig dependency
+ at HAS_SWIG_TRUE@$(srcdir)/ibms_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+ at HAS_SWIG_TRUE@	swig -I$(srcdir) $(IBDM_INC) -c++ -dhtml -tcl8 -o swig_wrap.c $(srcdir)/sim.i
+ at HAS_SWIG_TRUE@	$(srcdir)/../utils/fixSwigWrapper -g -s -p -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+ at HAS_SWIG_TRUE@$(srcdir)/ibmssh_wrap.cpp: @MAINTAINER_MODE_TRUE@ $(SWIG_IFC_FILES)
+ at HAS_SWIG_TRUE@	swig -I$(srcdir) $(IBDM_INC) -c++ -dhtml -tcl8  -ltclsh.i -o swig_wrap.c $(srcdir)/sim.i
+ at HAS_SWIG_TRUE@	$(srcdir)/../utils/fixSwigWrapper -g -s -p -r ibms -o $@
+ at HAS_SWIG_TRUE@	rm -f swig_wrap.c
+
+swigclean:
+	rm -f $(srcdir)/ibms_wrap.cpp $(srcdir)/ibmssh_wrap.cpp *wrap.o
+
+# Don't distribute common.h, since it is build host dependent!
+#dist-hook:
+#	rm -f $(distdir)/common.h
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibmgtsim/src/client.cpp b/ibmgtsim/src/client.cpp
new file mode 100644
index 0000000..e3f819d
--- /dev/null
+++ b/ibmgtsim/src/client.cpp
@@ -0,0 +1,484 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <stdlib.h>     /* for atoi() and exit() */
+#include <string.h>     /* for memset() */
+#include <unistd.h>     /* for close() */
+#include <fstream>    /* for file streams */
+#include "msgmgr.h"     /* message manager */
+#include "helper.h"     /* mad dumps */
+#include "simmsg.h"     /* IB mgt simulator messages */
+#include "tcpcomm.h"    /* generic server and client */
+#include "ibms_client_api.h" /* interface we provide to C clients */
+
+class IBMSClient : GenClient {
+public:
+  IBMSClient(char *srvHostName, unsigned short portNum):
+    GenClient(srvHostName, portNum, sizeof(ibms_response_t)) {};
+
+  int
+  sendSimMsg(ibms_client_msg_t &request, ibms_response_t &response)
+  {
+    MSGREG(err1, 'E', "Fail to obtain valid response size ($ != $)",
+           "server");
+    MSGREG(info1, 'V', "Obtained remote result:$", "server");
+    int reqLen = sizeof(ibms_client_msg_t);
+    int resLen;
+
+    sendMsg(reqLen, (char*)&request, resLen, (char*)&response);
+
+    if (resLen != sizeof(ibms_response_t))
+    {
+      MSGSND(err1, resLen,  sizeof(ibms_response_t));
+      return 1;
+    }
+    MSGSND(info1, ibms_get_resp_str(&response));
+    return 0;
+  };
+};
+
+/* we subclass the generic server to receive our own messages */
+class IBMSClientInMsgs : public GenServer {
+  ibms_pfn_receive_cb_t pfnIncommingMadCallback;
+  void *incommingMadContext;
+
+public:
+  IBMSClientInMsgs(unsigned short portNum,
+                   ibms_pfn_receive_cb_t cb, void *ctx):
+    GenServer(portNum, sizeof(ibms_client_msg_t)) {
+    incommingMadContext = ctx;
+    pfnIncommingMadCallback = cb;
+  };
+
+  /* handle incoming messages */
+  int proccessClientMsg(int clientSock,
+                        int reqLen, char request[],
+                        int &resLen, char *(pResponse[]));
+};
+
+int
+IBMSClientInMsgs::proccessClientMsg(
+  int clientSock,
+  int reqLen,
+  char request[],
+  int &resLen,
+  char *(pResponse[]))
+{
+  MSGREG(err1, 'E', "Message is not of ibms_client_msg_t size ($ != $)",
+         "client");
+  MSGREG(inf1, 'V', "Received:\n$","client");
+
+  if (reqLen != sizeof(ibms_client_msg_t))
+  {
+    MSGSND(err1, reqLen, sizeof(ibms_client_msg_t));
+    return 1;
+  }
+
+  ibms_client_msg_t *pReq = (ibms_client_msg_t*)request;
+
+  MSGSND(inf1, ibms_get_msg_str(pReq));
+
+  if (pReq->msg_type == IBMS_CLI_MSG_MAD)
+  {
+    if (pfnIncommingMadCallback != NULL)
+    {
+      pfnIncommingMadCallback( incommingMadContext, &(pReq->msg.mad));
+    }
+  }
+
+  /* NOTE: the allocated buffer for the response is deallocated by
+     the call from the GenServer::clientThreadMain */
+  resLen = sizeof(ibms_response_t);
+  *pResponse = new char[sizeof(ibms_response_t)];
+  ibms_response_t *pResp = (ibms_response_t *)*pResponse;
+
+  /* we always succeed for now */
+  pResp->status = 0;
+
+  return 0;
+}
+
+/* struct holding all information about one connection */
+typedef struct _ibms_client_conn_rec {
+  IBMSClient *pClient;
+  IBMSClientInMsgs *pServer;
+} ibms_client_conn_rec_t ;
+
+/* obtain the simulator host name and port number */
+void
+__ibms_get_sim_host_n_port(
+  char *hostName,
+  unsigned short int &simPortNum)
+{
+  MSGREG(err1, 'F', "Fail to open:$","client");
+  MSGREG(inf1, 'I', "Sim server:$ port:$","client");
+  std::ifstream serverFile;
+  std::string serverHost;
+
+  std::string simDir;
+  if (getenv("IBMGTSIM_DIR"))
+    simDir = getenv("IBMGTSIM_DIR");
+  else
+    simDir = "/tmp/ibmgtsim";
+
+  std::string serverFileName = simDir + "/ibmgtsim.server";
+
+  serverFile.open(serverFileName.c_str());
+  if (serverFile.fail())
+  {
+    MSGSND(err1, serverFileName);
+    exit(1);
+  }
+  serverFile >> serverHost >> simPortNum;
+  MSGSND(inf1, serverHost, simPortNum);
+  serverFile.close();
+  strcpy(hostName, serverHost.c_str());
+  // simPortNum = 42561;
+}
+
+/* connect to the server to the port guid.
+   Registering incoming messages callbacks */
+ibms_conn_handle_t
+ibms_connect(uint64_t portGuid,
+             ibms_pfn_receive_cb_t receiveCb,
+             void* context)
+{
+  unsigned short int serverPortNum;
+  ibms_client_conn_rec_t clientConn;
+  char hostName[32];
+  unsigned short int simPortNum;
+  unsigned int seed = (int)time(NULL);
+
+  /* get the simulator hostname and port */
+  __ibms_get_sim_host_n_port(hostName, simPortNum);
+
+  /* create a client object and store in the map */
+  clientConn.pClient = new IBMSClient(hostName, simPortNum);
+
+  /* create a server and register it in the servers map */
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;      /* the message we receive back */
+
+  /* iterate several times to find an available socket */
+  int trys = 0;
+  do {
+    serverPortNum =
+      (unsigned short int)((1.0*rand_r(&seed)/RAND_MAX)*(65535-1024)+1024);
+    clientConn.pServer =
+      new IBMSClientInMsgs( serverPortNum ,receiveCb, context);
+
+    if (clientConn.pServer->isAlive())
+      break;
+    else
+    {
+      delete clientConn.pServer;
+      clientConn.pServer = NULL;
+    }
+
+  } while (trys++ < 50);
+
+  if (!clientConn.pServer)
+  {
+	  printf("-E- Failed to connect to simulator!\n");
+    return 0;
+  }
+  printf("-I- Connected to simulator!\n");
+
+  char thisHostName[32];
+  gethostname(thisHostName, sizeof(thisHostName)-1);
+
+  /* connect to the given guid */
+  request.msg_type = IBMS_CLI_MSG_CONN;
+  request.msg.conn.port_num = 1;
+  request.msg.conn.port_guid = portGuid;
+  strcpy(request.msg.conn.host, thisHostName);
+  request.msg.conn.in_msg_port = serverPortNum;
+
+  if (clientConn.pClient->sendSimMsg(request, response))
+  {
+    MSGREG(err1, 'F', "Fail to send connect message.","client");
+    MSGSND(err1);
+    return 0;
+  }
+
+  if (response.status)
+  {
+    MSGREG(err2, 'F', "Fail to connect to guid:$","client");
+    MSGSND(err2, portGuid);
+    return 0;
+  }
+
+  ibms_client_conn_rec_t *pCon =
+    (ibms_client_conn_rec_t*)malloc( sizeof(ibms_client_conn_rec_t) );
+  pCon->pServer = clientConn.pServer;
+  pCon->pClient = clientConn.pClient;
+
+  return pCon;
+}
+
+/* bind to a specific mad messages */
+int
+ibms_bind(
+  ibms_conn_handle_t conHdl,
+  ibms_bind_msg_t *pBindMsg)
+{
+  ibms_client_conn_rec_t *pCon = (ibms_client_conn_rec_t*)conHdl;
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;      /* the message we receive back */
+
+  /* send second message - bind to  */
+  request.msg_type = IBMS_CLI_MSG_BIND;
+  request.msg.bind = *pBindMsg;
+
+  if (pCon->pClient->sendSimMsg(request, response))
+    return 1;
+
+  return response.status;
+}
+
+/* set port capabilities */
+int
+ibms_set_cap(
+  ibms_conn_handle_t conHdl,
+  ibms_cap_msg_t *pCapMsg)
+{
+  ibms_client_conn_rec_t *pCon = (ibms_client_conn_rec_t*)conHdl;
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;      /* the message we receive back */
+
+  /* send second message - bind to  */
+  request.msg_type = IBMS_CLI_MSG_CAP;
+  request.msg.cap = *pCapMsg;
+
+  if (pCon->pClient->sendSimMsg(request, response))
+    return 1;
+
+  return response.status;
+}
+
+/* send a message to the simulator */
+int
+ibms_send(
+  ibms_conn_handle_t conHdl,
+  ibms_mad_msg_t *pMadMsg)
+{
+  ibms_client_conn_rec_t *pCon = (ibms_client_conn_rec_t*)conHdl;
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;      /* the message we receive back */
+
+  memset(&request.msg.mad, 0, sizeof(request.msg.mad));
+  request.msg_type = IBMS_CLI_MSG_MAD;
+  request.msg.mad = *pMadMsg;
+
+  if (pCon->pClient->sendSimMsg(request, response))
+    return 1;
+
+  return response.status;
+}
+
+/* disconnect from the simulator */
+int
+ibms_disconnect(
+  ibms_conn_handle_t conHdl)
+{
+  ibms_client_conn_rec_t *pCon = (ibms_client_conn_rec_t*)conHdl;
+  delete pCon;
+  return(0);
+}
+
+#ifdef BUILD_QUIT_CLIENT
+int main(int argc, char *argv[])
+{
+  unsigned short servPort;       /* server port */
+  char *hostName;                /* Server Host Name */
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;    /* the message we receive back */
+
+  if ((argc < 2) || (argc > 3))  /* Test for correct number of arguments */
+  {
+    fprintf(stderr, "Usage: %s <Server Host> [<Server Port>]\n",
+            argv[0]);
+    exit(1);
+  }
+
+  hostName = argv[1];
+
+  if (argc == 3)
+    servPort = atoi(argv[2]);     /* Use given port, if any */
+  else
+    servPort = 42561;
+
+  msgMgr(0x1, &std::cout);
+  msgMgr().setVerbLevel(0x1);
+
+  /* we start the client */
+  IBMSClient client(hostName, servPort);
+
+  /* send first message - client connect */
+  request.msg_type = IBMS_CLI_MSG_QUIT;
+
+  printf("Sending Quit Message ...\n");
+  client.sendSimMsg(request, response);
+
+  sleep(2);
+
+  exit(0);
+}
+#endif
+
+#ifdef BUILD_TEST_CLIENT
+int main(int argc, char *argv[])
+{
+  unsigned short servPort;       /* server port */
+  char *hostName;               /* Server Host Name */
+  int bytesRcvd, totalBytesRcvd; /* Bytes read in single recv()
+                                    and total bytes read */
+  ibms_client_msg_t request;     /* the message we send */
+  ibms_response_t response;    /* the message we receive back */
+  int msgLen = sizeof(ibms_client_msg_t);
+
+  if ((argc < 2) || (argc > 3))  /* Test for correct number of arguments */
+  {
+    fprintf(stderr, "Usage: %s <Server Host> [<Server Port>]\n",
+            argv[0]);
+    exit(1);
+  }
+
+
+  hostName = argv[1];
+
+  if (argc == 3)
+    servPort = atoi(argv[2]);     /* Use given port, if any */
+  else
+    servPort = 42561;
+
+  msgMgr(MsgShowAll, &std::cout);
+
+  /* need to have our own incoming messages port - so start our own server */
+  IBMSClientInMsgs *pServer = new IBMSClientInMsgs( 46281, NULL, NULL );
+  sleep(1);
+  /* we start the client */
+  IBMSClient client(hostName, servPort);
+
+  /* send first message - client connect */
+  request.msg_type = IBMS_CLI_MSG_CONN;
+  request.msg.conn.port_num = 1;
+  request.msg.conn.port_guid = 0x0002c90000000002ULL;
+  gethostname(request.msg.conn.host, sizeof(request.msg.conn.host)-1);
+  request.msg.conn.host[sizeof(request.msg.conn.host)] = '\0';
+  request.msg.conn.in_msg_port = 46281;
+
+  client.sendSimMsg(request, response);
+
+  sleep(1);
+
+  /* send second message - bind to  */
+  request.msg_type = IBMS_CLI_MSG_BIND;
+  request.msg.bind.port = 1;
+  request.msg.bind.qpn = 1;
+  request.msg.bind.mgt_class = 0x81;
+  request.msg.bind.method = 0x1;
+  request.msg.bind.mask = IBMS_BIND_MASK_PORT |
+    IBMS_BIND_MASK_QP | IBMS_BIND_MASK_CLASS | IBMS_BIND_MASK_METH;
+
+  client.sendSimMsg(request, response);
+
+  sleep(1);
+
+
+  for(int i = 1; i < 10; i++)
+  {
+    memset(&request.msg.mad, 0, sizeof(request.msg.mad));
+    request.msg_type = IBMS_CLI_MSG_MAD;
+    request.msg.mad.addr.dlid = 0x1;
+    request.msg.mad.addr.slid = 0x2;
+    request.msg.mad.addr.sqpn = 0;
+    request.msg.mad.addr.dqpn = 0;
+
+    request.msg.mad.header.mgmt_class = 0x81;
+    request.msg.mad.header.method = 0x1;
+    request.msg.mad.header.trans_id = i;
+
+    /* we will hard-code some direct route path */
+    ib_smp_t *p_mad = (ib_smp_t *)(&request.msg.mad.header);
+    p_mad->hop_count = 3;
+    p_mad->hop_ptr = 0;
+    p_mad->initial_path[1] = 1;
+    p_mad->initial_path[2] = i;
+    p_mad->initial_path[3] = 2;
+    p_mad->dr_dlid = IB_LID_PERMISSIVE;
+    p_mad->dr_slid = IB_LID_PERMISSIVE;
+
+    client.sendSimMsg(request, response);
+
+  }
+
+  /* let us make it return to us */
+  memset(&request.msg.mad, 0, sizeof(request.msg.mad));
+  request.msg_type = IBMS_CLI_MSG_MAD;
+  request.msg.mad.addr.dlid = 0x1;
+  request.msg.mad.addr.slid = 0x2;
+  request.msg.mad.addr.sqpn = 0;
+  request.msg.mad.addr.dqpn = 0;
+
+  request.msg.mad.header.mgmt_class = 0x81;
+  request.msg.mad.header.method = 0x1;
+  request.msg.mad.header.trans_id = 123456;
+
+  /* we will hard-code some direct route path */
+  ib_smp_t *p_mad = (ib_smp_t *)(&request.msg.mad.header);
+  p_mad->hop_count = 4;
+  p_mad->hop_ptr = 0;
+  p_mad->initial_path[1] = 1;
+  p_mad->initial_path[2] = 3;
+  p_mad->initial_path[3] = 1;
+  p_mad->initial_path[4] = 1;
+
+  p_mad->dr_dlid = IB_LID_PERMISSIVE;
+  p_mad->dr_slid = IB_LID_PERMISSIVE;
+
+    client.sendSimMsg(request, response);
+
+  sleep(10);
+  request.msg_type = IBMS_CLI_MSG_DISCONN;
+  request.msg.disc.port_num = 1;
+  request.msg.disc.port_guid = 0x0002c90000000002ULL;
+
+  client.sendSimMsg(request, response);
+
+  delete pServer;
+
+  exit(0);
+}
+#endif
diff --git a/ibmgtsim/src/dispatcher.cpp b/ibmgtsim/src/dispatcher.cpp
new file mode 100644
index 0000000..5b4c7e9
--- /dev/null
+++ b/ibmgtsim/src/dispatcher.cpp
@@ -0,0 +1,553 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "dispatcher.h"
+#include "server.h"
+#include "msgmgr.h"
+#include <math.h>
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSDispatcher
+//
+
+/* constructor */
+IBMSDispatcher::IBMSDispatcher(
+  int numWorkers,
+  uint64_t dAvg_usec,
+  uint64_t dStdDev_usec)
+{
+  MSG_ENTER_FUNC;
+
+  MSGREG(err1, 'E', "Failed to init timer thread.", "dispatcher");
+  MSGREG(err2, 'E', "Failed to init worker thread:$.", "dispatcher");
+
+  avgDelay_usec = dAvg_usec;
+  stdDevDelay_usec = dStdDev_usec;
+
+  /* init the locks */
+  pthread_mutex_init( &madQueueByWakeupLock, NULL);
+  pthread_mutex_init( &madDispatchQueueLock, NULL);
+
+  /* init signals */
+  pthread_cond_init( &newMadIntoWaitQ, NULL);
+  pthread_cond_init( &newMadIntoDispatchQ, NULL);
+
+  /* we will need numWorkers + 1 threads */
+  threads = (pthread_t*)calloc(sizeof(pthread_t), numWorkers+1);
+
+  /* initialize the exit mode */
+  exit_now = FALSE;
+
+  /* construct and init the thread that implements the timer  */
+  if (pthread_create(&threads[0], NULL, &IBMSDispatcher::timerCallback, this))
+  {
+	  MSGSND(err1);
+	  exit(1);
+  }
+
+  /* construct and init the worker threads */
+  for (int i = 1; i <= numWorkers; i++)
+  {
+	  if (pthread_create(&threads[i],
+								NULL, &IBMSDispatcher::workerCallback, this))
+	  {
+		  MSGSND(err2, i);
+		  exit(1);
+	  }
+  }
+
+  MSG_EXIT_FUNC;
+}
+
+/* distructor */
+IBMSDispatcher::~IBMSDispatcher()
+{
+  MSG_ENTER_FUNC;
+
+  exit_now = TRUE;
+
+  /* first tell the timer to exit */
+  pthread_mutex_lock( &madQueueByWakeupLock );
+  pthread_cond_signal( &newMadIntoWaitQ );
+  pthread_mutex_unlock( &madQueueByWakeupLock );
+
+  /* now broadcast to all worker threads */
+  pthread_mutex_lock( &madDispatchQueueLock );
+  pthread_cond_broadcast( &newMadIntoDispatchQ );
+  pthread_mutex_unlock( &madDispatchQueueLock );
+
+  pthread_mutex_destroy( &madQueueByWakeupLock );
+  pthread_mutex_destroy( &madDispatchQueueLock );
+  pthread_cond_destroy( &newMadIntoWaitQ );
+  pthread_cond_destroy( &newMadIntoDispatchQ );
+
+  MSG_EXIT_FUNC;
+}
+
+/* sets the average delay for a mad on the wire */
+int IBMSDispatcher::setDelayAvg(uint64_t dAvg_usec)
+{
+  avgDelay_usec = dAvg_usec;
+  return 0;
+}
+
+/* sets the deviation of the delay for a mad on the wire */
+int IBMSDispatcher::setDelayStdDev(uint64_t dStdDev_usec)
+{
+  stdDevDelay_usec = dStdDev_usec;
+  return 0;
+}
+
+/* introduce a new mad to the dispatcher */
+int IBMSDispatcher::dispatchMad(
+  IBMSNode *pFromNode,
+  uint8_t fromPort,
+  ibms_mad_msg_t &msg)
+{
+  MSG_ENTER_FUNC;
+
+  MSGREG(inf1, 'V',
+         "Queued a mad from:$ tid:$ to expire in $ msec $ usec at $ usec",
+         "dispatcher");
+
+  /* randomize the time we want the mad wait the event wheel */
+  uint64_t waitTime_usec =
+    llrint((2.0 * rand()) / RAND_MAX * stdDevDelay_usec) +
+	  (avgDelay_usec - stdDevDelay_usec);
+
+  madItem item;
+  item.pFromNode = pFromNode;
+  item.fromPort = fromPort;
+  item.madMsg = msg;
+
+  struct timeval now;
+  gettimeofday(&now, NULL);
+  uint64_t wakeupTime_up = now.tv_sec*1000000 + now.tv_usec + waitTime_usec;
+
+  /* set the timer to the next event - trim to max delay of the current mad */
+  uint32_t waitTime_msec = waitTime_usec/1000;
+
+  MSGSND(inf1, item.pFromNode->getIBNode()->name,
+         msg.header.trans_id,
+         waitTime_msec, waitTime_usec, wakeupTime_up);
+
+  /* obtain a lock on the Q */
+  pthread_mutex_lock( &madQueueByWakeupLock );
+
+  /* store the mad in the sorted by wakeup map */
+  madQueueByWakeup.insert(pair< uint64_t, madItem>(wakeupTime_up, item));
+
+  /* signal the timer */
+  pthread_cond_signal( &newMadIntoWaitQ );
+
+  /* release the lock */
+  pthread_mutex_unlock( &madQueueByWakeupLock );
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+/*
+  The call back function for the threads
+  Loop to handle all outstanding MADs (those expired their wakeup time)
+*/
+void *
+IBMSDispatcher::workerCallback(void *context)
+{
+  MSG_ENTER_FUNC;
+  IBMSDispatcher *pDisp = (IBMSDispatcher *)context;
+
+  MSGREG(inf1,'V',"Entered workerCallback","dispatcher");
+
+  MSGSND(inf1);
+
+  madItem curMadMsgItem;
+
+  /* get the first message in the waiting map */
+  pthread_mutex_lock( &pDisp->madDispatchQueueLock );
+
+  while (! pDisp->exit_now)
+  {
+    if (! pDisp->madDispatchQueue.empty() )
+	 {
+		 curMadMsgItem = pDisp->madDispatchQueue.front();
+		 pDisp->madDispatchQueue.pop_front();
+		 pthread_mutex_unlock( &pDisp->madDispatchQueueLock );
+
+		 pDisp->routeMadToDest( curMadMsgItem );
+
+		 pthread_mutex_lock( &pDisp->madDispatchQueueLock );
+	 }
+	 else
+	 {
+		 pthread_cond_wait( &pDisp->newMadIntoDispatchQ,
+								  &pDisp->madDispatchQueueLock );
+	 }
+  }
+
+  pthread_mutex_unlock( &pDisp->madDispatchQueueLock );
+  MSG_EXIT_FUNC;
+  return NULL;
+}
+
+/*
+   The the timer thread main
+	Loop using a cond wait -
+	When loop expires check to see if work exists and signal the threads
+	Then sleep for next time
+*/
+void *
+IBMSDispatcher::timerCallback(void *context)
+{
+  MSG_ENTER_FUNC;
+  IBMSDispatcher *pDisp = (IBMSDispatcher *)context;
+  struct timespec nextWakeup;
+  struct timeval now;
+  madItem curMadMsgItem;
+  boolean_t wait;
+
+  MSGREG(inf1, 'V', "Schedule next timer callback in $ [msec]", "dispatcher");
+  MSGREG(inf2, 'V', "Signaling worker threads", "dispatcher");
+
+  /* obtain a lock on the Q */
+  pthread_mutex_lock( &pDisp->madQueueByWakeupLock );
+
+  while (! pDisp->exit_now ) {
+
+	  gettimeofday(&now, NULL);
+	  mmap_uint64_mad::iterator mI = pDisp->madQueueByWakeup.begin();
+	  if (mI != pDisp->madQueueByWakeup.end())
+	  {
+		  uint64_t curTime_usec = now.tv_sec*1000000 + now.tv_usec;
+		  uint64_t wakeUpTime_usec = (*mI).first;
+
+		  /* we are looking for an entry further down the road */
+		  if (curTime_usec < wakeUpTime_usec)
+		  {
+			  /* just calculate the next wait time */
+			  nextWakeup.tv_sec = wakeUpTime_usec / 1000000;
+			  nextWakeup.tv_nsec = 1000*(wakeUpTime_usec %1000000);
+			  MSGSND(inf1, (wakeUpTime_usec - curTime_usec) / 1000 );
+			  wait = TRUE;
+		  }
+		  else
+		  {
+			  /* pop the message and move to the dispatch queue */
+			  curMadMsgItem = (*mI).second;
+			  MSGSND(inf2);
+			  pthread_mutex_lock( &pDisp->madDispatchQueueLock );
+			  pDisp->madDispatchQueue.push_back( curMadMsgItem );
+			  pDisp->madQueueByWakeup.erase(mI);
+			  pthread_cond_signal( &pDisp->newMadIntoDispatchQ );
+			  pthread_mutex_unlock( &pDisp->madDispatchQueueLock );
+			  wait = FALSE;
+		  }
+	  } else {
+		  nextWakeup.tv_sec = now.tv_sec+2;
+		  nextWakeup.tv_nsec = 0;
+		  wait = TRUE;
+		  MSGSND(inf1, 1000);
+	  }
+
+	  if ( wait == TRUE )
+	  {
+		  pthread_cond_timedwait( &pDisp->newMadIntoWaitQ,
+										  &pDisp->madQueueByWakeupLock,
+										  &nextWakeup );
+	  }
+  }
+
+  pthread_mutex_unlock( &pDisp->madQueueByWakeupLock );
+
+  MSG_EXIT_FUNC;
+  return NULL;
+}
+
+/* do LID routing */
+int
+IBMSDispatcher::routeMadToDestByLid(
+  madItem &item)
+{
+  MSG_ENTER_FUNC;
+  IBMSNode *pCurNode = NULL;
+  IBMSNode *pRemNode = item.pFromNode;
+  IBPort   *pRemIBPort; /* stores the incoming remote port */
+  uint16_t lid = item.madMsg.addr.dlid;
+  uint8_t   prevPortNum = 0;
+  int hops = 0;
+
+  MSGREG(inf0, 'I', "Routing MAD mgmt_class:$ method:$ tid:$ to lid:$ from:$ port:$", "dispatcher");
+  MSGREG(inf1, 'E', "Got to dead-end routing to lid:$ at node:$ (fdb)",
+         "dispatcher");
+  MSGREG(inf2, 'I', "Arrived at lid $ = node $ after $ hops", "dispatcher");
+  MSGREG(inf3, 'E', "Got to dead-end routing to lid:$ at node:$ port:$",
+         "dispatcher");
+  MSGREG(inf4, 'E', "Got to dead-end routing to lid:$ at HCA node:$ port:$ lid:$",
+         "dispatcher");
+  MSGREG(inf5, 'V', "Got node:$ through port:$", "dispatcher");
+
+  MSGSND(inf0,
+	 item.madMsg.header.mgmt_class,
+	 item.madMsg.header.method,
+	 item.madMsg.header.trans_id,
+    lid,
+	 item.pFromNode->getIBNode()->name,
+	 item.fromPort);
+
+  int isVl15 = (item.madMsg.header.mgmt_class == IB_MCLASS_SUBN_LID);
+
+  prevPortNum = item.fromPort;
+
+  /* we will stop when we are done or stuck */
+  while (pRemNode && (pCurNode != pRemNode))
+  {
+    /* take the step */
+    pCurNode = pRemNode;
+
+    /* this sim node function is handling both HCA and SW under lock ... */
+    if (pCurNode->getIBNode()->type == IB_CA_NODE)
+    {
+      /* HCA node - we are either done or get out from the client port num */
+      if (hops == 0)
+      {
+        // catch cases where the lid is our own lid - use the port info for that
+        if (cl_ntoh16(pCurNode->nodePortsInfo[item.fromPort].base_lid) == lid)
+        {
+          pRemNode = pCurNode;
+          pRemIBPort = pCurNode->getIBNode()->getPort(item.fromPort);
+        }
+        else
+        {
+          if (pCurNode->getRemoteNodeByOutPort(
+                item.fromPort, &pRemNode, &pRemIBPort, isVl15))
+          {
+            MSGSND(inf3, lid, pCurNode->getIBNode()->name, item.fromPort);
+            MSG_EXIT_FUNC;
+            return 1;
+          }
+          if (pRemIBPort)
+          {
+            MSGSND(inf5, pRemNode->getIBNode()->name, pRemIBPort->num);
+            prevPortNum = pRemIBPort->num;
+          }
+        }
+      }
+      else
+      {
+        /* we mark the fact we are done */
+        pRemNode = pCurNode;
+      }
+    }
+    else
+    {
+      /* Switch node */
+      if (pCurNode->getRemoteNodeByLid(lid, &pRemNode, &pRemIBPort, isVl15))
+      {
+        MSGSND(inf1, lid, pCurNode->getIBNode()->name);
+        MSG_EXIT_FUNC;
+        return 1;
+      }
+      /* if the remote port identical to cur node that target is this switch */
+      if (pCurNode == pRemNode)
+      {
+        MSGSND(inf2, lid, pRemNode->getIBNode()->name, hops);
+        int res = pRemNode->processMad(prevPortNum, item.madMsg);
+        MSG_EXIT_FUNC;
+        return(res);
+      }
+      if (pRemIBPort)
+      {
+        MSGSND(inf5, pRemNode->getIBNode()->name, pRemIBPort->num);
+        prevPortNum = pRemIBPort->num;
+      }
+    }
+    hops++;
+  }
+
+  /* validate we reached the target node */
+  if (! pRemNode) return(1);
+  if (! pRemIBPort) return(1);
+
+  /* check the lid of the target port we reach - it must match target */
+  /* TODO: Support LMC in checking if LID routing target reached */
+  if (lid == cl_ntoh16(pRemNode->nodePortsInfo[pRemIBPort->num].base_lid))
+  {
+    MSGSND(inf2, lid, pRemNode->getIBNode()->name, hops);
+    int res = pRemNode->processMad(pRemIBPort->num, item.madMsg);
+    MSG_EXIT_FUNC;
+    return(res);
+  }
+  else
+  {
+    /* we did not get to the target */
+    MSGSND(inf4, lid, pRemNode->getIBNode()->name, pRemIBPort->num,
+           cl_ntoh16(pRemNode->nodePortsInfo[pRemIBPort->num].base_lid));
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+  MSG_EXIT_FUNC;
+}
+
+/* do Direct Routing */
+int
+IBMSDispatcher::routeMadToDestByDR(
+  madItem &item)
+{
+  MSG_ENTER_FUNC;
+  IBMSNode *pCurNode = NULL;
+  IBMSNode *pRemNode = item.pFromNode;
+  IBPort   *pRemIBPort = NULL; /* stores the incoming remote port */
+  uint8_t   inPortNum = item.fromPort;
+  int hops = 0;         /* just for debug */
+
+  /* we deal only with SMP with DR sections */
+  ib_smp_t *p_mad = (ib_smp_t *)(&(item.madMsg.header));
+
+  MSGREG(inf0, 'I', "Routing MAD tid:$ by DR", "dispatcher");
+  MSGREG(inf1, 'I', "Got to dead-end routing by MAD tid:$ at node:$ hop:$",
+         "dispatcher");
+  MSGREG(inf2, 'I', "MAD tid:$ to node:$ after $ hops", "dispatcher");
+  MSGREG(err1, 'E', "Combination of direct and lid route is not supported by the simulator!", "dispatcher");
+
+  MSGSND(inf0, cl_ntoh64(item.madMsg.header.trans_id));
+
+  /* check that no dr_dlid or drdlid are set */
+  if ((p_mad->dr_slid != 0xffff) || (p_mad->dr_slid != 0xffff) )
+  {
+    MSGSND(err1);
+    MSG_EXIT_FUNC;
+    return(1);
+  }
+
+  /* the direction of the hop pointer dec / inc is by the return bit */
+  if (ib_smp_is_d(p_mad))
+  {
+    MSGREG(inf1, 'V', "hop pointer is $ and hop count is $ !", "dispatcher");
+    MSGSND(inf1, p_mad->hop_ptr, p_mad->hop_count);
+
+    // TODO implement direct route return algorithm
+    p_mad->hop_ptr--;
+
+    while(p_mad->hop_ptr > 0)
+    {
+      pCurNode = pRemNode;
+      hops++;
+      MSGREG(inf2, 'V', "hops is $", "dispatcher");
+      MSGSND(inf2, hops);
+
+      if (pCurNode->getRemoteNodeByOutPort(
+            p_mad->return_path[p_mad->hop_ptr--], &pRemNode, &pRemIBPort, 1))
+      {
+        MSGSND(inf1, cl_ntoh64(p_mad->trans_id),
+               pCurNode->getIBNode()->name, hops);
+        MSG_EXIT_FUNC;
+        return 1;
+      }
+    }
+  }
+  else
+  {
+    /* travel out the path - updating return path port num */
+
+    /* we should start with 1 (init should be to zero) */
+    p_mad->hop_ptr++;
+
+    while(p_mad->hop_ptr <= p_mad->hop_count)
+    {
+      pCurNode = pRemNode;
+      hops++;
+
+      if (pCurNode->getRemoteNodeByOutPort(
+            p_mad->initial_path[p_mad->hop_ptr], &pRemNode, &pRemIBPort, 1))
+      {
+        MSGSND(inf1, cl_ntoh64(p_mad->trans_id),
+               pCurNode->getIBNode()->name, hops);
+        MSG_EXIT_FUNC;
+        return 1;
+      }
+
+      /* update the return path */
+      p_mad->return_path[p_mad->hop_ptr] = pRemIBPort->num;
+
+      p_mad->hop_ptr++;
+    }
+  }
+
+  /* validate we reached the target node */
+  if (! pRemNode) return(1);
+  //if (! pRemIBPort) return(1);
+  if (pRemIBPort) inPortNum = pRemIBPort->num;
+  MSGSND(inf2, cl_ntoh64(p_mad->trans_id), pRemNode->getIBNode()->name, hops);
+
+  int res = pRemNode->processMad(inPortNum, item.madMsg);
+  MSG_EXIT_FUNC;
+  return(res);
+}
+
+int
+IBMSDispatcher::routeMadToDest(
+  madItem &item)
+{
+  MSG_ENTER_FUNC;
+
+  MSGREG(inf1, 'V', "Routing mad to lid: $", "dispatcher");
+  MSGSND(inf1, item.madMsg.addr.dlid);
+
+  /*
+     the over all routing algorithm is the same - go from current node to
+     next node, but the method used to get the next node is based on the
+     routing types.
+
+     Since the traversal involves all node connectivity, port status and
+     packet loss statistics - the dispatcher calls the nodes methods for
+     obtaining the remote nodes:
+     getRemoteNodeByOutPort(outPort, &pRemNode, &remPortNum)
+     getRemoteNodeByLid(lid, &pRemNode, &remPortNum)
+
+     These functions can return 1 if the routing was unsuccessful, including
+     port state, fdb mismatch, packet drop, etc.
+
+  */
+  int res;
+  if (item.madMsg.header.mgmt_class == 0x81)
+    res = routeMadToDestByDR(item);
+  else
+    res = routeMadToDestByLid(item);
+
+  MSG_EXIT_FUNC;
+  return res;
+}
+
+
diff --git a/ibmgtsim/src/dispatcher.h b/ibmgtsim/src/dispatcher.h
new file mode 100644
index 0000000..51ca6cd
--- /dev/null
+++ b/ibmgtsim/src/dispatcher.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBMS_WORKER_H
+#define IBMS_WORKER_H
+
+/****h* IBMS/Worker
+* NAME
+*	IB Management Simulator MAD Dispatcher: Worker Threads and MAD Queue
+*
+* DESCRIPTION
+*	The simulator stores incoming mads in a special queue that provides
+*  randomization of transport time. A group of worker threads is responsible
+*  to pop mad messages from the queue, route them to the destination nodes
+*  and call their mad processor.
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+#include "simmsg.h"
+#include <map>
+#include <list>
+#include <pthread.h>
+
+class IBMSDispatcher {
+
+  struct madItem {
+    class IBMSNode *pFromNode; /* the node the mad was injected from */
+    uint8_t fromPort;          /* the port number the mad was injected from */
+    ibms_mad_msg_t  madMsg;    /* the mad message */
+  };
+
+  typedef std::multimap<uint64_t, struct madItem > mmap_uint64_mad;
+  typedef std::list< struct madItem > mad_list;
+
+  /* we track our worker threads and timer in the array of sub-threads */
+  pthread_t *threads;
+
+  /* the queue of mads waiting for processing */
+  mmap_uint64_mad madQueueByWakeup;
+
+  /* lock to synchronize popping up and pushing into the madQueueByWakeup */
+  pthread_mutex_t madQueueByWakeupLock;
+
+  /* list of mads waiting for dispatching */
+  mad_list madDispatchQueue;
+
+  /* lock to synchronize popping and pushing into mad dispatch list */
+  pthread_mutex_t madDispatchQueueLock;
+
+  /* signal the timer waits on - signaled when new mads are pushed into Q */
+  pthread_cond_t newMadIntoWaitQ;
+
+  /* signal the workers when new MAD moved to dispatch Q */
+  pthread_cond_t newMadIntoDispatchQ;
+
+  /* flag to tell the threads to exit */
+  boolean_t exit_now;
+
+  /* average delay from introducing the mad to when it appear on the queue */
+  uint64_t avgDelay_usec;
+
+  /* deviation on the delay */
+  uint64_t stdDevDelay_usec;
+
+  /* route the mad to the destination by direct route */
+  int routeMadToDestByDR(madItem &item);
+
+  /* route the mad to the destination by dest lid */
+  int routeMadToDestByLid(madItem &item);
+
+  /* route a mad to the destination node. On the way can drop mads by
+     statistics and update the relevant port counters on the actual node. */
+  int routeMadToDest(madItem &item);
+
+  /* The callback function for the threads */
+  static void *workerCallback(void *context);
+
+  /*
+	* The timer thread main - should signal the threads
+	* if there is an outstanding mad - or wait for next one
+	*/
+  static void *timerCallback(void *context);
+
+ public:
+  /* constructor */
+  IBMSDispatcher(int numWorkers,
+                 uint64_t delayAvg_usec, uint64_t delayStdDev_usec);
+
+  ~IBMSDispatcher();
+
+  /* sets the average delay for a mad on the wire */
+  int	setDelayAvg(uint64_t delayAvg_usec);
+
+  /* sets the deviation of the delay for a mad on the wire */
+  int	setDelayStdDev(uint64_t delayStdDev_usec);
+
+  /* introduce a new mad to the dispatcher */
+  int dispatchMad(IBMSNode *pFromNode, uint8_t fromPort, ibms_mad_msg_t &msg);
+
+};
+
+#endif /* IBMS_WORKER_H */
diff --git a/ibmgtsim/src/helper.h b/ibmgtsim/src/helper.h
new file mode 100644
index 0000000..7b13045
--- /dev/null
+++ b/ibmgtsim/src/helper.h
@@ -0,0 +1,212 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMgtSim/Helper
+ * NAME
+ *	 Helper
+ *
+ * DESCRIPTION
+ * 	Provide Some Helper Functions for Printing the content of the messages.
+ *
+ *
+ * $Revision: 1.7 $
+ *
+ * AUTHOR
+ *	Eitan Zahavi, Mellanox
+ *
+ *********/
+
+#ifndef IBMGTSIM_HELPER_H
+#define IBMGTSIM_HELPER_H
+
+#ifndef IN
+#define IN
+#endif
+#ifndef OUT
+#define OUT
+#endif
+
+#include "simmsg.h"
+
+/****f* IBMgtSim: ClientIfc/ibms_dump_msg
+* NAME
+*	ibms_dump_msg
+*
+* DESCRIPTION
+*	Dump the given message
+*
+* SYNOPSIS
+*/
+void
+ibms_dump_msg(IN const ibms_client_msg_t *p_msg);
+/*
+* PARAMETERS
+*	p_msg
+*		[in] The message
+*
+* RETURN VALUE
+*	NONE
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBMgtSim: ClientIfc/ibms_get_msg_str
+* NAME
+*	ibms_get_msg_str
+*
+* DESCRIPTION
+*	return a string with the given message content
+*
+* SYNOPSIS
+*/
+std::string
+ibms_get_msg_str(IN const ibms_client_msg_t *p_msg);
+/*
+* PARAMETERS
+*	p_msg
+*		[in] The message
+*
+* RETURN VALUE
+*	NONE
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBMgtSim: ibms_get_mad_header_str
+* NAME
+*	ibms_get_mad_header_str
+*
+* DESCRIPTION
+*	return a string with the given mad header content
+*
+* SYNOPSIS
+*/
+std::string
+ibms_get_mad_header_str(ib_mad_t madHeader);
+/*
+* PARAMETERS
+*	madHeader
+*		[in] The mad header
+*
+* RETURN VALUE
+*	string with the information to print to the display
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBMgtSim: ibms_get_portInfo_str
+* NAME
+*	ibms_get_portInfo_str
+*
+* DESCRIPTION
+*	return a string with the given PortInfo content
+*
+* SYNOPSIS
+*/
+std::string
+ibms_get_port_info_str(ib_port_info_t*     pPortInfo);
+/*
+* PARAMETERS
+*	madHeader
+*		[in] The mad header
+*
+* RETURN VALUE
+*	string with the information to print to the display
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBMgtSim: ibms_get_node_info_str
+* NAME
+*	ibms_get_node_info_str
+*
+* DESCRIPTION
+*	return a string with the given NodeInfo content
+*
+* SYNOPSIS
+*/
+std::string
+ibms_get_node_info_str(ib_node_info_t*     pNodeInfo);
+/*
+* PARAMETERS
+*	madHeader
+*		[in] The mad header
+*
+* RETURN VALUE
+*	string with the information to print to the display
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+/****f* IBMgtSim: ClientIfc/ibms_get_resp_str
+* NAME
+*	ibms_get_resp_str
+*
+* DESCRIPTION
+*	Get the string representing the message status
+*
+* SYNOPSIS
+*/
+char *
+ibms_get_resp_str(IN const ibms_response_t *p_response);
+/*
+* PARAMETERS
+*	p_msg
+*		[in] The message
+*
+* RETURN VALUE
+*	NONE
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+#endif /* IBMGTSIM_HELPER_H */
diff --git a/ibmgtsim/src/ib_types.i b/ibmgtsim/src/ib_types.i
new file mode 100644
index 0000000..e760df2
--- /dev/null
+++ b/ibmgtsim/src/ib_types.i
@@ -0,0 +1,491 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/* Holds ib_types.h MAD structs in and out TypeMaps */
+%{
+
+  /* for IB structs we use the format: <type>:<ptr> */
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibmsGetIBStructObjNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 string uiType;
+	 char name[128];
+
+    /* check that the string starts with _ib_ and ends with _t_p */
+    if (strncmp(type, "_ib_", 4)) {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s (should start with _ib_)", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+    if (strncmp(type+strlen(type) - 4, "_t_p", 4)) {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s (should end with _t_p %s)",
+              type, type+strlen(type) - 4);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+    strncpy(name, type+4, strlen(type) - 8);
+    name[strlen(type) - 8] = '\0';
+    sprintf(tclName, "%s:%p", name, ptr);
+    Tcl_SetStringObj(objPtr, tclName, -1);
+    return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibmsGetIBStructObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char *colonIdx;
+	 *ptr = NULL;
+    char buf[256];
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+    colonIdx++;
+
+    /* now all we need is to extract the pointer value from the
+       rest of the string */
+    if (sscanf(colonIdx,"%p", ptr) != 1) {
+		printf("-E- Bad formatted pointer value:%s\n", colonIdx);
+		return TCL_ERROR;
+    }
+	 return TCL_OK;
+  }
+%}
+
+%typemap(tcl8,in) ib_gid_t*(ib_gid_t temp) {
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj($source,NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_gid_t* {
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64($source->unicast.prefix),
+          cl_ntoh64($source->unicast.interface_id)
+          );
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,out) ib_vl_arb_table_t* {
+  char buff[256];
+  int i;
+  if ($source != NULL)
+  {
+    for (i = 0; i < 32; i++)
+    {
+      sprintf(buff, "{0x%02x 0x%02x} ", $source->vl_entry[i].vl, $source->vl_entry[i].weight);
+      Tcl_AppendToObj($target,buff,strlen(buff));
+    }
+  }
+  else
+  {
+    Tcl_SetStringObj($target, "{0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0}", -1);
+  }
+}
+
+/* break the list of sub lists into vl weight ... */
+%typemap(tcl8,in) ib_vl_arb_table_t* (ib_vl_arb_table_t tmp) {
+  int i;
+
+  int numEntries, numElements, code;
+  const char **subListStrings, **elements;
+
+  code = Tcl_SplitList(interp, Tcl_GetStringFromObj($source,NULL),
+							  &numEntries, &subListStrings);
+  if (code != TCL_OK) {
+	 printf("Wrong format for vl_arb_table should be list of lists:%s\n",
+			  Tcl_GetStringFromObj($source,NULL));
+	 return TCL_ERROR;
+  }
+
+  memset(&tmp, 0, sizeof(ib_vl_arb_table_t));
+  for (i = 0; i < numEntries; i++) {
+	 code = Tcl_SplitList(interp, subListStrings[i], &numElements, &elements);
+	 if (code != TCL_OK) {
+		printf("Wrong format for vl_arb_table sublist:%s\n", subListStrings[i]);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 if (numElements != 2) {
+		printf("Wrong format for vl_arb_table sublist:%s num elements:%d != 2\n",
+				 subListStrings[i], numElements);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 errno = 0;
+	 tmp.vl_entry[i].vl = strtoul(elements[0],NULL,0);
+	 if (errno) {
+		printf("Wrong format for vl_arb_table sublist %d vl:%s\n",
+				 i, elements[0]);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 tmp.vl_entry[i].weight =  strtoul(elements[1],NULL,0);
+	 if (errno) {
+		 printf("Wrong format for vl_arb_table sublist %d weight:%s\n",
+				  i, elements[1]);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 Tcl_Free((char *) elements);
+  }
+  Tcl_Free((char *) subListStrings);
+
+  $target = &tmp;
+}
+
+%typemap(tcl8,out) ib_slvl_table_t* {
+  char buff[64];
+  int i;
+  int entry;
+  if ($source != NULL)
+  {
+    for (i = 0; i < 8; i++)
+	 {
+		 entry = $source->raw_vl_by_sl[i];
+		 sprintf(buff, "0x%02x 0x%02x ", ((entry & 0xf0) >> 4), (entry & 0xf));
+		 Tcl_AppendToObj($target,buff,strlen(buff));
+	 }
+  }
+  else
+  {
+    Tcl_SetStringObj($target, "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ", -1);
+  }
+}
+
+%typemap(tcl8,in) ib_slvl_table_t* (ib_slvl_table_t tmp) {
+  int i;
+  int entry, value;
+  int numEntries, code;
+  const char **subListStrings;
+
+  code = Tcl_SplitList(interp, Tcl_GetStringFromObj($source,NULL),
+							  &numEntries, &subListStrings);
+  if (code != TCL_OK) {
+	 printf("Wrong format for ib_slvl_table_t should be list:%s\n",
+			  Tcl_GetStringFromObj($source,NULL));
+	 return TCL_ERROR;
+  }
+  if (numEntries > 16) {
+	 printf("Maximal number of SL2VL entries is 16:%s\n",
+			  Tcl_GetStringFromObj($source,NULL));
+	 Tcl_Free((char *) subListStrings);
+	 return TCL_ERROR;
+  }
+  memset(&tmp, 0, sizeof(ib_slvl_table_t));
+  for (i = 0; i < numEntries; i++) {
+	  errno = 0;
+	  value = strtoul(subListStrings[i],NULL,0);
+	  if (errno) {
+		  printf("Wrong format for vl_arb_table sublist %d vl:%s\n",
+					i, subListStrings[i]);
+		  Tcl_Free((char *) subListStrings);
+		  return TCL_ERROR;
+	  }
+	  if (value > 15) {
+		  printf("Given VL at index %d is %d > 15\n", i, value);
+		  Tcl_Free((char *) subListStrings);
+		  return TCL_ERROR;
+	  }
+	  entry = tmp.raw_vl_by_sl[i/2];
+	  if (i % 2) {
+		  entry = (value & 0xf) | (entry & 0xf0) ;
+	  } else {
+		  entry = ((value & 0xf) << 4) | (entry & 0xf);
+	  }
+	  tmp.raw_vl_by_sl[i/2] = entry;
+  }
+  Tcl_Free((char *) subListStrings);
+
+  $target = &tmp;
+}
+
+%typemap(tcl8,out) ib_pkey_table_t* {
+  char buff[36];
+  int i;
+  if ($source != NULL)
+  {
+    for (i = 0; i < 32; i++)
+    {
+      sprintf(buff, "0x%04x ", cl_ntoh16($source->pkey_entry[i]));
+      Tcl_AppendToObj($target,buff,strlen(buff));
+    }
+  }
+  else
+  {
+    Tcl_SetStringObj($target, "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", 64);
+  }
+}
+
+%typemap(tcl8,in) ib_pkey_table_t* (ib_pkey_table_t tmp) {
+  char buf[256];
+  char *p_pkey;
+  char *str_token;
+  int i = 0;
+  memset(&tmp, 0, sizeof(ib_pkey_table_t));
+
+  strncpy(buf, Tcl_GetStringFromObj($source,NULL), 255);
+  buf[255] = '\0';
+  p_pkey = strtok_r(buf," ", &str_token);
+  while (p_pkey && (i < 32))
+  {
+    errno = 0;
+    tmp.pkey_entry[i++] = cl_hton16(strtoul(p_pkey, NULL, 0));
+    if (errno) {
+      printf("Wrong format for pkey:%s\n", p_pkey);
+      return TCL_ERROR;
+    }
+
+    p_pkey = strtok_r(NULL," ", &str_token);
+  }
+  $target = &tmp;
+}
+
+%typemap(tcl8,out) ib_mft_table_t* {
+  char buff[36];
+  int i;
+  for (i = 0; i < IB_MCAST_BLOCK_SIZE; i++)
+  {
+    sprintf(buff, "0x%04x ", cl_ntoh16($source->mft_entry[i]));
+    Tcl_AppendToObj($target,buff,strlen(buff));
+  }
+}
+
+%typemap(tcl8,ignore) ib_mft_table_t *OUTPUT(ib_mft_table_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout) ib_mft_table_t *OUTPUT {
+  /* Argout ib_mft_table_t */
+  char buff[36];
+  int i;
+  /* HACK if we did not have the result show an error ... */
+  if (!_result)
+  {
+    /* we need to cleanup the result 0 ... */
+    Tcl_ResetResult(interp);
+    for (i = 0; i < IB_MCAST_BLOCK_SIZE; i++)
+    {
+      sprintf(buff, "0x%04x ", cl_ntoh16($source->mft_entry[i]));
+      Tcl_AppendToObj($target,buff,strlen(buff));
+    }
+  }
+}
+
+%typemap(tcl8,in) ib_mft_table_t* (ib_mft_table_t tmp) {
+  char buf[256];
+  char *p_mftEntry;
+  char *str_token;
+  int i = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj($source,NULL), 255);
+  buf[255] = '\0';
+  p_mftEntry = strtok_r(buf," ", &str_token);
+  while (p_mftEntry && (i < IB_MCAST_BLOCK_SIZE))
+  {
+    errno = 0;
+    tmp.mft_entry[i++] = cl_hton16(strtoul(p_mftEntry, NULL, 0));
+    if (errno) {
+      printf("Wrong format for MFT Entry:%s\n", p_mftEntry);
+      return TCL_ERROR;
+    }
+
+    p_mftEntry = strtok_r(NULL," ", &str_token);
+  }
+  while (i < IB_MCAST_BLOCK_SIZE)
+  {
+    tmp.mft_entry[i++] = 0;
+  }
+  $target = &tmp;
+}
+
+%{
+#define uint8_array_t uint8_t
+%}
+%typemap(memberin)  uint8_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%{
+#define uint32_array_t uint32_t
+%}
+%typemap(memberin)  uint32_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+typedef struct _ib_node_info
+{
+	uint8_t				base_version;
+	uint8_t				class_version;
+	uint8_t				node_type;
+	uint8_t				num_ports;
+	ib_net64_t			sys_guid;
+	ib_net64_t			node_guid;
+	ib_net64_t			port_guid;
+	ib_net16_t			partition_cap;
+	ib_net16_t			device_id;
+	ib_net32_t			revision;
+	ib_net32_t			port_num_vendor_id;
+} ib_node_info_t;
+
+typedef struct _ib_switch_info
+{
+	ib_net16_t			lin_cap;
+	ib_net16_t			rand_cap;
+	ib_net16_t			mcast_cap;
+	ib_net16_t			lin_top;
+	uint8_t				def_port;
+	uint8_t				def_mcast_pri_port;
+	uint8_t				def_mcast_not_port;
+	uint8_t				life_state;
+	ib_net16_t			lids_per_port;
+	ib_net16_t			enforce_cap;
+	uint8_t				flags;
+
+} ib_switch_info_t;
+
+typedef struct _ib_port_info
+{
+	ib_net64_t			m_key;
+	ib_net64_t			subnet_prefix;
+	ib_net16_t			base_lid;
+	ib_net16_t			master_sm_base_lid;
+	ib_net32_t			capability_mask;
+	ib_net16_t			diag_code;
+	ib_net16_t			m_key_lease_period;
+	uint8_t				local_port_num;
+	uint8_t				link_width_enabled;
+	uint8_t				link_width_supported;
+	uint8_t				link_width_active;
+	uint8_t				state_info1; // LinkSpeedSupported and PortState
+	uint8_t				state_info2; // PortPhysState and LinkDownDefaultState
+	uint8_t				mkey_lmc;
+	uint8_t				link_speed;	 // LinkSpeedEnabled and LinkSpeedActive
+	uint8_t				mtu_smsl;
+	uint8_t				vl_cap;		 // VlCap and InitType
+	uint8_t				vl_high_limit;
+	uint8_t				vl_arb_high_cap;
+	uint8_t				vl_arb_low_cap;
+	uint8_t				mtu_cap;
+	uint8_t				vl_stall_life;
+	uint8_t				vl_enforce;
+	ib_net16_t			m_key_violations;
+	ib_net16_t			p_key_violations;
+	ib_net16_t			q_key_violations;
+	uint8_t				guid_cap;
+	uint8_t				subnet_timeout;
+	uint8_t				resp_time_value;
+	uint8_t				error_threshold;
+} ib_port_info_t;
+
+typedef struct _ib_node_desc
+{
+	// Node String is an array of UTF-8 character that
+	// describes the node in text format
+	// Note that this string is NOT NULL TERMINATED!
+	uint8_array_t description[IB_NODE_DESCRIPTION_SIZE];
+} ib_node_desc_t;
+
+typedef struct _ib_lft_record
+{
+	ib_net16_t		lid;
+	ib_net16_t		block_num;
+	uint32_t		   resv0;
+	uint8_array_t  lft[64];
+} ib_lft_record_t;
+
+typedef struct _ib_pm_counters {
+  ib_mad_t mad_header;
+  uint32_array_t reserved0[10];
+  uint8_t reserved1;
+  uint8_t port_select;
+  ib_net16_t counter_select;
+  ib_net16_t symbol_error_counter;
+  uint8_t link_error_recovery_counter;
+  uint8_t link_down_counter;
+  ib_net16_t port_rcv_errors;
+  ib_net16_t port_rcv_remote_physical_errors;
+  ib_net16_t port_rcv_switch_relay_errors;
+  ib_net16_t port_xmit_discard;
+  uint8_t port_xmit_constraint_errors;
+  uint8_t port_rcv_constraint_errors;
+  uint8_t reserved2;
+  uint8_t lli_errors_exc_buf_errors;
+  ib_net16_t reserved3;
+  ib_net16_t vl15_dropped;
+  ib_net32_t port_xmit_data;
+  ib_net32_t port_rcv_data;
+  ib_net32_t port_xmit_pkts;
+  ib_net32_t port_rcv_pkts;
+  uint32_array_t reserved5[38];
+} ib_pm_counters_t;
diff --git a/ibmgtsim/src/ib_types_extend.h b/ibmgtsim/src/ib_types_extend.h
new file mode 100644
index 0000000..cebdb2f
--- /dev/null
+++ b/ibmgtsim/src/ib_types_extend.h
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IB_TYPES_EXTEND
+#define IB_TYPES_EXTEND
+
+#include <complib/cl_packon.h>
+typedef struct _ib_pm_counters {
+  ib_mad_t mad_header;
+  ib_net32_t reserved0[10];
+  uint8_t reserved1;
+  uint8_t port_select;
+  ib_net16_t counter_select;
+  ib_net16_t symbol_error_counter;
+  uint8_t link_error_recovery_counter;
+  uint8_t link_down_counter;
+  ib_net16_t port_rcv_errors;
+  ib_net16_t port_rcv_remote_physical_errors;
+  ib_net16_t port_rcv_switch_relay_errors;
+  ib_net16_t port_xmit_discard;
+  uint8_t port_xmit_constraint_errors;
+  uint8_t port_rcv_constraint_errors;
+  uint8_t reserved2;
+  uint8_t lli_errors_exc_buf_errors;
+  ib_net16_t reserved3;
+  ib_net16_t vl15_dropped;
+  ib_net32_t port_xmit_data;
+  ib_net32_t port_rcv_data;
+  ib_net32_t port_xmit_pkts;
+  ib_net32_t port_rcv_pkts;
+  ib_net32_t reserved5[38];
+} PACK_SUFFIX ib_pm_counters_t;
+#include <complib/cl_packoff.h>
+
+/****f* IBA Base: Types_extend/ib_switch_info_set_state_change
+* NAME
+*	ib_switch_info_set_state_change
+*
+* DESCRIPTION
+*	Sets the switch's state change bit.
+*
+* SYNOPSIS
+*/
+static inline void
+ib_switch_info_set_state_change(
+	IN  	ib_switch_info_t* const		p_si )
+{
+	p_si->life_state = (uint8_t)(p_si->life_state | 0x04);
+}
+/*
+* PARAMETERS
+*	p_ni
+*		[in] Pointer to a SwitchInfo attribute.
+*
+* RETURN VALUES
+*	no returned value.
+*
+* NOTES
+*
+* SEE ALSO
+*   ib_switch_info_get_state_change, ib_switch_info_clear_state_change
+*********/
+
+/****f* IBA Base: Types_extend/ib_node_info_set_local_port_num
+* NAME
+*	ib_node_info_set_local_port_num
+*
+* DESCRIPTION
+*	Sets a the local port number In the NodeInfo attribute.
+*
+* SYNOPSIS
+*/
+static inline void
+ib_node_info_set_local_port_num(
+	IN      ib_node_info_t* 	p_ni,
+    IN      uint8_t             inPort)
+{
+    p_ni->port_num_vendor_id = cl_hton32(((cl_ntoh32(p_ni->port_num_vendor_id) & 0x00ffffff) |
+                                (inPort << 24)));
+}
+/*
+* PARAMETERS
+*	p_ni
+*		[in] Pointer to a NodeInfo attribute.
+*   inPort
+*       [in] Port which SMA came on
+*
+* RETURN VALUES
+*
+* NOTES
+*
+* SEE ALSO
+*	ib_node_info_t
+*********/
+
+/****f* IBA Base: Types_extend/ib_port_info_get_smsl
+* NAME
+*	ib_port_info_get_smsl
+*
+* DESCRIPTION
+*	Returns the encoded value for the Master SM SL at this port.
+*
+* SYNOPSIS
+*/
+static inline uint8_t
+ib_port_info_get_smsl(
+	IN const ib_port_info_t* const p_pi )
+{
+	return( (uint8_t)(p_pi->mtu_smsl & 0x0F));
+}
+/*
+* PARAMETERS
+*	p_pi
+*		[in] Pointer to a PortInfo attribute.
+*
+* RETURN VALUES
+*	Returns the encoded value for the Master SM SL at this port.
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****f* IBA Base: Types/ib_port_info_set_smsl
+* NAME
+*	ib_port_info_set_smsl
+*
+* DESCRIPTION
+*	Sets the Master SM SL value in the PortInfo attribute.
+*
+* SYNOPSIS
+*/
+static inline void
+ib_port_info_set_smsl(
+	IN				ib_port_info_t* const		p_pi,
+	IN		const	uint8_t						mSmSl )
+{
+	p_pi->mtu_smsl = (uint8_t)((p_pi->mtu_smsl & 0xF0) | mSmSl);
+}
+/*
+* PARAMETERS
+*	p_pi
+*		[in] Pointer to a PortInfo attribute.
+*
+*	mSmSl
+*		[in] Encoded Master SM SL value to set
+*
+* RETURN VALUES
+*	None.
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****f* IBA Base: Types_extend/ib_port_info_set_vl_cap
+* NAME
+*	ib_port_info_set_vl_cap
+*
+* DESCRIPTION
+*	Sets the VL Capability of a port.
+*
+* SYNOPSIS
+*/
+static inline void
+ib_port_info_set_vl_cap(
+	IN  ib_port_info_t*     p_pi,
+    IN	const	uint8_t 	vlCap )
+{
+    p_pi->vl_cap = (p_pi->vl_cap & 0x0F) | (vlCap << 4);
+}
+/*
+* PARAMETERS
+*	p_pi
+*		[in] Pointer to a PortInfo attribute.
+*
+* RETURN VALUES
+*	VL_CAP field
+*
+* NOTES
+*
+* SEE ALSO
+*********/
+
+/****s* IBA Base: Types extend /ib_mft_table_t
+* NAME
+*	ib_mft_table_t
+*
+* DESCRIPTION
+*	IBA defined MFT table.
+*
+* SYNOPSIS
+*/
+
+#include <complib/cl_packon.h>
+typedef struct _ib_mft_table
+{
+	ib_net16_t			mft_entry[IB_MCAST_BLOCK_SIZE];
+
+}	PACK_SUFFIX ib_mft_table_t;
+#include <complib/cl_packoff.h>
+/************/
+#endif
diff --git a/ibmgtsim/src/ibms_client_api.h b/ibmgtsim/src/ibms_client_api.h
new file mode 100644
index 0000000..dc3d438
--- /dev/null
+++ b/ibmgtsim/src/ibms_client_api.h
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMgtSim/ClientInterface
+ * NAME
+ *	IBIS
+ *
+ * DESCRIPTION
+ * 	Declaration of C API for clients
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.4 $
+ *
+ * AUTHOR
+ *	Eitan Zahavi, Mellanox
+ *
+ *********/
+
+#ifndef IBMGTSIM_CLIENT_API
+#define IBMGTSIM_CLIENT_API
+
+#include "simmsg.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/****f* IBMS Client API/ibms_pfn_receive_cb_t
+* NAME
+*	ibms_pfn_receive_cb_t
+*
+* DESCRIPTION
+*	User-defined callback invoked on receiving new messages
+*
+* SYNOPSIS
+*/
+typedef void
+(*ibms_pfn_receive_cb_t) (
+  IN void* p_ctx,
+  IN ibms_mad_msg_t *p_mad);
+/*
+* PARAMETERS
+*	p_ctx
+*		[in] The context provided during the client registration by ibms_connect
+*
+*  p_mad
+*     [in] Pointer to the incoming mad message
+*
+*****/
+
+
+/****f* IBMS Client API/ibms_conn_handle_t
+* NAME
+*	ibms_conn_handle_t
+*
+* DESCRIPTION
+*	Abstract handle to connection objects
+*
+* SYNOPSIS
+*/
+typedef void * ibms_conn_handle_t;
+/*
+*
+*****/
+
+/* connect to the server to the port guid. Registering incoming messages callbacks */
+ibms_conn_handle_t
+ibms_connect(uint64_t portGuid, ibms_pfn_receive_cb_t receiveCb, void* context);
+
+/* bind to a specific mad messages */
+int
+ibms_bind(ibms_conn_handle_t conHdl, ibms_bind_msg_t *pBindMsg);
+
+/* set port capabilities */
+int
+ibms_set_cap(ibms_conn_handle_t conHdl, ibms_cap_msg_t *pCapMsg);
+
+/* send a message to the simulator */
+int
+ibms_send(ibms_conn_handle_t conHdl, ibms_mad_msg_t *pMadMsg);
+
+/* disconnect from the simulator */
+int
+ibms_disconnect(ibms_conn_handle_t conHdl);
+
+#ifdef __cplusplus
+/* extern "C" */
+}
+#endif
+
+#endif /* IBMGTSIM_CLIENT_API */
diff --git a/ibmgtsim/src/ibmssh_wrap.cpp b/ibmgtsim/src/ibmssh_wrap.cpp
new file mode 100644
index 0000000..65e88ce
--- /dev/null
+++ b/ibmgtsim/src/ibmssh_wrap.cpp
@@ -0,0 +1,39832 @@
+/*
+ * FILE : swig_wrap.c
+ *
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 5)
+ *
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ *
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : TCL 8.0 */
+
+#define INCLUDE_TCL    <tcl.h>
+#define INCLUDE_TK     <tk.h>
+#include INCLUDE_TCL
+#include <string.h>
+#include <stdlib.h>
+#define SWIGTCL
+#define SWIGTCL8
+/*
+ * $Header: /b2/dmb/SWIG/SWIG1.0b3/swig_lib/tcl/RCS/swigtcl.cfg,v 1.1 1996/05/22 19:47:45 beazley Exp $
+ *
+ * swigtcl.cfg
+ *
+ * This file is modified from a platform independent file provided
+ * by Sun.   With any luck this will allow SWIG generated wrapper
+ * files to work on Unix, Windows, and Macintosh.
+ *
+ * Revision History
+ * $Log: swigtcl.cfg,v $
+ * Revision 1.1  1996/05/22 19:47:45  beazley
+ * Initial revision
+ *
+ *
+ * -- Dave Beazley, May 2, 1996.
+ *
+ *	This file is an example of a Tcl dynamically loadable extension.
+ *
+ * Copyright (c) 1996 by Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#if defined(__WIN32__)
+#   define WIN32_LEAN_AND_MEAN
+#   include <windows.h>
+#   undef WIN32_LEAN_AND_MEAN
+
+/*
+ * VC++ has an alternate entry point called DllMain, so we need to rename
+ * our entry point.
+ */
+
+#   if defined(_MSC_VER)
+#	define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#	define DllEntryPoint DllMain
+#   else
+#	if defined(__BORLANDC__)
+#	    define SWIGEXPORT(a,b) a _export b
+#	else
+#	    define SWIGEXPORT(a,b) a b
+#	endif
+#   endif
+#else
+#   define SWIGEXPORT(a,b) a b
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllEntryPoint --
+ *
+ *	This wrapper function is used by Windows to invoke the
+ *	initialization code for the DLL.  If we are compiling
+ *	with Visual C++, this routine will be renamed to DllMain.
+ *	routine.
+ *
+ * Results:
+ *	Returns TRUE;
+ *
+ * Side effects:
+ *	None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+#ifdef __WIN32__
+BOOL APIENTRY
+DllEntryPoint(HINSTANCE hInst, DWORD reason, LPVOID reserved)
+{
+    return TRUE;
+}
+#endif
+
+/**************************************************************************
+ * $Header:$
+ *
+ * tcl8ptr.swg
+ *
+ * This file provides type-checked pointer support to Tcl 8.0.
+ * Pointers are installed as new kinds of Tcl 8.0 objects consisting
+ * of the following structure
+ *
+ * typedef struct {
+ *         char     *name;            Name of the datatype
+ *         void     *value;           Value of the pointer
+ * } Tcl_SwigPtr;
+ *
+ * While we still need to perform string comparisons on the
+ * type-name, this function no longer needs to convert pointer
+ * values to hex so it should be a little faster.
+ *
+ * New Tcl datatypes are defined by the following data structure.
+ *
+ * typedef struct Tcl_ObjType {
+ *              char *name;
+ *              Tcl_FreeInternalRepProc *freeIntRepProc;
+ *              Tcl_DupInternalRepProc *dupIntRepProc;
+ *              Tcl_UpdateStringProc *updateStringProc;
+ *              Tcl_SetFromAnyProc *setFromAnyProc;
+ *             } Tcl_ObjType;
+ *
+ * Functions for manipulating SWIG pointers in wrapper code are:
+ *
+ *     void *SWIG_SetPointerObj(objPtr, ptr, type)
+ *     char *SWIG_GetPointerFromObj(objPtr, *ptr, type)
+ *
+ **********************************************************************/
+
+#ifdef SWIG_GLOBAL
+#include <tcl.h>
+#ifdef __cplusplus
+#define SWIGSTATIC extern "C"
+#else
+#define SWIGSTATIC
+#endif
+#endif
+
+#ifndef SWIGSTATIC
+#define SWIGSTATIC static
+#endif
+
+/* These are internal variables.   Should be static */
+
+typedef struct SwigPtrType {
+  char               *name;
+  int                 len;
+  void               *(*cast)(void *);
+  struct SwigPtrType *next;
+} SwigPtrType;
+
+/* Pointer cache structure */
+
+typedef struct {
+  int                 stat;               /* Status (valid) bit             */
+  SwigPtrType        *tp;                 /* Pointer to type structure      */
+  char                name[256];          /* Given datatype name            */
+  char                mapped[256];        /* Equivalent name                */
+} SwigCacheType;
+
+static int SwigPtrMax  = 64;           /* Max entries that can be currently held */
+static int SwigPtrN    = 0;            /* Current number of entries              */
+static int SwigPtrSort = 0;            /* Status flag indicating sort            */
+static int SwigStart[256];             /* Array containing start locations (for searching) */
+static SwigPtrType *SwigPtrTable = 0;  /* Table containing pointer equivalences  */
+
+/* Cached values */
+
+#define SWIG_CACHESIZE  8
+#define SWIG_CACHEMASK  0x7
+static SwigCacheType SwigCache[SWIG_CACHESIZE];
+static int SwigCacheIndex = 0;
+static int SwigLastCache = 0;
+
+/* Sort comparison function */
+static int swigsort(const void *data1, const void *data2) {
+	SwigPtrType *d1 = (SwigPtrType *) data1;
+	SwigPtrType *d2 = (SwigPtrType *) data2;
+	return strcmp(d1->name,d2->name);
+}
+
+/* Binary Search function */
+static int swigcmp(const void *key, const void *data) {
+  char *k = (char *) key;
+  SwigPtrType *d = (SwigPtrType *) data;
+  return strncmp(k,d->name,d->len);
+}
+
+
+/*---------------------------------------------------------------------
+ * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *))
+ *
+ * Register a new type-mapping with the type-checking system.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) {
+
+  int i;
+  SwigPtrType *t = 0, *t1;
+
+  if (!SwigPtrTable) {
+    SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType));
+    SwigPtrN = 0;
+  }
+  if (SwigPtrN >= SwigPtrMax) {
+    SwigPtrMax = 2*SwigPtrMax;
+    SwigPtrTable = (SwigPtrType *) realloc(SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType));
+  }
+  for (i = 0; i < SwigPtrN; i++)
+    if (strcmp(SwigPtrTable[i].name,origtype) == 0) {
+      t = &SwigPtrTable[i];
+      break;
+    }
+  if (!t) {
+    t = &SwigPtrTable[SwigPtrN];
+    t->name = origtype;
+    t->len = strlen(origtype);
+    t->cast = 0;
+    t->next = 0;
+    SwigPtrN++;
+  }
+  while (t->next) {
+    if (strcmp(t->name,newtype) == 0) {
+      if (cast) t->cast = cast;
+      return;
+    }
+    t = t->next;
+  }
+  t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType));
+  t1->name = newtype;
+  t1->len = strlen(newtype);
+  t1->cast = cast;
+  t1->next = 0;
+  t->next = t1;
+  SwigPtrSort = 0;
+}
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+
+
+
+/* This is for backwards compatibility */
+
+
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+
+
+/*---------------------------------------------------------------------
+ * void SWIG_RegisterType()
+ *
+ * Registers our new datatype with an interpreter.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+void SWIG_RegisterType() {
+  /* Does nothing at the moment */
+}
+#define SWIG_init    Ibdm_Init
+#define SWIG_name    "ibdm"
+#define SWIG_prefix  ""
+#define SWIG_namespace ""
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <sstream>
+#include "Fabric.h"
+#include "SubnMgt.h"
+#include "CredLoops.h"
+#include "TraceRoute.h"
+#include "TopoMatch.h"
+#include "Congestion.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+
+  /* GLOBALS */
+  static char ibdm_tcl_error_msg[1024];
+  static int  ibdm_tcl_error;
+  static vector< IBFabric *> ibdm_fabrics;
+  static IBLinkWidth UnknownLinkWidth = IB_UNKNOWN_LINK_WIDTH;
+  static IBLinkSpeed UnknownLinkSpeed = IB_UNKNOWN_LINK_SPEED;
+  static IBLinkWidth DefaultLinkWidth = IB_LINK_WIDTH_4X;
+  static IBLinkSpeed DefaultLinkSpeed = IB_LINK_SPEED_2_5;
+
+  /*
+	  MAPPING IBDM OBJECTS TO TCL and BACK:
+	  The idea is that we have specifc rules for naming
+	  Node, Port, System and SystemPort for a specific Fabric.
+
+	  All Fabrics are stored by id in a global vector.
+
+	  So the object names will follow:
+	  <type>:<fabricIdx>/<name>
+
+  */
+
+  /* Given a fabric pointer return its idx (starting w 1) or 0 */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric) {
+	 /* go over all fabrics and find it's index: */
+	 for (unsigned int i = 0; i < ibdm_fabrics.size(); i++) {
+		if (ibdm_fabrics[i] == p_fabric) {
+		  return(i+1);
+		}
+	 }
+	 return(0);
+  }
+
+  /* Given a fabric idx return it's pointer */
+  /* Note the index is 1-N and thus we need to -1 it before access */
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx) {
+	 if ((idx > ibdm_fabrics.size()) || (idx < 1)) {
+		return NULL;
+	 }
+	 return ibdm_fabrics[idx - 1];
+  }
+
+  /*
+	 we provide our own constructor such that all IBFabrics are
+	 registered in the global vector;
+  */
+  IBFabric *new_IBFabric(void) {
+	 IBFabric *p_fabric = new IBFabric();
+    unsigned int i;
+	 if (p_fabric) {
+      /* look for an open index in the vector of fabrics */
+      for (i = 0; i < ibdm_fabrics.size(); i++)
+      {
+        if (ibdm_fabrics[i] == NULL)
+        {
+          ibdm_fabrics[i] = p_fabric;
+          return p_fabric;
+        }
+      }
+      ibdm_fabrics.push_back(p_fabric);
+	 }
+	 return p_fabric;
+  }
+
+  /*
+	 we provide our own destructor such that the deleted fabric is
+    de-registered from the global fabrics vector
+  */
+  void delete_IBFabric(IBFabric *p_fabric) {
+    int idx = ibdmGetFabricIdxByPtr(p_fabric);
+    if (! idx) {
+      printf("ERROR: Fabric idx:%p does not exist in the global vector!\n",
+             p_fabric);
+    } else {
+      ibdm_fabrics[idx-1] = NULL;
+    }
+    delete p_fabric;
+  }
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBNode *")) {
+		IBNode *p_node = (IBNode *)ptr;
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "node";
+	 } else if (!strcmp(type, "IBPort *")) {
+		IBPort *p_port = (IBPort *)ptr;
+		sprintf(name,":%s/%u", p_port->p_node->name.c_str(), p_port->num);
+		p_fabric = p_port->p_node->p_fabric;
+		uiType = "port";
+	 } else if (!strcmp(type, "IBSystem *")) {
+		IBSystem *p_system = (IBSystem *)ptr;
+		sprintf(name, ":%s", p_system->name.c_str());
+		uiType = "system";
+		p_fabric = p_system->p_fabric;
+	 } else if (!strcmp(type, "IBSysPort *")) {
+		IBSysPort *p_sysPort = (IBSysPort *)ptr;
+		sprintf(name, ":%s:%s",  p_sysPort->p_system->name.c_str(),
+				  p_sysPort->name.c_str());
+		uiType = "sysport";
+		p_fabric = p_sysPort->p_system->p_fabric;
+	 } else if (!strcmp(type, "IBFabric *")) {
+		p_fabric = (IBFabric *)ptr;
+		uiType = "fabric";
+		name[0] = '\0';
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name=0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if tyep is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* Ok so now get the fabic pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+	 if (!strcmp(type, "fabric")) {
+		*ptr = p_fabric;
+	 } else if (!strcmp(type, "node")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_node;
+	 } else if (!strcmp(type, "port")) {
+		slashIdx = rindex(name,'/');
+		if (!slashIdx) {
+		  printf("-E- Bad formatted ibdm node object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		int portNum = atoi(++slashIdx);
+		IBNode *p_node = p_fabric->getNode(string(name));
+		if (! p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBPort *p_port = p_node->getPort(portNum);
+		if (! p_port) {
+		  printf("-E- Fail to get node:%s port:%u\n",
+					 name, portNum);
+		  return TCL_ERROR;
+		}
+		*ptr = p_port;
+	 } else if (!strcmp(type, "system")) {
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = p_system;
+	 } else if (!strcmp(type, "sysport")) {
+		/* the format of system port is:  <type>:<idx>:<sys>:<port> */
+		colonIdx = index(name,':');
+		if (!colonIdx) {
+		  printf("-E- Bad formatted ibdm sysport object:%s\n",
+					Tcl_GetStringFromObj(objPtr,0) );
+		  return TCL_ERROR;
+		}
+		*colonIdx = '\0';
+		IBSystem *p_system = p_fabric->getSystem(string(name));
+		if (! p_system) {
+		  printf("-E- Fail to get system:%s\n", name);
+		  return TCL_ERROR;
+		}
+		IBSysPort *p_sysPort = p_system->getSysPort(string(++colonIdx));
+		if (! p_sysPort) {
+		  printf("-E- Fail to get system:%s port:%s\n", name, colonIdx);
+		  return TCL_ERROR;
+		}
+		*ptr = p_sysPort;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+
+  int ibdmReportNonUpDownCa2CaPaths(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnReportNonUpDownCa2CaPaths(p_fabric, nodesRank));
+  }
+
+  int ibdmFatTreeRoute(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtFatTreeRoute(p_fabric));
+  }
+
+  int ibdmCheckFabricMCGrpsForCreditLoopPotential(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return( SubnMgtCheckFabricMCGrpsForCreditLoopPotential(p_fabric, nodesRank));
+  }
+
+  int ibdmRankFabricByRoots(IBFabric *p_fabric, list_pnode rootNodes) {
+    map_pnode_int nodesRank;
+    if (SubnRankFabricNodesByRootNodes(p_fabric, rootNodes, nodesRank))
+    {
+      printf("-E- fail to rank the fabric by the given root nodes.\n");
+      return(1);
+    }
+    return(0);
+  }
+
+
+#define new_string string
+
+#define new_uint64_t uint64_t
+static int  _wrap_const_IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE;
+static int  _wrap_const_IB_SW_NODE = IB_SW_NODE;
+static int  _wrap_const_IB_CA_NODE = IB_CA_NODE;
+static int  _wrap_const_FABU_LOG_NONE = 0x0;
+static int  _wrap_const_FABU_LOG_ERROR = 0x1;
+static int  _wrap_const_FABU_LOG_INFO = 0x2;
+static int  _wrap_const_FABU_LOG_VERBOSE = 0x4;
+
+#include "swig_alternate_mangling.cpp"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <ibdm/Fabric.h>
+#include <errno.h>
+#include "sim.h"
+#include "node.h"
+#include "randmgr.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+
+  /* GLOBALS */
+  static char ibms_tcl_error_msg[1024];
+  static int  ibms_tcl_error;
+
+  static IBMgtSim Simulator;
+
+  /*
+     As we do not want to expose our own objects we
+     rely on ibdm objects mapping. All IBMSNode calls are
+     then mapped to their Nodes.
+  */
+
+  /* forward declarations for ibdm functions */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric);
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx);
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type);
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr);
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibmsGetSimNodeTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBMSNode *")) {
+		IBNode *p_node = ((IBMSNode *)ptr)->getIBNode();
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "simnode";
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibmsGetSimNodePtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name = 0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if type is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* OK so now get the fabric pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+    if (!strcmp(type, "simnode")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+      if (!p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+      IBMSNode *pSimNode = ibmsGetIBNodeSimNode(p_node);
+		if (! pSimNode) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = pSimNode;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+
+#define uint8_array_t uint8_t
+
+#define uint16_array_t uint16_t
+
+#define uint32_array_t uint32_t
+
+#define uint64_array_t uint64_t
+
+#define ib_net16_array_t ib_net16_t
+
+#define ib_net32_array_t ib_net32_t
+
+#define ib_net64_array_t ib_net64_t
+
+
+  /* for IB structs we use the format: <type>:<ptr> */
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibmsGetIBStructObjNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 string uiType;
+	 char name[128];
+
+    /* check that the string starts with _ib_ and ends with _t_p */
+    if (strncmp(type, "_ib_", 4)) {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s (should start with _ib_)", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+    if (strncmp(type+strlen(type) - 4, "_t_p", 4)) {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s (should end with _t_p %s)",
+              type, type+strlen(type) - 4);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+    strncpy(name, type+4, strlen(type) - 8);
+    name[strlen(type) - 8] = '\0';
+    sprintf(tclName, "%s:%p", name, ptr);
+    Tcl_SetStringObj(objPtr, tclName, -1);
+    return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibmsGetIBStructObjPtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char *colonIdx;
+	 *ptr = NULL;
+    char buf[256];
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+    colonIdx++;
+
+    /* now all we need is to extract the pointer value from the
+       rest of the string */
+    if (sscanf(colonIdx,"%p", ptr) != 1) {
+		printf("-E- Bad formatted pointer value:%s\n", colonIdx);
+		return TCL_ERROR;
+    }
+	 return TCL_OK;
+  }
+
+#define uint8_array_t uint8_t
+
+#define uint32_array_t uint32_t
+static int  _wrap_const_MsgShowFatal = 0x01;
+static int  _wrap_const_MsgShowError = 0x02;
+static int  _wrap_const_MsgShowWarning = 0x04;
+static int  _wrap_const_MsgShowInfo = 0x08;
+static int  _wrap_const_MsgShowVerbose = 0x10;
+static int  _wrap_const_MsgShowContext = 0x20;
+static int  _wrap_const_MsgShowSource = 0x40;
+static int  _wrap_const_MsgShowTime = 0x80;
+static int  _wrap_const_MsgShowModule = 0x100;
+static int  _wrap_const_MsgShowMads = 0x200;
+static int  _wrap_const_MsgShowFrames = 0x400;
+static int  _wrap_const_MsgShowAll = 0xffff;
+static int  _wrap_const_MsgDefault = 0x62f;
+
+static string MsgAllModules("");
+
+
+  float rmRand() {
+    return RandMgr()->random();
+  }
+
+  int rmSeed(int seed) {
+    return RandMgr()->setRandomSeed(seed);
+  }
+
+  /* the following code will place the mad into the dispatcher */
+  int
+    send_mad(
+      IBMSNode *pFromNode,
+      uint8_t   fromPort,
+      uint16_t  destLid,
+      uint8_t   mgmt_class,
+      uint8_t   method,
+      uint16_t  attr,
+      uint32_t  attr_mod,
+      uint8_t  *data,
+      size_t    size)
+    {
+      ibms_mad_msg_t msg;
+      IBPort *pPort;
+      static uint64_t tid = 19927;
+
+      /* initialize the message address vector */
+      msg.addr.sl = 0;
+      msg.addr.pkey_index = 0;
+      msg.addr.dlid = destLid;
+      msg.addr.sqpn = 0;
+      msg.addr.dqpn = 0;
+
+      pPort = pFromNode->getIBNode()->getPort(fromPort);
+      if (! pPort)
+      {
+        cout << "-E- Given port:" << fromPort << " is down." << endl;
+        return 1;
+      }
+      msg.addr.slid = pPort->base_lid;
+
+      /* initialize the mad header */
+      msg.header.base_ver = 1;
+      msg.header.mgmt_class = mgmt_class;
+      msg.header.class_ver = 1;
+      msg.header.method = method;
+      msg.header.status = 0;
+      msg.header.class_spec = 0;
+      msg.header.trans_id = tid++;
+      msg.header.attr_id = cl_hton16(attr);
+      msg.header.attr_mod = cl_hton32(attr_mod);
+
+      memcpy(msg.payload, data, size);
+      IBMSDispatcher *pDispatcher = Simulator.getDispatcher();
+      if (! pDispatcher )
+        return TCL_ERROR;
+
+      return pDispatcher->dispatchMad(pFromNode, fromPort, msg);
+    }
+
+  int send_sa_mad(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint8_t   mgmt_class,
+    uint8_t   method,
+    uint16_t  attr,
+    uint64_t  comp_mask,
+    uint8_t  *sa_data,
+    size_t    sa_data_size)
+    {
+      ib_sa_mad_t mad = {0}; /* includes std header and rmpp header */
+
+      mad.attr_offset = ib_get_attr_offset(sa_data_size);
+      mad.comp_mask = cl_hton64(comp_mask);
+      memcpy(mad.data, sa_data, sa_data_size);
+
+      return send_mad(
+        pFromNode,
+        fromPort,
+        destLid,
+        mgmt_class,
+        method,
+        attr,
+        0,
+        &mad.rmpp_version,
+        MAD_RMPP_DATA_SIZE + 12);
+    }
+
+
+#define madMcMemberRec ib_member_rec_t
+
+#define madPathRec ib_path_rec_t
+
+#define madServiceRec ib_service_record_t
+
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr128
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            sw_lid; // the sw lid of which link state changed - for 128 only
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr128_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice128 ib_mad_notice_attr128_t
+
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr129
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad;      //129
+  ib_net16_t            lid;	  // 129 lid and port number of the violation
+  uint8_t               port_num; //129
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr129_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice129 ib_mad_notice_attr129_t
+
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr144
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad1;         // 144
+  ib_net16_t            lid;	      // 144 lid where capability mask changed
+  ib_net16_t            pad2;         // 144
+  ib_net32_t            new_cap_mask; // 144 new capability mask
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr144_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice144 ib_mad_notice_attr144_t
+
+#include <complib/cl_packon.h>
+typedef struct _ib_generic_inform_info
+{
+	ib_gid_t			gid;
+	ib_net16_t		lid_range_begin;
+	ib_net16_t		lid_range_end;
+	ib_net16_t		reserved1;
+	uint8_t			is_generic;
+	uint8_t			subscribe;
+	ib_net16_t		trap_type;
+	ib_net16_t		trap_num;
+	ib_net32_t		qpn_resp_time_val;
+	uint8_t        reserved2;
+	uint8_t			node_type_msb;
+	ib_net16_t		node_type_lsb;
+}	PACK_SUFFIX ib_generic_inform_info_t;
+#include <complib/cl_packoff.h>
+
+#define madGenericInform ib_generic_inform_info_t
+static int  _wrap_const_IB_INFORM_INFO_COMP_GID = 0x1;
+static int  _wrap_const_IB_INFORM_INFO_COMP_LID_BEGIN = 0x2;
+static int  _wrap_const_IB_INFORM_INFO_COMP_LID_END = 0x4;
+static int  _wrap_const_IB_INFORM_INFO_COMP_IS_GENERIC = 0x10;
+static int  _wrap_const_IB_INFORM_INFO_COMP_TRAP_TYPE = 0x40;
+static int  _wrap_const_IB_INFORM_INFO_COMP_TRAP_NUM = 0x80;
+static int  _wrap_const_IB_INFORM_INFO_COMP_QPN = 0x100;
+static int  _wrap_const_IB_INFORM_INFO_COMP_RESP_TIME = 0x200;
+static int  _wrap_const_IB_INFORM_INFO_COMP_NODE_TYPE = 0x800;
+
+  void ibmssh_exit(ClientData clientData ) {
+
+  }
+extern char * ibmsSourceVersion;
+
+
+/* A TCL_AppInit() function that lets you build a new copy
+ * of tclsh.
+ *
+ * The macro SWIG_init contains the name of the initialization
+ * function in the wrapper file.
+ */
+
+#ifndef SWIG_RcFileName
+char *SWIG_RcFileName = "~/.myapprc";
+#endif
+
+
+#ifdef MAC_TCL
+extern int		MacintoshInit _ANSI_ARGS_((void));
+#endif
+
+int Tcl_AppInit(Tcl_Interp *interp){
+
+  if (Tcl_Init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+
+  /* Now initialize our functions */
+
+  if (SWIG_init(interp) == TCL_ERROR)
+    return TCL_ERROR;
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 5
+   Tcl_SetVar(interp,"tcl_rcFileName",SWIG_RcFileName,TCL_GLOBAL_ONLY);
+#else
+   tcl_RcFileName = SWIG_RcFileName;
+#endif
+#ifdef SWIG_RcRsrcName
+  Tcl_SetVar(interp,"tcl_rcRsrcName",SWIG_RcRsrcName,TCL_GLOBAL);
+#endif
+
+  return TCL_OK;
+}
+
+#if TCL_MAJOR_VERSION > 7 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 4
+int main(int argc, char **argv) {
+#ifdef MAC_TCL
+    char *newArgv[2];
+
+    if (MacintoshInit()  != TCL_OK) {
+	Tcl_Exit(1);
+    }
+
+    argc = 1;
+    newArgv[0] = "tclsh";
+    newArgv[1] = NULL;
+    argv = newArgv;
+#endif
+
+  Tcl_Main(argc, argv, Tcl_AppInit);
+  return(0);
+
+}
+#else
+extern int main();
+#endif
+
+static int _wrap_new_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBFabric ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)new_IBFabric();
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+static int _wrap_delete_IBFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBFabric p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBFabric(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static int _wrap_ibdmAssignLids(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1 = 0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAssignLids p_smNodePort ?lmc? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >2) {
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtAssignLids(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcMinHopTables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcMinHopTables p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcMinHopTables(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCalcUpDnMinHopTbls(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCalcUpDnMinHopTblsByRootNodesRex(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmOsmRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmOsmRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmEnhancedRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmEnhancedRoute p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtOsmEnhancedRoute(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeRoute p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmFatTreeRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFatTreeAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFatTreeAnalysis p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )FatTreeAnalysis(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyCAtoCARoutes(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyCAtoCARoutes p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllCaToCaRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmVerifyAllPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmVerifyAllPaths p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtVerifyAllRoutes(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmAnalyzeLoops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmAnalyzeLoops p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CrdLoopAnalyze(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmFindSymmetricalTreeRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindSymmetricalTreeRoots p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindTreeRootNodes(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmFindRootNodesByMinHop(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmFindRootNodesByMinHop p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new list_pnode (SubnMgtFindRootNodesByMinHop(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmRankFabricByRoots(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmRankFabricByRoots p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmRankFabricByRoots(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmReportNonUpDownCa2CaPaths(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmReportNonUpDownCa2CaPaths(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckMulticastGroups(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckMulticastGroups p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )SubnMgtCheckFabricMCGrps(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )ibdmCheckFabricMCGrpsForCreditLoopPotential(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmLinkCoverageAnalysis(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    list_pnode * _arg1;
+    Tcl_Obj * tcl_result;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmLinkCoverageAnalysis p_fabric rootNodes ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[2],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[2],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg1 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )LinkCoverageAnalysis(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceDRPathRoute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    list_int * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceDRPathRoute p_smNodePort drPathPortNums ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_list_int_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of ibdmTraceDRPathRoute. Expected _list_int_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceDRPathRoute(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByMinHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByMinHops p_fabric slid dlid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByMinHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmTraceRouteByLFT(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    unsigned int * _arg3;
+    list_pnode * _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    char * rettype;
+    list_pnode  tmpNodeList;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+    if ((rettype = SWIG_GetPointerObj(interp,objv[4],(void **) &_arg3,"_unsigned_int_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 4 of ibdmTraceRouteByLFT. Expected _unsigned_int_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+#if TCL_MINOR_VERSION > 3
+  const char **sub_lists;
+#else
+  char **sub_lists;
+#endif
+  int num_sub_lists;
+  int idx;
+
+  /* we will use the TCL split list to split into elements */
+  if (Tcl_SplitList(interp,
+                    Tcl_GetStringFromObj(objv[5],0),
+                    &num_sub_lists, &sub_lists) != TCL_OK) {
+    printf("-E- Bad formatted list :%s\n",
+           Tcl_GetStringFromObj(objv[5],0));
+    return TCL_ERROR;
+  }
+
+  for (idx = 0; (idx < num_sub_lists); idx++)
+  {
+    /* we need to double copy since TCL 8.4 requires split res to be const */
+    Tcl_Obj *p_tclObj;
+    void *ptr;
+    char buf[128];
+    strcpy(buf, sub_lists[idx]);
+
+    if (strncmp("node:", buf, 5)) {
+      printf("-E- Bad formatted node (%u) object:%s\n", idx, buf);
+      return TCL_ERROR;
+    }
+
+	 p_tclObj = Tcl_NewObj();
+    Tcl_SetStringObj(p_tclObj, buf, -1);
+    if (ibdmGetObjPtrByTclName(p_tclObj, &ptr) != TCL_OK) {
+      printf("-E- fail to find ibdm obj by id:%s", buf );
+      Tcl_DecrRefCount(p_tclObj);
+      return TCL_ERROR;
+    }
+    Tcl_DecrRefCount(p_tclObj);
+    tmpNodeList.push_back((IBNode *)ptr);
+  }
+
+  _arg4 = &tmpNodeList;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TraceRouteByLFT(_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmMatchFabrics(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    char * _arg2;
+    int  _arg3;
+    uint64_t * _arg4;
+    char ** _arg5;
+    char * p_c;
+    Tcl_Obj * tcl_result;
+    int templength;
+    int tempint;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+{
+  _arg5 = &p_c;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName anchorPortNum anchorPortGuid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if ((_arg2 = Tcl_GetStringFromObj(objv[3], &templength)) == NULL) return TCL_ERROR;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMatchFabrics(_arg0,_arg1,_arg2,_arg3,*_arg4,_arg5);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  if (*_arg5) {
+     Tcl_SetStringObj(tcl_result,*_arg5,strlen(*_arg5));
+      free(*_arg5);
+  } else {
+     Tcl_SetStringObj(tcl_result,"",-1);
+  }
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmBuildMergedFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    IBFabric * _arg1;
+    IBFabric * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )TopoMergeDiscAndSpecFabrics(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongInit(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongInit p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongInit(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongCleanup(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongCleanup p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongCleanup(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongClear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongClear p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongZero(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongTrace(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    uint16_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongTrace p_fabric srcLid dstLid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = atoi(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp;
+}
+{
+  temp0 = atoi(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp0;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongTrackPath(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int _wrap_ibdmCongReport(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongReport p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongReport(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+static int _wrap_ibdmCongDump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    ostringstream * _arg1;
+    ostringstream  tempStream;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+{
+  _arg1 = &tempStream;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ibdmCongDump p_fabric ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )CongDump(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  Tcl_SetStringObj(tcl_result, (char*)_arg1->str().c_str(),
+                   _arg1->str().size() + 1);
+}
+    return TCL_OK;
+}
+static int _wrap_rmRand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    float  _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. rmRand ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (float )rmRand();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetDoubleObj(tcl_result,(double) _result);
+    return TCL_OK;
+}
+static int _wrap_rmSeed(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    int  _arg0;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. rmSeed seed ",-1);
+        return TCL_ERROR;
+    }
+    if (Tcl_GetIntFromObj(interp,objv[1],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg0 = (int ) tempint;
+{
+  ibms_tcl_error = 0;
+      _result = (int )rmSeed(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_set(_swigobj,_swigval) (_swigobj->p_remotePort = _swigval,_swigval)
+static int _wrap_IBPort_p_remotePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_set { IBPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_remotePort_get(_swigobj) ((IBPort *) _swigobj->p_remotePort)
+static int _wrap_IBPort_p_remotePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_remotePort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBPort_p_remotePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_set(_swigobj,_swigval) (_swigobj->p_sysPort = _swigval,_swigval)
+static int _wrap_IBPort_p_sysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_set { IBPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_sysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_sysPort)
+static int _wrap_IBPort_p_sysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_sysPort_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBPort_p_sysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_set(_swigobj,_swigval) (_swigobj->p_node = _swigval,_swigval)
+static int _wrap_IBPort_p_node_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    IBNode * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_set { IBPort * } { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_p_node_get(_swigobj) ((IBNode *) _swigobj->p_node)
+static int _wrap_IBPort_p_node_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_p_node_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBPort_p_node_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBPort_num_set(_swigobj,_swigval) (_swigobj->num = _swigval,_swigval)
+static int _wrap_IBPort_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_set { IBPort * } { int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_num_get(_swigobj) ((int ) _swigobj->num)
+static int _wrap_IBPort_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_num_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_num_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = _swigval,_swigval)
+static int _wrap_IBPort_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_base_lid_get(_swigobj) ((unsigned int ) _swigobj->base_lid)
+static int _wrap_IBPort_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_base_lid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_base_lid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_width_set(_swigobj,_swigval) (_swigobj->width = *(_swigval),_swigval)
+static int _wrap_IBPort_width_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    IBLinkWidth * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_set { IBPort * } { IBLinkWidth * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp1;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_width_get(_swigobj) (&_swigobj->width)
+static int _wrap_IBPort_width_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkWidth * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_width_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkWidth *)IBPort_width_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,width2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_set(_swigobj,_swigval) (_swigobj->speed = *(_swigval),_swigval)
+static int _wrap_IBPort_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    IBLinkSpeed * _arg1;
+    Tcl_Obj * tcl_result;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_set { IBPort * } { IBLinkSpeed * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp2;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_speed_get(_swigobj) (&_swigobj->speed)
+static int _wrap_IBPort_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBLinkSpeed * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_speed_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBLinkSpeed *)IBPort_speed_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_SetStringObj(tcl_result,speed2char(*_result), -1);
+}
+    return TCL_OK;
+}
+#define IBPort_counter1_set(_swigobj,_swigval) (_swigobj->counter1 = _swigval,_swigval)
+static int _wrap_IBPort_counter1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_set { IBPort * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBPort_counter1_get(_swigobj) ((unsigned int ) _swigobj->counter1)
+static int _wrap_IBPort_counter1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_counter1_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBPort_counter1_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define new_IBPort(_swigarg0,_swigarg1) (new IBPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBPort p_nodePtr number ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)new_IBPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBPort_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBPort_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_get { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBPort_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBPort_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_guid_set { IBPort * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBPort_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_getName(_swigobj)  (_swigobj->getName())
+static int _wrap_IBPort_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_string * _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_getName { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_string (IBPort_getName(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+   delete _result;
+}
+    return TCL_OK;
+}
+#define IBPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _arg0;
+    IBPort * _arg1;
+    IBLinkWidth * _arg2 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg3 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_connect { IBPort * } p_otherPort ?w? ?s? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBPort_disconnect { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBPort methods : { dump cget configure guid_get guid_set getName connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBPort_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBPort_guid_set;
+    }    else if (strcmp(_str,"getName") == 0) {
+        cmd = _wrap_IBPort_getName;
+    }    else if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_set;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_set;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_set;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_set;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_set;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_set;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-p_remotePort") == 0) {
+                    cmd = _wrap_IBPort_p_remotePort_get;
+                }  else if (strcmp(_str,"-p_sysPort") == 0) {
+                    cmd = _wrap_IBPort_p_sysPort_get;
+                }  else if (strcmp(_str,"-p_node") == 0) {
+                    cmd = _wrap_IBPort_p_node_get;
+                }  else if (strcmp(_str,"-num") == 0) {
+                    cmd = _wrap_IBPort_num_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_IBPort_base_lid_get;
+                }  else if (strcmp(_str,"-width") == 0) {
+                    cmd = _wrap_IBPort_width_get;
+                }  else if (strcmp(_str,"-speed") == 0) {
+                    cmd = _wrap_IBPort_speed_get;
+                }  else if (strcmp(_str,"-counter1") == 0) {
+                    cmd = _wrap_IBPort_counter1_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -p_remotePort -p_sysPort -p_node -num -base_lid -width -speed -counter1  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBPort_p_remotePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remotePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_sysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_sysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_p_node_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_node ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_width_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-width ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBPort_counter1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-counter1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set getName connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBNode_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBNode_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBNode_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_name_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_type_set(_swigobj,_swigval) (_swigobj->type = _swigval,_swigval)
+static int _wrap_IBNode_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_set { IBNode * } { IBNodeType  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_type_get(_swigobj) ((IBNodeType ) _swigobj->type)
+static int _wrap_IBNode_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNodeType  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_type_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNodeType )IBNode_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_devId_set(_swigobj,_swigval) (_swigobj->devId = *(_swigval),_swigval)
+static int _wrap_IBNode_devId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_devId_get(_swigobj) (&_swigobj->devId)
+static int _wrap_IBNode_devId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_devId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_devId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_set(_swigobj,_swigval) (_swigobj->revId = *(_swigval),_swigval)
+static int _wrap_IBNode_revId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_revId_get(_swigobj) (&_swigobj->revId)
+static int _wrap_IBNode_revId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_revId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_revId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_set(_swigobj,_swigval) (_swigobj->vendId = *(_swigval),_swigval)
+static int _wrap_IBNode_vendId_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_set { IBNode * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_vendId_get(_swigobj) (&_swigobj->vendId)
+static int _wrap_IBNode_vendId_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_vendId_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint32_t *)IBNode_vendId_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_set(_swigobj,_swigval) (_swigobj->attributes = *(_swigval),_swigval)
+static int _wrap_IBNode_attributes_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_set { IBNode * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_attributes_get(_swigobj) (&_swigobj->attributes)
+static int _wrap_IBNode_attributes_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_attributes_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBNode_attributes_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_set(_swigobj,_swigval) (_swigobj->rank = *(_swigval),_swigval)
+static int _wrap_IBNode_rank_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_set { IBNode * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = atoi(Tcl_GetStringFromObj(objv[2],NULL));
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_rank_get(_swigobj) (&_swigobj->rank)
+static int _wrap_IBNode_rank_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_rank_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (uint8_t *)IBNode_rank_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define IBNode_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBNode_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_system_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBNode_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBNode_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBNode_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_p_fabric_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBNode_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBNode_numPorts_get(_swigobj) ((unsigned int ) _swigobj->numPorts)
+static int _wrap_IBNode_numPorts_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_numPorts_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBNode_numPorts_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_Ports_get(_swigobj) (&_swigobj->Ports)
+static int _wrap_IBNode_Ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_Ports_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBNode_Ports_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_MinHopsTable_get(_swigobj) (&_swigobj->MinHopsTable)
+static int _wrap_IBNode_MinHopsTable_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_MinHopsTable_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_vec_byte *)IBNode_MinHopsTable_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 Tcl_AppendResult(interp,"{", NULL);
+	 for (unsigned int j = 0; j < (*_result)[i].size(); j++) {
+		char buf[32];
+		sprintf(buf,"%u ", (*_result)[i][j]);
+		Tcl_AppendResult(interp, buf, NULL);
+	 }
+	 Tcl_AppendResult(interp,"} ", NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_LFT_get(_swigobj) (&_swigobj->LFT)
+static int _wrap_IBNode_LFT_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_byte * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_LFT_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_byte *)IBNode_LFT_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 char buf[32];
+	 sprintf(buf,"%u ", (*_result)[i]);
+	 Tcl_AppendResult(interp, buf, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define IBNode_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBNode_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_get { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBNode_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBNode_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBNode_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_guid_set { IBNode * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define new_IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (new IBNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static int _wrap_new_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBNode n p_fab p_sys t np ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)new_IBNode(*_arg0,_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define delete_IBNode(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBNode { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBNode(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_makePort(_swigobj,_swigarg0)  (_swigobj->makePort(_swigarg0))
+static int _wrap_IBNode_makePort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_makePort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_makePort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_getPort(_swigobj,_swigarg0)  (_swigobj->getPort(_swigarg0))
+static int _wrap_IBNode_getPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getPort { IBNode * } num ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setHops(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setHops(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBNode_setHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    int  _arg3;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setHops { IBNode * } p_port lid hops ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setHops(_arg0,_arg1,_arg2,_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getHops(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getHops(_swigarg0,_swigarg1))
+static int _wrap_IBNode_getHops(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    IBPort * _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getHops { IBNode * } p_port lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getHops(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_getFirstMinHopPort(_swigobj,_swigarg0)  (_swigobj->getFirstMinHopPort(_swigarg0))
+static int _wrap_IBNode_getFirstMinHopPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getFirstMinHopPort { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBNode_getFirstMinHopPort(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBNode_setLFTPortForLid(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLFTPortForLid(_swigarg0,_swigarg1))
+static int _wrap_IBNode_setLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    unsigned int  _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_setLFTPortForLid { IBNode * } lid portNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      IBNode_setLFTPortForLid(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBNode_getLFTPortForLid(_swigobj,_swigarg0)  (_swigobj->getLFTPortForLid(_swigarg0))
+static int _wrap_IBNode_getLFTPortForLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBNode * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_getLFTPortForLid { IBNode * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBNode_getLFTPortForLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBNode_repHopTable(_swigobj)  (_swigobj->repHopTable())
+static int _wrap_IBNode_repHopTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBNode_repHopTable { IBNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBNode ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBNode ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBNode  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBNode_repHopTable(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBNode(ClientData clientData) {
+    delete_IBNode((IBNode *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBNodeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBNode methods : { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBNode_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBNode_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBNode_guid_set;
+    }    else if (strcmp(_str,"makePort") == 0) {
+        cmd = _wrap_IBNode_makePort;
+    }    else if (strcmp(_str,"getPort") == 0) {
+        cmd = _wrap_IBNode_getPort;
+    }    else if (strcmp(_str,"setHops") == 0) {
+        cmd = _wrap_IBNode_setHops;
+    }    else if (strcmp(_str,"getHops") == 0) {
+        cmd = _wrap_IBNode_getHops;
+    }    else if (strcmp(_str,"getFirstMinHopPort") == 0) {
+        cmd = _wrap_IBNode_getFirstMinHopPort;
+    }    else if (strcmp(_str,"setLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_setLFTPortForLid;
+    }    else if (strcmp(_str,"getLFTPortForLid") == 0) {
+        cmd = _wrap_IBNode_getLFTPortForLid;
+    }    else if (strcmp(_str,"repHopTable") == 0) {
+        cmd = _wrap_IBNode_repHopTable;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_set;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_set;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_set;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_set;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_set;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -devId -revId -vendId -attributes -rank  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -devId -revId -vendId -attributes -rank  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBNode_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBNode_type_get;
+                }  else if (strcmp(_str,"-devId") == 0) {
+                    cmd = _wrap_IBNode_devId_get;
+                }  else if (strcmp(_str,"-revId") == 0) {
+                    cmd = _wrap_IBNode_revId_get;
+                }  else if (strcmp(_str,"-vendId") == 0) {
+                    cmd = _wrap_IBNode_vendId_get;
+                }  else if (strcmp(_str,"-attributes") == 0) {
+                    cmd = _wrap_IBNode_attributes_get;
+                }  else if (strcmp(_str,"-rank") == 0) {
+                    cmd = _wrap_IBNode_rank_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBNode_p_system_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBNode_p_fabric_get;
+                }  else if (strcmp(_str,"-numPorts") == 0) {
+                    cmd = _wrap_IBNode_numPorts_get;
+                }  else if (strcmp(_str,"-Ports") == 0) {
+                    cmd = _wrap_IBNode_Ports_get;
+                }  else if (strcmp(_str,"-MinHopsTable") == 0) {
+                    cmd = _wrap_IBNode_MinHopsTable_get;
+                }  else if (strcmp(_str,"-LFT") == 0) {
+                    cmd = _wrap_IBNode_LFT_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBNode_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -devId -revId -vendId -attributes -rank -p_system -p_fabric -numPorts -Ports -MinHopsTable -LFT  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBNode_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_devId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-devId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_revId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_vendId_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vendId ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_attributes_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-attributes ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_rank_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rank ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_numPorts_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-numPorts ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_Ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-Ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_MinHopsTable_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-MinHopsTable ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBNode_LFT_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-LFT ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makePort getPort setHops getHops getFirstMinHopPort setLFTPortForLid getLFTPortForLid repHopTable }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBNodeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBNode * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBNode;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBNode;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBNode;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBNode;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBNode_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBNode;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBNode_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBNode object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBNodeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSysPort_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSysPort_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_set { IBSysPort * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSysPort_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_name_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSysPort_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_set(_swigobj,_swigval) (_swigobj->p_remoteSysPort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_remoteSysPort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_set { IBSysPort * } { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_remoteSysPort_get(_swigobj) ((IBSysPort *) _swigobj->p_remoteSysPort)
+static int _wrap_IBSysPort_p_remoteSysPort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_remoteSysPort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSysPort_p_remoteSysPort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_set(_swigobj,_swigval) (_swigobj->p_system = _swigval,_swigval)
+static int _wrap_IBSysPort_p_system_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_set { IBSysPort * } { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_system_get(_swigobj) ((IBSystem *) _swigobj->p_system)
+static int _wrap_IBSysPort_p_system_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_system_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBSysPort_p_system_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_set(_swigobj,_swigval) (_swigobj->p_nodePort = _swigval,_swigval)
+static int _wrap_IBSysPort_p_nodePort_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    IBPort * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_set { IBSysPort * } { IBPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSysPort_p_nodePort_get(_swigobj) ((IBPort *) _swigobj->p_nodePort)
+static int _wrap_IBSysPort_p_nodePort_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_p_nodePort_get { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSysPort_p_nodePort_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define new_IBSysPort(_swigarg0,_swigarg1) (new IBSysPort(_swigarg0,_swigarg1))
+static int _wrap_new_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    string * _arg0;
+    IBSystem * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSysPort n p_sys ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)new_IBSysPort(*_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define delete_IBSysPort(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSysPort { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSysPort(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_connect(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->connect(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBSysPort_connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _arg0;
+    IBSysPort * _arg1;
+    IBLinkWidth * _arg2 = &UnknownLinkWidth;
+    IBLinkSpeed * _arg3 = &UnknownLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_connect { IBSysPort * } p_otherSysPort ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (objc >3) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[3],NULL));
+  _arg2 = &temp1;
+}
+    }
+    if (objc >4) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[4],NULL));
+  _arg3 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBSysPort_connect(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSysPort_disconnect(_swigobj)  (_swigobj->disconnect())
+static int _wrap_IBSysPort_disconnect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBSysPort * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSysPort_disconnect { IBSysPort * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSysPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSysPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSysPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSysPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSysPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBSysPort_disconnect(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSysPort(ClientData clientData) {
+    delete_IBSysPort((IBSysPort *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSysPortMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSysPort methods : { dump cget configure connect disconnect  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSysPort_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"connect") == 0) {
+        cmd = _wrap_IBSysPort_connect;
+    }    else if (strcmp(_str,"disconnect") == 0) {
+        cmd = _wrap_IBSysPort_disconnect;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_set;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_set;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_set;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSysPort_name_get;
+                }  else if (strcmp(_str,"-p_remoteSysPort") == 0) {
+                    cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+                }  else if (strcmp(_str,"-p_system") == 0) {
+                    cmd = _wrap_IBSysPort_p_system_get;
+                }  else if (strcmp(_str,"-p_nodePort") == 0) {
+                    cmd = _wrap_IBSysPort_p_nodePort_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSysPort_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -p_remoteSysPort -p_system -p_nodePort  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -p_remoteSysPort -p_system -p_nodePort  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSysPort_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_remoteSysPort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_remoteSysPort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_system_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_system ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSysPort_p_nodePort_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_nodePort ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure connect disconnect }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSysPortCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSysPort * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSysPort;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSysPort;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSysPort;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSysPort_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSysPort;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSysPort_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSysPort object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSysPortMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBSystem_name_set(_swigobj,_swigval) (_swigobj->name = *(_swigval),_swigval)
+static int _wrap_IBSystem_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_name_get(_swigobj) (&_swigobj->name)
+static int _wrap_IBSystem_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_name_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_name_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_set(_swigobj,_swigval) (_swigobj->type = *(_swigval),_swigval)
+static int _wrap_IBSystem_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_set { IBSystem * } { string * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_type_get(_swigobj) (&_swigobj->type)
+static int _wrap_IBSystem_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_type_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (string *)IBSystem_type_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_set(_swigobj,_swigval) (_swigobj->p_fabric = _swigval,_swigval)
+static int _wrap_IBSystem_p_fabric_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    IBFabric * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_set { IBSystem * } { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_p_fabric_get(_swigobj) ((IBFabric *) _swigobj->p_fabric)
+static int _wrap_IBSystem_p_fabric_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_p_fabric_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBFabric *)IBSystem_p_fabric_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBSystem_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBSystem_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_NodeByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBSystem_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBSystem_PortByName_get(_swigobj) (&_swigobj->PortByName)
+static int _wrap_IBSystem_PortByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psysport * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_PortByName_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psysport *)IBSystem_PortByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psysport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSysPort *") != TCL_OK) {
+		printf("-E- Fail to map SysPort Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define new_IBSystem(_swigarg0,_swigarg1,_swigarg2) (new IBSystem(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_new_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    string * _arg0;
+    IBFabric * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_IBSystem n p_fab t ",-1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg0_tmp;
+  _arg0_tmp = string(Tcl_GetStringFromObj(objv[1],&len));
+  _arg0 = &_arg0_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)new_IBSystem(*_arg0,_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define delete_IBSystem(_swigobj) (delete _swigobj)
+static int _wrap_delete_IBSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_IBSystem { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      delete_IBSystem(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_guid_get(_swigobj)  (_swigobj->guid_get())
+static int _wrap_IBSystem_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    new_uint64_t * _result;
+    IBSystem * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_get { IBSystem * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = new new_uint64_t (IBSystem_guid_get(_arg0));
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  /* new_uint64_t tcl8 out */
+  sprintf(buff, "0x%016" PRIx64, *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+  delete _result;
+}
+    return TCL_OK;
+}
+#define IBSystem_guid_set(_swigobj,_swigarg0)  (_swigobj->guid_set(_swigarg0))
+static int _wrap_IBSystem_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_guid_set { IBSystem * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      IBSystem_guid_set(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBSystem_makeSysPort(_swigobj,_swigarg0)  (_swigobj->makeSysPort(_swigarg0))
+static int _wrap_IBSystem_makeSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_makeSysPort { IBSystem * } pName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_makeSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPortNodePortByName(_swigobj,_swigarg0)  (_swigobj->getSysPortNodePortByName(_swigarg0))
+static int _wrap_IBSystem_getSysPortNodePortByName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPortNodePortByName { IBSystem * } sysPortName ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBSystem_getSysPortNodePortByName(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBSystem_getSysPort(_swigobj,_swigarg0)  (_swigobj->getSysPort(_swigarg0))
+static int _wrap_IBSystem_getSysPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSysPort * _result;
+    IBSystem * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBSystem_getSysPort { IBSystem * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSysPort *)IBSystem_getSysPort(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSysPort *");
+}
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeleteIBSystem(ClientData clientData) {
+    delete_IBSystem((IBSystem *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBSystemMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBSystem methods : { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBSystem_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"guid_get") == 0) {
+        cmd = _wrap_IBSystem_guid_get;
+    }    else if (strcmp(_str,"guid_set") == 0) {
+        cmd = _wrap_IBSystem_guid_set;
+    }    else if (strcmp(_str,"makeSysPort") == 0) {
+        cmd = _wrap_IBSystem_makeSysPort;
+    }    else if (strcmp(_str,"getSysPortNodePortByName") == 0) {
+        cmd = _wrap_IBSystem_getSysPortNodePortByName;
+    }    else if (strcmp(_str,"getSysPort") == 0) {
+        cmd = _wrap_IBSystem_getSysPort;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_set;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_set;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -name -type -p_fabric  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -name -type -p_fabric  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-name") == 0) {
+                    cmd = _wrap_IBSystem_name_get;
+                }  else if (strcmp(_str,"-type") == 0) {
+                    cmd = _wrap_IBSystem_type_get;
+                }  else if (strcmp(_str,"-p_fabric") == 0) {
+                    cmd = _wrap_IBSystem_p_fabric_get;
+                }  else if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBSystem_NodeByName_get;
+                }  else if (strcmp(_str,"-PortByName") == 0) {
+                    cmd = _wrap_IBSystem_PortByName_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBSystem_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -name -type -p_fabric -NodeByName -PortByName  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -name -type -p_fabric -NodeByName -PortByName  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBSystem_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_p_fabric_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_fabric ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBSystem_PortByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure guid_get guid_set makeSysPort getSysPortNodePortByName getSysPort }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBSystemCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBSystem * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_IBSystem;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_IBSystem;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_IBSystem;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBSystem_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeleteIBSystem;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBSystem_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBSystem object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBSystemMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBFabric_NodeByName_get(_swigobj) (&_swigobj->NodeByName)
+static int _wrap_IBFabric_NodeByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_pnode *)IBFabric_NodeByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByName_get(_swigobj) (&_swigobj->SystemByName)
+static int _wrap_IBFabric_SystemByName_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_str_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByName_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_str_psys *)IBFabric_SystemByName_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_str_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a Vector element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s %s", (*I).first.c_str(), Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByLid_get(_swigobj) (&_swigobj->PortByLid)
+static int _wrap_IBFabric_PortByLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    vec_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (vec_pport *)IBFabric_PortByLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  Tcl_Obj *p_tclObj;
+
+  for (unsigned int i = 0; i < _result->size(); i++) {
+	 IBPort *p_port = (*_result)[i];
+	 if (p_port) {
+		p_tclObj = Tcl_NewObj();
+		if (ibdmGetObjTclNameByPtr(p_tclObj, p_port, "IBPort *")
+			 != TCL_OK) {
+		  printf("-E- Fail to map Port Object (a Vector element)\n");
+		} else {
+		  Tcl_AppendElement(interp, Tcl_GetString(p_tclObj));
+		}
+		Tcl_DecrRefCount(p_tclObj);
+	 }
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_NodeByGuid_get(_swigobj) (&_swigobj->NodeByGuid)
+static int _wrap_IBFabric_NodeByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pnode * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_NodeByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pnode *)IBFabric_NodeByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_SystemByGuid_get(_swigobj) (&_swigobj->SystemByGuid)
+static int _wrap_IBFabric_SystemByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_psys * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_SystemByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_psys *)IBFabric_SystemByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_psys::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBSystem *") != TCL_OK) {
+		printf("-E- Fail to map System Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_PortByGuid_get(_swigobj) (&_swigobj->PortByGuid)
+static int _wrap_IBFabric_PortByGuid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    map_guid_pport * _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_PortByGuid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (map_guid_pport *)IBFabric_PortByGuid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  map_guid_pport::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I).second, "IBPort *") != TCL_OK) {
+		printf("-E- Fail to map Port Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "0x%016" PRIx64 " %s",
+              (*I).first, Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_minLid_set(_swigobj,_swigval) (_swigobj->minLid = _swigval,_swigval)
+static int _wrap_IBFabric_minLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_minLid_get(_swigobj) ((unsigned int ) _swigobj->minLid)
+static int _wrap_IBFabric_minLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_minLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_minLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_set(_swigobj,_swigval) (_swigobj->maxLid = _swigval,_swigval)
+static int _wrap_IBFabric_maxLid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_maxLid_get(_swigobj) ((unsigned int ) _swigobj->maxLid)
+static int _wrap_IBFabric_maxLid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_maxLid_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_maxLid_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_set(_swigobj,_swigval) (_swigobj->lmc = _swigval,_swigval)
+static int _wrap_IBFabric_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_set { IBFabric * } { unsigned int  } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_set(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_lmc_get(_swigobj) ((unsigned int ) _swigobj->lmc)
+static int _wrap_IBFabric_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    unsigned int  _result;
+    IBFabric * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_lmc_get { IBFabric * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (unsigned int )IBFabric_lmc_get(_arg0);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_makeNode(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->makeNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static int _wrap_IBFabric_makeNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    IBSystem * _arg2;
+    IBNodeType  _arg3;
+    unsigned int  _arg4;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeNode { IBFabric * } n p_sys type numPorts ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBSystem *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBSystem ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBSystem ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBSystem  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBSystem ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (IBNodeType ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[5],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg4 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_makeNode(_arg0,*_arg1,_arg2,_arg3,_arg4);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNode(_swigobj,_swigarg0)  (_swigobj->getNode(_swigarg0))
+static int _wrap_IBFabric_getNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNode { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNode(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodesByType(_swigobj,_swigarg0)  (_swigobj->getNodesByType(_swigarg0))
+static int _wrap_IBFabric_getNodesByType(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    list_pnode * _result;
+    IBFabric * _arg0;
+    IBNodeType  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodesByType { IBFabric * } type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (IBNodeType ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (list_pnode *)IBFabric_getNodesByType(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  // build a TCL list out of the Objec ID's of the ibdm objects in it.
+  list_pnode::const_iterator I = _result->begin();
+  Tcl_Obj *p_tclObj;
+
+  while (I != _result->end()) {
+	 p_tclObj = Tcl_NewObj();
+	 if (ibdmGetObjTclNameByPtr(p_tclObj, (*I), "IBNode *") != TCL_OK) {
+		printf("-E- Fail to map Node Object (a guid map element)\n");
+	 } else {
+		char buf[128];
+		sprintf(buf, "%s", Tcl_GetString(p_tclObj));
+		Tcl_AppendElement(interp, buf);
+	 }
+	 Tcl_DecrRefCount(p_tclObj);
+	 I++;
+  }
+}
+    return TCL_OK;
+}
+#define IBFabric_makeGenericSystem(_swigobj,_swigarg0)  (_swigobj->makeGenericSystem(_swigarg0))
+static int _wrap_IBFabric_makeGenericSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeGenericSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeGenericSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_makeSystem(_swigobj,_swigarg0,_swigarg1)  (_swigobj->makeSystem(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_makeSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_makeSystem { IBFabric * } name type ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_makeSystem(_arg0,*_arg1,*_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystem(_swigobj,_swigarg0)  (_swigobj->getSystem(_swigarg0))
+static int _wrap_IBFabric_getSystem(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystem { IBFabric * } name ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystem(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getSystemByGuid(_swigobj,_swigarg0)  (_swigobj->getSystemByGuid(_swigarg0))
+static int _wrap_IBFabric_getSystemByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBSystem * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getSystemByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBSystem *)IBFabric_getSystemByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBSystem *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getNodeByGuid(_swigobj,_swigarg0)  (_swigobj->getNodeByGuid(_swigarg0))
+static int _wrap_IBFabric_getNodeByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getNodeByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBNode *)IBFabric_getNodeByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBFabric_getPortByGuid(_swigobj,_swigarg0)  (_swigobj->getPortByGuid(_swigarg0))
+static int _wrap_IBFabric_getPortByGuid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    uint64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByGuid { IBFabric * } guid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL,16);
+  _arg1 = &temp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByGuid(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+#define IBFabric_addCable(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7)  (_swigobj->addCable(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
+static int _wrap_IBFabric_addCable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    string * _arg1;
+    string * _arg2;
+    string * _arg3;
+    string * _arg4;
+    string * _arg5;
+    string * _arg6;
+    IBLinkWidth * _arg7 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg8 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    IBLinkWidth  temp1;
+    IBLinkSpeed  temp2;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 8) || (objc > 10)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addCable { IBFabric * } t1 n1 p1 t2 n2 p2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+{
+  int len;
+  static string _arg3_tmp;
+  _arg3_tmp = string(Tcl_GetStringFromObj(objv[4],&len));
+  _arg3 = &_arg3_tmp;
+}
+{
+  int len;
+  static string _arg4_tmp;
+  _arg4_tmp = string(Tcl_GetStringFromObj(objv[5],&len));
+  _arg4 = &_arg4_tmp;
+}
+{
+  int len;
+  static string _arg5_tmp;
+  _arg5_tmp = string(Tcl_GetStringFromObj(objv[6],&len));
+  _arg5 = &_arg5_tmp;
+}
+{
+  int len;
+  static string _arg6_tmp;
+  _arg6_tmp = string(Tcl_GetStringFromObj(objv[7],&len));
+  _arg6 = &_arg6_tmp;
+}
+    if (objc >8) {
+{
+  temp1 = char2width(Tcl_GetStringFromObj(objv[8],NULL));
+  _arg7 = &temp1;
+}
+    }
+    if (objc >9) {
+{
+  temp2 = char2speed(Tcl_GetStringFromObj(objv[9],NULL));
+  _arg8 = &temp2;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      IBFabric_addCable(_arg0,*_arg1,*_arg2,*_arg3,*_arg4,*_arg5,*_arg6,*_arg7,*_arg8);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_parseCables(_swigobj,_swigarg0)  (_swigobj->parseCables(_swigarg0))
+static int _wrap_IBFabric_parseCables(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseCables { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseCables(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseTopology(_swigobj,_swigarg0)  (_swigobj->parseTopology(_swigarg0))
+static int _wrap_IBFabric_parseTopology(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseTopology { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseTopology(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_addLink(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swigarg15,_swigarg16,_swigarg17,_swigarg18,_swigarg19,_swigarg20,_swigarg21,_swigarg22,_swigarg23,_swigarg24,_swigarg25)  (_swigobj->addLink(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11,_swigarg12,_swigarg13,_swigarg14,_swiga [...]
+static int _wrap_IBFabric_addLink(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    int  _arg2;
+    uint64_t * _arg3;
+    uint64_t * _arg4;
+    uint64_t * _arg5;
+    int  _arg6;
+    int  _arg7;
+    int  _arg8;
+    string * _arg9;
+    int  _arg10;
+    int  _arg11;
+    int  _arg12;
+    string * _arg13;
+    int  _arg14;
+    uint64_t * _arg15;
+    uint64_t * _arg16;
+    uint64_t * _arg17;
+    int  _arg18;
+    int  _arg19;
+    int  _arg20;
+    string * _arg21;
+    int  _arg22;
+    int  _arg23;
+    int  _arg24;
+    IBLinkWidth * _arg25 = &DefaultLinkWidth;
+    IBLinkSpeed * _arg26 = &DefaultLinkSpeed;
+    Tcl_Obj * tcl_result;
+    int tempint;
+    uint64_t  temp;
+    uint64_t  temp0;
+    uint64_t  temp1;
+    uint64_t  temp2;
+    uint64_t  temp3;
+    uint64_t  temp4;
+    IBLinkWidth  temp10;
+    IBLinkSpeed  temp20;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 26) || (objc > 28)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_addLink { IBFabric * } type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1 devId1 rev1 desc1 hcaIdx1 lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2 rev2 desc2 hcaIdx2 lid2 portNum2 ?width? ?speed? ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (int ) tempint;
+{
+  temp = strtoull(Tcl_GetStringFromObj(objv[4],NULL), NULL,16);
+  _arg3 = &temp;
+}
+{
+  temp0 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[6],NULL), NULL,16);
+  _arg5 = &temp1;
+}
+    if (Tcl_GetIntFromObj(interp,objv[7],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg6 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[8],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg7 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[9],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg8 = (int ) tempint;
+{
+  int len;
+  static string _arg9_tmp;
+  _arg9_tmp = string(Tcl_GetStringFromObj(objv[10],&len));
+  _arg9 = &_arg9_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[11],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg10 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[12],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg11 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[13],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg12 = (int ) tempint;
+{
+  int len;
+  static string _arg13_tmp;
+  _arg13_tmp = string(Tcl_GetStringFromObj(objv[14],&len));
+  _arg13 = &_arg13_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[15],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg14 = (int ) tempint;
+{
+  temp2 = strtoull(Tcl_GetStringFromObj(objv[16],NULL), NULL,16);
+  _arg15 = &temp2;
+}
+{
+  temp3 = strtoull(Tcl_GetStringFromObj(objv[17],NULL), NULL,16);
+  _arg16 = &temp3;
+}
+{
+  temp4 = strtoull(Tcl_GetStringFromObj(objv[18],NULL), NULL,16);
+  _arg17 = &temp4;
+}
+    if (Tcl_GetIntFromObj(interp,objv[19],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg18 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[20],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg19 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[21],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg20 = (int ) tempint;
+{
+  int len;
+  static string _arg21_tmp;
+  _arg21_tmp = string(Tcl_GetStringFromObj(objv[22],&len));
+  _arg21 = &_arg21_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[23],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg22 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[24],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg23 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[25],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg24 = (int ) tempint;
+    if (objc >26) {
+{
+  temp10 = char2width(Tcl_GetStringFromObj(objv[26],NULL));
+  _arg25 = &temp10;
+}
+    }
+    if (objc >27) {
+{
+  temp20 = char2speed(Tcl_GetStringFromObj(objv[27],NULL));
+  _arg26 = &temp20;
+}
+    }
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_addLink(_arg0,*_arg1,_arg2,*_arg3,*_arg4,*_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10,_arg11,_arg12,*_arg13,_arg14,*_arg15,*_arg16,*_arg17,_arg18,_arg19,_arg20,*_arg21,_arg22,_arg23,_arg24,*_arg25,*_arg26);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseSubnetLinks(_swigobj,_swigarg0)  (_swigobj->parseSubnetLinks(_swigarg0))
+static int _wrap_IBFabric_parseSubnetLinks(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseSubnetLinks { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseSubnetLinks(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseFdbFile(_swigobj,_swigarg0)  (_swigobj->parseFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_parseMCFdbFile(_swigobj,_swigarg0)  (_swigobj->parseMCFdbFile(_swigarg0))
+static int _wrap_IBFabric_parseMCFdbFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBFabric * _arg0;
+    string * _arg1;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_parseMCFdbFile { IBFabric * } fn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+{
+  ibdm_tcl_error = 0;
+      _result = (int )IBFabric_parseMCFdbFile(_arg0,*_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBFabric_setLidPort(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLidPort(_swigarg0,_swigarg1))
+static int _wrap_IBFabric_setLidPort(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    IBPort * _arg2;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_setLidPort { IBFabric * } lid p_port ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[3], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[3]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg2 = (IBPort *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[3],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBPort ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBPort ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBPort  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBPort ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibdm_tcl_error = 0;
+      IBFabric_setLidPort(_arg0,_arg1,_arg2);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define IBFabric_getPortByLid(_swigobj,_swigarg0)  (_swigobj->getPortByLid(_swigarg0))
+static int _wrap_IBFabric_getPortByLid(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBPort * _result;
+    IBFabric * _arg0;
+    unsigned int  _arg1;
+    Tcl_Obj * tcl_result;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBFabric_getPortByLid { IBFabric * } lid ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibdmGetObjPtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBFabric *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBFabric ", "IBFabric ")) {
+	if (strcmp(buf, "fabric")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSystem ")) {
+	if (strcmp(buf, "system")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBSysPort ")) {
+	if (strcmp(buf, "sysport")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBNode ")) {
+	if (strcmp(buf, "node")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else if (!strcmp("IBFabric ", "IBPort ")) {
+	if (strcmp(buf, "port")) {
+	 char err[256];
+	 sprintf(err, "-E- basetype is IBFabric  but received obj of type %s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+	}
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBFabric ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (unsigned int ) tempint;
+{
+  ibdm_tcl_error = 0;
+      _result = (IBPort *)IBFabric_getPortByLid(_arg0,_arg1);
+;
+  if (ibdm_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibdm_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBPort *");
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBFabricMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBFabric methods : { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBFabric_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"makeNode") == 0) {
+        cmd = _wrap_IBFabric_makeNode;
+    }    else if (strcmp(_str,"getNode") == 0) {
+        cmd = _wrap_IBFabric_getNode;
+    }    else if (strcmp(_str,"getNodesByType") == 0) {
+        cmd = _wrap_IBFabric_getNodesByType;
+    }    else if (strcmp(_str,"makeGenericSystem") == 0) {
+        cmd = _wrap_IBFabric_makeGenericSystem;
+    }    else if (strcmp(_str,"makeSystem") == 0) {
+        cmd = _wrap_IBFabric_makeSystem;
+    }    else if (strcmp(_str,"getSystem") == 0) {
+        cmd = _wrap_IBFabric_getSystem;
+    }    else if (strcmp(_str,"getSystemByGuid") == 0) {
+        cmd = _wrap_IBFabric_getSystemByGuid;
+    }    else if (strcmp(_str,"getNodeByGuid") == 0) {
+        cmd = _wrap_IBFabric_getNodeByGuid;
+    }    else if (strcmp(_str,"getPortByGuid") == 0) {
+        cmd = _wrap_IBFabric_getPortByGuid;
+    }    else if (strcmp(_str,"addCable") == 0) {
+        cmd = _wrap_IBFabric_addCable;
+    }    else if (strcmp(_str,"parseCables") == 0) {
+        cmd = _wrap_IBFabric_parseCables;
+    }    else if (strcmp(_str,"parseTopology") == 0) {
+        cmd = _wrap_IBFabric_parseTopology;
+    }    else if (strcmp(_str,"addLink") == 0) {
+        cmd = _wrap_IBFabric_addLink;
+    }    else if (strcmp(_str,"parseSubnetLinks") == 0) {
+        cmd = _wrap_IBFabric_parseSubnetLinks;
+    }    else if (strcmp(_str,"parseFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseFdbFile;
+    }    else if (strcmp(_str,"parseMCFdbFile") == 0) {
+        cmd = _wrap_IBFabric_parseMCFdbFile;
+    }    else if (strcmp(_str,"setLidPort") == 0) {
+        cmd = _wrap_IBFabric_setLidPort;
+    }    else if (strcmp(_str,"getPortByLid") == 0) {
+        cmd = _wrap_IBFabric_getPortByLid;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_set;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_set;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -minLid -maxLid -lmc  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -minLid -maxLid -lmc  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-NodeByName") == 0) {
+                    cmd = _wrap_IBFabric_NodeByName_get;
+                }  else if (strcmp(_str,"-SystemByName") == 0) {
+                    cmd = _wrap_IBFabric_SystemByName_get;
+                }  else if (strcmp(_str,"-PortByLid") == 0) {
+                    cmd = _wrap_IBFabric_PortByLid_get;
+                }  else if (strcmp(_str,"-NodeByGuid") == 0) {
+                    cmd = _wrap_IBFabric_NodeByGuid_get;
+                }  else if (strcmp(_str,"-SystemByGuid") == 0) {
+                    cmd = _wrap_IBFabric_SystemByGuid_get;
+                }  else if (strcmp(_str,"-PortByGuid") == 0) {
+                    cmd = _wrap_IBFabric_PortByGuid_get;
+                }  else if (strcmp(_str,"-minLid") == 0) {
+                    cmd = _wrap_IBFabric_minLid_get;
+                }  else if (strcmp(_str,"-maxLid") == 0) {
+                    cmd = _wrap_IBFabric_maxLid_get;
+                }  else if (strcmp(_str,"-lmc") == 0) {
+                    cmd = _wrap_IBFabric_lmc_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBFabric_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -NodeByName -SystemByName -PortByLid -NodeByGuid -SystemByGuid -PortByGuid -minLid -maxLid -lmc  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_IBFabric_NodeByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByName_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByName ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_NodeByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-NodeByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_SystemByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-SystemByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_PortByGuid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-PortByGuid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_minLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-minLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_maxLid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-maxLid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_IBFabric_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure makeNode getNode getNodesByType makeGenericSystem makeSystem getSystem getSystemByGuid getNodeByGuid getPortByGuid addCable parseCables parseTopology addLink parseSubnetLinks parseFdbFile parseMCFdbFile setLidPort getPortByLid }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBFabricCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBFabric * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBFabric_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBFabric_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBFabric object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBFabricMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_node_info_base_version_set(_swigobj,_swigval) (_swigobj->base_version = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_base_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_base_version_set { ib_node_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_base_version_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_base_version_get(_swigobj) (&_swigobj->base_version)
+static int _wrap_ib_node_info_t_base_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_base_version_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_base_version_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_base_version_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_set(_swigobj,_swigval) (_swigobj->class_version = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_class_version_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_class_version_set { ib_node_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_class_version_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_class_version_get(_swigobj) (&_swigobj->class_version)
+static int _wrap_ib_node_info_t_class_version_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_class_version_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_class_version_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_class_version_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_set(_swigobj,_swigval) (_swigobj->node_type = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_node_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_node_type_set { ib_node_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_node_type_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_type_get(_swigobj) (&_swigobj->node_type)
+static int _wrap_ib_node_info_t_node_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_node_type_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_node_type_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_node_type_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_set(_swigobj,_swigval) (_swigobj->num_ports = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_num_ports_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_num_ports_set { ib_node_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_num_ports_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_num_ports_get(_swigobj) (&_swigobj->num_ports)
+static int _wrap_ib_node_info_t_num_ports_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_num_ports_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_num_ports_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_node_info_num_ports_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_set(_swigobj,_swigval) (_swigobj->sys_guid = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_sys_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_sys_guid_set { ib_node_info_t * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_sys_guid_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_sys_guid_get(_swigobj) (&_swigobj->sys_guid)
+static int _wrap_ib_node_info_t_sys_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_sys_guid_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_sys_guid_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_sys_guid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_set(_swigobj,_swigval) (_swigobj->node_guid = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_node_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_node_guid_set { ib_node_info_t * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_node_guid_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_node_guid_get(_swigobj) (&_swigobj->node_guid)
+static int _wrap_ib_node_info_t_node_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_node_guid_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_node_guid_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_node_guid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_set(_swigobj,_swigval) (_swigobj->port_guid = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_port_guid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_port_guid_set { ib_node_info_t * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_port_guid_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_guid_get(_swigobj) (&_swigobj->port_guid)
+static int _wrap_ib_node_info_t_port_guid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_port_guid_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_port_guid_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_node_info_port_guid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_set(_swigobj,_swigval) (_swigobj->partition_cap = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_partition_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_partition_cap_set { ib_node_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_partition_cap_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_partition_cap_get(_swigobj) (&_swigobj->partition_cap)
+static int _wrap_ib_node_info_t_partition_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_partition_cap_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_partition_cap_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_partition_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_set(_swigobj,_swigval) (_swigobj->device_id = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_device_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_device_id_set { ib_node_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_device_id_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_device_id_get(_swigobj) (&_swigobj->device_id)
+static int _wrap_ib_node_info_t_device_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_device_id_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_device_id_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_node_info_device_id_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_set(_swigobj,_swigval) (_swigobj->revision = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_revision_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_revision_set { ib_node_info_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_revision_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_revision_get(_swigobj) (&_swigobj->revision)
+static int _wrap_ib_node_info_t_revision_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_revision_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_revision_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_revision_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_set(_swigobj,_swigval) (_swigobj->port_num_vendor_id = *(_swigval),_swigval)
+static int _wrap_ib_node_info_t_port_num_vendor_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_node_info_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_port_num_vendor_id_set { ib_node_info_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_port_num_vendor_id_set. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_node_info_port_num_vendor_id_get(_swigobj) (&_swigobj->port_num_vendor_id)
+static int _wrap_ib_node_info_t_port_num_vendor_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_node_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_info_t_port_num_vendor_id_get { ib_node_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_info_t_port_num_vendor_id_get. Expected _ib_node_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_node_info_port_num_vendor_id_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_node_info_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_node_info_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_node_info_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_ib_node_info_t_base_version_set;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_ib_node_info_t_class_version_set;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_ib_node_info_t_node_type_set;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_ib_node_info_t_num_ports_set;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_sys_guid_set;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_node_guid_set;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_port_guid_set;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_ib_node_info_t_partition_cap_set;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_ib_node_info_t_device_id_set;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_ib_node_info_t_revision_set;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_ib_node_info_t_port_num_vendor_id_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-base_version") == 0) {
+                    cmd = _wrap_ib_node_info_t_base_version_get;
+                }  else if (strcmp(_str,"-class_version") == 0) {
+                    cmd = _wrap_ib_node_info_t_class_version_get;
+                }  else if (strcmp(_str,"-node_type") == 0) {
+                    cmd = _wrap_ib_node_info_t_node_type_get;
+                }  else if (strcmp(_str,"-num_ports") == 0) {
+                    cmd = _wrap_ib_node_info_t_num_ports_get;
+                }  else if (strcmp(_str,"-sys_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_sys_guid_get;
+                }  else if (strcmp(_str,"-node_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_node_guid_get;
+                }  else if (strcmp(_str,"-port_guid") == 0) {
+                    cmd = _wrap_ib_node_info_t_port_guid_get;
+                }  else if (strcmp(_str,"-partition_cap") == 0) {
+                    cmd = _wrap_ib_node_info_t_partition_cap_get;
+                }  else if (strcmp(_str,"-device_id") == 0) {
+                    cmd = _wrap_ib_node_info_t_device_id_get;
+                }  else if (strcmp(_str,"-revision") == 0) {
+                    cmd = _wrap_ib_node_info_t_revision_get;
+                }  else if (strcmp(_str,"-port_num_vendor_id") == 0) {
+                    cmd = _wrap_ib_node_info_t_port_num_vendor_id_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_node_info_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -base_version -class_version -node_type -num_ports -sys_guid -node_guid -port_guid -partition_cap -device_id -revision -port_num_vendor_id  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_node_info_t_base_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_class_version_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-class_version ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_node_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_num_ports_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_ports ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_sys_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sys_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_node_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_port_guid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_guid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_partition_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-partition_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_device_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-device_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_revision_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-revision ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_node_info_t_port_num_vendor_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num_vendor_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_node_info_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_node_info_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_node_info_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_node_info_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_node_info_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_node_info_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_switch_info_lin_cap_set(_swigobj,_swigval) (_swigobj->lin_cap = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_lin_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lin_cap_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lin_cap_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_cap_get(_swigobj) (&_swigobj->lin_cap)
+static int _wrap_ib_switch_info_t_lin_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lin_cap_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lin_cap_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_set(_swigobj,_swigval) (_swigobj->rand_cap = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_rand_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_rand_cap_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_rand_cap_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_rand_cap_get(_swigobj) (&_swigobj->rand_cap)
+static int _wrap_ib_switch_info_t_rand_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_rand_cap_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_rand_cap_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_rand_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_set(_swigobj,_swigval) (_swigobj->mcast_cap = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_mcast_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_mcast_cap_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_mcast_cap_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_mcast_cap_get(_swigobj) (&_swigobj->mcast_cap)
+static int _wrap_ib_switch_info_t_mcast_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_mcast_cap_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_mcast_cap_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_mcast_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_set(_swigobj,_swigval) (_swigobj->lin_top = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_lin_top_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lin_top_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lin_top_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lin_top_get(_swigobj) (&_swigobj->lin_top)
+static int _wrap_ib_switch_info_t_lin_top_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lin_top_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lin_top_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lin_top_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_set(_swigobj,_swigval) (_swigobj->def_port = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_def_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_port_set { ib_switch_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_port_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_port_get(_swigobj) (&_swigobj->def_port)
+static int _wrap_ib_switch_info_t_def_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_port_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_port_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_port_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_set(_swigobj,_swigval) (_swigobj->def_mcast_pri_port = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_def_mcast_pri_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_mcast_pri_port_set { ib_switch_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_mcast_pri_port_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_pri_port_get(_swigobj) (&_swigobj->def_mcast_pri_port)
+static int _wrap_ib_switch_info_t_def_mcast_pri_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_mcast_pri_port_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_mcast_pri_port_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_pri_port_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_set(_swigobj,_swigval) (_swigobj->def_mcast_not_port = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_def_mcast_not_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_mcast_not_port_set { ib_switch_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_mcast_not_port_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_def_mcast_not_port_get(_swigobj) (&_swigobj->def_mcast_not_port)
+static int _wrap_ib_switch_info_t_def_mcast_not_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_def_mcast_not_port_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_def_mcast_not_port_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_def_mcast_not_port_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_set(_swigobj,_swigval) (_swigobj->life_state = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_life_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_life_state_set { ib_switch_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_life_state_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_life_state_get(_swigobj) (&_swigobj->life_state)
+static int _wrap_ib_switch_info_t_life_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_life_state_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_life_state_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_life_state_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_set(_swigobj,_swigval) (_swigobj->lids_per_port = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_lids_per_port_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lids_per_port_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lids_per_port_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_lids_per_port_get(_swigobj) (&_swigobj->lids_per_port)
+static int _wrap_ib_switch_info_t_lids_per_port_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_lids_per_port_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_lids_per_port_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_lids_per_port_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_set(_swigobj,_swigval) (_swigobj->enforce_cap = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_enforce_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_enforce_cap_set { ib_switch_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_enforce_cap_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_enforce_cap_get(_swigobj) (&_swigobj->enforce_cap)
+static int _wrap_ib_switch_info_t_enforce_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_enforce_cap_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_enforce_cap_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_switch_info_enforce_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_set(_swigobj,_swigval) (_swigobj->flags = *(_swigval),_swigval)
+static int _wrap_ib_switch_info_t_flags_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_flags_set { ib_switch_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_flags_set. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_switch_info_flags_get(_swigobj) (&_swigobj->flags)
+static int _wrap_ib_switch_info_t_flags_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_switch_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_switch_info_t_flags_get { ib_switch_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_switch_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_switch_info_t_flags_get. Expected _ib_switch_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_switch_info_flags_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_switch_info_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_switch_info_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_switch_info_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lin_cap_set;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_rand_cap_set;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_mcast_cap_set;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lin_top_set;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_port_set;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_mcast_pri_port_set;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_mcast_not_port_set;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_ib_switch_info_t_life_state_set;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lids_per_port_set;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_enforce_cap_set;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_ib_switch_info_t_flags_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lin_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lin_cap_get;
+                }  else if (strcmp(_str,"-rand_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_rand_cap_get;
+                }  else if (strcmp(_str,"-mcast_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_mcast_cap_get;
+                }  else if (strcmp(_str,"-lin_top") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lin_top_get;
+                }  else if (strcmp(_str,"-def_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_port_get;
+                }  else if (strcmp(_str,"-def_mcast_pri_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_mcast_pri_port_get;
+                }  else if (strcmp(_str,"-def_mcast_not_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_def_mcast_not_port_get;
+                }  else if (strcmp(_str,"-life_state") == 0) {
+                    cmd = _wrap_ib_switch_info_t_life_state_get;
+                }  else if (strcmp(_str,"-lids_per_port") == 0) {
+                    cmd = _wrap_ib_switch_info_t_lids_per_port_get;
+                }  else if (strcmp(_str,"-enforce_cap") == 0) {
+                    cmd = _wrap_ib_switch_info_t_enforce_cap_get;
+                }  else if (strcmp(_str,"-flags") == 0) {
+                    cmd = _wrap_ib_switch_info_t_flags_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_switch_info_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lin_cap -rand_cap -mcast_cap -lin_top -def_port -def_mcast_pri_port -def_mcast_not_port -life_state -lids_per_port -enforce_cap -flags  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_switch_info_t_lin_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_rand_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rand_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_mcast_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mcast_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_lin_top_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lin_top ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_def_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_def_mcast_pri_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_pri_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_def_mcast_not_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-def_mcast_not_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_life_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-life_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_lids_per_port_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lids_per_port ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_enforce_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-enforce_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_switch_info_t_flags_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-flags ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_switch_info_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_switch_info_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_switch_info_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_switch_info_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_switch_info_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_switch_info_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_port_info_m_key_set(_swigobj,_swigval) (_swigobj->m_key = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_m_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_set { ib_port_info_t * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_get(_swigobj) (&_swigobj->m_key)
+static int _wrap_ib_port_info_t_m_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_m_key_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_set(_swigobj,_swigval) (_swigobj->subnet_prefix = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_subnet_prefix_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_subnet_prefix_set { ib_port_info_t * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_subnet_prefix_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_prefix_get(_swigobj) (&_swigobj->subnet_prefix)
+static int _wrap_ib_port_info_t_subnet_prefix_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_subnet_prefix_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_subnet_prefix_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)_ib_port_info_subnet_prefix_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_set(_swigobj,_swigval) (_swigobj->base_lid = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_base_lid_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_base_lid_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_base_lid_get(_swigobj) (&_swigobj->base_lid)
+static int _wrap_ib_port_info_t_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_base_lid_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_base_lid_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_base_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_set(_swigobj,_swigval) (_swigobj->master_sm_base_lid = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_master_sm_base_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_master_sm_base_lid_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_master_sm_base_lid_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_master_sm_base_lid_get(_swigobj) (&_swigobj->master_sm_base_lid)
+static int _wrap_ib_port_info_t_master_sm_base_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_master_sm_base_lid_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_master_sm_base_lid_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_master_sm_base_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_set(_swigobj,_swigval) (_swigobj->capability_mask = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_capability_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_capability_mask_set { ib_port_info_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_capability_mask_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_capability_mask_get(_swigobj) (&_swigobj->capability_mask)
+static int _wrap_ib_port_info_t_capability_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_capability_mask_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_capability_mask_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_port_info_capability_mask_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_set(_swigobj,_swigval) (_swigobj->diag_code = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_diag_code_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_diag_code_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_diag_code_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_diag_code_get(_swigobj) (&_swigobj->diag_code)
+static int _wrap_ib_port_info_t_diag_code_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_diag_code_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_diag_code_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_diag_code_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_set(_swigobj,_swigval) (_swigobj->m_key_lease_period = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_m_key_lease_period_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_lease_period_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_lease_period_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_lease_period_get(_swigobj) (&_swigobj->m_key_lease_period)
+static int _wrap_ib_port_info_t_m_key_lease_period_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_lease_period_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_lease_period_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_lease_period_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_set(_swigobj,_swigval) (_swigobj->local_port_num = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_local_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_local_port_num_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_local_port_num_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_local_port_num_get(_swigobj) (&_swigobj->local_port_num)
+static int _wrap_ib_port_info_t_local_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_local_port_num_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_local_port_num_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_local_port_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_set(_swigobj,_swigval) (_swigobj->link_width_enabled = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_link_width_enabled_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_enabled_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_enabled_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_enabled_get(_swigobj) (&_swigobj->link_width_enabled)
+static int _wrap_ib_port_info_t_link_width_enabled_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_enabled_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_enabled_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_enabled_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_set(_swigobj,_swigval) (_swigobj->link_width_supported = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_link_width_supported_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_supported_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_supported_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_supported_get(_swigobj) (&_swigobj->link_width_supported)
+static int _wrap_ib_port_info_t_link_width_supported_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_supported_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_supported_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_supported_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_set(_swigobj,_swigval) (_swigobj->link_width_active = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_link_width_active_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_active_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_active_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_width_active_get(_swigobj) (&_swigobj->link_width_active)
+static int _wrap_ib_port_info_t_link_width_active_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_width_active_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_width_active_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_width_active_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_set(_swigobj,_swigval) (_swigobj->state_info1 = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_state_info1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_state_info1_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_state_info1_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info1_get(_swigobj) (&_swigobj->state_info1)
+static int _wrap_ib_port_info_t_state_info1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_state_info1_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_state_info1_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info1_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_set(_swigobj,_swigval) (_swigobj->state_info2 = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_state_info2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_state_info2_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_state_info2_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_state_info2_get(_swigobj) (&_swigobj->state_info2)
+static int _wrap_ib_port_info_t_state_info2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_state_info2_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_state_info2_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_state_info2_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_set(_swigobj,_swigval) (_swigobj->mkey_lmc = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_mkey_lmc_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mkey_lmc_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mkey_lmc_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mkey_lmc_get(_swigobj) (&_swigobj->mkey_lmc)
+static int _wrap_ib_port_info_t_mkey_lmc_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mkey_lmc_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mkey_lmc_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mkey_lmc_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_set(_swigobj,_swigval) (_swigobj->link_speed = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_link_speed_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_speed_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_speed_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_link_speed_get(_swigobj) (&_swigobj->link_speed)
+static int _wrap_ib_port_info_t_link_speed_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_link_speed_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_link_speed_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_link_speed_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_set(_swigobj,_swigval) (_swigobj->mtu_smsl = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_mtu_smsl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mtu_smsl_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mtu_smsl_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_smsl_get(_swigobj) (&_swigobj->mtu_smsl)
+static int _wrap_ib_port_info_t_mtu_smsl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mtu_smsl_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mtu_smsl_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_smsl_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_set(_swigobj,_swigval) (_swigobj->vl_cap = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_cap_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_cap_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_cap_get(_swigobj) (&_swigobj->vl_cap)
+static int _wrap_ib_port_info_t_vl_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_cap_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_cap_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_set(_swigobj,_swigval) (_swigobj->vl_high_limit = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_high_limit_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_high_limit_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_high_limit_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_high_limit_get(_swigobj) (&_swigobj->vl_high_limit)
+static int _wrap_ib_port_info_t_vl_high_limit_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_high_limit_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_high_limit_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_high_limit_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_high_cap = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_arb_high_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_arb_high_cap_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_arb_high_cap_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_high_cap_get(_swigobj) (&_swigobj->vl_arb_high_cap)
+static int _wrap_ib_port_info_t_vl_arb_high_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_arb_high_cap_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_arb_high_cap_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_high_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_set(_swigobj,_swigval) (_swigobj->vl_arb_low_cap = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_arb_low_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_arb_low_cap_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_arb_low_cap_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_arb_low_cap_get(_swigobj) (&_swigobj->vl_arb_low_cap)
+static int _wrap_ib_port_info_t_vl_arb_low_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_arb_low_cap_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_arb_low_cap_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_arb_low_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_set(_swigobj,_swigval) (_swigobj->mtu_cap = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_mtu_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mtu_cap_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mtu_cap_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_mtu_cap_get(_swigobj) (&_swigobj->mtu_cap)
+static int _wrap_ib_port_info_t_mtu_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_mtu_cap_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_mtu_cap_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_mtu_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_set(_swigobj,_swigval) (_swigobj->vl_stall_life = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_stall_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_stall_life_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_stall_life_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_stall_life_get(_swigobj) (&_swigobj->vl_stall_life)
+static int _wrap_ib_port_info_t_vl_stall_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_stall_life_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_stall_life_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_stall_life_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_set(_swigobj,_swigval) (_swigobj->vl_enforce = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_vl_enforce_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_enforce_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_enforce_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_vl_enforce_get(_swigobj) (&_swigobj->vl_enforce)
+static int _wrap_ib_port_info_t_vl_enforce_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_vl_enforce_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_vl_enforce_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_vl_enforce_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_set(_swigobj,_swigval) (_swigobj->m_key_violations = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_m_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_violations_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_violations_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_m_key_violations_get(_swigobj) (&_swigobj->m_key_violations)
+static int _wrap_ib_port_info_t_m_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_m_key_violations_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_m_key_violations_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_m_key_violations_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_set(_swigobj,_swigval) (_swigobj->p_key_violations = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_p_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_p_key_violations_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_p_key_violations_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_p_key_violations_get(_swigobj) (&_swigobj->p_key_violations)
+static int _wrap_ib_port_info_t_p_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_p_key_violations_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_p_key_violations_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_p_key_violations_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_set(_swigobj,_swigval) (_swigobj->q_key_violations = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_q_key_violations_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_q_key_violations_set { ib_port_info_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_q_key_violations_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_q_key_violations_get(_swigobj) (&_swigobj->q_key_violations)
+static int _wrap_ib_port_info_t_q_key_violations_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_q_key_violations_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_q_key_violations_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_port_info_q_key_violations_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_set(_swigobj,_swigval) (_swigobj->guid_cap = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_guid_cap_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_guid_cap_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_guid_cap_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_guid_cap_get(_swigobj) (&_swigobj->guid_cap)
+static int _wrap_ib_port_info_t_guid_cap_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_guid_cap_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_guid_cap_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_guid_cap_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_set(_swigobj,_swigval) (_swigobj->subnet_timeout = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_subnet_timeout_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_subnet_timeout_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_subnet_timeout_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_subnet_timeout_get(_swigobj) (&_swigobj->subnet_timeout)
+static int _wrap_ib_port_info_t_subnet_timeout_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_subnet_timeout_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_subnet_timeout_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_subnet_timeout_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_set(_swigobj,_swigval) (_swigobj->resp_time_value = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_resp_time_value_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_resp_time_value_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_resp_time_value_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_resp_time_value_get(_swigobj) (&_swigobj->resp_time_value)
+static int _wrap_ib_port_info_t_resp_time_value_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_resp_time_value_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_resp_time_value_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_resp_time_value_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_set(_swigobj,_swigval) (_swigobj->error_threshold = *(_swigval),_swigval)
+static int _wrap_ib_port_info_t_error_threshold_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_error_threshold_set { ib_port_info_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_error_threshold_set. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_port_info_error_threshold_get(_swigobj) (&_swigobj->error_threshold)
+static int _wrap_ib_port_info_t_error_threshold_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_port_info_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_port_info_t_error_threshold_get { ib_port_info_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_port_info_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_port_info_t_error_threshold_get. Expected _ib_port_info_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_port_info_error_threshold_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_port_info_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_port_info_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_port_info_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_set;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_ib_port_info_t_subnet_prefix_set;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_ib_port_info_t_base_lid_set;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_ib_port_info_t_master_sm_base_lid_set;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_ib_port_info_t_capability_mask_set;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_ib_port_info_t_diag_code_set;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_lease_period_set;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_ib_port_info_t_local_port_num_set;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_enabled_set;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_supported_set;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_active_set;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_ib_port_info_t_state_info1_set;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_ib_port_info_t_state_info2_set;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_ib_port_info_t_mkey_lmc_set;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_speed_set;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_ib_port_info_t_mtu_smsl_set;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_cap_set;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_high_limit_set;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_arb_high_cap_set;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_arb_low_cap_set;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_mtu_cap_set;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_stall_life_set;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_enforce_set;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_violations_set;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_p_key_violations_set;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_q_key_violations_set;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_guid_cap_set;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_ib_port_info_t_subnet_timeout_set;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_ib_port_info_t_resp_time_value_set;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_ib_port_info_t_error_threshold_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_ti [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-m_key") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_get;
+                }  else if (strcmp(_str,"-subnet_prefix") == 0) {
+                    cmd = _wrap_ib_port_info_t_subnet_prefix_get;
+                }  else if (strcmp(_str,"-base_lid") == 0) {
+                    cmd = _wrap_ib_port_info_t_base_lid_get;
+                }  else if (strcmp(_str,"-master_sm_base_lid") == 0) {
+                    cmd = _wrap_ib_port_info_t_master_sm_base_lid_get;
+                }  else if (strcmp(_str,"-capability_mask") == 0) {
+                    cmd = _wrap_ib_port_info_t_capability_mask_get;
+                }  else if (strcmp(_str,"-diag_code") == 0) {
+                    cmd = _wrap_ib_port_info_t_diag_code_get;
+                }  else if (strcmp(_str,"-m_key_lease_period") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_lease_period_get;
+                }  else if (strcmp(_str,"-local_port_num") == 0) {
+                    cmd = _wrap_ib_port_info_t_local_port_num_get;
+                }  else if (strcmp(_str,"-link_width_enabled") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_enabled_get;
+                }  else if (strcmp(_str,"-link_width_supported") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_supported_get;
+                }  else if (strcmp(_str,"-link_width_active") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_width_active_get;
+                }  else if (strcmp(_str,"-state_info1") == 0) {
+                    cmd = _wrap_ib_port_info_t_state_info1_get;
+                }  else if (strcmp(_str,"-state_info2") == 0) {
+                    cmd = _wrap_ib_port_info_t_state_info2_get;
+                }  else if (strcmp(_str,"-mkey_lmc") == 0) {
+                    cmd = _wrap_ib_port_info_t_mkey_lmc_get;
+                }  else if (strcmp(_str,"-link_speed") == 0) {
+                    cmd = _wrap_ib_port_info_t_link_speed_get;
+                }  else if (strcmp(_str,"-mtu_smsl") == 0) {
+                    cmd = _wrap_ib_port_info_t_mtu_smsl_get;
+                }  else if (strcmp(_str,"-vl_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_cap_get;
+                }  else if (strcmp(_str,"-vl_high_limit") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_high_limit_get;
+                }  else if (strcmp(_str,"-vl_arb_high_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_arb_high_cap_get;
+                }  else if (strcmp(_str,"-vl_arb_low_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_arb_low_cap_get;
+                }  else if (strcmp(_str,"-mtu_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_mtu_cap_get;
+                }  else if (strcmp(_str,"-vl_stall_life") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_stall_life_get;
+                }  else if (strcmp(_str,"-vl_enforce") == 0) {
+                    cmd = _wrap_ib_port_info_t_vl_enforce_get;
+                }  else if (strcmp(_str,"-m_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_m_key_violations_get;
+                }  else if (strcmp(_str,"-p_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_p_key_violations_get;
+                }  else if (strcmp(_str,"-q_key_violations") == 0) {
+                    cmd = _wrap_ib_port_info_t_q_key_violations_get;
+                }  else if (strcmp(_str,"-guid_cap") == 0) {
+                    cmd = _wrap_ib_port_info_t_guid_cap_get;
+                }  else if (strcmp(_str,"-subnet_timeout") == 0) {
+                    cmd = _wrap_ib_port_info_t_subnet_timeout_get;
+                }  else if (strcmp(_str,"-resp_time_value") == 0) {
+                    cmd = _wrap_ib_port_info_t_resp_time_value_get;
+                }  else if (strcmp(_str,"-error_threshold") == 0) {
+                    cmd = _wrap_ib_port_info_t_error_threshold_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_port_info_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_tim [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -m_key -subnet_prefix -base_lid -master_sm_base_lid -capability_mask -diag_code -m_key_lease_period -local_port_num -link_width_enabled -link_width_supported -link_width_active -state_info1 -state_info2 -mkey_lmc -link_speed -mtu_smsl -vl_cap -vl_high_limit -vl_arb_high_cap -vl_arb_low_cap -mtu_cap -vl_stall_life -vl_enforce -m_key_violations -p_key_violations -q_key_violations -guid_cap -subnet_timeout -resp_time_value -error_threshold  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_port_info_t_m_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_subnet_prefix_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_prefix ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_master_sm_base_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-master_sm_base_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_capability_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-capability_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_diag_code_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-diag_code ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_m_key_lease_period_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_lease_period ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_local_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-local_port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_link_width_enabled_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_enabled ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_link_width_supported_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_supported ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_link_width_active_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_width_active ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_state_info1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_state_info2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-state_info2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_mkey_lmc_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mkey_lmc ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_link_speed_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_speed ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_mtu_smsl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_smsl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_high_limit_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_high_limit ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_arb_high_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_high_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_arb_low_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_arb_low_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_mtu_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_stall_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_stall_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_vl_enforce_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl_enforce ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_m_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-m_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_p_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-p_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_q_key_violations_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-q_key_violations ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_guid_cap_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-guid_cap ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_subnet_timeout_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subnet_timeout ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_resp_time_value_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resp_time_value ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_port_info_t_error_threshold_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-error_threshold ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_port_info_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_port_info_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_port_info_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_port_info_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_port_info_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_port_info_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+static uint8_array_t * _ib_node_desc_description_set(ib_node_desc_t *obj, uint8_array_t val[IB_NODE_DESCRIPTION_SIZE]) {
+{
+	int i;
+	for (i=0; i <IB_NODE_DESCRIPTION_SIZE ; i++) {
+		obj->description[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ib_node_desc_t_description_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ib_node_desc_t * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[IB_NODE_DESCRIPTION_SIZE];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_desc_t_description_set { ib_node_desc_t * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_desc_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_desc_t_description_set. Expected _ib_node_desc_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < IB_NODE_DESCRIPTION_SIZE))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < IB_NODE_DESCRIPTION_SIZE; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_node_desc_description_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NODE_DESCRIPTION_SIZE ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_node_desc_description_get(_swigobj) ((uint8_array_t *) _swigobj->description)
+static int _wrap_ib_node_desc_t_description_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ib_node_desc_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_node_desc_t_description_get { ib_node_desc_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_node_desc_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_node_desc_t_description_get. Expected _ib_node_desc_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_node_desc_description_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <IB_NODE_DESCRIPTION_SIZE ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_node_desc_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_node_desc_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_node_desc_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_ib_node_desc_t_description_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -description  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -description  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-description") == 0) {
+                    cmd = _wrap_ib_node_desc_t_description_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_node_desc_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -description  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -description  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_node_desc_t_description_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-description ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_node_desc_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_node_desc_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_node_desc_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_node_desc_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_node_desc_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_node_desc_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_lft_record_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_ib_lft_record_t_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_lft_record_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_lid_set { ib_lft_record_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_lid_set. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_ib_lft_record_t_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_lft_record_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_lid_get { ib_lft_record_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_lid_get. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_set(_swigobj,_swigval) (_swigobj->block_num = *(_swigval),_swigval)
+static int _wrap_ib_lft_record_t_block_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_lft_record_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_block_num_set { ib_lft_record_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_block_num_set. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_block_num_get(_swigobj) (&_swigobj->block_num)
+static int _wrap_ib_lft_record_t_block_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_lft_record_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_block_num_get { ib_lft_record_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_block_num_get. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_lft_record_block_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_resv0_set(_swigobj,_swigval) (_swigobj->resv0 = *(_swigval),_swigval)
+static int _wrap_ib_lft_record_t_resv0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    ib_lft_record_t * _arg0;
+    uint32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_resv0_set { ib_lft_record_t * } { uint32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_resv0_set. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_t *)_ib_lft_record_resv0_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_resv0_get(_swigobj) (&_swigobj->resv0)
+static int _wrap_ib_lft_record_t_resv0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_t * _result;
+    ib_lft_record_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_resv0_get { ib_lft_record_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_resv0_get. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_t *)_ib_lft_record_resv0_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * _ib_lft_record_lft_set(ib_lft_record_t *obj, uint8_array_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->lft[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_ib_lft_record_t_lft_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ib_lft_record_t * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_lft_set { ib_lft_record_t * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_lft_set. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 64))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 64; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_lft_record_lft_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_lft_record_lft_get(_swigobj) ((uint8_array_t *) _swigobj->lft)
+static int _wrap_ib_lft_record_t_lft_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    ib_lft_record_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_lft_record_t_lft_get { ib_lft_record_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_lft_record_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_lft_record_t_lft_get. Expected _ib_lft_record_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)_ib_lft_record_lft_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_lft_record_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_lft_record_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_lft_record_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_ib_lft_record_t_lid_set;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_ib_lft_record_t_block_num_set;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_lft_record_t_resv0_set;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_ib_lft_record_t_lft_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -lid -block_num -resv0 -lft  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -lid -block_num -resv0 -lft  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_ib_lft_record_t_lid_get;
+                }  else if (strcmp(_str,"-block_num") == 0) {
+                    cmd = _wrap_ib_lft_record_t_block_num_get;
+                }  else if (strcmp(_str,"-resv0") == 0) {
+                    cmd = _wrap_ib_lft_record_t_resv0_get;
+                }  else if (strcmp(_str,"-lft") == 0) {
+                    cmd = _wrap_ib_lft_record_t_lft_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_lft_record_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -lid -block_num -resv0 -lft  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -lid -block_num -resv0 -lft  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_lft_record_t_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_lft_record_t_block_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-block_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_lft_record_t_resv0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_lft_record_t_lft_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lft ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_lft_record_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_lft_record_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_lft_record_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_lft_record_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_lft_record_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_lft_record_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define _ib_pm_counters_mad_header_set(_swigobj,_swigval) (_swigobj->mad_header = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_mad_header_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_mad_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_mad_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_mad_header_set { ib_pm_counters_t * } { ib_mad_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_mad_header_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[2],(void **) &_arg1,"_ib_mad_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 2 of ib_pm_counters_t_mad_header_set. Expected _ib_mad_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_mad_t *)_ib_pm_counters_mad_header_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_mad_t_p");
+    return TCL_OK;
+}
+#define _ib_pm_counters_mad_header_get(_swigobj) (&_swigobj->mad_header)
+static int _wrap_ib_pm_counters_t_mad_header_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_mad_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_mad_header_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_mad_header_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_mad_t *)_ib_pm_counters_mad_header_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_mad_t_p");
+    return TCL_OK;
+}
+static uint32_array_t * _ib_pm_counters_reserved0_set(ib_pm_counters_t *obj, uint32_array_t val[10]) {
+{
+	int i;
+	for (i=0; i <10 ; i++) {
+		obj->reserved0[i] = *(val+i);
+	}
+}
+    return (uint32_array_t *) val;
+}
+static int _wrap_ib_pm_counters_t_reserved0_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint32_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  entrys[10];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved0_set { ib_pm_counters_t * } { uint32_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved0_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 10))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > (long int)0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 10; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)_ib_pm_counters_reserved0_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <10 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved0_get(_swigobj) ((uint32_array_t *) _swigobj->reserved0)
+static int _wrap_ib_pm_counters_t_reserved0_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved0_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved0_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)_ib_pm_counters_reserved0_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <10 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved1_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved1_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_reserved1_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_ib_pm_counters_t_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved1_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved1_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_reserved1_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_select_set(_swigobj,_swigval) (_swigobj->port_select = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_select_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_select_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_select_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_select_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_select_get(_swigobj) (&_swigobj->port_select)
+static int _wrap_ib_pm_counters_t_port_select_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_select_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_select_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_select_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_counter_select_set(_swigobj,_swigval) (_swigobj->counter_select = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_counter_select_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_counter_select_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_counter_select_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_counter_select_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_counter_select_get(_swigobj) (&_swigobj->counter_select)
+static int _wrap_ib_pm_counters_t_counter_select_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_counter_select_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_counter_select_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_counter_select_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_symbol_error_counter_set(_swigobj,_swigval) (_swigobj->symbol_error_counter = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_symbol_error_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_symbol_error_counter_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_symbol_error_counter_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_symbol_error_counter_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_symbol_error_counter_get(_swigobj) (&_swigobj->symbol_error_counter)
+static int _wrap_ib_pm_counters_t_symbol_error_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_symbol_error_counter_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_symbol_error_counter_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_symbol_error_counter_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_link_error_recovery_counter_set(_swigobj,_swigval) (_swigobj->link_error_recovery_counter = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_link_error_recovery_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_link_error_recovery_counter_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_link_error_recovery_counter_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_link_error_recovery_counter_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_link_error_recovery_counter_get(_swigobj) (&_swigobj->link_error_recovery_counter)
+static int _wrap_ib_pm_counters_t_link_error_recovery_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_link_error_recovery_counter_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_link_error_recovery_counter_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_link_error_recovery_counter_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_link_down_counter_set(_swigobj,_swigval) (_swigobj->link_down_counter = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_link_down_counter_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_link_down_counter_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_link_down_counter_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_link_down_counter_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_link_down_counter_get(_swigobj) (&_swigobj->link_down_counter)
+static int _wrap_ib_pm_counters_t_link_down_counter_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_link_down_counter_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_link_down_counter_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_link_down_counter_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_errors_set(_swigobj,_swigval) (_swigobj->port_rcv_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_errors_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_errors_get(_swigobj) (&_swigobj->port_rcv_errors)
+static int _wrap_ib_pm_counters_t_port_rcv_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_remote_physical_errors_set(_swigobj,_swigval) (_swigobj->port_rcv_remote_physical_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_remote_physical_errors_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_remote_physical_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_remote_physical_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_remote_physical_errors_get(_swigobj) (&_swigobj->port_rcv_remote_physical_errors)
+static int _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_remote_physical_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_remote_physical_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_remote_physical_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_switch_relay_errors_set(_swigobj,_swigval) (_swigobj->port_rcv_switch_relay_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_switch_relay_errors_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_switch_relay_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_switch_relay_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_switch_relay_errors_get(_swigobj) (&_swigobj->port_rcv_switch_relay_errors)
+static int _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_switch_relay_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_switch_relay_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_rcv_switch_relay_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_discard_set(_swigobj,_swigval) (_swigobj->port_xmit_discard = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_xmit_discard_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_discard_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_discard_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_xmit_discard_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_discard_get(_swigobj) (&_swigobj->port_xmit_discard)
+static int _wrap_ib_pm_counters_t_port_xmit_discard_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_discard_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_discard_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_port_xmit_discard_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_constraint_errors_set(_swigobj,_swigval) (_swigobj->port_xmit_constraint_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_xmit_constraint_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_constraint_errors_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_constraint_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_xmit_constraint_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_constraint_errors_get(_swigobj) (&_swigobj->port_xmit_constraint_errors)
+static int _wrap_ib_pm_counters_t_port_xmit_constraint_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_constraint_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_constraint_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_xmit_constraint_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_constraint_errors_set(_swigobj,_swigval) (_swigobj->port_rcv_constraint_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_constraint_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_constraint_errors_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_constraint_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_rcv_constraint_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_constraint_errors_get(_swigobj) (&_swigobj->port_rcv_constraint_errors)
+static int _wrap_ib_pm_counters_t_port_rcv_constraint_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_constraint_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_constraint_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_port_rcv_constraint_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved2_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved2_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_reserved2_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_ib_pm_counters_t_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved2_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved2_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_reserved2_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_lli_errors_exc_buf_errors_set(_swigobj,_swigval) (_swigobj->lli_errors_exc_buf_errors = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_lli_errors_exc_buf_errors_set { ib_pm_counters_t * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_lli_errors_exc_buf_errors_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_lli_errors_exc_buf_errors_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_lli_errors_exc_buf_errors_get(_swigobj) (&_swigobj->lli_errors_exc_buf_errors)
+static int _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_lli_errors_exc_buf_errors_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_lli_errors_exc_buf_errors_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)_ib_pm_counters_lli_errors_exc_buf_errors_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved3_set(_swigobj,_swigval) (_swigobj->reserved3 = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_reserved3_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved3_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved3_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_reserved3_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved3_get(_swigobj) (&_swigobj->reserved3)
+static int _wrap_ib_pm_counters_t_reserved3_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved3_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved3_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_reserved3_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_vl15_dropped_set(_swigobj,_swigval) (_swigobj->vl15_dropped = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_vl15_dropped_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_vl15_dropped_set { ib_pm_counters_t * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_vl15_dropped_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_vl15_dropped_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_vl15_dropped_get(_swigobj) (&_swigobj->vl15_dropped)
+static int _wrap_ib_pm_counters_t_vl15_dropped_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_vl15_dropped_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_vl15_dropped_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)_ib_pm_counters_vl15_dropped_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_data_set(_swigobj,_swigval) (_swigobj->port_xmit_data = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_xmit_data_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_data_set { ib_pm_counters_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_data_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_xmit_data_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_data_get(_swigobj) (&_swigobj->port_xmit_data)
+static int _wrap_ib_pm_counters_t_port_xmit_data_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_data_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_data_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_xmit_data_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_data_set(_swigobj,_swigval) (_swigobj->port_rcv_data = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_data_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_data_set { ib_pm_counters_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_data_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_rcv_data_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_data_get(_swigobj) (&_swigobj->port_rcv_data)
+static int _wrap_ib_pm_counters_t_port_rcv_data_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_data_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_data_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_rcv_data_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_pkts_set(_swigobj,_swigval) (_swigobj->port_xmit_pkts = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_xmit_pkts_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_pkts_set { ib_pm_counters_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_pkts_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_xmit_pkts_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_xmit_pkts_get(_swigobj) (&_swigobj->port_xmit_pkts)
+static int _wrap_ib_pm_counters_t_port_xmit_pkts_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_xmit_pkts_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_xmit_pkts_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_xmit_pkts_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_pkts_set(_swigobj,_swigval) (_swigobj->port_rcv_pkts = *(_swigval),_swigval)
+static int _wrap_ib_pm_counters_t_port_rcv_pkts_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_pkts_set { ib_pm_counters_t * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_pkts_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_rcv_pkts_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_port_rcv_pkts_get(_swigobj) (&_swigobj->port_rcv_pkts)
+static int _wrap_ib_pm_counters_t_port_rcv_pkts_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_port_rcv_pkts_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_port_rcv_pkts_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)_ib_pm_counters_port_rcv_pkts_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint32_array_t * _ib_pm_counters_reserved5_set(ib_pm_counters_t *obj, uint32_array_t val[38]) {
+{
+	int i;
+	for (i=0; i <38 ; i++) {
+		obj->reserved5[i] = *(val+i);
+	}
+}
+    return (uint32_array_t *) val;
+}
+static int _wrap_ib_pm_counters_t_reserved5_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    ib_pm_counters_t * _arg0;
+    uint32_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  entrys[38];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved5_set { ib_pm_counters_t * } { uint32_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved5_set. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 38))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > (long int)0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 38; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)_ib_pm_counters_reserved5_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <38 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define _ib_pm_counters_reserved5_get(_swigobj) ((uint32_array_t *) _swigobj->reserved5)
+static int _wrap_ib_pm_counters_t_reserved5_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    ib_pm_counters_t * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. ib_pm_counters_t_reserved5_get { ib_pm_counters_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of ib_pm_counters_t_reserved5_get. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)_ib_pm_counters_reserved5_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <38 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int Tclib_pm_counters_tMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"ib_pm_counters_t methods : { dump cget configure  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_ib_pm_counters_t_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mad_header") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_mad_header_set;
+                }  else if (strcmp(_str,"-reserved0") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved0_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved1_set;
+                }  else if (strcmp(_str,"-port_select") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_select_set;
+                }  else if (strcmp(_str,"-counter_select") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_counter_select_set;
+                }  else if (strcmp(_str,"-symbol_error_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_symbol_error_counter_set;
+                }  else if (strcmp(_str,"-link_error_recovery_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_link_error_recovery_counter_set;
+                }  else if (strcmp(_str,"-link_down_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_link_down_counter_set;
+                }  else if (strcmp(_str,"-port_rcv_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_errors_set;
+                }  else if (strcmp(_str,"-port_rcv_remote_physical_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_set;
+                }  else if (strcmp(_str,"-port_rcv_switch_relay_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_set;
+                }  else if (strcmp(_str,"-port_xmit_discard") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_discard_set;
+                }  else if (strcmp(_str,"-port_xmit_constraint_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_constraint_errors_set;
+                }  else if (strcmp(_str,"-port_rcv_constraint_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_constraint_errors_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved2_set;
+                }  else if (strcmp(_str,"-lli_errors_exc_buf_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_set;
+                }  else if (strcmp(_str,"-reserved3") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved3_set;
+                }  else if (strcmp(_str,"-vl15_dropped") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_vl15_dropped_set;
+                }  else if (strcmp(_str,"-port_xmit_data") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_data_set;
+                }  else if (strcmp(_str,"-port_rcv_data") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_data_set;
+                }  else if (strcmp(_str,"-port_xmit_pkts") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_pkts_set;
+                }  else if (strcmp(_str,"-port_rcv_pkts") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_pkts_set;
+                }  else if (strcmp(_str,"-reserved5") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved5_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mad_header -reserved0 -reserved1 -port_select -counter_select -symbol_error_counter -link_error_recovery_counter -link_down_counter -port_rcv_errors -port_rcv_remote_physical_errors -port_rcv_switch_relay_errors -port_xmit_discard -port_xmit_constraint_errors -port_rcv_constraint_errors -reserved2 -lli_errors_exc_buf_errors -reserved3 -vl15_dropped -port_xmit_data -port_rcv_data -port_xmit_pkts -port_rcv_pkts - [...]
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mad_header -reserved0 -reserved1 -port_select -counter_select -symbol_error_counter -link_error_recovery_counter -link_down_counter -port_rcv_errors -port_rcv_remote_physical_errors -port_rcv_switch_relay_errors -port_xmit_discard -port_xmit_constraint_errors -port_rcv_constraint_errors -reserved2 -lli_errors_exc_buf_errors -reserved3 -vl15_dropped -port_xmit_data -port_rcv_data -port_xmit_pkts -port_rcv_pkts -reserved5  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mad_header") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_mad_header_get;
+                }  else if (strcmp(_str,"-reserved0") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved0_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved1_get;
+                }  else if (strcmp(_str,"-port_select") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_select_get;
+                }  else if (strcmp(_str,"-counter_select") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_counter_select_get;
+                }  else if (strcmp(_str,"-symbol_error_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_symbol_error_counter_get;
+                }  else if (strcmp(_str,"-link_error_recovery_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_link_error_recovery_counter_get;
+                }  else if (strcmp(_str,"-link_down_counter") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_link_down_counter_get;
+                }  else if (strcmp(_str,"-port_rcv_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_errors_get;
+                }  else if (strcmp(_str,"-port_rcv_remote_physical_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_get;
+                }  else if (strcmp(_str,"-port_rcv_switch_relay_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_get;
+                }  else if (strcmp(_str,"-port_xmit_discard") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_discard_get;
+                }  else if (strcmp(_str,"-port_xmit_constraint_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_constraint_errors_get;
+                }  else if (strcmp(_str,"-port_rcv_constraint_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_constraint_errors_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved2_get;
+                }  else if (strcmp(_str,"-lli_errors_exc_buf_errors") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_get;
+                }  else if (strcmp(_str,"-reserved3") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved3_get;
+                }  else if (strcmp(_str,"-vl15_dropped") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_vl15_dropped_get;
+                }  else if (strcmp(_str,"-port_xmit_data") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_data_get;
+                }  else if (strcmp(_str,"-port_rcv_data") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_data_get;
+                }  else if (strcmp(_str,"-port_xmit_pkts") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_xmit_pkts_get;
+                }  else if (strcmp(_str,"-port_rcv_pkts") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_port_rcv_pkts_get;
+                }  else if (strcmp(_str,"-reserved5") == 0) {
+                    cmd = _wrap_ib_pm_counters_t_reserved5_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_ib_pm_counters_t_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mad_header -reserved0 -reserved1 -port_select -counter_select -symbol_error_counter -link_error_recovery_counter -link_down_counter -port_rcv_errors -port_rcv_remote_physical_errors -port_rcv_switch_relay_errors -port_xmit_discard -port_xmit_constraint_errors -port_rcv_constraint_errors -reserved2 -lli_errors_exc_buf_errors -reserved3 -vl15_dropped -port_xmit_data -port_rcv_data -port_xmit_pkts -port_rcv_pkts -r [...]
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mad_header -reserved0 -reserved1 -port_select -counter_select -symbol_error_counter -link_error_recovery_counter -link_down_counter -port_rcv_errors -port_rcv_remote_physical_errors -port_rcv_switch_relay_errors -port_xmit_discard -port_xmit_constraint_errors -port_rcv_constraint_errors -reserved2 -lli_errors_exc_buf_errors -reserved3 -vl15_dropped -port_xmit_data -port_rcv_data -port_xmit_pkts -port_rcv_pkts -reserved5  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_ib_pm_counters_t_mad_header_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mad_header ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_reserved0_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved0 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_select_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_select ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_counter_select_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-counter_select ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_symbol_error_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-symbol_error_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_link_error_recovery_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_error_recovery_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_link_down_counter_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-link_down_counter ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_remote_physical_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_switch_relay_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_xmit_discard_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_xmit_discard ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_xmit_constraint_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_xmit_constraint_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_constraint_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_constraint_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lli_errors_exc_buf_errors ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_reserved3_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved3 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_vl15_dropped_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-vl15_dropped ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_xmit_data_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_xmit_data ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_data_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_data ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_xmit_pkts_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_xmit_pkts ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_port_rcv_pkts_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_rcv_pkts ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_ib_pm_counters_t_reserved5_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved5 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int Tclib_pm_counters_tCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    ib_pm_counters_t * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_ib_pm_counters_t_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_ib_pm_counters_t_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a ib_pm_counters_t object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, Tclib_pm_counters_tMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define msgManager_getVerbLevel(_swigobj,_swigarg0)  (_swigobj->getVerbLevel(_swigarg0))
+static int _wrap_msgManager_getVerbLevel(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    msgManager * _arg0;
+    string * _arg1 = &MsgAllModules;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_getVerbLevel { msgManager * } ?module? ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_getVerbLevel. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if (objc >2) {
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (int )msgManager_getVerbLevel(_arg0,*_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define msgManager_clrVerbLevel(_swigobj,_swigarg0)  (_swigobj->clrVerbLevel(_swigarg0))
+static int _wrap_msgManager_clrVerbLevel(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    msgManager * _arg0;
+    string * _arg1 = &MsgAllModules;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_clrVerbLevel { msgManager * } ?module? ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_clrVerbLevel. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if (objc >2) {
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (int )msgManager_clrVerbLevel(_arg0,*_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define msgManager_setVerbLevel(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setVerbLevel(_swigarg0,_swigarg1))
+static int _wrap_msgManager_setVerbLevel(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    msgManager * _arg0;
+    int  _arg1;
+    string * _arg2 = &MsgAllModules;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_setVerbLevel { msgManager * } vl ?module? ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_setVerbLevel. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+    if (objc >3) {
+{
+  int len;
+  static string _arg2_tmp;
+  _arg2_tmp = string(Tcl_GetStringFromObj(objv[3],&len));
+  _arg2 = &_arg2_tmp;
+}
+    }
+{
+  ibms_tcl_error = 0;
+      msgManager_setVerbLevel(_arg0,_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define msgManager_outstandingMsgCount(_swigobj,_swigarg0)  (_swigobj->outstandingMsgCount(_swigarg0))
+static int _wrap_msgManager_outstandingMsgCount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    msgManager * _arg0;
+    int  _arg1 = (0x01)|(0x02);
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_outstandingMsgCount { msgManager * } ?vl? ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_outstandingMsgCount. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if (objc >2) {
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (int )msgManager_outstandingMsgCount(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define msgManager_outstandingMsgs(_swigobj,_swigarg0)  (_swigobj->outstandingMsgs(_swigarg0))
+static int _wrap_msgManager_outstandingMsgs(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    msgManager * _arg0;
+    int  _arg1 = (0x01)|(0x02);
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_outstandingMsgs { msgManager * } ?vl? ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_outstandingMsgs. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if (objc >2) {
+    if (Tcl_GetIntFromObj(interp,objv[2],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg1 = (int ) tempint;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = new string (msgManager_outstandingMsgs(_arg0,_arg1));
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define msgManager_getNextMessage(_swigobj)  (_swigobj->getNextMessage())
+static int _wrap_msgManager_getNextMessage(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    string * _result;
+    msgManager * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_getNextMessage { msgManager * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_getNextMessage. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = new string (msgManager_getNextMessage(_arg0));
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+	char ezTmp[1024];
+	strcpy(ezTmp, _result->c_str());
+	Tcl_SetStringObj(tcl_result, ezTmp, strlen(ezTmp));
+}
+    return TCL_OK;
+}
+#define msgManager_nullOutstandingMsgs(_swigobj)  (_swigobj->nullOutstandingMsgs())
+static int _wrap_msgManager_nullOutstandingMsgs(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    msgManager * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_nullOutstandingMsgs { msgManager * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_nullOutstandingMsgs. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      msgManager_nullOutstandingMsgs(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+static int  msgManager_setLogFile(msgManager *self,char * fileName) {
+    std::ofstream *pos = new ofstream(fileName);
+    if (pos)
+    {
+      self->setOutStream(pos);
+      return 0;
+    }
+    else
+      return 1;
+  }
+static int _wrap_msgManager_setLogFile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    msgManager * _arg0;
+    char * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int templength;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. msgManager_setLogFile { msgManager * } fileName ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_msgManager_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of msgManager_setLogFile. Expected _msgManager_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+    if ((_arg1 = Tcl_GetStringFromObj(objv[2], &templength)) == NULL) return TCL_ERROR;
+{
+  ibms_tcl_error = 0;
+      _result = (int )msgManager_setLogFile(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmsgManagerMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"msgManager methods : { dump cget configure getVerbLevel clrVerbLevel setVerbLevel outstandingMsgCount outstandingMsgs getNextMessage nullOutstandingMsgs setLogFile  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_msgManager_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getVerbLevel") == 0) {
+        cmd = _wrap_msgManager_getVerbLevel;
+    }    else if (strcmp(_str,"clrVerbLevel") == 0) {
+        cmd = _wrap_msgManager_clrVerbLevel;
+    }    else if (strcmp(_str,"setVerbLevel") == 0) {
+        cmd = _wrap_msgManager_setVerbLevel;
+    }    else if (strcmp(_str,"outstandingMsgCount") == 0) {
+        cmd = _wrap_msgManager_outstandingMsgCount;
+    }    else if (strcmp(_str,"outstandingMsgs") == 0) {
+        cmd = _wrap_msgManager_outstandingMsgs;
+    }    else if (strcmp(_str,"getNextMessage") == 0) {
+        cmd = _wrap_msgManager_getNextMessage;
+    }    else if (strcmp(_str,"nullOutstandingMsgs") == 0) {
+        cmd = _wrap_msgManager_nullOutstandingMsgs;
+    }    else if (strcmp(_str,"setLogFile") == 0) {
+        cmd = _wrap_msgManager_setLogFile;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_msgManager_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getVerbLevel clrVerbLevel setVerbLevel outstandingMsgCount outstandingMsgs getNextMessage nullOutstandingMsgs setLogFile }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmsgManagerCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    msgManager * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_msgManager_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_msgManager_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a msgManager object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmsgManagerMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBMgtSim_getFabric(_swigobj)  (_swigobj->getFabric())
+static int _wrap_IBMgtSim_getFabric(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBFabric * _result;
+    IBMgtSim * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMgtSim_getFabric { IBMgtSim * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_IBMgtSim_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of IBMgtSim_getFabric. Expected _IBMgtSim_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (IBFabric *)IBMgtSim_getFabric(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBFabric *");
+}
+    return TCL_OK;
+}
+#define IBMgtSim_getServer(_swigobj)  (_swigobj->getServer())
+static int _wrap_IBMgtSim_getServer(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBMSServer * _result;
+    IBMgtSim * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMgtSim_getServer { IBMgtSim * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_IBMgtSim_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of IBMgtSim_getServer. Expected _IBMgtSim_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (IBMSServer *)IBMgtSim_getServer(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_IBMSServer_p");
+    return TCL_OK;
+}
+#define IBMgtSim_getDispatcher(_swigobj)  (_swigobj->getDispatcher())
+static int _wrap_IBMgtSim_getDispatcher(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBMSDispatcher * _result;
+    IBMgtSim * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMgtSim_getDispatcher { IBMgtSim * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_IBMgtSim_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of IBMgtSim_getDispatcher. Expected _IBMgtSim_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (IBMSDispatcher *)IBMgtSim_getDispatcher(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_IBMSDispatcher_p");
+    return TCL_OK;
+}
+static int  IBMgtSim_init(IBMgtSim *self,string  topoFileName,int  serverPortNum,int  numWorkers) {
+    int res =
+      self->init(topoFileName, serverPortNum, numWorkers);
+    if (! res)
+      ibdm_fabrics.push_back(self->getFabric());
+    return res;
+  }
+static int _wrap_IBMgtSim_init(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMgtSim * _arg0;
+    string * _arg1;
+    int  _arg2;
+    int  _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    int tempint;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMgtSim_init { IBMgtSim * } topoFileName serverPortNum numWorkers ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_IBMgtSim_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of IBMgtSim_init. Expected _IBMgtSim_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  int len;
+  static string _arg1_tmp;
+  _arg1_tmp = string(Tcl_GetStringFromObj(objv[2],&len));
+  _arg1 = &_arg1_tmp;
+}
+    if (Tcl_GetIntFromObj(interp,objv[3],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg2 = (int ) tempint;
+    if (Tcl_GetIntFromObj(interp,objv[4],&tempint) == TCL_ERROR) return TCL_ERROR;
+    _arg3 = (int ) tempint;
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMgtSim_init(_arg0,*_arg1,_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBMgtSimMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBMgtSim methods : { dump cget configure getFabric getServer getDispatcher init  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBMgtSim_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getFabric") == 0) {
+        cmd = _wrap_IBMgtSim_getFabric;
+    }    else if (strcmp(_str,"getServer") == 0) {
+        cmd = _wrap_IBMgtSim_getServer;
+    }    else if (strcmp(_str,"getDispatcher") == 0) {
+        cmd = _wrap_IBMgtSim_getDispatcher;
+    }    else if (strcmp(_str,"init") == 0) {
+        cmd = _wrap_IBMgtSim_init;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBMgtSim_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getFabric getServer getDispatcher init }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBMgtSimCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBMgtSim * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBMgtSim_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBMgtSim_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBMgtSim object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBMgtSimMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define IBMSNode_getIBNode(_swigobj)  (_swigobj->getIBNode())
+static int _wrap_IBMSNode_getIBNode(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    IBNode * _result;
+    IBMSNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getIBNode { IBMSNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibms_tcl_error = 0;
+      _result = (IBNode *)IBMSNode_getIBNode(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  if (_result)
+	 ibdmGetObjTclNameByPtr(tcl_result, _result, "IBNode *");
+}
+    return TCL_OK;
+}
+#define IBMSNode_getLinkStatus(_swigobj,_swigarg0)  (_swigobj->getLinkStatus(_swigarg0))
+static int _wrap_IBMSNode_getLinkStatus(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getLinkStatus { IBMSNode * } outPortNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_getLinkStatus(_arg0,*_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_setPhyPortErrProfile(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setPhyPortErrProfile(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_setPhyPortErrProfile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    IBMSPortErrProfile * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    IBMSPortErrProfile  tmp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setPhyPortErrProfile { IBMSNode * } portNum errProfileIn ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  if (sscanf(Tcl_GetStringFromObj(objv[3],0),
+             "-drop-rate-avg %g -drop-rate-var %g",
+             &tmp.packetDropRate,
+             &tmp.packetDropRateVar) != 2)
+  {
+	 char err[256];
+	 sprintf(err, "-E- bad format for IBMSPortErrProfile:%s",
+            Tcl_GetStringFromObj(objv[3],0));
+    Tcl_SetStringObj(tcl_result, err, strlen(err));
+    return TCL_ERROR;
+  }
+
+  _arg2 = &tmp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setPhyPortErrProfile(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getPhyPortErrProfile(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getPhyPortErrProfile(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_getPhyPortErrProfile(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    IBMSPortErrProfile * _arg2;
+    IBMSPortErrProfile  temp;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+{
+  _arg2 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getPhyPortErrProfile { IBMSNode * } portNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_getPhyPortErrProfile(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+    /* argout */
+  char buff[128];
+  if (_arg2) {
+    sprintf(buff, "-drop-rate-avg %g -drop-rate-var %g",
+            _arg2->packetDropRate,
+            _arg2->packetDropRateVar);
+    Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  }
+}
+    return TCL_OK;
+}
+#define IBMSNode_setPhyPortPMCounter(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setPhyPortPMCounter(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setPhyPortPMCounter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint32_t * _arg2;
+    ib_pm_counters_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint32_t  temp0;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setPhyPortPMCounter { IBMSNode * } portNum counterSelect countersVal ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+    if ((rettype = SWIG_GetPointerObj(interp,objv[4],(void **) &_arg3,"_ib_pm_counters_t_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 4 of IBMSNode_setPhyPortPMCounter. Expected _ib_pm_counters_t_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setPhyPortPMCounter(_arg0,*_arg1,*_arg2,*_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getPhyPortPMCounter(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getPhyPortPMCounter(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_getPhyPortPMCounter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_pm_counters_t * _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint32_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint32_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getPhyPortPMCounter { IBMSNode * } portNum counterSelect ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_pm_counters_t *)IBMSNode_getPhyPortPMCounter(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_pm_counters_t_p");
+    return TCL_OK;
+}
+#define IBMSNode_getPortInfo(_swigobj,_swigarg0)  (_swigobj->getPortInfo(_swigarg0))
+static int _wrap_IBMSNode_getPortInfo(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_port_info_t * _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getPortInfo { IBMSNode * } portNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_port_info_t *)IBMSNode_getPortInfo(_arg0,*_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_port_info_t_p");
+    return TCL_OK;
+}
+#define IBMSNode_setLinkStatus(_swigobj,_swigarg0,_swigarg1)  (_swigobj->setLinkStatus(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_setLinkStatus(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setLinkStatus { IBMSNode * } portNum newState ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setLinkStatus(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getNodeInfo(_swigobj)  (_swigobj->getNodeInfo())
+static int _wrap_IBMSNode_getNodeInfo(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_node_info_t * _result;
+    IBMSNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getNodeInfo { IBMSNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_node_info_t *)IBMSNode_getNodeInfo(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_node_info_t_p");
+    return TCL_OK;
+}
+#define IBMSNode_getSwitchInfo(_swigobj)  (_swigobj->getSwitchInfo())
+static int _wrap_IBMSNode_getSwitchInfo(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_switch_info_t * _result;
+    IBMSNode * _arg0;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getSwitchInfo { IBMSNode * } ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_switch_info_t *)IBMSNode_getSwitchInfo(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_ib_switch_info_t_p");
+    return TCL_OK;
+}
+#define IBMSNode_getPKeyTblBlock(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getPKeyTblBlock(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_getPKeyTblBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_pkey_table_t * _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getPKeyTblBlock { IBMSNode * } portNum blockNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_pkey_table_t *)IBMSNode_getPKeyTblBlock(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  int i;
+  if (_result != NULL)
+  {
+    for (i = 0; i < 32; i++)
+    {
+      sprintf(buff, "0x%04x ", cl_ntoh16(_result->pkey_entry[i]));
+      Tcl_AppendToObj(tcl_result,buff,strlen(buff));
+    }
+  }
+  else
+  {
+    Tcl_SetStringObj(tcl_result, "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", 64);
+  }
+}
+    return TCL_OK;
+}
+#define IBMSNode_setPKeyTblBlock(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setPKeyTblBlock(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setPKeyTblBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint16_t * _arg2;
+    ib_pkey_table_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint16_t  temp0;
+    ib_pkey_table_t  tmp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setPKeyTblBlock { IBMSNode * } portNum blockNum tbl ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  char buf[256];
+  char *p_pkey;
+  char *str_token;
+  int i = 0;
+  memset(&tmp, 0, sizeof(ib_pkey_table_t));
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[4],NULL), 255);
+  buf[255] = '\0';
+  p_pkey = strtok_r(buf," ", &str_token);
+  while (p_pkey && (i < 32))
+  {
+    errno = 0;
+    tmp.pkey_entry[i++] = cl_hton16(strtoul(p_pkey, NULL, 0));
+    if (errno) {
+      printf("Wrong format for pkey:%s\n", p_pkey);
+      return TCL_ERROR;
+    }
+
+    p_pkey = strtok_r(NULL," ", &str_token);
+  }
+  _arg3 = &tmp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setPKeyTblBlock(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getVLArbLTable(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getVLArbLTable(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_getVLArbLTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_vl_arb_table_t * _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getVLArbLTable { IBMSNode * } portNum blockIndex ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_vl_arb_table_t *)IBMSNode_getVLArbLTable(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[256];
+  int i;
+  if (_result != NULL)
+  {
+    for (i = 0; i < 32; i++)
+    {
+      sprintf(buff, "{0x%02x 0x%02x} ", _result->vl_entry[i].vl, _result->vl_entry[i].weight);
+      Tcl_AppendToObj(tcl_result,buff,strlen(buff));
+    }
+  }
+  else
+  {
+    Tcl_SetStringObj(tcl_result, "{0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0}", -1);
+  }
+}
+    return TCL_OK;
+}
+#define IBMSNode_setVLArbLTable(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setVLArbLTable(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setVLArbLTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    ib_vl_arb_table_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint8_t  temp0;
+    ib_vl_arb_table_t  tmp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setVLArbLTable { IBMSNode * } portNum blockIndex tbl ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  int i;
+
+  int numEntries, numElements, code;
+  const char **subListStrings, **elements;
+
+  code = Tcl_SplitList(interp, Tcl_GetStringFromObj(objv[4],NULL),
+							  &numEntries, &subListStrings);
+  if (code != TCL_OK) {
+	 printf("Wrong format for vl_arb_table should be list of lists:%s\n",
+			  Tcl_GetStringFromObj(objv[4],NULL));
+	 return TCL_ERROR;
+  }
+
+  memset(&tmp, 0, sizeof(ib_vl_arb_table_t));
+  for (i = 0; i < numEntries; i++) {
+	 code = Tcl_SplitList(interp, subListStrings[i], &numElements, &elements);
+	 if (code != TCL_OK) {
+		printf("Wrong format for vl_arb_table sublist:%s\n", subListStrings[i]);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 if (numElements != 2) {
+		printf("Wrong format for vl_arb_table sublist:%s num elements:%d != 2\n",
+				 subListStrings[i], numElements);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 errno = 0;
+	 tmp.vl_entry[i].vl = strtoul(elements[0],NULL,0);
+	 if (errno) {
+		printf("Wrong format for vl_arb_table sublist %d vl:%s\n",
+				 i, elements[0]);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 tmp.vl_entry[i].weight =  strtoul(elements[1],NULL,0);
+	 if (errno) {
+		 printf("Wrong format for vl_arb_table sublist %d weight:%s\n",
+				  i, elements[1]);
+		Tcl_Free((char *) elements);
+		Tcl_Free((char *) subListStrings);
+		return TCL_ERROR;
+	 }
+	 Tcl_Free((char *) elements);
+  }
+  Tcl_Free((char *) subListStrings);
+
+  _arg3 = &tmp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setVLArbLTable(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getSL2VLTable(_swigobj,_swigarg0,_swigarg1)  (_swigobj->getSL2VLTable(_swigarg0,_swigarg1))
+static int _wrap_IBMSNode_getSL2VLTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_slvl_table_t * _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint8_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getSL2VLTable { IBMSNode * } inPortNum outPortNum ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_slvl_table_t *)IBMSNode_getSL2VLTable(_arg0,*_arg1,*_arg2);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[64];
+  int i;
+  int entry;
+  if (_result != NULL)
+  {
+    for (i = 0; i < 8; i++)
+	 {
+		 entry = _result->raw_vl_by_sl[i];
+		 sprintf(buff, "0x%02x 0x%02x ", ((entry & 0xf0) >> 4), (entry & 0xf));
+		 Tcl_AppendToObj(tcl_result,buff,strlen(buff));
+	 }
+  }
+  else
+  {
+    Tcl_SetStringObj(tcl_result, "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ", -1);
+  }
+}
+    return TCL_OK;
+}
+#define IBMSNode_setSL2VLTable(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setSL2VLTable(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setSL2VLTable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint8_t * _arg1;
+    uint8_t * _arg2;
+    ib_slvl_table_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint8_t  temp;
+    uint8_t  temp0;
+    ib_slvl_table_t  tmp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setSL2VLTable { IBMSNode * } inPortNum outPortNum tbl ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  int i;
+  int entry, value;
+  int numEntries, code;
+  const char **subListStrings;
+
+  code = Tcl_SplitList(interp, Tcl_GetStringFromObj(objv[4],NULL),
+							  &numEntries, &subListStrings);
+  if (code != TCL_OK) {
+	 printf("Wrong format for ib_slvl_table_t should be list:%s\n",
+			  Tcl_GetStringFromObj(objv[4],NULL));
+	 return TCL_ERROR;
+  }
+  if (numEntries > 16) {
+	 printf("Maximal number of SL2VL entries is 16:%s\n",
+			  Tcl_GetStringFromObj(objv[4],NULL));
+	 Tcl_Free((char *) subListStrings);
+	 return TCL_ERROR;
+  }
+  memset(&tmp, 0, sizeof(ib_slvl_table_t));
+  for (i = 0; i < numEntries; i++) {
+	  errno = 0;
+	  value = strtoul(subListStrings[i],NULL,0);
+	  if (errno) {
+		  printf("Wrong format for vl_arb_table sublist %d vl:%s\n",
+					i, subListStrings[i]);
+		  Tcl_Free((char *) subListStrings);
+		  return TCL_ERROR;
+	  }
+	  if (value > 15) {
+		  printf("Given VL at index %d is %d > 15\n", i, value);
+		  Tcl_Free((char *) subListStrings);
+		  return TCL_ERROR;
+	  }
+	  entry = tmp.raw_vl_by_sl[i/2];
+	  if (i % 2) {
+		  entry = (value & 0xf) | (entry & 0xf0) ;
+	  } else {
+		  entry = ((value & 0xf) << 4) | (entry & 0xf);
+	  }
+	  tmp.raw_vl_by_sl[i/2] = entry;
+  }
+  Tcl_Free((char *) subListStrings);
+
+  _arg3 = &tmp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setSL2VLTable(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_setCrSpace(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setCrSpace(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setCrSpace(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    uint32_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setCrSpace { IBMSNode * } startAddr length data ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setCrSpace(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getCrSpace(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->getCrSpace(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_getCrSpace(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint32_t * _arg1;
+    uint32_t * _arg2;
+    uint32_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint32_t  temp;
+    uint32_t  temp0;
+    uint32_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getCrSpace { IBMSNode * } startAddr length data ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_getCrSpace(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+#define IBMSNode_getMFTBlock(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->getMFTBlock(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_getMFTBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    ib_mft_table_t * _arg3;
+    ib_mft_table_t  temp;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp0;
+    uint8_t  temp1;
+
+    clientData = clientData; objv = objv;
+{
+  _arg3 = &temp;
+}
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 4) || (objc > 4)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_getMFTBlock { IBMSNode * } blockIdx portIdx ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp0;
+}
+{
+  temp1 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_getMFTBlock(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+{
+  /* Argout ib_mft_table_t */
+  char buff[36];
+  int i;
+  /* HACK if we did not have the result show an error ... */
+  if (!_result)
+  {
+    /* we need to cleanup the result 0 ... */
+    Tcl_ResetResult(interp);
+    for (i = 0; i < IB_MCAST_BLOCK_SIZE; i++)
+    {
+      sprintf(buff, "0x%04x ", cl_ntoh16(_arg3->mft_entry[i]));
+      Tcl_AppendToObj(tcl_result,buff,strlen(buff));
+    }
+  }
+}
+    return TCL_OK;
+}
+#define IBMSNode_setMFTBlock(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->setMFTBlock(_swigarg0,_swigarg1,_swigarg2))
+static int _wrap_IBMSNode_setMFTBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    IBMSNode * _arg0;
+    uint16_t * _arg1;
+    uint8_t * _arg2;
+    ib_mft_table_t * _arg3;
+    Tcl_Obj * tcl_result;
+    uint16_t  temp;
+    uint8_t  temp0;
+    ib_mft_table_t  tmp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. IBMSNode_setMFTBlock { IBMSNode * } blockIdx portIdx inMftBlock ",-1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[1], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[1]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg0 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[1],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp0;
+}
+{
+  char buf[256];
+  char *p_mftEntry;
+  char *str_token;
+  int i = 0;
+
+  strncpy(buf, Tcl_GetStringFromObj(objv[4],NULL), 255);
+  buf[255] = '\0';
+  p_mftEntry = strtok_r(buf," ", &str_token);
+  while (p_mftEntry && (i < IB_MCAST_BLOCK_SIZE))
+  {
+    errno = 0;
+    tmp.mft_entry[i++] = cl_hton16(strtoul(p_mftEntry, NULL, 0));
+    if (errno) {
+      printf("Wrong format for MFT Entry:%s\n", p_mftEntry);
+      return TCL_ERROR;
+    }
+
+    p_mftEntry = strtok_r(NULL," ", &str_token);
+  }
+  while (i < IB_MCAST_BLOCK_SIZE)
+  {
+    tmp.mft_entry[i++] = 0;
+  }
+  _arg3 = &tmp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )IBMSNode_setMFTBlock(_arg0,*_arg1,*_arg2,_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclIBMSNodeMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"IBMSNode methods : { dump cget configure getIBNode getLinkStatus setPhyPortErrProfile getPhyPortErrProfile setPhyPortPMCounter getPhyPortPMCounter getPortInfo setLinkStatus getNodeInfo getSwitchInfo getPKeyTblBlock setPKeyTblBlock getVLArbLTable setVLArbLTable getSL2VLTable setSL2VLTable setCrSpace getCrSpace getMFTBlock setMFTBlock  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_IBMSNode_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"getIBNode") == 0) {
+        cmd = _wrap_IBMSNode_getIBNode;
+    }    else if (strcmp(_str,"getLinkStatus") == 0) {
+        cmd = _wrap_IBMSNode_getLinkStatus;
+    }    else if (strcmp(_str,"setPhyPortErrProfile") == 0) {
+        cmd = _wrap_IBMSNode_setPhyPortErrProfile;
+    }    else if (strcmp(_str,"getPhyPortErrProfile") == 0) {
+        cmd = _wrap_IBMSNode_getPhyPortErrProfile;
+    }    else if (strcmp(_str,"setPhyPortPMCounter") == 0) {
+        cmd = _wrap_IBMSNode_setPhyPortPMCounter;
+    }    else if (strcmp(_str,"getPhyPortPMCounter") == 0) {
+        cmd = _wrap_IBMSNode_getPhyPortPMCounter;
+    }    else if (strcmp(_str,"getPortInfo") == 0) {
+        cmd = _wrap_IBMSNode_getPortInfo;
+    }    else if (strcmp(_str,"setLinkStatus") == 0) {
+        cmd = _wrap_IBMSNode_setLinkStatus;
+    }    else if (strcmp(_str,"getNodeInfo") == 0) {
+        cmd = _wrap_IBMSNode_getNodeInfo;
+    }    else if (strcmp(_str,"getSwitchInfo") == 0) {
+        cmd = _wrap_IBMSNode_getSwitchInfo;
+    }    else if (strcmp(_str,"getPKeyTblBlock") == 0) {
+        cmd = _wrap_IBMSNode_getPKeyTblBlock;
+    }    else if (strcmp(_str,"setPKeyTblBlock") == 0) {
+        cmd = _wrap_IBMSNode_setPKeyTblBlock;
+    }    else if (strcmp(_str,"getVLArbLTable") == 0) {
+        cmd = _wrap_IBMSNode_getVLArbLTable;
+    }    else if (strcmp(_str,"setVLArbLTable") == 0) {
+        cmd = _wrap_IBMSNode_setVLArbLTable;
+    }    else if (strcmp(_str,"getSL2VLTable") == 0) {
+        cmd = _wrap_IBMSNode_getSL2VLTable;
+    }    else if (strcmp(_str,"setSL2VLTable") == 0) {
+        cmd = _wrap_IBMSNode_setSL2VLTable;
+    }    else if (strcmp(_str,"setCrSpace") == 0) {
+        cmd = _wrap_IBMSNode_setCrSpace;
+    }    else if (strcmp(_str,"getCrSpace") == 0) {
+        cmd = _wrap_IBMSNode_getCrSpace;
+    }    else if (strcmp(_str,"getMFTBlock") == 0) {
+        cmd = _wrap_IBMSNode_getMFTBlock;
+    }    else if (strcmp(_str,"setMFTBlock") == 0) {
+        cmd = _wrap_IBMSNode_setMFTBlock;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be {  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_IBMSNode_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure getIBNode getLinkStatus setPhyPortErrProfile getPhyPortErrProfile setPhyPortPMCounter getPhyPortPMCounter getPortInfo setLinkStatus getNodeInfo getSwitchInfo getPKeyTblBlock setPKeyTblBlock getVLArbLTable setVLArbLTable getSL2VLTable setSL2VLTable setCrSpace getCrSpace getMFTBlock setMFTBlock }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclIBMSNodeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    IBMSNode * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = 0;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = 0;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = 0;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = 0;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_IBMSNode_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = 0;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_IBMSNode_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a IBMSNode object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclIBMSNodeMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madMcMemberRec() (new madMcMemberRec())
+static int _wrap_new_madMcMemberRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madMcMemberRec * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madMcMemberRec ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madMcMemberRec *)new_madMcMemberRec();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madMcMemberRec_p");
+    return TCL_OK;
+}
+#define delete_madMcMemberRec(_swigobj) (delete _swigobj)
+static int _wrap_delete_madMcMemberRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madMcMemberRec { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madMcMemberRec. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madMcMemberRec(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madMcMemberRec_mgid_set(_swigobj,_swigval) (_swigobj->mgid = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_mgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madMcMemberRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mgid_set { madMcMemberRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mgid_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madMcMemberRec_mgid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_mgid_get(_swigobj) (&_swigobj->mgid)
+static int _wrap_madMcMemberRec_mgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mgid_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mgid_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madMcMemberRec_mgid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_port_gid_set(_swigobj,_swigval) (_swigobj->port_gid = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_port_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madMcMemberRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_port_gid_set { madMcMemberRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_port_gid_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madMcMemberRec_port_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_port_gid_get(_swigobj) (&_swigobj->port_gid)
+static int _wrap_madMcMemberRec_port_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_port_gid_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_port_gid_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madMcMemberRec_port_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_qkey_set(_swigobj,_swigval) (_swigobj->qkey = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_qkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madMcMemberRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_qkey_set { madMcMemberRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_qkey_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madMcMemberRec_qkey_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_qkey_get(_swigobj) (&_swigobj->qkey)
+static int _wrap_madMcMemberRec_qkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_qkey_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_qkey_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madMcMemberRec_qkey_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_mlid_set(_swigobj,_swigval) (_swigobj->mlid = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_mlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madMcMemberRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mlid_set { madMcMemberRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mlid_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madMcMemberRec_mlid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_mlid_get(_swigobj) (&_swigobj->mlid)
+static int _wrap_madMcMemberRec_mlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mlid_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mlid_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madMcMemberRec_mlid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mtu_set { madMcMemberRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mtu_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_mtu_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_madMcMemberRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_mtu_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_mtu_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_mtu_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_tclass_set { madMcMemberRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_tclass_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_tclass_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_madMcMemberRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_tclass_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_tclass_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_tclass_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madMcMemberRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_pkey_set { madMcMemberRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_pkey_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madMcMemberRec_pkey_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_madMcMemberRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_pkey_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_pkey_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madMcMemberRec_pkey_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_rate_set { madMcMemberRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_rate_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_rate_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_madMcMemberRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_rate_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_rate_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_rate_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_pkt_life_set { madMcMemberRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_pkt_life_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_madMcMemberRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_pkt_life_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_pkt_life_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_pkt_life_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_sl_flow_hop_set(_swigobj,_swigval) (_swigobj->sl_flow_hop = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_sl_flow_hop_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madMcMemberRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_sl_flow_hop_set { madMcMemberRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_sl_flow_hop_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madMcMemberRec_sl_flow_hop_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_sl_flow_hop_get(_swigobj) (&_swigobj->sl_flow_hop)
+static int _wrap_madMcMemberRec_sl_flow_hop_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_sl_flow_hop_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_sl_flow_hop_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madMcMemberRec_sl_flow_hop_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_scope_state_set(_swigobj,_swigval) (_swigobj->scope_state = *(_swigval),_swigval)
+static int _wrap_madMcMemberRec_scope_state_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_scope_state_set { madMcMemberRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_scope_state_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_scope_state_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madMcMemberRec_scope_state_get(_swigobj) (&_swigobj->scope_state)
+static int _wrap_madMcMemberRec_scope_state_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madMcMemberRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_scope_state_get { madMcMemberRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_scope_state_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madMcMemberRec_scope_state_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  madMcMemberRec_send_set(madMcMemberRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+static int _wrap_madMcMemberRec_send_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madMcMemberRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_send_set { madMcMemberRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_send_set. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madMcMemberRec_send_set(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  madMcMemberRec_send_get(madMcMemberRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+static int _wrap_madMcMemberRec_send_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madMcMemberRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_send_get { madMcMemberRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_send_get. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madMcMemberRec_send_get(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  madMcMemberRec_send_del(madMcMemberRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_DELETE,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+static int _wrap_madMcMemberRec_send_del(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madMcMemberRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madMcMemberRec_send_del { madMcMemberRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madMcMemberRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madMcMemberRec_send_del. Expected _madMcMemberRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madMcMemberRec_send_del(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadMcMemberRec(ClientData clientData) {
+    delete_madMcMemberRec((madMcMemberRec *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadMcMemberRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madMcMemberRec methods : { dump cget configure send_set send_get send_del  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madMcMemberRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_set") == 0) {
+        cmd = _wrap_madMcMemberRec_send_set;
+    }    else if (strcmp(_str,"send_get") == 0) {
+        cmd = _wrap_madMcMemberRec_send_get;
+    }    else if (strcmp(_str,"send_del") == 0) {
+        cmd = _wrap_madMcMemberRec_send_del;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_madMcMemberRec_mgid_set;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_madMcMemberRec_port_gid_set;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_madMcMemberRec_qkey_set;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_madMcMemberRec_mlid_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_madMcMemberRec_mtu_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_madMcMemberRec_tclass_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_madMcMemberRec_pkey_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_madMcMemberRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_madMcMemberRec_pkt_life_set;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_madMcMemberRec_sl_flow_hop_set;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_madMcMemberRec_scope_state_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-mgid") == 0) {
+                    cmd = _wrap_madMcMemberRec_mgid_get;
+                }  else if (strcmp(_str,"-port_gid") == 0) {
+                    cmd = _wrap_madMcMemberRec_port_gid_get;
+                }  else if (strcmp(_str,"-qkey") == 0) {
+                    cmd = _wrap_madMcMemberRec_qkey_get;
+                }  else if (strcmp(_str,"-mlid") == 0) {
+                    cmd = _wrap_madMcMemberRec_mlid_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_madMcMemberRec_mtu_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_madMcMemberRec_tclass_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_madMcMemberRec_pkey_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_madMcMemberRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_madMcMemberRec_pkt_life_get;
+                }  else if (strcmp(_str,"-sl_flow_hop") == 0) {
+                    cmd = _wrap_madMcMemberRec_sl_flow_hop_get;
+                }  else if (strcmp(_str,"-scope_state") == 0) {
+                    cmd = _wrap_madMcMemberRec_scope_state_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madMcMemberRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -mgid -port_gid -qkey -mlid -mtu -tclass -pkey -rate -pkt_life -sl_flow_hop -scope_state  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madMcMemberRec_mgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_port_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_qkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_mlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_sl_flow_hop_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sl_flow_hop ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madMcMemberRec_scope_state_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-scope_state ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_set send_get send_del }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadMcMemberRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madMcMemberRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madMcMemberRec;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madMcMemberRec;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madMcMemberRec;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madMcMemberRec;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madMcMemberRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadMcMemberRec;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madMcMemberRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madMcMemberRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadMcMemberRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madPathRec() (new madPathRec())
+static int _wrap_new_madPathRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madPathRec * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madPathRec ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madPathRec *)new_madPathRec();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madPathRec_p");
+    return TCL_OK;
+}
+#define delete_madPathRec(_swigobj) (delete _swigobj)
+static int _wrap_delete_madPathRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madPathRec { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madPathRec. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madPathRec(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madPathRec_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_madPathRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    madPathRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_service_id_set { madPathRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_service_id_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)madPathRec_service_id_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_madPathRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_service_id_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_service_id_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)madPathRec_service_id_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_dgid_set(_swigobj,_swigval) (_swigobj->dgid = *(_swigval),_swigval)
+static int _wrap_madPathRec_dgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_dgid_set { madPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_dgid_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madPathRec_dgid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_dgid_get(_swigobj) (&_swigobj->dgid)
+static int _wrap_madPathRec_dgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_dgid_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_dgid_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madPathRec_dgid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_sgid_set(_swigobj,_swigval) (_swigobj->sgid = *(_swigval),_swigval)
+static int _wrap_madPathRec_sgid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madPathRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_sgid_set { madPathRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_sgid_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madPathRec_sgid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_sgid_get(_swigobj) (&_swigobj->sgid)
+static int _wrap_madPathRec_sgid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_sgid_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_sgid_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madPathRec_sgid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_dlid_set(_swigobj,_swigval) (_swigobj->dlid = *(_swigval),_swigval)
+static int _wrap_madPathRec_dlid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_dlid_set { madPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_dlid_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_dlid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_dlid_get(_swigobj) (&_swigobj->dlid)
+static int _wrap_madPathRec_dlid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_dlid_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_dlid_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_dlid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_slid_set(_swigobj,_swigval) (_swigobj->slid = *(_swigval),_swigval)
+static int _wrap_madPathRec_slid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_slid_set { madPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_slid_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_slid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_slid_get(_swigobj) (&_swigobj->slid)
+static int _wrap_madPathRec_slid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_slid_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_slid_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_slid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_hop_flow_raw_set(_swigobj,_swigval) (_swigobj->hop_flow_raw = *(_swigval),_swigval)
+static int _wrap_madPathRec_hop_flow_raw_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madPathRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_hop_flow_raw_set { madPathRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_hop_flow_raw_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madPathRec_hop_flow_raw_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_hop_flow_raw_get(_swigobj) (&_swigobj->hop_flow_raw)
+static int _wrap_madPathRec_hop_flow_raw_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_hop_flow_raw_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_hop_flow_raw_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madPathRec_hop_flow_raw_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_tclass_set(_swigobj,_swigval) (_swigobj->tclass = *(_swigval),_swigval)
+static int _wrap_madPathRec_tclass_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_tclass_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_tclass_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_tclass_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_tclass_get(_swigobj) (&_swigobj->tclass)
+static int _wrap_madPathRec_tclass_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_tclass_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_tclass_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_tclass_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_num_path_set(_swigobj,_swigval) (_swigobj->num_path = *(_swigval),_swigval)
+static int _wrap_madPathRec_num_path_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_num_path_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_num_path_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_num_path_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_num_path_get(_swigobj) (&_swigobj->num_path)
+static int _wrap_madPathRec_num_path_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_num_path_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_num_path_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_num_path_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_pkey_set(_swigobj,_swigval) (_swigobj->pkey = *(_swigval),_swigval)
+static int _wrap_madPathRec_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_pkey_set { madPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_pkey_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_pkey_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_pkey_get(_swigobj) (&_swigobj->pkey)
+static int _wrap_madPathRec_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_pkey_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_pkey_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_pkey_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_qos_class_sl_set(_swigobj,_swigval) (_swigobj->qos_class_sl = *(_swigval),_swigval)
+static int _wrap_madPathRec_qos_class_sl_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_qos_class_sl_set { madPathRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_qos_class_sl_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_qos_class_sl_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_qos_class_sl_get(_swigobj) (&_swigobj->qos_class_sl)
+static int _wrap_madPathRec_qos_class_sl_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_qos_class_sl_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_qos_class_sl_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madPathRec_qos_class_sl_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_mtu_set(_swigobj,_swigval) (_swigobj->mtu = *(_swigval),_swigval)
+static int _wrap_madPathRec_mtu_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_mtu_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_mtu_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_mtu_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_mtu_get(_swigobj) (&_swigobj->mtu)
+static int _wrap_madPathRec_mtu_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_mtu_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_mtu_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_mtu_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_rate_set(_swigobj,_swigval) (_swigobj->rate = *(_swigval),_swigval)
+static int _wrap_madPathRec_rate_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_rate_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_rate_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_rate_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_rate_get(_swigobj) (&_swigobj->rate)
+static int _wrap_madPathRec_rate_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_rate_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_rate_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_rate_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_pkt_life_set(_swigobj,_swigval) (_swigobj->pkt_life = *(_swigval),_swigval)
+static int _wrap_madPathRec_pkt_life_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_pkt_life_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_pkt_life_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_pkt_life_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_pkt_life_get(_swigobj) (&_swigobj->pkt_life)
+static int _wrap_madPathRec_pkt_life_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_pkt_life_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_pkt_life_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_pkt_life_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_preference_set(_swigobj,_swigval) (_swigobj->preference = *(_swigval),_swigval)
+static int _wrap_madPathRec_preference_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_preference_set { madPathRec * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_preference_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_preference_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madPathRec_preference_get(_swigobj) (&_swigobj->preference)
+static int _wrap_madPathRec_preference_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_preference_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_preference_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madPathRec_preference_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * madPathRec_resv2_set(madPathRec *obj, uint8_array_t val[6]) {
+{
+	int i;
+	for (i=0; i <6 ; i++) {
+		obj->resv2[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_madPathRec_resv2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madPathRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[6];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_resv2_set { madPathRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_resv2_set. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 6))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 6; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madPathRec_resv2_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madPathRec_resv2_get(_swigobj) ((uint8_array_t *) _swigobj->resv2)
+static int _wrap_madPathRec_resv2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madPathRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_resv2_get { madPathRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_resv2_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madPathRec_resv2_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <6 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  madPathRec_send_get(madPathRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_PATH_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madPathRec)
+                )
+              );
+    }
+static int _wrap_madPathRec_send_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madPathRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madPathRec_send_get { madPathRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madPathRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madPathRec_send_get. Expected _madPathRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madPathRec_send_get(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadPathRec(ClientData clientData) {
+    delete_madPathRec((madPathRec *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadPathRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madPathRec methods : { dump cget configure send_get  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madPathRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_get") == 0) {
+        cmd = _wrap_madPathRec_send_get;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_madPathRec_service_id_set;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_madPathRec_dgid_set;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_madPathRec_sgid_set;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_madPathRec_dlid_set;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_madPathRec_slid_set;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_madPathRec_hop_flow_raw_set;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_madPathRec_tclass_set;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_madPathRec_num_path_set;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_madPathRec_pkey_set;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_madPathRec_qos_class_sl_set;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_madPathRec_mtu_set;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_madPathRec_rate_set;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_madPathRec_pkt_life_set;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_madPathRec_preference_set;
+                }  else if (strcmp(_str,"-resv2") == 0) {
+                    cmd = _wrap_madPathRec_resv2_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference -resv2  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference -resv2  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_madPathRec_service_id_get;
+                }  else if (strcmp(_str,"-dgid") == 0) {
+                    cmd = _wrap_madPathRec_dgid_get;
+                }  else if (strcmp(_str,"-sgid") == 0) {
+                    cmd = _wrap_madPathRec_sgid_get;
+                }  else if (strcmp(_str,"-dlid") == 0) {
+                    cmd = _wrap_madPathRec_dlid_get;
+                }  else if (strcmp(_str,"-slid") == 0) {
+                    cmd = _wrap_madPathRec_slid_get;
+                }  else if (strcmp(_str,"-hop_flow_raw") == 0) {
+                    cmd = _wrap_madPathRec_hop_flow_raw_get;
+                }  else if (strcmp(_str,"-tclass") == 0) {
+                    cmd = _wrap_madPathRec_tclass_get;
+                }  else if (strcmp(_str,"-num_path") == 0) {
+                    cmd = _wrap_madPathRec_num_path_get;
+                }  else if (strcmp(_str,"-pkey") == 0) {
+                    cmd = _wrap_madPathRec_pkey_get;
+                }  else if (strcmp(_str,"-qos_class_sl") == 0) {
+                    cmd = _wrap_madPathRec_qos_class_sl_get;
+                }  else if (strcmp(_str,"-mtu") == 0) {
+                    cmd = _wrap_madPathRec_mtu_get;
+                }  else if (strcmp(_str,"-rate") == 0) {
+                    cmd = _wrap_madPathRec_rate_get;
+                }  else if (strcmp(_str,"-pkt_life") == 0) {
+                    cmd = _wrap_madPathRec_pkt_life_get;
+                }  else if (strcmp(_str,"-preference") == 0) {
+                    cmd = _wrap_madPathRec_preference_get;
+                }  else if (strcmp(_str,"-resv2") == 0) {
+                    cmd = _wrap_madPathRec_resv2_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madPathRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference -resv2  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -dgid -sgid -dlid -slid -hop_flow_raw -tclass -num_path -pkey -qos_class_sl -mtu -rate -pkt_life -preference -resv2  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madPathRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_dgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_sgid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sgid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_dlid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-dlid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_slid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-slid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_hop_flow_raw_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-hop_flow_raw ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_tclass_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-tclass ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_num_path_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-num_path ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_qos_class_sl_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qos_class_sl ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_mtu_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-mtu ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_rate_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-rate ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_pkt_life_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pkt_life ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_preference_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-preference ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madPathRec_resv2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_get }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadPathRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madPathRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madPathRec;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madPathRec;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madPathRec;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madPathRec;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madPathRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadPathRec;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madPathRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madPathRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadPathRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madServiceRec() (new madServiceRec())
+static int _wrap_new_madServiceRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madServiceRec * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madServiceRec ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madServiceRec *)new_madServiceRec();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madServiceRec_p");
+    return TCL_OK;
+}
+#define delete_madServiceRec(_swigobj) (delete _swigobj)
+static int _wrap_delete_madServiceRec(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madServiceRec { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madServiceRec. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madServiceRec(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madServiceRec_service_id_set(_swigobj,_swigval) (_swigobj->service_id = *(_swigval),_swigval)
+static int _wrap_madServiceRec_service_id_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    madServiceRec * _arg0;
+    ib_net64_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_id_set { madServiceRec * } { ib_net64_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_id_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj(objv[2],NULL), NULL, 16));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)madServiceRec_service_id_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_id_get(_swigobj) (&_swigobj->service_id)
+static int _wrap_madServiceRec_service_id_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net64_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_id_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_id_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net64_t *)madServiceRec_service_id_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_gid_set(_swigobj,_swigval) (_swigobj->service_gid = *(_swigval),_swigval)
+static int _wrap_madServiceRec_service_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madServiceRec * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_gid_set { madServiceRec * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_gid_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madServiceRec_service_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_gid_get(_swigobj) (&_swigobj->service_gid)
+static int _wrap_madServiceRec_service_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_gid_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_gid_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madServiceRec_service_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_pkey_set(_swigobj,_swigval) (_swigobj->service_pkey = *(_swigval),_swigval)
+static int _wrap_madServiceRec_service_pkey_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_pkey_set { madServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_pkey_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madServiceRec_service_pkey_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_pkey_get(_swigobj) (&_swigobj->service_pkey)
+static int _wrap_madServiceRec_service_pkey_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_pkey_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_pkey_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madServiceRec_service_pkey_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_resv_set(_swigobj,_swigval) (_swigobj->resv = *(_swigval),_swigval)
+static int _wrap_madServiceRec_resv_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madServiceRec * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_resv_set { madServiceRec * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_resv_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madServiceRec_resv_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_resv_get(_swigobj) (&_swigobj->resv)
+static int _wrap_madServiceRec_resv_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_resv_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_resv_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madServiceRec_resv_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_lease_set(_swigobj,_swigval) (_swigobj->service_lease = *(_swigval),_swigval)
+static int _wrap_madServiceRec_service_lease_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madServiceRec * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_lease_set { madServiceRec * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_lease_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madServiceRec_service_lease_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_lease_get(_swigobj) (&_swigobj->service_lease)
+static int _wrap_madServiceRec_service_lease_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_lease_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_lease_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madServiceRec_service_lease_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static uint8_array_t * madServiceRec_service_key_set(madServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_key[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_madServiceRec_service_key_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_key_set { madServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_key_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_key_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_key_get(_swigobj) ((uint8_array_t *) _swigobj->service_key)
+static int _wrap_madServiceRec_service_key_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_key_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_key_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_key_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint8_array_t * madServiceRec_service_name_set(madServiceRec *obj, uint8_array_t val[64]) {
+{
+	int i;
+	for (i=0; i <64 ; i++) {
+		obj->service_name[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_madServiceRec_service_name_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[64];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_name_set { madServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_name_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 64))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 64; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_name_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_name_get(_swigobj) ((uint8_array_t *) _swigobj->service_name)
+static int _wrap_madServiceRec_service_name_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_name_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_name_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_name_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <64 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint8_array_t * madServiceRec_service_data8_set(madServiceRec *obj, uint8_array_t val[16]) {
+{
+	int i;
+	for (i=0; i <16 ; i++) {
+		obj->service_data8[i] = *(val+i);
+	}
+}
+    return (uint8_array_t *) val;
+}
+static int _wrap_madServiceRec_service_data8_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    uint8_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  entrys[16];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data8_set { madServiceRec * } { uint8_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data8_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 16))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 16; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_data8_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_data8_get(_swigobj) ((uint8_array_t *) _swigobj->service_data8)
+static int _wrap_madServiceRec_service_data8_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data8_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data8_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_array_t *)madServiceRec_service_data8_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <16 ; i++) {
+    sprintf(buff, "0x%02x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint16_array_t * madServiceRec_service_data16_set(madServiceRec *obj, uint16_array_t val[8]) {
+{
+	int i;
+	for (i=0; i <8 ; i++) {
+		obj->service_data16[i] = *(val+i);
+	}
+}
+    return (uint16_array_t *) val;
+}
+static int _wrap_madServiceRec_service_data16_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_array_t * _result;
+    madServiceRec * _arg0;
+    uint16_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint16_t  entrys[8];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data16_set { madServiceRec * } { uint16_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data16_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 8))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 8; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint16_array_t *)madServiceRec_service_data16_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_data16_get(_swigobj) ((uint16_array_t *) _swigobj->service_data16)
+static int _wrap_madServiceRec_service_data16_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint16_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data16_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data16_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint16_array_t *)madServiceRec_service_data16_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[8];
+  for (i=0; i <8 ; i++) {
+    sprintf(buff, "0x%04x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint32_array_t * madServiceRec_service_data32_set(madServiceRec *obj, uint32_array_t val[4]) {
+{
+	int i;
+	for (i=0; i <4 ; i++) {
+		obj->service_data32[i] = *(val+i);
+	}
+}
+    return (uint32_array_t *) val;
+}
+static int _wrap_madServiceRec_service_data32_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    madServiceRec * _arg0;
+    uint32_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint32_t  entrys[4];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data32_set { madServiceRec * } { uint32_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data32_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 4))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > (long int)0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 4; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)madServiceRec_service_data32_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_data32_get(_swigobj) ((uint32_array_t *) _swigobj->service_data32)
+static int _wrap_madServiceRec_service_data32_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint32_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data32_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data32_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint32_array_t *)madServiceRec_service_data32_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[12];
+  for (i=0; i <4 ; i++) {
+    sprintf(buff, "0x%08x ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static uint64_array_t * madServiceRec_service_data64_set(madServiceRec *obj, uint64_array_t val[2]) {
+{
+	int i;
+	for (i=0; i <2 ; i++) {
+		obj->service_data64[i] = *(val+i);
+	}
+}
+    return (uint64_array_t *) val;
+}
+static int _wrap_madServiceRec_service_data64_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_array_t * _result;
+    madServiceRec * _arg0;
+    uint64_array_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint64_t  entrys[2];
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data64_set { madServiceRec * } { uint64_array_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data64_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj(objv[2],NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj(objv[2],NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < 2))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected uint64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < 2; i++) entrys[i] = 0;
+
+  free(buff);
+  _arg1 = entrys;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint64_array_t *)madServiceRec_service_data64_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+#define madServiceRec_service_data64_get(_swigobj) ((uint64_array_t *) _swigobj->service_data64)
+static int _wrap_madServiceRec_service_data64_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint64_array_t * _result;
+    madServiceRec * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_service_data64_get { madServiceRec * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_service_data64_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint64_array_t *)madServiceRec_service_data64_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  int i;
+  char buff[20];
+  for (i=0; i <2 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", *(_result+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+    return TCL_OK;
+}
+static int  madServiceRec_send_set(madServiceRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+static int _wrap_madServiceRec_send_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madServiceRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_send_set { madServiceRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_send_set. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madServiceRec_send_set(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  madServiceRec_send_get(madServiceRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+static int _wrap_madServiceRec_send_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madServiceRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_send_get { madServiceRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_send_get. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madServiceRec_send_get(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+static int  madServiceRec_send_del(madServiceRec *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_DELETE,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+static int _wrap_madServiceRec_send_del(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madServiceRec * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madServiceRec_send_del { madServiceRec * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madServiceRec_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madServiceRec_send_del. Expected _madServiceRec_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madServiceRec_send_del(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadServiceRec(ClientData clientData) {
+    delete_madServiceRec((madServiceRec *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadServiceRecMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madServiceRec methods : { dump cget configure send_set send_get send_del  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madServiceRec_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_set") == 0) {
+        cmd = _wrap_madServiceRec_send_set;
+    }    else if (strcmp(_str,"send_get") == 0) {
+        cmd = _wrap_madServiceRec_send_get;
+    }    else if (strcmp(_str,"send_del") == 0) {
+        cmd = _wrap_madServiceRec_send_del;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_madServiceRec_service_id_set;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_madServiceRec_service_gid_set;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_madServiceRec_service_pkey_set;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_madServiceRec_resv_set;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_madServiceRec_service_lease_set;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_madServiceRec_service_key_set;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_madServiceRec_service_name_set;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_madServiceRec_service_data8_set;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_madServiceRec_service_data16_set;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_madServiceRec_service_data32_set;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_madServiceRec_service_data64_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-service_id") == 0) {
+                    cmd = _wrap_madServiceRec_service_id_get;
+                }  else if (strcmp(_str,"-service_gid") == 0) {
+                    cmd = _wrap_madServiceRec_service_gid_get;
+                }  else if (strcmp(_str,"-service_pkey") == 0) {
+                    cmd = _wrap_madServiceRec_service_pkey_get;
+                }  else if (strcmp(_str,"-resv") == 0) {
+                    cmd = _wrap_madServiceRec_resv_get;
+                }  else if (strcmp(_str,"-service_lease") == 0) {
+                    cmd = _wrap_madServiceRec_service_lease_get;
+                }  else if (strcmp(_str,"-service_key") == 0) {
+                    cmd = _wrap_madServiceRec_service_key_get;
+                }  else if (strcmp(_str,"-service_name") == 0) {
+                    cmd = _wrap_madServiceRec_service_name_get;
+                }  else if (strcmp(_str,"-service_data8") == 0) {
+                    cmd = _wrap_madServiceRec_service_data8_get;
+                }  else if (strcmp(_str,"-service_data16") == 0) {
+                    cmd = _wrap_madServiceRec_service_data16_get;
+                }  else if (strcmp(_str,"-service_data32") == 0) {
+                    cmd = _wrap_madServiceRec_service_data32_get;
+                }  else if (strcmp(_str,"-service_data64") == 0) {
+                    cmd = _wrap_madServiceRec_service_data64_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madServiceRec_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -service_id -service_gid -service_pkey -resv -service_lease -service_key -service_name -service_data8 -service_data16 -service_data32 -service_data64  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madServiceRec_service_id_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_id ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_pkey_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_pkey ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_resv_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-resv ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_lease_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_lease ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_key_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_key ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_name_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_name ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_data8_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data8 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_data16_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data16 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_data32_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data32 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madServiceRec_service_data64_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-service_data64 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_set send_get send_del }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadServiceRecCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madServiceRec * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madServiceRec;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madServiceRec;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madServiceRec;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madServiceRec;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madServiceRec_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadServiceRec;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madServiceRec_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madServiceRec object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadServiceRecMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madNotice128() (new madNotice128())
+static int _wrap_new_madNotice128(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice128 * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madNotice128 ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madNotice128 *)new_madNotice128();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madNotice128_p");
+    return TCL_OK;
+}
+#define delete_madNotice128(_swigobj) (delete _swigobj)
+static int _wrap_delete_madNotice128(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madNotice128 { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madNotice128. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madNotice128(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madNotice128_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_madNotice128_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice128 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_generic_type_set { madNotice128 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_generic_type_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice128_generic_type_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_madNotice128_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_generic_type_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_generic_type_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice128_generic_type_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_prod_type_msb_set(_swigobj,_swigval) (_swigobj->prod_type_msb = *(_swigval),_swigval)
+static int _wrap_madNotice128_prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice128 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_prod_type_msb_set { madNotice128 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_prod_type_msb_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice128_prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_prod_type_msb_get(_swigobj) (&_swigobj->prod_type_msb)
+static int _wrap_madNotice128_prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_prod_type_msb_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_prod_type_msb_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice128_prod_type_msb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_prod_type_lsb_set(_swigobj,_swigval) (_swigobj->prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_madNotice128_prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_prod_type_lsb_set { madNotice128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_prod_type_lsb_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_prod_type_lsb_get(_swigobj) (&_swigobj->prod_type_lsb)
+static int _wrap_madNotice128_prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_prod_type_lsb_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_prod_type_lsb_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_prod_type_lsb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_madNotice128_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_trap_num_set { madNotice128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_trap_num_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_trap_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_madNotice128_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_trap_num_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_trap_num_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_trap_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_madNotice128_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_issuer_lid_set { madNotice128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_issuer_lid_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_madNotice128_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_issuer_lid_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_issuer_lid_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_issuer_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_madNotice128_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_toggle_count_set { madNotice128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_toggle_count_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_toggle_count_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_madNotice128_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_toggle_count_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_toggle_count_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_toggle_count_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_sw_lid_set(_swigobj,_swigval) (_swigobj->sw_lid = *(_swigval),_swigval)
+static int _wrap_madNotice128_sw_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_sw_lid_set { madNotice128 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_sw_lid_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_sw_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_sw_lid_get(_swigobj) (&_swigobj->sw_lid)
+static int _wrap_madNotice128_sw_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_sw_lid_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_sw_lid_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice128_sw_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_madNotice128_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice128 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_issuer_gid_set { madNotice128 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_issuer_gid_set. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice128_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice128_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_madNotice128_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice128 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_issuer_gid_get { madNotice128 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_issuer_gid_get. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice128_issuer_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  madNotice128_send_trap(madNotice128 *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid) {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice128)
+                )
+              );
+    }
+static int _wrap_madNotice128_send_trap(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madNotice128 * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice128_send_trap { madNotice128 * } pFromNode fromPort destLid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice128_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice128_send_trap. Expected _madNotice128_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madNotice128_send_trap(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadNotice128(ClientData clientData) {
+    delete_madNotice128((madNotice128 *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadNotice128MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madNotice128 methods : { dump cget configure send_trap  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madNotice128_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_trap") == 0) {
+        cmd = _wrap_madNotice128_send_trap;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice128_generic_type_set;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice128_prod_type_msb_set;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice128_prod_type_lsb_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice128_trap_num_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice128_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice128_toggle_count_set;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_madNotice128_sw_lid_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice128_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -sw_lid -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -sw_lid -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice128_generic_type_get;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice128_prod_type_msb_get;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice128_prod_type_lsb_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice128_trap_num_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice128_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice128_toggle_count_get;
+                }  else if (strcmp(_str,"-sw_lid") == 0) {
+                    cmd = _wrap_madNotice128_sw_lid_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice128_issuer_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madNotice128_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -sw_lid -issuer_gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -sw_lid -issuer_gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madNotice128_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_sw_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-sw_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice128_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_trap }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadNotice128Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madNotice128 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madNotice128;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madNotice128;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madNotice128;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madNotice128;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madNotice128_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadNotice128;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madNotice128_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madNotice128 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadNotice128MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madNotice129() (new madNotice129())
+static int _wrap_new_madNotice129(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice129 * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madNotice129 ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madNotice129 *)new_madNotice129();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madNotice129_p");
+    return TCL_OK;
+}
+#define delete_madNotice129(_swigobj) (delete _swigobj)
+static int _wrap_delete_madNotice129(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madNotice129 { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madNotice129. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madNotice129(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madNotice129_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_madNotice129_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_generic_type_set { madNotice129 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_generic_type_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_generic_type_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_madNotice129_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_generic_type_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_generic_type_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_generic_type_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_prod_type_msb_set(_swigobj,_swigval) (_swigobj->prod_type_msb = *(_swigval),_swigval)
+static int _wrap_madNotice129_prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_prod_type_msb_set { madNotice129 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_prod_type_msb_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_prod_type_msb_get(_swigobj) (&_swigobj->prod_type_msb)
+static int _wrap_madNotice129_prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_prod_type_msb_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_prod_type_msb_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_prod_type_msb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_prod_type_lsb_set(_swigobj,_swigval) (_swigobj->prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_madNotice129_prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_prod_type_lsb_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_prod_type_lsb_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_prod_type_lsb_get(_swigobj) (&_swigobj->prod_type_lsb)
+static int _wrap_madNotice129_prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_prod_type_lsb_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_prod_type_lsb_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_prod_type_lsb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_madNotice129_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_trap_num_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_trap_num_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_trap_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_madNotice129_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_trap_num_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_trap_num_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_trap_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_madNotice129_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_issuer_lid_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_issuer_lid_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_madNotice129_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_issuer_lid_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_issuer_lid_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_issuer_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_madNotice129_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_toggle_count_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_toggle_count_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_toggle_count_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_madNotice129_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_toggle_count_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_toggle_count_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_toggle_count_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_pad_set(_swigobj,_swigval) (_swigobj->pad = *(_swigval),_swigval)
+static int _wrap_madNotice129_pad_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_pad_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_pad_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_pad_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_pad_get(_swigobj) (&_swigobj->pad)
+static int _wrap_madNotice129_pad_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_pad_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_pad_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_pad_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_madNotice129_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_lid_set { madNotice129 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_lid_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_madNotice129_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_lid_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_lid_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice129_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_port_num_set(_swigobj,_swigval) (_swigobj->port_num = *(_swigval),_swigval)
+static int _wrap_madNotice129_port_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_port_num_set { madNotice129 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_port_num_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_port_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_port_num_get(_swigobj) (&_swigobj->port_num)
+static int _wrap_madNotice129_port_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_port_num_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_port_num_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice129_port_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_madNotice129_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice129 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_issuer_gid_set { madNotice129 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_issuer_gid_set. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice129_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice129_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_madNotice129_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice129 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_issuer_gid_get { madNotice129 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_issuer_gid_get. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice129_issuer_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  madNotice129_send_trap(madNotice129 *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid) {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice129)
+                )
+              );
+    }
+static int _wrap_madNotice129_send_trap(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madNotice129 * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice129_send_trap { madNotice129 * } pFromNode fromPort destLid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice129_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice129_send_trap. Expected _madNotice129_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madNotice129_send_trap(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadNotice129(ClientData clientData) {
+    delete_madNotice129((madNotice129 *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadNotice129MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madNotice129 methods : { dump cget configure send_trap  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madNotice129_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_trap") == 0) {
+        cmd = _wrap_madNotice129_send_trap;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice129_generic_type_set;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice129_prod_type_msb_set;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice129_prod_type_lsb_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice129_trap_num_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice129_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice129_toggle_count_set;
+                }  else if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_madNotice129_pad_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_madNotice129_lid_set;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_madNotice129_port_num_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice129_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad -lid -port_num -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad -lid -port_num -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice129_generic_type_get;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice129_prod_type_msb_get;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice129_prod_type_lsb_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice129_trap_num_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice129_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice129_toggle_count_get;
+                }  else if (strcmp(_str,"-pad") == 0) {
+                    cmd = _wrap_madNotice129_pad_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_madNotice129_lid_get;
+                }  else if (strcmp(_str,"-port_num") == 0) {
+                    cmd = _wrap_madNotice129_port_num_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice129_issuer_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madNotice129_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad -lid -port_num -issuer_gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad -lid -port_num -issuer_gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madNotice129_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_pad_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_port_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-port_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice129_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_trap }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadNotice129Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madNotice129 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madNotice129;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madNotice129;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madNotice129;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madNotice129;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madNotice129_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadNotice129;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madNotice129_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madNotice129 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadNotice129MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madNotice144() (new madNotice144())
+static int _wrap_new_madNotice144(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice144 * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madNotice144 ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madNotice144 *)new_madNotice144();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madNotice144_p");
+    return TCL_OK;
+}
+#define delete_madNotice144(_swigobj) (delete _swigobj)
+static int _wrap_delete_madNotice144(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madNotice144 { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madNotice144. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madNotice144(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madNotice144_generic_type_set(_swigobj,_swigval) (_swigobj->generic_type = *(_swigval),_swigval)
+static int _wrap_madNotice144_generic_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice144 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_generic_type_set { madNotice144 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_generic_type_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice144_generic_type_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_generic_type_get(_swigobj) (&_swigobj->generic_type)
+static int _wrap_madNotice144_generic_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_generic_type_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_generic_type_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice144_generic_type_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_prod_type_msb_set(_swigobj,_swigval) (_swigobj->prod_type_msb = *(_swigval),_swigval)
+static int _wrap_madNotice144_prod_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice144 * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_prod_type_msb_set { madNotice144 * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_prod_type_msb_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice144_prod_type_msb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_prod_type_msb_get(_swigobj) (&_swigobj->prod_type_msb)
+static int _wrap_madNotice144_prod_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_prod_type_msb_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_prod_type_msb_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madNotice144_prod_type_msb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_prod_type_lsb_set(_swigobj,_swigval) (_swigobj->prod_type_lsb = *(_swigval),_swigval)
+static int _wrap_madNotice144_prod_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_prod_type_lsb_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_prod_type_lsb_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_prod_type_lsb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_prod_type_lsb_get(_swigobj) (&_swigobj->prod_type_lsb)
+static int _wrap_madNotice144_prod_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_prod_type_lsb_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_prod_type_lsb_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_prod_type_lsb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_madNotice144_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_trap_num_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_trap_num_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_trap_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_madNotice144_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_trap_num_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_trap_num_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_trap_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_issuer_lid_set(_swigobj,_swigval) (_swigobj->issuer_lid = *(_swigval),_swigval)
+static int _wrap_madNotice144_issuer_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_issuer_lid_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_issuer_lid_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_issuer_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_issuer_lid_get(_swigobj) (&_swigobj->issuer_lid)
+static int _wrap_madNotice144_issuer_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_issuer_lid_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_issuer_lid_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_issuer_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_toggle_count_set(_swigobj,_swigval) (_swigobj->toggle_count = *(_swigval),_swigval)
+static int _wrap_madNotice144_toggle_count_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_toggle_count_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_toggle_count_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_toggle_count_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_toggle_count_get(_swigobj) (&_swigobj->toggle_count)
+static int _wrap_madNotice144_toggle_count_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_toggle_count_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_toggle_count_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_toggle_count_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_pad1_set(_swigobj,_swigval) (_swigobj->pad1 = *(_swigval),_swigval)
+static int _wrap_madNotice144_pad1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_pad1_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_pad1_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_pad1_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_pad1_get(_swigobj) (&_swigobj->pad1)
+static int _wrap_madNotice144_pad1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_pad1_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_pad1_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_pad1_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_lid_set(_swigobj,_swigval) (_swigobj->lid = *(_swigval),_swigval)
+static int _wrap_madNotice144_lid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_lid_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_lid_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_lid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_lid_get(_swigobj) (&_swigobj->lid)
+static int _wrap_madNotice144_lid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_lid_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_lid_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_lid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_pad2_set(_swigobj,_swigval) (_swigobj->pad2 = *(_swigval),_swigval)
+static int _wrap_madNotice144_pad2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_pad2_set { madNotice144 * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_pad2_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_pad2_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_pad2_get(_swigobj) (&_swigobj->pad2)
+static int _wrap_madNotice144_pad2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_pad2_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_pad2_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madNotice144_pad2_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_new_cap_mask_set(_swigobj,_swigval) (_swigobj->new_cap_mask = *(_swigval),_swigval)
+static int _wrap_madNotice144_new_cap_mask_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madNotice144 * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_new_cap_mask_set { madNotice144 * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_new_cap_mask_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madNotice144_new_cap_mask_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_new_cap_mask_get(_swigobj) (&_swigobj->new_cap_mask)
+static int _wrap_madNotice144_new_cap_mask_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_new_cap_mask_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_new_cap_mask_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madNotice144_new_cap_mask_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_issuer_gid_set(_swigobj,_swigval) (_swigobj->issuer_gid = *(_swigval),_swigval)
+static int _wrap_madNotice144_issuer_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice144 * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_issuer_gid_set { madNotice144 * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_issuer_gid_set. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice144_issuer_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madNotice144_issuer_gid_get(_swigobj) (&_swigobj->issuer_gid)
+static int _wrap_madNotice144_issuer_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madNotice144 * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_issuer_gid_get { madNotice144 * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_issuer_gid_get. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madNotice144_issuer_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  madNotice144_send_trap(madNotice144 *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid) {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice144)
+                )
+              );
+    }
+static int _wrap_madNotice144_send_trap(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madNotice144 * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 5) || (objc > 5)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madNotice144_send_trap { madNotice144 * } pFromNode fromPort destLid ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madNotice144_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madNotice144_send_trap. Expected _madNotice144_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madNotice144_send_trap(_arg0,_arg1,*_arg2,*_arg3);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadNotice144(ClientData clientData) {
+    delete_madNotice144((madNotice144 *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadNotice144MethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madNotice144 methods : { dump cget configure send_trap  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madNotice144_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_trap") == 0) {
+        cmd = _wrap_madNotice144_send_trap;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice144_generic_type_set;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice144_prod_type_msb_set;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice144_prod_type_lsb_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice144_trap_num_set;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice144_issuer_lid_set;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice144_toggle_count_set;
+                }  else if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_madNotice144_pad1_set;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_madNotice144_lid_set;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_madNotice144_pad2_set;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_madNotice144_new_cap_mask_set;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice144_issuer_gid_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad1 -lid -pad2 -new_cap_mask -issuer_gid  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad1 -lid -pad2 -new_cap_mask -issuer_gid  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-generic_type") == 0) {
+                    cmd = _wrap_madNotice144_generic_type_get;
+                }  else if (strcmp(_str,"-prod_type_msb") == 0) {
+                    cmd = _wrap_madNotice144_prod_type_msb_get;
+                }  else if (strcmp(_str,"-prod_type_lsb") == 0) {
+                    cmd = _wrap_madNotice144_prod_type_lsb_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madNotice144_trap_num_get;
+                }  else if (strcmp(_str,"-issuer_lid") == 0) {
+                    cmd = _wrap_madNotice144_issuer_lid_get;
+                }  else if (strcmp(_str,"-toggle_count") == 0) {
+                    cmd = _wrap_madNotice144_toggle_count_get;
+                }  else if (strcmp(_str,"-pad1") == 0) {
+                    cmd = _wrap_madNotice144_pad1_get;
+                }  else if (strcmp(_str,"-lid") == 0) {
+                    cmd = _wrap_madNotice144_lid_get;
+                }  else if (strcmp(_str,"-pad2") == 0) {
+                    cmd = _wrap_madNotice144_pad2_get;
+                }  else if (strcmp(_str,"-new_cap_mask") == 0) {
+                    cmd = _wrap_madNotice144_new_cap_mask_get;
+                }  else if (strcmp(_str,"-issuer_gid") == 0) {
+                    cmd = _wrap_madNotice144_issuer_gid_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madNotice144_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad1 -lid -pad2 -new_cap_mask -issuer_gid  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -generic_type -prod_type_msb -prod_type_lsb -trap_num -issuer_lid -toggle_count -pad1 -lid -pad2 -new_cap_mask -issuer_gid  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madNotice144_generic_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-generic_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_prod_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_prod_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-prod_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_issuer_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_toggle_count_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-toggle_count ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_pad1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_lid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_pad2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-pad2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_new_cap_mask_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-new_cap_mask ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madNotice144_issuer_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-issuer_gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_trap }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadNotice144Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madNotice144 * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madNotice144;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madNotice144;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madNotice144;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madNotice144;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madNotice144_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadNotice144;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madNotice144_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madNotice144 object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadNotice144MethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+#define new_madGenericInform() (new madGenericInform())
+static int _wrap_new_madGenericInform(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madGenericInform * _result;
+    Tcl_Obj * tcl_result;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 1) || (objc > 1)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. new_madGenericInform ",-1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (madGenericInform *)new_madGenericInform();
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    SWIG_SetPointerObj(tcl_result,(void *) _result,"_madGenericInform_p");
+    return TCL_OK;
+}
+#define delete_madGenericInform(_swigobj) (delete _swigobj)
+static int _wrap_delete_madGenericInform(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. delete_madGenericInform { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of delete_madGenericInform. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      delete_madGenericInform(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    return TCL_OK;
+}
+#define madGenericInform_gid_set(_swigobj,_swigval) (_swigobj->gid = *(_swigval),_swigval)
+static int _wrap_madGenericInform_gid_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madGenericInform * _arg0;
+    ib_gid_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_gid_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_gid_set { madGenericInform * } { ib_gid_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_gid_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  char buf[36];
+  char *p_prefix, *p_guid;
+  char *str_token;
+
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],NULL));
+  p_prefix = strtok_r(buf,":", &str_token);
+  p_guid = strtok_r(NULL, " ", &str_token);
+  errno = 0;
+  temp.unicast.prefix = cl_hton64(strtoull(p_prefix, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid prefix:%s\n", p_prefix);
+    return TCL_ERROR;
+  }
+
+  temp.unicast.interface_id = cl_hton64(strtoull(p_guid, NULL, 16));
+  if (errno) {
+    printf("Wrong format for gid guid:%s\n", p_guid);
+    return TCL_ERROR;
+  }
+
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madGenericInform_gid_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_gid_get(_swigobj) (&_swigobj->gid)
+static int _wrap_madGenericInform_gid_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_gid_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_gid_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_gid_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_gid_t *)madGenericInform_gid_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64(_result->unicast.prefix),
+          cl_ntoh64(_result->unicast.interface_id)
+          );
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_lid_range_begin_set(_swigobj,_swigval) (_swigobj->lid_range_begin = *(_swigval),_swigval)
+static int _wrap_madGenericInform_lid_range_begin_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_lid_range_begin_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_lid_range_begin_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_lid_range_begin_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_lid_range_begin_get(_swigobj) (&_swigobj->lid_range_begin)
+static int _wrap_madGenericInform_lid_range_begin_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_lid_range_begin_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_lid_range_begin_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_lid_range_begin_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_lid_range_end_set(_swigobj,_swigval) (_swigobj->lid_range_end = *(_swigval),_swigval)
+static int _wrap_madGenericInform_lid_range_end_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_lid_range_end_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_lid_range_end_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_lid_range_end_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_lid_range_end_get(_swigobj) (&_swigobj->lid_range_end)
+static int _wrap_madGenericInform_lid_range_end_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_lid_range_end_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_lid_range_end_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_lid_range_end_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_reserved1_set(_swigobj,_swigval) (_swigobj->reserved1 = *(_swigval),_swigval)
+static int _wrap_madGenericInform_reserved1_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_reserved1_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_reserved1_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_reserved1_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_reserved1_get(_swigobj) (&_swigobj->reserved1)
+static int _wrap_madGenericInform_reserved1_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_reserved1_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_reserved1_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_reserved1_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_is_generic_set(_swigobj,_swigval) (_swigobj->is_generic = *(_swigval),_swigval)
+static int _wrap_madGenericInform_is_generic_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_is_generic_set { madGenericInform * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_is_generic_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_is_generic_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_is_generic_get(_swigobj) (&_swigobj->is_generic)
+static int _wrap_madGenericInform_is_generic_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_is_generic_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_is_generic_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_is_generic_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_subscribe_set(_swigobj,_swigval) (_swigobj->subscribe = *(_swigval),_swigval)
+static int _wrap_madGenericInform_subscribe_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_subscribe_set { madGenericInform * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_subscribe_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_subscribe_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_subscribe_get(_swigobj) (&_swigobj->subscribe)
+static int _wrap_madGenericInform_subscribe_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_subscribe_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_subscribe_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_subscribe_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_trap_type_set(_swigobj,_swigval) (_swigobj->trap_type = *(_swigval),_swigval)
+static int _wrap_madGenericInform_trap_type_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_trap_type_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_trap_type_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_trap_type_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_trap_type_get(_swigobj) (&_swigobj->trap_type)
+static int _wrap_madGenericInform_trap_type_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_trap_type_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_trap_type_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_trap_type_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_trap_num_set(_swigobj,_swigval) (_swigobj->trap_num = *(_swigval),_swigval)
+static int _wrap_madGenericInform_trap_num_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_trap_num_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_trap_num_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_trap_num_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_trap_num_get(_swigobj) (&_swigobj->trap_num)
+static int _wrap_madGenericInform_trap_num_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_trap_num_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_trap_num_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_trap_num_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_qpn_resp_time_val_set(_swigobj,_swigval) (_swigobj->qpn_resp_time_val = *(_swigval),_swigval)
+static int _wrap_madGenericInform_qpn_resp_time_val_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madGenericInform * _arg0;
+    ib_net32_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net32_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_qpn_resp_time_val_set { madGenericInform * } { ib_net32_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_qpn_resp_time_val_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madGenericInform_qpn_resp_time_val_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_qpn_resp_time_val_get(_swigobj) (&_swigobj->qpn_resp_time_val)
+static int _wrap_madGenericInform_qpn_resp_time_val_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net32_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_qpn_resp_time_val_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_qpn_resp_time_val_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net32_t *)madGenericInform_qpn_resp_time_val_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_reserved2_set(_swigobj,_swigval) (_swigobj->reserved2 = *(_swigval),_swigval)
+static int _wrap_madGenericInform_reserved2_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_reserved2_set { madGenericInform * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_reserved2_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_reserved2_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_reserved2_get(_swigobj) (&_swigobj->reserved2)
+static int _wrap_madGenericInform_reserved2_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_reserved2_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_reserved2_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_reserved2_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_node_type_msb_set(_swigobj,_swigval) (_swigobj->node_type_msb = *(_swigval),_swigval)
+static int _wrap_madGenericInform_node_type_msb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    uint8_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_node_type_msb_set { madGenericInform * } { uint8_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_node_type_msb_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0);
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_node_type_msb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_node_type_msb_get(_swigobj) (&_swigobj->node_type_msb)
+static int _wrap_madGenericInform_node_type_msb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    uint8_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_node_type_msb_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_node_type_msb_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (uint8_t *)madGenericInform_node_type_msb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", *_result);
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_node_type_lsb_set(_swigobj,_swigval) (_swigobj->node_type_lsb = *(_swigval),_swigval)
+static int _wrap_madGenericInform_node_type_lsb_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    ib_net16_t * _arg1;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    ib_net16_t  temp;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 3) || (objc > 3)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_node_type_lsb_set { madGenericInform * } { ib_net16_t * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_node_type_lsb_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj(objv[2],NULL), NULL, 0));
+  _arg1 = &temp;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_node_type_lsb_set(_arg0,_arg1);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+#define madGenericInform_node_type_lsb_get(_swigobj) (&_swigobj->node_type_lsb)
+static int _wrap_madGenericInform_node_type_lsb_get(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    ib_net16_t * _result;
+    madGenericInform * _arg0;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 2) || (objc > 2)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_node_type_lsb_get { madGenericInform * } ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_node_type_lsb_get. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+  ibms_tcl_error = 0;
+      _result = (ib_net16_t *)madGenericInform_node_type_lsb_get(_arg0);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+{
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*_result));
+  Tcl_SetStringObj(tcl_result,buff,strlen(buff));
+}
+    return TCL_OK;
+}
+static int  madGenericInform_send_set(madGenericInform *self,IBMSNode * pFromNode,uint8_t  fromPort,uint16_t  destLid,uint64_t  comp_mask) {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_INFORM_INFO),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madGenericInform)
+                )
+              );
+    }
+static int _wrap_madGenericInform_send_set(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+
+    int  _result;
+    madGenericInform * _arg0;
+    IBMSNode * _arg1;
+    uint8_t * _arg2;
+    uint16_t * _arg3;
+    uint64_t * _arg4;
+    Tcl_Obj * tcl_result;
+    char * rettype;
+    uint8_t  temp;
+    uint16_t  temp0;
+    uint64_t  temp1;
+
+    clientData = clientData; objv = objv;
+    tcl_result = Tcl_GetObjResult(interp);
+    if ((objc < 6) || (objc > 6)) {
+        Tcl_SetStringObj(tcl_result,"Wrong # args. madGenericInform_send_set { madGenericInform * } pFromNode fromPort destLid comp_mask ",-1);
+        return TCL_ERROR;
+    }
+    if ((rettype = SWIG_GetPointerObj(interp,objv[1],(void **) &_arg0,"_madGenericInform_p"))) {
+        Tcl_SetStringObj(tcl_result, "Type error in argument 1 of madGenericInform_send_set. Expected _madGenericInform_p, received ", -1);
+        Tcl_AppendToObj(tcl_result, rettype, -1);
+        return TCL_ERROR;
+    }
+{
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName(objv[2], &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString(objv[2]) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  _arg1 = (IBMSNode *)ptr;
+}
+{
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj(objv[2],0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("IBMSNode ", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is IBMSNode  but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype 'IBMSNode ' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+{
+  temp = strtoul(Tcl_GetStringFromObj(objv[3],NULL), NULL, 0);
+  _arg2 = &temp;
+}
+{
+  temp0 = strtoul(Tcl_GetStringFromObj(objv[4],NULL), NULL, 0);
+  _arg3 = &temp0;
+}
+{
+  temp1 = strtoull(Tcl_GetStringFromObj(objv[5],NULL), NULL,16);
+  _arg4 = &temp1;
+}
+{
+  ibms_tcl_error = 0;
+      _result = (int )madGenericInform_send_set(_arg0,_arg1,*_arg2,*_arg3,*_arg4);
+;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}    tcl_result = Tcl_GetObjResult(interp);
+    Tcl_SetIntObj(tcl_result,(long) _result);
+    return TCL_OK;
+}
+/* delcmd.swg : Tcl object deletion method */
+
+static void TclDeletemadGenericInform(ClientData clientData) {
+    delete_madGenericInform((madGenericInform *) clientData);
+}
+
+/* methodcmd8.swg : Tcl8.x method invocation */
+
+static int TclmadGenericInformMethodCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+  char *_str;
+  int rcode;
+  Tcl_Obj **objv;
+  Tcl_Obj *oldarg,*tcl_result,*obj;
+  int length;
+  char c;
+
+  tcl_result = Tcl_GetObjResult(interp);
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetStringObj(tcl_result,"madGenericInform methods : { dump cget configure send_set  }",-1);
+    return TCL_ERROR;
+  }
+  obj = Tcl_NewObj();
+  SWIG_SetPointerObj(obj,(void *) clientData,"_madGenericInform_p");
+  _str = Tcl_GetStringFromObj(objv[1],&length);
+  c = *_str;
+  if (0);
+      if (strcmp(_str,"send_set") == 0) {
+        cmd = _wrap_madGenericInform_send_set;
+    }
+    else if ((c == 'c') && (strncmp(_str,"configure",length) == 0) && (length >= 2)) {
+      int i = 2;
+      cmd = 0;
+      while (i+1 < objc) {
+        _str = Tcl_GetStringFromObj(objv[i],&length);
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_madGenericInform_gid_set;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_madGenericInform_lid_range_begin_set;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_madGenericInform_lid_range_end_set;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_madGenericInform_reserved1_set;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_madGenericInform_is_generic_set;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_madGenericInform_subscribe_set;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_madGenericInform_trap_type_set;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madGenericInform_trap_num_set;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_madGenericInform_qpn_resp_time_val_set;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_madGenericInform_reserved2_set;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_madGenericInform_node_type_msb_set;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_madGenericInform_node_type_lsb_set;
+                }
+          if (cmd) {
+            oldarg = objv[i];
+            objv[i] = obj;
+            rcode = (*cmd)(clientData,interp,3,&objv[i-1]);
+            objv[i] = oldarg;
+            if (rcode == TCL_ERROR) return rcode;
+            cmd = 0;
+          } else {
+            Tcl_SetStringObj(tcl_result,"Invalid configure option. Must be { -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+            return TCL_ERROR;
+          }
+        i+=2;
+      }
+      if ((i < objc) || (i == 2)) {
+        Tcl_SetStringObj(tcl_result,"{ -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+        return TCL_ERROR;
+      }
+      return TCL_OK;
+    } else if ((c == 'c') && (strncmp(_str,"cget",length) == 0) && (length >= 2)) {
+      if (objc == 3) {
+        _str = Tcl_GetStringFromObj(objv[2],&length);
+        if (0) {}
+                        if (strcmp(_str,"-gid") == 0) {
+                    cmd = _wrap_madGenericInform_gid_get;
+                }  else if (strcmp(_str,"-lid_range_begin") == 0) {
+                    cmd = _wrap_madGenericInform_lid_range_begin_get;
+                }  else if (strcmp(_str,"-lid_range_end") == 0) {
+                    cmd = _wrap_madGenericInform_lid_range_end_get;
+                }  else if (strcmp(_str,"-reserved1") == 0) {
+                    cmd = _wrap_madGenericInform_reserved1_get;
+                }  else if (strcmp(_str,"-is_generic") == 0) {
+                    cmd = _wrap_madGenericInform_is_generic_get;
+                }  else if (strcmp(_str,"-subscribe") == 0) {
+                    cmd = _wrap_madGenericInform_subscribe_get;
+                }  else if (strcmp(_str,"-trap_type") == 0) {
+                    cmd = _wrap_madGenericInform_trap_type_get;
+                }  else if (strcmp(_str,"-trap_num") == 0) {
+                    cmd = _wrap_madGenericInform_trap_num_get;
+                }  else if (strcmp(_str,"-qpn_resp_time_val") == 0) {
+                    cmd = _wrap_madGenericInform_qpn_resp_time_val_get;
+                }  else if (strcmp(_str,"-reserved2") == 0) {
+                    cmd = _wrap_madGenericInform_reserved2_get;
+                }  else if (strcmp(_str,"-node_type_msb") == 0) {
+                    cmd = _wrap_madGenericInform_node_type_msb_get;
+                }  else if (strcmp(_str,"-node_type_lsb") == 0) {
+                    cmd = _wrap_madGenericInform_node_type_lsb_get;
+                }
+          else if (strcmp(_str,"-this") == 0) {
+            SWIG_SetPointerObj(tcl_result,(void *) clientData, "_madGenericInform_p");
+            return TCL_OK;
+          }
+        if (cmd) {
+          oldarg = objv[2];
+          objv[2] = obj;
+          rcode = (*cmd)(clientData,interp,objc-1,&objv[1]);
+          objv[2] = oldarg;
+          return rcode;
+        } else {
+          Tcl_SetStringObj(tcl_result,"Invalid cget option. Must be { -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }",-1);
+          return TCL_ERROR;
+        }
+      } else {
+        Tcl_SetStringObj(tcl_result,"{ -this -gid -lid_range_begin -lid_range_end -reserved1 -is_generic -subscribe -trap_type -trap_num -qpn_resp_time_val -reserved2 -node_type_msb -node_type_lsb  }", -1);
+        return TCL_ERROR;
+      }
+    } else if ((c == 'd') && (strncmp(_str,"dump",length) == 0) && (length >= 2)) {
+      if (objc == 2) {
+        Tcl_Obj *pDumpObj;
+        pDumpObj = Tcl_NewStringObj("",-1);
+        Tcl_IncrRefCount(pDumpObj);
+                cmd = _wrap_madGenericInform_gid_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-gid ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_lid_range_begin_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_begin ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_lid_range_end_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-lid_range_end ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_reserved1_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved1 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_is_generic_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-is_generic ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_subscribe_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-subscribe ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_trap_type_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_type ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_trap_num_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-trap_num ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_qpn_resp_time_val_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-qpn_resp_time_val ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_reserved2_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-reserved2 ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_node_type_msb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_msb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+        cmd = _wrap_madGenericInform_node_type_lsb_get;
+        oldarg = objv[2];
+        objv[2] = obj;
+        rcode = (*cmd)(clientData,interp,objc,&objv[1]);
+        objv[2] = oldarg;
+        Tcl_AppendStringsToObj(pDumpObj, "-node_type_lsb ", Tcl_GetStringFromObj(tcl_result, NULL), " ", NULL);
+        Tcl_SetStringObj(tcl_result, Tcl_GetStringFromObj(pDumpObj, NULL), -1);
+
+        Tcl_DecrRefCount(pDumpObj);
+        return TCL_OK;
+      } else {
+        Tcl_SetStringObj(tcl_result,"no parameters are allowed for dump", -1);
+        return TCL_ERROR;
+      }
+    }
+  if (!cmd) {
+    Tcl_SetStringObj(tcl_result,"Invalid Method. Must be { dump cget configure send_set }",-1);
+    return TCL_ERROR;
+  }
+  oldarg = objv[1];
+  objv[1] = obj;
+  rcode = (*cmd)(clientData,interp,objc,objv);
+  objv[1] = oldarg;
+  return rcode;
+}
+
+
+
+/* objcmd8.swg : Tcl 8.x object creation */
+
+static int TclmadGenericInformCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    void (*del)(ClientData) = 0;
+    char *name = 0;
+    int (*cmd)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST*) = 0;
+    madGenericInform * newObj = 0;
+    int firstarg = 0;
+    int thisarg = 0;
+    int length;
+    char *_str;
+    Tcl_Obj *tcl_result;
+
+    tcl_result = Tcl_GetObjResult(interp);
+    if (objc == 1) {
+        cmd = _wrap_new_madGenericInform;
+    } else {
+      _str = Tcl_GetStringFromObj(objv[1],&length);
+      if (strcmp(_str,"-this") == 0) thisarg = 2;
+      else if (strcmp(_str,"-args") == 0) {
+	firstarg = 1;
+	cmd = _wrap_new_madGenericInform;
+      } else if (objc == 2) {
+	firstarg = 1;
+	name = _str;
+	cmd = _wrap_new_madGenericInform;
+      } else if (objc >= 3) {
+	name = _str;
+	_str = Tcl_GetStringFromObj(objv[2],&length);
+	if (strcmp(_str,"-this") == 0) thisarg = 3;
+	else {
+	  firstarg = 1;
+	  cmd = _wrap_new_madGenericInform;
+	}
+      }
+    }
+    if (cmd) {
+        int result;
+        result = (*cmd)(clientData,interp,objc-firstarg,&objv[firstarg]);
+        if (result == TCL_OK) {
+            SWIG_GetPointerObj(interp,tcl_result,(void **) &newObj,"_madGenericInform_p");
+        } else { return result; }
+        if (!name) name = Tcl_GetStringFromObj(tcl_result,&length);
+        del = TclDeletemadGenericInform;
+    } else if (thisarg > 0) {
+        if (thisarg < objc) {
+            char *r;
+            r = SWIG_GetPointerObj(interp,objv[thisarg],(void **) &newObj,"_madGenericInform_p");
+            if (r) {
+	      Tcl_SetStringObj(tcl_result,"Type error. not a madGenericInform object.",-1);
+	      return TCL_ERROR;
+            }
+        if (!name) name = Tcl_GetStringFromObj(objv[thisarg],&length);
+	Tcl_SetStringObj(tcl_result,name,-1);
+        } else {
+            Tcl_SetStringObj(tcl_result,"wrong # args.",-1);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_SetStringObj(tcl_result,"No constructor available.",-1);
+        return TCL_ERROR;
+    }
+    {
+      Tcl_CmdInfo dummy;
+      if (!Tcl_GetCommandInfo(interp,name,&dummy)) {
+	Tcl_CreateObjCommand(interp,name, TclmadGenericInformMethodCmd, (ClientData) newObj, del);
+	return TCL_OK;
+      } else {
+	Tcl_SetStringObj(tcl_result,"Object name already exists!",-1);
+	return TCL_ERROR;
+      }
+    }
+}
+
+
+SWIGEXPORT(int,Ibdm_Init)(Tcl_Interp *interp) {
+	 if (interp == 0)
+		 return TCL_ERROR;
+	 SWIG_RegisterType();
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_UNKNOWN_NODE_TYPE", (char *) &_wrap_const_IB_UNKNOWN_NODE_TYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_SW_NODE", (char *) &_wrap_const_IB_SW_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_CA_NODE", (char *) &_wrap_const_IB_CA_NODE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_NONE", (char *) &_wrap_const_FABU_LOG_NONE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_ERROR", (char *) &_wrap_const_FABU_LOG_ERROR, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_INFO", (char *) &_wrap_const_FABU_LOG_INFO, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FABU_LOG_VERBOSE", (char *) &_wrap_const_FABU_LOG_VERBOSE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "FabricUtilsVerboseLevel", (char *) &FabricUtilsVerboseLevel, TCL_LINK_INT);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBFabric", _wrap_new_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBFabric", _wrap_delete_IBFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAssignLids", _wrap_ibdmAssignLids, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcMinHopTables", _wrap_ibdmCalcMinHopTables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCalcUpDnMinHopTbls", _wrap_ibdmCalcUpDnMinHopTbls, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmOsmRoute", _wrap_ibdmOsmRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmEnhancedRoute", _wrap_ibdmEnhancedRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeRoute", _wrap_ibdmFatTreeRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFatTreeAnalysis", _wrap_ibdmFatTreeAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyCAtoCARoutes", _wrap_ibdmVerifyCAtoCARoutes, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmVerifyAllPaths", _wrap_ibdmVerifyAllPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmAnalyzeLoops", _wrap_ibdmAnalyzeLoops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindSymmetricalTreeRoots", _wrap_ibdmFindSymmetricalTreeRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmFindRootNodesByMinHop", _wrap_ibdmFindRootNodesByMinHop, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmRankFabricByRoots", _wrap_ibdmRankFabricByRoots, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmReportNonUpDownCa2CaPaths", _wrap_ibdmReportNonUpDownCa2CaPaths, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckMulticastGroups", _wrap_ibdmCheckMulticastGroups, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCheckFabricMCGrpsForCreditLoopPotential", _wrap_ibdmCheckFabricMCGrpsForCreditLoopPotential, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmLinkCoverageAnalysis", _wrap_ibdmLinkCoverageAnalysis, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceDRPathRoute", _wrap_ibdmTraceDRPathRoute, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByMinHops", _wrap_ibdmTraceRouteByMinHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmTraceRouteByLFT", _wrap_ibdmTraceRouteByLFT, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmMatchFabrics", _wrap_ibdmMatchFabrics, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmBuildMergedFabric", _wrap_ibdmBuildMergedFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongInit", _wrap_ibdmCongInit, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongCleanup", _wrap_ibdmCongCleanup, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongClear", _wrap_ibdmCongClear, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongTrace", _wrap_ibdmCongTrace, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongReport", _wrap_ibdmCongReport, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ibdmCongDump", _wrap_ibdmCongDump, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+
+
+  /* mixing declarations .... */
+  {
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBFabric_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBFabric_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSystem_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSystem_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBSysPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBSysPort_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBNode_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBNode_p"] = &ibdmGetObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_IBPort_p"] = &ibdmGetObjTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBPort_p"] = &ibdmGetObjPtrByTclName;
+  }
+
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowFatal", (char *) &_wrap_const_MsgShowFatal, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowError", (char *) &_wrap_const_MsgShowError, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowWarning", (char *) &_wrap_const_MsgShowWarning, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowInfo", (char *) &_wrap_const_MsgShowInfo, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowVerbose", (char *) &_wrap_const_MsgShowVerbose, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowContext", (char *) &_wrap_const_MsgShowContext, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowSource", (char *) &_wrap_const_MsgShowSource, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowTime", (char *) &_wrap_const_MsgShowTime, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowModule", (char *) &_wrap_const_MsgShowModule, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowMads", (char *) &_wrap_const_MsgShowMads, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowFrames", (char *) &_wrap_const_MsgShowFrames, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgShowAll", (char *) &_wrap_const_MsgShowAll, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "MsgDefault", (char *) &_wrap_const_MsgDefault, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "rmRand", _wrap_rmRand, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "rmSeed", _wrap_rmSeed, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_GID", (char *) &_wrap_const_IB_INFORM_INFO_COMP_GID, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_LID_BEGIN", (char *) &_wrap_const_IB_INFORM_INFO_COMP_LID_BEGIN, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_LID_END", (char *) &_wrap_const_IB_INFORM_INFO_COMP_LID_END, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_IS_GENERIC", (char *) &_wrap_const_IB_INFORM_INFO_COMP_IS_GENERIC, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_TRAP_TYPE", (char *) &_wrap_const_IB_INFORM_INFO_COMP_TRAP_TYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_TRAP_NUM", (char *) &_wrap_const_IB_INFORM_INFO_COMP_TRAP_NUM, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_QPN", (char *) &_wrap_const_IB_INFORM_INFO_COMP_QPN, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_RESP_TIME", (char *) &_wrap_const_IB_INFORM_INFO_COMP_RESP_TIME, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "IB_INFORM_INFO_COMP_NODE_TYPE", (char *) &_wrap_const_IB_INFORM_INFO_COMP_NODE_TYPE, TCL_LINK_INT | TCL_LINK_READ_ONLY);
+	 Tcl_LinkVar(interp, SWIG_prefix "ibmsSourceVersion", (char *) &ibmsSourceVersion, TCL_LINK_STRING);
+
+
+  /* mixing declarations .... */
+  {
+	 Tcl_PkgProvide(interp,"ibms", "1.0");
+#ifdef OSM_BUILD_OPENIB
+    Tcl_CreateExitHandler(ibmssh_exit, NULL);
+#endif
+
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBMSNode_p"] = &ibmsGetSimNodeTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBMSNode_p"] = &ibmsGetSimNodePtrByTclName;
+
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_ib_node_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_node_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_switch_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_switch_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_port_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_port_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_node_desc_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_node_desc_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_lft_record_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_lft_record_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_pm_counters_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_pm_counters_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_vl_arb_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_vl_arb_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_slvl_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_slvl_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_pkey_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_pkey_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    // declare the simulator object :
+    Tcl_CreateObjCommand(interp,"IBMgtSimulator",
+								 TclIBMgtSimMethodCmd,
+								 (ClientData)&Simulator, 0);
+
+    // declare the message manager
+    Tcl_CreateObjCommand(interp,"MsgMgr",
+								 TclmsgManagerMethodCmd,
+								 (ClientData)&msgMgr(), 0);
+
+  }
+
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_set", _wrap_IBPort_p_remotePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_remotePort_get", _wrap_IBPort_p_remotePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_set", _wrap_IBPort_p_sysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_sysPort_get", _wrap_IBPort_p_sysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_set", _wrap_IBPort_p_node_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_p_node_get", _wrap_IBPort_p_node_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_set", _wrap_IBPort_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_num_get", _wrap_IBPort_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_set", _wrap_IBPort_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_base_lid_get", _wrap_IBPort_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_set", _wrap_IBPort_width_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_width_get", _wrap_IBPort_width_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_set", _wrap_IBPort_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_speed_get", _wrap_IBPort_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_set", _wrap_IBPort_counter1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_counter1_get", _wrap_IBPort_counter1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBPort", _wrap_new_IBPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_get", _wrap_IBPort_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_guid_set", _wrap_IBPort_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_getName", _wrap_IBPort_getName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_connect", _wrap_IBPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBPort_disconnect", _wrap_IBPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBPort",TclIBPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_set", _wrap_IBNode_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_name_get", _wrap_IBNode_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_set", _wrap_IBNode_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_type_get", _wrap_IBNode_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_set", _wrap_IBNode_devId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_devId_get", _wrap_IBNode_devId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_set", _wrap_IBNode_revId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_revId_get", _wrap_IBNode_revId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_set", _wrap_IBNode_vendId_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_vendId_get", _wrap_IBNode_vendId_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_set", _wrap_IBNode_attributes_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_attributes_get", _wrap_IBNode_attributes_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_set", _wrap_IBNode_rank_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_rank_get", _wrap_IBNode_rank_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_system_get", _wrap_IBNode_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_p_fabric_get", _wrap_IBNode_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_numPorts_get", _wrap_IBNode_numPorts_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_Ports_get", _wrap_IBNode_Ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_MinHopsTable_get", _wrap_IBNode_MinHopsTable_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_LFT_get", _wrap_IBNode_LFT_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_get", _wrap_IBNode_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_guid_set", _wrap_IBNode_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBNode", _wrap_new_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBNode", _wrap_delete_IBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_makePort", _wrap_IBNode_makePort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getPort", _wrap_IBNode_getPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setHops", _wrap_IBNode_setHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getHops", _wrap_IBNode_getHops, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getFirstMinHopPort", _wrap_IBNode_getFirstMinHopPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_setLFTPortForLid", _wrap_IBNode_setLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_getLFTPortForLid", _wrap_IBNode_getLFTPortForLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBNode_repHopTable", _wrap_IBNode_repHopTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBNode",TclIBNodeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_set", _wrap_IBSysPort_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_name_get", _wrap_IBSysPort_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_set", _wrap_IBSysPort_p_remoteSysPort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_remoteSysPort_get", _wrap_IBSysPort_p_remoteSysPort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_set", _wrap_IBSysPort_p_system_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_system_get", _wrap_IBSysPort_p_system_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_set", _wrap_IBSysPort_p_nodePort_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_p_nodePort_get", _wrap_IBSysPort_p_nodePort_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSysPort", _wrap_new_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSysPort", _wrap_delete_IBSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_connect", _wrap_IBSysPort_connect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSysPort_disconnect", _wrap_IBSysPort_disconnect, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSysPort",TclIBSysPortCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_set", _wrap_IBSystem_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_name_get", _wrap_IBSystem_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_set", _wrap_IBSystem_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_type_get", _wrap_IBSystem_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_set", _wrap_IBSystem_p_fabric_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_p_fabric_get", _wrap_IBSystem_p_fabric_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_NodeByName_get", _wrap_IBSystem_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_PortByName_get", _wrap_IBSystem_PortByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_IBSystem", _wrap_new_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_IBSystem", _wrap_delete_IBSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_get", _wrap_IBSystem_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_guid_set", _wrap_IBSystem_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_makeSysPort", _wrap_IBSystem_makeSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPortNodePortByName", _wrap_IBSystem_getSysPortNodePortByName, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBSystem_getSysPort", _wrap_IBSystem_getSysPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBSystem",TclIBSystemCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByName_get", _wrap_IBFabric_NodeByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByName_get", _wrap_IBFabric_SystemByName_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByLid_get", _wrap_IBFabric_PortByLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_NodeByGuid_get", _wrap_IBFabric_NodeByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_SystemByGuid_get", _wrap_IBFabric_SystemByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_PortByGuid_get", _wrap_IBFabric_PortByGuid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_set", _wrap_IBFabric_minLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_minLid_get", _wrap_IBFabric_minLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_set", _wrap_IBFabric_maxLid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_maxLid_get", _wrap_IBFabric_maxLid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_set", _wrap_IBFabric_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_lmc_get", _wrap_IBFabric_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeNode", _wrap_IBFabric_makeNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNode", _wrap_IBFabric_getNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodesByType", _wrap_IBFabric_getNodesByType, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeGenericSystem", _wrap_IBFabric_makeGenericSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_makeSystem", _wrap_IBFabric_makeSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystem", _wrap_IBFabric_getSystem, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getSystemByGuid", _wrap_IBFabric_getSystemByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getNodeByGuid", _wrap_IBFabric_getNodeByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByGuid", _wrap_IBFabric_getPortByGuid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addCable", _wrap_IBFabric_addCable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseCables", _wrap_IBFabric_parseCables, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseTopology", _wrap_IBFabric_parseTopology, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_addLink", _wrap_IBFabric_addLink, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseSubnetLinks", _wrap_IBFabric_parseSubnetLinks, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseFdbFile", _wrap_IBFabric_parseFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_parseMCFdbFile", _wrap_IBFabric_parseMCFdbFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_setLidPort", _wrap_IBFabric_setLidPort, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBFabric_getPortByLid", _wrap_IBFabric_getPortByLid, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBFabric",TclIBFabricCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_base_version_set", _wrap_ib_node_info_t_base_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_base_version_get", _wrap_ib_node_info_t_base_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_class_version_set", _wrap_ib_node_info_t_class_version_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_class_version_get", _wrap_ib_node_info_t_class_version_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_node_type_set", _wrap_ib_node_info_t_node_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_node_type_get", _wrap_ib_node_info_t_node_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_num_ports_set", _wrap_ib_node_info_t_num_ports_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_num_ports_get", _wrap_ib_node_info_t_num_ports_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_sys_guid_set", _wrap_ib_node_info_t_sys_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_sys_guid_get", _wrap_ib_node_info_t_sys_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_node_guid_set", _wrap_ib_node_info_t_node_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_node_guid_get", _wrap_ib_node_info_t_node_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_port_guid_set", _wrap_ib_node_info_t_port_guid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_port_guid_get", _wrap_ib_node_info_t_port_guid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_partition_cap_set", _wrap_ib_node_info_t_partition_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_partition_cap_get", _wrap_ib_node_info_t_partition_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_device_id_set", _wrap_ib_node_info_t_device_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_device_id_get", _wrap_ib_node_info_t_device_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_revision_set", _wrap_ib_node_info_t_revision_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_revision_get", _wrap_ib_node_info_t_revision_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_port_num_vendor_id_set", _wrap_ib_node_info_t_port_num_vendor_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_info_t_port_num_vendor_id_get", _wrap_ib_node_info_t_port_num_vendor_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_node_info_t",Tclib_node_info_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lin_cap_set", _wrap_ib_switch_info_t_lin_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lin_cap_get", _wrap_ib_switch_info_t_lin_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_rand_cap_set", _wrap_ib_switch_info_t_rand_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_rand_cap_get", _wrap_ib_switch_info_t_rand_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_mcast_cap_set", _wrap_ib_switch_info_t_mcast_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_mcast_cap_get", _wrap_ib_switch_info_t_mcast_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lin_top_set", _wrap_ib_switch_info_t_lin_top_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lin_top_get", _wrap_ib_switch_info_t_lin_top_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_port_set", _wrap_ib_switch_info_t_def_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_port_get", _wrap_ib_switch_info_t_def_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_mcast_pri_port_set", _wrap_ib_switch_info_t_def_mcast_pri_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_mcast_pri_port_get", _wrap_ib_switch_info_t_def_mcast_pri_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_mcast_not_port_set", _wrap_ib_switch_info_t_def_mcast_not_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_def_mcast_not_port_get", _wrap_ib_switch_info_t_def_mcast_not_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_life_state_set", _wrap_ib_switch_info_t_life_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_life_state_get", _wrap_ib_switch_info_t_life_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lids_per_port_set", _wrap_ib_switch_info_t_lids_per_port_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_lids_per_port_get", _wrap_ib_switch_info_t_lids_per_port_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_enforce_cap_set", _wrap_ib_switch_info_t_enforce_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_enforce_cap_get", _wrap_ib_switch_info_t_enforce_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_flags_set", _wrap_ib_switch_info_t_flags_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_switch_info_t_flags_get", _wrap_ib_switch_info_t_flags_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_switch_info_t",Tclib_switch_info_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_set", _wrap_ib_port_info_t_m_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_get", _wrap_ib_port_info_t_m_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_subnet_prefix_set", _wrap_ib_port_info_t_subnet_prefix_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_subnet_prefix_get", _wrap_ib_port_info_t_subnet_prefix_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_base_lid_set", _wrap_ib_port_info_t_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_base_lid_get", _wrap_ib_port_info_t_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_master_sm_base_lid_set", _wrap_ib_port_info_t_master_sm_base_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_master_sm_base_lid_get", _wrap_ib_port_info_t_master_sm_base_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_capability_mask_set", _wrap_ib_port_info_t_capability_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_capability_mask_get", _wrap_ib_port_info_t_capability_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_diag_code_set", _wrap_ib_port_info_t_diag_code_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_diag_code_get", _wrap_ib_port_info_t_diag_code_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_lease_period_set", _wrap_ib_port_info_t_m_key_lease_period_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_lease_period_get", _wrap_ib_port_info_t_m_key_lease_period_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_local_port_num_set", _wrap_ib_port_info_t_local_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_local_port_num_get", _wrap_ib_port_info_t_local_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_enabled_set", _wrap_ib_port_info_t_link_width_enabled_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_enabled_get", _wrap_ib_port_info_t_link_width_enabled_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_supported_set", _wrap_ib_port_info_t_link_width_supported_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_supported_get", _wrap_ib_port_info_t_link_width_supported_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_active_set", _wrap_ib_port_info_t_link_width_active_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_width_active_get", _wrap_ib_port_info_t_link_width_active_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_state_info1_set", _wrap_ib_port_info_t_state_info1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_state_info1_get", _wrap_ib_port_info_t_state_info1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_state_info2_set", _wrap_ib_port_info_t_state_info2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_state_info2_get", _wrap_ib_port_info_t_state_info2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mkey_lmc_set", _wrap_ib_port_info_t_mkey_lmc_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mkey_lmc_get", _wrap_ib_port_info_t_mkey_lmc_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_speed_set", _wrap_ib_port_info_t_link_speed_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_link_speed_get", _wrap_ib_port_info_t_link_speed_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mtu_smsl_set", _wrap_ib_port_info_t_mtu_smsl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mtu_smsl_get", _wrap_ib_port_info_t_mtu_smsl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_cap_set", _wrap_ib_port_info_t_vl_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_cap_get", _wrap_ib_port_info_t_vl_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_high_limit_set", _wrap_ib_port_info_t_vl_high_limit_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_high_limit_get", _wrap_ib_port_info_t_vl_high_limit_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_arb_high_cap_set", _wrap_ib_port_info_t_vl_arb_high_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_arb_high_cap_get", _wrap_ib_port_info_t_vl_arb_high_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_arb_low_cap_set", _wrap_ib_port_info_t_vl_arb_low_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_arb_low_cap_get", _wrap_ib_port_info_t_vl_arb_low_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mtu_cap_set", _wrap_ib_port_info_t_mtu_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_mtu_cap_get", _wrap_ib_port_info_t_mtu_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_stall_life_set", _wrap_ib_port_info_t_vl_stall_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_stall_life_get", _wrap_ib_port_info_t_vl_stall_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_enforce_set", _wrap_ib_port_info_t_vl_enforce_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_vl_enforce_get", _wrap_ib_port_info_t_vl_enforce_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_violations_set", _wrap_ib_port_info_t_m_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_m_key_violations_get", _wrap_ib_port_info_t_m_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_p_key_violations_set", _wrap_ib_port_info_t_p_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_p_key_violations_get", _wrap_ib_port_info_t_p_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_q_key_violations_set", _wrap_ib_port_info_t_q_key_violations_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_q_key_violations_get", _wrap_ib_port_info_t_q_key_violations_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_guid_cap_set", _wrap_ib_port_info_t_guid_cap_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_guid_cap_get", _wrap_ib_port_info_t_guid_cap_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_subnet_timeout_set", _wrap_ib_port_info_t_subnet_timeout_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_subnet_timeout_get", _wrap_ib_port_info_t_subnet_timeout_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_resp_time_value_set", _wrap_ib_port_info_t_resp_time_value_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_resp_time_value_get", _wrap_ib_port_info_t_resp_time_value_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_error_threshold_set", _wrap_ib_port_info_t_error_threshold_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_port_info_t_error_threshold_get", _wrap_ib_port_info_t_error_threshold_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_port_info_t",Tclib_port_info_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_desc_t_description_set", _wrap_ib_node_desc_t_description_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_node_desc_t_description_get", _wrap_ib_node_desc_t_description_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_node_desc_t",Tclib_node_desc_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_lid_set", _wrap_ib_lft_record_t_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_lid_get", _wrap_ib_lft_record_t_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_block_num_set", _wrap_ib_lft_record_t_block_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_block_num_get", _wrap_ib_lft_record_t_block_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_resv0_set", _wrap_ib_lft_record_t_resv0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_resv0_get", _wrap_ib_lft_record_t_resv0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_lft_set", _wrap_ib_lft_record_t_lft_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_lft_record_t_lft_get", _wrap_ib_lft_record_t_lft_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_lft_record_t",Tclib_lft_record_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_mad_header_set", _wrap_ib_pm_counters_t_mad_header_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_mad_header_get", _wrap_ib_pm_counters_t_mad_header_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved0_set", _wrap_ib_pm_counters_t_reserved0_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved0_get", _wrap_ib_pm_counters_t_reserved0_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved1_set", _wrap_ib_pm_counters_t_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved1_get", _wrap_ib_pm_counters_t_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_select_set", _wrap_ib_pm_counters_t_port_select_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_select_get", _wrap_ib_pm_counters_t_port_select_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_counter_select_set", _wrap_ib_pm_counters_t_counter_select_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_counter_select_get", _wrap_ib_pm_counters_t_counter_select_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_symbol_error_counter_set", _wrap_ib_pm_counters_t_symbol_error_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_symbol_error_counter_get", _wrap_ib_pm_counters_t_symbol_error_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_link_error_recovery_counter_set", _wrap_ib_pm_counters_t_link_error_recovery_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_link_error_recovery_counter_get", _wrap_ib_pm_counters_t_link_error_recovery_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_link_down_counter_set", _wrap_ib_pm_counters_t_link_down_counter_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_link_down_counter_get", _wrap_ib_pm_counters_t_link_down_counter_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_errors_set", _wrap_ib_pm_counters_t_port_rcv_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_errors_get", _wrap_ib_pm_counters_t_port_rcv_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_remote_physical_errors_set", _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_remote_physical_errors_get", _wrap_ib_pm_counters_t_port_rcv_remote_physical_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_switch_relay_errors_set", _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_switch_relay_errors_get", _wrap_ib_pm_counters_t_port_rcv_switch_relay_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_discard_set", _wrap_ib_pm_counters_t_port_xmit_discard_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_discard_get", _wrap_ib_pm_counters_t_port_xmit_discard_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_constraint_errors_set", _wrap_ib_pm_counters_t_port_xmit_constraint_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_constraint_errors_get", _wrap_ib_pm_counters_t_port_xmit_constraint_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_constraint_errors_set", _wrap_ib_pm_counters_t_port_rcv_constraint_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_constraint_errors_get", _wrap_ib_pm_counters_t_port_rcv_constraint_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved2_set", _wrap_ib_pm_counters_t_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved2_get", _wrap_ib_pm_counters_t_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_lli_errors_exc_buf_errors_set", _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_lli_errors_exc_buf_errors_get", _wrap_ib_pm_counters_t_lli_errors_exc_buf_errors_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved3_set", _wrap_ib_pm_counters_t_reserved3_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved3_get", _wrap_ib_pm_counters_t_reserved3_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_vl15_dropped_set", _wrap_ib_pm_counters_t_vl15_dropped_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_vl15_dropped_get", _wrap_ib_pm_counters_t_vl15_dropped_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_data_set", _wrap_ib_pm_counters_t_port_xmit_data_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_data_get", _wrap_ib_pm_counters_t_port_xmit_data_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_data_set", _wrap_ib_pm_counters_t_port_rcv_data_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_data_get", _wrap_ib_pm_counters_t_port_rcv_data_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_pkts_set", _wrap_ib_pm_counters_t_port_xmit_pkts_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_xmit_pkts_get", _wrap_ib_pm_counters_t_port_xmit_pkts_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_pkts_set", _wrap_ib_pm_counters_t_port_rcv_pkts_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_port_rcv_pkts_get", _wrap_ib_pm_counters_t_port_rcv_pkts_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved5_set", _wrap_ib_pm_counters_t_reserved5_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "ib_pm_counters_t_reserved5_get", _wrap_ib_pm_counters_t_reserved5_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "ib_pm_counters_t",Tclib_pm_counters_tCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_getVerbLevel", _wrap_msgManager_getVerbLevel, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_clrVerbLevel", _wrap_msgManager_clrVerbLevel, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_setVerbLevel", _wrap_msgManager_setVerbLevel, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_outstandingMsgCount", _wrap_msgManager_outstandingMsgCount, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_outstandingMsgs", _wrap_msgManager_outstandingMsgs, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_getNextMessage", _wrap_msgManager_getNextMessage, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_nullOutstandingMsgs", _wrap_msgManager_nullOutstandingMsgs, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "msgManager_setLogFile", _wrap_msgManager_setLogFile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "msgManager",TclmsgManagerCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMgtSim_getFabric", _wrap_IBMgtSim_getFabric, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMgtSim_getServer", _wrap_IBMgtSim_getServer, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMgtSim_getDispatcher", _wrap_IBMgtSim_getDispatcher, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMgtSim_init", _wrap_IBMgtSim_init, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBMgtSim",TclIBMgtSimCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getIBNode", _wrap_IBMSNode_getIBNode, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getLinkStatus", _wrap_IBMSNode_getLinkStatus, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setPhyPortErrProfile", _wrap_IBMSNode_setPhyPortErrProfile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getPhyPortErrProfile", _wrap_IBMSNode_getPhyPortErrProfile, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setPhyPortPMCounter", _wrap_IBMSNode_setPhyPortPMCounter, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getPhyPortPMCounter", _wrap_IBMSNode_getPhyPortPMCounter, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getPortInfo", _wrap_IBMSNode_getPortInfo, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setLinkStatus", _wrap_IBMSNode_setLinkStatus, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getNodeInfo", _wrap_IBMSNode_getNodeInfo, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getSwitchInfo", _wrap_IBMSNode_getSwitchInfo, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getPKeyTblBlock", _wrap_IBMSNode_getPKeyTblBlock, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setPKeyTblBlock", _wrap_IBMSNode_setPKeyTblBlock, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getVLArbLTable", _wrap_IBMSNode_getVLArbLTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setVLArbLTable", _wrap_IBMSNode_setVLArbLTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getSL2VLTable", _wrap_IBMSNode_getSL2VLTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setSL2VLTable", _wrap_IBMSNode_setSL2VLTable, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setCrSpace", _wrap_IBMSNode_setCrSpace, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getCrSpace", _wrap_IBMSNode_getCrSpace, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_getMFTBlock", _wrap_IBMSNode_getMFTBlock, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "IBMSNode_setMFTBlock", _wrap_IBMSNode_setMFTBlock, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "IBMSNode",TclIBMSNodeCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madMcMemberRec", _wrap_new_madMcMemberRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madMcMemberRec", _wrap_delete_madMcMemberRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mgid_set", _wrap_madMcMemberRec_mgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mgid_get", _wrap_madMcMemberRec_mgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_port_gid_set", _wrap_madMcMemberRec_port_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_port_gid_get", _wrap_madMcMemberRec_port_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_qkey_set", _wrap_madMcMemberRec_qkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_qkey_get", _wrap_madMcMemberRec_qkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mlid_set", _wrap_madMcMemberRec_mlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mlid_get", _wrap_madMcMemberRec_mlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mtu_set", _wrap_madMcMemberRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_mtu_get", _wrap_madMcMemberRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_tclass_set", _wrap_madMcMemberRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_tclass_get", _wrap_madMcMemberRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_pkey_set", _wrap_madMcMemberRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_pkey_get", _wrap_madMcMemberRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_rate_set", _wrap_madMcMemberRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_rate_get", _wrap_madMcMemberRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_pkt_life_set", _wrap_madMcMemberRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_pkt_life_get", _wrap_madMcMemberRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_sl_flow_hop_set", _wrap_madMcMemberRec_sl_flow_hop_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_sl_flow_hop_get", _wrap_madMcMemberRec_sl_flow_hop_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_scope_state_set", _wrap_madMcMemberRec_scope_state_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_scope_state_get", _wrap_madMcMemberRec_scope_state_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_send_set", _wrap_madMcMemberRec_send_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_send_get", _wrap_madMcMemberRec_send_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madMcMemberRec_send_del", _wrap_madMcMemberRec_send_del, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madMcMemberRec",TclmadMcMemberRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madPathRec", _wrap_new_madPathRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madPathRec", _wrap_delete_madPathRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_service_id_set", _wrap_madPathRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_service_id_get", _wrap_madPathRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_dgid_set", _wrap_madPathRec_dgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_dgid_get", _wrap_madPathRec_dgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_sgid_set", _wrap_madPathRec_sgid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_sgid_get", _wrap_madPathRec_sgid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_dlid_set", _wrap_madPathRec_dlid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_dlid_get", _wrap_madPathRec_dlid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_slid_set", _wrap_madPathRec_slid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_slid_get", _wrap_madPathRec_slid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_hop_flow_raw_set", _wrap_madPathRec_hop_flow_raw_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_hop_flow_raw_get", _wrap_madPathRec_hop_flow_raw_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_tclass_set", _wrap_madPathRec_tclass_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_tclass_get", _wrap_madPathRec_tclass_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_num_path_set", _wrap_madPathRec_num_path_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_num_path_get", _wrap_madPathRec_num_path_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_pkey_set", _wrap_madPathRec_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_pkey_get", _wrap_madPathRec_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_qos_class_sl_set", _wrap_madPathRec_qos_class_sl_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_qos_class_sl_get", _wrap_madPathRec_qos_class_sl_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_mtu_set", _wrap_madPathRec_mtu_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_mtu_get", _wrap_madPathRec_mtu_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_rate_set", _wrap_madPathRec_rate_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_rate_get", _wrap_madPathRec_rate_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_pkt_life_set", _wrap_madPathRec_pkt_life_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_pkt_life_get", _wrap_madPathRec_pkt_life_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_preference_set", _wrap_madPathRec_preference_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_preference_get", _wrap_madPathRec_preference_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_resv2_set", _wrap_madPathRec_resv2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_resv2_get", _wrap_madPathRec_resv2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madPathRec_send_get", _wrap_madPathRec_send_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madPathRec",TclmadPathRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madServiceRec", _wrap_new_madServiceRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madServiceRec", _wrap_delete_madServiceRec, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_id_set", _wrap_madServiceRec_service_id_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_id_get", _wrap_madServiceRec_service_id_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_gid_set", _wrap_madServiceRec_service_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_gid_get", _wrap_madServiceRec_service_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_pkey_set", _wrap_madServiceRec_service_pkey_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_pkey_get", _wrap_madServiceRec_service_pkey_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_resv_set", _wrap_madServiceRec_resv_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_resv_get", _wrap_madServiceRec_resv_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_lease_set", _wrap_madServiceRec_service_lease_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_lease_get", _wrap_madServiceRec_service_lease_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_key_set", _wrap_madServiceRec_service_key_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_key_get", _wrap_madServiceRec_service_key_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_name_set", _wrap_madServiceRec_service_name_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_name_get", _wrap_madServiceRec_service_name_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data8_set", _wrap_madServiceRec_service_data8_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data8_get", _wrap_madServiceRec_service_data8_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data16_set", _wrap_madServiceRec_service_data16_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data16_get", _wrap_madServiceRec_service_data16_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data32_set", _wrap_madServiceRec_service_data32_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data32_get", _wrap_madServiceRec_service_data32_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data64_set", _wrap_madServiceRec_service_data64_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_service_data64_get", _wrap_madServiceRec_service_data64_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_send_set", _wrap_madServiceRec_send_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_send_get", _wrap_madServiceRec_send_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madServiceRec_send_del", _wrap_madServiceRec_send_del, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madServiceRec",TclmadServiceRecCmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madNotice128", _wrap_new_madNotice128, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madNotice128", _wrap_delete_madNotice128, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_generic_type_set", _wrap_madNotice128_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_generic_type_get", _wrap_madNotice128_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_prod_type_msb_set", _wrap_madNotice128_prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_prod_type_msb_get", _wrap_madNotice128_prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_prod_type_lsb_set", _wrap_madNotice128_prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_prod_type_lsb_get", _wrap_madNotice128_prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_trap_num_set", _wrap_madNotice128_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_trap_num_get", _wrap_madNotice128_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_issuer_lid_set", _wrap_madNotice128_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_issuer_lid_get", _wrap_madNotice128_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_toggle_count_set", _wrap_madNotice128_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_toggle_count_get", _wrap_madNotice128_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_sw_lid_set", _wrap_madNotice128_sw_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_sw_lid_get", _wrap_madNotice128_sw_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_issuer_gid_set", _wrap_madNotice128_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_issuer_gid_get", _wrap_madNotice128_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice128_send_trap", _wrap_madNotice128_send_trap, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madNotice128",TclmadNotice128Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madNotice129", _wrap_new_madNotice129, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madNotice129", _wrap_delete_madNotice129, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_generic_type_set", _wrap_madNotice129_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_generic_type_get", _wrap_madNotice129_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_prod_type_msb_set", _wrap_madNotice129_prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_prod_type_msb_get", _wrap_madNotice129_prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_prod_type_lsb_set", _wrap_madNotice129_prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_prod_type_lsb_get", _wrap_madNotice129_prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_trap_num_set", _wrap_madNotice129_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_trap_num_get", _wrap_madNotice129_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_issuer_lid_set", _wrap_madNotice129_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_issuer_lid_get", _wrap_madNotice129_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_toggle_count_set", _wrap_madNotice129_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_toggle_count_get", _wrap_madNotice129_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_pad_set", _wrap_madNotice129_pad_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_pad_get", _wrap_madNotice129_pad_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_lid_set", _wrap_madNotice129_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_lid_get", _wrap_madNotice129_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_port_num_set", _wrap_madNotice129_port_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_port_num_get", _wrap_madNotice129_port_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_issuer_gid_set", _wrap_madNotice129_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_issuer_gid_get", _wrap_madNotice129_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice129_send_trap", _wrap_madNotice129_send_trap, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madNotice129",TclmadNotice129Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madNotice144", _wrap_new_madNotice144, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madNotice144", _wrap_delete_madNotice144, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_generic_type_set", _wrap_madNotice144_generic_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_generic_type_get", _wrap_madNotice144_generic_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_prod_type_msb_set", _wrap_madNotice144_prod_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_prod_type_msb_get", _wrap_madNotice144_prod_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_prod_type_lsb_set", _wrap_madNotice144_prod_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_prod_type_lsb_get", _wrap_madNotice144_prod_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_trap_num_set", _wrap_madNotice144_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_trap_num_get", _wrap_madNotice144_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_issuer_lid_set", _wrap_madNotice144_issuer_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_issuer_lid_get", _wrap_madNotice144_issuer_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_toggle_count_set", _wrap_madNotice144_toggle_count_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_toggle_count_get", _wrap_madNotice144_toggle_count_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_pad1_set", _wrap_madNotice144_pad1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_pad1_get", _wrap_madNotice144_pad1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_lid_set", _wrap_madNotice144_lid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_lid_get", _wrap_madNotice144_lid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_pad2_set", _wrap_madNotice144_pad2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_pad2_get", _wrap_madNotice144_pad2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_new_cap_mask_set", _wrap_madNotice144_new_cap_mask_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_new_cap_mask_get", _wrap_madNotice144_new_cap_mask_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_issuer_gid_set", _wrap_madNotice144_issuer_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_issuer_gid_get", _wrap_madNotice144_issuer_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madNotice144_send_trap", _wrap_madNotice144_send_trap, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madNotice144",TclmadNotice144Cmd, (ClientData) NULL, NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "new_madGenericInform", _wrap_new_madGenericInform, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "delete_madGenericInform", _wrap_delete_madGenericInform, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_gid_set", _wrap_madGenericInform_gid_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_gid_get", _wrap_madGenericInform_gid_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_lid_range_begin_set", _wrap_madGenericInform_lid_range_begin_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_lid_range_begin_get", _wrap_madGenericInform_lid_range_begin_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_lid_range_end_set", _wrap_madGenericInform_lid_range_end_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_lid_range_end_get", _wrap_madGenericInform_lid_range_end_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_reserved1_set", _wrap_madGenericInform_reserved1_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_reserved1_get", _wrap_madGenericInform_reserved1_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_is_generic_set", _wrap_madGenericInform_is_generic_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_is_generic_get", _wrap_madGenericInform_is_generic_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_subscribe_set", _wrap_madGenericInform_subscribe_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_subscribe_get", _wrap_madGenericInform_subscribe_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_trap_type_set", _wrap_madGenericInform_trap_type_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_trap_type_get", _wrap_madGenericInform_trap_type_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_trap_num_set", _wrap_madGenericInform_trap_num_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_trap_num_get", _wrap_madGenericInform_trap_num_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_qpn_resp_time_val_set", _wrap_madGenericInform_qpn_resp_time_val_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_qpn_resp_time_val_get", _wrap_madGenericInform_qpn_resp_time_val_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_reserved2_set", _wrap_madGenericInform_reserved2_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_reserved2_get", _wrap_madGenericInform_reserved2_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_node_type_msb_set", _wrap_madGenericInform_node_type_msb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_node_type_msb_get", _wrap_madGenericInform_node_type_msb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_node_type_lsb_set", _wrap_madGenericInform_node_type_lsb_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_node_type_lsb_get", _wrap_madGenericInform_node_type_lsb_get, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp, SWIG_prefix "madGenericInform_send_set", _wrap_madGenericInform_send_set, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+	 Tcl_CreateObjCommand(interp,SWIG_prefix "madGenericInform",TclmadGenericInformCmd, (ClientData) NULL, NULL);
+/*
+ * These are the pointer type-equivalency mappings.
+ * (Used by the SWIG pointer type-checker).
+ */
+	 SWIG_RegisterMapping("_signed_long","_long",0);
+	 SWIG_RegisterMapping("_ib_lft_record_t","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_ib_lft_record_t","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_madServiceRec","_struct_madServiceRec",0);
+	 SWIG_RegisterMapping("_struct_madMcMemberRec","_madMcMemberRec",0);
+	 SWIG_RegisterMapping("_IBPort","_class_IBPort",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","_ib_port_info_t",0);
+	 SWIG_RegisterMapping("_struct__ib_port_info","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","_ib_switch_info_t",0);
+	 SWIG_RegisterMapping("_struct__ib_switch_info","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_class_IBMSNode","_IBMSNode",0);
+	 SWIG_RegisterMapping("_IBSystem","_class_IBSystem",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_ib_switch_info_t",0);
+	 SWIG_RegisterMapping("__ib_switch_info","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_long","_unsigned_long",0);
+	 SWIG_RegisterMapping("_long","_signed_long",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","_ib_node_info_t",0);
+	 SWIG_RegisterMapping("_struct__ib_node_info","__ib_node_info",0);
+	 SWIG_RegisterMapping("_msgManager","_class_msgManager",0);
+	 SWIG_RegisterMapping("_class_IBPort","_IBPort",0);
+	 SWIG_RegisterMapping("_struct__ib_node_desc","_ib_node_desc_t",0);
+	 SWIG_RegisterMapping("_struct__ib_node_desc","__ib_node_desc",0);
+	 SWIG_RegisterMapping("_madPathRec","_struct_madPathRec",0);
+	 SWIG_RegisterMapping("_IBMgtSim","_class_IBMgtSim",0);
+	 SWIG_RegisterMapping("_struct_madServiceRec","_madServiceRec",0);
+	 SWIG_RegisterMapping("_class_IBFabric","_IBFabric",0);
+	 SWIG_RegisterMapping("_ib_switch_info_t","_struct__ib_switch_info",0);
+	 SWIG_RegisterMapping("_ib_switch_info_t","__ib_switch_info",0);
+	 SWIG_RegisterMapping("_class_msgManager","_msgManager",0);
+	 SWIG_RegisterMapping("_unsigned_long","_long",0);
+	 SWIG_RegisterMapping("_struct_madNotice128","_madNotice128",0);
+	 SWIG_RegisterMapping("_struct_madNotice129","_madNotice129",0);
+	 SWIG_RegisterMapping("_struct_madGenericInform","_madGenericInform",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","_ib_lft_record_t",0);
+	 SWIG_RegisterMapping("_struct__ib_lft_record","__ib_lft_record",0);
+	 SWIG_RegisterMapping("_madMcMemberRec","_struct_madMcMemberRec",0);
+	 SWIG_RegisterMapping("_struct_madPathRec","_madPathRec",0);
+	 SWIG_RegisterMapping("_signed_int","_int",0);
+	 SWIG_RegisterMapping("_madNotice128","_struct_madNotice128",0);
+	 SWIG_RegisterMapping("_IBMSNode","_class_IBMSNode",0);
+	 SWIG_RegisterMapping("_madNotice129","_struct_madNotice129",0);
+	 SWIG_RegisterMapping("_IBSysPort","_class_IBSysPort",0);
+	 SWIG_RegisterMapping("_madGenericInform","_struct_madGenericInform",0);
+	 SWIG_RegisterMapping("_ib_pm_counters_t","_struct__ib_pm_counters",0);
+	 SWIG_RegisterMapping("_ib_pm_counters_t","__ib_pm_counters",0);
+	 SWIG_RegisterMapping("_unsigned_short","_short",0);
+	 SWIG_RegisterMapping("_ib_port_info_t","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_ib_port_info_t","__ib_port_info",0);
+	 SWIG_RegisterMapping("_struct__ib_pm_counters","_ib_pm_counters_t",0);
+	 SWIG_RegisterMapping("_struct__ib_pm_counters","__ib_pm_counters",0);
+	 SWIG_RegisterMapping("_struct_madNotice144","_madNotice144",0);
+	 SWIG_RegisterMapping("__ib_pm_counters","_ib_pm_counters_t",0);
+	 SWIG_RegisterMapping("__ib_pm_counters","_struct__ib_pm_counters",0);
+	 SWIG_RegisterMapping("_signed_short","_short",0);
+	 SWIG_RegisterMapping("_IBNode","_class_IBNode",0);
+	 SWIG_RegisterMapping("_madNotice144","_struct_madNotice144",0);
+	 SWIG_RegisterMapping("_unsigned_int","_int",0);
+	 SWIG_RegisterMapping("_class_IBSysPort","_IBSysPort",0);
+	 SWIG_RegisterMapping("_class_IBSystem","_IBSystem",0);
+	 SWIG_RegisterMapping("_short","_unsigned_short",0);
+	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("_ib_node_info_t","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_ib_node_info_t","__ib_node_info",0);
+	 SWIG_RegisterMapping("__ib_port_info","_ib_port_info_t",0);
+	 SWIG_RegisterMapping("__ib_port_info","_struct__ib_port_info",0);
+	 SWIG_RegisterMapping("_int","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_signed_int",0);
+	 SWIG_RegisterMapping("__ib_node_info","_ib_node_info_t",0);
+	 SWIG_RegisterMapping("__ib_node_info","_struct__ib_node_info",0);
+	 SWIG_RegisterMapping("_class_IBNode","_IBNode",0);
+	 SWIG_RegisterMapping("_IBFabric","_class_IBFabric",0);
+	 SWIG_RegisterMapping("__ib_node_desc","_ib_node_desc_t",0);
+	 SWIG_RegisterMapping("__ib_node_desc","_struct__ib_node_desc",0);
+	 SWIG_RegisterMapping("_ib_node_desc_t","_struct__ib_node_desc",0);
+	 SWIG_RegisterMapping("_ib_node_desc_t","__ib_node_desc",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_ib_lft_record_t",0);
+	 SWIG_RegisterMapping("__ib_lft_record","_struct__ib_lft_record",0);
+	 SWIG_RegisterMapping("_class_IBMgtSim","_IBMgtSim",0);
+	 
+   if (Tcl_PkgRequire(interp,"tclreadline",0,0) != NULL) {
+     Tcl_Eval(interp,
+				  "if {$tcl_interactive} {namespace eval tclreadline {proc prompt1 {} {return \"ibms >\"} }; ::tclreadline::Loop ibms.log }"
+     );
+   }
+return TCL_OK;
+}
diff --git a/ibmgtsim/src/inttypes.i b/ibmgtsim/src/inttypes.i
new file mode 100644
index 0000000..7c599cb
--- /dev/null
+++ b/ibmgtsim/src/inttypes.i
@@ -0,0 +1,462 @@
+%typemap(tcl8,in) uint64_t *(uint64_t temp) {
+  temp = strtoull(Tcl_GetStringFromObj($source,NULL), NULL,16);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint64_t *, uint64_t {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint32_t * (uint32_t temp){
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint32_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint16_t * (uint16_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint16_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) uint8_t * (uint8_t temp) {
+  temp = strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0);
+  $target = &temp;
+}
+
+%typemap(tcl8,out) uint8_t * {
+  char buff[20];
+  sprintf(buff, "%u", *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net64_t *(uint64_t temp) {
+  temp = cl_hton64(strtoull(Tcl_GetStringFromObj($source,NULL), NULL, 16));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net64_t * {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, cl_ntoh64(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net32_t *(ib_net32_t temp) {
+  temp = cl_hton32(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net32_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_ntoh32(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,in) ib_net16_t * (ib_net16_t temp) {
+  temp = cl_hton16(strtoul(Tcl_GetStringFromObj($source,NULL), NULL, 0));
+  $target = &temp;
+}
+
+%typemap(tcl8,out) ib_net16_t * {
+  char buff[20];
+  sprintf(buff, "%u", cl_hton16(*$source));
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,argout) uint64_t *OUTPUT {
+  char buff[20];
+  sprintf(buff, "0x%016" PRIx64, *$source);
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+%typemap(tcl8,ignore) uint64_t *OUTPUT(uint64_t temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,out) boolean_t * {
+  if (*$source) {
+	 Tcl_SetStringObj($target,"TRUE", 4);
+  } else {
+	 Tcl_SetStringObj($target,"FALSE", 5);
+  }
+}
+
+%typemap(tcl8,in) boolean_t *(boolean_t temp) {
+  if (strcmp(Tcl_GetStringFromObj($source,NULL), "TRUE")) {
+	 temp = FALSE;
+  } else {
+	 temp = TRUE;
+  }
+  $target = &temp;
+}
+
+%typemap (tcl8, ignore) char **p_out_str (char *p_c) {
+  $target = &p_c;
+}
+
+%typemap (tcl8, argout) char **p_out_str {
+  Tcl_SetStringObj($target,*$source,strlen(*$source));
+  if (*$source) free(*$source);
+}
+
+/* handle char arrays as members of a struct */
+%typemap (tcl8, memberin) char [ANY] {
+  strncpy($target,$source,$dim0 - 1);
+  $target[$dim0] = '\0';
+}
+
+%typemap(tcl8,out) ib_gid_t* {
+  char buff[36];
+  sprintf(buff, "0x%016" PRIx64 ":0x%016" PRIx64,
+          cl_ntoh64($source->unicast.prefix),
+          cl_ntoh64($source->unicast.interface_id)
+          );
+  Tcl_SetStringObj($target,buff,strlen(buff));
+}
+
+/* ---------------- handling array of uint8_t ---------------------- */
+%{
+#define uint8_array_t uint8_t
+%}
+%typemap(memberin) uint8_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint8_array_t[ANY] (uint8_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xff)
+    {
+      printf("Error: wrong format or out of range value for expected uint8_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint8_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%02x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint16_t ---------------------- */
+%{
+#define uint16_array_t uint16_t
+%}
+%typemap(memberin) uint16_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint16_array_t[ANY] (uint16_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint16_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%04x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint32_t ---------------------- */
+%{
+#define uint32_array_t uint32_t
+%}
+%typemap(memberin) uint32_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint32_array_t[ANY] (uint32_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > (long int)0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected uint32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint32_array_t[ANY] {
+  int i;
+  char buff[12];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%08x ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of uint64_t ---------------------- */
+%{
+#define uint64_array_t uint64_t
+%}
+%typemap(memberin) uint64_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+		$target[i] = *($source+i);
+	}
+}
+
+%typemap(in) uint64_array_t[ANY] (uint64_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected uint64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = entry;
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) uint64_array_t[ANY] {
+  int i;
+  char buff[20];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", *($source+i));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net16_t ---------------------- */
+%{
+#define ib_net16_array_t ib_net16_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net16_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net16_array_t[ANY] (ib_net16_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  long int entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 65535)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net16_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton16(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net16_array_t[ANY] {
+  int i;
+  char buff[8];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%04x ", cl_ntoh16(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net32_t ---------------------- */
+%{
+#define ib_net32_array_t ib_net32_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net32_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net32_array_t[ANY] (ib_net32_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint32_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtol(p_ch, NULL, 0);
+    if (entry > 0xffffffff)
+    {
+      printf("Error: wrong format or out of range value for expected ib_net32_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton32(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net32_array_t[ANY] {
+  int i;
+  char buff[12];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%08x ", cl_ntoh32(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
+
+/* ---------------- handling array of ib_net64_t ---------------------- */
+%{
+#define ib_net64_array_t ib_net64_t
+%}
+
+/* note - no need for cl_hton since the "in" typemap will do */
+%typemap(memberin) ib_net64_array_t[ANY] {
+	int i;
+	for (i=0; i <$dim0 ; i++) {
+     $target[i] = *($source+i);
+	}
+}
+
+%typemap(in) ib_net64_array_t[ANY] (ib_net64_t entrys[$dim0]) {
+  char *buff;
+  char *p_ch;
+  char *last;
+  uint64_t entry;
+
+  int i = 0;
+  buff = (char *)malloc((strlen(Tcl_GetStringFromObj($source,NULL))+1)*sizeof(char));
+  strcpy(buff, Tcl_GetStringFromObj($source,NULL));
+  p_ch = strtok_r(buff, " \t",&last);
+  while (p_ch && (i < $dim0))
+  {
+    entry = strtoll(p_ch, NULL, 0);
+    if (entry > 0xffffffffffffffffULL )
+    {
+      printf("Error: wrong format or out of range value for expected ib_net64_t entry: %s\n", p_ch);
+      return TCL_ERROR;
+    }
+    entrys[i++] = cl_hton64(entry);
+    p_ch = strtok_r(NULL, " \t", &last);
+  }
+  for (; i < $dim0; i++) entrys[i] = 0;
+
+  free(buff);
+  $target = entrys;
+}
+
+%typemap(tcl8, out) ib_net64_array_t[ANY] {
+  int i;
+  char buff[20];
+  for (i=0; i <$dim0 ; i++) {
+    sprintf(buff, "0x%016" PRIx64 " ", cl_ntoh64(*($source+i)));
+    Tcl_AppendResult(interp, buff, NULL);
+  }
+}
diff --git a/ibmgtsim/src/mads.i b/ibmgtsim/src/mads.i
new file mode 100644
index 0000000..2423b7e
--- /dev/null
+++ b/ibmgtsim/src/mads.i
@@ -0,0 +1,582 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * MADS INTERFACE: Provide means for dispatching mads into the simulator
+ */
+
+%{
+  /* the following code will place the mad into the dispatcher */
+  int
+    send_mad(
+      IBMSNode *pFromNode,
+      uint8_t   fromPort,
+      uint16_t  destLid,
+      uint8_t   mgmt_class,
+      uint8_t   method,
+      uint16_t  attr,
+      uint32_t  attr_mod,
+      uint8_t  *data,
+      size_t    size)
+    {
+      ibms_mad_msg_t msg;
+      IBPort *pPort;
+      static uint64_t tid = 19927;
+
+      /* initialize the message address vector */
+      msg.addr.sl = 0;
+      msg.addr.pkey_index = 0;
+      msg.addr.dlid = destLid;
+      msg.addr.sqpn = 0;
+      msg.addr.dqpn = 0;
+
+      pPort = pFromNode->getIBNode()->getPort(fromPort);
+      if (! pPort)
+      {
+        cout << "-E- Given port:" << fromPort << " is down." << endl;
+        return 1;
+      }
+      msg.addr.slid = pPort->base_lid;
+
+      /* initialize the mad header */
+      msg.header.base_ver = 1;
+      msg.header.mgmt_class = mgmt_class;
+      msg.header.class_ver = 1;
+      msg.header.method = method;
+      msg.header.status = 0;
+      msg.header.class_spec = 0;
+      msg.header.trans_id = tid++;
+      msg.header.attr_id = cl_hton16(attr);
+      msg.header.attr_mod = cl_hton32(attr_mod);
+
+      memcpy(msg.payload, data, size);
+      IBMSDispatcher *pDispatcher = Simulator.getDispatcher();
+      if (! pDispatcher )
+        return TCL_ERROR;
+
+      return pDispatcher->dispatchMad(pFromNode, fromPort, msg);
+    }
+
+  int send_sa_mad(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint8_t   mgmt_class,
+    uint8_t   method,
+    uint16_t  attr,
+    uint64_t  comp_mask,
+    uint8_t  *sa_data,
+    size_t    sa_data_size)
+    {
+      ib_sa_mad_t mad = {0}; /* includes std header and rmpp header */
+
+      mad.attr_offset = ib_get_attr_offset(sa_data_size);
+      mad.comp_mask = cl_hton64(comp_mask);
+      memcpy(mad.data, sa_data, sa_data_size);
+
+      return send_mad(
+        pFromNode,
+        fromPort,
+        destLid,
+        mgmt_class,
+        method,
+        attr,
+        0,
+        &mad.rmpp_version,
+        MAD_RMPP_DATA_SIZE + 12);
+    }
+
+%}
+
+%{
+#define madMcMemberRec ib_member_rec_t
+%}
+
+struct madMcMemberRec
+{
+  madMcMemberRec();
+  ~madMcMemberRec();
+
+  ib_gid_t				mgid;
+  ib_gid_t				port_gid;
+  ib_net32_t			qkey;
+  ib_net16_t			mlid;
+  uint8_t				mtu;
+  uint8_t				tclass;
+  ib_net16_t			pkey;
+  uint8_t				rate;
+  uint8_t				pkt_life;
+  ib_net32_t			sl_flow_hop;
+  uint8_t				scope_state;
+  //  uint8_t				proxy_join;  hard to get as it is defined as bit field
+}
+
+%addmethods madMcMemberRec {
+  int send_set(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+
+  int send_get(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+
+  int send_del(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_DELETE,
+                cl_ntoh16(IB_MAD_ATTR_MCMEMBER_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madMcMemberRec)
+                )
+              );
+    }
+}
+
+
+%{
+#define madPathRec ib_path_rec_t
+%}
+
+struct madPathRec
+{
+  madPathRec();
+  ~madPathRec();
+  ib_net64_t service_id;
+  ib_gid_t dgid;
+  ib_gid_t sgid;
+  ib_net16_t dlid;
+  ib_net16_t slid;
+  ib_net32_t hop_flow_raw;
+  uint8_t tclass;
+  uint8_t num_path;
+  ib_net16_t pkey;
+  ib_net16_t qos_class_sl;
+  uint8_t mtu;
+  uint8_t rate;
+  uint8_t pkt_life;
+  uint8_t preference;
+  uint8_array_t resv2[6];
+}
+
+%addmethods madPathRec {
+  int send_get(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_PATH_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madPathRec)
+                )
+              );
+    }
+}
+
+%{
+#define madServiceRec ib_service_record_t
+%}
+
+struct madServiceRec
+{
+  madServiceRec();
+  ~madServiceRec();
+
+  ib_net64_t		service_id;
+  ib_gid_t		service_gid;
+  ib_net16_t		service_pkey;
+  ib_net16_t		resv;
+  ib_net32_t		service_lease;
+  uint8_array_t	        service_key[16];
+  uint8_array_t	        service_name[64];
+  uint8_array_t		service_data8[16];
+  uint16_array_t	service_data16[8];
+  uint32_array_t	service_data32[4];
+  uint64_array_t	service_data64[2];
+}
+
+%addmethods madServiceRec {
+  int send_set(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+
+  int send_get(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_GET,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+
+  int send_del(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_DELETE,
+                cl_ntoh16(IB_MAD_ATTR_SERVICE_RECORD),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madServiceRec)
+                )
+              );
+    }
+}
+
+
+%{
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr128
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            sw_lid; // the sw lid of which link state changed - for 128 only
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr128_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice128 ib_mad_notice_attr128_t
+%}
+
+struct madNotice128
+{
+  madNotice128();
+  ~madNotice128();
+
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            sw_lid; // the sw lid of which link state changed - for 128 only
+  ib_gid_t		issuer_gid;
+}
+
+%addmethods madNotice128 {
+  int send_trap(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid)
+    {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice128)
+                )
+              );
+    }
+}
+
+%{
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr129
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad;      //129
+  ib_net16_t            lid;	  // 129 lid and port number of the violation
+  uint8_t               port_num; //129
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr129_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice129 ib_mad_notice_attr129_t
+%}
+
+struct madNotice129
+{
+  madNotice129();
+  ~madNotice129();
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad;      //129
+  ib_net16_t            lid;	  // 129 lid and port number of the violation
+  uint8_t               port_num; //129
+  ib_gid_t		issuer_gid;
+}
+
+%addmethods madNotice129 {
+  int send_trap(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid)
+    {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice129)
+                )
+              );
+    }
+}
+
+%{
+#include <complib/cl_packon.h>
+typedef struct _ib_mad_notice_attr144
+{
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad1;         // 144
+  ib_net16_t            lid;	      // 144 lid where capability mask changed
+  ib_net16_t            pad2;         // 144
+  ib_net32_t            new_cap_mask; // 144 new capability mask
+  ib_gid_t		issuer_gid;
+}	PACK_SUFFIX ib_mad_notice_attr144_t;
+#include <complib/cl_packoff.h>
+
+#define madNotice144 ib_mad_notice_attr144_t
+%}
+
+struct madNotice144
+{
+  madNotice144();
+  ~madNotice144();
+
+  uint8_t	        generic_type;
+  uint8_t		prod_type_msb;
+  ib_net16_t	        prod_type_lsb;
+  ib_net16_t	        trap_num;
+  ib_net16_t		issuer_lid;
+  ib_net16_t		toggle_count;
+  ib_net16_t            pad1;         // 144
+  ib_net16_t            lid;	      // 144 lid where capability mask changed
+  ib_net16_t            pad2;         // 144
+  ib_net32_t            new_cap_mask; // 144 new capability mask
+  ib_gid_t		issuer_gid;
+}
+
+%addmethods madNotice144 {
+  int send_trap(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid)
+    {
+      return( send_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_LID,
+                IB_MAD_METHOD_TRAP,
+                cl_ntoh16(IB_MAD_ATTR_NOTICE),
+                0,
+                (uint8_t*)self,
+                sizeof(madNotice144)
+                )
+              );
+    }
+}
+
+%{
+#include <complib/cl_packon.h>
+typedef struct _ib_generic_inform_info
+{
+	ib_gid_t			gid;
+	ib_net16_t		lid_range_begin;
+	ib_net16_t		lid_range_end;
+	ib_net16_t		reserved1;
+	uint8_t			is_generic;
+	uint8_t			subscribe;
+	ib_net16_t		trap_type;
+	ib_net16_t		trap_num;
+	ib_net32_t		qpn_resp_time_val;
+	uint8_t        reserved2;
+	uint8_t			node_type_msb;
+	ib_net16_t		node_type_lsb;
+}	PACK_SUFFIX ib_generic_inform_info_t;
+#include <complib/cl_packoff.h>
+
+#define madGenericInform ib_generic_inform_info_t
+%}
+
+struct madGenericInform
+{
+  madGenericInform();
+  ~madGenericInform();
+
+	ib_gid_t			gid;
+	ib_net16_t		lid_range_begin;
+	ib_net16_t		lid_range_end;
+	ib_net16_t		reserved1;
+	uint8_t			is_generic;
+	uint8_t			subscribe;
+	ib_net16_t		trap_type;
+	ib_net16_t		trap_num;
+	ib_net32_t		qpn_resp_time_val;
+	uint8_t        reserved2;
+	uint8_t			node_type_msb;
+	ib_net16_t		node_type_lsb;
+}
+
+#define IB_INFORM_INFO_COMP_GID 0x1
+#define IB_INFORM_INFO_COMP_LID_BEGIN 0x2
+#define IB_INFORM_INFO_COMP_LID_END 0x4
+#define IB_INFORM_INFO_COMP_IS_GENERIC 0x10
+#define IB_INFORM_INFO_COMP_TRAP_TYPE 0x40
+#define IB_INFORM_INFO_COMP_TRAP_NUM 0x80
+#define IB_INFORM_INFO_COMP_QPN 0x100
+#define IB_INFORM_INFO_COMP_RESP_TIME 0x200
+#define IB_INFORM_INFO_COMP_NODE_TYPE 0x800
+
+%addmethods madGenericInform {
+  int send_set(
+    IBMSNode *pFromNode,
+    uint8_t   fromPort,
+    uint16_t  destLid,
+    uint64_t  comp_mask)
+    {
+      return( send_sa_mad(
+                pFromNode,
+                fromPort,
+                destLid,
+                IB_MCLASS_SUBN_ADM,
+                IB_MAD_METHOD_SET,
+                cl_ntoh16(IB_MAD_ATTR_INFORM_INFO),
+                comp_mask,
+                (uint8_t*)self,
+                sizeof(madGenericInform)
+                )
+              );
+    }
+}
diff --git a/ibmgtsim/src/msgmgr.cpp b/ibmgtsim/src/msgmgr.cpp
new file mode 100644
index 0000000..8224b89
--- /dev/null
+++ b/ibmgtsim/src/msgmgr.cpp
@@ -0,0 +1,348 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "msgmgr.h"
+#include <string>
+#include <stdio.h>
+#include <string.h>
+
+using namespace std;
+
+//
+// MESSAGE TYPE CLASS
+//
+msgType::msgType(char s, string &fmt, string ctx, string mod)
+{
+  severity = s;
+  format = fmt;
+  context = ctx;
+  module = mod;
+
+  // calc the number of fields
+  int pos = 0;
+  numFields = 0;
+  while ((pos = 1 + format.find('$', pos)) > 0) numFields++;
+
+  // limit to 6 :
+  if (numFields > 6)
+  {
+    cerr << "-E- msgManager too many fields (>6) in msgType:" << fmt << endl;
+    numFields = 6;
+  }
+}
+
+//
+// MESSAGE MANAGER CLASS
+//
+
+string msgManager::msg2string(
+  msgObj msg,
+  int externalVerbosity, // if not 0 will be used as the verbosity
+  int errFatals)  // if not 0 will cerr any  FATAL err
+{
+  // find the message format:
+  int_mtype_map::const_iterator mTypeI = types.find(msg.typeId);
+  if (mTypeI == types.end())
+  {
+    cerr << "-E- Fail to find message type by id:" << msg.typeId << endl;
+    return "";
+  }
+
+  msgType t = (*mTypeI).second;
+
+  int vl;
+  if (externalVerbosity == 0)
+    vl = getVerbLevel(t.module);
+  else
+    vl = externalVerbosity;
+
+  // filter by verbose level:
+  if ( (t.severity == 'F' && (vl & MsgShowFatal)) ||
+       (t.severity == 'E' && (vl & MsgShowError)) ||
+       (t.severity == 'W' && (vl & MsgShowWarning)) ||
+       (t.severity == 'I' && (vl & MsgShowInfo)) ||
+       (t.severity == 'M' && (vl & MsgShowMads)) ||
+       (t.severity == 'R' && (vl & MsgShowFrames)) ||
+       (t.severity == 'V' && (vl & MsgShowVerbose)))
+  {
+
+    char res[1024];
+    char tmp[1024];
+
+    res[0] = '\0';
+
+    // add time if required
+    if (vl & MsgShowTime)
+      sprintf(res, "[%09ld:%09ld]", msg.when.tv_sec, (long)msg.when.tv_usec);
+
+    // start with severity
+    sprintf(tmp, "-%c-", t.severity);
+    strcat(res, tmp);
+
+    // include parenthesis if either context or source
+    if ((vl & MsgShowContext) || (vl & MsgShowSource) || (vl & MsgShowModule) )
+      strcat(res,"(");
+
+    // append the module if required:
+    if (vl & MsgShowModule)
+    {
+      strcat(res, t.module.c_str());
+      strcat(res, " ");
+    }
+
+    // append the context if required:
+    if (vl & MsgShowContext)
+      strcat(res, t.context.c_str());
+
+    // append file and line if required:
+    if (vl & MsgShowSource)
+    {
+      sprintf(tmp, " %s,%d", msg.inFile.c_str(), msg.lineNum);
+      strcat(res, tmp);
+    }
+
+    // close the parent system or space
+    if ((vl & MsgShowContext) || (vl & MsgShowSource) || (vl & MsgShowModule))
+      strcat(res,") ");
+    else
+      strcat(res," ");
+
+    // go over the format:
+    int pos = 0, nextPos = 0;
+    int numFields = 0;
+    while ((nextPos = t.format.find('$', pos)) >= 0)
+    {
+      strcat(res,t.format.substr(pos,nextPos - pos).c_str());
+      switch (++numFields)
+      {
+      case 1: strcat(res, msg.f1.c_str()); break;
+      case 2: strcat(res, msg.f2.c_str()); break;
+      case 3: strcat(res, msg.f3.c_str()); break;
+      case 4: strcat(res, msg.f4.c_str()); break;
+      case 5: strcat(res, msg.f5.c_str()); break;
+      case 6: strcat(res, msg.f6.c_str()); break;
+      }
+      pos = nextPos + 1;
+    }
+
+    strcat(res, t.format.substr(pos).c_str());
+    strcat(res, "\n");
+
+    // send FATAL errors directly to the stderr
+    if (errFatals && (t.severity == 'F') && (vl & MsgShowFatal))
+      cerr << res;
+
+    return res;
+  }
+  return "";
+}
+
+// get number of outstanding messages of the given severity
+int msgManager::outstandingMsgCount(int vl) {
+  // go over all messages past the pendingMsgsI iterator and count them if
+  // match the given verbose level
+  int cnt = 0;
+
+  unsigned int I = pendingMsgsI;
+  msgType t;
+  pthread_mutex_lock(&lock);
+  while (I < log.size())
+  {
+    // get the message type obj:
+    t = types[(log[I]).typeId];
+    if ( (t.severity == 'F' && (vl & MsgShowFatal)) ||
+         (t.severity == 'E' && (vl & MsgShowError)) ||
+         (t.severity == 'W' && (vl & MsgShowWarning)) ||
+         (t.severity == 'I' && (vl & MsgShowInfo)) ||
+         (t.severity == 'M' && (vl & MsgShowMads)) ||
+         (t.severity == 'R' && (vl & MsgShowFrames)) ||
+         (t.severity == 'V' && (vl & MsgShowVerbose)) ) cnt++;
+    I++;
+  }
+  pthread_mutex_unlock(&lock);
+  return cnt;
+}
+
+// get outstanding messages of the given severity
+string msgManager::outstandingMsgs(int vl) {
+  // go over all messages past the pendingMsgsI iterator and collect
+  // match the given verbose level
+  string res = "";
+
+  pthread_mutex_lock(&lock);
+  unsigned int I = pendingMsgsI;
+
+  msgType t;
+  while (I < log.size())
+  {
+    // get the message type obj:
+    t = types[(log[I]).typeId];
+    if ( (t.severity == 'F' && (vl & MsgShowFatal)) ||
+         (t.severity == 'E' && (vl & MsgShowError)) ||
+         (t.severity == 'W' && (vl & MsgShowWarning)) ||
+         (t.severity == 'I' && (vl & MsgShowInfo)) ||
+         (t.severity == 'M' && (vl & MsgShowMads)) ||
+         (t.severity == 'R' && (vl & MsgShowFrames)) ||
+         (t.severity == 'V' && (vl & MsgShowVerbose)) )
+      res += msg2string(log[I], vl);
+    I++;
+  }
+  pthread_mutex_unlock(&lock);
+  return res;
+}
+
+// return the next message string if included in the given types
+string msgManager::getNextMessage() {
+  string res("");
+
+  pthread_mutex_lock(&lock);
+
+  if (pendingMsgsI == log.size() - 1)
+    res = msg2string(log[pendingMsgsI++]);
+
+  pthread_mutex_unlock(&lock);
+  return res;
+}
+
+void  msgManager::nullOutstandingMsgs() {
+  pthread_mutex_lock(&lock);
+
+  if (log.size() == 0)
+    pendingMsgsI = 0;
+  else
+    pendingMsgsI = log.size();
+
+  pthread_mutex_unlock(&lock);
+
+}
+
+// declare a new message type - return the generator id:
+int msgManager::reg(char s, string fmt, string ctx, string mod) {
+  msgType t(s,fmt,ctx,mod); // create a msg type
+  pthread_mutex_lock(&lock);
+  int id = types.size() + 1;
+  types[id] = t; // store in map
+  pthread_mutex_unlock(&lock);
+  return id;
+}
+
+// get a new message and do something with it
+int msgManager::send(int typeId, string fn , int ln, msgStr i1 ,msgStr i2 ,msgStr i3 ,
+                 msgStr i4, msgStr i5 ,msgStr i6)
+{
+
+  // create a new message
+  msgObj msg(typeId, i1.s,i2.s,i3.s,i4.s,i5.s,i6.s,fn,ln);
+
+  // store in the log
+  pthread_mutex_lock(&lock);
+
+  // We store all messages in the log vector - but we can void that for now
+  // log.push_back(msg);
+
+  // if the message if Fatal send it to stderr if we are logging to file.
+  int sendFatalsToCerr = 0;
+  if ((*outStreamP != cout) && (*outStreamP != cerr))
+    sendFatalsToCerr = 1;
+
+  // handle the new message
+  if (outStreamP) {
+    // default verbosity, err on fatal
+    (*outStreamP) << msg2string(msg, 0, sendFatalsToCerr);
+    outStreamP->flush();
+  }
+
+  // if we unlock after we stream we serialize the display
+  pthread_mutex_unlock(&lock);
+
+
+  return 0;
+}
+
+msgStr::msgStr(const char cp[])           {if (cp) {s = string(cp);};}
+msgStr::msgStr(const int i)               {char b[8];  sprintf(b, "%d", i); s = string(b);}
+msgStr::msgStr(const long int i)          {char b[8];  sprintf(b, "%ld", i);s = string(b);}
+msgStr::msgStr(const float i)             {char b[16]; sprintf(b, "%f", i); s = string(b);}
+msgStr::msgStr(const double i)            {char b[16]; sprintf(b, "%f", i); s = string(b);}
+msgStr::msgStr(const unsigned long int i) {char b[16]; sprintf(b, "%lu", i);s = string(b);}
+msgStr::msgStr(const unsigned int i)      {char b[8];  sprintf(b, "%u", i); s = string(b);}
+msgStr::msgStr(const unsigned short i)    {char b[8];  sprintf(b, "%u", i); s = string(b);}
+msgStr::msgStr(const unsigned long long i){char b[20];  sprintf(b, "0x%016llx", i); s = string(b);}
+
+msgManager &msgMgr(int vl, std::ostream *o)
+{
+  static msgManager *pMgr = NULL;
+  if (pMgr == NULL)
+  {
+    pMgr = new msgManager(vl, o);
+  }
+
+  return (*pMgr);
+};
+
+// we provide two global definitions for entering and leaving functions:
+int msgMgrEnterFunc = msgMgr().reg('R',"$ [", "top", "msg");
+int msgMgrLeaveFunc = msgMgr().reg('R',"$ ]", "top", "msg");
+
+#ifdef MSG_MGR_TEST
+
+int main(int argc, string **argv)
+{
+  msgMgr( MsgShowFatal | MsgShowError | MsgShowWarning, &cerr);
+  MSGREG(err1,
+         'E',  // severity
+         "Fail to find node:$ for inst:$ of type:$",
+         "noModule"
+         );
+  MSGREG(verb1,'V', "This verbose with param:$ bla","");
+  msgMgr().send(err1,__FILE__,__LINE__,"n18","i1","output");
+  MSGSND(verb1,"pv1");
+  MSGSND(err1,"node","inst","type");
+  static int mod1Err = msgMgr().reg('V', "This is module param:$", "main", "myModule");
+  MSGREG(mod2Err,'V', "This is another module param:$", "otherModule");
+
+  msgMgr().setVerbLevel(MsgShowAll, "myModule");
+  msgMgr().send(mod1Err,__FILE__,__LINE__,"PARAM1");
+  MSGSND(mod2Err,"PARAM2");
+  MSGREG(err3, 'E', "This is error no param", "mySecondModule");
+  MSGSND(err3);
+
+  cout << "Getting all messages..." <<endl;
+  msgMgr().clrVerbLevel("myModule");
+  msgMgr().send(mod1Err,__FILE__,__LINE__,"PARAM1");
+
+  cout << msgMgr().outstandingMsgs(MsgShowAll);
+}
+
+#endif
diff --git a/ibmgtsim/src/msgmgr.h b/ibmgtsim/src/msgmgr.h
new file mode 100644
index 0000000..0ee4687
--- /dev/null
+++ b/ibmgtsim/src/msgmgr.h
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+///////////////////////////////////////////////////////////////////////////
+//
+// Message Manager -
+//
+// A centralized way for error warning info verbose etc messaging.
+//
+// The main idea:
+// 1. An application register each new message type (providing a module name, and a
+//    parameterized msg string) using msgMan.reg which returns the msgType object
+// 2. An application then uses msgType.msg method to send the message providing
+//    only the message arguments.
+//
+// EXAMPLE CODE:
+//
+// 0. The following flags define the verbosity level:
+//    MsgShowFatal   - show fatal errors
+//    MsgShowError   - show algorithmic or data non fatal errors
+//    MsgShowWarning - show warnings
+//    MsgShowInfo    - show info massages
+//    MsgShowVerbose - show verbose messages
+//    MsgShowMads    - show MAD messages contents
+//    MsgShowContext - show the context info for the message (normally the function name)
+//    MsgShowSource  - show the file name and line of the message
+//    MsgShowAll     - all the above
+//    MsgDefault     - MsgShowContext | MsgShowFatal | MsgShowError | MsgShowWarning | MsgShowInfo
+//
+// 1. Get a ref to the massage manager
+//    NOTE: on the first call it's out stream and verbosity is defined.
+//    msgMgr(MsgDefault, &cout)
+//
+// 2. Define some message templates:
+//
+//    static int errMsg1 = msgMgr().reg(
+//     'E',                                        // severity
+//     "Fail to find node:$ for inst:$ of type:$", // actual format
+//     "myProcedure"                               // context
+//     "myModule"                                  // module name
+//     );
+//
+// 3. Send a message (using the predefined type errMsg1):
+//    msgMgr().send(errMsg1,__FILE__,__LINE__,"n18","i1","output");
+//
+// 4. You can control the verbosity of each module:
+//    msgMgr().setVerbLevel(MsgShowAll, "myModule");
+//    NOTE: Even if the global verbosity is set to errors only a verbose message
+//          of type with module "myModule" will be shown.
+//
+//    For simplicity we provide macro versions:
+//
+//    MSGREG(varName, verbosity, msgTemplate, module) - register new type for current module
+//
+//    MSGSND(varName, "parameter1", "parameter2", ...) - send the message
+//
+//    The example above will look like:
+//    MSGREG(errMsg1, 'E', "Fail to find node:$ for inst:$ of type:$","myModule");
+//    MSGSND(errMsg1, "n18","i1","output");
+//
+// HACK: currently I use max f 6 optional fields
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef __MSG_MGR_H__
+#define __MSG_MGR_H__
+
+#include <sys/time.h>
+#include <inttypes.h>
+#include <pthread.h>
+#include <vector>
+#include <string>
+#include <iostream>
+#include <list>
+#include <map>
+
+#define MSGREG(varName, verbosity, msgTemplate, module) \
+    static int varName = msgMgr().reg(verbosity, msgTemplate, __FUNCTION__, module);
+
+#define MSGGLBREG(varName, verbosity, msgTemplate, module) \
+    static int varName = msgMgr().reg(verbosity, msgTemplate, "Global", module);
+
+#define MSGSND(varName, ...) \
+  msgMgr().send(varName ,__FILE__,__LINE__,##__VA_ARGS__);
+
+extern int msgMgrEnterFunc;
+#define MSG_ENTER_FUNC \
+  msgMgr().send(msgMgrEnterFunc ,__FILE__,__LINE__,__FUNCTION__);
+
+extern int msgMgrLeaveFunc;
+#define MSG_EXIT_FUNC \
+  msgMgr().send(msgMgrLeaveFunc ,__FILE__,__LINE__,__FUNCTION__);
+#if 0
+#define MSG_ENTER_FUNC
+#define MSG_EXIT_FUNC
+#endif
+
+// we use specialization of strings to support casting of various types:
+class msgStr {
+ public:
+  std::string s;
+  msgStr(const msgStr &os) {s = os.s;};
+  msgStr(const char cp[]);
+  msgStr(const std::string str) {s = str;};
+  msgStr(const int i);
+  msgStr(const long int i);
+  msgStr(const float i);
+  msgStr(const double i);
+  msgStr(const unsigned int i);
+  msgStr(const unsigned long int i);
+  msgStr(const unsigned short int i);
+  msgStr(const unsigned long long i);
+
+  //msgStr operator+ (const char cp[]) { s += std::string(cp);};
+  msgStr operator+ (const char cp1[]) {
+    msgStr tmp(*this);
+    tmp.s += std::string(cp1);
+    return tmp;
+  }
+  // msgStr operator+ (const msgStr os) { s += os.s;};
+};
+
+// a single message object
+class msgObj {
+  // the message fields
+  std::string f1,f2,f3,f4,f5,f6;
+  int         lineNum;
+  std::string inFile;
+  int         typeId;
+  struct timeval when;
+
+ public:
+  inline msgObj() {typeId = 0;};
+  msgObj(int t ,std::string i1,std::string i2,std::string i3,std::string i4,std::string i5,std::string i6,
+			std::string fn = "", int ln = 0) {
+    struct timezone tz; // we need it temporarily
+	 typeId = t; f1 = i1; f2 = i2; f3 = i3; f4 = i4; f5 = i5; f6 = i6;
+	 inFile = fn; lineNum = ln;
+    gettimeofday( &when, &tz );
+  }
+  // ~msgObj();
+  friend class msgManager;
+};
+
+// Each message has an associated type.The type defines the format of the message
+// and the module it belongs to.
+class msgType {
+  char severity;
+  std::string format;  // format string is "<any string> $ <any string> $ ...."
+  int numFields;  // number of fields in the format
+  std::string context; // the context (the function) of the message
+  std::string module;  // the module name - message filtering can be done in module granularity
+ public:
+
+  msgType() { severity = 'U'; numFields = 0; context = ""; module = "";};
+  msgType(char s, std::string &fmt, std::string ctx = "", std::string mod = "");
+
+  // ~msgType(); // NOTE it will not be removed from the mgr list of generators!
+
+  // generate a msg object and send it to the manager
+  // HACK WE CURRENTLY LIMIT THE NUMBER OF FIELDS TO 6
+  // string send(string f1 = "", string f2 = "", string f3 = "",
+  // string f4 = "", string f5 = "", string f6 = "");
+  friend class msgManager;
+};
+
+#define msg_vec              std::vector<msgObj>
+#define int_mtype_map        std::map<int, msgType, std::less<int> >
+#define module_verbosity_map std::map< std::string, int, std::less<std::string> >
+
+// modes of verbose
+const int MsgShowFatal  = 0x01;
+const int MsgShowError  = 0x02;
+const int MsgShowWarning= 0x04;
+const int MsgShowInfo   = 0x08;
+const int MsgShowVerbose= 0x10;
+const int MsgShowContext= 0x20;
+const int MsgShowSource = 0x40;
+const int MsgShowTime   = 0x80;
+const int MsgShowModule = 0x100;
+const int MsgShowMads   = 0x200;
+const int MsgShowFrames = 0x400;
+const int MsgShowAll    = 0xffff;
+const int MsgDefault    = 0x62f;
+
+// This is the manager class
+class msgManager {
+  msg_vec         log;         // hold all messages in generation order
+  int_mtype_map   types;       // hold all generators declared
+  std::ostream *  outStreamP;  // target stream
+  pthread_mutex_t lock;        // need to lock the log vectors during push/pop
+
+  // verbLevel - controls the msg verbosity.
+  module_verbosity_map  verbLevel;
+
+  unsigned int pendingMsgsI;
+
+  // will use the module verbosity of the message type if the
+  // external verbosity is not defined.
+  std::string msg2string(msgObj msg, int externalVerbosity = 0,
+                         int errFatals = 0); // produce a message string.
+
+ public:
+  // default constructor in any case ...
+  msgManager() {
+    verbLevel[std::string("")] = MsgDefault;
+    outStreamP = & std::cout;
+    pendingMsgsI = 0;
+    pthread_mutex_init(&lock, NULL);
+  };
+
+  // The constructor
+  msgManager(const int vl, std::ostream *o = & std::cout) {
+	 verbLevel[std::string("")] = vl; outStreamP = o; pendingMsgsI = 0;
+    // Initialize the lock object
+    pthread_mutex_init(&lock, NULL);
+  };
+
+  ~msgManager();
+
+  // get
+  inline int           getVerbLevel(std::string module = "") {
+    module_verbosity_map::iterator vI = verbLevel.find(module);
+    if (vI != verbLevel.end()) {
+      return((*vI).second);
+    } else {
+      return(verbLevel[std::string("")]);
+    };
+  };
+  // clr
+  inline int           clrVerbLevel(std::string module = "") {
+    if (module.size() == 0) return 0;
+    module_verbosity_map::iterator vI = verbLevel.find(module);
+    if (vI != verbLevel.end())
+      verbLevel.erase(vI);
+    return 0;
+  };
+
+  inline void          setVerbLevel(int vl, std::string module = "") {verbLevel[module] = vl;};
+  inline std::ostream *getOutStream() {return outStreamP;};
+  inline void          setOutStream(std::ostream * o) {outStreamP = o;};
+
+  // get number of outstanding messages of the given severity
+  int outstandingMsgCount(int vl = MsgShowFatal | MsgShowError);
+
+  // get all outstanding messages
+  std::string outstandingMsgs(int vl = MsgShowFatal | MsgShowError);
+
+  // return the next message string
+  std::string getNextMessage();
+
+  // null the list of outstanding messages:
+  void nullOutstandingMsgs();
+
+  // declare a new message type - return the generator id:
+  int reg(char s, std::string fmt, std::string ctx = "", std::string mod = "");
+
+  // get a new message and do something with it
+  int send(int typeId, std::string fn = "", int ln = 0,
+			  msgStr i1="",msgStr i2="",msgStr i3="",msgStr i4="",
+			  msgStr i5="",msgStr i6="");
+
+  // FUTURE:
+  // Other fancy utilities like summary, sorting of messages etc.
+
+};
+
+// we want to have a singleton massage manager
+msgManager &msgMgr(int vl = MsgDefault, std::ostream *o = & std::cout);
+
+#endif
diff --git a/ibmgtsim/src/node.cpp b/ibmgtsim/src/node.cpp
new file mode 100644
index 0000000..04f087c
--- /dev/null
+++ b/ibmgtsim/src/node.cpp
@@ -0,0 +1,666 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Node
+ * NAME
+ * IB Management Simulator Node object and accompany Mad Processor
+ *
+ * DESCRIPTION
+ * The simulator routes mad messages to the target node. This node
+ *  stores the device state (PM Counters, CR Space, etc). Pure virtual
+ *  MadProcessor class is provided to define the interface of mad processors.
+ *
+ * AUTHOR
+ * Eitan Zahavi, Mellanox
+ *
+ *********/
+
+#include "msgmgr.h"
+#include "node.h"
+#include "sim.h"
+#include "randmgr.h"
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSPortErrProfile
+//
+
+/* This class holds the variables defining statistical behavior of the
+   port counters */
+
+/* checks if needs to drop current packet - also increases the
+   packet count */
+boolean_t IBMSPortErrProfile::isDropped()
+{
+
+  //MSGREG(inf1, 'V', "New drop value:$ r:$ dr:$ after:$", "errProfile");
+  //MSGREG(inf2, 'V', "No need for new value after:$ (rand was:$)", "errProfile");
+
+  /* do we need to change our previous decision */
+  if ((--numPacketToNextChange) == 0)
+  {
+    /*
+      We use the packetDropRateVar as a measure to filter out changes in the
+      pass/fail decision. This is useful to sustain a failure over the
+      several retries of the packet send
+    */
+
+    float d = RandMgr()->random();
+    /* note a value of 1 means change on next packet */
+    numPacketToNextChange = (unsigned int)(2.0 * d * packetDropRateVar + 1);
+
+    /* take a new decision */
+    float r = RandMgr()->random();
+    if (r < packetDropRate)
+      drop = TRUE;
+    else
+      drop = FALSE;
+    //MSGSND(inf1, drop, r, packetDropRate, numPacketFromLastChange);
+  }
+  return drop;
+}
+
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSMadProcessor
+//
+
+/* Mad processor class is a pure virtual class that
+   supports handling of mads of specific class        */
+
+
+/* add a single mad processor to a node */
+void IBMSMadProcessor::addProcToNode(uint16_t mgtClass)
+{
+  MSGREG(inf1, 'V', "Registered mad processor of class:$ on node:$", "server");
+
+  /* we cannot simply push in the new mad processor */
+  /* need to make sure the vector has this entry */
+  if (pSimNode->madProccessors.size() <= mgtClass)
+    pSimNode->madProccessors.resize(mgtClass+1);
+
+  (pSimNode->madProccessors[mgtClass]).push_back(this);
+  MSGSND(inf1, mgtClass, pSimNode->getIBNode()->name);
+}
+
+/* constructor handles the registration of the new processor */
+IBMSMadProcessor::IBMSMadProcessor(
+  class IBMSNode *pSNode,
+  list_uint16 &mgtClassesList,
+  boolean_t preLocked)
+{
+
+  /* we need to have a lock here */
+  pSimNode = pSNode;
+  mgtClasses = mgtClassesList;
+
+  if (preLocked == FALSE)
+	  pthread_mutex_lock(&pSimNode->lock);
+
+  for (list_uint16::iterator lI = mgtClasses.begin();
+       lI != mgtClasses.end(); lI++)
+    addProcToNode(*lI);
+
+  if (preLocked == FALSE)
+	  pthread_mutex_unlock(&pSimNode->lock);
+}
+
+/* single class constructor */
+IBMSMadProcessor::IBMSMadProcessor(
+	class IBMSNode *pSNode,
+	uint16_t mgtClass,
+	boolean_t preLocked)
+{
+  /* we need to have a lock here */
+  pSimNode = pSNode;
+  mgtClasses.push_back(mgtClass);
+
+  if (preLocked == FALSE)
+	  pthread_mutex_lock(&pSimNode->lock);
+  addProcToNode(mgtClass);
+  if (preLocked == FALSE)
+	  pthread_mutex_unlock(&pSimNode->lock);
+}
+
+/* destructor must clean from node list */
+IBMSMadProcessor::~IBMSMadProcessor()
+{
+  MSGREG(err1, 'E', "Could not find the processor management class:$ in its node list?", "server");
+  MSGREG(err2, 'E', "Could not find the processor in its node list?", "server");
+  MSGREG(inf1, 'V', "Removed mad processor of class:$ from its node", "server");
+
+  /* need to lock the node - otherwise can race against mads ... */
+  pthread_mutex_lock(&pSimNode->lock);
+
+  for (list_uint16::iterator lI = mgtClasses.begin();
+       lI != mgtClasses.end(); lI++)
+  {
+    uint16_t mgtClass = *lI;
+    /* the class must have an entry */
+    if (pSimNode->madProccessors.size() <= mgtClass)
+    {
+      MSGSND(err1, mgtClass);
+    }
+    else
+    {
+      list_mad_processor::iterator lI =
+        find(pSimNode->madProccessors[mgtClass].begin(),
+             pSimNode->madProccessors[mgtClass].end(), this);
+      if (lI == pSimNode->madProccessors[mgtClass].end())
+      {
+        MSGSND(err2);
+      }
+      else
+      {
+        pSimNode->madProccessors[mgtClass].erase(lI);
+        MSGSND(inf1, mgtClass);
+      }
+    }
+  }
+  pthread_mutex_unlock(&pSimNode->lock);
+}
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSNode
+//
+
+/* Every IB node have this simulator node attached */
+
+/* constructor */
+IBMSNode::IBMSNode(class IBMgtSim *pS, class IBNode *pN)
+{
+  pSim = pS;
+  pNode = pN;
+
+  /* initialize the node lock */
+  pthread_mutex_init(&lock, NULL);
+
+  /* initialize all port counters */
+  ib_pm_counters_t zeroCounters;
+  memset(&zeroCounters, 0, sizeof(ib_pm_counters_t));
+
+  phyPortCounters.insert(phyPortCounters.begin(),
+                         pNode->numPorts+1, zeroCounters);
+
+  /* initialize default error statistics (constructed with zeros) */
+  for (unsigned int pn = 0; pn <= pNode->numPorts; pn++)
+  {
+    IBMSPortErrProfile errosProfile;
+    phyPortErrProfiles.push_back(errosProfile);
+  }
+}
+
+/* handle incoming mad by sending it to the processMad of every
+   IBMSMadProcessor on the node.                            */
+int IBMSNode::processMad(uint8_t inPort, ibms_mad_msg_t &madMsg)
+{
+  /* get the registered IBMSMadProcessor's of this class */
+  uint8_t mgtClass = madMsg.header.mgmt_class;
+  uint8_t method = madMsg.header.method;
+  uint16_t attributeId = cl_ntoh16(madMsg.header.attr_id);
+
+
+  MSGREG(err1, 'E', "No processor registered for class:$", "simnode");
+  MSGREG(inf1, 'V', "processing mad mgtClass $ attrId $ method $", "simnode");
+  MSGSND(inf1, mgtClass ,attributeId ,method);
+
+  if (madProccessors.size() <= mgtClass)
+  {
+    MSGSND(err1, mgtClass);
+    return 1;
+  }
+
+  if (madProccessors[mgtClass].empty())
+  {
+    MSGSND(err1, mgtClass);
+    return 1;
+  }
+
+  pthread_mutex_lock(&lock);
+
+  /* OK we got some processors - so call them */
+  for (list_mad_processor::iterator lI = madProccessors[mgtClass].begin();
+       lI != madProccessors[mgtClass].end();
+       lI++)
+  {
+	  (*lI)->processMad(inPort, madMsg);
+  }
+  pthread_mutex_unlock(&lock);
+
+  return 0;
+}
+
+/* set a particular port err profile */
+int IBMSNode::setPhyPortErrProfile(
+  uint8_t portNum, IBMSPortErrProfile &errProfile)
+{
+  if (portNum > pNode->numPorts)
+    return 1;
+
+  if (phyPortErrProfiles.size() <= portNum)
+    for (unsigned int pn = phyPortErrProfiles.size();
+         pn <= portNum;
+         pn++)
+    {
+      IBMSPortErrProfile newProfile;
+      phyPortErrProfiles.push_back(newProfile);
+    }
+
+  phyPortErrProfiles[portNum] = errProfile;
+  return 0;
+}
+
+/* get a particular port err profile */
+int IBMSNode::getPhyPortErrProfile(
+  uint8_t portNum, IBMSPortErrProfile &errProfile)
+{
+
+  if (portNum > pNode->numPorts)
+    return 1;
+
+  errProfile = phyPortErrProfiles[portNum];
+  return 0;
+}
+
+/* set a specific port counter */
+int IBMSNode::setPhyPortPMCounter(
+  uint8_t portNum, uint32_t counterSelect,
+  ib_pm_counters_t &countersVal)
+{
+  if (portNum > pNode->numPorts) return 1;
+  phyPortCounters[portNum] = countersVal;
+  return 0;
+}
+
+/* get a specific port counter */
+/* set a specific port counter */
+ib_pm_counters_t*
+IBMSNode::getPhyPortPMCounter(
+  uint8_t portNum, uint32_t counterSelect)
+{
+  if (portNum > pNode->numPorts) return 0;
+
+  return &(phyPortCounters[portNum]);
+}
+
+/* Read CrSpace Address */
+int IBMSNode::getCrSpace (uint32_t startAddr,uint32_t length , uint32_t data[] ) {
+  MSG_ENTER_FUNC;
+  uint32_t curAddr = startAddr;
+  int res =0;
+  MSGREG(inf0, 'V', "reading CrSpace from address $ length $ ", "ReadAddr");
+  MSGSND(inf0,startAddr,length);
+  for (uint32_t i=0;i<length;i++) {
+    curAddr = curAddr + i*4;
+    map < uint32_t , uint32_t,less < uint32_t > >::iterator  mapIter;
+    mapIter = crSpace.find(curAddr);
+    if (mapIter == crSpace.end())
+    {
+      MSGREG(err0, 'E', "Can't find address $ in CrSpace ", "ReadAddr");
+      MSGSND(err0,curAddr);
+      res = 1;
+    }
+    else
+    {
+      data[i] = (crSpace[curAddr]);
+      MSGREG(inf1, 'V', "reading CrSpace address $ got data - $ ", "ReadAddr");
+      MSGSND(inf1,curAddr,data[i]);
+    }
+  }
+  MSG_EXIT_FUNC;
+  return res;
+}
+
+/* Write CrSpace Address */
+int IBMSNode::setCrSpace(uint32_t startAddr,uint32_t length,uint32_t data[]) {
+  MSG_ENTER_FUNC;
+  int res =0;
+  int curAddr = startAddr;
+  MSGREG(inf0, 'V', "writing to CrSpace to address $ length $ ", "WriteAddr");
+  MSGSND(inf0,startAddr,length);
+  map < uint32_t , uint32_t,less < uint32_t > >::iterator mapIter;
+  for (uint32_t i=0;i<length;i++) {
+    curAddr = curAddr + i*4;
+    mapIter = crSpace.find(curAddr);
+    if (mapIter == crSpace.end())
+    {
+      MSGREG(err0, 'E', "Can't find address $ in CrSpace ", "WriteAddr");
+      MSGSND(err0,curAddr);
+      res =1;
+    }
+    crSpace[curAddr] = data[i];
+    MSGREG(inf1, 'V', "writing to CrSpace address $ data - $ ", "WriteAddr");
+    MSGSND(inf1,curAddr,data[i]);
+  }
+  MSG_EXIT_FUNC;
+  return res;
+}
+
+/* get MFT block */
+int IBMSNode::getMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *outMftBlock) {
+  MSG_ENTER_FUNC;
+  int res = 1;
+  MSGREG(inf0, 'V', "getting MFT block: blockIdx $ portIdx $ ", "node");
+  MSGSND(inf0, blockIdx, portIdx);
+  if ( (switchMftPortsEntry.size() > portIdx) &&
+       (switchMftPortsEntry[portIdx].size() > blockIdx ))
+  {
+    if (outMftBlock)
+      memcpy(outMftBlock, &(switchMftPortsEntry[portIdx][blockIdx]), sizeof(ib_mft_table_t));
+    res = 0;
+  } else {
+    if (outMftBlock)
+      memset(outMftBlock, 0, sizeof(ib_mft_table_t));
+    res = 0;
+  }
+  MSG_EXIT_FUNC;
+  return res;
+}
+
+/* set MFT block */
+int IBMSNode::setMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *inMftBlock) {
+  MSG_ENTER_FUNC;
+  int res = 1;
+  MSGREG(inf0, 'V', "setting MFT block: blockIdx $ portIdx $ ", "node");
+  MSGSND(inf0, blockIdx, portIdx);
+  if ( (switchMftPortsEntry.size() > portIdx) &&
+       (switchMftPortsEntry[portIdx].size() > blockIdx))
+  {
+    if (inMftBlock)
+    memcpy(&(switchMftPortsEntry[portIdx][blockIdx]), inMftBlock, sizeof(ib_mft_table_t));
+    res = 0;
+  }
+  MSG_EXIT_FUNC;
+  return res;
+}
+
+static void
+ib_net16_inc(ib_net16_t *pVal, unsigned int add = 1)
+{
+  *pVal = cl_hton16( cl_ntoh16(*pVal) + add);
+}
+
+static void
+ib_net32_inc(ib_net32_t *pVal, unsigned int add = 1)
+{
+  *pVal = cl_hton32( cl_ntoh32(*pVal) + add);
+}
+
+/*
+  Get remote node by given port number.
+  Handle both HCA and SW.
+
+  Return either 0 if step could be made or 1 if failed.
+
+  Updated both output pointers:
+  remNode - to the Sim Node of the other side
+  remIBPort - to the remote side IB Fabric Port object on the other side.
+  isVl15 - if > 0 - requires the port state to be init otherwise active
+*/
+int
+IBMSNode::getRemoteNodeByOutPort(
+  uint8_t outPortNum,
+  IBMSNode **ppRemNode,
+  IBPort **ppRemIBPort,
+  int isVl15)
+{
+
+  MSGREG(inf1, 'V', "No Remote connection on node:$ port:$", "node");
+  MSGREG(inf2, 'V', "Link is not ACTIVE on node:$ port:$ it is:$", "node");
+  MSGREG(inf3, 'I', "MAD is dropped on node:$ port:$", "node");
+
+  if (ppRemNode) *ppRemNode = NULL;
+  if (ppRemIBPort) *ppRemIBPort = NULL;
+
+  /* obtain the node lock */
+  pthread_mutex_lock(&lock);
+
+  /* get the other side on IBNode ... */
+  IBPort *pPort = pNode->getPort(outPortNum);
+  if (! pPort || !pPort->p_remotePort)
+  {
+    MSGSND(inf1, pNode->name, outPortNum);
+    pthread_mutex_unlock(&lock);
+    return 1;
+  }
+
+  /* OK we can update the returned variables */
+  if (ppRemIBPort != NULL) *ppRemIBPort = pPort->p_remotePort;
+
+  /* get the remote node if any */
+  IBNode *pRemIBNode = NULL;
+  IBMSNode *pRemSimNode = NULL;
+  if (pPort->p_remotePort)
+  {
+    pRemIBNode = pPort->p_remotePort->p_node;
+    pRemSimNode = ibmsGetIBNodeSimNode(pRemIBNode);
+  }
+
+  if (ppRemNode != NULL) *ppRemNode = pRemSimNode;
+
+  /* is the port active */
+  int linkStatus = getLinkStatus(outPortNum);
+
+  if (!((isVl15 && (linkStatus > IB_LINK_DOWN)) || (linkStatus == IB_LINK_ACTIVE)))
+  {
+    MSGSND(inf2, pNode->name, outPortNum, linkStatus);
+    pthread_mutex_unlock(&lock);
+    return 1;
+  }
+
+  /* do we want to drop this mad ? */
+  if (phyPortErrProfiles[outPortNum].isDropped())
+  {
+    // TODO: double check the register and also randomly
+    // increase the remote node rcv dropped.
+    // Update port counters of dropped mad.
+    ib_net16_inc(&(phyPortCounters[outPortNum].port_xmit_discard));
+
+    ib_net16_inc(
+      &(pRemSimNode->phyPortCounters[pPort->p_remotePort->num].port_rcv_errors));
+    ib_net16_inc(
+      &(pRemSimNode->phyPortCounters[pPort->p_remotePort->num].port_rcv_remote_physical_errors));
+
+    MSGSND(inf3, pNode->name, outPortNum);
+    pthread_mutex_unlock(&lock);
+    return 1;
+  }
+
+  // Update port counters of sent mad and received mads
+  ib_net32_inc(&(phyPortCounters[outPortNum].port_xmit_pkts));
+  ib_net32_inc(&(phyPortCounters[outPortNum].port_xmit_data), 256);
+  ib_net32_inc(&(pRemSimNode->phyPortCounters[pPort->p_remotePort->num].port_rcv_pkts));
+  ib_net32_inc(&(pRemSimNode->phyPortCounters[pPort->p_remotePort->num].port_rcv_data),256);
+
+  /* release the lock */
+  pthread_mutex_unlock(&lock);
+
+  return 0;
+}
+
+/* Set port state */
+int IBMSNode::setLinkStatus(
+  uint8_t portNum,
+  uint8_t newState)
+{
+  uint8_t                 oldState;
+  ibms_mad_msg_t          trapMadMsg;
+  ib_smp_t*               pTrapSmp = (ib_smp_t*)&(trapMadMsg.header);
+  ib_mad_notice_attr_t*   pTrapMadData =
+     (ib_mad_notice_attr_t*)&(pTrapSmp->data[0]);
+  ib_pm_counters_t*       pPortCounters;
+  uint32_t                counterSelect;
+  static uint64_t tid = 19927;
+
+
+
+  if (nodeInfo.num_ports < portNum)
+  {
+    return IB_LINK_NO_CHANGE;
+  }
+
+
+  oldState = ib_port_info_get_port_state( &nodePortsInfo[portNum]);
+
+  if ((oldState == IB_LINK_INIT) &&
+      ((newState != IB_LINK_DOWN) && (newState != IB_LINK_ARMED)))
+  {
+    return IB_LINK_NO_CHANGE;
+  }
+  else if ((oldState == IB_LINK_ARMED) &&
+           ((newState != IB_LINK_DOWN) && (newState != IB_LINK_ACTIVE)))
+  {
+    return IB_LINK_NO_CHANGE;
+  }
+  else if ((oldState == IB_LINK_ACTIVE) &&
+           ((newState != IB_LINK_DOWN) && (newState != IB_LINK_ARMED)))
+  {
+    return IB_LINK_NO_CHANGE;
+  }
+
+  //after checks are done:
+  //  1. change portInfo link state - Node DB
+  ib_port_info_set_port_state( &nodePortsInfo[portNum], newState);
+  //  2. change link counters of the port
+  //          0x2=LinkErrorRecoveryCounter;
+  //          0x4=LinkDownCounter
+  counterSelect = 0x2 | 0x4;
+  pPortCounters = getPhyPortPMCounter(portNum, counterSelect);
+  pPortCounters->link_error_recovery_counter++;
+  pPortCounters->link_down_counter++;
+  setPhyPortPMCounter(portNum, counterSelect, *pPortCounters);
+
+  if (nodeInfo.node_type == IB_NODE_TYPE_CA)
+  {
+    return newState;
+  }
+
+  /* In case of a switch */
+  if ((newState == IB_LINK_DOWN) &&
+      ((oldState == IB_LINK_INIT) ||
+       (oldState == IB_LINK_ARMED) ||
+       (oldState == IB_LINK_ACTIVE)) ||
+      (oldState == IB_LINK_DOWN) &&
+      ((newState == IB_LINK_INIT) ||
+       (newState == IB_LINK_ARMED) ||
+       (newState == IB_LINK_ACTIVE))
+      )
+  {
+    //  3. if node is a switch update the portStateChange
+    ib_switch_info_set_state_change(&switchInfo);
+    //  4. if node is a switch send a trap
+    ib_mad_init_new( (ib_mad_t*)&(trapMadMsg.header),
+                     IB_MCLASS_SUBN_LID,
+                     1,
+                     IB_MAD_METHOD_TRAP,
+                     0x12345678,
+                     IB_MAD_ATTR_NOTICE,
+                     0);
+
+    // TODO add support to other traps then 128 (only supported for now)
+    {
+      uint32_t prodType;
+
+      prodType = (IB_NOTICE_TYPE_URGENT | (IB_NODE_TYPE_SWITCH << 8));
+      ib_notice_set_prod_type( pTrapMadData, cl_ntoh32(prodType));
+    }
+
+    pTrapMadData->generic_type = 0x81;
+    pTrapMadData->g_or_v.generic.trap_num = CL_NTOH16(128);
+    pTrapMadData->issuer_lid = cl_ntoh16(nodePortsInfo[0].base_lid);
+    pTrapMadData->toggle_count = 0;
+    pTrapMadData->data_details.ntc_128.sw_lid =
+       cl_ntoh16(nodePortsInfo[0].base_lid);
+
+    trapMadMsg.addr.sl = 15;
+    trapMadMsg.addr.pkey_index = 0;
+    trapMadMsg.addr.slid = cl_ntoh16(nodePortsInfo[0].base_lid);
+    trapMadMsg.addr.dlid = cl_ntoh16(nodePortsInfo[0].master_sm_base_lid);
+    trapMadMsg.addr.sqpn = 0;
+    trapMadMsg.addr.dqpn = 0;
+
+    /* initialize the mad header */
+    trapMadMsg.header.base_ver = 1;
+    trapMadMsg.header.mgmt_class = IB_MCLASS_SUBN_LID;
+    trapMadMsg.header.class_ver = 1;
+    trapMadMsg.header.method = IB_MAD_METHOD_TRAP;
+    trapMadMsg.header.status = 0;
+    trapMadMsg.header.class_spec = 0;
+    trapMadMsg.header.trans_id = tid++;
+    trapMadMsg.header.attr_id = IB_MAD_ATTR_NOTICE;
+    trapMadMsg.header.attr_mod = cl_hton32(0);
+
+    pSim->getDispatcher()->dispatchMad(this, 0, trapMadMsg);
+  }
+  return newState;
+}
+
+
+/* Get remote node by lid. Handle both HCA and SW */
+int IBMSNode::getRemoteNodeByLid(
+  uint16_t lid,
+  IBMSNode **ppRemNode,
+  IBPort **ppRemIBPort,
+  int isVl15)
+{
+  uint8_t portNum;
+  MSGREG(inf1, 'V', "No FDB Entry for lid:$ node:$", "node");
+
+  /* obtain the node lock */
+  pthread_mutex_lock(&lock);
+
+  /* just look at the FDB for that lid */
+  portNum = pNode->getLFTPortForLid(lid);
+  if (portNum == IB_LFT_UNASSIGNED)
+  {
+    MSGSND(inf1, lid, pNode->name);
+    pthread_mutex_unlock(&lock);
+    return 1;
+  }
+
+  /* release the node lock */
+  pthread_mutex_unlock(&lock);
+
+  /* if the port number is 0 - we stay on this node */
+  if (portNum == 0)
+  {
+    *ppRemNode = this;
+    *ppRemIBPort = pNode->getPort(0);
+    return 0;
+  }
+  else
+    return getRemoteNodeByOutPort(portNum, ppRemNode , ppRemIBPort, isVl15);
+}
diff --git a/ibmgtsim/src/node.h b/ibmgtsim/src/node.h
new file mode 100644
index 0000000..2723bae
--- /dev/null
+++ b/ibmgtsim/src/node.h
@@ -0,0 +1,371 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBMS_NODE_H
+#define IBMS_NODE_H
+
+/****h* IBMS/Node
+* NAME
+*	IB Management Simulator Node object and accompany Mad Processor
+*
+* DESCRIPTION
+*	The simulator routes mad messages to the target node. This node
+*  stores the device state (PM Counters, CR Space, etc). Pure virtual
+*  MadProcessor class is provided to define the interface of mad processors.
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+#include <string>
+#include <list>
+#include <map>
+#include <vector>
+#include <algorithm>
+#include <ibdm/Fabric.h>
+
+typedef std::list< class IBMSMadProcessor * > list_mad_processor;
+typedef std::vector< list_mad_processor > vec_mad_proc_list;
+typedef std::list< uint16_t > list_uint16;
+typedef std::list< uint8_t > list_uint8;
+
+
+#include <iba/ib_types.h>
+#include "simmsg.h"
+
+inline class IBMSNode * ibmsGetIBNodeSimNode(IBNode *pIBNode) {
+  return ((IBMSNode *)pIBNode->appData1.ptr);
+};
+
+inline void ibmsSetIBNodeSimNode(IBNode *pIBNode, class IBMSNode *pSimNode) {
+  pIBNode->appData1.ptr = pSimNode;
+};
+
+/* This class holds the variables defining statistical behavior of the
+   port counters */
+class IBMSPortErrProfile {
+ public:
+  /* the rate of packets dropped from the total passed */
+  float packetDropRate;
+
+  /* the variance of the rate */
+  float packetDropRateVar;
+
+  /* to be able to filter we need to have some history */
+  boolean_t drop;
+
+  /* this variable counts the number of packet to pass until the next drop/pass
+     random decision is made */
+  unsigned int numPacketToNextChange;
+
+  /* total number of packets passed */
+  uint64_t numPackets;
+
+  /* constructor */
+  IBMSPortErrProfile() {
+    packetDropRate = packetDropRateVar = 0;
+    numPacketToNextChange = 1; /* force first decision */
+    numPackets = 0ULL;
+  };
+
+  /* checks if needs to drop current packet - also increases the
+     packet count */
+  boolean_t isDropped();
+};
+
+/* Mad processor class is a pure virtual class that
+   supports handling of mads of specific classes        */
+class IBMSMadProcessor {
+
+protected:
+  /* a pointer back to the sim node object */
+  class IBMSNode *pSimNode;
+
+  list_uint16 mgtClasses;
+
+  /* add a single mad processor to the sim node */
+  void addProcToNode(uint16_t mgtClass);
+
+public:
+
+  /* Actually handle the mad. Might result with a call to the
+     outstandingMads->push() with a result                     */
+  virtual int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg) {return(0);};
+
+  /* constructors - should register class in the  in the node. */
+  IBMSMadProcessor(class IBMSNode *pSNode, uint16_t mgtClass, boolean_t preLocked = FALSE);
+  IBMSMadProcessor(class IBMSNode *pSNode, list_uint16 &mgtClasses, boolean_t preLocked = FALSE);
+
+  /* destructor - clean up from the node too */
+  virtual ~IBMSMadProcessor();
+};
+
+/* Every IB node have this simulator node attached */
+class IBMSNode {
+  /* Holds the lists of mad processors per mgt class */
+  vec_mad_proc_list madProccessors;
+
+  /* back pointer to the simulator main object */
+  class IBMgtSim *pSim;
+
+  /* the fabric node we attach to. */
+  class IBNode *pNode;
+
+  /* a vector holding the performance management counters for the node */
+  std::vector < ib_pm_counters_t > phyPortCounters;
+
+  /* a vector holding the error statistics for the particular port */
+  std::vector < class IBMSPortErrProfile > phyPortErrProfiles;
+
+  /* node lock : used to avoid races from changes to the node and usage */
+  pthread_mutex_t lock;
+
+ public:
+  ib_switch_info_t switchInfo;
+  ib_node_info_t nodeInfo;
+  std::vector < ib_port_info_t > nodePortsInfo;
+  std::vector < std::vector < ib_pkey_table_t > > nodePortPKeyTable;
+  std::vector < std::vector < ib_mft_table_t > > switchMftPortsEntry;
+  std::vector < ib_slvl_table_t > sl2VlOutPortEntry;
+  std::vector < std::vector < ib_slvl_table_t > > sl2VlInPortEntry;
+  std::vector < ib_vl_arb_table_t > vlArbPriority;
+  std::vector < std::vector < ib_vl_arb_table_t > > vlArbPortEntry;
+  /* thy node CR space - implemented as a map to be non continues */
+  std::map < uint32_t , uint32_t, std::less < uint32_t > > crSpace;
+
+  /* constructor */
+  IBMSNode(class IBMgtSim *pS, class IBNode *pN);
+
+  /* avoid friendship: */
+  IBNode *getIBNode() {return pNode;};
+
+  IBMgtSim *getSim() { return pSim;};
+
+  /* get the link status of the given port */
+  int getLinkStatus(uint8_t outPort) {
+    if (nodePortsInfo.size() <= outPort)
+      return IB_LINK_DOWN;
+
+    return ib_port_info_get_port_state(&(nodePortsInfo[outPort]));
+  };
+
+  /* set the link status of the given port */
+  int setLinkStatus(uint8_t portNum, uint8_t newState);
+
+  /* handle incoming mad by sending it to the processMad of every
+     IBMSMadProcessor on the node.                            */
+  int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg);
+
+  /* set a particular port err profile */
+  int setPhyPortErrProfile(uint8_t portNum, IBMSPortErrProfile &errProfile);
+
+  /* get a particular port err profile */
+  int getPhyPortErrProfile(uint8_t portNum, IBMSPortErrProfile &errProfile);
+
+  /* set a specific port counter */
+  int setPhyPortPMCounter(uint8_t portNum, uint32_t counterSelect,
+                          ib_pm_counters_t &countersVal);
+
+  /* get a specific port counter */
+  ib_pm_counters_t *
+    getPhyPortPMCounter(uint8_t portNum, uint32_t counterSelect);
+
+  /* set CR Space Value */
+  int setCrSpace(uint32_t startAddr,uint32_t length,uint32_t data[] );
+
+  /* get CR Space Value */
+  int getCrSpace(uint32_t startAddr,uint32_t length,uint32_t data[] );
+
+  /* get MFT block */
+  int getMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *outMftBlock);
+
+  /* set MFT block */
+  int setMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *inMftBlock);
+
+  /* get a specific port info */
+  ib_port_info_t * getPortInfo(uint8_t portNum) {
+    if (portNum >= nodePortsInfo.size()) return NULL;
+    return &nodePortsInfo[portNum];
+  };
+
+  /* get the node info */
+  ib_node_info_t * getNodeInfo() {
+    return &nodeInfo;
+  };
+
+  /* get the switch info */
+  ib_switch_info_t *getSwitchInfo() {
+    return &switchInfo;
+  };
+
+  /* get pkey table block */
+  ib_pkey_table_t *getPKeyTblBlock(uint8_t portNum, uint16_t blockNum) {
+    if (portNum >= nodePortPKeyTable.size())
+    {
+      printf("-E- Node:%s given port number out of range:%u > %u\n",
+             pNode->name.c_str(), portNum, (unsigned int)(nodePortPKeyTable.size() - 1));
+      return NULL;
+    }
+    if (blockNum >= nodePortPKeyTable[portNum].size())
+    {
+       printf("-E- Node:%s port:%u given pkey block number out of range:%u > %u\n",
+              pNode->name.c_str(), portNum,
+              blockNum, (unsigned int)(nodePortPKeyTable[portNum].size() - 1));
+       return NULL;
+    }
+    return &((nodePortPKeyTable[portNum])[blockNum]);
+  }
+
+  int setPKeyTblBlock(uint8_t portNum, uint16_t blockNum,
+                      ib_pkey_table_t *tbl) {
+
+    if (portNum >= nodePortPKeyTable.size())
+    {
+      printf("-E- Given port number out of range:%u > %u\n",
+             portNum, (unsigned int)(nodePortPKeyTable.size() - 1));
+      return 1;
+    }
+
+    if (blockNum >= nodePortPKeyTable[portNum].size())
+    {
+      ib_pkey_table_t emptyTable;
+      memset(&emptyTable, 0, sizeof(ib_pkey_table_t));
+      for( uint16_t i = nodePortPKeyTable[portNum].size();
+           i <= blockNum; i++)
+        nodePortPKeyTable[portNum].push_back(emptyTable);
+    }
+    (nodePortPKeyTable[portNum])[blockNum] = *tbl;
+    return(0);
+  };
+
+  /* get a specific SL2VL Table */
+  ib_slvl_table_t * getSL2VLTable(uint8_t inPortNum, uint8_t outPortNum) {
+    if (inPortNum >= sl2VlInPortEntry.size()) {
+		printf("-E- getSL2VLTable Node:%s in-port:%u > %u\n",
+				 pNode->name.c_str(), inPortNum,
+				 (unsigned int)(sl2VlInPortEntry.size() - 1));
+		return NULL;
+	 }
+    if (outPortNum >= sl2VlInPortEntry[inPortNum].size()) {
+		printf("-E- getSL2VLTable Node:%s out-port:%u > %u\n",
+				 pNode->name.c_str(), outPortNum,
+				 (unsigned int)(sl2VlInPortEntry[inPortNum].size() - 1));
+		return NULL;
+	 }
+    return &sl2VlInPortEntry[inPortNum][outPortNum];
+  };
+
+  /* set a specific SL2VL Table */
+  int setSL2VLTable(uint8_t inPortNum, uint8_t outPortNum,
+						  ib_slvl_table_t *tbl) {
+    if (inPortNum >= sl2VlInPortEntry.size()) {
+		printf("-E- setSL2VLTable Node:%s in-port:%u > %u\n",
+				 pNode->name.c_str(), inPortNum,
+				 (unsigned int)(sl2VlInPortEntry.size() - 1));
+		return 1;
+	 }
+    if (outPortNum >= sl2VlInPortEntry[inPortNum].size()) {
+		printf("-E- setSL2VLTable Node:%s out-port:%u > %u\n",
+				 pNode->name.c_str(), outPortNum,
+				 (unsigned int)(sl2VlInPortEntry[inPortNum].size() - 1));
+		return 1;
+	 }
+    (sl2VlInPortEntry[inPortNum])[outPortNum] = *tbl;
+	 return 0;
+  };
+
+  /* get a specific VLArb Table */
+  ib_vl_arb_table_t * getVLArbLTable(uint8_t portNum, uint8_t blockIndex) {
+	 if ((blockIndex < 1) || (blockIndex > 4)) {
+		printf("-E- getVLArbLTable blockIndex:%u out of range 1..4\n",
+				 blockIndex);
+		return NULL;
+	 }
+    if (portNum >= vlArbPortEntry.size()) {
+		printf("-E- getVLArbLTable Node:%s port-num:%u > %u\n",
+				 pNode->name.c_str(), portNum,
+				 (unsigned int)(vlArbPortEntry.size() - 1));
+		return NULL;
+	 }
+    return &vlArbPortEntry[portNum][blockIndex];
+  };
+
+  /* set a specific SL2VL Table */
+  int setVLArbLTable(uint8_t portNum, uint8_t blockIndex,
+						   ib_vl_arb_table_t *tbl) {
+	 if ((blockIndex < 1) || (blockIndex > 4)) {
+		printf("-E- setVLArbLTable blockIndex:%u out of range 1..4\n",
+				 blockIndex);
+		return 1;
+	 }
+    if (portNum >= vlArbPortEntry.size()) {
+		printf("-E- getVLArbLTable Node:%s port-num:%u > %u\n",
+				 pNode->name.c_str(), portNum,
+				 (unsigned int)(vlArbPortEntry.size() - 1));
+		return 1;
+	 }
+	 (vlArbPortEntry[portNum])[blockIndex] = *tbl;
+	 return 0;
+  };
+
+  /*
+    Get remote node by given port number.
+    Handle both HCA and SW.
+
+    Return either 0 if step could be made or 1 if failed.
+
+    Updated both output pointers:
+    remNode - to the Sim Node of the other side
+    remIBPort - to the remote side IB Fabric Port object on the other side.
+  */
+  int getRemoteNodeByOutPort(
+    uint8_t outPortNum,
+    IBMSNode **ppRemNode,
+    IBPort **ppRemIBPort, int isVl15 = 0);
+
+  /*
+    Get remote node by lid. Handle both HCA and SW
+    we can also simply provide pointer to the remote port as we assume
+    no topology changes are done after init of the fabric
+  */
+  int getRemoteNodeByLid(uint16_t lid,
+                         IBMSNode **ppRemNode, IBPort **ppRemIBPort, int isVl15 = 0);
+
+  /* for the sake of updating the map of mgtClass to list of handlers */
+  friend class IBMSMadProcessor;
+  friend class IBMSServer;
+};
+
+#endif /* IBMS_NODE_H */
diff --git a/ibmgtsim/src/pma.cpp b/ibmgtsim/src/pma.cpp
new file mode 100644
index 0000000..562eba0
--- /dev/null
+++ b/ibmgtsim/src/pma.cpp
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Pma
+ * NAME
+ * IB Performance Manager Agent Simulator object
+ *
+ * DESCRIPTION
+ * The simulator routes mad messages to the target node. This node
+ *  MadProcessor PMA class is provided to handle and respond to these mads.
+ *
+ * AUTHOR
+ * Nimrod Gindi, Mellanox
+ *
+ *********/
+
+#include "msgmgr.h"
+#include "simmsg.h"
+#include "sim.h"
+#include "pma.h"
+#include "sma.h"
+#include "helper.h"
+#include "dispatcher.h"
+#include "node.h"
+
+IBMSPma::IBMSPma(
+  IBMSNode *pSNode, uint16_t mgtClass) :
+  IBMSMadProcessor(pSNode, mgtClass)
+{
+  MSG_ENTER_FUNC;
+
+  IBNode*     pNodeData;
+
+  pNodeData = pSNode->getIBNode();
+
+  MSG_EXIT_FUNC;
+}
+
+int IBMSPma::pmaMadValidation(
+  ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+
+  // we handle Get or Set
+  if ((madMsg.header.method != 1) && (madMsg.header.method != 2))
+  {
+    MSGREG(err0, 'W', "We are not handling Method:$", "pmaMadValidation");
+    MSGSND(err0, madMsg.header.method);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  //ibms_dump_mad( pmaMadMsg, RCV);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSPma::pmaPortCounters(
+  ib_pm_counters_t &respMadMsg,
+  ib_pm_counters_t &reqMadMsg,
+  uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  uint8_t             portSelect;
+  uint32_t            counterSelect;
+  ib_pm_counters_t*   pPmCount;
+
+  portSelect = reqMadMsg.port_select;
+  counterSelect =  (uint32_t) CL_NTOH16(reqMadMsg.counter_select);
+
+  switch (reqMadMsg.mad_header.method) {
+  case IB_MAD_METHOD_GET:
+    MSGREG(inf0, 'I', "Performance Get Counters !", "pmaPortCounters");
+    MSGSND(inf0);
+
+    pPmCount = pSimNode->getPhyPortPMCounter(portSelect, counterSelect);
+    if (! pPmCount)
+    {
+      MSGREG(err3, 'E', "Failed to obtain Port Counters for Port:$", "pmaPortCounters");
+      MSGSND(err3, portSelect);
+
+      MSG_EXIT_FUNC;
+      return IB_SA_MAD_STATUS_REQ_INVALID;
+    }
+    memcpy((void*) &respMadMsg, (void*) pPmCount, sizeof(ib_pm_counters_t));
+    break;
+  case IB_MAD_METHOD_SET:
+    MSGREG(inf1, 'I', "Performance Set Counters !", "pmaPortCounters");
+    MSGSND(inf1);
+
+    status =
+      pSimNode->setPhyPortPMCounter(portSelect, counterSelect, reqMadMsg);
+
+    break;
+  default:
+    MSGREG(err2, 'E', "No such Method supported ", "pmaPortCounters");
+    MSGSND(err2);
+
+    MSG_EXIT_FUNC;
+    return IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSPma::processMad(
+  uint8_t inPort,
+  ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+  ibms_mad_msg_t      respMadMsg;
+  ib_pm_counters_t    pmaMadMsg;
+  ib_pm_counters_t    respPmaMadMsg;
+  ib_net16_t          status = 0;
+  uint16_t            attributeId = 0;
+
+  memset(&respPmaMadMsg, 0, sizeof(respPmaMadMsg));
+  memcpy(&pmaMadMsg, &madMsg.header, sizeof(ib_pm_counters_t));
+
+  //1. Verify rcv PMA MAD validity.
+  status = pmaMadValidation(madMsg);
+  if (status != 0)
+  {
+    //TODO need to do it more cleanly
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  //2. Switch according to the attribute to the mad handle
+  //      and call appropriate function
+  MSGREG(inf0, 'I', "Process Mad got the following attribute: $ !", "processMad");
+  MSGSND(inf0, cl_ntoh16(pmaMadMsg.mad_header.attr_id));
+  attributeId = pmaMadMsg.mad_header.attr_id;
+
+  switch (attributeId) {
+  case IB_MAD_ATTR_PORT_CNTRS:
+    MSGREG(inf1, 'I', "Attribute being handled is Port Counters !", "processMad");
+    MSGSND(inf1);
+
+    status = pmaPortCounters(respPmaMadMsg, pmaMadMsg, inPort);
+    break;
+  default:
+    MSGREG(err1, 'E', "No handler for requested attribute:$", "processMad");
+    MSGSND(err1, cl_ntoh16(attributeId));
+    status = IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+
+    //TODO need to do it more cleanly
+    MSG_EXIT_FUNC;
+    return status;
+    break;
+  }
+
+  //send response
+  //ibms_dump_mad( respPmaMadMsg, SND);
+  // copy header from request to the response
+  {
+    ib_mad_t*   pRespGmp = (ib_mad_t*)(&respPmaMadMsg.mad_header);
+    ib_mad_t*   pReqGmp = (ib_mad_t*)(&pmaMadMsg.mad_header);
+    memcpy(pRespGmp, pReqGmp, sizeof(ib_mad_t));
+  }
+  memcpy(&respMadMsg.header, &respPmaMadMsg, sizeof(respPmaMadMsg));
+
+  respMadMsg.addr = madMsg.addr;
+  respMadMsg.addr.slid = madMsg.addr.dlid;
+  respMadMsg.addr.dlid = madMsg.addr.slid;
+  if (respMadMsg.header.method == IB_MAD_METHOD_SET)
+  {
+    respMadMsg.header.method = IB_MAD_METHOD_GET_RESP;
+  }
+  else respMadMsg.header.method |= IB_MAD_METHOD_RESP_MASK;
+
+  pSimNode->getSim()->getDispatcher()->dispatchMad(pSimNode, inPort, respMadMsg);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
diff --git a/ibmgtsim/src/pma.h b/ibmgtsim/src/pma.h
new file mode 100644
index 0000000..34ab609
--- /dev/null
+++ b/ibmgtsim/src/pma.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Performance Manager Agent
+* NAME
+*	IB Performance Manager Agent Simulator
+*
+* DESCRIPTION
+*	The top level object of the performance manager agent simulator
+*
+* AUTHOR
+*	Nimrod Gindi, Mellanox
+*
+*********/
+
+#ifndef PMA_H
+#define PMA_H
+
+#include "sma.h"
+
+class IBMSPma : IBMSMadProcessor {
+
+  /* init functions of node structures */
+
+  /* Mad Validation */
+  int pmaMadValidation(ibms_mad_msg_t &madMsg);
+
+  /* ----------------------------
+        Attributes Handling
+     ----------------------------*/
+  int pmaPortCounters(ib_pm_counters_t &respMadMsg,
+                      ib_pm_counters_t &reqMadMsg,
+                      uint8_t         inPort);
+
+
+ public:
+  /* Top level of handling the PMA MAD. Might result with a call to the
+     outstandingMads->push() with a result                     */
+  int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg);
+
+  /* Constructor - should initial the specific class elements
+     in the node. */
+  IBMSPma(IBMSNode *pSNode, uint16_t mgtClass);
+
+  /* destructor - clean up from the node too */
+  // ~IBMSPma();
+
+};
+
+#endif /* PMA_H */
diff --git a/ibmgtsim/src/randmgr.cpp b/ibmgtsim/src/randmgr.cpp
new file mode 100644
index 0000000..9dfe10d
--- /dev/null
+++ b/ibmgtsim/src/randmgr.cpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "randmgr.h"
+#include <stdlib.h>
+
+/* set the random number seed */
+int
+RandomMgr::setRandomSeed( int seed ) {
+  pthread_mutex_lock( &lock );
+  if (randomSeed)
+  {
+    pthread_mutex_unlock( &lock );
+    return 1;
+  }
+  randomSeed = seed;
+  pthread_mutex_unlock( &lock );
+  return 0;
+}
+
+/* get a random floating point number 0.0 - 1.0 */
+float
+RandomMgr::random() {
+  float res;
+  pthread_mutex_lock( &lock );
+  res = (rand_r( &randomSeed ) * 1.0) / RAND_MAX;
+  pthread_mutex_unlock( &lock );
+  return res;
+}
+
+/* get the singleton pointer */
+RandomMgr *RandMgr() {
+  static RandomMgr *pMgr = new RandomMgr();
+  return pMgr;
+}
diff --git a/ibmgtsim/src/randmgr.h b/ibmgtsim/src/randmgr.h
new file mode 100644
index 0000000..dc50807
--- /dev/null
+++ b/ibmgtsim/src/randmgr.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/RandomManager
+* NAME
+*	A singleton for random numbers generation.
+*
+* DESCRIPTION
+*	The random number generator singleton is required to
+*  enable test reproduction by serializing all random number
+*  generation.
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+#ifndef IBMS_RANDMGR_H
+#define IBMS_RANDMGR_H
+
+#include <pthread.h>
+
+class RandomMgr {
+  /* the random generator seed */
+  unsigned int randomSeed;
+
+  /* lock - enables locking the simulator */
+  pthread_mutex_t lock;
+
+ public:
+  /* constructor */
+  RandomMgr() {
+    randomSeed = 0;
+    pthread_mutex_init( &lock, NULL );
+  };
+
+  /* set the random number seed */
+  int setRandomSeed( int seed );
+
+  /* get a random floating point number 0.0 - 1.0 */
+  float random();
+};
+
+/* get the singleton pointer */
+RandomMgr *RandMgr();
+
+#endif /* IBMS_RANDMGR_H */
diff --git a/ibmgtsim/src/server.cpp b/ibmgtsim/src/server.cpp
new file mode 100644
index 0000000..efdb98e
--- /dev/null
+++ b/ibmgtsim/src/server.cpp
@@ -0,0 +1,526 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "server.h"
+#include "msgmgr.h"
+#include "helper.h"
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSClientConn
+//
+#include <fstream>      /* for C++ file IO */
+#include <sys/socket.h> /* for socket(), bind(), and connect() */
+#include <arpa/inet.h>  /* for sockaddr_in and inet_ntoa() */
+#include <unistd.h>     /* for gethostname() */
+#include <string.h>     /* for memset() */
+#include "sim.h"
+
+/*
+  One instance of this class exists for each connected client.
+  The instance is created when the client sends the connect message,
+  providing the port guid it attaches to.
+*/
+
+/* handle client request - should be called under lock */
+/* NOTE: to avoid deadlocks we require the node to be
+	locked before. We are using special constructor for
+	the MADProcessor marking the node is preLocked  */
+int
+IBMSClientConn::handleBindMsg(
+  ibms_bind_msg_t &msg)
+{
+  MSG_ENTER_FUNC;
+  MSGREG(err1, 'E', "Fail to create a new mad processor.", "server");
+
+  /* create a new client mad processor */
+  IBMSClientMsgProcessor *madProcessor =
+    new IBMSClientMsgProcessor(this, msg);
+  if (madProcessor == NULL)
+  {
+    MSGSND(err1);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  /* keep track of active mad processors */
+  madProcessors.push_back(madProcessor);
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+/* destructor - needs to cleanup any binding done through this conn */
+IBMSClientConn::~IBMSClientConn()
+{
+  MSG_ENTER_FUNC;
+  /* NOTE: each mad processor will lock the node */
+  for(list_pmad_proc::iterator lI = madProcessors.begin();
+      lI != madProcessors.end();
+      lI++)
+  {
+    delete *lI;
+  }
+  MSG_EXIT_FUNC;
+}
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSServer
+//
+
+IBMSServer::IBMSServer(IBMgtSim *pS, unsigned short portNum) :
+  GenServer(portNum, sizeof(ibms_client_msg_t))
+{
+  MSG_ENTER_FUNC;
+  char hostName[32];
+  gethostname(hostName, sizeof(hostName)-1);
+
+  pSim = pS;
+
+  /* the generic gen server might fail */
+  if (isAlive())
+  {
+    /* write down the server port into the appropriate file */
+    std::ofstream serverFile;
+    string serverFileName(pSim->getSimulatorDir());
+    serverFileName += "/ibmgtsim.server";
+    serverFile.open(serverFileName.c_str());
+    if (!serverFile.fail())
+    {
+      serverFile << hostName << " " << portNum << endl;
+      serverFile.close();
+    }
+    else
+    {
+      MSGREG(err1, 'E', "Fail to create file:$", "server");
+      MSGSND(err1, serverFileName);
+    }
+  }
+  MSG_EXIT_FUNC;
+}
+
+/* cleaning up client when notified it is closing */
+int IBMSServer::closingClient(
+  int clientSock)
+{
+  MSG_ENTER_FUNC;
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+  if (sI != sockToClientMap.end())
+  {
+    IBMSClientConn *pClientConn = (*sI).second;
+    sockToClientMap.erase(sI);
+    delete pClientConn;
+  }
+  MSG_EXIT_FUNC;
+  return(0);
+}
+
+/* handle a connection message */
+int IBMSServer::handleConnectionMsg(
+  int clientSock,
+  ibms_conn_msg_t &connMsg)
+{
+  MSG_ENTER_FUNC;
+  MSGREG(err1, 'E', "Given port guid:$ does not exists in fabric.", "server");
+  MSGREG(err2, 'E', "Socket $ has previously connected.", "server");
+  MSGREG(err3, 'E', "Fail to create client connection.", "server");
+  MSGREG(inf1, 'V', "Received connection requests to node:$ port:$.", "server");
+
+  IBFabric *pFabric = pSim->getFabric();
+
+  /* validate the given guid exists */
+  map_guid_pport::const_iterator pI =
+    pFabric->PortByGuid.find(connMsg.port_guid);
+  if (pI == pFabric->PortByGuid.end())
+  {
+    MSGSND(err1, connMsg.port_guid);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  IBPort *pPort = (*pI).second;
+  IBNode *pNode = pPort->p_node;
+  IBMSNode *pMgtNode = ibmsGetIBNodeSimNode(pNode);
+
+  MSGSND(inf1, pNode->name, pPort->num);
+
+  /* we need to lock the map of the server to insert the new client */
+  pthread_mutex_lock(&lock);
+
+  /* if the client is not previously registered */
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+  if (sI != sockToClientMap.end())
+  {
+    MSGSND(err2, clientSock);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  /* create a new client object */
+  IBMSClientConn *clientConn =
+    new IBMSClientConn(pMgtNode, pPort->num,
+                       &connMsg.host[0], connMsg.in_msg_port);
+
+  if (clientConn == NULL)
+  {
+    MSGSND(err3);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  /* insert to the map */
+  sockToClientMap[clientSock] = clientConn;
+
+  /* unlock the map */
+  pthread_mutex_unlock(&lock);
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+/* handle a disconnect message */
+int
+IBMSServer::handleDisconnectMsg(
+  int clientSock,
+  ibms_disconn_msg_t &discMsg)
+{
+  MSG_ENTER_FUNC;
+  MSGREG(err1, 'E', "Given port guid:$ does not exists in fabric.", "server");
+  MSGREG(err2, 'E', "Socket $ was not previously connected.", "server");
+  MSGREG(inf1, 'V', "Received disconnect requests from node:$ port:$.",
+         "server");
+
+  IBFabric *pFabric = pSim->getFabric();
+
+  /* validate the given guid exists */
+  map_guid_pport::const_iterator pI =
+    pFabric->PortByGuid.find(discMsg.port_guid);
+  if (pI == pFabric->PortByGuid.end())
+  {
+    MSGSND(err1, discMsg.port_guid);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  IBPort *pPort = (*pI).second;
+  IBNode *pNode = pPort->p_node;
+
+  MSGSND(inf1, pNode->name, pPort->num);
+
+  /* we need to lock the map of the server to delete the client */
+  pthread_mutex_lock(&lock);
+
+  /* if the client is not previously registered */
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+  if (sI == sockToClientMap.end())
+  {
+    MSGSND(err2, clientSock);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  /* remove the connection from the list and delete it */
+  IBMSClientConn *clientConn = (*sI).second;
+  sockToClientMap.erase(sI);
+
+  /* unlock the map */
+  pthread_mutex_unlock(&lock);
+
+  /*
+	 we need to delete the client itself not under the lock
+	 since otherwise we will run into deadlock with the node lock
+  */
+  delete clientConn;
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+/* handle a bind message */
+int
+IBMSServer::handleBindMsg(
+  int clientSock,
+  ibms_bind_msg_t &bindMsg)
+{
+  MSG_ENTER_FUNC;
+  int status;
+
+  MSGREG(err1, 'E', "Socket $ was not previously connected.", "server");
+
+  pthread_mutex_lock(&lock);
+
+  /* find the client conn for the given sock */
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+
+  /* if none then fail */
+  if (sI == sockToClientMap.end())
+  {
+    MSGSND(err1, clientSock);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  IBMSClientConn *pClient = (*sI).second;
+  IBMSNode *pSimNode = pClient->pSimNode;
+
+  pthread_mutex_unlock(&lock);
+
+  /* now that we know the client we can pre-lock the node */
+  pthread_mutex_lock(&pSimNode->lock);
+  pthread_mutex_lock(&lock);
+
+  /* to be safe we find again */
+  sI = sockToClientMap.find(clientSock);
+  if (sI == sockToClientMap.end())
+  {
+    MSGSND(err1, clientSock);
+    pthread_mutex_unlock(&lock);
+	 pthread_mutex_unlock(&pSimNode->lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  status = (*sI).second->handleBindMsg(bindMsg);
+
+  pthread_mutex_unlock(&lock);
+  pthread_mutex_unlock(&pSimNode->lock);
+
+  MSG_EXIT_FUNC;
+  return(status);
+}
+
+/* handle a bind message */
+int
+IBMSServer::handleCapMsg(
+  int clientSock,
+  ibms_cap_msg_t &capMsg)
+{
+  MSG_ENTER_FUNC;
+  MSGREG(err1, 'E', "Socket $ was not previously connected.", "server");
+
+  pthread_mutex_lock(&lock);
+
+  /* find the client conn for the given sock */
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+
+  /* if none then fail */
+  if (sI == sockToClientMap.end())
+  {
+    MSGSND(err1, clientSock);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  /* if we know the client we know the port number and node */
+  IBMSClientConn *pCli = (*sI).second;
+
+  ib_port_info_t *pPortInfo =
+    &(pCli->getSimNode()->nodePortsInfo[pCli->getIbPortNum()]);
+
+  pthread_mutex_unlock(&lock);
+
+  /* OK we got the port info - now set/clr the capability mask */
+  pPortInfo->capability_mask =
+    (~capMsg.mask & pPortInfo->capability_mask) |
+    ( capMsg.mask & capMsg.capabilities );
+
+  MSG_EXIT_FUNC;
+  return(0);
+}
+
+/* handle a mad message */
+int
+IBMSServer::handleMadMsg(
+  int clientSock,
+  ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+  int status;
+  MSGREG(err1, 'E', "Socket $ was not previously connected.", "server");
+
+  pthread_mutex_lock(&lock);
+
+  /* find the client conn for the given sock */
+  map_sock_client::iterator sI = sockToClientMap.find(clientSock);
+
+  /* if none then fail */
+  if (sI == sockToClientMap.end())
+  {
+    MSGSND(err1, clientSock);
+    pthread_mutex_unlock(&lock);
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  IBMSClientConn *pClientConn = (*sI).second;
+
+  /* we need to replace the source lid with the lid of the port */
+  madMsg.addr.slid =
+    cl_hton16(
+      pClientConn->getSimNode()->nodePortsInfo[pClientConn->getIbPortNum()].base_lid);
+
+  status = pSim->getDispatcher()->dispatchMad(
+    pClientConn->getSimNode(),
+    pClientConn->getIbPortNum(),
+    madMsg);
+
+  pthread_mutex_unlock(&lock);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+/* handle client request -
+   either create a new client conn or pass it there */
+/* return 1 on error 0 otherwise */
+int IBMSServer::proccessClientMsg(
+  int clientSock,
+  int reqLen, char request[],
+  int &resLen, char *(pResponse[]) )
+{
+
+  MSG_ENTER_FUNC;
+  MSGREG(err1, 'E', "Message is not of ibms_client_msg_t size ($ != $)",
+         "server");
+  MSGREG(inf1, 'V', "Received:\n$","server");
+
+  if (reqLen != sizeof(ibms_client_msg_t))
+  {
+    MSGSND(err1, reqLen, sizeof(ibms_client_msg_t));
+    MSG_EXIT_FUNC;
+    return 1;
+  }
+
+  ibms_client_msg_t *p_req = (ibms_client_msg_t*)request;
+  MSGSND(inf1, ibms_get_msg_str(p_req));
+
+  /* allocate new response */
+  /* NOTE: the allocated buffer for the response is deallocated by
+     the call from the GenServer::clientThreadMain */
+  resLen = sizeof(ibms_response_t);
+  *pResponse = new char[sizeof(ibms_response_t)];
+  ibms_response_t *pResp = (ibms_response_t *)(*pResponse);
+  memset(pResp, 0, sizeof(ibms_response_t));
+
+  switch (p_req->msg_type)
+  {
+  case IBMS_CLI_MSG_CONN:
+    pResp->status = handleConnectionMsg(clientSock, p_req->msg.conn);
+    break;
+  case IBMS_CLI_MSG_DISCONN:
+    pResp->status = handleDisconnectMsg(clientSock, p_req->msg.disc);
+    break;
+  case IBMS_CLI_MSG_BIND:
+    pResp->status = handleBindMsg(clientSock, p_req->msg.bind);
+    break;
+  case IBMS_CLI_MSG_CAP:
+    pResp->status = handleCapMsg(clientSock, p_req->msg.cap);
+    break;
+  case IBMS_CLI_MSG_MAD:
+    pResp->status = handleMadMsg(clientSock, p_req->msg.mad);
+    break;
+  case IBMS_CLI_MSG_QUIT:
+    MSGREG(inf2, 'V', "Asked to quit. Quitting...","server");
+    MSGSND(inf2);
+    usleep(100000);
+    exit(0);
+    break;
+  default:
+    break;
+  }
+
+  /* we always succeed for now */
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMSClientMsgProcessor
+//
+
+/*
+  Specialization of IBMSMadProcessor - this processor is being created
+  for each "BIND" command requested by the client. It should handle
+  forwarding of the MAD that it got to the client by invoking the
+  client send method.
+*/
+
+/* if filter is matched - forward the mad msg to the client send() */
+int
+IBMSClientMsgProcessor::processMad(
+  uint8_t inPort,
+  ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ibms_response_t response;
+  ibms_client_msg_t fwdMsg;
+  int respSize;
+
+  MSGREG(inf1, 'V', "Forwarding MAD tid:$ to client node:$ port:$","server");
+  MSGREG(inf2, 'V', "Ignoring MAD tid:$ node:$ port:$ != cli port:$","server");
+
+  fwdMsg.msg_type = IBMS_CLI_MSG_MAD;
+  fwdMsg.msg.mad = madMsg;
+
+  IBNode *pNode = pClient->getSimNode()->getIBNode();
+
+  /* ignore mads arriving on the other port */
+  if ((inPort != 0) && (pClient->getIbPortNum() != inPort))
+  {
+    MSGSND(inf2, cl_ntoh64(fwdMsg.msg.mad.header.trans_id),
+           pNode->name, inPort, pClient->getIbPortNum());
+    MSG_EXIT_FUNC;
+    return 0;
+  }
+
+  MSGSND(inf1, cl_ntoh64(fwdMsg.msg.mad.header.trans_id),
+         pNode->name, pClient->getIbPortNum());
+
+  /* get the clientConn object */
+  /* invoke its sendMsg with the provided message */
+  pClient->sendMsg(sizeof(ibms_client_msg_t), (char*)&fwdMsg,
+                   respSize, (char *)&response);
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
diff --git a/ibmgtsim/src/server.h b/ibmgtsim/src/server.h
new file mode 100644
index 0000000..24f104d
--- /dev/null
+++ b/ibmgtsim/src/server.h
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBMS_SERVER_H
+#define IBMS_SERVER_H
+
+#include "node.h"
+#include "tcpcomm.h"
+#include "msgmgr.h"
+
+/****h* IBMS/Server
+* NAME
+*	IB Management Simulator Server
+*
+* DESCRIPTION
+*	The simulator provides a TCP/IP server by which the clients can send
+*  and receive mads.
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+
+/* the client connection class handles a specific client */
+/*
+  One instance of this class per exists for each connected client.
+  The instance is created when the client sends the connect message,
+  providing the port guid it attaches to.
+*/
+typedef std::list< class IBMSClientMsgProcessor *> list_pmad_proc;
+class IBMSClientConn : GenClient {
+
+  /* the actual node this client attached to. */
+  class IBMSNode *pSimNode;
+
+  /* for cleanup we want to keep the registered processors */
+  list_pmad_proc madProcessors;
+
+  uint8_t ibPortNum;
+ public:
+  /* constructor */
+  /* TODO: It is not enough to keep the node - we need the IB port num */
+  IBMSClientConn(IBMSNode *pN,uint8_t ibPN,
+                 char *hostName, unsigned short portNum) :
+    GenClient(hostName, portNum, sizeof(ibms_response_t)) {
+    pSimNode = pN;
+    ibPortNum = ibPN;
+  };
+
+  /* destructor */
+  ~IBMSClientConn();
+
+  /* get the IB Port Number we attach to */
+  uint8_t getIbPortNum() { return ibPortNum; };
+
+  /* get the sim node connected to this client */
+  class IBMSNode *getSimNode() { return pSimNode ;};
+
+  /* handle client bind request */
+  int handleBindMsg(ibms_bind_msg_t &msg);
+
+  friend class IBMSClientMsgProcessor;
+  friend class IBMSServer;
+};
+
+/*
+  Specialization of IBMSMadProcessor - this processor is being created
+  for each "BIND" command requested by the client. It should handle
+  forwarding of the MAD that it got to the client by invoking the
+  client send method.
+*/
+class IBMSClientMsgProcessor : IBMSMadProcessor {
+  /* The filtering information by which we attach to. */
+  ibms_bind_msg_t filter;
+
+  /* the client object attached. */
+  class IBMSClientConn *pClient;
+
+ public:
+
+  /* if filter is matched - forward the mad msg to the client send() */
+  int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg);
+
+  /* construct the new processor */
+  IBMSClientMsgProcessor(class IBMSClientConn *pCli, ibms_bind_msg_t &msg) :
+    IBMSMadProcessor(pCli->pSimNode, msg.mgt_class, TRUE) {
+    MSGREG(inf1,'V', "Binding client to node:$ class:$","server");
+    filter = msg;
+    pClient = pCli;
+    MSGSND(inf1, pCli->pSimNode->getIBNode()->name, msg.mgt_class);
+  };
+};
+
+#define map_sock_client std::map< int, class IBMSClientConn *, std::less< int > >
+
+/* The simulator server allowing for multiple clients to connect */
+class IBMSServer : public GenServer {
+  /* a list of active clients */
+  map_sock_client sockToClientMap;
+
+  /* pointer back to the simulator */
+  class IBMgtSim *pSim;
+
+  /* handle a connection message */
+  int handleConnectionMsg(int clientSock, ibms_conn_msg_t &connMsg);
+
+  /* handle a connection message */
+  int handleDisconnectMsg(int clientSock, ibms_disconn_msg_t &discMsg);
+
+  /* handle a bind message */
+  int handleBindMsg(int clientSock, ibms_bind_msg_t &bindMsg);
+
+  /* handle a mad message */
+  int handleMadMsg(int clientSock, ibms_mad_msg_t &madMsg);
+
+  /* handle client port capabilities mask request */
+  int handleCapMsg(int clientSock, ibms_cap_msg_t &msg);
+
+  /* invoked when a client is closing - under a lock */
+  int closingClient(int clientSock);
+
+ public:
+  /* CONSTRUCTOR */
+  IBMSServer(IBMgtSim *pS, unsigned short portNum);
+
+  /* handle client request -
+     either create a new client conn or pass the request to the
+     existing one */
+  int proccessClientMsg(int clientSock,
+                        int reqLen, char request[],
+                        int &resLen, char *(pResponse[]));
+
+};
+
+#endif /* IBMS_SERVER_H */
diff --git a/ibmgtsim/src/sim.cpp b/ibmgtsim/src/sim.cpp
new file mode 100644
index 0000000..6fd2797
--- /dev/null
+++ b/ibmgtsim/src/sim.cpp
@@ -0,0 +1,347 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include "git_version.h"
+#include "sim.h"
+#include "msgmgr.h"
+#include "sma.h"
+#include "vsa.h"
+#include "pma.h"
+#include <getopt.h>
+#include <inttypes.h>
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  IBMgtSim
+//
+
+char *IBMgtSim::getSimulatorDir()
+{
+  static char *ibmgtSimDir = NULL;
+  static char *defaultIbmgtSimDir = "/tmp/ibmgtsim";
+
+  if (ibmgtSimDir == NULL)
+  {
+    ibmgtSimDir = getenv("IBMGTSIM_DIR");
+    if (ibmgtSimDir == NULL) {
+      printf("-W- Environment variable: IBMGTSIM_DIR does not exist.\n");
+      printf("    Please create one used by the simulator.\n");
+      printf("    Using /tmp/ibmgtsim as default.\n");
+      ibmgtSimDir = defaultIbmgtSimDir;
+    }
+  }
+  return ibmgtSimDir;
+}
+
+/* allocate guids to the nodes */
+int
+IBMgtSim::allocateFabricNodeGuids()
+{
+  FILE* dumpFile;
+
+  MSGREG(errMsg1, 'F', "Fail to open guid dump file:$", "server");
+  string dumpFileName(getSimulatorDir());
+  dumpFileName += "/ibmgtsim.guids.txt";
+  dumpFile = fopen(dumpFileName.c_str(), "w");
+  if (! dumpFile)
+  {
+    MSGSND(errMsg1, dumpFileName);
+    exit(1);
+  }
+
+  MSGREG(msg1, 'I', "Assigning Guids ...", "server");
+  MSGSND(msg1);
+
+  uint64_t curGuid = 0x0002c90000000000ULL;
+
+  /* simply go over all nodes and allocate guids */
+  for (map_str_pnode::iterator nI = pFabric->NodeByName.begin();
+       nI != pFabric->NodeByName.end();
+       nI++)
+  {
+    IBNode *pNode = (*nI).second;
+    pNode->guid_set(++curGuid);
+    fprintf(dumpFile, "NODE   %s 0x%016" PRIx64 "\n",
+            pNode->name.c_str(), pNode->guid_get());
+
+    /* go over all ports of the node and assign guid */
+    for (unsigned int pn = 1; pn <= pNode->numPorts; pn++)
+    {
+      IBPort *pPort = pNode->getPort(pn);
+      if (! pPort) continue;
+
+      if (pNode->type == IB_SW_NODE)
+        pPort->guid_set(curGuid);
+      else
+      {
+        pPort->guid_set(++curGuid);
+        fprintf(dumpFile, "PORT   %s 0x%016" PRIx64 "\n",
+                pPort->getName().c_str(), pPort->guid_get());
+      }
+
+    }
+
+    /* assign system guids by first one */
+    IBSystem *pSystem = pNode->p_system;
+    if (pSystem && (pSystem->guid_get() == 0))
+    {
+      pSystem->guid_set(++curGuid);
+      fprintf(dumpFile, "SYSTEM %s 0x%016" PRIx64 "\n",
+              pSystem->name.c_str(), pSystem->guid_get());
+    }
+
+  } // all nodes
+  fclose(dumpFile);
+
+  return 0;
+}
+
+/* initialize simulator nodes */
+int IBMgtSim::populateFabricNodes()
+{
+
+  MSGREG(msg1, 'I', "Populating Fabric Nodes ...", "server");
+  MSGSND(msg1);
+
+  /* simply go over all nodes and instantiate the sim node */
+  for (map_str_pnode::iterator nI = pFabric->NodeByName.begin();
+       nI != pFabric->NodeByName.end();
+       nI++)
+  {
+    IBNode *pNode = (*nI).second;
+    IBMSNode *pSimNode = new IBMSNode(this, pNode);
+    ibmsSetIBNodeSimNode(pNode, pSimNode);
+
+    list_uint16 smClassList;
+    smClassList.push_back(0x1);
+    smClassList.push_back(0x81);
+    IBMSSma *pSma = new IBMSSma(pSimNode, smClassList);
+    if (! pSma)
+    {
+      MSGREG(err1, 'F', "Fail to allocate SMA for Node:$", "server");
+      MSGSND(err1, pNode->name);
+      exit(1);
+    }
+
+    list_uint16 vsClassList;
+    vsClassList.push_back(0x9);
+    vsClassList.push_back(0x10);
+    IBMSVendorSpecific *pVsa = new IBMSVendorSpecific(pSimNode, vsClassList);
+    if (! pVsa)
+    {
+      MSGREG(err2, 'F', "Fail to allocate VSA for Node:$", "server");
+      MSGSND(err2, pNode->name);
+      exit(1);
+    }
+
+    IBMSPma *pPma = new IBMSPma(pSimNode, 0x04);
+    if (! pPma)
+    {
+	MSGREG(err3, 'F', "Fail to allocate PMA for Node:$", "server");
+	MSGSND(err3, pNode->name);
+	exit(1);
+    }
+  }
+
+  return 0;
+}
+
+/* Initialize the fabric server and dispatcher */
+int IBMgtSim::init(string topoFileName, int serverPortNum, int numWorkers)
+{
+  /* parse the given fabric */
+  pFabric = new IBFabric;
+
+  if (pFabric->parseTopology(topoFileName)) {
+    cout << "-E- Fail to parse topology file:" << topoFileName << endl;
+    exit(1);
+  }
+
+  /* allocate guids to the nodes */
+  allocateFabricNodeGuids();
+
+  /* initialize simulator nodes */
+  populateFabricNodes();
+
+  /* try to generate the server on the given port or next ones... */
+  int trys = 0;
+  do {
+    pServer = new IBMSServer(this, serverPortNum++);
+
+    if (pServer->isAlive())
+      break;
+    else
+      delete pServer;
+
+  } while (trys++ < 10);
+
+  if (!pServer->isAlive())
+    return 1;
+
+  pDispatcher = new IBMSDispatcher(numWorkers, 50, 10);
+
+  return 0;
+}
+
+//////////////////////////////////////////////////////////////
+//
+static char IBMgtSimUsage[] =
+"Usage: ibmgtsim [-vh] -t <topology file> [-p <server port>][-w <num workers>]";
+
+void
+show_usage() {
+  cout << IBMgtSimUsage << endl;
+}
+
+void
+show_help() {
+  cout << "HELP" << endl;
+}
+
+#ifndef IBMGTSIM_CODE_VERSION
+#define IBMGTSIM_CODE_VERSION "undefined"
+#endif
+const char * ibmsSourceVersion = IBMGTSIM_CODE_VERSION ;
+
+//////////////////////////////////////////////////////////////
+//
+// MAIN
+//
+
+#ifdef BUILD_STANDALONE_SIM
+int main(int argc, char **argv)
+{
+  /*
+   * Parsing of Command Line
+   */
+
+  string TopoFile = string("");
+  int numWorkers = 5;
+  int serverPortNum = 42561;
+  int verbosity = MsgDefault;
+
+  char next_option;
+  const char * const short_option = "vht:w:p:";
+  /*
+	 In the array below, the 2nd parameter specified the number
+	 of arguments as follows:
+	 0: no arguments
+	 1: argument
+	 2: optional
+  */
+  const option long_option[] =
+	 {
+		{	"verbose",	     0,	NULL,	'v'},
+		{	"help",		     0,	NULL,	'h'},
+		{	"port-num",	     1,	NULL,	'p'},
+		{	"workers",       1,	NULL,	'w'},
+		{	"topology",	     1,	NULL,	't'},
+		{	NULL,		0,	NULL,	 0 }	/* Required at the end of the array */
+	 };
+
+  printf("-----------------------------------------------------\n\n");
+  printf("    Mellanox Technologies IB Management Simulator\n");
+  printf("   -----------------------------------------------\n\n");
+
+  do
+  {
+	 next_option = getopt_long(argc, argv, short_option, long_option, NULL);
+	 switch(next_option)
+	 {
+	 case 'v':
+		/*
+		  Verbose Mode
+		*/
+      verbosity = MsgShowAll;
+		printf(" Verbose Mode\n");
+		break;
+
+	 case 'p':
+		/*
+		  Specific Server Port
+		*/
+		serverPortNum = atoi(optarg);
+		printf(" Using Port:%u\n", serverPortNum);
+		break;
+
+	 case 'w':
+		/*
+		  Specifies number of worker threads
+		*/
+		numWorkers = atoi(optarg);
+      printf(" Initializing %u mad dispatcher threads.\n", numWorkers);
+		break;
+
+	 case 't':
+		/*
+		  Specifies Subnet Cabling file
+		*/
+      TopoFile = string(optarg);
+      printf(" Using topology file:%s.\n", TopoFile.c_str());
+		break;
+
+	 case 'h':
+		show_help();
+		return 0;
+		break;
+
+	 case -1:
+		break; /* done with option */
+	 default: /* something wrong */
+		show_usage();
+		exit(1);
+	 }
+  }
+  while(next_option != -1);
+
+  if (!TopoFile.size()) {
+	 printf("-E- Missing some mandatory arguments.\n");
+	 show_usage();
+	 exit(1);
+  }
+
+  /* initialize the logger */
+  msgMgr(verbosity, &cout);
+
+  IBMgtSim sim;
+
+  sim.init(TopoFile, serverPortNum, numWorkers);
+
+  while (1)
+    sleep(1000);
+
+  return 0;
+}
+
+#endif
diff --git a/ibmgtsim/src/sim.h b/ibmgtsim/src/sim.h
new file mode 100644
index 0000000..7ef4502
--- /dev/null
+++ b/ibmgtsim/src/sim.h
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/IB Management Simulator
+* NAME
+*	IB Management Simulator
+*
+* DESCRIPTION
+*	The top level object of the management simulator
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+#ifndef IBMS_SIM_H
+#define IBMS_SIM_H
+
+#include <ibdm/Fabric.h>
+#include "simmsg.h"
+#include "server.h"
+#include "dispatcher.h"
+
+class IBMgtSim {
+  /* Stores the entire topology */
+  class IBFabric *pFabric;
+
+  /* Server to handle client connections */
+  class IBMSServer *pServer;
+
+  /* Dispatcher for MAD messages */
+  class IBMSDispatcher *pDispatcher;
+
+  /* allocate guids to the nodes */
+  int allocateFabricNodeGuids();
+
+  /* initialize simulator nodes */
+  int populateFabricNodes();
+
+  /* the random generator seed */
+  unsigned int randomSeed;
+
+  /* lock - enables locking the simulator */
+  pthread_mutex_t lock;
+
+ public:
+  /* constructor */
+  IBMgtSim() {
+    pFabric = NULL;
+    pServer = NULL;
+    pDispatcher = NULL;
+    randomSeed = 0;
+    pthread_mutex_init( &lock, NULL );
+  };
+
+  /* access function */
+  inline class IBFabric *getFabric() { return pFabric;};
+  inline class IBMSServer *getServer() { return pServer; };
+  inline class IBMSDispatcher *getDispatcher() { return pDispatcher; };
+
+  /* Initialize the fabric server and dispatcher */
+  int init(string topoFileName, int serverPortNum, int numWorkers);
+
+  /* get the directory name where the simulator rendezvous exists */
+  char *getSimulatorDir();
+
+  /* set the random number seed */
+  int setRandomSeed( int seed );
+
+  /* get a random floating point number 0.0 - 1.0 */
+  float random();
+};
+
+#endif /* IBMS_SIM_H */
diff --git a/ibmgtsim/src/sim.i b/ibmgtsim/src/sim.i
new file mode 100644
index 0000000..c5e1533
--- /dev/null
+++ b/ibmgtsim/src/sim.i
@@ -0,0 +1,548 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/*
+ * IB Management Simulator
+ *
+ * Interface File for TCL SWIG
+ *
+ */
+
+%title "IB Management Simulator - TCL Extension"
+
+//
+// FIX OF SWIG TO SUPPORT NAME ALTERNATE MANGLING
+//
+%include "ibdm.i"
+
+%module ibms
+%{
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <ibdm/Fabric.h>
+#include <errno.h>
+#include "sim.h"
+#include "node.h"
+#include "randmgr.h"
+
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+#ifndef PRIx64
+# define PRIx64         __PRI64_PREFIX "x"
+#endif
+%}
+
+%{
+  /* GLOBALS */
+  static char ibms_tcl_error_msg[1024];
+  static int  ibms_tcl_error;
+
+  static IBMgtSim Simulator;
+
+  /*
+     As we do not want to expose our own objects we
+     rely on ibdm objects mapping. All IBMSNode calls are
+     then mapped to their Nodes.
+  */
+
+  /* forward declarations for ibdm functions */
+  int ibdmGetFabricIdxByPtr(IBFabric *p_fabric);
+  IBFabric *ibdmGetFabricPtrByIdx(unsigned int idx);
+  int ibdmGetObjTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type);
+  int ibdmGetObjPtrByTclName(Tcl_Obj *objPtr, void **ptr);
+
+  /* Given the Object Pointer and Type provide it's TCL name */
+  int ibmsGetSimNodeTclNameByPtr(Tcl_Obj *objPtr, void *ptr, char *type) {
+	 char tclName[128];
+	 char name[128];
+	 IBFabric *p_fabric;
+	 string uiType;
+
+	 if (!strcmp(type, "IBMSNode *")) {
+		IBNode *p_node = ((IBMSNode *)ptr)->getIBNode();
+		p_fabric = p_node->p_fabric;
+		sprintf(name, ":%s", p_node->name.c_str());
+		uiType = "simnode";
+	 } else {
+		sprintf(tclName, "-E- Unrecognized Object Type:%s", type);
+		Tcl_SetStringObj(objPtr, tclName, -1);
+		return TCL_ERROR;
+	 }
+
+	 /* get the fabric index */
+	 int idx = ibdmGetFabricIdxByPtr(p_fabric);
+	 if (idx == 0) {
+		Tcl_SetStringObj(objPtr, "-E- Fail to find fabric by ptr", -1);
+		return TCL_ERROR;
+	 }
+
+	 sprintf(tclName, "%s:%u%s", uiType.c_str(), idx, name);
+	 Tcl_SetStringObj(objPtr, tclName, -1);
+	 return TCL_OK;
+  }
+
+  /* Given the Object TCL Name Get it's pointer */
+  int ibmsGetSimNodePtrByTclName(Tcl_Obj *objPtr, void **ptr) {
+	 /* we need to parse the name and get the type etc. */
+	 char buf[256];
+	 char *type, *name = 0, *fabIdxStr;
+	 char *colonIdx, *slashIdx;
+	 int fabricIdx;
+	 *ptr = NULL;
+
+	 strcpy(buf, Tcl_GetStringFromObj(objPtr,0));
+
+	 /* the format is always: <type>:<idx>[:<name>] */
+
+	 /* first separate the type */
+	 colonIdx = index(buf,':');
+	 if (!colonIdx) {
+		printf("-E- Bad formatted (no :) ibdm object:%s\n", buf);
+		return TCL_ERROR;
+	 }
+	 *colonIdx = '\0';
+
+	 type = buf;
+	 fabIdxStr = ++colonIdx;
+
+	 /* now separate the fabric section if type is not fabric */
+	 if (strcmp(type, "fabric")) {
+		slashIdx = index(fabIdxStr,':');
+		if (!slashIdx) {
+		  printf( "-E- Bad formatted ibdm fabric object:%s\n",
+					 Tcl_GetStringFromObj(objPtr,0));
+		  return TCL_ERROR;
+		}
+		*slashIdx = '\0';
+		name = ++slashIdx;
+	 }
+
+	 /* OK so now get the fabric pointer */
+	 fabricIdx = atoi(fabIdxStr);
+
+	 IBFabric *p_fabric = ibdmGetFabricPtrByIdx(fabricIdx);
+	 if (! p_fabric) {
+		*ptr = NULL;
+		return TCL_ERROR;
+	 }
+
+    if (!strcmp(type, "simnode")) {
+		IBNode *p_node = p_fabric->getNode(string(name));
+      if (!p_node) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+      IBMSNode *pSimNode = ibmsGetIBNodeSimNode(p_node);
+		if (! pSimNode) {
+		  printf("-E- Fail to get node:%s\n", name);
+		  return TCL_ERROR;
+		}
+		*ptr = pSimNode;
+	 } else {
+		printf("-E- Unrecognized Object Type:%s\n", type);
+		return TCL_ERROR;
+	 }
+	 return TCL_OK;
+  }
+%}
+
+
+//
+// exception handling wrapper based on the MsgMgr interfaces
+//
+
+// it assumes we do not send the messages to stderr
+%except(tcl8) {
+  ibms_tcl_error = 0;
+  $function;
+  if (ibms_tcl_error) {
+	 Tcl_SetStringObj(Tcl_GetObjResult(interp), ibms_tcl_error_msg, -1);
+ 	 return TCL_ERROR;
+  }
+}
+
+//
+// TYPE MAPS:
+//
+
+// Convert a TCL Object to C++ world.
+%typemap(tcl8,in) IBMSNode * {
+
+  void *ptr;
+  if (ibmsGetSimNodePtrByTclName($source, &ptr) != TCL_OK) {
+	 char err[128];
+	 sprintf(err, "-E- fail to find ibdm obj by id:%s",Tcl_GetString($source) );
+	 // Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+
+  $target = ($type)ptr;
+}
+
+// Convert C++ pointer to TCL
+%typemap(tcl8,out) IBMSNode * {
+  if ($source)
+	 ibmsGetSimNodeTclNameByPtr($target, $source, "$type");
+}
+
+%typemap(tcl8,check)  IBMSNode * {
+  /* the format is always: <type>:<idx>[:<name>] */
+
+  // get the type from the given source
+  char buf[128];
+  strcpy(buf, Tcl_GetStringFromObj($source,0));
+  char *colonIdx = index(buf,':');
+  if (!colonIdx) {
+	 char err[128];
+	 sprintf(err, "-E- Bad formatted ibdm object:%s", buf);
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+  *colonIdx = '\0';
+
+  if (!strcmp("$basetype", "IBMSNode ")) {
+    if (strcmp(buf, "simnode")) {
+      char err[256];
+      sprintf(err, "-E- basetype is $basetype but received obj of type %s", buf);
+      Tcl_SetStringObj(tcl_result, err, strlen(err));
+      return TCL_ERROR;
+    }
+  } else {
+	 char err[256];
+	 sprintf(err, "-E- basetype '$basetype' is unknown");
+	 Tcl_SetStringObj(tcl_result, err, strlen(err));
+	 return TCL_ERROR;
+  }
+}
+
+/* we describe a port err profile as a record of key value pairs */
+%typemap(tcl8,in) IBMSPortErrProfile *RefIn (IBMSPortErrProfile tmp) {
+  if (sscanf(Tcl_GetStringFromObj($source,0),
+             "-drop-rate-avg %g -drop-rate-var %g",
+             &tmp.packetDropRate,
+             &tmp.packetDropRateVar) != 2)
+  {
+	 char err[256];
+	 sprintf(err, "-E- bad format for IBMSPortErrProfile:%s",
+            Tcl_GetStringFromObj($source,0));
+    Tcl_SetStringObj(tcl_result, err, strlen(err));
+    return TCL_ERROR;
+  }
+
+  $target = &tmp;
+}
+
+%typemap(tcl8,out)  IBMSPortErrProfile *(IBMSPortErrProfile tmp) {
+  char buff[128];
+  if ($source) {
+    sprintf(buff, "-drop-rate-avg %g -drop-rate-var %g",
+            $source->packetDropRate,
+            $source->packetDropRateVar);
+    Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  }
+}
+
+%typemap(tcl8,ignore) IBMSPortErrProfile *OUTPUT(IBMSPortErrProfile temp) {
+  $target = &temp;
+}
+
+%typemap(tcl8,argout)  IBMSPortErrProfile *OUTPUT {
+    /* argout */
+  char buff[128];
+  if ($source) {
+    sprintf(buff, "-drop-rate-avg %g -drop-rate-var %g",
+            $source->packetDropRate,
+            $source->packetDropRateVar);
+    Tcl_SetStringObj(tcl_result, buff, strlen(buff));
+  }
+}
+
+%include inttypes.i
+%include ib_types.i
+
+///////////////////////////////////////////////////////////////////////////////
+%section "IBMgtSim Constants"
+/* These constants are provided by IBMgtSim */
+
+%subsection "Massage Manager Log Verbosity Flags",before,pre
+/* To be or'ed and used as the value of setVerbLevel */
+%readonly
+const int MsgShowFatal  = 0x01;
+const int MsgShowError  = 0x02;
+const int MsgShowWarning= 0x04;
+const int MsgShowInfo   = 0x08;
+const int MsgShowVerbose= 0x10;
+const int MsgShowContext= 0x20;
+const int MsgShowSource = 0x40;
+const int MsgShowTime   = 0x80;
+const int MsgShowModule = 0x100;
+const int MsgShowMads   = 0x200;
+const int MsgShowFrames = 0x400;
+const int MsgShowAll    = 0xffff;
+const int MsgDefault    = 0x62f;
+%readwrite
+
+%{
+static string MsgAllModules("");
+ %}
+
+%section "Message Manager Objects",pre
+
+class msgManager {
+/* This is the Message Manager class */
+ public:
+  int getVerbLevel(string module = MsgAllModules);
+  int clrVerbLevel(string module  = MsgAllModules);
+  void setVerbLevel(int vl, string module = MsgAllModules);
+  // we will provide a wrapper method giving file name ...
+  // void setOutStream(std::ostream * o) {outStreamP = o;};
+
+  // get number of outstanding messages of the given severity
+  int outstandingMsgCount(int vl = MsgShowFatal | MsgShowError);
+
+  // get all outstanding messages
+  string outstandingMsgs(int vl = MsgShowFatal | MsgShowError);
+
+  // return the next message string
+  string getNextMessage();
+
+  // null the list of outstanding messages:
+  void nullOutstandingMsgs();
+
+};
+
+%addmethods msgManager {
+  int setLogFile(char *fileName) {
+    std::ofstream *pos = new ofstream(fileName);
+    if (pos)
+    {
+      self->setOutStream(pos);
+      return 0;
+    }
+    else
+      return 1;
+  }
+};
+
+%section "Random Manager Functions",pre
+%{
+  float rmRand() {
+    return RandMgr()->random();
+  }
+
+  int rmSeed(int seed) {
+    return RandMgr()->setRandomSeed(seed);
+  }
+%}
+
+float rmRand();
+/* obtain a random number in the range 0.0 - 1.0 */
+
+int rmSeed(int seed);
+/* initialize the seed for the random manager */
+
+///////////////////////////////////////////////////////////////////////////////
+
+%section "IBMgtSim Simulator Objects",pre
+class IBMgtSim {
+
+ public:
+
+  /* access function */
+  IBFabric *getFabric() { return pFabric;};
+  IBMSServer *getServer() { return pServer; };
+  IBMSDispatcher *getDispatcher() { return pDispatcher; };
+
+  /* Initialize the fabric server and dispatcher */
+  // We can not expose this method as we want to register the created fabric
+  // in the ibdm_fabrics. So we provide our own wrapper for it...
+  //   int init(string topoFileName, int serverPortNum, int numWorkers);
+};
+
+%addmethods IBMgtSim {
+  int init(string topoFileName, int serverPortNum, int numWorkers) {
+    int res =
+      self->init(topoFileName, serverPortNum, numWorkers);
+    if (! res)
+      ibdm_fabrics.push_back(self->getFabric());
+    return res;
+  };
+};
+
+///////////////////////////////////////////////////////////////////////////////
+%apply IBMSPortErrProfile *OUTPUT {IBMSPortErrProfile &errProfileOut};
+%apply IBMSPortErrProfile *RefIn {IBMSPortErrProfile &errProfileIn};
+%apply ib_mft_table_t *OUTPUT {ib_mft_table_t *outMftBlock};
+
+/* Every IB node have this simulator node attached */
+class IBMSNode {
+ public:
+
+  IBNode *getIBNode() {return pNode;};
+  /* get the IBNode of the IBMSNode */
+
+  int getLinkStatus(uint8_t outPortNum);
+  /* get the link status of the given port */
+
+  int setPhyPortErrProfile(uint8_t portNum, IBMSPortErrProfile &errProfileIn);
+  /* set a particular port err profile */
+
+  int getPhyPortErrProfile(uint8_t portNum, IBMSPortErrProfile &errProfileOut);
+  /* get a particular port err profile */
+
+  int setPhyPortPMCounter(uint8_t portNum, uint32_t counterSelect,
+                          ib_pm_counters_t &countersVal);
+  /* set a specific port counter */
+
+  ib_pm_counters_t *
+    getPhyPortPMCounter(uint8_t portNum, uint32_t counterSelect);
+  /* get a specific port counter */
+
+  ib_port_info_t * getPortInfo(uint8_t portNum);
+  /* get a specific port info */
+
+  int setLinkStatus(uint8_t portNum, uint8_t newState);
+  /* set the Link status including sending trap128 */
+
+  ib_node_info_t * getNodeInfo();
+  /* get the node info */
+
+  ib_switch_info_t *getSwitchInfo();
+  /* get the switch info */
+
+  ib_pkey_table_t *getPKeyTblBlock(uint8_t portNum, uint16_t blockNum);
+  /* get pkey table block */
+
+  int setPKeyTblBlock(uint8_t portNum, uint16_t blockNum, ib_pkey_table_t *tbl);
+  /* set pkey table block */
+
+  ib_vl_arb_table_t * getVLArbLTable(uint8_t portNum, uint8_t blockIndex);
+  /* get a specific VLArb Table */
+
+  int setVLArbLTable(uint8_t portNum, uint8_t blockIndex, ib_vl_arb_table_t *tbl);
+  /* set a specific SL2VL Table */
+
+  ib_slvl_table_t * getSL2VLTable(uint8_t inPortNum, uint8_t outPortNum);
+  /* get a specific SL2VL Table */
+
+  int setSL2VLTable(uint8_t inPortNum, uint8_t outPortNum, ib_slvl_table_t *tbl);
+  /* set a specific SL2VL Table */
+
+  int setCrSpace(uint32_t startAddr,uint32_t length,uint32_t data[] );
+  /* set CR Space Value */
+
+  int getCrSpace(uint32_t startAddr,uint32_t length,uint32_t data[] );
+  /* get CR Space Value */
+
+  int getMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *outMftBlock);
+  /* get MFT block */
+
+  int setMFTBlock(uint16_t blockIdx, uint8_t portIdx, ib_mft_table_t *inMftBlock);
+  /* set MFT block */
+};
+
+%include mads.i
+
+%{
+  void ibmssh_exit(ClientData clientData ) {
+
+  }
+%}
+
+extern char * ibmsSourceVersion;
+
+//
+// INIT CODE
+//
+%init %{
+
+  /* mixing declarations .... */
+  {
+	 Tcl_PkgProvide(interp,"ibms", "1.0");
+#ifdef OSM_BUILD_OPENIB
+    Tcl_CreateExitHandler(ibmssh_exit, NULL);
+#endif
+
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_IBMSNode_p"] = &ibmsGetSimNodeTclNameByPtr;
+    SWIG_AlternateNameToObj  ["_IBMSNode_p"] = &ibmsGetSimNodePtrByTclName;
+
+	 // Register the objects for alternate mangling
+    SWIG_AlternateObjMangling["_ib_node_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_node_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_switch_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_switch_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_port_info_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_port_info_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_node_desc_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_node_desc_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_lft_record_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_lft_record_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_pm_counters_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_pm_counters_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_vl_arb_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_vl_arb_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_slvl_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_slvl_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    SWIG_AlternateObjMangling["_ib_pkey_table_t_p"] = &ibmsGetIBStructObjNameByPtr;
+    SWIG_AlternateNameToObj  ["_ib_pkey_table_t_p"] = &ibmsGetIBStructObjPtrByTclName;
+
+    // declare the simulator object :
+    Tcl_CreateObjCommand(interp,"IBMgtSimulator",
+								 TclIBMgtSimMethodCmd,
+								 (ClientData)&Simulator, 0);
+
+    // declare the message manager
+    Tcl_CreateObjCommand(interp,"MsgMgr",
+								 TclmsgManagerMethodCmd,
+								 (ClientData)&msgMgr(), 0);
+
+  }
+
+%}
diff --git a/ibmgtsim/src/simmsg.cpp b/ibmgtsim/src/simmsg.cpp
new file mode 100644
index 0000000..519d6b9
--- /dev/null
+++ b/ibmgtsim/src/simmsg.cpp
@@ -0,0 +1,271 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <inttypes.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <string>
+#include "simmsg.h"
+#include <inttypes.h>
+
+#ifndef PRIx64
+# if __WORDSIZE == 64
+#  define __PRI64_PREFIX   "l"
+#  define __PRIPTR_PREFIX  "l"
+# else
+#  define __PRI64_PREFIX   "ll"
+#  define __PRIPTR_PREFIX
+# endif
+# define PRIx64 __PRI64_PREFIX "x"
+#endif
+
+std::string
+__ibms_dump_conn_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  char buff[32];
+  char msg[512];
+  strncpy(buff,p_msg->msg.conn.host,31);
+  buff[31] = '\0';
+
+  sprintf(msg,"MSG: CONN"
+          " Port:%u Guid:0x%016" PRIx64 " Host:%s InPort:%u",
+          p_msg->msg.conn.port_num,
+          p_msg->msg.conn.port_guid,
+          p_msg->msg.conn.host,
+          p_msg->msg.conn.in_msg_port
+          );
+  return msg;
+}
+
+std::string
+__ibms_dump_disconn_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  char buff[32];
+  char msg[512];
+  strncpy(buff,p_msg->msg.conn.host,31);
+  buff[31] = '\0';
+
+  sprintf(msg,"MSG: DISCONNECT "
+          " Port:%u Guid:0x%016" PRIx64 "",
+          p_msg->msg.disc.port_num,
+          p_msg->msg.disc.port_guid
+          );
+  return msg;
+}
+
+std::string
+__ibms_dump_cap_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  char msg[512];
+  sprintf(msg, "MSG: CAP");
+  return msg;
+}
+
+std::string
+__ibms_dump_bind_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  char msg[512];
+  sprintf(msg, "MSG: BIND");
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_PORT)
+    sprintf(msg,"%s Port:%u ",msg, p_msg->msg.bind.port);
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_QP)
+    sprintf(msg, "%s QP:%u ", msg, p_msg->msg.bind.qpn);
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_CLASS)
+    sprintf(msg, "%s Class:0x%X ", msg, p_msg->msg.bind.mgt_class);
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_METH)
+    sprintf(msg, "%s Method:0x%X ", msg, p_msg->msg.bind.method);
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_ATTR)
+    sprintf(msg, "%s Attribute:0x%X ", msg, p_msg->msg.bind.attribute);
+  if (p_msg->msg.bind.mask & IBMS_BIND_MASK_INPUT)
+    if (p_msg->msg.bind.only_input)
+      sprintf(msg, "%s Direction:IN",msg);
+    else
+      sprintf(msg, "%s Direction:IN/OUT", msg);
+  return msg;
+}
+
+std::string
+__ibms_dump_mad_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  char msg[1024];
+  sprintf(msg,
+          "MSG: MAD"
+          " ADDRESS:"
+          " SLID:0x%04X"
+          " DLID:0x%04X"
+          " SQPN:%u"
+          " DQPN:%u"
+          " PKEY:%u"
+          " SL:%u"
+          " CLASS:0x%02X"
+          " METHOD:0x%02X"
+          " STATUS:0x%04X"
+          " TID:0x%016"PRIx64"",
+          p_msg->msg.mad.addr.slid,
+          p_msg->msg.mad.addr.dlid,
+          p_msg->msg.mad.addr.sqpn,
+          p_msg->msg.mad.addr.dqpn,
+          p_msg->msg.mad.addr.pkey_index,
+          p_msg->msg.mad.addr.sl,
+          p_msg->msg.mad.header.mgmt_class,
+          p_msg->msg.mad.header.method,
+          p_msg->msg.mad.header.status,
+          p_msg->msg.mad.header.trans_id);
+  return msg;
+}
+
+std::string
+ibms_get_msg_str(
+  IN const ibms_client_msg_t *p_msg)
+{
+  std::string msgStr;
+
+  switch (p_msg->msg_type) {
+  case IBMS_CLI_MSG_CONN:
+    msgStr = __ibms_dump_conn_msg(p_msg);
+    break;
+  case IBMS_CLI_MSG_DISCONN:
+    msgStr = __ibms_dump_disconn_msg(p_msg);
+    break;
+  case IBMS_CLI_MSG_BIND:
+    msgStr = __ibms_dump_bind_msg(p_msg);
+    break;
+  case IBMS_CLI_MSG_CAP:
+    msgStr = __ibms_dump_cap_msg(p_msg);
+    break;
+  case IBMS_CLI_MSG_MAD:
+    msgStr = __ibms_dump_mad_msg(p_msg);
+    break;
+  default:
+    msgStr = std::string("MSG: UNDEFINED");
+  }
+  return msgStr;
+}
+
+std::string
+ibms_get_mad_header_str(ib_mad_t madHeader)
+{
+    char msg[1024];
+
+    sprintf(msg,
+            "--------------------------------------------------------\n"
+            "  base_ver                 0x%x\n"
+            "  mgmt_class               0x%x\n"
+            "  class_ver                0x%x\n"
+            "  method                   0x%x\n"
+            "  status                   0x%x\n"
+            "  class_spec               0x%x\n"
+            "  trans_id                 0x%016"PRIx64"\n"
+            "  attr_id                  0x%x\n"
+            "  attr_mod                 0x%x\n"
+            "--------------------------------------------------------\n",
+            madHeader.base_ver,
+            madHeader.mgmt_class,
+            madHeader.class_ver,
+            madHeader.method,
+            CL_NTOH16(madHeader.status),
+            CL_NTOH16(madHeader.class_spec),
+            CL_NTOH64(madHeader.trans_id),
+            CL_NTOH16(madHeader.attr_id),
+            CL_NTOH32(madHeader.attr_mod));
+    return (std::string)msg;
+};
+
+std::string
+ibms_get_node_info_str(ib_node_info_t*     pNodeInfo)
+{
+    char msg[1024];
+
+    sprintf(msg,
+            "--------------------------------------------------------\n"
+            "  node_type                0x%x\n"
+            "  num_ports                0x%x\n"
+            "  local port number        0x%x\n"
+            "--------------------------------------------------------\n",
+            pNodeInfo->node_type,
+            pNodeInfo->num_ports,
+            ib_node_info_get_local_port_num(pNodeInfo));
+    return (std::string)msg;
+}
+
+std::string
+ibms_get_port_info_str(ib_port_info_t*     pPortInfo)
+{
+    char msg[1024];
+
+    sprintf(msg,
+            "--------------------------------------------------------\n"
+            "  lid                      0x%x\n"
+            "  Port State               0x%x\n"
+            "  Port Phy State           0x%x\n"
+            "  nMTU                     0x%x\n"
+            "  VL Cap                   0x%x\n"
+            "  LMC                      0x%x\n"
+            "--------------------------------------------------------\n",
+            CL_NTOH16(pPortInfo->base_lid),
+            ib_port_info_get_port_state(pPortInfo),
+            ib_port_info_get_port_phys_state(pPortInfo),
+            ib_port_info_get_neighbor_mtu(pPortInfo),
+            ib_port_info_get_vl_cap(pPortInfo),
+            ib_port_info_get_lmc(pPortInfo)
+            );
+    return (std::string)msg;
+};
+
+void
+ibms_dump_msg(
+  IN const ibms_client_msg_t *p_msg)
+{
+  printf("%s", ibms_get_msg_str(p_msg).c_str());
+}
+
+char *
+ibms_get_resp_str(
+  IN const ibms_response_t *p_response)
+{
+  if (p_response->status)
+    return "REMOTE_ERROR";
+  else
+    return "SUCCESS";
+}
diff --git a/ibmgtsim/src/simmsg.h b/ibmgtsim/src/simmsg.h
new file mode 100644
index 0000000..a721722
--- /dev/null
+++ b/ibmgtsim/src/simmsg.h
@@ -0,0 +1,371 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMgtSim/Messages
+ * NAME
+ *	 Messages
+ *
+ * DESCRIPTION
+ * 	Declaration of messages between the client and simulator
+ *
+ * Environment:
+ * 	Linux User Mode
+ *
+ * $Revision: 1.7 $
+ *
+ * AUTHOR
+ *	Eitan Zahavi, Mellanox
+ *
+ *********/
+
+#ifndef IBMGTSIM_CLIENT_IFC
+#define IBMGTSIM_CLIENT_IFC
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <iba/ib_types.h>
+#include "ib_types_extend.h"
+
+/****s* IBMgtSim: ClientIfc/ibms_cli_msg_type_t
+* NAME
+*  ibms_cli_msg_type_t
+*
+* DESCRIPTION
+*  The types of messages going between the client and simulator
+*
+* SYNOPSIS
+*/
+typedef enum _ibms_cli_msg_type
+{
+  IBMS_CLI_MSG_CONN,
+  IBMS_CLI_MSG_DISCONN,
+  IBMS_CLI_MSG_BIND,
+  IBMS_CLI_MSG_MAD,
+  IBMS_CLI_MSG_CAP,
+  IBMS_CLI_MSG_QUIT,
+  IBMS_CLI_MSG_UNKOWN
+} ibms_cli_msg_type_t;
+/*
+* IBMS_CLI_MSG_CONN
+*   Establish the connection to the server by providing local node
+*   physical info like port number and port guid.
+*
+* IBMS_CLI_MSG_BIND
+*   Allows for binding to a specific MAD type and port (ala TS filter).
+*
+* IBMS_CLI_MSG_CAP
+*   Setting/Clearing of port capability mask.
+*
+* IBMS_CLI_MSG_MAD
+*   A mad being sent either from or to the simulator.
+*
+* IBMS_CLI_MSG_QUIT
+*   Ask the server to quit
+*
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_mad_addr_t
+* NAME
+*	ibms_mad_addr_t
+*
+* DESCRIPTION
+*	MAD Address
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_mad_addr
+{
+  uint8_t    sl;
+  int        pkey_index;
+  uint16_t   slid;
+  uint16_t   dlid;
+  uint32_t   sqpn;
+  uint32_t   dqpn;
+} PACK_SUFFIX ibms_mad_addr_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	sl
+*
+*	pkey_index
+*
+*  slid
+*
+*  dlid
+*
+*  sqpn
+*
+*  dqpn
+*
+* SEE ALSO
+*********/
+
+#define MAD_HEADER_SIZE 24
+
+/****s* IBMgtSim: ClientIfc/ibms_conn_msg_t
+* NAME
+*	ibms_conn_msg_t
+*
+* DESCRIPTION
+*	Connecting to the server message
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_conn_msg
+{
+  uint8_t   port_num;
+  uint64_t  port_guid;
+  char      host[128];
+  unsigned short int in_msg_port;
+} PACK_SUFFIX ibms_conn_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	port_num
+*		The IB port number the client attaches to.
+*
+*	port_guid
+*		The guid of the port to connect to.
+*
+*  host
+*     Client host name (null terminated string)
+*
+*  in_msg_port
+*     Client incoming messages port
+*
+* SEE ALSO
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_disconn_msg_t
+* NAME
+*	ibms_disconn_msg_t
+*
+* DESCRIPTION
+*	Disconnecting from the server message
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ib_disconn_msg
+{
+  uint8_t   port_num;
+  uint64_t  port_guid;
+} PACK_SUFFIX ibms_disconn_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	port_num
+*		The IB port number the client attached to.
+*
+*	port_guid
+*		The guid of the port to disconnect from.
+*
+* SEE ALSO
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_mad_msg_t
+* NAME
+*	ibms_mad_msg_t
+*
+* DESCRIPTION
+*	MAD Message
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_mad_msg
+{
+  ibms_mad_addr_t  addr;
+  ib_mad_t         header;
+  uint8_t          payload[MAD_BLOCK_SIZE - MAD_HEADER_SIZE];
+} PACK_SUFFIX ibms_mad_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*	mad_hdr
+*		MAD header
+*
+*	payload
+*		MAD data
+*
+*  address
+*     Where do we sent it
+*
+* SEE ALSO
+*********/
+#define IBMS_BIND_MASK_PORT  1
+#define IBMS_BIND_MASK_QP    2
+#define IBMS_BIND_MASK_CLASS 4
+#define IBMS_BIND_MASK_METH  8
+#define IBMS_BIND_MASK_ATTR  16
+#define IBMS_BIND_MASK_INPUT 32
+
+/****s* IBMgtSim: ClientIfc/ibms_bind_msg_t
+* NAME
+*	ibms_bind_msg_t
+*
+* DESCRIPTION
+*	Binding Message
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_bind_msg
+{
+  uint8_t      port;
+  uint32_t     qpn;
+  uint8_t      mgt_class;
+  uint8_t      method;
+  uint16_t     attribute;
+  uint8_t      only_input;
+  uint8_t      mask;
+} PACK_SUFFIX ibms_bind_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+* port
+*
+* qpn
+*
+* mgmt_class
+*
+* method
+*
+* attribute
+*
+* only_input
+*
+* mask
+*
+* SEE ALSO
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_cap_msg_t
+* NAME
+*	ibms_cap_msg_t
+*
+* DESCRIPTION
+*	Capability Mask Message = set the port capabilities.
+*  we simulate the VAPI set port capability mask with this API.
+*
+* SEE ALSO:
+*   ib_types IB_PORT_CAP_* for the list of capabilities
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_cap_msg
+{
+  uint32_t     capabilities;
+  uint32_t     mask;
+} PACK_SUFFIX ibms_cap_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+* capabilities
+*   each bit might be set or cleared to mark a capability exists or not.
+*
+* mask
+*   each bit might be 1 or 0 to mark the scope of the operation
+*
+* SEE ALSO
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_client_msg_t
+* NAME
+*  ibms_client_msg_t
+*
+* DESCRIPTION
+*  A message passed between the client and simulator
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_client_msg
+{
+  ibms_cli_msg_type_t msg_type;
+  union _msg {
+    ibms_mad_msg_t     mad;
+    ibms_bind_msg_t    bind;
+    ibms_cap_msg_t     cap;
+    ibms_conn_msg_t    conn;
+    ibms_disconn_msg_t disc;
+  } PACK_SUFFIX msg;
+} PACK_SUFFIX ibms_client_msg_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+* msg_type
+*
+* mad_msg
+*
+* bind_info
+*
+* conn_info
+*
+*********/
+
+/****s* IBMgtSim: ClientIfc/ibms_response_t
+* NAME
+*  ibms_response_t
+*
+* DESCRIPTION
+*  A response message passed between the client and server
+*
+* SYNOPSIS
+*/
+#include <complib/cl_packon.h>
+typedef struct _ibms_response
+{
+  int status;
+} PACK_SUFFIX ibms_response_t;
+#include <complib/cl_packoff.h>
+/*
+* FIELDS
+*
+* status
+*   the status of the message execution
+*
+*********/
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* IBMGTSIM_CLIENT_IFC */
diff --git a/ibmgtsim/src/sma.cpp b/ibmgtsim/src/sma.cpp
new file mode 100644
index 0000000..a703030
--- /dev/null
+++ b/ibmgtsim/src/sma.cpp
@@ -0,0 +1,1784 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Sma
+ * NAME
+ * IB Subnet Manager Agent Simulator object
+ *
+ * DESCRIPTION
+ * The simulator routes mad messages to the target node. This node
+ *  MadProcessor SMA class is provided to handle and respond to these mads.
+ *
+ * AUTHOR
+ * Nimrod Gindi, Mellanox
+ *
+ *********/
+
+#include <iostream>
+#include <fstream>
+#include <stdlib.h>
+#include <string>
+
+#include "msgmgr.h"
+#include "simmsg.h"
+#include "sim.h"
+#include "sma.h"
+#include "helper.h"
+
+#define TAVOR_DEVID 23108
+#define ARBEL_DEVID 25208
+#define ANAFA_DEVID 43132
+#define ANAFA2_DEVID 47396
+
+void
+ibms_dump_mad(
+  IN const  ibms_mad_msg_t  &madMsg,
+  IN const  uint8_t         dir)
+{
+  if (dir == RCV)
+  {
+    MSGREG(inf100, 'M', "\n    Received Mad Dump\n$", "ibms_dump_mad");
+    MSGSND(inf100, ibms_get_mad_header_str(madMsg.header));
+  }
+  else
+  {
+    MSGREG(inf101, 'M', "\n    Send Mad Dump\n$", "ibms_dump_mad");
+    MSGSND(inf101, ibms_get_mad_header_str(madMsg.header));
+  }
+
+  switch (madMsg.header.attr_id) {
+  case IB_MAD_ATTR_PORT_INFO:
+    MSGREG(inf102, 'M', "\n   Port Info Dump\n$", "ibms_dump_mad");
+    MSGSND(inf102, ibms_get_port_info_str((ib_port_info_t*)((ib_smp_t*) &madMsg.header)->data));
+    break;
+  case IB_MAD_ATTR_NODE_INFO:
+    MSGREG(inf103, 'M', "\n   Node Info Dump\n$", "ibms_dump_mad");
+    MSGSND(inf103, ibms_get_node_info_str((ib_node_info_t*)((ib_smp_t*) &madMsg.header)->data));
+    break;
+  default:
+    MSGREG(warn1, 'W', "No handler written yet for this attribute:$", "ibms_dump_mad");
+
+    MSGSND(warn1, cl_ntoh16(madMsg.header.attr_id));
+    break;
+  }
+}
+
+// CLASS SMATimer
+
+SMATimer::SMATimer(int t):time(t)
+{
+  pthread_mutex_init(&timerMutex, NULL);
+  tid = pthread_create(&th, NULL, SMATimer::timerRun, this);
+  if (tid) {
+    MSGREG(err0, 'E', "Couldn't create timer thread $ !", "processMad");
+    MSGSND(err0, tid);
+    }
+  MSGREG(inf1, 'V', "SMA timer on!", "processMad");
+  MSGSND(inf1);
+}
+
+void SMATimer::terminate()
+{
+  pthread_cancel(th);
+}
+
+void* SMATimer::timerRun(void* p)
+{
+  SMATimer* p_timer = (SMATimer*) p;
+  while(1) {
+    MSGREG(inf1, 'V', "Sleeping for $ secs !", "processMad");
+    MSGSND(inf1,p_timer->time);
+
+    sleep(p_timer->time);
+    pthread_mutex_lock(&p_timer->timerMutex);
+    unsigned i=0;
+    while (i<p_timer->L.size()) {
+      int res = p_timer->L[i].f(p_timer->L[i].data);
+      if (!res)
+	p_timer->L.erase(p_timer->L.begin()+i);
+      else
+	i++;
+    }
+    pthread_mutex_unlock(&p_timer->timerMutex);
+  }
+}
+
+void SMATimer::reg (reg_t r)
+{
+  pthread_mutex_lock(&timerMutex);
+  L.push_back(r);
+  pthread_mutex_unlock(&timerMutex);
+}
+
+void SMATimer::unreg (void* data)
+{
+  pthread_mutex_lock(&timerMutex);
+  for (unsigned i=0;i<L.size();i++)
+    if (L[i].data == data) {
+      L.erase(L.begin()+i);
+      return;
+    }
+  pthread_mutex_unlock(&timerMutex);
+}
+
+// CLASS IBMSSma
+
+SMATimer IBMSSma::mkeyTimer = SMATimer(T_FREQ);
+
+int IBMSSma::cbMkey(void* data)
+{
+  portTiming* pT = (portTiming*) data;
+  pthread_mutex_lock(&pT->mut);
+  pT->counter--;
+  if (pT->counter > 0) {
+    pthread_mutex_unlock(&pT->mut);
+    return 1;
+  }
+  // Need to zero m_key
+  pT->pInfo->m_key = 0;
+  pT->timerOn = 0;
+  pthread_mutex_unlock(&pT->mut);
+
+  return 0;
+}
+
+void IBMSSma::initSwitchInfo()
+{
+  IBNode              *pNodeData;
+
+  pNodeData = pSimNode->getIBNode();
+
+  pSimNode->switchInfo.lin_cap = CL_HTON16(0xbfff);
+  pSimNode->switchInfo.rand_cap = 0;
+  pSimNode->switchInfo.mcast_cap = CL_HTON16(0x1ff);
+
+  pSimNode->switchInfo.lin_top = 0;
+  pSimNode->switchInfo.def_port = 0;
+  pSimNode->switchInfo.def_mcast_pri_port = 0;
+  pSimNode->switchInfo.def_mcast_not_port = 0;
+  pSimNode->switchInfo.life_state = 0;
+  pSimNode->switchInfo.lids_per_port = 0;
+  pSimNode->switchInfo.enforce_cap = CL_HTON16(32);
+  pSimNode->switchInfo.flags = 0xA0; // capable partition enforce in/out
+
+  MSGREG(inf1, 'V', "Initialization of node's SwitchInfo is Done !", "initSwitchInfo");
+  MSGSND(inf1);
+  pSimNode->sl2VlInPortEntry.resize((pSimNode->nodeInfo.num_ports) + 1);
+  initSwitchSl2VlTable();
+}
+
+void IBMSSma::initNodeInfo()
+{
+  IBNode              *pNodeData;
+
+  pNodeData = pSimNode->getIBNode();
+  pSimNode->nodeInfo.base_version = 1 ;
+  pSimNode->nodeInfo.class_version = 1 ;
+  pSimNode->nodeInfo.num_ports = pNodeData->numPorts;
+
+  // HACK: as the devId is not really meaningful due to IBDM limitation
+  // we only rely on the type of device. HCAs get 64 PKeys switches: 24.
+  if (pNodeData->type == 1)
+  {
+    //Switch
+    pSimNode->nodeInfo.node_type = IB_NODE_TYPE_SWITCH;
+    pSimNode->nodeInfo.partition_cap = CL_HTON16(24);
+    initSwitchInfo();
+  }
+  else if (pNodeData->type == 2)
+  {
+    //HCA
+    pSimNode->nodeInfo.node_type = IB_NODE_TYPE_CA;
+    pSimNode->sl2VlInPortEntry.resize((pSimNode->nodeInfo.num_ports) + 1);
+    pSimNode->nodeInfo.partition_cap = CL_HTON16(0x40);
+    initCaSl2VlTable();
+  }
+  else
+  {
+    MSGREG(err0, 'E', "Node Type is un-known $ !", "initNodeInfo");
+    MSGSND(err0, pNodeData->type);
+  }
+  pSimNode->nodeInfo.sys_guid = cl_hton64(pNodeData->guid_get());
+  pSimNode->nodeInfo.node_guid = pSimNode->nodeInfo.sys_guid;
+  pSimNode->nodeInfo.port_guid = pSimNode->nodeInfo.sys_guid;
+
+  pSimNode->nodeInfo.device_id = cl_hton16(pNodeData->devId);
+  pSimNode->nodeInfo.revision = cl_hton32(pNodeData->revId);
+  {
+    uint32_t tmpVendorLocalPort;
+    tmpVendorLocalPort = pNodeData->vendId | (1 << 24);
+    pSimNode->nodeInfo.port_num_vendor_id = cl_hton32(tmpVendorLocalPort);
+  }
+  MSGREG(inf1, 'V', "Initialization of node's NodeInfo is Done !", "initNodeInfo");
+  MSGSND(inf1);
+}
+
+void IBMSSma::initPKeyTables()
+{
+
+   /* initialize pkeys */
+   ib_pkey_table_t zeroPKeys;
+   ib_pkey_table_t firstBlockPkeys;
+   memset(&zeroPKeys, 0, sizeof(ib_pkey_table_t));
+   memset(&firstBlockPkeys, 0, sizeof(ib_pkey_table_t));
+   firstBlockPkeys.pkey_entry[0] = 0xffff;
+
+   unsigned int numBlocks;
+   vector< ib_pkey_table_t > emptyPkeyVector;
+
+   for (unsigned int pn = 0; pn <= pSimNode->nodeInfo.num_ports; pn++)
+   {
+      pSimNode->nodePortPKeyTable.push_back(emptyPkeyVector);
+      if ( (pSimNode->nodeInfo.node_type != IB_NODE_TYPE_SWITCH) || (pn == 0) )
+         numBlocks = (cl_ntoh16(pSimNode->nodeInfo.partition_cap) + 31) / 32;
+      else
+        numBlocks = (cl_ntoh16(pSimNode->switchInfo.enforce_cap) + 31) / 32;
+
+      for (unsigned int block = 0; block < numBlocks; block++)
+      {
+         if (block)
+         {
+            pSimNode->nodePortPKeyTable[pn].push_back(zeroPKeys);
+         }
+         else
+         {
+            pSimNode->nodePortPKeyTable[pn].push_back(firstBlockPkeys);
+         }
+      }
+   }
+}
+
+void IBMSSma::initVlArbitTable()
+{
+  uint8_t                     i,j,k;
+  ib_vl_arb_table_t           vlArbitEntry;
+
+  for (i=0; i <= (pSimNode->nodeInfo.num_ports) ; i++)
+  {
+    //TODO when supporting enhanced port0 - will need to support 0 here as well
+    // Zero is dummy for the moment
+    for (j=0; j <= 4 ; j++)
+    {
+      for (k=0; k < IB_NUM_VL_ARB_ELEMENTS_IN_BLOCK ; k++)
+      {
+        vlArbitEntry.vl_entry[k].vl = k % IB_MAX_NUM_VLS;
+        vlArbitEntry.vl_entry[k].weight = 1;
+      }
+      (pSimNode->vlArbPortEntry[i]).push_back( vlArbitEntry );
+    }
+  }
+
+  MSGREG(inf1, 'V', "Initialization of VL arbitration table is Done !", "initVlArbitTable");
+  MSGSND(inf1);
+}
+
+void IBMSSma::initSwitchSl2VlTable()
+{
+  uint8_t                     i,j,k;
+  ib_slvl_table_t             slToVlEntry;
+
+  for (i=0; i <= (pSimNode->nodeInfo.num_ports) ; i++)
+  {
+    //TODO when supporting enhanced port0 - will need to support 0 here as well
+    // Zero is dummy for the moment
+    for (j=0; j <= (pSimNode->nodeInfo.num_ports) ; j++)
+    {
+      for (k=0; k < (IB_MAX_NUM_VLS/2) ; k++)
+      {
+        slToVlEntry.raw_vl_by_sl[k] = 0xf;
+      }
+      (pSimNode->sl2VlInPortEntry[i]).push_back( slToVlEntry );
+    }
+  }
+
+  MSGREG(inf1, 'V', "Initialization of switch SL to VL table is Done !", "initSwitchSl2VlTable");
+  MSGSND(inf1);
+}
+
+void IBMSSma::initCaSl2VlTable()
+{
+  uint8_t                     i,k;
+  ib_slvl_table_t             slToVlEntry;
+
+  for (i=0; i <= (pSimNode->nodeInfo.num_ports) ; i++)
+  {
+    for (k=0; k < (IB_MAX_NUM_VLS/2) ; k++)
+    {
+      slToVlEntry.raw_vl_by_sl[k] = 0xf;
+    }
+    (pSimNode->sl2VlInPortEntry[i]).push_back( slToVlEntry );
+  }
+
+  MSGREG(inf1, 'V', "Initialization of CA SL to VL table is Done !", "initCaSl2VlTable");
+  MSGSND(inf1);
+}
+
+void IBMSSma::initPortInfo()
+{
+  MSG_ENTER_FUNC;
+
+  uint8_t             i=0;
+  ib_port_info_t      tmpPortInfo;
+  IBPort              *pNodePortData;
+  IBNode              *pNodeData;
+
+  pNodeData = pSimNode->getIBNode();
+
+  memset((void*)&tmpPortInfo, 0, sizeof(ib_port_info_t));
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_CA)
+  {
+    MSGREG(inf1, 'V', "Creating dummy port number $ for xCA !", "initPortInfo");
+    MSGSND(inf1, i);
+  }
+  else if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+  {
+    // TODO add Enhanced Port Zero support
+    MSGREG(inf2, 'V', "Creating Base port Zero for Switch !", "initPortInfo");
+    MSGSND(inf2);
+
+    //Init the port 0 of the switch according to it's capability
+    tmpPortInfo.capability_mask = CL_HTON32(0x808);
+    ib_port_info_set_lmc(&tmpPortInfo, 0);
+    ib_port_info_set_mpb(&tmpPortInfo, 0);
+    //we do not have to support this ! (HACK: Done to avoid OSM bugs)
+    //  Base Port 0 case we need mtu_cap too:
+    tmpPortInfo.mtu_cap = 1;
+    ib_port_info_set_neighbor_mtu(&tmpPortInfo, 1);
+    ib_port_info_set_vl_cap(&tmpPortInfo, 4);
+    ib_port_info_set_port_state( &tmpPortInfo, IB_LINK_ACTIVE);
+    ib_port_info_set_port_phys_state( 5, &tmpPortInfo);
+
+    tmpPortInfo.subnet_timeout = 0;
+    tmpPortInfo.resp_time_value = 0x6;
+
+  }
+  else
+  {
+    MSGREG(err0, 'E', "Attempt to initialize unknown device port !", "initPortInfo");
+    MSGSND(err0);
+    MSG_EXIT_FUNC;
+    return;
+  }
+  pSimNode->nodePortsInfo.push_back( tmpPortInfo );
+  i++;
+
+  while (i <= pSimNode->nodeInfo.num_ports)
+  {
+    MSGREG(inf1, 'V', "Initializing port number $ !", "initPortInfo");
+    MSGSND(inf1, i);
+
+    memset((void*)&tmpPortInfo, 0, sizeof(ib_port_info_t));
+    pNodePortData = pNodeData->getPort(i);
+    if ((pNodePortData == NULL) || (pNodePortData->p_remotePort == NULL))
+    {
+      MSGREG(wrn0, 'W', "Attempt to reach port $ failed - no such port OR it's not connected!", "initPortInfo");
+      MSGSND(wrn0, i);
+      MSGREG(wrn1, 'W', " Entering dummy entry !", "initPortInfo");
+      MSGSND(wrn1);
+      //TODO handle not connected port generic - remove all assignments from below
+      ib_port_info_set_port_state( &tmpPortInfo, IB_LINK_DOWN);
+      ib_port_info_set_port_phys_state( 2, &tmpPortInfo);
+      pSimNode->nodePortsInfo.push_back( tmpPortInfo );
+      i++;
+      continue;
+    }
+
+    tmpPortInfo.base_lid = cl_hton16(pNodePortData->base_lid);
+    tmpPortInfo.capability_mask = CL_HTON32(0x808);
+    tmpPortInfo.local_port_num = i;
+    tmpPortInfo.link_width_enabled = pNodePortData->width;
+    tmpPortInfo.link_width_supported = pNodePortData->width;
+    tmpPortInfo.link_width_active = pNodePortData->width;
+    {
+      int linkSpeed = pNodePortData->speed;
+
+      if (pNodePortData->speed == 2)
+      {
+        linkSpeed = 3;
+      }
+      else if (pNodePortData->speed == 4)
+      {
+        linkSpeed = 7;
+      }
+      // LinkSpeedSupported and PortState
+      ib_port_info_set_port_state( &tmpPortInfo, IB_LINK_INIT);
+      ib_port_info_set_link_speed_sup( linkSpeed, &tmpPortInfo);
+      // LinkSpeedEnabled and LinkSpeedActive
+      tmpPortInfo.link_speed = linkSpeed | (pNodePortData->speed << 4);
+
+    }
+
+    // PortPhysState and LinkDownDefaultState
+    ib_port_info_set_port_phys_state( 5, &tmpPortInfo);
+    ib_port_info_set_link_down_def_state( &tmpPortInfo, 2);
+    tmpPortInfo.mtu_smsl = 1;
+    ib_port_info_set_neighbor_mtu( &tmpPortInfo, 4);
+    ib_port_info_set_vl_cap(&tmpPortInfo, 4);
+	 tmpPortInfo.vl_high_limit = 1;
+	 tmpPortInfo.vl_arb_high_cap = 8;
+	 tmpPortInfo.vl_arb_low_cap = 8;
+	 tmpPortInfo.mtu_cap = 4;
+    tmpPortInfo.guid_cap = 32;
+    tmpPortInfo.resp_time_value = 20;
+
+    pSimNode->nodePortsInfo.push_back( tmpPortInfo );
+    i++;
+  }
+  MSG_EXIT_FUNC;
+  return;
+}
+
+
+IBMSSma::IBMSSma(IBMSNode *pSNode, list_uint16 mgtClasses) :
+  IBMSMadProcessor(pSNode, mgtClasses)
+{
+  MSG_ENTER_FUNC;
+
+  IBNode*     pNodeData;
+
+  pNodeData = pSNode->getIBNode();
+  //Init NodeInfo structure of the node
+  initNodeInfo();
+  //Init P_Key ports vector size
+  pSimNode->nodePortPKeyTable.resize(pSimNode->nodeInfo.num_ports + 1);
+  //Init PortInfo structure of the node + Init P_Key Tables of ports
+  initPortInfo();
+  //Init VL Arbitration ports vector size and table
+  pSimNode->vlArbPortEntry.resize(pSimNode->nodeInfo.num_ports + 1);
+  //Init ports' timing vector
+  vPT.resize(pSimNode->nodeInfo.num_ports + 1);
+  for (unsigned i=0;i<vPT.size();i++)
+    if ((pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH) || i!=0) {
+      vPT[i].pInfo = &(pSimNode->nodePortsInfo[i]);
+      pthread_mutex_init(&vPT[i].mut, NULL);
+      vPT[i].timerOn = 0;
+    }
+  initVlArbitTable();
+
+  initPKeyTables();
+
+  MSG_EXIT_FUNC;
+};
+
+//--------------------------------------------------------------------------------
+//--------------------------------------------------------------------------------
+//--------------------------------------------------------------------------------
+
+int IBMSSma::nodeDescMad(ibms_mad_msg_t &respMadMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_smp_t* pRespMad;
+
+  MSGREG(inf1, 'I', "NodeDescription Get mad handling !", "nodeDescMad");
+  MSGSND(inf1);
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+
+  string desc;
+  if (pSimNode->nodeInfo.node_type != 2)
+  {
+    desc = (pSimNode->getIBNode())->p_system->name + string(" HCA-1 (Mellanox HCA)");
+  }
+  else
+  {
+    desc =  (pSimNode->getIBNode())->p_system->name + string(" Infiniscale-III Mellanox Technologies");
+  }
+
+  int descLen = desc.size();
+  if (descLen > 64) descLen = 64;
+  memcpy(pRespMad->data, desc.c_str(), descLen);
+  if (descLen < 64) pRespMad->data[descLen] = 0;
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+int IBMSSma::nodeInfoMad(ibms_mad_msg_t &respMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_smp_t* pRespMad;
+
+  MSGREG(inf1, 'I', "NodeInfo Get mad handling !", "nodeInfoMad");
+  MSGSND(inf1);
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+  ib_node_info_set_local_port_num( &(pSimNode->nodeInfo), inPort);
+  memcpy (pRespMad->data, &(pSimNode->nodeInfo), sizeof(pSimNode->nodeInfo));
+
+  /* provide the port guid for CA ports */
+  if (pSimNode->nodeInfo.node_type != 2)
+  {
+    ib_node_info_t *p_node_info = (ib_node_info_t *)pRespMad->data;
+    IBPort *pPort = pSimNode->getIBNode()->getPort(inPort);
+    if (pPort)
+      p_node_info->port_guid = cl_hton64(pPort->guid_get());
+  }
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+int IBMSSma::lftMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  ib_smp_t*           pRespMad;
+  uint8_t               lftBlock[64];
+  uint32_t            lftIndex = 0;
+  uint32_t            iter = 0;
+
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+
+  if ((uint16_t)(cl_ntoh16(pSimNode->switchInfo.lin_cap)/64) <
+      cl_ntoh32(reqMadMsg.header.attr_mod))
+  {
+    MSGREG(err0, 'E',
+           "Req. lft block is $ while SwitchInfo LFT Cap is $ !",
+           "lftMad");
+    MSGSND(err0, cl_ntoh32(reqMadMsg.header.attr_mod),
+           cl_ntoh16(pSimNode->switchInfo.lin_cap));
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  lftIndex = cl_ntoh32(reqMadMsg.header.attr_mod) * 64;
+  iter = cl_ntoh32(reqMadMsg.header.attr_mod);
+  MSGREG(inf3, 'V', "Linear Forwarding entry handled is $ and block number is $ ", "lftMad");
+  MSGSND(inf3, lftIndex, iter);
+
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf1, 'V', "LFT SubnGet !", "lftMad");
+    MSGSND(inf1);
+
+    //copy entries from lft according to index
+    for (iter=0;iter<64;iter++) lftBlock[iter] =
+                                  (pSimNode->getIBNode())->getLFTPortForLid(lftIndex + iter);
+  }
+  else
+  {
+    MSGREG(inf2, 'V', "LFT SubnSet !", "lftMad");
+    MSGSND(inf2);
+
+    memcpy ( &lftBlock[0], pRespMad->data, 64 * sizeof(uint8_t));
+    //copy entries from lft according to index
+    for (iter=0;iter<64;iter++)
+      (pSimNode->getIBNode())->setLFTPortForLid(lftIndex + iter, lftBlock[iter]);
+  }
+
+  memcpy (pRespMad->data, &lftBlock[0], 64 * sizeof(uint8_t));
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::vlArbMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  ib_smp_t*           pRespMad;
+  ib_smp_t*           pReqMad;
+  uint8_t             portIndex, priorityIndex;
+  ib_vl_arb_table_t   vlArbEntryElm;
+  ib_vl_arb_table_t*  pVlArbEntryElm;
+
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+  {
+    portIndex = (cl_ntoh32(reqMadMsg.header.attr_mod) & 0xff);
+  }
+  else
+  {
+    portIndex = inPort;
+  }
+  priorityIndex = (cl_ntoh32(reqMadMsg.header.attr_mod) >> 16);
+  if (priorityIndex == 0) {
+    MSGREG(err0, 'E',
+           "Req.  blockIndex is $ legal values are 1..4 !",
+           "vlArbMad");
+    MSGSND(err0, portIndex, pSimNode->nodeInfo.num_ports);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  if (portIndex > pSimNode->nodeInfo.num_ports)
+  {
+    MSGREG(err1, 'E',
+           "Req. port is $ while Node number of ports is $ !",
+           "vlArbMad");
+    MSGSND(err1, portIndex, pSimNode->nodeInfo.num_ports);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+
+  MSGREG(inf0, 'V', "VL Arbitration entry handled for port $ and priority $ ", "vlArbMad");
+  MSGSND(inf0, portIndex, priorityIndex);
+
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf1, 'V', "VL Arbitration SubnGet !", "vlArbMad");
+    MSGSND(inf1);
+
+    vlArbEntryElm = (pSimNode->vlArbPortEntry[portIndex])[priorityIndex];
+    memcpy ((void*)(pRespMad->data), (void*)(&vlArbEntryElm), sizeof(ib_vl_arb_table_t));
+  }
+  else
+  {
+    MSGREG(inf2, 'V', "VL Arbitration SubnSet !", "vlArbMad");
+    MSGSND(inf2);
+
+    pVlArbEntryElm = &(pSimNode->vlArbPortEntry[portIndex])[priorityIndex];
+    memcpy ((void*)(pVlArbEntryElm), (void*)(pReqMad->data), sizeof(ib_vl_arb_table_t));
+    memcpy ((void*)(pRespMad->data), (void*)(pReqMad->data), sizeof(ib_vl_arb_table_t));
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::sl2VlMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  ib_smp_t*           pRespMad;
+  ib_smp_t*           pReqMad;
+  uint8_t             inputPortIndex, outputPortIndex;
+  ib_slvl_table_t     sl2VlEntryElm;
+  ib_slvl_table_t*    pSl2VlEntryElm;
+
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+  {
+    inputPortIndex = ((cl_ntoh32(reqMadMsg.header.attr_mod) >> 8) & 0xff);
+    outputPortIndex = (cl_ntoh32(reqMadMsg.header.attr_mod) & 0xff);
+  }
+  else
+  {
+    inputPortIndex = 0;
+    outputPortIndex = inPort;
+  }
+
+  if ((inputPortIndex > pSimNode->nodeInfo.num_ports) ||
+      (outputPortIndex > pSimNode->nodeInfo.num_ports))
+  {
+    MSGREG(err0, 'E',
+           "Req. mft input port is $ and output port is $ while Node number of ports is $ !",
+           "sl2VlMad");
+    MSGSND(err0, inputPortIndex, outputPortIndex, pSimNode->nodeInfo.num_ports);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+
+  MSGREG(inf0, 'V', "SL2VL entry handled for input port $ and output port $ ", "sl2VlMad");
+  MSGSND(inf0, inputPortIndex, outputPortIndex);
+
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf1, 'V', "SL2VL SubnGet !", "sl2VlMad");
+    MSGSND(inf1);
+
+    sl2VlEntryElm = (pSimNode->sl2VlInPortEntry[inputPortIndex])[outputPortIndex];
+    memcpy ((void*)(pRespMad->data), (void*)(&sl2VlEntryElm), sizeof(ib_slvl_table_t));
+  }
+  else
+  {
+    MSGREG(inf2, 'V', "SL2VL SubnSet !", "sl2VlMad");
+    MSGSND(inf2);
+
+    pSl2VlEntryElm = &(pSimNode->sl2VlInPortEntry[inputPortIndex])[outputPortIndex];
+    memcpy ((void*)(pSl2VlEntryElm), (void*)(pReqMad->data), sizeof(ib_slvl_table_t));
+    memcpy ((void*)(pRespMad->data), (void*)(pReqMad->data), sizeof(ib_slvl_table_t));
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::mftMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  ib_smp_t*           pRespMad;
+  ib_smp_t*           pReqMad;
+  uint16_t            mftTableEntryIndex = (cl_ntoh32(reqMadMsg.header.attr_mod) & IB_MCAST_BLOCK_ID_MASK_HO);
+  uint8_t             mftPortEntryIndex = (cl_ntoh32(reqMadMsg.header.attr_mod) >> IB_MCAST_POSITION_SHIFT);
+  ib_mft_table_t*     pMftEntryElm;
+
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+
+  // checking for:
+  // 1. AM bits 0-8 =< SwitchInfo:MftCap
+  // 2. ((((AM bits 28-31) + 1)*16)-1) <= NodeInfo:NumberOfPort
+  if ((cl_ntoh16(pSimNode->switchInfo.mcast_cap)/IB_MCAST_BLOCK_SIZE) < mftTableEntryIndex)
+  {
+    MSGREG(err0, 'E',
+           "Req. mft entry block is $ while SwitchInfo MFT Cap is $ !",
+           "mftMad");
+    MSGSND(err0, mftTableEntryIndex,
+           cl_ntoh16(pSimNode->switchInfo.mcast_cap));
+    status = IB_MAD_STATUS_INVALID_FIELD;
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  if (mftPortEntryIndex * 16 > pSimNode->nodeInfo.num_ports)
+  {
+    MSGREG(err1, 'E',
+           "Req. mft port block is $ while NodeInfo number of ports is $ !",
+           "mftMad");
+    MSGSND(err1, mftPortEntryIndex, pSimNode->nodeInfo.num_ports);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  MSGREG(inf3, 'E', "Multicast Forwarding entry handled portIdx $ blockIdx $ ", "mftMad");
+  MSGSND(inf3, mftTableEntryIndex, mftPortEntryIndex);
+
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf1, 'V', "MFT SubnGet !", "mftMad");
+    MSGSND(inf1);
+
+	 if ( (mftPortEntryIndex >= pSimNode->switchMftPortsEntry.size()) ||
+			(mftTableEntryIndex >= pSimNode->switchMftPortsEntry[mftPortEntryIndex].size()))
+	 {
+		 MSGREG(warn1, 'W', "MFT SubnGet with uninitialized values at portIdx:$ blockIdx:$  !", "mftMad");
+		 MSGSND(warn1,mftPortEntryIndex, mftTableEntryIndex);
+		 memset ((void*)(pRespMad->data), 0, sizeof(ib_mft_table_t));
+		 MSG_EXIT_FUNC;
+		 return status;
+	 }
+
+    pMftEntryElm = &(pSimNode->switchMftPortsEntry[mftPortEntryIndex][mftTableEntryIndex]);
+    memcpy ((void*)(pRespMad->data), (void*)(pMftEntryElm), sizeof(ib_mft_table_t));
+  }
+  else
+  {
+	  unsigned i;
+    MSGREG(inf2, 'V', "MFT SubnSet !", "mftMad");
+    MSGSND(inf2);
+
+	 MSGREG(inf9, 'E', "MFT SubnSet $ base_port:$ block:$ entry 0 value:$", "mftMad");
+
+	 for (i = pSimNode->switchMftPortsEntry.size(); i <= mftPortEntryIndex; i++)
+	 {
+		 vector < ib_mft_table_t > tmpVec;
+		 pSimNode->switchMftPortsEntry.push_back(tmpVec);
+	 }
+
+	 for (i = pSimNode->switchMftPortsEntry[mftPortEntryIndex].size(); i <= mftTableEntryIndex; i++)
+	 {
+		 ib_mft_table_t tmp;
+		 memset(&tmp, 0, sizeof(ib_mft_table_t));
+		 pSimNode->switchMftPortsEntry[mftPortEntryIndex].push_back(tmp);
+	 }
+
+    pMftEntryElm = &(pSimNode->switchMftPortsEntry[mftPortEntryIndex][mftTableEntryIndex]);
+    memcpy ((void*)(pMftEntryElm), (void*)(pReqMad->data), sizeof(ib_mft_table_t));
+	 char buff[16];
+	sprintf(buff,"0x%04x", cl_ntoh16(pMftEntryElm->mft_entry[0]));
+	MSGSND(inf9, pSimNode->getIBNode()->name,
+			mftPortEntryIndex, mftTableEntryIndex, buff);
+    memcpy ((void*)(pRespMad->data), (void*)(pReqMad->data), sizeof(ib_mft_table_t));
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::switchInfoMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  ib_smp_t*           pRespMad;
+
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf2, 'V', "SwitchInfo SubnGet !", "switchInfoMad");
+    MSGSND(inf2);
+  }
+  else
+  {
+    MSGREG(inf3, 'V', "SwitchInfo SubnSet !", "switchInfoMad");
+    MSGSND(inf3);
+    {
+      ib_smp_t*           pReqMad;
+      ib_switch_info_t*   pReqSwitchInfo;
+
+      pReqMad = (ib_smp_t*) &reqMadMsg.header;
+      pReqSwitchInfo = (ib_switch_info_t*)(pReqMad->data);
+
+      if (cl_ntoh16(pReqSwitchInfo->lin_top) >= cl_ntoh16(pSimNode->switchInfo.lin_cap))
+      {
+        MSGREG(err0, 'E',
+               "SwitchInfo LFT Cap is $ and lower from req. LFT Top $ !",
+               "switchInfoMad");
+        MSGSND(err0, cl_ntoh16(pSimNode->switchInfo.lin_cap),
+               cl_ntoh16(pReqSwitchInfo->lin_top));
+        status = IB_MAD_STATUS_INVALID_FIELD;
+
+        MSG_EXIT_FUNC;
+        return status;
+      }
+
+      pSimNode->switchInfo.lin_top = pReqSwitchInfo->lin_top;
+      pSimNode->switchInfo.def_port = pReqSwitchInfo->def_port;
+      pSimNode->switchInfo.def_mcast_pri_port = pReqSwitchInfo->def_mcast_pri_port;
+      pSimNode->switchInfo.def_mcast_not_port = pReqSwitchInfo->def_mcast_not_port;
+
+      if (ib_switch_info_get_state_change(pReqSwitchInfo))
+      {
+        ib_switch_info_clear_state_change(pReqSwitchInfo);
+      }
+      else
+      {
+        if (ib_switch_info_get_state_change(&(pSimNode->switchInfo)))
+          ib_switch_info_set_state_change(pReqSwitchInfo);
+      }
+      pSimNode->switchInfo.life_state = pReqSwitchInfo->life_state;
+    }
+  }
+
+  memcpy (pRespMad->data, &(pSimNode->switchInfo), sizeof(ib_switch_info_t));
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::setPortInfoGeneral(ibms_mad_msg_t &respMadMsg,
+                                ibms_mad_msg_t &reqMadMsg,
+                                uint8_t        inPort,
+                                ib_port_info_t portInfoElm,
+                                int            portNum)
+{
+  MSG_ENTER_FUNC;
+  ib_net16_t          status = 0;
+  ib_smp_t*           pReqMad;
+  ib_port_info_t*     pReqPortInfo;
+  ib_port_info_t*     pNodePortInfo;
+
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+  pReqPortInfo = (ib_port_info_t*)(pReqMad->data);
+  pNodePortInfo = &(pSimNode->nodePortsInfo[portNum]);
+
+  if (ib_port_info_get_port_state(&portInfoElm) == IB_LINK_DOWN)
+  {
+    MSGREG(err0, 'W', "PortInfo PortState is Down - Port Not connected !", "setPortInfoGeneral");
+    MSGSND(err0);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  pNodePortInfo->local_port_num = inPort;
+  pNodePortInfo->m_key = pReqPortInfo->m_key;
+  pNodePortInfo->subnet_prefix = pReqPortInfo->subnet_prefix;
+
+  pNodePortInfo->m_key_lease_period = pReqPortInfo->m_key_lease_period;
+  // TODO: check LinkWidthEnabled parameter from the SM (check very complexed)
+  if (pReqPortInfo->link_width_enabled)
+  {
+    pNodePortInfo->link_width_enabled = pReqPortInfo->link_width_enabled;
+  }
+
+  {
+    // state_info1 == LinkSpeedSupported and PortState
+    uint8_t newPortState;
+    uint8_t oldPortState;
+
+    newPortState = ib_port_info_get_port_state(pReqPortInfo);
+    oldPortState = ib_port_info_get_port_state(pNodePortInfo);
+    if (((newPortState == IB_LINK_INIT) || (newPortState >= IB_LINK_ACT_DEFER)) ||
+        ((oldPortState == IB_LINK_DOWN) &&
+         ((newPortState == IB_LINK_ARMED) || (newPortState == IB_LINK_ACTIVE))) ||
+        ((oldPortState == IB_LINK_ARMED) && (newPortState == IB_LINK_ARMED)) ||
+        ((newPortState == IB_LINK_ACTIVE) &&
+         ((oldPortState == IB_LINK_ACTIVE) && (newPortState == IB_LINK_INIT))))
+    {
+      MSGREG(err0, 'E', "PortInfo PortState set for $ from $ is invalid !", "setPortInfoGeneral");
+      MSGSND(err0, newPortState, oldPortState);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+
+    if (newPortState == IB_LINK_DOWN) newPortState = IB_LINK_INIT;
+    // if all checks passed then set and change required
+    if (newPortState)
+    {
+      ib_port_info_set_port_state(pNodePortInfo, newPortState);
+    }
+  }
+
+  {   //state_info2 == PortPhysState and LinkDownDefaultState
+    uint8_t newPortPhyState;
+    uint8_t newDefDownPortState;
+
+    newPortPhyState = ib_port_info_get_port_phys_state(pReqPortInfo);
+    if (newPortPhyState >= 4)
+    {
+      MSGREG(err1, 'E', "PortInfo PortPhyState set for $ (higher or equal to 4) !", "setPortInfoGeneral");
+      MSGSND(err1, newPortPhyState);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+
+    newDefDownPortState = ib_port_info_get_link_down_def_state(pReqPortInfo);
+    if (newDefDownPortState >= 3)
+    {
+      MSGREG(err2, 'E', "PortInfo LinkDownDefualt State set for $ (higher or equal to 3) !", "setPortInfoGeneral");
+      MSGSND(err2, newDefDownPortState);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+
+    if (newPortPhyState)
+    {
+      ib_port_info_set_port_phys_state(newPortPhyState, pNodePortInfo);
+    }
+    if (newDefDownPortState)
+    {
+      ib_port_info_set_link_down_def_state(pNodePortInfo, newDefDownPortState);
+    }
+  }   // END state_info2
+
+  {   // LinkSpeedEnabled and LinkSpeedActive
+    uint8_t     linkSpeedEn;
+
+    linkSpeedEn = ib_port_info_get_link_speed_enabled(pReqPortInfo);
+    if ((linkSpeedEn >= 8) && (linkSpeedEn <= 0xe))
+    {
+      MSGREG(err3, 'E', "PortInfo Link speed enabled set for $ (between 0x8 and 0xe) !", "setPortInfoGeneral");
+      MSGSND(err3, linkSpeedEn);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    if (linkSpeedEn)
+    {
+      ib_port_info_set_link_speed_enabled(pNodePortInfo, linkSpeedEn);
+    }
+  }   // END LinkSpeedEnabled and LinkSpeedActive
+
+  pNodePortInfo->vl_high_limit = pReqPortInfo->vl_high_limit;
+  pNodePortInfo->m_key_violations = pReqPortInfo->m_key_violations;
+  pNodePortInfo->p_key_violations = pReqPortInfo->p_key_violations;
+  pNodePortInfo->q_key_violations = pReqPortInfo->q_key_violations;
+  pNodePortInfo->subnet_timeout = pReqPortInfo->subnet_timeout;
+  pNodePortInfo->error_threshold = pReqPortInfo->error_threshold;
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+/* set the IBPort base lid and keep the map of port by lid consistent */
+int IBMSSma::setIBPortBaseLid(
+  IBMSNode *pSimNode,
+  uint8_t   inPortNum,
+  uint16_t base_lid)
+{
+  IBNode*             pNode;
+  IBPort*             pPort = NULL;
+  unsigned int        portLidIndex;
+  unsigned int        minPortNum;
+  unsigned int        maxPortNum;
+  MSG_ENTER_FUNC;
+
+  MSGREG(inf0, 'I', "Setting base_lid for node:$ port:$ to $",
+         "setIBPortBaseLid");
+  pNode = pSimNode->getIBNode();
+
+  /*
+     We need a special case for switch port 0 changing
+     the reason is that there is no IBPort since they are all physical
+     what we do is to search for port 1 - N and set them properly.
+     Then we find and change the port by lid table.
+  */
+  if (pNode->type == IB_SW_NODE)
+  {
+    if (inPortNum == 0)
+    {
+      minPortNum = 1;
+      maxPortNum = pNode->numPorts;
+    }
+    else
+    {
+      MSGREG(w0, 'W', "Ignoring switch port $ != 0", "setIBPortBaseLid");
+      MSGSND(w0, inPortNum);
+      return 0;
+    }
+  }
+  else
+  {
+    minPortNum = maxPortNum = inPortNum;
+  }
+
+  for (unsigned int portNum = minPortNum; portNum <= maxPortNum; portNum++)
+  {
+    pPort = pNode->getPort(portNum);
+    if (! pPort)
+    {
+      MSGREG(err9, 'E', "No Port $ on node:$!", "setIBPortBaseLid");
+      MSGSND(err9, portNum, pNode->name);
+      return 1;
+    }
+
+    MSGSND(inf0, pNode->name, portNum, base_lid);
+
+    /* keep track of the previous lid */
+    uint16_t prevLid = pPort->base_lid;
+
+    /* assign the lid */
+    pPort->base_lid = base_lid;
+
+    /* make sure the vector of port by lid has enough entries */
+    if (pNode->p_fabric->PortByLid.size() <= base_lid)
+    {
+      /* we add 20 entries each time */
+      pNode->p_fabric->PortByLid.resize(base_lid+20);
+      for ( portLidIndex = pNode->p_fabric->PortByLid.size();
+            portLidIndex < (unsigned int)(base_lid + 20);
+            portLidIndex++)
+      {
+        pNode->p_fabric->PortByLid[portLidIndex] = NULL;
+      }
+    }
+
+    /* keep track of the max lid */
+    if (  pNode->p_fabric->maxLid  < base_lid )
+      pNode->p_fabric->maxLid = base_lid;
+
+    /* need to cleanup the previous entry */
+    if (prevLid < pNode->p_fabric->PortByLid.size())
+      pNode->p_fabric->PortByLid[prevLid] = NULL;
+
+    /* cleanup old base_lid for ports that used to have that lid ... */
+    IBPort *pPrevPort = pNode->p_fabric->PortByLid[base_lid];
+    if (pPrevPort && (pPrevPort != pPort))
+    {
+      /* for HCAs we can not have two ports pointing at the same lid */
+      /* for switches - it must be the same switch ... */
+      if ((pNode->type != IB_SW_NODE) || (pPrevPort->p_node != pNode))
+        pPrevPort->base_lid = 0;
+    }
+
+  }
+
+  /* now set the new port by lid */
+  pNode->p_fabric->PortByLid[base_lid] = pPort;
+
+  MSG_EXIT_FUNC;
+  return 0;
+}
+
+int IBMSSma::setPortInfoSwBasePort(ibms_mad_msg_t &respMadMsg,
+                                   ibms_mad_msg_t &reqMadMsg,
+                                   uint8_t        inPort,
+                                   ib_port_info_t portInfoElm,
+                                   int            portNum)
+{
+  MSG_ENTER_FUNC;
+  ib_net16_t          status = 0;
+  ib_smp_t*           pReqMad;
+  ib_port_info_t*     pReqPortInfo;
+  ib_port_info_t*     pNodePortInfo;
+
+
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+  pReqPortInfo = (ib_port_info_t*)(pReqMad->data);
+  pNodePortInfo = &(pSimNode->nodePortsInfo[portNum]);
+
+  if ((pReqPortInfo->base_lid == 0) || (cl_ntoh16(pReqPortInfo->base_lid) >= 0xbfff))
+  {
+    MSGREG(err6, 'E', "PortInfo Invalid Lid set to $ on SW Base port!", "setPortInfoSwBasePort");
+    MSGSND(err6, pReqPortInfo->base_lid);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  else
+  {
+    /* need to update the IBPort base lid on a change */
+    if (pNodePortInfo->base_lid != pReqPortInfo->base_lid)
+    {
+      setIBPortBaseLid(pSimNode, portNum, cl_ntoh16(pReqPortInfo->base_lid));
+      pNodePortInfo->base_lid = pReqPortInfo->base_lid;
+    }
+    else
+    {
+        MSGREG(inf1, 'V', "Lid does not require change by the SubnSet !", "setPortInfoSwBasePort");
+        MSGSND(inf1);
+    }
+
+  }
+
+  if ((pReqPortInfo->master_sm_base_lid == 0) || (cl_ntoh16(pReqPortInfo->master_sm_base_lid) >= 0xbfff))
+  {
+    MSGREG(err5, 'E', "PortInfo Invalid master SM Lid set for $ !", "setPortInfoSwBasePort");
+    MSGSND(err5, pReqPortInfo->master_sm_base_lid);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  else pNodePortInfo->master_sm_base_lid = pReqPortInfo->master_sm_base_lid;
+
+  {
+    uint8_t  reqLmc;
+    uint8_t  mKeyProtectBits;
+
+    reqLmc = ib_port_info_get_lmc(pReqPortInfo);
+    if (reqLmc != 0)
+    {
+      MSGREG(err3, 'E', "Base Port0 PortInfo LMC set for $ (must be 0) !", "setPortInfoSwBasePort");
+      MSGSND(err3, reqLmc);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    ib_port_info_set_lmc(pNodePortInfo, 0);
+
+    mKeyProtectBits = ib_port_info_get_mpb(pReqPortInfo);
+    ib_port_info_set_mpb(pNodePortInfo, mKeyProtectBits);
+  }
+
+  {
+    uint8_t     masterSmSl;
+
+    masterSmSl = ib_port_info_get_smsl(pReqPortInfo);
+    ib_port_info_set_smsl(pNodePortInfo, masterSmSl);
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::setPortInfoSwExtPort(ibms_mad_msg_t &respMadMsg,
+                                  ibms_mad_msg_t &reqMadMsg,
+                                  uint8_t        inPort,
+                                  ib_port_info_t portInfoElm,
+                                  int            portNum)
+{
+  MSG_ENTER_FUNC;
+  ib_net16_t          status = 0;
+  ib_smp_t*           pReqMad;
+  ib_port_info_t*     pReqPortInfo;
+  ib_port_info_t*     pNodePortInfo;
+
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+  pReqPortInfo = (ib_port_info_t*)(pReqMad->data);
+  pNodePortInfo = &(pSimNode->nodePortsInfo[portNum]);
+
+  {
+    uint8_t     nMtuReq;
+    uint8_t     mtuCap;
+
+    nMtuReq = ib_port_info_get_neighbor_mtu(pReqPortInfo);
+    mtuCap = ib_port_info_get_mtu_cap(pNodePortInfo);
+    if ((nMtuReq == 0) || (nMtuReq > 5) || (nMtuReq > mtuCap))
+    {
+      MSGREG(err4, 'E', "PortInfo N - MTU set for $ with MTU Cap $ !", "setPortInfoSwExtPort");
+      MSGSND(err4, nMtuReq, mtuCap);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    ib_port_info_set_neighbor_mtu(pNodePortInfo, nMtuReq);
+  }
+
+  pNodePortInfo->vl_stall_life = pReqPortInfo->vl_stall_life;
+
+  {
+    uint8_t     reqOpVl;
+    uint8_t     vlCap;
+
+    reqOpVl = ib_port_info_get_op_vls(pReqPortInfo);
+    vlCap = ib_port_info_get_vl_cap(pNodePortInfo);
+
+    if ((reqOpVl > vlCap) || (reqOpVl > 5))
+    {
+      MSGREG(err5, 'E', "PortInfo Operational VL set for $ with VL Cap $ !", "setPortInfoSwExtPort");
+      MSGSND(err5, reqOpVl, vlCap);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    if (reqOpVl) ib_port_info_set_op_vls(pNodePortInfo, reqOpVl);
+  }
+
+  // TODO check if legal
+  pNodePortInfo->vl_enforce =
+	 pNodePortInfo->vl_enforce & 0xf0 | pReqPortInfo->vl_enforce & 0xf;
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::setPortInfoHca(ibms_mad_msg_t &respMadMsg,
+                            ibms_mad_msg_t &reqMadMsg,
+                            uint8_t        inPort,
+                            ib_port_info_t portInfoElm,
+                            int            portNum)
+{
+  MSG_ENTER_FUNC;
+  ib_net16_t          status = 0;
+  ib_smp_t*           pReqMad;
+  ib_port_info_t*     pReqPortInfo;
+  ib_port_info_t*     pNodePortInfo;
+
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+  pReqPortInfo = (ib_port_info_t*)(pReqMad->data);
+  pNodePortInfo = &(pSimNode->nodePortsInfo[portNum]);
+
+  if ((pReqPortInfo->base_lid == 0) || (cl_ntoh16(pReqPortInfo->base_lid) >= 0xbfff))
+  {
+    MSGREG(err6, 'E', "PortInfo Invalid Lid set to $ on HCA!", "setPortInfoHca");
+    MSGSND(err6, pReqPortInfo->base_lid);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  else
+  {
+    if (pNodePortInfo->base_lid != pReqPortInfo->base_lid)
+    {
+      setIBPortBaseLid(pSimNode, portNum, cl_ntoh16(pReqPortInfo->base_lid));
+      pNodePortInfo->base_lid = pReqPortInfo->base_lid;
+    }
+    else
+    {
+      MSGREG(inf1, 'V', "Lid does not require change by the SubnSet !", "setPortInfoHca");
+        MSGSND(inf1);
+    }
+  }
+
+  if ((pReqPortInfo->master_sm_base_lid == 0) || (cl_ntoh16(pReqPortInfo->master_sm_base_lid) >= 0xbfff))
+  {
+    MSGREG(err5, 'E', "PortInfo Invalid master SM Lid set for $ !", "setPortInfoHca");
+    MSGSND(err5, pReqPortInfo->master_sm_base_lid);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  else pNodePortInfo->master_sm_base_lid = pReqPortInfo->master_sm_base_lid;
+
+  {
+    uint8_t  reqLmc;
+    uint8_t  mKeyProtectBits;
+
+    reqLmc = ib_port_info_get_lmc(pReqPortInfo);
+    ib_port_info_set_lmc(pNodePortInfo, reqLmc);
+    mKeyProtectBits = ib_port_info_get_mpb(pReqPortInfo);
+    ib_port_info_set_mpb(pNodePortInfo, mKeyProtectBits);
+  }
+
+  {
+    uint8_t     nMtuReq;
+    uint8_t     mtuCap;
+    uint8_t     masterSmSl;
+
+    nMtuReq = ib_port_info_get_neighbor_mtu(pReqPortInfo);
+    mtuCap = ib_port_info_get_mtu_cap(pNodePortInfo);
+    if ((nMtuReq == 0) || (nMtuReq > 5) || (nMtuReq > mtuCap))
+    {
+      MSGREG(err4, 'E', "PortInfo N - MTU set for $ with MTU Cap $ !", "setPortInfoHca");
+      MSGSND(err4, nMtuReq, mtuCap);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    ib_port_info_set_neighbor_mtu(pNodePortInfo, nMtuReq);
+    masterSmSl = ib_port_info_get_smsl(pReqPortInfo);
+    ib_port_info_set_smsl(pNodePortInfo, masterSmSl);
+  }
+
+  {
+    uint8_t     reqOpVl;
+    uint8_t     vlCap;
+
+    reqOpVl = ib_port_info_get_op_vls(pReqPortInfo);
+    vlCap = ib_port_info_get_vl_cap(pNodePortInfo);
+
+    if ((reqOpVl > vlCap) || (reqOpVl > 5))
+    {
+      MSGREG(err5, 'E', "PortInfo Operational VL set for $ with VL Cap $ !", "setPortInfoHca");
+      MSGSND(err5, reqOpVl, vlCap);
+      status = IB_MAD_STATUS_INVALID_FIELD;
+
+      MSG_EXIT_FUNC;
+      return status;
+    }
+    if (reqOpVl) ib_port_info_set_op_vls(pNodePortInfo, reqOpVl);
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::setPortInfo(ibms_mad_msg_t &respMadMsg,
+                         ibms_mad_msg_t &reqMadMsg,
+                         uint8_t        inPort,
+                         ib_port_info_t portInfoElm,
+                         int            portNum)
+{
+  MSG_ENTER_FUNC;
+  ib_net16_t          status = 0;
+
+  status = setPortInfoGeneral(respMadMsg, reqMadMsg, inPort, portInfoElm, portNum);
+  if (status)
+  {
+    MSGREG(err0, 'E', "PortInfo failed in setPortInfoGeneral !", "setPortInfo");
+    MSGSND(err0);
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+  {
+    //Handling a switch port
+    //TODO add different handling for: Enhanced Port0
+    //MSGREG(inf4, 'V', "PortInfo SubnSet of Switch Enhanced Port0 !", "setPortInfo");
+    //MSGSND(inf4);
+
+    //  2) Base Port0
+    if (portNum == 0)
+    {
+      status = setPortInfoSwBasePort(respMadMsg, reqMadMsg, inPort, portInfoElm, portNum);
+    }
+    else
+    { //  3) External ports
+      status = setPortInfoSwExtPort(respMadMsg, reqMadMsg, inPort, portInfoElm, portNum);
+    }
+  }
+  else
+  {   //Handling an HCA port
+    status = setPortInfoHca(respMadMsg, reqMadMsg, inPort, portInfoElm, portNum);
+  }
+  if (status)
+  {
+    MSGREG(err1, 'E', "PortInfo failed in Node specific area !", "setPortInfo");
+    MSGSND(err1);
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  {
+    ib_smp_t*           pRespMad;
+    ib_port_info_t*     pNodePortInfo;
+
+    pRespMad = (ib_smp_t*) &respMadMsg.header;
+    pNodePortInfo = &(pSimNode->nodePortsInfo[portNum]);
+    memcpy (pRespMad->data, pNodePortInfo, sizeof(portInfoElm));
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::portInfoMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  int                 portNum;
+  ib_net16_t          status = 0;
+  ib_port_info_t      portInfoElm;
+
+  portNum = cl_ntoh32(reqMadMsg.header.attr_mod);
+  //non existing port of the device
+  if (portNum > pSimNode->nodeInfo.num_ports)
+  {
+    MSGREG(err0, 'E', "PortInfo request for non-existing port", "portInfoMad");
+    MSGSND(err0);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  //for HCAs if AM is 0 then handling the port that received the mad
+  if ((pSimNode->nodeInfo.node_type == IB_NODE_TYPE_CA) && (portNum == 0))
+  {
+    portNum = inPort;
+  }
+
+  portInfoElm = pSimNode->nodePortsInfo[portNum];
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf2, 'V', "PortInfo SubnGet !", "portInfoMad");
+    MSGSND(inf2);
+    {
+      ib_smp_t*           pRespMad;
+      pRespMad = (ib_smp_t*) &respMadMsg.header;
+
+      portInfoElm.local_port_num = inPort;
+      memcpy (pRespMad->data, &(portInfoElm), sizeof(portInfoElm));
+    }
+  }
+  else
+  {
+    status = setPortInfo(respMadMsg, reqMadMsg, inPort, portInfoElm, portNum);
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::pKeyMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_smp_t*           pRespMad;
+  ib_smp_t*           pReqMad;
+  ib_net16_t          status = 0;
+  ib_pkey_table_t     PKeyBlockElem;
+  ib_pkey_table_t*    pPkeyBlockElem;
+  int                 portNum=0;
+  int                 PKeyBlockNum=0;
+
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_CA)
+  {
+    //HCA
+    portNum = inPort;
+    if (portNum == 0) portNum = 1;
+
+  }
+  else if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+  {   //Switch
+    portNum = cl_ntoh32(reqMadMsg.header.attr_mod) >> 16;
+  }
+  PKeyBlockNum = cl_ntoh32(reqMadMsg.header.attr_mod) & 0xffff;
+  MSGREG(inf2, 'V', "Partition Key block number $ on port $ !", "pKeyMad");
+  MSGSND(inf2, PKeyBlockNum, portNum);
+
+  if (PKeyBlockNum > (cl_ntoh16(pSimNode->nodeInfo.partition_cap) / 32))
+  {
+    MSGREG(err0, 'E', "Partition Key block number $ is un-supported limited to $ blocks !", "pKeyMad");
+    MSGSND(err0, PKeyBlockNum, (cl_ntoh16(pSimNode->nodeInfo.partition_cap) / 32));
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+  //TODO add P_Key size check for external ports of a switch (in SwitchInfo structure)
+
+  pRespMad = (ib_smp_t*) &respMadMsg.header;
+  pReqMad = (ib_smp_t*) &reqMadMsg.header;
+  if (reqMadMsg.header.method == IB_MAD_METHOD_GET)
+  {
+    MSGREG(inf3, 'V', "Partition Key SubnGet !", "pKeyMad");
+    MSGSND(inf3);
+
+    PKeyBlockElem = (pSimNode->nodePortPKeyTable[portNum])[PKeyBlockNum];
+    memcpy ((void*)(pRespMad->data), (void*)(&PKeyBlockElem), sizeof(ib_pkey_table_t));
+  }
+  else
+  {
+    MSGREG(inf4, 'V', "Partition Key SubnSet !", "pKeyMad");
+    MSGSND(inf4);
+
+    pPkeyBlockElem = &(pSimNode->nodePortPKeyTable[portNum])[PKeyBlockNum];
+    memcpy ((void*)(pPkeyBlockElem), (void*)(pReqMad->data), sizeof(ib_pkey_table_t));
+    memcpy ((void*)(pRespMad->data), (void*)(pReqMad->data), sizeof(ib_pkey_table_t));
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::madValidation(ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+
+  // we handle Get or Set or trap repress
+  if ((madMsg.header.method != IB_MAD_METHOD_GET) &&
+      (madMsg.header.method != IB_MAD_METHOD_SET) &&
+      (madMsg.header.method != IB_MAD_METHOD_TRAP_REPRESS))
+  {
+    MSGREG(wrn0, 'W', "We are not handling getResp Method.", "madValidation");
+    MSGSND(wrn0);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  ibms_dump_mad( madMsg, RCV);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSSma::processMad(uint8_t inPort, ibms_mad_msg_t &madMsg)
+{
+
+  MSG_ENTER_FUNC;
+
+  ibms_mad_msg_t      respMadMsg;
+  ib_net16_t          status = 0;
+  uint16_t            attributeId = 0;
+
+  //1. Verify rcv MAD validity.
+  status = madValidation(madMsg);
+  if (status != 0)
+  {
+    //TODO need to do it more cleanly
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  if (madMsg.header.method == IB_MAD_METHOD_TRAP_REPRESS)
+  {
+    MSGREG(inf0, 'I', "--- Received Trap Repress ---", "processMad");
+    MSGSND(inf0);
+
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  //2. Switch according to the attribute to the mad handle
+  //      and call appropriate function
+  MSGREG(inf1, 'I', "Process Mad got the following attribute: $ !", "processMad");
+  MSGSND(inf1, cl_ntoh16(madMsg.header.attr_id));
+  attributeId = madMsg.header.attr_id;
+
+  // copy header from request to the response
+  {
+    ib_smp_t*   pRespSmp = (ib_smp_t*)(&respMadMsg.header);
+    ib_smp_t*   pReqSmp = (ib_smp_t*)(&madMsg.header);
+    memcpy(pRespSmp, pReqSmp, sizeof(ib_smp_t));
+  }
+
+  // perform m_key check
+  unsigned mPort = inPort;
+  if (pSimNode->nodeInfo.node_type == IB_NODE_TYPE_SWITCH)
+    mPort = 0;
+
+  ib_net64_t m_key1 = ((ib_smp_t*)(&madMsg.header))->m_key;
+
+  pthread_mutex_lock(&vPT[mPort].mut);
+  ib_net64_t m_key2 = vPT[mPort].pInfo->m_key;
+
+  MSGREG(inf21, 'I', "Mkeys current: $, received: $!", "processMad");
+  MSGSND(inf21, cl_ntoh64(m_key2), cl_ntoh64(m_key1));
+
+  if (m_key2 && (m_key1 != m_key2) && madMsg.header.method == IB_MAD_METHOD_SET) {
+    MSGREG(inf22, 'I', "Mkeys mismatch!", "processMad");
+    MSGSND(inf22);
+
+    // Timer already running
+    if (vPT[mPort].timerOn) {
+      MSGREG(inf2, 'I', "Timer already on, counter: $!", "processMad");
+      MSGSND(inf2,vPT[mPort].counter);
+
+      MSG_EXIT_FUNC;
+      pthread_mutex_unlock(&vPT[mPort].mut);
+      return 0;
+    }
+    // Start the timer
+    else {
+      vPT[mPort].counter = cl_ntoh16(vPT[mPort].pInfo->m_key_lease_period);
+      vPT[mPort].timerOn = 1;
+      reg_t tmp;
+      tmp.f = cbMkey;
+      tmp.data = &vPT[mPort];
+
+      MSGREG(inf2, 'I', "Starting timer with counter $!", "processMad");
+      MSGSND(inf2,vPT[mPort].counter);
+
+      pthread_mutex_unlock(&vPT[mPort].mut);
+      mkeyTimer.reg(tmp);
+
+
+      MSG_EXIT_FUNC;
+
+      return 0;
+    }
+  }
+
+  if ((m_key1 == m_key2) && (vPT[mPort].timerOn)) {
+    MSGREG(inf2, 'I', "Stopping timer!", "processMad");
+    MSGSND(inf2);
+
+    vPT[mPort].timerOn = 0;
+    pthread_mutex_unlock(&vPT[mPort].mut);
+    mkeyTimer.unreg(&vPT[mPort]);
+  }
+
+  pthread_mutex_unlock(&vPT[mPort].mut);
+
+  switch (attributeId) {
+  case IB_MAD_ATTR_NODE_DESC:
+    MSGREG(inf5, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf5, CL_NTOH16(IB_MAD_ATTR_NODE_DESC));
+    if (madMsg.header.method != IB_MAD_METHOD_GET)
+    {
+      MSGREG(err6, 'E', "NodeDescription was sent with Method other then Get !", "sma");
+      MSGSND(err6);
+
+      MSG_EXIT_FUNC;
+      return IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+    }
+
+    status = nodeDescMad(respMadMsg);
+    break;
+  case IB_MAD_ATTR_NODE_INFO:
+    MSGREG(inf4, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf4, CL_NTOH16(IB_MAD_ATTR_NODE_INFO));
+    if (madMsg.header.method != IB_MAD_METHOD_GET)
+    {
+      MSGREG(err2, 'E', "NodeInfo was sent with Method other then Get !", "sma");
+      MSGSND(err2);
+
+      MSG_EXIT_FUNC;
+      return IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+    }
+
+    status = nodeInfoMad(respMadMsg, inPort);
+    break;
+  case IB_MAD_ATTR_PORT_INFO:
+    MSGREG(inf6, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf6, CL_NTOH16(IB_MAD_ATTR_PORT_INFO));
+
+    status = portInfoMad(respMadMsg, madMsg, inPort);
+    break;
+  case IB_MAD_ATTR_P_KEY_TABLE:
+    MSGREG(inf7, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf7, CL_NTOH16(IB_MAD_ATTR_P_KEY_TABLE));
+
+    status = pKeyMad(respMadMsg, madMsg, inPort);
+    break;
+  case IB_MAD_ATTR_SWITCH_INFO:
+    MSGREG(inf8, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf8, CL_NTOH16(IB_MAD_ATTR_SWITCH_INFO));
+
+    status = switchInfoMad(respMadMsg, madMsg);
+    break;
+  case IB_MAD_ATTR_LIN_FWD_TBL:
+    MSGREG(inf9, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf9, CL_NTOH16(IB_MAD_ATTR_LIN_FWD_TBL));
+
+    status = lftMad(respMadMsg, madMsg);
+    break;
+  case IB_MAD_ATTR_MCAST_FWD_TBL:
+    MSGREG(inf10, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf10, CL_NTOH16(IB_MAD_ATTR_MCAST_FWD_TBL));
+
+    status = mftMad(respMadMsg, madMsg);
+    break;
+  case IB_MAD_ATTR_SLVL_TABLE:
+    MSGREG(inf11, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf11, CL_NTOH16(IB_MAD_ATTR_SLVL_TABLE));
+
+    status = sl2VlMad(respMadMsg, madMsg, inPort);
+    break;
+  case IB_MAD_ATTR_VL_ARBITRATION:
+    MSGREG(inf12, 'I', "Attribute being handled is $ !", "processMad");
+    MSGSND(inf12, CL_NTOH16(IB_MAD_ATTR_VL_ARBITRATION));
+
+    status = vlArbMad(respMadMsg, madMsg, inPort);
+    break;
+  default:
+    MSGREG(err1, 'E', "No handler for requested attribute:$", "processMad");
+    MSGSND(err1, cl_ntoh16(attributeId));
+    status = IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+
+    //TODO need to do it more cleanly
+    MSG_EXIT_FUNC;
+    return status;
+    break;
+  }
+
+  //ib_mad_init_response( respMadMsg, respMadMsg, status);
+  {
+    ib_smp_t*   pRespSmp = (ib_smp_t*)(&respMadMsg.header);
+    ib_smp_t*   pReqSmp = (ib_smp_t*)(&madMsg.header);
+
+    respMadMsg.addr = madMsg.addr;
+    respMadMsg.addr.slid = madMsg.addr.dlid;
+    respMadMsg.addr.dlid = madMsg.addr.slid;
+    if (respMadMsg.header.method == IB_MAD_METHOD_SET)
+    {
+      respMadMsg.header.method = IB_MAD_METHOD_GET_RESP;
+    }
+    else respMadMsg.header.method |= IB_MAD_METHOD_RESP_MASK;
+    //only if direct then set D-bit
+    if (respMadMsg.header.mgmt_class == 0x81)
+    {
+      respMadMsg.header.status = status | IB_SMP_DIRECTION;
+    }
+    pRespSmp->dr_slid = pReqSmp->dr_dlid;
+    pRespSmp->dr_dlid = pReqSmp->dr_slid;
+  }
+
+  //send response
+  ibms_dump_mad( respMadMsg, SND);
+  pSimNode->getSim()->getDispatcher()->dispatchMad(pSimNode, inPort,
+                                                   respMadMsg);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
diff --git a/ibmgtsim/src/sma.h b/ibmgtsim/src/sma.h
new file mode 100644
index 0000000..c222175
--- /dev/null
+++ b/ibmgtsim/src/sma.h
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Subnet Manager Agent
+* NAME
+*	IB Subnet Manager Agent Simulator
+*
+* DESCRIPTION
+*	The top level object of the subnet manager agent simulator
+*
+* AUTHOR
+*	Nimrod Gindi, Mellanox
+*
+*********/
+
+#ifndef SMA_H
+#define SMA_H
+
+#include <pthread.h>
+#include <vector>
+#include <unistd.h>
+#include <ibdm/Fabric.h>
+#include "simmsg.h"
+#include "server.h"
+#include "dispatcher.h"
+#include "node.h"
+#include "ib_types_extend.h"
+
+#define RCV 1
+#define SND 2
+
+/****f* IBMgtSma: ibms_dump_mad
+* NAME
+*	ibms_dump_mad
+*
+* DESCRIPTION
+*	upper level function of printing all mad content in
+*   receiving or sending of Mad
+*
+* SYNOPSIS
+*/
+void
+ibms_dump_mad( const ibms_mad_msg_t &madMsg, const uint8_t dir);
+/*
+* PARAMETERS
+*	madHeader
+*		[in] The Mad it self
+*
+* RETURN VALUE
+*	no returned value
+*
+* NOTES
+*
+* SEE ALSO
+*
+*********/
+
+// Returns 0 if entry should be removed and 1 otherwise
+typedef int (*cbFunc)(void*);
+
+typedef struct reg_
+{
+  cbFunc f;
+  void* data;
+} reg_t;
+
+class SMATimer
+{
+  // Mutex of the timer
+  pthread_mutex_t timerMutex;
+  // Timer thread function
+  static void* timerRun(void* p);
+  // Thread id
+  int tid;
+  // Thread
+  pthread_t th;
+  // Registered objects list
+  vector<reg_t> L;
+  // Sleep time
+  int time;
+
+ public:
+  SMATimer(int time);
+  void terminate();
+  // Timer registration function
+  void reg(reg_t r);
+  // Removes registered object identified by POINTER
+  void unreg(void* data);
+};
+
+#define T_FREQ 1
+
+typedef struct portTiming_
+{
+  ib_port_info_t* pInfo;
+  unsigned counter;
+  int timerOn;
+  pthread_mutex_t mut;
+} portTiming;
+
+class IBMSSma : IBMSMadProcessor {
+
+  // m_key callback function
+  static int cbMkey(void* data);
+  // M_key timer
+  static SMATimer mkeyTimer;
+
+  vector<portTiming> vPT;
+
+  /* init functions of node structures */
+  void initSwitchInfo();
+  void initNodeInfo();
+  void initPortInfo();
+  void initPKeyTables();
+  void initMftTable();
+  void initCaSl2VlTable();
+  void initSwitchSl2VlTable();
+  void initVlArbitTable();
+
+  /* Mad Validation */
+  int madValidation(ibms_mad_msg_t &madMsg);
+
+  /* ----------------------------
+        Attributes Handling
+     ----------------------------*/
+  /* NodeInfo */
+  int nodeInfoMad(ibms_mad_msg_t &respMadMsg, uint8_t inPort);
+  /* NodeDesc */
+  int nodeDescMad(ibms_mad_msg_t &respMadMsg);
+  /* PortInfo */
+  int setIBPortBaseLid(IBMSNode *pSimNode,
+                       uint8_t   portNum,
+                       uint16_t base_lid);
+  int setPortInfoHca(ibms_mad_msg_t &respMadMsg,
+                     ibms_mad_msg_t &reqMadMsg,
+                     uint8_t        inPort,
+                     ib_port_info_t portInfoElm,
+                     int            portNum);
+  int setPortInfoSwExtPort(ibms_mad_msg_t &respMadMsg,
+                           ibms_mad_msg_t &reqMadMsg,
+                           uint8_t        inPort,
+                           ib_port_info_t portInfoElm,
+                           int            portNum);
+  int setPortInfoSwBasePort(ibms_mad_msg_t &respMadMsg,
+                            ibms_mad_msg_t &reqMadMsg,
+                            uint8_t        inPort,
+                            ib_port_info_t portInfoElm,
+                            int            portNum);
+  int setPortInfoGeneral(ibms_mad_msg_t &respMadMsg,
+                         ibms_mad_msg_t &reqMadMsg,
+                         uint8_t        inPort,
+                         ib_port_info_t portInfoElm,
+                         int            portNum);
+  int setPortInfo(ibms_mad_msg_t &respMadMsg,
+                  ibms_mad_msg_t &reqMadMsg,
+                  uint8_t        inPort,
+                  ib_port_info_t portInfoElm,
+                  int            portNum);
+  int portInfoMad(ibms_mad_msg_t &respMadMsg,
+                  ibms_mad_msg_t &reqMadMsg,
+                  uint8_t        inPort);
+  /* P_Key */
+  int pKeyMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort);
+  /* SwitchInfo */
+  int switchInfoMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg);
+  /* LFT */
+  int lftMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg);
+  /* MFT */
+  int mftMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg);
+  /* SL to VL */
+  int sl2VlMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort);
+  /* VL Arbitration */
+  int vlArbMad(ibms_mad_msg_t &respMadMsg, ibms_mad_msg_t &reqMadMsg, uint8_t inPort);
+
+ public:
+  /* Top level of handling the SMA MAD. Might result with a call to the
+     outstandingMads->push() with a result                     */
+  int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg);
+
+  /* Constructor - should initial the specific class elements
+     in the node. */
+  IBMSSma(IBMSNode *pSNode, list_uint16 mgtClasses);
+
+};
+
+#endif /* SMA_H */
diff --git a/ibmgtsim/src/swig_alternate_mangling.cpp b/ibmgtsim/src/swig_alternate_mangling.cpp
new file mode 100644
index 0000000..28ad9b8
--- /dev/null
+++ b/ibmgtsim/src/swig_alternate_mangling.cpp
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+
+// the type of map holding alternate object mangling function and reverse one
+// note we hold it by the original mangled type
+// the type of map holding alternate object mangling function and reverse one
+// note we hold it by the original mangled type
+struct less_char_array : public binary_function<const char *, const char *, bool> {
+        bool operator() (const char * x, const char * y) const { return (strcmp(x,y) < 0); }
+};
+
+#define charp_getname_map map<const char *, int (*)(Tcl_Obj *, void *,char *type),  less_char_array >
+#define charp_getobjp_map map<const char *, int (*)(Tcl_Obj *, void **), less_char_array >
+
+// two maps - for in and out of C++ space
+charp_getname_map SWIG_AlternateObjMangling;
+charp_getobjp_map SWIG_AlternateNameToObj;
+
+/*---------------------------------------------------------------------
+ * void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *ptr, char *type)
+ *
+ * Sets a Tcl object to a pointer value.
+ *           ptr = void pointer value
+ *           type = string representing type
+ *
+ *---------------------------------------------------------------------*/
+SWIGSTATIC
+void SWIG_SetPointerObj(Tcl_Obj *objPtr, void *_ptr, char *type) {
+
+  // if we have an alternate mangling use it:
+  charp_getname_map::const_iterator I = SWIG_AlternateObjMangling.find(type);
+  if (I != SWIG_AlternateObjMangling.end()) {
+	 int (*getName)(Tcl_Obj *, void *, char *type) = (*I).second;
+	 if (getName(objPtr, _ptr, type)) {
+		cerr << "-E- Fail to convert object to string\n";
+	 }
+	 return;
+  }
+
+  static char _hex[16] =
+  {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+	  'a', 'b', 'c', 'd', 'e', 'f'};
+  unsigned long _p, _s;
+  char _result[20], *_r;    /* Note : a 64-bit hex number = 16 digits */
+  char _temp[20], *_c;
+  _r = _result;
+  _p = (unsigned long) _ptr;
+  if (_p > 0) {
+    while (_p > 0) {
+      _s = _p & 0xf;
+      *(_r++) = _hex[_s];
+      _p = _p >> 4;
+    }
+    *_r = '_';
+    _c = &_temp[0];
+    while (_r >= _result)
+      *(_c++) = *(_r--);
+    *_c = 0;
+    Tcl_SetStringObj(objPtr,_temp,-1);
+  } else {
+    Tcl_SetStringObj(objPtr,"NULL",-1);
+  }
+  if (_ptr)
+    Tcl_AppendToObj(objPtr,type,-1);
+}
+
+/*---------------------------------------------------------------------
+ * char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *type)
+ *
+ * Attempts to extract a pointer value from our pointer type.
+ * Upon failure, returns a string corresponding to the actual datatype.
+ * Upon success, returns NULL and sets the pointer value in ptr.
+ *---------------------------------------------------------------------*/
+
+SWIGSTATIC
+char *SWIG_GetPointerObj(Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr, char *_t) {
+  unsigned long _p;
+  char temp_type[256];
+  char *name;
+  int  i, len;
+  SwigPtrType *sp,*tp;
+  SwigCacheType *cache;
+  int  start, end;
+  char *_c;
+  _p = 0;
+
+  // if alternate mangling is defined use it:
+  charp_getobjp_map::const_iterator I = SWIG_AlternateNameToObj.find(_t);
+  if (I != SWIG_AlternateNameToObj.end()) {
+	 int (* getObjByName)(Tcl_Obj *, void **) = (*I).second;
+	 if (getObjByName(objPtr, ptr)) {
+		cerr << "-E- fail to get object by name\n";
+		return Tcl_GetStringFromObj(objPtr, &i);
+	 }
+	 return 0;
+  }
+
+  /* Extract the pointer value as a string */
+  _c = Tcl_GetStringFromObj(objPtr, &i);
+
+  /* Pointer values must start with leading underscore */
+  if (*_c == '_') {
+	 _c++;
+	 /* Extract hex value from pointer */
+	 while (*_c) {
+		if ((*_c >= '0') && (*_c <= '9'))
+		  _p = (_p << 4) + (*_c - '0');
+		else if ((*_c >= 'a') && (*_c <= 'f'))
+		  _p = (_p << 4) + ((*_c - 'a') + 10);
+		else
+		  break;
+		_c++;
+	 }
+
+	 if (_t) {
+		if (strcmp(_t,_c)) {
+		  if (!SwigPtrSort) {
+			 qsort((void *) SwigPtrTable, SwigPtrN, sizeof(SwigPtrType), swigsort);
+			 for (i = 0; i < 256; i++) {
+				SwigStart[i] = SwigPtrN;
+			 }
+			 for (i = SwigPtrN-1; i >= 0; i--) {
+				SwigStart[(int) (SwigPtrTable[i].name[1])] = i;
+			 }
+			 for (i = 255; i >= 1; i--) {
+				if (SwigStart[i-1] > SwigStart[i])
+				  SwigStart[i-1] = SwigStart[i];
+			 }
+			 SwigPtrSort = 1;
+			 for (i = 0; i < SWIG_CACHESIZE; i++)
+				SwigCache[i].stat = 0;
+		  }
+
+		  /* First check cache for matches.  Uses last cache value as starting point */
+		  cache = &SwigCache[SwigLastCache];
+		  for (i = 0; i < SWIG_CACHESIZE; i++) {
+			 if (cache->stat) {
+				if (strcmp(_t,cache->name) == 0) {
+				  if (strcmp(_c,cache->mapped) == 0) {
+					 cache->stat++;
+					 *ptr = (void *) _p;
+					 if (cache->tp->cast) *ptr = (*(cache->tp->cast))(*ptr);
+					 return (char *) 0;
+				  }
+				}
+			 }
+			 SwigLastCache = (SwigLastCache+1) & SWIG_CACHEMASK;
+			 if (!SwigLastCache) cache = SwigCache;
+			 else cache++;
+		  }
+		  /* We have a type mismatch.  Will have to look through our type
+			  mapping table to figure out whether or not we can accept this datatype */
+
+		  start = SwigStart[(int) _t[1]];
+		  end = SwigStart[(int) _t[1]+1];
+		  sp = &SwigPtrTable[start];
+		  while (start < end) {
+			 if (swigcmp(_t,sp) == 0) break;
+			 sp++;
+			 start++;
+		  }
+		  if (start >= end) sp = 0;
+		  /* Try to find a match for this */
+		  if (sp) {
+			 while (swigcmp(_t,sp) == 0) {
+				name = sp->name;
+				len = sp->len;
+				tp = sp->next;
+				/* Try to find entry for our given datatype */
+				while(tp) {
+				  if (tp->len >= 255) {
+					 return _c;
+				  }
+				  strcpy(temp_type,tp->name);
+				  strncat(temp_type,_t+len,255-tp->len);
+				  if (strcmp(_c,temp_type) == 0) {
+
+					 strcpy(SwigCache[SwigCacheIndex].mapped,_c);
+					 strcpy(SwigCache[SwigCacheIndex].name,_t);
+					 SwigCache[SwigCacheIndex].stat = 1;
+					 SwigCache[SwigCacheIndex].tp = tp;
+					 SwigCacheIndex = SwigCacheIndex & SWIG_CACHEMASK;
+
+					 /* Get pointer value */
+					 *ptr = (void *) _p;
+					 if (tp->cast) *ptr = (*(tp->cast))(*ptr);
+					 return (char *) 0;
+				  }
+				  tp = tp->next;
+				}
+				sp++;
+				/* Hmmm. Didn't find it this time */
+			 }
+		  }
+		  /* Didn't find any sort of match for this data.
+			  Get the pointer value and return the received type */
+		  *ptr = (void *) _p;
+		  return _c;
+		} else {
+		  /* Found a match on the first try.  Return pointer value */
+		  *ptr = (void *) _p;
+		  return (char *) 0;
+		}
+	 } else {
+		/* No type specified.  Good luck */
+		*ptr = (void *) _p;
+		return (char *) 0;
+	 }
+  } else {
+    if (strcmp (_c, "NULL") == 0) {
+		*ptr = (void *) 0;
+		return (char *) 0;
+    }
+    *ptr = (void *) 0;
+    return _c;
+  }
+}
diff --git a/ibmgtsim/src/tcpcomm.cpp b/ibmgtsim/src/tcpcomm.cpp
new file mode 100644
index 0000000..947f317
--- /dev/null
+++ b/ibmgtsim/src/tcpcomm.cpp
@@ -0,0 +1,544 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#include <algorithm>
+#include <sys/socket.h> /* for socket(), bind(), and connect() */
+#include <arpa/inet.h>  /* for sockaddr_in and inet_ntoa() */
+#include <string.h>     /* for memset() */
+#include <netdb.h>      /* for get host by name */
+#include <unistd.h>     /* for close() */
+#include "tcpcomm.h"
+#include "msgmgr.h"
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  GenServer
+//
+
+// The basic flow:
+//
+// GenServer(portNum, maxMsgSize)
+//  createServerSocket(portNum)
+//  Create a server thread : open up a server socket
+//   serverThreadMain : simply wait for client connections
+//    Create client thread for every connection
+//     clientThreadMain  : wait for incoming messages
+//      recv - wait for data on the socket
+//      while message size > 0 and no send error
+//       proccessClientMsg : handle incoming message and return the response.
+//       send - send the response
+//      close the socket cleaning up reg in active threads list
+//
+
+/* maximal number of pending socket connections to handle */
+#define MAXPENDING 5
+
+/* The simulator server allowing for multiple clients to connect */
+
+/* create the tcp server socket */
+/* return the socket number or -1 if error */
+int GenServer::createServerSocket(unsigned short port_num)
+{
+  int sock;                        /* socket to create */
+  struct sockaddr_in servAddr; /* Local address */
+
+  MSGREG(errMsg1, 'E', "Fail to open socket", "server");
+  MSGREG(errMsg2, 'V', "Fail to bind socket for port:$", "server");
+  MSGREG(errMsg3, 'E', "Fail to listen to socket", "server");
+  MSGREG(verbMsg1, 'V', "Server is listening on port:$ socket:$", "server");
+
+  /* Create socket for incoming connections */
+  if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
+  {
+    MSGSND(errMsg1);
+    return -1;
+  }
+
+  /* Construct local address structure */
+  memset(&servAddr, 0, sizeof(servAddr)); /* Zero out structure */
+  servAddr.sin_family = AF_INET;              /* Internet address family */
+  servAddr.sin_addr.s_addr = htonl(INADDR_ANY);/* Any incoming interface */
+  servAddr.sin_port = htons(port_num);         /* Local port */
+
+  /* Bind to the local address */
+  if (bind(sock, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)
+  {
+    MSGSND(errMsg2, port_num);
+    return -1;
+  }
+
+  /* Mark the socket so it will listen for incoming connections */
+  if (listen(sock, MAXPENDING) < 0)
+  {
+    MSGSND(errMsg3);
+    return -1;
+  }
+
+  MSGSND(verbMsg1, port_num, sock );
+  return sock;
+}
+
+/*
+  handle client request -
+  either create a new client conn or pass it there
+
+  PARAMETERS:
+  [in] request : is a buffer allocated by the calling code
+  [in] reqLen : the length of the received request
+  [out] resLen : the length of the result
+  [out] response : internally allocated buffer for the result.
+
+  return 1 on error 0 otherwise
+*/
+int GenServer::proccessClientMsg(
+  int clientSock,
+  int reqLen, char request[],
+  int &resLen, char *(pResponse[]))
+{
+  MSGREG(info1, 'I', "Received message:$", "server");
+  MSGSND(info1, request);
+  /* for now only echo */
+  resLen = reqLen;
+  *pResponse = new char[reqLen];
+  strcpy(*pResponse,request);
+
+  return 0;
+}
+
+/*
+   the client thread worker function - basically loops to handle
+   new client messages.
+   Obtains a pointer to the server object and the new client socket in
+   the given args.
+*/
+void *
+GenServer::clientThreadMain(void *threadArgs)
+{
+  MSGREG(err2 ,'E' ,"Fail to send message (sent:$ should:$)", "server");
+  MSGREG(msg1 ,'V' ,"Closed connection with client:$", "server");
+  MSGREG(msg2 ,'V' ,"Waiting for messages from client:$", "server");
+
+  ClientThreadArgs *clientThreadArgs =
+    static_cast<ClientThreadArgs*>(threadArgs);
+
+  pthread_t threadID = pthread_self();
+
+  /* Guarantees that thread resources are deallocated upon return */
+  pthread_detach(threadID);
+
+  /* Extract socket file descriptor from argument */
+  GenServer *pServer = clientThreadArgs->pServer;
+  int clientSocket = clientThreadArgs-> clientSock;
+
+  delete clientThreadArgs;       /* Deallocate memory for argument */
+
+  /* we store the received message in this buffer */
+  char request[pServer->maxMsgBytes];
+  char *response;
+
+  int recvMsgSize;               /* Size of received message */
+  int responseMsgSize;           /* size of the response */
+  int sentMsgSize;               /* Size of sent message */
+  int errOnSend = 0;             /* failing to send should quit */
+
+  MSGSND(msg2 , clientSocket);
+
+  /* Receive message from client */
+  recvMsgSize = recv(clientSocket, request, pServer->maxMsgBytes, 0);
+
+  while ((recvMsgSize != 0) && (! errOnSend)) {
+
+    /* Handle the request */
+    if (! pServer->proccessClientMsg(
+          clientSocket,
+          recvMsgSize, request, responseMsgSize, &response))
+    {
+      sentMsgSize =
+        send(clientSocket, response, responseMsgSize, 0);
+
+      delete [] response;
+
+      /* if we fail to send - it is probably cause we lost the socket */
+      if (sentMsgSize != responseMsgSize)
+      {
+        MSGSND(err2, sentMsgSize, responseMsgSize);
+        errOnSend = 1;
+      }
+    }
+
+    recvMsgSize = recv(clientSocket, request, pServer->maxMsgBytes, 0);
+  }
+
+  /* Close client socket */
+  close(clientSocket);
+
+  /* obtain the lock when cleaning up */
+  pthread_mutex_lock(&pServer->lock);
+
+  /* callback that can be used by server extensions for cleanup */
+  pServer->closingClient(clientSocket);
+
+  /* remove the client thread from the list of threads */
+  std::list< pthread_t >::iterator lI =
+    std::find(pServer->clientThreadsList.begin(),
+              pServer->clientThreadsList.end(),
+              threadID);
+  if (lI != pServer->clientThreadsList.end())
+    pServer->clientThreadsList.erase(lI);
+  pthread_mutex_unlock(&pServer->lock);
+
+  MSGSND(msg1 , clientSocket);
+
+  return (NULL);
+}
+
+/* the server thread worker function */
+/* obtains a pointer to the server object as its arg */
+void *
+GenServer::serverThreadMain(void *args)
+{
+  ServerThreadArgs *pArgs = static_cast<ServerThreadArgs *>(args);
+  GenServer *pServer = pArgs->pServer;
+  delete pArgs;
+
+  MSGREG(errMsg1, 'E', "Fail to accept client", "server");
+  MSGREG(verbMsg1, 'V', "Handling client $", "server");
+
+  for (;;) /* run forever */
+  {
+    int clntSock;                 /* Socket descriptor for client */
+    struct sockaddr_in clntAddr;  /* Client address */
+    unsigned int clntLen;         /* Length of client address data struct*/
+    struct ClientThreadArgs *threadArgs;
+
+    /* Set the size of the in-out parameter */
+    clntLen = sizeof(clntAddr);
+
+    /* Wait for a client to connect */
+    clntSock = accept(pServer->serverSock,
+                      (struct sockaddr *) &clntAddr, &clntLen);
+    if (clntSock < 0)
+    {
+      MSGSND(errMsg1);
+      continue;
+    }
+
+    /* clntSock is connected to a client! */
+    MSGSND(verbMsg1, inet_ntoa(clntAddr.sin_addr));
+
+    /* Create separate memory for client argument */
+    threadArgs = new ClientThreadArgs;
+    if (!threadArgs)
+    {
+      MSGSND(errMsg1);
+      exit(1);
+    }
+
+    threadArgs->pServer = pServer;
+    threadArgs->clientSock = clntSock;
+
+    pthread_t threadID;
+
+    /* Create client thread */
+    if (pthread_create(&threadID, NULL, GenServer::clientThreadMain,
+                       (void *) threadArgs)
+        != 0)
+    {
+      MSGSND(errMsg1);
+    }
+
+    /* we probably want to register the client thread in the list */
+    pthread_mutex_lock(&pServer->lock);
+    pServer->clientThreadsList.push_back(threadID);
+    pthread_mutex_unlock(&pServer->lock);
+
+  }
+}
+
+/* construct the server */
+/* if the server is not initialized correctly the serverSock is -1 */
+GenServer::GenServer(unsigned short portNum, int maxMsgLen)
+{
+
+  MSGREG(errMsg1, 'F', "Fail to create server thread", "server");
+  MSGREG(verbMsg1, 'V', "Started server thread", "server");
+
+  serverPort = portNum;
+  maxMsgBytes = maxMsgLen;
+
+  /* initialize the lock object */
+  pthread_mutex_init(&lock, NULL);
+
+  /* setup the server listening  socket */
+  serverSock = createServerSocket(portNum);
+
+  /* we might have failed to gen the server -
+     so avoid generating the thread */
+  if (serverSock > 0)
+  {
+    /* we malloc the args as we want the server thread to deallocate them */
+    ServerThreadArgs *pServerArgs = new ServerThreadArgs;
+    pServerArgs->pServer = this;
+
+    /* start the server thread providing it the server main loop function */
+    if (pthread_create(&serverThreadId, NULL,
+                       GenServer::serverThreadMain, (void *) pServerArgs) != 0)
+    {
+      MSGSND(errMsg1);
+      exit(1);
+    }
+  }
+
+  MSGSND(verbMsg1);
+}
+
+/* server destructor */
+GenServer::~GenServer()
+{
+  MSGREG(inf1, 'V', "Closing server on port:$", "server");
+  MSGREG(inf2, 'V', "Cancelling server thread:$", "server");
+  MSGREG(inf3, 'V', "Cancelling client thread:$", "server");
+
+  MSGSND(inf1, serverPort);
+
+  /* cleanup threads */
+  pthread_mutex_lock(&lock);
+  MSGSND(inf2, serverThreadId);
+
+  /* we only have a thread if the socket was opened */
+  if (isAlive())
+  {
+    pthread_cancel(serverThreadId);
+
+    for (std::list< pthread_t >::iterator tI = clientThreadsList.begin();
+         tI != clientThreadsList.end();
+         tI++)
+    {
+      MSGSND(inf3, (*tI));
+      pthread_cancel((*tI));
+    }
+  }
+
+  pthread_mutex_unlock(&lock);
+
+  //std::list< pthread_t > clientThreadsList
+  //  serverThreadId
+}
+
+//////////////////////////////////////////////////////////////
+//
+// CLASS  GenClient
+//
+
+// The basic flow:
+//
+// GenClient(hostName, portNum)
+//
+
+/* construct or die */
+GenClient::GenClient(
+  char *pHostName,
+  unsigned short portNum,
+  int maxRespLen)
+{
+  struct sockaddr_in servAddr;    /* server address */
+  struct hostent *pHostEntry;     /* to be filled by gethostbyname */
+  struct in_addr in;
+
+  MSGREG(err1, 'F', "Fail to create socket", "client");
+  MSGREG(err2, 'F', "Fail to gethostbyname:$", "client");
+  MSGREG(err3, 'F', "No address list for host:$", "client");
+  MSGREG(err4, 'F', "connect() failed for host:$ port:$", "client");
+  MSGREG(inf1, 'I', "Connecting to host:$ ip:$ port:$", "client");
+
+  hostName = new char[strlen(pHostName)+1];
+  strcpy(hostName, pHostName);
+
+  serverPort = portNum;
+
+  maxResponseBytes = maxRespLen;
+
+  /* Create a reliable, stream socket using TCP */
+  if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
+  {
+    MSGSND(err1);
+    exit(1);
+  }
+
+  pHostEntry = gethostbyname(hostName);
+  if (! pHostEntry)
+  {
+    MSGSND(err2, hostName);
+    exit(1);
+  }
+
+  if (!pHostEntry->h_addr_list)
+  {
+    MSGSND(err3, hostName);
+    exit(1);
+  }
+
+  memcpy(&in.s_addr, pHostEntry->h_addr_list[0], sizeof (in.s_addr));
+  MSGSND(inf1, hostName, inet_ntoa(in), portNum);
+
+  /* Construct the server address structure */
+  memset(&servAddr, 0, sizeof(servAddr));         /* Zero out structure */
+  servAddr.sin_family      = AF_INET;             /* Internet address family */
+  servAddr.sin_addr.s_addr = inet_addr(inet_ntoa(in));  /* Server IP address */
+  servAddr.sin_port        = htons(portNum);      /* Server port */
+
+
+  /* Establish the connection to the echo server */
+  if (connect(sock, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)
+  {
+    MSGSND(err4, hostName, portNum);
+    exit(1);
+  }
+}
+
+/* destructor - closing the socket */
+GenClient::~GenClient()
+{
+  MSGREG(inf1, 'I', "Closing connection to server:$ port:$", "client");
+  MSGSND(inf1, hostName, serverPort);
+  close(sock);
+}
+
+/*
+   send a message and wait for result
+   The result buffer should be provided be provided by the caller.
+*/
+int
+GenClient::sendMsg(int reqLen, char request[],
+                   int &resLen, char response[] )
+{
+  MSGREG(err1, 'E', "Fail to send.", "client");
+  MSGREG(err2, 'E', "Fail to receive any response.", "client");
+
+  /* Send the string to the server */
+  if (send(sock, request, reqLen, 0) != reqLen)
+  {
+    MSGSND(err1);
+    return 1;
+  }
+
+  /* Receive the same string back from the server */
+  if ((resLen = recv(sock, response, maxResponseBytes, 0)) <= 0)
+  {
+    MSGSND(err2);
+    return 1;
+  }
+
+  return 0;
+}
+
+#ifdef BUILD_TCP_COMM_SERVER
+
+#define MAX_MSG_SIZE 256
+#include <unistd.h>
+int
+main( int argc, char** argv)
+{
+  unsigned short servPort = 42561; /* server port */
+  char *hostName;                  /* Server Host Name */
+  int bytesRcvd, totalBytesRcvd;   /* Bytes read in single recv()
+                                      and total bytes read */
+  if (argc > 2)  /* Test for correct number of arguments */
+  {
+    fprintf(stderr, "Usage: %s [<Server Port>]\n",
+            argv[0]);
+    exit(1);
+  }
+
+  if (argc > 1)
+  {
+    servPort = atoi(argv[1]);
+  }
+
+  msgMgr(MsgShowAll, &std::cout);
+  GenServer server(servPort, MAX_MSG_SIZE);
+
+  while (1) sleep(100);
+
+  exit(0);
+}
+#endif /* BUILD_TCP_COMM_SERVER */
+
+#ifdef BUILD_TCP_COMM_CLIENT
+
+#define MAX_MSG_SIZE 256
+
+int
+main( int argc, char** argv)
+{
+  unsigned short servPort;       /* server port */
+  char *hostName;                /* Server Host Name */
+  int bytesRcvd, totalBytesRcvd; /* Bytes read in single recv()
+                                    and total bytes read */
+  char *request = new char[MAX_MSG_SIZE];
+  char *response = new char[MAX_MSG_SIZE];
+
+  if ((argc < 3) || (argc > 4))  /* Test for correct number of arguments */
+  {
+    fprintf(stderr, "Usage: %s <Server IP> <msg> [<Server Port>]\n",
+            argv[0]);
+    exit(1);
+  }
+
+  hostName = argv[1];
+  strcpy(request, argv[2]);
+
+  if (argc == 4)
+    servPort = atoi(argv[3]);     /* Use given port, if any */
+  else
+    servPort = 42561;
+
+  /* initialize the client */
+  MSGREG(msg1, 'I', "Initializing Client: Server:$ Port:$", "client");
+  MSGSND(msg1, hostName, servPort);
+
+  GenClient client( hostName, servPort, MAX_MSG_SIZE );
+
+  /* send first message - client connect */
+  MSGREG(msg2, 'I', "Sending (size:$) :$", "client");
+  MSGSND(msg2, strlen(request)+1, request);
+  int reqLen = strlen(request)+1;
+  if (!client.sendMsg(reqLen, request, bytesRcvd, response))
+  {
+    MSGREG(msg3, 'I', "Received (len:$) :$", "client");
+    MSGSND(msg3, bytesRcvd, response);
+  }
+  exit(0);
+}
+#endif /* BUILD_TCP_COMM_CLIENT */
diff --git a/ibmgtsim/src/tcpcomm.h b/ibmgtsim/src/tcpcomm.h
new file mode 100644
index 0000000..857d8a9
--- /dev/null
+++ b/ibmgtsim/src/tcpcomm.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+#ifndef IBMS_TCPCOMM_H
+#define IBMS_TCPCOMM_H
+
+#include <pthread.h>
+
+/****h* IBMS/TCP-IP Communication
+* NAME
+*	TCP/IP Communication.
+*
+* DESCRIPTION
+*	Basic functionality of TCP/IP server (multi threaded) and Client.
+*  and receive mads.
+*
+*  There are basically two objects:
+*  GenServer and GenClient. They are acting as echo servers if not
+*  specialized by providing new implementation of
+*  GenServer::processClientMessage
+*
+* AUTHOR
+*	Eitan Zahavi, Mellanox
+*
+*********/
+
+#include <list>
+
+/*
+   The server:
+   allows multiple clients to connect and handles each one by
+   a separate thread
+*/
+class GenServer {
+ protected:
+  /* a lock used to synchronize insertions into the map and client threads */
+  pthread_mutex_t lock;
+
+ private:
+  /* the port we server on */
+  unsigned short int serverPort;
+
+  /* the maximal single message length in bytes */
+  int maxMsgBytes;
+
+  /* all client thread ids are stored in here */
+  std::list< pthread_t > clientThreadsList;
+
+  /* the server thread gets the port number and a pointer back to the object */
+  struct ServerThreadArgs {
+    class GenServer *pServer;
+  };
+
+  struct ClientThreadArgs {
+    class GenServer *pServer;
+    int              clientSock;
+  };
+
+  /* the server thread */
+  pthread_t serverThreadId;
+
+  /* the server socket */
+  int serverSock;
+
+  /* the worker function of the server thread */
+  static void *serverThreadMain(void *);
+
+  /* create the tcp server socket */
+  int createServerSocket(unsigned short portNum);
+
+  /* the worker function of the client thread */
+  static void *clientThreadMain(void *threadArgs);
+
+ public:
+  /* construct and initialize the server */
+  GenServer(unsigned short portNum, int maxMsgLen);
+
+  /* destructor */
+  virtual ~GenServer();
+
+  /* return 1 if the server is well */
+  int isAlive() { if (serverSock > 0) return 1; else return 0;};
+
+  /* handle client request - this is the function to override . */
+  virtual int proccessClientMsg(
+    int clientSock,
+    int reqLen, char request[],
+    int &resLen, char *(pResponse[]) );
+
+  /* virtual function called when a client is closed - under a lock */
+  virtual int closingClient(int clientSock) {return(0);};
+};
+
+/*
+   The client:
+   connects to a server
+*/
+class GenClient {
+  /* host name of the server */
+  char *hostName;
+
+  /* the server port number */
+  unsigned short int serverPort;
+
+  /* the socket to communicate through */
+  int sock;
+
+  /* the maximal single response length in bytes */
+  int maxResponseBytes;
+
+ public:
+  /* construct and initialize the client connection */
+  GenClient(char *pHostName, unsigned short portNum, int maxRespLen);
+
+  /* destruct a client connection */
+  ~GenClient();
+
+  /*
+    send a message and wait for result
+    The response buffer should be pre-allocated
+  */
+  int sendMsg(int reqLen, char request[],
+              int &resLen, char response[] );
+
+};
+
+#endif /* IBMS_TCPCOMM_H */
+
diff --git a/ibmgtsim/src/vsa.cpp b/ibmgtsim/src/vsa.cpp
new file mode 100644
index 0000000..4f33955
--- /dev/null
+++ b/ibmgtsim/src/vsa.cpp
@@ -0,0 +1,677 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Vendor Specific
+ * NAME
+ * Vendor Specific mad Agent Simulator object
+ *
+ * DESCRIPTION
+ * The simulator routes mad messages to the target node. This node
+ *  MadProcessor Vendor Specific class is provided to handle and respond to these mads.
+ *
+ * AUTHOR
+ * Nimrod Gindi, Mellanox
+ *
+ *********/
+
+#include "msgmgr.h"
+#include "simmsg.h"
+#include "sim.h"
+#include "helper.h"
+#include <iba/ib_types.h>
+#include "vsa.h"
+
+using namespace std;
+
+IBMSVendorSpecific::IBMSVendorSpecific(
+  IBMSNode *pSNode, list_uint16 mgtClasses) :
+  IBMSMadProcessor(pSNode, mgtClasses)
+{
+  MSG_ENTER_FUNC;
+
+  IBNode*     pNodeData;
+
+  pNodeData = pSNode->getIBNode();
+  MSGREG(inf0, 'V', "I'm in CrSpace const ", "IBMSVendorSpecific");
+  MSGSND(inf0);
+
+  crSpaceInit((*pNodeData).devId);
+
+  MSG_EXIT_FUNC;
+}
+
+
+int IBMSVendorSpecific::vsMadValidation(
+  ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+
+  // we handle Get or Set we ignore GetResp
+  if ((madMsg.header.method != 1) &&
+      (madMsg.header.method != 2) &&
+      (madMsg.header.method != 0x81))
+  {
+    MSGREG(err0, 'E', "unsupported Method $", "vsMadValidation");
+    MSGSND(err0,madMsg.header.method);
+    status = IB_MAD_STATUS_INVALID_FIELD;
+
+    MSG_EXIT_FUNC;
+    return status;
+  } else if (madMsg.header.method == 0x81) {
+    MSGREG(err0, 'W', "ignoring GetResp mad", "vsMadValidation");
+    MSGSND(err0);
+    status = IB_MAD_STATUS_UNSUP_METHOD;
+
+    MSG_EXIT_FUNC;
+    return status;
+
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSVendorSpecific::vsAttribute50(
+  ibms_mad_msg_t &respMadMsg,
+  ibms_mad_msg_t &reqMadMsg, uint8_t inPort)
+{
+  MSG_ENTER_FUNC;
+
+  ib_net16_t          status = 0;
+  uint32_t            attrMod;
+  uint32_t            data[56];
+  uint32_t            dataLine = 0;
+  uint32_t            startAddr = 0;
+  uint32_t            length = 0;
+  uint32_t            mask = 0;
+  uint32_t            accessMode;
+  uint32_t            numOfRecords;
+  uint8_t             method;
+
+  attrMod = CL_NTOH32(reqMadMsg.header.attr_mod);
+  method  = reqMadMsg.header.method;
+  accessMode = (attrMod >> 22) & 0x3;
+  MSGREG(inf0, 'V', "Access Mode is $ method is $ attrMod is $", "vsAttribute50");
+  MSGSND(inf0, accessMode, method,attrMod);
+
+  switch (accessMode) {
+  case 0:
+    startAddr = ((attrMod & 0xffff) | ((attrMod & 0xff000000) >> 8));
+    length = (attrMod >> 16) & 0x3f;
+    if (length > 57)
+    {
+      MSGREG(err1, 'E', "data length bigger then 57 - $","vsAttribute50");
+      MSGSND(err1,length);
+    }
+    if ((startAddr & 0x3) != 0)
+    {
+      MSGREG(err2, 'E', "start address is not aligned to Dwords - $","vsAttribute50");
+      MSGSND(err2,startAddr);
+    }
+    MSGREG(inf1, 'V', "access parameters: address $ length $ ", "vsAttribute50");
+    MSGSND(inf1,startAddr,length);
+    // set CrSpace
+    if (method == IB_MAD_METHOD_SET )
+    {
+      for (unsigned int i=0;i<(length);i+=1) {
+        data[i] =     (reqMadMsg.payload[8 + i*4]   << 24 |
+                       reqMadMsg.payload[8 + i*4+1] << 16 |
+                       reqMadMsg.payload[8 + i*4+2] << 8 |
+                       reqMadMsg.payload[8 + i*4+3]);
+      }
+      pSimNode->setCrSpace(startAddr,length,data);
+    } else if (method == IB_MAD_METHOD_GET) {
+      pSimNode->getCrSpace(startAddr,length,data);
+      for (unsigned int j=0;j<length;j++) {
+        respMadMsg.payload[8 + j*4] =   (uint8_t)((data[j] >> 24) & 0xff);
+        respMadMsg.payload[8 + j*4+1] = (uint8_t)((data[j] >> 16) & 0xff);
+        respMadMsg.payload[8 + j*4+2] = (uint8_t)((data[j] >> 8) & 0xff);
+        respMadMsg.payload[8 + j*4+3] = (uint8_t)(data[j] & 0xff);
+      }
+    }
+    else
+    {
+      MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute50");
+      MSGSND(err3,method,accessMode);
+      status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+    }
+    break;
+  case 1:
+    numOfRecords = (attrMod >> 16) & 0x3f;
+    MSGREG(inf2, 'V', "scatter/gather list length $ ", "vsAttribute50");
+    MSGSND(inf2,numOfRecords);
+    if (numOfRecords > 28 )
+    {
+      MSGREG(err5, 'E', "number of records bigger than 28- $ accessMode - $","vsAttribute50");
+      MSGSND(err5,numOfRecords,accessMode);
+    }
+    for ( uint32_t i=0;i < numOfRecords;i++)
+    {
+      startAddr = reqMadMsg.payload[(4 + i*8)]     << 24 |
+        reqMadMsg.payload[(4 + i*8 + 1)] << 16 |
+        reqMadMsg.payload[(4 + i*8 + 2)] << 8  |
+        reqMadMsg.payload[(4 + i*8 + 3)];
+      data[0]  =  (reqMadMsg.payload[(4 + i*8 + 4)] << 24 |
+                   reqMadMsg.payload[(4 + i*8 + 5)] << 16 |
+                   reqMadMsg.payload[(4 + i*8 + 6)] << 8 |
+                   reqMadMsg.payload[(4 + i*8 + 7)]) ;
+      if ((startAddr >> 16)!= 0)
+      {
+        MSGREG(err4, 'E', "upper bits of address are not 0- $ accessMode - $","vsAttribute50");
+        MSGSND(err4,startAddr,accessMode);
+      }
+      MSGREG(inf4, 'V', "Entry number $: address = $ data = $ method = $ ", "vsAttribute50");
+      MSGSND(inf4,i, startAddr, data[0], method);
+      if (method == IB_MAD_METHOD_SET )
+      {
+        pSimNode->setCrSpace(startAddr,1,data);
+      } else if (method == IB_MAD_METHOD_GET) {
+        pSimNode->getCrSpace(startAddr,1,data);
+        respMadMsg.payload[(4 + i*8 + 4)] = (uint8_t)((data[0] >> 24) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 5)] = (uint8_t)((data[0] >> 16) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 6)] = (uint8_t)((data[0] >> 8) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 7)] = (uint8_t)(data[0] & 0xff);
+      }
+      else
+      {
+        MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute50");
+        MSGSND(err3,method,accessMode);
+        status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+      }
+
+    }
+    break;
+  case 2:
+    numOfRecords = (attrMod >> 16) & 0x3f;
+    MSGREG(inf3, 'V', "enhanced scatter/gather list length $ ", "vsAttribute50");
+    MSGSND(inf3,numOfRecords);
+    if (numOfRecords > 19 )
+    {
+      MSGREG(err6, 'E', "number of records bigger than 19- $ accessMode - $","vsAttribute50");
+      MSGSND(err6,numOfRecords,accessMode);
+    }
+    for ( uint32_t i=0;i < numOfRecords;i++)
+    {
+      startAddr = reqMadMsg.payload[(4 + i*12)]     << 24 |
+        reqMadMsg.payload[(4 + i*12 + 1)] << 16 |
+        reqMadMsg.payload[(4 + i*12 + 2)] << 8  |
+        reqMadMsg.payload[(4 + i*12 + 3)];
+      data[0]  = reqMadMsg.payload[(4 + i*12 + 4)] << 24 |
+        reqMadMsg.payload[(4 + i*12 + 5)] << 16 |
+        reqMadMsg.payload[(4 + i*12 + 6)] << 8 |
+        reqMadMsg.payload[(4 + i*12 + 7)] ;
+      mask      = reqMadMsg.payload[(4 + i*12 + 8)] << 24 |
+        reqMadMsg.payload[(4 + i*12 + 9)] << 16 |
+        reqMadMsg.payload[(4 + i*12 +10)] << 8  |
+        reqMadMsg.payload[(4 + i*12 +11)];
+
+      if ((startAddr >> 16)!= 0)
+      {
+        MSGREG(err4, 'E', "upper bits of address are not 0- $ accessMode - $","vsAttribute50");
+        MSGSND(err4,startAddr,accessMode);
+      }
+      MSGREG(inf4, 'V', "Entry number %: address = $ data = $ mask = $ method = $", "vsAttribute50");
+      MSGSND(inf4,i, startAddr, dataLine, mask, method);
+      if (method == IB_MAD_METHOD_SET )
+      {
+        dataLine = dataLine & mask;
+        pSimNode->getCrSpace(startAddr,1,data);
+        data[0] = (data[0] * (~mask)) | dataLine;
+        pSimNode->setCrSpace(startAddr,1,data);
+      } else if (method == IB_MAD_METHOD_GET) {
+        pSimNode->getCrSpace(startAddr,1,data);
+        respMadMsg.payload[(4 + i*12 + 4)] = (uint8_t)((data[0] >> 24) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 5)] = (uint8_t)((data[0] >> 16) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 6)] = (uint8_t)((data[0] >> 8) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 7)] = (uint8_t)(data[0] & 0xff);
+      }
+      else
+      {
+        MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute50");
+        MSGSND(err3,method,accessMode);
+        status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+      }
+    }
+    break;
+
+  default:
+    MSGREG(err3, 'E', "accessMod not supported - accessMode - $","vsAttribute50");
+    MSGSND(err3,accessMode);
+    status = 0x1c; //One or more fields in the attribute or attribute modifier contain an invalid value
+    break;
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSVendorSpecific::vsAttribute51(
+  ibms_mad_msg_t &respMadMsg,
+  ibms_mad_msg_t &reqMadMsg,
+  uint8_t inPort)
+{
+  ib_net16_t          status = 0;
+  uint32_t        attrMod;
+  uint32_t        startAddr;
+  uint32_t        length;
+  uint32_t        mask;
+  uint32_t        data[56];
+  uint32_t            dataLine = 0;
+  uint32_t            accessMode;
+  uint32_t            numOfRecords;
+  uint8_t            method;
+
+  MSG_ENTER_FUNC;
+  attrMod = CL_NTOH32(reqMadMsg.header.attr_mod);
+  method  = CL_NTOH32(reqMadMsg.header.method) & 0x000000ff;
+  accessMode = (attrMod >> 26) & 0x3;
+  MSGREG(inf0, 'V', "Access Mode is $ method is $ ", "vsAttribute51");
+  MSGSND(inf0, accessMode);
+
+  switch (accessMode) {
+  case 0:
+    startAddr = attrMod & 0xfffff;
+    length = (attrMod >> 20) & 0x3f;
+    if (length > 57)
+    {
+      MSGREG(err1, 'E', "data length bigger then 57 - $","vsAttribute51");
+      MSGSND(err1,length);
+    }
+    if ((startAddr & 0x3) != 0)
+    {
+      MSGREG(err2, 'E', "start address is not aligned to Dwords - $","vsAttribute51");
+      MSGSND(err2,startAddr);
+    }
+    MSGREG(inf1, 'V', "access parameters: address $ length $ ", "vsAttribute51");
+    MSGSND(inf1,startAddr,length);
+    if (method == IB_MAD_METHOD_SET )
+    {
+      for (unsigned int i=0;i<(length);i+=1) {
+        data[i] =   reqMadMsg.payload[4 + i*4] << 24 |
+          reqMadMsg.payload[(4 + i*4+1)] << 16 |
+          reqMadMsg.payload[(4 + i*4+2)] << 8 |
+          reqMadMsg.payload[(4 + i*4+3)] ;
+      }
+      pSimNode->setCrSpace(startAddr,length,data);
+    } else if (method == IB_MAD_METHOD_GET) {
+      pSimNode->getCrSpace(startAddr,length,data);
+      for (unsigned int j=0;j<length;j++) {
+        respMadMsg.payload[(4 + j*4)]   = (uint8_t)((data[j] >> 24) & 0xff);
+        respMadMsg.payload[(4 + j*4+1)] = (uint8_t)((data[j] >> 16) & 0xff);
+        respMadMsg.payload[(4 + j*4+2)] = (uint8_t)((data[j] >> 8) & 0xff);
+        respMadMsg.payload[(4 + j*4+3)] = (uint8_t)(data[j] & 0xff);
+      }
+    }
+    else
+    {
+      MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute51");
+      MSGSND(err3,method,accessMode);
+      status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+    }
+    break;
+  case 1:
+    numOfRecords = (attrMod >> 20) & 0x3f;
+    MSGREG(inf2, 'V', "scatter/gather list length $ ", "vsAttribute50");
+    MSGSND(inf2,numOfRecords);
+    if (numOfRecords > 28 )
+    {
+      MSGREG(err5, 'E', "number of records bigger than 28- $ accessMode - $","vsAttribute50");
+      MSGSND(err5,numOfRecords,accessMode);
+    }
+    for ( uint32_t i=0;i < numOfRecords;i++)
+    {
+      startAddr = reqMadMsg.payload[(4 + i*8)]     << 24 |
+        reqMadMsg.payload[(4 + i*8 + 1)] << 16 |
+        reqMadMsg.payload[(4 + i*8 + 2)] << 8  |
+        reqMadMsg.payload[(4 + i*8 + 3)];
+      data[0]  = reqMadMsg.payload[(4 + i*8 + 4)] << 24 |
+        reqMadMsg.payload[(4 + i*8 + 5)] << 16 |
+        reqMadMsg.payload[(4 + i*8 + 6)] << 8 |
+        reqMadMsg.payload[(4 + i*8 + 7)] ;
+      if ((startAddr >> 20)!= 0)
+      {
+        MSGREG(err4, 'E', "upper bits of address are not 0- $ accessMode - $","vsAttribute51");
+        MSGSND(err4,startAddr,accessMode);
+      }
+      MSGREG(inf4, 'V', "Entry number $: address = $ data = $ method = $", "vsAttribute51");
+      MSGSND(inf4,i, startAddr, dataLine ,method);
+      if (method == IB_MAD_METHOD_SET )
+      {
+        pSimNode->setCrSpace(startAddr,1,data);
+      } else if (method == IB_MAD_METHOD_GET) {
+        pSimNode->getCrSpace(startAddr,1,data);
+        respMadMsg.payload[(4 + i*8 + 4)] = (uint8_t)((data[0] >> 24) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 5)] = (uint8_t)((data[0] >> 16) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 6)] = (uint8_t)((data[0] >> 8) & 0xff);
+        respMadMsg.payload[(4 + i*8 + 7)] = (uint8_t)(data[0] & 0xff);
+      }
+      else
+      {
+        MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute51");
+        MSGSND(err3,method,accessMode);
+        status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+      }
+    }
+    break;
+  case 2:
+    numOfRecords = (attrMod >> 20) & 0x3f;
+    MSGREG(inf3, 'V', "enhanced scatter/gather list length $ ", "vsAttribute51");
+    MSGSND(inf3,numOfRecords);
+    if (numOfRecords > 19 )
+    {
+      MSGREG(err6, 'E', "number of records bigger than 19- $ accessMode - $","vsAttribute51");
+      MSGSND(err6,numOfRecords,accessMode);
+    }
+    for ( uint32_t i=0;i < numOfRecords;i++)
+    {
+      startAddr = reqMadMsg.payload[(4 + i*12)]     << 24 |
+        reqMadMsg.payload[(4 + i*12 + 1)] << 16 |
+        reqMadMsg.payload[(4 + i*12 + 2)] << 8  |
+        reqMadMsg.payload[(4 + i*12 + 3)];
+      dataLine  = reqMadMsg.payload[(4 + i*12 + 4)] << 24 |
+        reqMadMsg.payload[(4 + i*12 + 5)] << 16 |
+        reqMadMsg.payload[(4 + i*12 + 6)] << 8 |
+        reqMadMsg.payload[(4 + i*12 + 7)] ;
+      mask      = reqMadMsg.payload[(i*12 + 8)] << 24 |
+        reqMadMsg.payload[(4 + i*12 + 9)] << 16 |
+        reqMadMsg.payload[(4 + i*12 +10)] << 8  |
+        reqMadMsg.payload[(4 + i*12 +11)];
+
+      if ((startAddr >> 20)!= 0)
+      {
+        MSGREG(err4, 'E', "upper bits of address are not 0- $ accessMode - $","vsAttribute51");
+        MSGSND(err4,startAddr,accessMode);
+      }
+      MSGREG(inf4, 'V', "Entry number %: address = $ data = $ mask = $ method = $", "vsAttribute51");
+      MSGSND(inf4,i, startAddr, dataLine, mask, method);
+      if (method == IB_MAD_METHOD_SET )
+      {
+        dataLine = dataLine & mask;
+        pSimNode->getCrSpace(startAddr,1,data);
+        data[0] = data[0] * (~mask) | dataLine;
+        pSimNode->setCrSpace(startAddr,1,data);
+      } else if (method == IB_MAD_METHOD_GET) {
+        pSimNode->getCrSpace(startAddr,1,data);
+        respMadMsg.payload[(4 + i*12 + 4)] = (uint8_t)((data[0] >> 24) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 5)] = (uint8_t)((data[0] >> 16) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 6)] = (uint8_t)((data[0] >> 8) & 0xff);
+        respMadMsg.payload[(4 + i*12 + 7)] = (uint8_t)(data[0] & 0xff);
+      }
+      else
+      {
+        MSGREG(err3, 'E', "method not supported method- $ accessMode - $","vsAttribute51");
+        MSGSND(err3,method,accessMode);
+        status = IB_MAD_STATUS_UNSUP_METHOD ; // specified method not supported
+      }
+    }
+    break;
+
+  default:
+    MSGREG(err3, 'E', "accessMod not supported - accessMode - $","vsAttribute51");
+    MSGSND(err3,accessMode);
+    status = 0x1c; //One or more fields in the attribute or attribute modifier contain an invalid value
+    break;
+  }
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+int IBMSVendorSpecific::processMad(
+  uint8_t inPort, ibms_mad_msg_t &madMsg)
+{
+  MSG_ENTER_FUNC;
+
+  ibms_mad_msg_t      respMadMsg;
+  ib_net16_t          status = 0;
+  uint16_t            attributeId = 0;
+  uint8_t            mgmtClass = 0;
+
+  //1. Verify rcv Vendor Specific MAD validity.
+  status = vsMadValidation(madMsg);
+  if (status != 0)
+  {
+    //TODO need to do it more cleanly
+    MSG_EXIT_FUNC;
+    return status;
+  }
+
+  //2. Switch according to the attribute to the mad handle
+  //      and call appropriate function
+  attributeId = (madMsg.header.attr_id >> 8);
+  mgmtClass = madMsg.header.mgmt_class;
+  MSGREG(inf0, 'I', "Process Mad got the following attribute: $ !", "processMad");
+  MSGSND(inf0, attributeId);
+  // copy header from request to the response
+  {
+    ib_mad_t*   pRespVs = (ib_mad_t*)(&respMadMsg.header);
+    ib_mad_t*   pReqVs = (ib_mad_t*)(&madMsg.header);
+    memcpy(pRespVs, pReqVs, sizeof(ib_mad_t));
+    respMadMsg.header.method = IB_MAD_METHOD_GET_RESP;
+  }
+
+  switch (mgmtClass) {
+  case 0x9:
+    MSGREG(inf3, 'I', "Vendor Specific Class 0x9 !", "processMad");
+    MSGSND(inf3);
+    switch (attributeId) {
+    case 0x50:
+      MSGREG(inf1, 'I', "Access InfiniBridge, InfiniScale or InfiniScale2 (attr 50) !", "processMad");
+      MSGSND(inf1);
+      status = vsAttribute50(respMadMsg, madMsg, inPort);
+      break;
+    case 0x51:
+      MSGREG(inf2, 'I', "Access InfiniHost* !", "processMad");
+      MSGSND(inf2);
+      status = vsAttribute51(respMadMsg, madMsg, inPort);
+      break;
+    default:
+      MSGREG(err1, 'E', "No handler for requested attribute:$", "processMad");
+      MSGSND(err1, cl_ntoh16(attributeId));
+      status = IB_MAD_STATUS_UNSUP_METHOD_ATTR;
+      //TODO need to do it more cleanly
+      MSG_EXIT_FUNC;
+      break;
+    }
+    break;
+  case 0xa:
+    MSGREG(inf5, 'I', "Vendor Specific Class 0xa !", "processMad");
+    MSGSND(inf5);
+    break;
+  default:
+    MSGREG(err2, 'E', "No handler for requested class:$", "processMad");
+    MSGSND(err2, cl_ntoh16(mgmtClass));
+    status = IB_MAD_STATUS_UNSUP_CLASS_VER;
+
+
+  }
+
+  //send response
+  respMadMsg.addr.slid = madMsg.addr.dlid;
+  respMadMsg.addr.dlid = madMsg.addr.slid;
+  MSGREG(inf6, 'V', "sending response mad - lid - ", "processMad");
+  MSGSND(inf6);
+  respMadMsg.header.status = status;
+  pSimNode->getSim()->getDispatcher()->dispatchMad(pSimNode, inPort, respMadMsg);
+
+  MSG_EXIT_FUNC;
+  return status;
+}
+
+
+
+void IBMSVendorSpecific::crSpaceInit(
+  uint16_t devId) {
+  /* configure CrSpace according to node type -
+     1/2/3 - Tavor/Arbel/Sinai
+     10/11 -  anafa/anafa2   */
+  uint32_t portGuidLow;
+  uint32_t portGuidHigh;
+  MSG_ENTER_FUNC;
+  MSGREG(inf1, 'I', "configuring device CrSpace - Type $", "crSpaceInit");
+  MSGSND(inf1,devId);
+  switch (devId) {
+  case 23108 :  // tavor/arbel -2 ports
+    pSimNode->crSpace[0x10120] = 0;
+    pSimNode->crSpace[0x10124] = 0;
+    pSimNode->crSpace[0x10128] = 0;
+    pSimNode->crSpace[0x1012c] = 0;
+    pSimNode->crSpace[0x10130] = 0;
+    pSimNode->crSpace[0x10134] = 0;
+    pSimNode->crSpace[0x10138] = 0;
+    pSimNode->crSpace[0x10144] = 0;
+    pSimNode->crSpace[0x10148] = 0;
+    pSimNode->crSpace[0x1014c] = 0;
+    pSimNode->crSpace[0x10150] = 0;
+    pSimNode->crSpace[0x10154] = 0;
+    pSimNode->crSpace[0x10164] = 0;
+    pSimNode->crSpace[0x10920] = 0;
+    pSimNode->crSpace[0x10924] = 0;
+    pSimNode->crSpace[0x10928] = 0;
+    pSimNode->crSpace[0x1092c] = 0;
+    pSimNode->crSpace[0x10930] = 0;
+    pSimNode->crSpace[0x10934] = 0;
+    pSimNode->crSpace[0x10938] = 0;
+    pSimNode->crSpace[0x10944] = 0;
+    pSimNode->crSpace[0x10948] = 0;
+    pSimNode->crSpace[0x1094c] = 0;
+    pSimNode->crSpace[0x10950] = 0;
+    pSimNode->crSpace[0x10954] = 0;
+    pSimNode->crSpace[0x10964] = 0;
+    pSimNode->crSpace[0xf0014] = 0x00a05a44; // RevId DevId
+    portGuidHigh = pSimNode->nodeInfo.port_guid & 0xffffffff ;
+    portGuidLow =  ((pSimNode->nodeInfo.port_guid >> 32) & 0xffffffff) + 1;
+    pSimNode->crSpace[0x8232c] = portGuidHigh; // Guid High port 1
+    pSimNode->crSpace[0x8232c] = portGuidLow; // Guid Low  port 1
+    portGuidLow++;
+    pSimNode->crSpace[0x82334] = portGuidHigh; // Guid High port 2
+    pSimNode->crSpace[0x82338] = portGuidLow; // Guid Low  port 2
+  case 25208 :
+    pSimNode->crSpace[0x10120] = 0;
+    pSimNode->crSpace[0x10124] = 0;
+    pSimNode->crSpace[0x10128] = 0;
+    pSimNode->crSpace[0x1012c] = 0;
+    pSimNode->crSpace[0x10130] = 0;
+    pSimNode->crSpace[0x10134] = 0;
+    pSimNode->crSpace[0x10138] = 0;
+    pSimNode->crSpace[0x10144] = 0;
+    pSimNode->crSpace[0x10148] = 0;
+    pSimNode->crSpace[0x1014c] = 0;
+    pSimNode->crSpace[0x10150] = 0;
+    pSimNode->crSpace[0x10154] = 0;
+    pSimNode->crSpace[0x10164] = 0;
+    pSimNode->crSpace[0x10920] = 0;
+    pSimNode->crSpace[0x10924] = 0;
+    pSimNode->crSpace[0x10928] = 0;
+    pSimNode->crSpace[0x1092c] = 0;
+    pSimNode->crSpace[0x10930] = 0;
+    pSimNode->crSpace[0x10934] = 0;
+    pSimNode->crSpace[0x10938] = 0;
+    pSimNode->crSpace[0x10944] = 0;
+    pSimNode->crSpace[0x10948] = 0;
+    pSimNode->crSpace[0x1094c] = 0;
+    pSimNode->crSpace[0x10950] = 0;
+    pSimNode->crSpace[0x10954] = 0;
+    pSimNode->crSpace[0x10964] = 0;
+    pSimNode->crSpace[0xf0014] = 0x00a06278; // RevId DevId
+    portGuidHigh = pSimNode->nodeInfo.port_guid & 0xffffffff ;
+    portGuidLow =  ((pSimNode->nodeInfo.port_guid >> 32) & 0xffffffff) + 1;
+    pSimNode->crSpace[0x8232c] = portGuidHigh; // Guid High port 1
+    pSimNode->crSpace[0x8232c] = portGuidLow; // Guid Low  port 1
+    portGuidLow++;
+    pSimNode->crSpace[0x82334] = portGuidHigh; // Guid High port 2
+    pSimNode->crSpace[0x82338] = portGuidLow; // Guid Low  port 2
+
+  case 25204 : // sinai - 1 port
+    pSimNode->crSpace[0x10120] = 0;
+    pSimNode->crSpace[0x10124] = 0;
+    pSimNode->crSpace[0x10128] = 0;
+    pSimNode->crSpace[0x1012c] = 0;
+    pSimNode->crSpace[0x10130] = 0;
+    pSimNode->crSpace[0x10134] = 0;
+    pSimNode->crSpace[0x10138] = 0;
+    pSimNode->crSpace[0x10144] = 0;
+    pSimNode->crSpace[0x10148] = 0;
+    pSimNode->crSpace[0x1014c] = 0;
+    pSimNode->crSpace[0x10150] = 0;
+    pSimNode->crSpace[0x10154] = 0;
+    pSimNode->crSpace[0x10164] = 0;
+    pSimNode->crSpace[0xf0014] = 0x00a06274; // RevId DevId
+    portGuidHigh = pSimNode->nodeInfo.port_guid & 0xffffffff ;
+    portGuidLow =  ((pSimNode->nodeInfo.port_guid >> 32) & 0xffffffff) + 1;
+    pSimNode->crSpace[0x8232c] = portGuidHigh; // Guid High port 1
+    pSimNode->crSpace[0x8232c] = portGuidLow; // Guid Low  port 1
+  case 47396 : // anafa2
+    for (int i=0;i<24;i++) {
+      pSimNode->crSpace[(0x102120 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102124 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102128 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x10212c + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102130 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102134 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102138 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102144 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102148 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x10214C + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x102164 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x1027A8 + i*0x1000)] = 0;
+      pSimNode->crSpace[(0x1027AC + i*0x1000)] = 0;
+    }
+    pSimNode->crSpace[0x60014] = 0x00a0b924; // RevId DevId
+  case 43132 : // anafa
+    for (int i=0;i<8;i++) {
+      pSimNode->crSpace[(0x8120 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8124 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8128 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x812C + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8130 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8134 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8138 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8144 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8148 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x814C + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8150 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8154 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8160 + i*0x400)] = 0;
+      pSimNode->crSpace[(0x8164 + i*0x400)] = 0;
+    }
+    pSimNode->crSpace[0x3014] = 0x00a0a87c ;// RevId DevId
+  }
+  MSG_EXIT_FUNC;
+}
+
+
+
diff --git a/ibmgtsim/src/vsa.h b/ibmgtsim/src/vsa.h
new file mode 100644
index 0000000..375f10c
--- /dev/null
+++ b/ibmgtsim/src/vsa.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
+
+/****h* IBMS/Vendor specific Agent
+* NAME
+*	Vendor specific Agent Simulator
+*
+* DESCRIPTION
+*	The top level object of the vendor specific agent simulator
+*
+* AUTHOR
+*	Nimrod Gindi, Mellanox
+*
+*********/
+
+#ifndef VENDOR_SPECIFIC_H
+#define VENDOR_SPECIFIC_H
+
+
+#include <complib/cl_packon.h>
+typedef struct _ib_sim_cr_space
+{
+    ib_mad_t mad_header;
+    ib_net64_t vendor_key;
+    ib_net32_t data[56];
+}	PACK_SUFFIX ib_sim_cr_space_t;
+#include <complib/cl_packoff.h>
+
+class IBMSVendorSpecific : IBMSMadProcessor {
+
+  /* init functions of node structures */
+
+  /* Mad Validation */
+  int vsMadValidation(ibms_mad_msg_t &madMsg);
+
+  /* ----------------------------
+        Attributes Handling
+     ----------------------------*/
+  int vsAttribute50(ibms_mad_msg_t &respMadMsg,
+                    ibms_mad_msg_t &reqMadMsg,
+                    uint8_t        inPort);
+
+  int vsAttribute51(ibms_mad_msg_t &respMadMsg,
+                    ibms_mad_msg_t &reqMadMsg,
+                    uint8_t        inPort);
+
+ public:
+   // init the CrSpace according to device type //
+  void crSpaceInit(uint16_t devId);
+  /* Top level of handling the Vendor Specific MAD. Might result with a call to the
+     outstandingMads->push() with a result                     */
+  int processMad(uint8_t inPort, ibms_mad_msg_t &madMsg);
+
+  /* Constructor - should initial the specific class elements
+     in the node. */
+  IBMSVendorSpecific(IBMSNode *pSNode, list_uint16 mgtClasses);
+
+  /* destructor - clean up from the node too */
+  // ~IBMSVendorSpecific();
+
+};
+
+#endif
+
diff --git a/ibmgtsim/tests/12-ary-2-tree.topo b/ibmgtsim/tests/12-ary-2-tree.topo
new file mode 100644
index 0000000..b94f431
--- /dev/null
+++ b/ibmgtsim/tests/12-ary-2-tree.topo
@@ -0,0 +1,312 @@
+MTS2400 SW-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> Cougar H-5 P1
+   P6 -> Cougar H-6 P1
+   P7 -> Cougar H-7 P1
+   P8 -> Cougar H-8 P1
+   P9 -> Cougar H-9 P1
+   P10 -> Cougar H-10 P1
+   P11 -> Cougar H-11 P1
+   P12 -> Cougar H-12 P1
+   P13 -> MTS2400 SW-0-1 P1
+   P14 -> MTS2400 SW-1-1 P1
+   P15 -> MTS2400 SW-2-1 P1
+   P16 -> MTS2400 SW-3-1 P1
+   P17 -> MTS2400 SW-4-1 P1
+   P18 -> MTS2400 SW-5-1 P1
+   P19 -> MTS2400 SW-6-1 P1
+   P20 -> MTS2400 SW-7-1 P1
+   P21 -> MTS2400 SW-8-1 P1
+   P22 -> MTS2400 SW-9-1 P1
+   P23 -> MTS2400 SW-10-1 P1
+   P24 -> MTS2400 SW-11-1 P1
+
+MTS2400 SW-1-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> Cougar H-17 P1
+   P6 -> Cougar H-18 P1
+   P7 -> Cougar H-19 P1
+   P8 -> Cougar H-20 P1
+   P9 -> Cougar H-21 P1
+   P10 -> Cougar H-22 P1
+   P11 -> Cougar H-23 P1
+   P12 -> Cougar H-24 P1
+   P13 -> MTS2400 SW-0-1 P2
+   P14 -> MTS2400 SW-1-1 P2
+   P15 -> MTS2400 SW-2-1 P2
+   P16 -> MTS2400 SW-3-1 P2
+   P17 -> MTS2400 SW-4-1 P2
+   P18 -> MTS2400 SW-5-1 P2
+   P19 -> MTS2400 SW-6-1 P2
+   P20 -> MTS2400 SW-7-1 P2
+   P21 -> MTS2400 SW-8-1 P2
+   P22 -> MTS2400 SW-9-1 P2
+   P23 -> MTS2400 SW-10-1 P2
+   P24 -> MTS2400 SW-11-1 P2
+
+MTS2400 SW-2-0
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> Cougar H-29 P1
+   P6 -> Cougar H-30 P1
+   P7 -> Cougar H-31 P1
+   P8 -> Cougar H-32 P1
+   P9 -> Cougar H-33 P1
+   P10 -> Cougar H-34 P1
+   P11 -> Cougar H-35 P1
+   P12 -> Cougar H-36 P1
+   P13 -> MTS2400 SW-0-1 P3
+   P14 -> MTS2400 SW-1-1 P3
+   P15 -> MTS2400 SW-2-1 P3
+   P16 -> MTS2400 SW-3-1 P3
+   P17 -> MTS2400 SW-4-1 P3
+   P18 -> MTS2400 SW-5-1 P3
+   P19 -> MTS2400 SW-6-1 P3
+   P20 -> MTS2400 SW-7-1 P3
+   P21 -> MTS2400 SW-8-1 P3
+   P22 -> MTS2400 SW-9-1 P3
+   P23 -> MTS2400 SW-10-1 P3
+   P24 -> MTS2400 SW-11-1 P3
+
+MTS2400 SW-3-0
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> Cougar H-41 P1
+   P6 -> Cougar H-42 P1
+   P7 -> Cougar H-43 P1
+   P8 -> Cougar H-44 P1
+   P9 -> Cougar H-45 P1
+   P10 -> Cougar H-46 P1
+   P11 -> Cougar H-47 P1
+   P12 -> Cougar H-48 P1
+   P13 -> MTS2400 SW-0-1 P4
+   P14 -> MTS2400 SW-1-1 P4
+   P15 -> MTS2400 SW-2-1 P4
+   P16 -> MTS2400 SW-3-1 P4
+   P17 -> MTS2400 SW-4-1 P4
+   P18 -> MTS2400 SW-5-1 P4
+   P19 -> MTS2400 SW-6-1 P4
+   P20 -> MTS2400 SW-7-1 P4
+   P21 -> MTS2400 SW-8-1 P4
+   P22 -> MTS2400 SW-9-1 P4
+   P23 -> MTS2400 SW-10-1 P4
+   P24 -> MTS2400 SW-11-1 P4
+
+MTS2400 SW-4-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> Cougar H-53 P1
+   P6 -> Cougar H-54 P1
+   P7 -> Cougar H-55 P1
+   P8 -> Cougar H-56 P1
+   P9 -> Cougar H-57 P1
+   P10 -> Cougar H-58 P1
+   P11 -> Cougar H-59 P1
+   P12 -> Cougar H-60 P1
+   P13 -> MTS2400 SW-0-1 P5
+   P14 -> MTS2400 SW-1-1 P5
+   P15 -> MTS2400 SW-2-1 P5
+   P16 -> MTS2400 SW-3-1 P5
+   P17 -> MTS2400 SW-4-1 P5
+   P18 -> MTS2400 SW-5-1 P5
+   P19 -> MTS2400 SW-6-1 P5
+   P20 -> MTS2400 SW-7-1 P5
+   P21 -> MTS2400 SW-8-1 P5
+   P22 -> MTS2400 SW-9-1 P5
+   P23 -> MTS2400 SW-10-1 P5
+   P24 -> MTS2400 SW-11-1 P5
+
+MTS2400 SW-5-0
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> Cougar H-65 P1
+   P6 -> Cougar H-66 P1
+   P7 -> Cougar H-67 P1
+   P8 -> Cougar H-68 P1
+   P9 -> Cougar H-69 P1
+   P10 -> Cougar H-70 P1
+   P11 -> Cougar H-71 P1
+   P12 -> Cougar H-72 P1
+   P13 -> MTS2400 SW-0-1 P6
+   P14 -> MTS2400 SW-1-1 P6
+   P15 -> MTS2400 SW-2-1 P6
+   P16 -> MTS2400 SW-3-1 P6
+   P17 -> MTS2400 SW-4-1 P6
+   P18 -> MTS2400 SW-5-1 P6
+   P19 -> MTS2400 SW-6-1 P6
+   P20 -> MTS2400 SW-7-1 P6
+   P21 -> MTS2400 SW-8-1 P6
+   P22 -> MTS2400 SW-9-1 P6
+   P23 -> MTS2400 SW-10-1 P6
+   P24 -> MTS2400 SW-11-1 P6
+
+MTS2400 SW-6-0
+   P1 -> Cougar H-73 P1
+   P2 -> Cougar H-74 P1
+   P3 -> Cougar H-75 P1
+   P4 -> Cougar H-76 P1
+   P5 -> Cougar H-77 P1
+   P6 -> Cougar H-78 P1
+   P7 -> Cougar H-79 P1
+   P8 -> Cougar H-80 P1
+   P9 -> Cougar H-81 P1
+   P10 -> Cougar H-82 P1
+   P11 -> Cougar H-83 P1
+   P12 -> Cougar H-84 P1
+   P13 -> MTS2400 SW-0-1 P7
+   P14 -> MTS2400 SW-1-1 P7
+   P15 -> MTS2400 SW-2-1 P7
+   P16 -> MTS2400 SW-3-1 P7
+   P17 -> MTS2400 SW-4-1 P7
+   P18 -> MTS2400 SW-5-1 P7
+   P19 -> MTS2400 SW-6-1 P7
+   P20 -> MTS2400 SW-7-1 P7
+   P21 -> MTS2400 SW-8-1 P7
+   P22 -> MTS2400 SW-9-1 P7
+   P23 -> MTS2400 SW-10-1 P7
+   P24 -> MTS2400 SW-11-1 P7
+
+MTS2400 SW-7-0
+   P1 -> Cougar H-85 P1
+   P2 -> Cougar H-86 P1
+   P3 -> Cougar H-87 P1
+   P4 -> Cougar H-88 P1
+   P5 -> Cougar H-89 P1
+   P6 -> Cougar H-90 P1
+   P7 -> Cougar H-91 P1
+   P8 -> Cougar H-92 P1
+   P9 -> Cougar H-93 P1
+   P10 -> Cougar H-94 P1
+   P11 -> Cougar H-95 P1
+   P12 -> Cougar H-96 P1
+   P13 -> MTS2400 SW-0-1 P8
+   P14 -> MTS2400 SW-1-1 P8
+   P15 -> MTS2400 SW-2-1 P8
+   P16 -> MTS2400 SW-3-1 P8
+   P17 -> MTS2400 SW-4-1 P8
+   P18 -> MTS2400 SW-5-1 P8
+   P19 -> MTS2400 SW-6-1 P8
+   P20 -> MTS2400 SW-7-1 P8
+   P21 -> MTS2400 SW-8-1 P8
+   P22 -> MTS2400 SW-9-1 P8
+   P23 -> MTS2400 SW-10-1 P8
+   P24 -> MTS2400 SW-11-1 P8
+
+MTS2400 SW-8-0
+   P1 -> Cougar H-97 P1
+   P2 -> Cougar H-98 P1
+   P3 -> Cougar H-99 P1
+   P4 -> Cougar H-100 P1
+   P5 -> Cougar H-101 P1
+   P6 -> Cougar H-102 P1
+   P7 -> Cougar H-103 P1
+   P8 -> Cougar H-104 P1
+   P9 -> Cougar H-105 P1
+   P10 -> Cougar H-106 P1
+   P11 -> Cougar H-107 P1
+   P12 -> Cougar H-108 P1
+   P13 -> MTS2400 SW-0-1 P9
+   P14 -> MTS2400 SW-1-1 P9
+   P15 -> MTS2400 SW-2-1 P9
+   P16 -> MTS2400 SW-3-1 P9
+   P17 -> MTS2400 SW-4-1 P9
+   P18 -> MTS2400 SW-5-1 P9
+   P19 -> MTS2400 SW-6-1 P9
+   P20 -> MTS2400 SW-7-1 P9
+   P21 -> MTS2400 SW-8-1 P9
+   P22 -> MTS2400 SW-9-1 P9
+   P23 -> MTS2400 SW-10-1 P9
+   P24 -> MTS2400 SW-11-1 P9
+
+MTS2400 SW-9-0
+   P1 -> Cougar H-109 P1
+   P2 -> Cougar H-110 P1
+   P3 -> Cougar H-111 P1
+   P4 -> Cougar H-112 P1
+   P5 -> Cougar H-113 P1
+   P6 -> Cougar H-114 P1
+   P7 -> Cougar H-115 P1
+   P8 -> Cougar H-116 P1
+   P9 -> Cougar H-117 P1
+   P10 -> Cougar H-118 P1
+   P11 -> Cougar H-119 P1
+   P12 -> Cougar H-120 P1
+   P13 -> MTS2400 SW-0-1 P10
+   P14 -> MTS2400 SW-1-1 P10
+   P15 -> MTS2400 SW-2-1 P10
+   P16 -> MTS2400 SW-3-1 P10
+   P17 -> MTS2400 SW-4-1 P10
+   P18 -> MTS2400 SW-5-1 P10
+   P19 -> MTS2400 SW-6-1 P10
+   P20 -> MTS2400 SW-7-1 P10
+   P21 -> MTS2400 SW-8-1 P10
+   P22 -> MTS2400 SW-9-1 P10
+   P23 -> MTS2400 SW-10-1 P10
+   P24 -> MTS2400 SW-11-1 P10
+
+MTS2400 SW-10-0
+   P1 -> Cougar H-121 P1
+   P2 -> Cougar H-122 P1
+   P3 -> Cougar H-123 P1
+   P4 -> Cougar H-124 P1
+   P5 -> Cougar H-125 P1
+   P6 -> Cougar H-126 P1
+   P7 -> Cougar H-127 P1
+   P8 -> Cougar H-128 P1
+   P9 -> Cougar H-129 P1
+   P10 -> Cougar H-130 P1
+   P11 -> Cougar H-131 P1
+   P12 -> Cougar H-132 P1
+   P13 -> MTS2400 SW-0-1 P11
+   P14 -> MTS2400 SW-1-1 P11
+   P15 -> MTS2400 SW-2-1 P11
+   P16 -> MTS2400 SW-3-1 P11
+   P17 -> MTS2400 SW-4-1 P11
+   P18 -> MTS2400 SW-5-1 P11
+   P19 -> MTS2400 SW-6-1 P11
+   P20 -> MTS2400 SW-7-1 P11
+   P21 -> MTS2400 SW-8-1 P11
+   P22 -> MTS2400 SW-9-1 P11
+   P23 -> MTS2400 SW-10-1 P11
+   P24 -> MTS2400 SW-11-1 P11
+
+MTS2400 SW-11-0
+   P1 -> Cougar H-133 P1
+   P2 -> Cougar H-134 P1
+   P3 -> Cougar H-135 P1
+   P4 -> Cougar H-136 P1
+   P5 -> Cougar H-137 P1
+   P6 -> Cougar H-138 P1
+   P7 -> Cougar H-139 P1
+   P8 -> Cougar H-140 P1
+   P9 -> Cougar H-141 P1
+   P10 -> Cougar H-142 P1
+   P11 -> Cougar H-143 P1
+   P12 -> Cougar H-144 P1
+   P13 -> MTS2400 SW-0-1 P12
+   P14 -> MTS2400 SW-1-1 P12
+   P15 -> MTS2400 SW-2-1 P12
+   P16 -> MTS2400 SW-3-1 P12
+   P17 -> MTS2400 SW-4-1 P12
+   P18 -> MTS2400 SW-5-1 P12
+   P19 -> MTS2400 SW-6-1 P12
+   P20 -> MTS2400 SW-7-1 P12
+   P21 -> MTS2400 SW-8-1 P12
+   P22 -> MTS2400 SW-9-1 P12
+   P23 -> MTS2400 SW-10-1 P12
+   P24 -> MTS2400 SW-11-1 P12
+
diff --git a/ibmgtsim/tests/12-node-spaced.topo b/ibmgtsim/tests/12-node-spaced.topo
new file mode 100644
index 0000000..91635dd
--- /dev/null
+++ b/ibmgtsim/tests/12-node-spaced.topo
@@ -0,0 +1,39 @@
+# A complete Gnu
+
+# we use: SW-<switch-number>-<level>
+MTS800 SW-0-0
+  P1 -> Cougar H-1 P1
+  P2 -> Cougar H-2 P1
+  P3 -> Cougar H-3 P1
+  P5 -> MTS800 SW-0-1 P1
+  P6 -> MTS800 SW-1-1 P1
+  P7 -> MTS800 SW-2-1 P1
+  P8 -> MTS800 SW-3-1 P1
+
+MTS800 SW-1-0
+  P1 -> Cougar H-5 P1
+  P2 -> Cougar H-6 P1
+  P3 -> Cougar H-7 P1
+  P5 -> MTS800 SW-0-1 P2
+  P6 -> MTS800 SW-1-1 P2
+  P7 -> MTS800 SW-2-1 P2
+  P8 -> MTS800 SW-3-1 P2
+
+MTS800 SW-2-0
+  P1 -> Cougar H-9 P1
+  P2 -> Cougar H-10 P1
+  P3 -> Cougar H-11 P1
+  P5 -> MTS800 SW-0-1 P3
+  P6 -> MTS800 SW-1-1 P3
+  P7 -> MTS800 SW-2-1 P3
+  P8 -> MTS800 SW-3-1 P3
+
+MTS800 SW-3-0
+  P1 -> Cougar H-13 P1
+  P2 -> Cougar H-14 P1
+  P3 -> Cougar H-15 P1
+  P5 -> MTS800 SW-0-1 P4
+  P6 -> MTS800 SW-1-1 P4
+  P7 -> MTS800 SW-2-1 P4
+  P8 -> MTS800 SW-3-1 P4
+
diff --git a/ibmgtsim/tests/2-ary-4-tree.topo b/ibmgtsim/tests/2-ary-4-tree.topo
new file mode 100644
index 0000000..023d7ec
--- /dev/null
+++ b/ibmgtsim/tests/2-ary-4-tree.topo
@@ -0,0 +1,112 @@
+MTS2400 SW-3-0-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> MTS2400 SW-2-0-0-0 P1
+   P4 -> MTS2400 SW-2-0-0-1 P1
+
+MTS2400 SW-3-0-0-1
+   P1 -> Cougar H-3 P1
+   P2 -> Cougar H-4 P1
+   P3 -> MTS2400 SW-2-0-0-0 P2
+   P4 -> MTS2400 SW-2-0-0-1 P2
+
+MTS2400 SW-3-0-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> MTS2400 SW-2-0-1-0 P1
+   P4 -> MTS2400 SW-2-0-1-1 P1
+
+MTS2400 SW-3-0-1-1
+   P1 -> Cougar H-7 P1
+   P2 -> Cougar H-8 P1
+   P3 -> MTS2400 SW-2-0-1-0 P2
+   P4 -> MTS2400 SW-2-0-1-1 P2
+
+MTS2400 SW-3-1-0-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> MTS2400 SW-2-1-0-0 P1
+   P4 -> MTS2400 SW-2-1-0-1 P1
+
+MTS2400 SW-3-1-0-1
+   P1 -> Cougar H-11 P1
+   P2 -> Cougar H-12 P1
+   P3 -> MTS2400 SW-2-1-0-0 P2
+   P4 -> MTS2400 SW-2-1-0-1 P2
+
+MTS2400 SW-3-1-1-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> MTS2400 SW-2-1-1-0 P1
+   P4 -> MTS2400 SW-2-1-1-1 P1
+
+MTS2400 SW-3-1-1-1
+   P1 -> Cougar H-15 P1
+   P2 -> Cougar H-16 P1
+   P3 -> MTS2400 SW-2-1-1-0 P2
+   P4 -> MTS2400 SW-2-1-1-1 P2
+
+MTS2400 SW-2-0-0-0
+   P3 -> MTS2400 SW-1-0-0-0 P1
+   P4 -> MTS2400 SW-1-0-1-0 P1
+
+MTS2400 SW-2-0-0-1
+   P3 -> MTS2400 SW-1-0-0-1 P1
+   P4 -> MTS2400 SW-1-0-1-1 P1
+
+MTS2400 SW-2-0-1-0
+   P3 -> MTS2400 SW-1-0-0-0 P2
+   P4 -> MTS2400 SW-1-0-1-0 P2
+
+MTS2400 SW-2-0-1-1
+   P3 -> MTS2400 SW-1-0-0-1 P2
+   P4 -> MTS2400 SW-1-0-1-1 P2
+
+MTS2400 SW-2-1-0-0
+   P3 -> MTS2400 SW-1-1-0-0 P1
+   P4 -> MTS2400 SW-1-1-1-0 P1
+
+MTS2400 SW-2-1-0-1
+   P3 -> MTS2400 SW-1-1-0-1 P1
+   P4 -> MTS2400 SW-1-1-1-1 P1
+
+MTS2400 SW-2-1-1-0
+   P3 -> MTS2400 SW-1-1-0-0 P2
+   P4 -> MTS2400 SW-1-1-1-0 P2
+
+MTS2400 SW-2-1-1-1
+   P3 -> MTS2400 SW-1-1-0-1 P2
+   P4 -> MTS2400 SW-1-1-1-1 P2
+
+MTS2400 SW-1-0-0-0
+   P3 -> MTS2400 SW-0-0-0-0 P1
+   P4 -> MTS2400 SW-0-1-0-0 P1
+
+MTS2400 SW-1-0-0-1
+   P3 -> MTS2400 SW-0-0-0-1 P1
+   P4 -> MTS2400 SW-0-1-0-1 P1
+
+MTS2400 SW-1-0-1-0
+   P3 -> MTS2400 SW-0-0-1-0 P1
+   P4 -> MTS2400 SW-0-1-1-0 P1
+
+MTS2400 SW-1-0-1-1
+   P3 -> MTS2400 SW-0-0-1-1 P1
+   P4 -> MTS2400 SW-0-1-1-1 P1
+
+MTS2400 SW-1-1-0-0
+   P3 -> MTS2400 SW-0-0-0-0 P2
+   P4 -> MTS2400 SW-0-1-0-0 P2
+
+MTS2400 SW-1-1-0-1
+   P3 -> MTS2400 SW-0-0-0-1 P2
+   P4 -> MTS2400 SW-0-1-0-1 P2
+
+MTS2400 SW-1-1-1-0
+   P3 -> MTS2400 SW-0-0-1-0 P2
+   P4 -> MTS2400 SW-0-1-1-0 P2
+
+MTS2400 SW-1-1-1-1
+   P3 -> MTS2400 SW-0-0-1-1 P2
+   P4 -> MTS2400 SW-0-1-1-1 P2
+
diff --git a/ibmgtsim/tests/32nodes-3lvl-is1-cbb2-2st.topo b/ibmgtsim/tests/32nodes-3lvl-is1-cbb2-2st.topo
new file mode 100644
index 0000000..285549b
--- /dev/null
+++ b/ibmgtsim/tests/32nodes-3lvl-is1-cbb2-2st.topo
@@ -0,0 +1,104 @@
+MTS800 SW-L2-0-0
+	P1 -> Cougar H-1 P1
+	P2 -> Cougar H-2 P1
+	P3 -> Cougar H-3 P1
+	P4 -> Cougar H-4 P1
+	P5 -> MTS800 SW-L1-0-0 P1
+	P6 -> MTS800 SW-L1-0-0 P2
+	P7 -> MTS800 SW-L1-0-1 P1
+	P8 -> MTS800 SW-L1-0-1 P2
+
+MTS800 SW-L2-0-1
+	P1 -> Cougar H-5 P1
+	P2 -> Cougar H-6 P1
+	P3 -> Cougar H-7 P1
+	P4 -> Cougar H-8 P1
+	P5 -> MTS800 SW-L1-0-0 P3
+	P6 -> MTS800 SW-L1-0-0 P4
+	P7 -> MTS800 SW-L1-0-1 P3
+	P8 -> MTS800 SW-L1-0-1 P4
+
+MTS800 SW-L2-1-0
+	P1 -> Cougar H-9 P1
+	P2 -> Cougar H-10 P1
+	P3 -> Cougar H-11 P1
+	P4 -> Cougar H-12 P1
+	P5 -> MTS800 SW-L1-1-0 P1
+	P6 -> MTS800 SW-L1-1-0 P2
+	P7 -> MTS800 SW-L1-1-1 P1
+	P8 -> MTS800 SW-L1-1-1 P2
+
+MTS800 SW-L2-1-1
+	P1 -> Cougar H-13 P1
+	P2 -> Cougar H-14 P1
+	P3 -> Cougar H-15 P1
+	P4 -> Cougar H-16 P1
+	P5 -> MTS800 SW-L1-1-0 P3
+	P6 -> MTS800 SW-L1-1-0 P4
+	P7 -> MTS800 SW-L1-1-1 P3
+	P8 -> MTS800 SW-L1-1-1 P4
+
+MTS800 SW-L2-2-0
+	P1 -> Cougar H-17 P1
+	P2 -> Cougar H-18 P1
+	P3 -> Cougar H-19 P1
+	P4 -> Cougar H-20 P1
+	P5 -> MTS800 SW-L1-2-0 P1
+	P6 -> MTS800 SW-L1-2-0 P2
+	P7 -> MTS800 SW-L1-2-1 P1
+	P8 -> MTS800 SW-L1-2-1 P2
+
+MTS800 SW-L2-2-1
+	P1 -> Cougar H-21 P1
+	P2 -> Cougar H-22 P1
+	P3 -> Cougar H-23 P1
+	P4 -> Cougar H-24 P1
+	P5 -> MTS800 SW-L1-2-0 P3
+	P6 -> MTS800 SW-L1-2-0 P4
+	P7 -> MTS800 SW-L1-2-1 P3
+	P8 -> MTS800 SW-L1-2-1 P4
+
+MTS800 SW-L2-3-0
+	P1 -> Cougar H-25 P1
+	P2 -> Cougar H-26 P1
+	P3 -> Cougar H-27 P1
+	P4 -> Cougar H-28 P1
+	P5 -> MTS800 SW-L1-3-0 P1
+	P6 -> MTS800 SW-L1-3-0 P2
+	P7 -> MTS800 SW-L1-3-1 P1
+	P8 -> MTS800 SW-L1-3-1 P2
+
+MTS800 SW-L2-3-1
+	P1 -> Cougar H-29 P1
+	P2 -> Cougar H-30 P1
+	P3 -> Cougar H-31 P1
+	P4 -> Cougar H-32 P1
+	P5 -> MTS800 SW-L1-3-0 P3
+	P6 -> MTS800 SW-L1-3-0 P4
+	P7 -> MTS800 SW-L1-3-1 P3
+	P8 -> MTS800 SW-L1-3-1 P4
+
+MTS800 SW-L0-0-0
+	P1 -> MTS800 SW-L1-0-0 P5
+	P3 -> MTS800 SW-L1-1-0 P5
+	P5 -> MTS800 SW-L1-2-0 P5
+	P7 -> MTS800 SW-L1-3-0 P5
+
+MTS800 SW-L0-0-1
+	P1 -> MTS800 SW-L1-0-1 P5
+	P3 -> MTS800 SW-L1-1-1 P5
+	P5 -> MTS800 SW-L1-2-1 P5
+	P7 -> MTS800 SW-L1-3-1 P5
+
+MTS800 SW-L0-1-0
+	P1 -> MTS800 SW-L1-0-0 P7
+	P3 -> MTS800 SW-L1-1-0 P7
+	P5 -> MTS800 SW-L1-2-0 P7
+	P7 -> MTS800 SW-L1-3-0 P7
+
+MTS800 SW-L0-1-1
+	P1 -> MTS800 SW-L1-0-1 P7
+	P3 -> MTS800 SW-L1-1-1 P7
+	P5 -> MTS800 SW-L1-2-1 P7
+	P7 -> MTS800 SW-L1-3-1 P7
+
diff --git a/ibmgtsim/tests/32nodes-3lvl-is1-cbb2.topo b/ibmgtsim/tests/32nodes-3lvl-is1-cbb2.topo
new file mode 100644
index 0000000..620e2ac
--- /dev/null
+++ b/ibmgtsim/tests/32nodes-3lvl-is1-cbb2.topo
@@ -0,0 +1,87 @@
+MTS800 SW-L2-0-0
+	P1 -> Cougar H-1 P1
+	P2 -> Cougar H-2 P1
+	P3 -> Cougar H-3 P1
+	P4 -> Cougar H-4 P1
+	P5 -> MTS800 SW-L1-0-0 P1
+	P7 -> MTS800 SW-L1-0-1 P1
+
+MTS800 SW-L2-0-1
+	P1 -> Cougar H-5 P1
+	P2 -> Cougar H-6 P1
+	P3 -> Cougar H-7 P1
+	P4 -> Cougar H-8 P1
+	P5 -> MTS800 SW-L1-0-0 P3
+	P7 -> MTS800 SW-L1-0-1 P3
+
+MTS800 SW-L2-1-0
+	P1 -> Cougar H-9 P1
+	P2 -> Cougar H-10 P1
+	P3 -> Cougar H-11 P1
+	P4 -> Cougar H-12 P1
+	P5 -> MTS800 SW-L1-1-0 P1
+	P7 -> MTS800 SW-L1-1-1 P1
+
+MTS800 SW-L2-1-1
+	P1 -> Cougar H-13 P1
+	P2 -> Cougar H-14 P1
+	P3 -> Cougar H-15 P1
+	P4 -> Cougar H-16 P1
+	P5 -> MTS800 SW-L1-1-0 P3
+	P7 -> MTS800 SW-L1-1-1 P3
+
+MTS800 SW-L2-2-0
+	P1 -> Cougar H-17 P1
+	P2 -> Cougar H-18 P1
+	P3 -> Cougar H-19 P1
+	P4 -> Cougar H-20 P1
+	P5 -> MTS800 SW-L1-2-0 P1
+	P7 -> MTS800 SW-L1-2-1 P1
+
+MTS800 SW-L2-2-1
+	P1 -> Cougar H-21 P1
+	P2 -> Cougar H-22 P1
+	P3 -> Cougar H-23 P1
+	P4 -> Cougar H-24 P1
+	P5 -> MTS800 SW-L1-2-0 P3
+	P7 -> MTS800 SW-L1-2-1 P3
+
+MTS800 SW-L2-3-0
+	P1 -> Cougar H-25 P1
+	P2 -> Cougar H-26 P1
+	P3 -> Cougar H-27 P1
+	P4 -> Cougar H-28 P1
+	P5 -> MTS800 SW-L1-3-0 P1
+	P7 -> MTS800 SW-L1-3-1 P1
+
+MTS800 SW-L2-3-1
+	P1 -> Cougar H-29 P1
+	P2 -> Cougar H-30 P1
+	P3 -> Cougar H-31 P1
+	P4 -> Cougar H-32 P1
+	P5 -> MTS800 SW-L1-3-0 P3
+	P7 -> MTS800 SW-L1-3-1 P3
+
+MTS800 SW-L0-0-0
+	P1 -> MTS800 SW-L1-0-0 P5
+	P3 -> MTS800 SW-L1-1-0 P5
+	P5 -> MTS800 SW-L1-2-0 P5
+	P7 -> MTS800 SW-L1-3-0 P5
+
+MTS800 SW-L0-0-1
+	P1 -> MTS800 SW-L1-0-1 P5
+	P3 -> MTS800 SW-L1-1-1 P5
+	P5 -> MTS800 SW-L1-2-1 P5
+	P7 -> MTS800 SW-L1-3-1 P5
+
+MTS800 SW-L0-1-0
+	P1 -> MTS800 SW-L1-0-0 P7
+	P3 -> MTS800 SW-L1-1-0 P7
+	P5 -> MTS800 SW-L1-2-0 P7
+	P7 -> MTS800 SW-L1-3-0 P7
+
+MTS800 SW-L0-1-1
+	P1 -> MTS800 SW-L1-0-1 P7
+	P3 -> MTS800 SW-L1-1-1 P7
+	P5 -> MTS800 SW-L1-2-1 P7
+	P7 -> MTS800 SW-L1-3-1 P7
diff --git a/ibmgtsim/tests/32nodes-3lvl-is1.topo b/ibmgtsim/tests/32nodes-3lvl-is1.topo
new file mode 100644
index 0000000..9966c1a
--- /dev/null
+++ b/ibmgtsim/tests/32nodes-3lvl-is1.topo
@@ -0,0 +1,119 @@
+MTS800 SW-L2-0-0
+	P1 -> Cougar H-1 P1
+	P2 -> Cougar H-2 P1
+	P3 -> Cougar H-3 P1
+	P4 -> Cougar H-4 P1
+	P5 -> MTS800 SW-L1-0-0 P1
+	P6 -> MTS800 SW-L1-0-0 P2
+	P7 -> MTS800 SW-L1-0-1 P1
+	P8 -> MTS800 SW-L1-0-1 P2
+
+MTS800 SW-L2-0-1
+	P1 -> Cougar H-5 P1
+	P2 -> Cougar H-6 P1
+	P3 -> Cougar H-7 P1
+	P4 -> Cougar H-8 P1
+	P5 -> MTS800 SW-L1-0-0 P3
+	P6 -> MTS800 SW-L1-0-0 P4
+	P7 -> MTS800 SW-L1-0-1 P3
+	P8 -> MTS800 SW-L1-0-1 P4
+
+MTS800 SW-L2-1-0
+	P1 -> Cougar H-9 P1
+	P2 -> Cougar H-10 P1
+	P3 -> Cougar H-11 P1
+	P4 -> Cougar H-12 P1
+	P5 -> MTS800 SW-L1-1-0 P1
+	P6 -> MTS800 SW-L1-1-0 P2
+	P7 -> MTS800 SW-L1-1-1 P1
+	P8 -> MTS800 SW-L1-1-1 P2
+
+MTS800 SW-L2-1-1
+	P1 -> Cougar H-13 P1
+	P2 -> Cougar H-14 P1
+	P3 -> Cougar H-15 P1
+	P4 -> Cougar H-16 P1
+	P5 -> MTS800 SW-L1-1-0 P3
+	P6 -> MTS800 SW-L1-1-0 P4
+	P7 -> MTS800 SW-L1-1-1 P3
+	P8 -> MTS800 SW-L1-1-1 P4
+
+MTS800 SW-L2-2-0
+	P1 -> Cougar H-17 P1
+	P2 -> Cougar H-18 P1
+	P3 -> Cougar H-19 P1
+	P4 -> Cougar H-20 P1
+	P5 -> MTS800 SW-L1-2-0 P1
+	P6 -> MTS800 SW-L1-2-0 P2
+	P7 -> MTS800 SW-L1-2-1 P1
+	P8 -> MTS800 SW-L1-2-1 P2
+
+MTS800 SW-L2-2-1
+	P1 -> Cougar H-21 P1
+	P2 -> Cougar H-22 P1
+	P3 -> Cougar H-23 P1
+	P4 -> Cougar H-24 P1
+	P5 -> MTS800 SW-L1-2-0 P3
+	P6 -> MTS800 SW-L1-2-0 P4
+	P7 -> MTS800 SW-L1-2-1 P3
+	P8 -> MTS800 SW-L1-2-1 P4
+
+MTS800 SW-L2-3-0
+	P1 -> Cougar H-25 P1
+	P2 -> Cougar H-26 P1
+	P3 -> Cougar H-27 P1
+	P4 -> Cougar H-28 P1
+	P5 -> MTS800 SW-L1-3-0 P1
+	P6 -> MTS800 SW-L1-3-0 P2
+	P7 -> MTS800 SW-L1-3-1 P1
+	P8 -> MTS800 SW-L1-3-1 P2
+
+MTS800 SW-L2-3-1
+	P1 -> Cougar H-29 P1
+	P2 -> Cougar H-30 P1
+	P3 -> Cougar H-31 P1
+	P4 -> Cougar H-32 P1
+	P5 -> MTS800 SW-L1-3-0 P3
+	P6 -> MTS800 SW-L1-3-0 P4
+	P7 -> MTS800 SW-L1-3-1 P3
+	P8 -> MTS800 SW-L1-3-1 P4
+
+MTS800 SW-L0-0-0
+	P1 -> MTS800 SW-L1-0-0 P5
+	P2 -> MTS800 SW-L1-0-0 P6
+	P3 -> MTS800 SW-L1-1-0 P5
+	P4 -> MTS800 SW-L1-1-0 P6
+	P5 -> MTS800 SW-L1-2-0 P5
+	P6 -> MTS800 SW-L1-2-0 P6
+	P7 -> MTS800 SW-L1-3-0 P5
+	P8 -> MTS800 SW-L1-3-0 P6
+
+MTS800 SW-L0-0-1
+	P1 -> MTS800 SW-L1-0-1 P5
+	P2 -> MTS800 SW-L1-0-1 P6
+	P3 -> MTS800 SW-L1-1-1 P5
+	P4 -> MTS800 SW-L1-1-1 P6
+	P5 -> MTS800 SW-L1-2-1 P5
+	P6 -> MTS800 SW-L1-2-1 P6
+	P7 -> MTS800 SW-L1-3-1 P5
+	P8 -> MTS800 SW-L1-3-1 P6
+
+MTS800 SW-L0-1-0
+	P1 -> MTS800 SW-L1-0-0 P7
+	P2 -> MTS800 SW-L1-0-0 P8
+	P3 -> MTS800 SW-L1-1-0 P7
+	P4 -> MTS800 SW-L1-1-0 P8
+	P5 -> MTS800 SW-L1-2-0 P7
+	P6 -> MTS800 SW-L1-2-0 P8
+	P7 -> MTS800 SW-L1-3-0 P7
+	P8 -> MTS800 SW-L1-3-0 P8
+
+MTS800 SW-L0-1-1
+	P1 -> MTS800 SW-L1-0-1 P7
+	P2 -> MTS800 SW-L1-0-1 P8
+	P3 -> MTS800 SW-L1-1-1 P7
+	P4 -> MTS800 SW-L1-1-1 P8
+	P5 -> MTS800 SW-L1-2-1 P7
+	P6 -> MTS800 SW-L1-2-1 P8
+	P7 -> MTS800 SW-L1-3-1 P7
+	P8 -> MTS800 SW-L1-3-1 P8
diff --git a/ibmgtsim/tests/4-ary-2-tree-diff-num-pgroups.topo b/ibmgtsim/tests/4-ary-2-tree-diff-num-pgroups.topo
new file mode 100644
index 0000000..13aa245
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-2-tree-diff-num-pgroups.topo
@@ -0,0 +1,39 @@
+MTS800 SW-1-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0 P1
+   P6 -> MTS800 SW-0-1 P1
+   P7 -> MTS800 SW-0-2 P1
+   P8 -> MTS800 SW-1-3 P8
+
+MTS800 SW-1-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0 P2
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-0-2 P2
+   P8 -> MTS800 SW-0-3 P2
+
+MTS800 SW-1-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0 P3
+   P6 -> MTS800 SW-0-1 P3
+   P7 -> MTS800 SW-0-2 P3
+   P8 -> MTS800 SW-0-3 P3
+
+MTS800 SW-1-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0 P4
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-0-2 P4
+
diff --git a/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-1.topo b/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-1.topo
new file mode 100644
index 0000000..6b22761
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-1.topo
@@ -0,0 +1,45 @@
+MTS800 SW-1-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0 P1
+   P6 -> MTS800 SW-0-1 P1
+   P7 -> MTS800 SW-0-2 P1
+   P8 -> MTS800 SW-0-3 P1
+
+MTS800 SW-1-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0 P2
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-0-2 P2
+   P8 -> MTS800 SW-0-3 P2
+
+MTS800 SW-1-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0 P3
+   P6 -> MTS800 SW-0-1 P3
+   P7 -> MTS800 SW-0-2 P3
+   P8 -> MTS800 SW-0-3 P3
+
+MTS800 SW-1-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0 P4
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-0-2 P4
+   P8 -> MTS800 SW-0-3 P4
+
+MTS800 SW-0-0
+   P5 -> MTS800 SW-0-1 P5
+   P6 -> MTS800 SW-0-2 P6
+   P7 -> MTS800 SW-0-3 P7
+
diff --git a/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-2.topo b/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-2.topo
new file mode 100644
index 0000000..9de2cac
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-2-tree-links-at-same-rank-2.topo
@@ -0,0 +1,38 @@
+MTS800 SW-1-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0 P1
+   P6 -> MTS800 SW-0-1 P1
+   P7 -> MTS800 SW-0-2 P1
+   P8 -> MTS800 SW-1-3 P8
+
+MTS800 SW-1-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0 P2
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-0-2 P2
+   P8 -> MTS800 SW-1-2 P8
+
+MTS800 SW-1-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0 P3
+   P6 -> MTS800 SW-0-1 P3
+   P7 -> MTS800 SW-0-2 P3
+
+MTS800 SW-1-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0 P4
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-0-2 P4
+
diff --git a/ibmgtsim/tests/4-ary-2-tree-missing-sw-link.topo b/ibmgtsim/tests/4-ary-2-tree-missing-sw-link.topo
new file mode 100644
index 0000000..0ed0eb0
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-2-tree-missing-sw-link.topo
@@ -0,0 +1,37 @@
+MTS800 SW-1-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0 P1
+   P6 -> MTS800 SW-0-1 P1
+   P7 -> MTS800 SW-0-2 P1
+   P8 -> MTS800 SW-0-3 P1
+
+MTS800 SW-1-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0 P2
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-0-2 P2
+   P8 -> MTS800 SW-0-3 P2
+
+MTS800 SW-1-2
+   P1 -> Cougar H-9 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0 P3
+   P7 -> MTS800 SW-0-2 P3
+   P8 -> MTS800 SW-0-3 P3
+
+MTS800 SW-1-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0 P4
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-0-2 P4
+   P8 -> MTS800 SW-0-3 P4
+
diff --git a/ibmgtsim/tests/4-ary-2-tree.topo b/ibmgtsim/tests/4-ary-2-tree.topo
new file mode 100644
index 0000000..880eacc
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-2-tree.topo
@@ -0,0 +1,40 @@
+MTS800 SW-1-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0 P1
+   P6 -> MTS800 SW-0-1 P1
+   P7 -> MTS800 SW-0-2 P1
+   P8 -> MTS800 SW-0-3 P1
+
+MTS800 SW-1-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0 P2
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-0-2 P2
+   P8 -> MTS800 SW-0-3 P2
+
+MTS800 SW-1-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0 P3
+   P6 -> MTS800 SW-0-1 P3
+   P7 -> MTS800 SW-0-2 P3
+   P8 -> MTS800 SW-0-3 P3
+
+MTS800 SW-1-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0 P4
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-0-2 P4
+   P8 -> MTS800 SW-0-3 P4
+
diff --git a/ibmgtsim/tests/4-ary-3-tree.topo b/ibmgtsim/tests/4-ary-3-tree.topo
new file mode 100644
index 0000000..dd213a5
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-3-tree.topo
@@ -0,0 +1,256 @@
+MTS800 SW-2-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-1-0-0 P1
+   P6 -> MTS800 SW-1-0-1 P1
+   P7 -> MTS800 SW-1-0-2 P1
+   P8 -> MTS800 SW-1-0-3 P1
+
+MTS800 SW-2-0-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-1-0-0 P2
+   P6 -> MTS800 SW-1-0-1 P2
+   P7 -> MTS800 SW-1-0-2 P2
+   P8 -> MTS800 SW-1-0-3 P2
+
+MTS800 SW-2-0-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-1-0-0 P3
+   P6 -> MTS800 SW-1-0-1 P3
+   P7 -> MTS800 SW-1-0-2 P3
+   P8 -> MTS800 SW-1-0-3 P3
+
+MTS800 SW-2-0-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-1-0-0 P4
+   P6 -> MTS800 SW-1-0-1 P4
+   P7 -> MTS800 SW-1-0-2 P4
+   P8 -> MTS800 SW-1-0-3 P4
+
+MTS800 SW-2-1-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> MTS800 SW-1-1-0 P1
+   P6 -> MTS800 SW-1-1-1 P1
+   P7 -> MTS800 SW-1-1-2 P1
+   P8 -> MTS800 SW-1-1-3 P1
+
+MTS800 SW-2-1-1
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> MTS800 SW-1-1-0 P2
+   P6 -> MTS800 SW-1-1-1 P2
+   P7 -> MTS800 SW-1-1-2 P2
+   P8 -> MTS800 SW-1-1-3 P2
+
+MTS800 SW-2-1-2
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> MTS800 SW-1-1-0 P3
+   P6 -> MTS800 SW-1-1-1 P3
+   P7 -> MTS800 SW-1-1-2 P3
+   P8 -> MTS800 SW-1-1-3 P3
+
+MTS800 SW-2-1-3
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> MTS800 SW-1-1-0 P4
+   P6 -> MTS800 SW-1-1-1 P4
+   P7 -> MTS800 SW-1-1-2 P4
+   P8 -> MTS800 SW-1-1-3 P4
+
+MTS800 SW-2-2-0
+   P1 -> Cougar H-33 P1
+   P2 -> Cougar H-34 P1
+   P3 -> Cougar H-35 P1
+   P4 -> Cougar H-36 P1
+   P5 -> MTS800 SW-1-2-0 P1
+   P6 -> MTS800 SW-1-2-1 P1
+   P7 -> MTS800 SW-1-2-2 P1
+   P8 -> MTS800 SW-1-2-3 P1
+
+MTS800 SW-2-2-1
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> MTS800 SW-1-2-0 P2
+   P6 -> MTS800 SW-1-2-1 P2
+   P7 -> MTS800 SW-1-2-2 P2
+   P8 -> MTS800 SW-1-2-3 P2
+
+MTS800 SW-2-2-2
+   P1 -> Cougar H-41 P1
+   P2 -> Cougar H-42 P1
+   P3 -> Cougar H-43 P1
+   P4 -> Cougar H-44 P1
+   P5 -> MTS800 SW-1-2-0 P3
+   P6 -> MTS800 SW-1-2-1 P3
+   P7 -> MTS800 SW-1-2-2 P3
+   P8 -> MTS800 SW-1-2-3 P3
+
+MTS800 SW-2-2-3
+   P1 -> Cougar H-45 P1
+   P2 -> Cougar H-46 P1
+   P3 -> Cougar H-47 P1
+   P4 -> Cougar H-48 P1
+   P5 -> MTS800 SW-1-2-0 P4
+   P6 -> MTS800 SW-1-2-1 P4
+   P7 -> MTS800 SW-1-2-2 P4
+   P8 -> MTS800 SW-1-2-3 P4
+
+MTS800 SW-2-3-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> MTS800 SW-1-3-0 P1
+   P6 -> MTS800 SW-1-3-1 P1
+   P7 -> MTS800 SW-1-3-2 P1
+   P8 -> MTS800 SW-1-3-3 P1
+
+MTS800 SW-2-3-1
+   P1 -> Cougar H-53 P1
+   P2 -> Cougar H-54 P1
+   P3 -> Cougar H-55 P1
+   P4 -> Cougar H-56 P1
+   P5 -> MTS800 SW-1-3-0 P2
+   P6 -> MTS800 SW-1-3-1 P2
+   P7 -> MTS800 SW-1-3-2 P2
+   P8 -> MTS800 SW-1-3-3 P2
+
+MTS800 SW-2-3-2
+   P1 -> Cougar H-57 P1
+   P2 -> Cougar H-58 P1
+   P3 -> Cougar H-59 P1
+   P4 -> Cougar H-60 P1
+   P5 -> MTS800 SW-1-3-0 P3
+   P6 -> MTS800 SW-1-3-1 P3
+   P7 -> MTS800 SW-1-3-2 P3
+   P8 -> MTS800 SW-1-3-3 P3
+
+MTS800 SW-2-3-3
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> MTS800 SW-1-3-0 P4
+   P6 -> MTS800 SW-1-3-1 P4
+   P7 -> MTS800 SW-1-3-2 P4
+   P8 -> MTS800 SW-1-3-3 P4
+
+MTS800 SW-1-0-0
+   P5 -> MTS800 SW-0-0-0 P1
+   P6 -> MTS800 SW-0-1-0 P1
+   P7 -> MTS800 SW-0-2-0 P1
+   P8 -> MTS800 SW-0-3-0 P1
+
+MTS800 SW-1-0-1
+   P5 -> MTS800 SW-0-0-1 P1
+   P6 -> MTS800 SW-0-1-1 P1
+   P7 -> MTS800 SW-0-2-1 P1
+   P8 -> MTS800 SW-0-3-1 P1
+
+MTS800 SW-1-0-2
+   P5 -> MTS800 SW-0-0-2 P1
+   P6 -> MTS800 SW-0-1-2 P1
+   P7 -> MTS800 SW-0-2-2 P1
+   P8 -> MTS800 SW-0-3-2 P1
+
+MTS800 SW-1-0-3
+   P5 -> MTS800 SW-0-0-3 P1
+   P6 -> MTS800 SW-0-1-3 P1
+   P7 -> MTS800 SW-0-2-3 P1
+   P8 -> MTS800 SW-0-3-3 P1
+
+MTS800 SW-1-1-0
+   P5 -> MTS800 SW-0-0-0 P2
+   P6 -> MTS800 SW-0-1-0 P2
+   P7 -> MTS800 SW-0-2-0 P2
+   P8 -> MTS800 SW-0-3-0 P2
+
+MTS800 SW-1-1-1
+   P5 -> MTS800 SW-0-0-1 P2
+   P6 -> MTS800 SW-0-1-1 P2
+   P7 -> MTS800 SW-0-2-1 P2
+   P8 -> MTS800 SW-0-3-1 P2
+
+MTS800 SW-1-1-2
+   P5 -> MTS800 SW-0-0-2 P2
+   P6 -> MTS800 SW-0-1-2 P2
+   P7 -> MTS800 SW-0-2-2 P2
+   P8 -> MTS800 SW-0-3-2 P2
+
+MTS800 SW-1-1-3
+   P5 -> MTS800 SW-0-0-3 P2
+   P6 -> MTS800 SW-0-1-3 P2
+   P7 -> MTS800 SW-0-2-3 P2
+   P8 -> MTS800 SW-0-3-3 P2
+
+MTS800 SW-1-2-0
+   P5 -> MTS800 SW-0-0-0 P3
+   P6 -> MTS800 SW-0-1-0 P3
+   P7 -> MTS800 SW-0-2-0 P3
+   P8 -> MTS800 SW-0-3-0 P3
+
+MTS800 SW-1-2-1
+   P5 -> MTS800 SW-0-0-1 P3
+   P6 -> MTS800 SW-0-1-1 P3
+   P7 -> MTS800 SW-0-2-1 P3
+   P8 -> MTS800 SW-0-3-1 P3
+
+MTS800 SW-1-2-2
+   P5 -> MTS800 SW-0-0-2 P3
+   P6 -> MTS800 SW-0-1-2 P3
+   P7 -> MTS800 SW-0-2-2 P3
+   P8 -> MTS800 SW-0-3-2 P3
+
+MTS800 SW-1-2-3
+   P5 -> MTS800 SW-0-0-3 P3
+   P6 -> MTS800 SW-0-1-3 P3
+   P7 -> MTS800 SW-0-2-3 P3
+   P8 -> MTS800 SW-0-3-3 P3
+
+MTS800 SW-1-3-0
+   P5 -> MTS800 SW-0-0-0 P4
+   P6 -> MTS800 SW-0-1-0 P4
+   P7 -> MTS800 SW-0-2-0 P4
+   P8 -> MTS800 SW-0-3-0 P4
+
+MTS800 SW-1-3-1
+   P5 -> MTS800 SW-0-0-1 P4
+   P6 -> MTS800 SW-0-1-1 P4
+   P7 -> MTS800 SW-0-2-1 P4
+   P8 -> MTS800 SW-0-3-1 P4
+
+MTS800 SW-1-3-2
+   P5 -> MTS800 SW-0-0-2 P4
+   P6 -> MTS800 SW-0-1-2 P4
+   P7 -> MTS800 SW-0-2-2 P4
+   P8 -> MTS800 SW-0-3-2 P4
+
+MTS800 SW-1-3-3
+   P5 -> MTS800 SW-0-0-3 P4
+   P6 -> MTS800 SW-0-1-3 P4
+   P7 -> MTS800 SW-0-2-3 P4
+   P8 -> MTS800 SW-0-3-3 P4
+
diff --git a/ibmgtsim/tests/4-ary-4-tree.topo b/ibmgtsim/tests/4-ary-4-tree.topo
new file mode 100644
index 0000000..19eaec6
--- /dev/null
+++ b/ibmgtsim/tests/4-ary-4-tree.topo
@@ -0,0 +1,1408 @@
+MTS800 SW-0-0-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0-0-1 P1
+   P6 -> MTS800 SW-0-0-1-1 P1
+   P7 -> MTS800 SW-0-0-2-1 P1
+   P8 -> MTS800 SW-0-0-3-1 P1
+
+MTS800 SW-0-0-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0-0-1 P2
+   P6 -> MTS800 SW-0-0-1-1 P2
+   P7 -> MTS800 SW-0-0-2-1 P2
+   P8 -> MTS800 SW-0-0-3-1 P2
+
+MTS800 SW-0-0-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0-0-1 P3
+   P6 -> MTS800 SW-0-0-1-1 P3
+   P7 -> MTS800 SW-0-0-2-1 P3
+   P8 -> MTS800 SW-0-0-3-1 P3
+
+MTS800 SW-0-0-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0-0-1 P4
+   P6 -> MTS800 SW-0-0-1-1 P4
+   P7 -> MTS800 SW-0-0-2-1 P4
+   P8 -> MTS800 SW-0-0-3-1 P4
+
+MTS800 SW-0-1-0-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> MTS800 SW-0-1-0-1 P1
+   P6 -> MTS800 SW-0-1-1-1 P1
+   P7 -> MTS800 SW-0-1-2-1 P1
+   P8 -> MTS800 SW-0-1-3-1 P1
+
+MTS800 SW-0-1-1-0
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> MTS800 SW-0-1-0-1 P2
+   P6 -> MTS800 SW-0-1-1-1 P2
+   P7 -> MTS800 SW-0-1-2-1 P2
+   P8 -> MTS800 SW-0-1-3-1 P2
+
+MTS800 SW-0-1-2-0
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> MTS800 SW-0-1-0-1 P3
+   P6 -> MTS800 SW-0-1-1-1 P3
+   P7 -> MTS800 SW-0-1-2-1 P3
+   P8 -> MTS800 SW-0-1-3-1 P3
+
+MTS800 SW-0-1-3-0
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> MTS800 SW-0-1-0-1 P4
+   P6 -> MTS800 SW-0-1-1-1 P4
+   P7 -> MTS800 SW-0-1-2-1 P4
+   P8 -> MTS800 SW-0-1-3-1 P4
+
+MTS800 SW-0-2-0-0
+   P1 -> Cougar H-33 P1
+   P2 -> Cougar H-34 P1
+   P3 -> Cougar H-35 P1
+   P4 -> Cougar H-36 P1
+   P5 -> MTS800 SW-0-2-0-1 P1
+   P6 -> MTS800 SW-0-2-1-1 P1
+   P7 -> MTS800 SW-0-2-2-1 P1
+   P8 -> MTS800 SW-0-2-3-1 P1
+
+MTS800 SW-0-2-1-0
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> MTS800 SW-0-2-0-1 P2
+   P6 -> MTS800 SW-0-2-1-1 P2
+   P7 -> MTS800 SW-0-2-2-1 P2
+   P8 -> MTS800 SW-0-2-3-1 P2
+
+MTS800 SW-0-2-2-0
+   P1 -> Cougar H-41 P1
+   P2 -> Cougar H-42 P1
+   P3 -> Cougar H-43 P1
+   P4 -> Cougar H-44 P1
+   P5 -> MTS800 SW-0-2-0-1 P3
+   P6 -> MTS800 SW-0-2-1-1 P3
+   P7 -> MTS800 SW-0-2-2-1 P3
+   P8 -> MTS800 SW-0-2-3-1 P3
+
+MTS800 SW-0-2-3-0
+   P1 -> Cougar H-45 P1
+   P2 -> Cougar H-46 P1
+   P3 -> Cougar H-47 P1
+   P4 -> Cougar H-48 P1
+   P5 -> MTS800 SW-0-2-0-1 P4
+   P6 -> MTS800 SW-0-2-1-1 P4
+   P7 -> MTS800 SW-0-2-2-1 P4
+   P8 -> MTS800 SW-0-2-3-1 P4
+
+MTS800 SW-0-3-0-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> MTS800 SW-0-3-0-1 P1
+   P6 -> MTS800 SW-0-3-1-1 P1
+   P7 -> MTS800 SW-0-3-2-1 P1
+   P8 -> MTS800 SW-0-3-3-1 P1
+
+MTS800 SW-0-3-1-0
+   P1 -> Cougar H-53 P1
+   P2 -> Cougar H-54 P1
+   P3 -> Cougar H-55 P1
+   P4 -> Cougar H-56 P1
+   P5 -> MTS800 SW-0-3-0-1 P2
+   P6 -> MTS800 SW-0-3-1-1 P2
+   P7 -> MTS800 SW-0-3-2-1 P2
+   P8 -> MTS800 SW-0-3-3-1 P2
+
+MTS800 SW-0-3-2-0
+   P1 -> Cougar H-57 P1
+   P2 -> Cougar H-58 P1
+   P3 -> Cougar H-59 P1
+   P4 -> Cougar H-60 P1
+   P5 -> MTS800 SW-0-3-0-1 P3
+   P6 -> MTS800 SW-0-3-1-1 P3
+   P7 -> MTS800 SW-0-3-2-1 P3
+   P8 -> MTS800 SW-0-3-3-1 P3
+
+MTS800 SW-0-3-3-0
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> MTS800 SW-0-3-0-1 P4
+   P6 -> MTS800 SW-0-3-1-1 P4
+   P7 -> MTS800 SW-0-3-2-1 P4
+   P8 -> MTS800 SW-0-3-3-1 P4
+
+MTS800 SW-1-0-0-0
+   P1 -> Cougar H-65 P1
+   P2 -> Cougar H-66 P1
+   P3 -> Cougar H-67 P1
+   P4 -> Cougar H-68 P1
+   P5 -> MTS800 SW-1-0-0-1 P1
+   P6 -> MTS800 SW-1-0-1-1 P1
+   P7 -> MTS800 SW-1-0-2-1 P1
+   P8 -> MTS800 SW-1-0-3-1 P1
+
+MTS800 SW-1-0-1-0
+   P1 -> Cougar H-69 P1
+   P2 -> Cougar H-70 P1
+   P3 -> Cougar H-71 P1
+   P4 -> Cougar H-72 P1
+   P5 -> MTS800 SW-1-0-0-1 P2
+   P6 -> MTS800 SW-1-0-1-1 P2
+   P7 -> MTS800 SW-1-0-2-1 P2
+   P8 -> MTS800 SW-1-0-3-1 P2
+
+MTS800 SW-1-0-2-0
+   P1 -> Cougar H-73 P1
+   P2 -> Cougar H-74 P1
+   P3 -> Cougar H-75 P1
+   P4 -> Cougar H-76 P1
+   P5 -> MTS800 SW-1-0-0-1 P3
+   P6 -> MTS800 SW-1-0-1-1 P3
+   P7 -> MTS800 SW-1-0-2-1 P3
+   P8 -> MTS800 SW-1-0-3-1 P3
+
+MTS800 SW-1-0-3-0
+   P1 -> Cougar H-77 P1
+   P2 -> Cougar H-78 P1
+   P3 -> Cougar H-79 P1
+   P4 -> Cougar H-80 P1
+   P5 -> MTS800 SW-1-0-0-1 P4
+   P6 -> MTS800 SW-1-0-1-1 P4
+   P7 -> MTS800 SW-1-0-2-1 P4
+   P8 -> MTS800 SW-1-0-3-1 P4
+
+MTS800 SW-1-1-0-0
+   P1 -> Cougar H-81 P1
+   P2 -> Cougar H-82 P1
+   P3 -> Cougar H-83 P1
+   P4 -> Cougar H-84 P1
+   P5 -> MTS800 SW-1-1-0-1 P1
+   P6 -> MTS800 SW-1-1-1-1 P1
+   P7 -> MTS800 SW-1-1-2-1 P1
+   P8 -> MTS800 SW-1-1-3-1 P1
+
+MTS800 SW-1-1-1-0
+   P1 -> Cougar H-85 P1
+   P2 -> Cougar H-86 P1
+   P3 -> Cougar H-87 P1
+   P4 -> Cougar H-88 P1
+   P5 -> MTS800 SW-1-1-0-1 P2
+   P6 -> MTS800 SW-1-1-1-1 P2
+   P7 -> MTS800 SW-1-1-2-1 P2
+   P8 -> MTS800 SW-1-1-3-1 P2
+
+MTS800 SW-1-1-2-0
+   P1 -> Cougar H-89 P1
+   P2 -> Cougar H-90 P1
+   P3 -> Cougar H-91 P1
+   P4 -> Cougar H-92 P1
+   P5 -> MTS800 SW-1-1-0-1 P3
+   P6 -> MTS800 SW-1-1-1-1 P3
+   P7 -> MTS800 SW-1-1-2-1 P3
+   P8 -> MTS800 SW-1-1-3-1 P3
+
+MTS800 SW-1-1-3-0
+   P1 -> Cougar H-93 P1
+   P2 -> Cougar H-94 P1
+   P3 -> Cougar H-95 P1
+   P4 -> Cougar H-96 P1
+   P5 -> MTS800 SW-1-1-0-1 P4
+   P6 -> MTS800 SW-1-1-1-1 P4
+   P7 -> MTS800 SW-1-1-2-1 P4
+   P8 -> MTS800 SW-1-1-3-1 P4
+
+MTS800 SW-1-2-0-0
+   P1 -> Cougar H-97 P1
+   P2 -> Cougar H-98 P1
+   P3 -> Cougar H-99 P1
+   P4 -> Cougar H-100 P1
+   P5 -> MTS800 SW-1-2-0-1 P1
+   P6 -> MTS800 SW-1-2-1-1 P1
+   P7 -> MTS800 SW-1-2-2-1 P1
+   P8 -> MTS800 SW-1-2-3-1 P1
+
+MTS800 SW-1-2-1-0
+   P1 -> Cougar H-101 P1
+   P2 -> Cougar H-102 P1
+   P3 -> Cougar H-103 P1
+   P4 -> Cougar H-104 P1
+   P5 -> MTS800 SW-1-2-0-1 P2
+   P6 -> MTS800 SW-1-2-1-1 P2
+   P7 -> MTS800 SW-1-2-2-1 P2
+   P8 -> MTS800 SW-1-2-3-1 P2
+
+MTS800 SW-1-2-2-0
+   P1 -> Cougar H-105 P1
+   P2 -> Cougar H-106 P1
+   P3 -> Cougar H-107 P1
+   P4 -> Cougar H-108 P1
+   P5 -> MTS800 SW-1-2-0-1 P3
+   P6 -> MTS800 SW-1-2-1-1 P3
+   P7 -> MTS800 SW-1-2-2-1 P3
+   P8 -> MTS800 SW-1-2-3-1 P3
+
+MTS800 SW-1-2-3-0
+   P1 -> Cougar H-109 P1
+   P2 -> Cougar H-110 P1
+   P3 -> Cougar H-111 P1
+   P4 -> Cougar H-112 P1
+   P5 -> MTS800 SW-1-2-0-1 P4
+   P6 -> MTS800 SW-1-2-1-1 P4
+   P7 -> MTS800 SW-1-2-2-1 P4
+   P8 -> MTS800 SW-1-2-3-1 P4
+
+MTS800 SW-1-3-0-0
+   P1 -> Cougar H-113 P1
+   P2 -> Cougar H-114 P1
+   P3 -> Cougar H-115 P1
+   P4 -> Cougar H-116 P1
+   P5 -> MTS800 SW-1-3-0-1 P1
+   P6 -> MTS800 SW-1-3-1-1 P1
+   P7 -> MTS800 SW-1-3-2-1 P1
+   P8 -> MTS800 SW-1-3-3-1 P1
+
+MTS800 SW-1-3-1-0
+   P1 -> Cougar H-117 P1
+   P2 -> Cougar H-118 P1
+   P3 -> Cougar H-119 P1
+   P4 -> Cougar H-120 P1
+   P5 -> MTS800 SW-1-3-0-1 P2
+   P6 -> MTS800 SW-1-3-1-1 P2
+   P7 -> MTS800 SW-1-3-2-1 P2
+   P8 -> MTS800 SW-1-3-3-1 P2
+
+MTS800 SW-1-3-2-0
+   P1 -> Cougar H-121 P1
+   P2 -> Cougar H-122 P1
+   P3 -> Cougar H-123 P1
+   P4 -> Cougar H-124 P1
+   P5 -> MTS800 SW-1-3-0-1 P3
+   P6 -> MTS800 SW-1-3-1-1 P3
+   P7 -> MTS800 SW-1-3-2-1 P3
+   P8 -> MTS800 SW-1-3-3-1 P3
+
+MTS800 SW-1-3-3-0
+   P1 -> Cougar H-125 P1
+   P2 -> Cougar H-126 P1
+   P3 -> Cougar H-127 P1
+   P4 -> Cougar H-128 P1
+   P5 -> MTS800 SW-1-3-0-1 P4
+   P6 -> MTS800 SW-1-3-1-1 P4
+   P7 -> MTS800 SW-1-3-2-1 P4
+   P8 -> MTS800 SW-1-3-3-1 P4
+
+MTS800 SW-2-0-0-0
+   P1 -> Cougar H-129 P1
+   P2 -> Cougar H-130 P1
+   P3 -> Cougar H-131 P1
+   P4 -> Cougar H-132 P1
+   P5 -> MTS800 SW-2-0-0-1 P1
+   P6 -> MTS800 SW-2-0-1-1 P1
+   P7 -> MTS800 SW-2-0-2-1 P1
+   P8 -> MTS800 SW-2-0-3-1 P1
+
+MTS800 SW-2-0-1-0
+   P1 -> Cougar H-133 P1
+   P2 -> Cougar H-134 P1
+   P3 -> Cougar H-135 P1
+   P4 -> Cougar H-136 P1
+   P5 -> MTS800 SW-2-0-0-1 P2
+   P6 -> MTS800 SW-2-0-1-1 P2
+   P7 -> MTS800 SW-2-0-2-1 P2
+   P8 -> MTS800 SW-2-0-3-1 P2
+
+MTS800 SW-2-0-2-0
+   P1 -> Cougar H-137 P1
+   P2 -> Cougar H-138 P1
+   P3 -> Cougar H-139 P1
+   P4 -> Cougar H-140 P1
+   P5 -> MTS800 SW-2-0-0-1 P3
+   P6 -> MTS800 SW-2-0-1-1 P3
+   P7 -> MTS800 SW-2-0-2-1 P3
+   P8 -> MTS800 SW-2-0-3-1 P3
+
+MTS800 SW-2-0-3-0
+   P1 -> Cougar H-141 P1
+   P2 -> Cougar H-142 P1
+   P3 -> Cougar H-143 P1
+   P4 -> Cougar H-144 P1
+   P5 -> MTS800 SW-2-0-0-1 P4
+   P6 -> MTS800 SW-2-0-1-1 P4
+   P7 -> MTS800 SW-2-0-2-1 P4
+   P8 -> MTS800 SW-2-0-3-1 P4
+
+MTS800 SW-2-1-0-0
+   P1 -> Cougar H-145 P1
+   P2 -> Cougar H-146 P1
+   P3 -> Cougar H-147 P1
+   P4 -> Cougar H-148 P1
+   P5 -> MTS800 SW-2-1-0-1 P1
+   P6 -> MTS800 SW-2-1-1-1 P1
+   P7 -> MTS800 SW-2-1-2-1 P1
+   P8 -> MTS800 SW-2-1-3-1 P1
+
+MTS800 SW-2-1-1-0
+   P1 -> Cougar H-149 P1
+   P2 -> Cougar H-150 P1
+   P3 -> Cougar H-151 P1
+   P4 -> Cougar H-152 P1
+   P5 -> MTS800 SW-2-1-0-1 P2
+   P6 -> MTS800 SW-2-1-1-1 P2
+   P7 -> MTS800 SW-2-1-2-1 P2
+   P8 -> MTS800 SW-2-1-3-1 P2
+
+MTS800 SW-2-1-2-0
+   P1 -> Cougar H-153 P1
+   P2 -> Cougar H-154 P1
+   P3 -> Cougar H-155 P1
+   P4 -> Cougar H-156 P1
+   P5 -> MTS800 SW-2-1-0-1 P3
+   P6 -> MTS800 SW-2-1-1-1 P3
+   P7 -> MTS800 SW-2-1-2-1 P3
+   P8 -> MTS800 SW-2-1-3-1 P3
+
+MTS800 SW-2-1-3-0
+   P1 -> Cougar H-157 P1
+   P2 -> Cougar H-158 P1
+   P3 -> Cougar H-159 P1
+   P4 -> Cougar H-160 P1
+   P5 -> MTS800 SW-2-1-0-1 P4
+   P6 -> MTS800 SW-2-1-1-1 P4
+   P7 -> MTS800 SW-2-1-2-1 P4
+   P8 -> MTS800 SW-2-1-3-1 P4
+
+MTS800 SW-2-2-0-0
+   P1 -> Cougar H-161 P1
+   P2 -> Cougar H-162 P1
+   P3 -> Cougar H-163 P1
+   P4 -> Cougar H-164 P1
+   P5 -> MTS800 SW-2-2-0-1 P1
+   P6 -> MTS800 SW-2-2-1-1 P1
+   P7 -> MTS800 SW-2-2-2-1 P1
+   P8 -> MTS800 SW-2-2-3-1 P1
+
+MTS800 SW-2-2-1-0
+   P1 -> Cougar H-165 P1
+   P2 -> Cougar H-166 P1
+   P3 -> Cougar H-167 P1
+   P4 -> Cougar H-168 P1
+   P5 -> MTS800 SW-2-2-0-1 P2
+   P6 -> MTS800 SW-2-2-1-1 P2
+   P7 -> MTS800 SW-2-2-2-1 P2
+   P8 -> MTS800 SW-2-2-3-1 P2
+
+MTS800 SW-2-2-2-0
+   P1 -> Cougar H-169 P1
+   P2 -> Cougar H-170 P1
+   P3 -> Cougar H-171 P1
+   P4 -> Cougar H-172 P1
+   P5 -> MTS800 SW-2-2-0-1 P3
+   P6 -> MTS800 SW-2-2-1-1 P3
+   P7 -> MTS800 SW-2-2-2-1 P3
+   P8 -> MTS800 SW-2-2-3-1 P3
+
+MTS800 SW-2-2-3-0
+   P1 -> Cougar H-173 P1
+   P2 -> Cougar H-174 P1
+   P3 -> Cougar H-175 P1
+   P4 -> Cougar H-176 P1
+   P5 -> MTS800 SW-2-2-0-1 P4
+   P6 -> MTS800 SW-2-2-1-1 P4
+   P7 -> MTS800 SW-2-2-2-1 P4
+   P8 -> MTS800 SW-2-2-3-1 P4
+
+MTS800 SW-2-3-0-0
+   P1 -> Cougar H-177 P1
+   P2 -> Cougar H-178 P1
+   P3 -> Cougar H-179 P1
+   P4 -> Cougar H-180 P1
+   P5 -> MTS800 SW-2-3-0-1 P1
+   P6 -> MTS800 SW-2-3-1-1 P1
+   P7 -> MTS800 SW-2-3-2-1 P1
+   P8 -> MTS800 SW-2-3-3-1 P1
+
+MTS800 SW-2-3-1-0
+   P1 -> Cougar H-181 P1
+   P2 -> Cougar H-182 P1
+   P3 -> Cougar H-183 P1
+   P4 -> Cougar H-184 P1
+   P5 -> MTS800 SW-2-3-0-1 P2
+   P6 -> MTS800 SW-2-3-1-1 P2
+   P7 -> MTS800 SW-2-3-2-1 P2
+   P8 -> MTS800 SW-2-3-3-1 P2
+
+MTS800 SW-2-3-2-0
+   P1 -> Cougar H-185 P1
+   P2 -> Cougar H-186 P1
+   P3 -> Cougar H-187 P1
+   P4 -> Cougar H-188 P1
+   P5 -> MTS800 SW-2-3-0-1 P3
+   P6 -> MTS800 SW-2-3-1-1 P3
+   P7 -> MTS800 SW-2-3-2-1 P3
+   P8 -> MTS800 SW-2-3-3-1 P3
+
+MTS800 SW-2-3-3-0
+   P1 -> Cougar H-189 P1
+   P2 -> Cougar H-190 P1
+   P3 -> Cougar H-191 P1
+   P4 -> Cougar H-192 P1
+   P5 -> MTS800 SW-2-3-0-1 P4
+   P6 -> MTS800 SW-2-3-1-1 P4
+   P7 -> MTS800 SW-2-3-2-1 P4
+   P8 -> MTS800 SW-2-3-3-1 P4
+
+MTS800 SW-3-0-0-0
+   P1 -> Cougar H-193 P1
+   P2 -> Cougar H-194 P1
+   P3 -> Cougar H-195 P1
+   P4 -> Cougar H-196 P1
+   P5 -> MTS800 SW-3-0-0-1 P1
+   P6 -> MTS800 SW-3-0-1-1 P1
+   P7 -> MTS800 SW-3-0-2-1 P1
+   P8 -> MTS800 SW-3-0-3-1 P1
+
+MTS800 SW-3-0-1-0
+   P1 -> Cougar H-197 P1
+   P2 -> Cougar H-198 P1
+   P3 -> Cougar H-199 P1
+   P4 -> Cougar H-200 P1
+   P5 -> MTS800 SW-3-0-0-1 P2
+   P6 -> MTS800 SW-3-0-1-1 P2
+   P7 -> MTS800 SW-3-0-2-1 P2
+   P8 -> MTS800 SW-3-0-3-1 P2
+
+MTS800 SW-3-0-2-0
+   P1 -> Cougar H-201 P1
+   P2 -> Cougar H-202 P1
+   P3 -> Cougar H-203 P1
+   P4 -> Cougar H-204 P1
+   P5 -> MTS800 SW-3-0-0-1 P3
+   P6 -> MTS800 SW-3-0-1-1 P3
+   P7 -> MTS800 SW-3-0-2-1 P3
+   P8 -> MTS800 SW-3-0-3-1 P3
+
+MTS800 SW-3-0-3-0
+   P1 -> Cougar H-205 P1
+   P2 -> Cougar H-206 P1
+   P3 -> Cougar H-207 P1
+   P4 -> Cougar H-208 P1
+   P5 -> MTS800 SW-3-0-0-1 P4
+   P6 -> MTS800 SW-3-0-1-1 P4
+   P7 -> MTS800 SW-3-0-2-1 P4
+   P8 -> MTS800 SW-3-0-3-1 P4
+
+MTS800 SW-3-1-0-0
+   P1 -> Cougar H-209 P1
+   P2 -> Cougar H-210 P1
+   P3 -> Cougar H-211 P1
+   P4 -> Cougar H-212 P1
+   P5 -> MTS800 SW-3-1-0-1 P1
+   P6 -> MTS800 SW-3-1-1-1 P1
+   P7 -> MTS800 SW-3-1-2-1 P1
+   P8 -> MTS800 SW-3-1-3-1 P1
+
+MTS800 SW-3-1-1-0
+   P1 -> Cougar H-213 P1
+   P2 -> Cougar H-214 P1
+   P3 -> Cougar H-215 P1
+   P4 -> Cougar H-216 P1
+   P5 -> MTS800 SW-3-1-0-1 P2
+   P6 -> MTS800 SW-3-1-1-1 P2
+   P7 -> MTS800 SW-3-1-2-1 P2
+   P8 -> MTS800 SW-3-1-3-1 P2
+
+MTS800 SW-3-1-2-0
+   P1 -> Cougar H-217 P1
+   P2 -> Cougar H-218 P1
+   P3 -> Cougar H-219 P1
+   P4 -> Cougar H-220 P1
+   P5 -> MTS800 SW-3-1-0-1 P3
+   P6 -> MTS800 SW-3-1-1-1 P3
+   P7 -> MTS800 SW-3-1-2-1 P3
+   P8 -> MTS800 SW-3-1-3-1 P3
+
+MTS800 SW-3-1-3-0
+   P1 -> Cougar H-221 P1
+   P2 -> Cougar H-222 P1
+   P3 -> Cougar H-223 P1
+   P4 -> Cougar H-224 P1
+   P5 -> MTS800 SW-3-1-0-1 P4
+   P6 -> MTS800 SW-3-1-1-1 P4
+   P7 -> MTS800 SW-3-1-2-1 P4
+   P8 -> MTS800 SW-3-1-3-1 P4
+
+MTS800 SW-3-2-0-0
+   P1 -> Cougar H-225 P1
+   P2 -> Cougar H-226 P1
+   P3 -> Cougar H-227 P1
+   P4 -> Cougar H-228 P1
+   P5 -> MTS800 SW-3-2-0-1 P1
+   P6 -> MTS800 SW-3-2-1-1 P1
+   P7 -> MTS800 SW-3-2-2-1 P1
+   P8 -> MTS800 SW-3-2-3-1 P1
+
+MTS800 SW-3-2-1-0
+   P1 -> Cougar H-229 P1
+   P2 -> Cougar H-230 P1
+   P3 -> Cougar H-231 P1
+   P4 -> Cougar H-232 P1
+   P5 -> MTS800 SW-3-2-0-1 P2
+   P6 -> MTS800 SW-3-2-1-1 P2
+   P7 -> MTS800 SW-3-2-2-1 P2
+   P8 -> MTS800 SW-3-2-3-1 P2
+
+MTS800 SW-3-2-2-0
+   P1 -> Cougar H-233 P1
+   P2 -> Cougar H-234 P1
+   P3 -> Cougar H-235 P1
+   P4 -> Cougar H-236 P1
+   P5 -> MTS800 SW-3-2-0-1 P3
+   P6 -> MTS800 SW-3-2-1-1 P3
+   P7 -> MTS800 SW-3-2-2-1 P3
+   P8 -> MTS800 SW-3-2-3-1 P3
+
+MTS800 SW-3-2-3-0
+   P1 -> Cougar H-237 P1
+   P2 -> Cougar H-238 P1
+   P3 -> Cougar H-239 P1
+   P4 -> Cougar H-240 P1
+   P5 -> MTS800 SW-3-2-0-1 P4
+   P6 -> MTS800 SW-3-2-1-1 P4
+   P7 -> MTS800 SW-3-2-2-1 P4
+   P8 -> MTS800 SW-3-2-3-1 P4
+
+MTS800 SW-3-3-0-0
+   P1 -> Cougar H-241 P1
+   P2 -> Cougar H-242 P1
+   P3 -> Cougar H-243 P1
+   P4 -> Cougar H-244 P1
+   P5 -> MTS800 SW-3-3-0-1 P1
+   P6 -> MTS800 SW-3-3-1-1 P1
+   P7 -> MTS800 SW-3-3-2-1 P1
+   P8 -> MTS800 SW-3-3-3-1 P1
+
+MTS800 SW-3-3-1-0
+   P1 -> Cougar H-245 P1
+   P2 -> Cougar H-246 P1
+   P3 -> Cougar H-247 P1
+   P4 -> Cougar H-248 P1
+   P5 -> MTS800 SW-3-3-0-1 P2
+   P6 -> MTS800 SW-3-3-1-1 P2
+   P7 -> MTS800 SW-3-3-2-1 P2
+   P8 -> MTS800 SW-3-3-3-1 P2
+
+MTS800 SW-3-3-2-0
+   P1 -> Cougar H-249 P1
+   P2 -> Cougar H-250 P1
+   P3 -> Cougar H-251 P1
+   P4 -> Cougar H-252 P1
+   P5 -> MTS800 SW-3-3-0-1 P3
+   P6 -> MTS800 SW-3-3-1-1 P3
+   P7 -> MTS800 SW-3-3-2-1 P3
+   P8 -> MTS800 SW-3-3-3-1 P3
+
+MTS800 SW-3-3-3-0
+   P1 -> Cougar H-253 P1
+   P2 -> Cougar H-254 P1
+   P3 -> Cougar H-255 P1
+   P4 -> Cougar H-256 P1
+   P5 -> MTS800 SW-3-3-0-1 P4
+   P6 -> MTS800 SW-3-3-1-1 P4
+   P7 -> MTS800 SW-3-3-2-1 P4
+   P8 -> MTS800 SW-3-3-3-1 P4
+
+MTS800 SW-0-0-0-1
+   P5 -> MTS800 SW-0-0-0-2 P1
+   P6 -> MTS800 SW-0-1-0-2 P1
+   P7 -> MTS800 SW-0-2-0-2 P1
+   P8 -> MTS800 SW-0-3-0-2 P1
+
+MTS800 SW-0-0-1-1
+   P5 -> MTS800 SW-0-0-1-2 P1
+   P6 -> MTS800 SW-0-1-1-2 P1
+   P7 -> MTS800 SW-0-2-1-2 P1
+   P8 -> MTS800 SW-0-3-1-2 P1
+
+MTS800 SW-0-0-2-1
+   P5 -> MTS800 SW-0-0-2-2 P1
+   P6 -> MTS800 SW-0-1-2-2 P1
+   P7 -> MTS800 SW-0-2-2-2 P1
+   P8 -> MTS800 SW-0-3-2-2 P1
+
+MTS800 SW-0-0-3-1
+   P5 -> MTS800 SW-0-0-3-2 P1
+   P6 -> MTS800 SW-0-1-3-2 P1
+   P7 -> MTS800 SW-0-2-3-2 P1
+   P8 -> MTS800 SW-0-3-3-2 P1
+
+MTS800 SW-0-1-0-1
+   P5 -> MTS800 SW-0-0-0-2 P2
+   P6 -> MTS800 SW-0-1-0-2 P2
+   P7 -> MTS800 SW-0-2-0-2 P2
+   P8 -> MTS800 SW-0-3-0-2 P2
+
+MTS800 SW-0-1-1-1
+   P5 -> MTS800 SW-0-0-1-2 P2
+   P6 -> MTS800 SW-0-1-1-2 P2
+   P7 -> MTS800 SW-0-2-1-2 P2
+   P8 -> MTS800 SW-0-3-1-2 P2
+
+MTS800 SW-0-1-2-1
+   P5 -> MTS800 SW-0-0-2-2 P2
+   P6 -> MTS800 SW-0-1-2-2 P2
+   P7 -> MTS800 SW-0-2-2-2 P2
+   P8 -> MTS800 SW-0-3-2-2 P2
+
+MTS800 SW-0-1-3-1
+   P5 -> MTS800 SW-0-0-3-2 P2
+   P6 -> MTS800 SW-0-1-3-2 P2
+   P7 -> MTS800 SW-0-2-3-2 P2
+   P8 -> MTS800 SW-0-3-3-2 P2
+
+MTS800 SW-0-2-0-1
+   P5 -> MTS800 SW-0-0-0-2 P3
+   P6 -> MTS800 SW-0-1-0-2 P3
+   P7 -> MTS800 SW-0-2-0-2 P3
+   P8 -> MTS800 SW-0-3-0-2 P3
+
+MTS800 SW-0-2-1-1
+   P5 -> MTS800 SW-0-0-1-2 P3
+   P6 -> MTS800 SW-0-1-1-2 P3
+   P7 -> MTS800 SW-0-2-1-2 P3
+   P8 -> MTS800 SW-0-3-1-2 P3
+
+MTS800 SW-0-2-2-1
+   P5 -> MTS800 SW-0-0-2-2 P3
+   P6 -> MTS800 SW-0-1-2-2 P3
+   P7 -> MTS800 SW-0-2-2-2 P3
+   P8 -> MTS800 SW-0-3-2-2 P3
+
+MTS800 SW-0-2-3-1
+   P5 -> MTS800 SW-0-0-3-2 P3
+   P6 -> MTS800 SW-0-1-3-2 P3
+   P7 -> MTS800 SW-0-2-3-2 P3
+   P8 -> MTS800 SW-0-3-3-2 P3
+
+MTS800 SW-0-3-0-1
+   P5 -> MTS800 SW-0-0-0-2 P4
+   P6 -> MTS800 SW-0-1-0-2 P4
+   P7 -> MTS800 SW-0-2-0-2 P4
+   P8 -> MTS800 SW-0-3-0-2 P4
+
+MTS800 SW-0-3-1-1
+   P5 -> MTS800 SW-0-0-1-2 P4
+   P6 -> MTS800 SW-0-1-1-2 P4
+   P7 -> MTS800 SW-0-2-1-2 P4
+   P8 -> MTS800 SW-0-3-1-2 P4
+
+MTS800 SW-0-3-2-1
+   P5 -> MTS800 SW-0-0-2-2 P4
+   P6 -> MTS800 SW-0-1-2-2 P4
+   P7 -> MTS800 SW-0-2-2-2 P4
+   P8 -> MTS800 SW-0-3-2-2 P4
+
+MTS800 SW-0-3-3-1
+   P5 -> MTS800 SW-0-0-3-2 P4
+   P6 -> MTS800 SW-0-1-3-2 P4
+   P7 -> MTS800 SW-0-2-3-2 P4
+   P8 -> MTS800 SW-0-3-3-2 P4
+
+MTS800 SW-1-0-0-1
+   P5 -> MTS800 SW-1-0-0-2 P1
+   P6 -> MTS800 SW-1-1-0-2 P1
+   P7 -> MTS800 SW-1-2-0-2 P1
+   P8 -> MTS800 SW-1-3-0-2 P1
+
+MTS800 SW-1-0-1-1
+   P5 -> MTS800 SW-1-0-1-2 P1
+   P6 -> MTS800 SW-1-1-1-2 P1
+   P7 -> MTS800 SW-1-2-1-2 P1
+   P8 -> MTS800 SW-1-3-1-2 P1
+
+MTS800 SW-1-0-2-1
+   P5 -> MTS800 SW-1-0-2-2 P1
+   P6 -> MTS800 SW-1-1-2-2 P1
+   P7 -> MTS800 SW-1-2-2-2 P1
+   P8 -> MTS800 SW-1-3-2-2 P1
+
+MTS800 SW-1-0-3-1
+   P5 -> MTS800 SW-1-0-3-2 P1
+   P6 -> MTS800 SW-1-1-3-2 P1
+   P7 -> MTS800 SW-1-2-3-2 P1
+   P8 -> MTS800 SW-1-3-3-2 P1
+
+MTS800 SW-1-1-0-1
+   P5 -> MTS800 SW-1-0-0-2 P2
+   P6 -> MTS800 SW-1-1-0-2 P2
+   P7 -> MTS800 SW-1-2-0-2 P2
+   P8 -> MTS800 SW-1-3-0-2 P2
+
+MTS800 SW-1-1-1-1
+   P5 -> MTS800 SW-1-0-1-2 P2
+   P6 -> MTS800 SW-1-1-1-2 P2
+   P7 -> MTS800 SW-1-2-1-2 P2
+   P8 -> MTS800 SW-1-3-1-2 P2
+
+MTS800 SW-1-1-2-1
+   P5 -> MTS800 SW-1-0-2-2 P2
+   P6 -> MTS800 SW-1-1-2-2 P2
+   P7 -> MTS800 SW-1-2-2-2 P2
+   P8 -> MTS800 SW-1-3-2-2 P2
+
+MTS800 SW-1-1-3-1
+   P5 -> MTS800 SW-1-0-3-2 P2
+   P6 -> MTS800 SW-1-1-3-2 P2
+   P7 -> MTS800 SW-1-2-3-2 P2
+   P8 -> MTS800 SW-1-3-3-2 P2
+
+MTS800 SW-1-2-0-1
+   P5 -> MTS800 SW-1-0-0-2 P3
+   P6 -> MTS800 SW-1-1-0-2 P3
+   P7 -> MTS800 SW-1-2-0-2 P3
+   P8 -> MTS800 SW-1-3-0-2 P3
+
+MTS800 SW-1-2-1-1
+   P5 -> MTS800 SW-1-0-1-2 P3
+   P6 -> MTS800 SW-1-1-1-2 P3
+   P7 -> MTS800 SW-1-2-1-2 P3
+   P8 -> MTS800 SW-1-3-1-2 P3
+
+MTS800 SW-1-2-2-1
+   P5 -> MTS800 SW-1-0-2-2 P3
+   P6 -> MTS800 SW-1-1-2-2 P3
+   P7 -> MTS800 SW-1-2-2-2 P3
+   P8 -> MTS800 SW-1-3-2-2 P3
+
+MTS800 SW-1-2-3-1
+   P5 -> MTS800 SW-1-0-3-2 P3
+   P6 -> MTS800 SW-1-1-3-2 P3
+   P7 -> MTS800 SW-1-2-3-2 P3
+   P8 -> MTS800 SW-1-3-3-2 P3
+
+MTS800 SW-1-3-0-1
+   P5 -> MTS800 SW-1-0-0-2 P4
+   P6 -> MTS800 SW-1-1-0-2 P4
+   P7 -> MTS800 SW-1-2-0-2 P4
+   P8 -> MTS800 SW-1-3-0-2 P4
+
+MTS800 SW-1-3-1-1
+   P5 -> MTS800 SW-1-0-1-2 P4
+   P6 -> MTS800 SW-1-1-1-2 P4
+   P7 -> MTS800 SW-1-2-1-2 P4
+   P8 -> MTS800 SW-1-3-1-2 P4
+
+MTS800 SW-1-3-2-1
+   P5 -> MTS800 SW-1-0-2-2 P4
+   P6 -> MTS800 SW-1-1-2-2 P4
+   P7 -> MTS800 SW-1-2-2-2 P4
+   P8 -> MTS800 SW-1-3-2-2 P4
+
+MTS800 SW-1-3-3-1
+   P5 -> MTS800 SW-1-0-3-2 P4
+   P6 -> MTS800 SW-1-1-3-2 P4
+   P7 -> MTS800 SW-1-2-3-2 P4
+   P8 -> MTS800 SW-1-3-3-2 P4
+
+MTS800 SW-2-0-0-1
+   P5 -> MTS800 SW-2-0-0-2 P1
+   P6 -> MTS800 SW-2-1-0-2 P1
+   P7 -> MTS800 SW-2-2-0-2 P1
+   P8 -> MTS800 SW-2-3-0-2 P1
+
+MTS800 SW-2-0-1-1
+   P5 -> MTS800 SW-2-0-1-2 P1
+   P6 -> MTS800 SW-2-1-1-2 P1
+   P7 -> MTS800 SW-2-2-1-2 P1
+   P8 -> MTS800 SW-2-3-1-2 P1
+
+MTS800 SW-2-0-2-1
+   P5 -> MTS800 SW-2-0-2-2 P1
+   P6 -> MTS800 SW-2-1-2-2 P1
+   P7 -> MTS800 SW-2-2-2-2 P1
+   P8 -> MTS800 SW-2-3-2-2 P1
+
+MTS800 SW-2-0-3-1
+   P5 -> MTS800 SW-2-0-3-2 P1
+   P6 -> MTS800 SW-2-1-3-2 P1
+   P7 -> MTS800 SW-2-2-3-2 P1
+   P8 -> MTS800 SW-2-3-3-2 P1
+
+MTS800 SW-2-1-0-1
+   P5 -> MTS800 SW-2-0-0-2 P2
+   P6 -> MTS800 SW-2-1-0-2 P2
+   P7 -> MTS800 SW-2-2-0-2 P2
+   P8 -> MTS800 SW-2-3-0-2 P2
+
+MTS800 SW-2-1-1-1
+   P5 -> MTS800 SW-2-0-1-2 P2
+   P6 -> MTS800 SW-2-1-1-2 P2
+   P7 -> MTS800 SW-2-2-1-2 P2
+   P8 -> MTS800 SW-2-3-1-2 P2
+
+MTS800 SW-2-1-2-1
+   P5 -> MTS800 SW-2-0-2-2 P2
+   P6 -> MTS800 SW-2-1-2-2 P2
+   P7 -> MTS800 SW-2-2-2-2 P2
+   P8 -> MTS800 SW-2-3-2-2 P2
+
+MTS800 SW-2-1-3-1
+   P5 -> MTS800 SW-2-0-3-2 P2
+   P6 -> MTS800 SW-2-1-3-2 P2
+   P7 -> MTS800 SW-2-2-3-2 P2
+   P8 -> MTS800 SW-2-3-3-2 P2
+
+MTS800 SW-2-2-0-1
+   P5 -> MTS800 SW-2-0-0-2 P3
+   P6 -> MTS800 SW-2-1-0-2 P3
+   P7 -> MTS800 SW-2-2-0-2 P3
+   P8 -> MTS800 SW-2-3-0-2 P3
+
+MTS800 SW-2-2-1-1
+   P5 -> MTS800 SW-2-0-1-2 P3
+   P6 -> MTS800 SW-2-1-1-2 P3
+   P7 -> MTS800 SW-2-2-1-2 P3
+   P8 -> MTS800 SW-2-3-1-2 P3
+
+MTS800 SW-2-2-2-1
+   P5 -> MTS800 SW-2-0-2-2 P3
+   P6 -> MTS800 SW-2-1-2-2 P3
+   P7 -> MTS800 SW-2-2-2-2 P3
+   P8 -> MTS800 SW-2-3-2-2 P3
+
+MTS800 SW-2-2-3-1
+   P5 -> MTS800 SW-2-0-3-2 P3
+   P6 -> MTS800 SW-2-1-3-2 P3
+   P7 -> MTS800 SW-2-2-3-2 P3
+   P8 -> MTS800 SW-2-3-3-2 P3
+
+MTS800 SW-2-3-0-1
+   P5 -> MTS800 SW-2-0-0-2 P4
+   P6 -> MTS800 SW-2-1-0-2 P4
+   P7 -> MTS800 SW-2-2-0-2 P4
+   P8 -> MTS800 SW-2-3-0-2 P4
+
+MTS800 SW-2-3-1-1
+   P5 -> MTS800 SW-2-0-1-2 P4
+   P6 -> MTS800 SW-2-1-1-2 P4
+   P7 -> MTS800 SW-2-2-1-2 P4
+   P8 -> MTS800 SW-2-3-1-2 P4
+
+MTS800 SW-2-3-2-1
+   P5 -> MTS800 SW-2-0-2-2 P4
+   P6 -> MTS800 SW-2-1-2-2 P4
+   P7 -> MTS800 SW-2-2-2-2 P4
+   P8 -> MTS800 SW-2-3-2-2 P4
+
+MTS800 SW-2-3-3-1
+   P5 -> MTS800 SW-2-0-3-2 P4
+   P6 -> MTS800 SW-2-1-3-2 P4
+   P7 -> MTS800 SW-2-2-3-2 P4
+   P8 -> MTS800 SW-2-3-3-2 P4
+
+MTS800 SW-3-0-0-1
+   P5 -> MTS800 SW-3-0-0-2 P1
+   P6 -> MTS800 SW-3-1-0-2 P1
+   P7 -> MTS800 SW-3-2-0-2 P1
+   P8 -> MTS800 SW-3-3-0-2 P1
+
+MTS800 SW-3-0-1-1
+   P5 -> MTS800 SW-3-0-1-2 P1
+   P6 -> MTS800 SW-3-1-1-2 P1
+   P7 -> MTS800 SW-3-2-1-2 P1
+   P8 -> MTS800 SW-3-3-1-2 P1
+
+MTS800 SW-3-0-2-1
+   P5 -> MTS800 SW-3-0-2-2 P1
+   P6 -> MTS800 SW-3-1-2-2 P1
+   P7 -> MTS800 SW-3-2-2-2 P1
+   P8 -> MTS800 SW-3-3-2-2 P1
+
+MTS800 SW-3-0-3-1
+   P5 -> MTS800 SW-3-0-3-2 P1
+   P6 -> MTS800 SW-3-1-3-2 P1
+   P7 -> MTS800 SW-3-2-3-2 P1
+   P8 -> MTS800 SW-3-3-3-2 P1
+
+MTS800 SW-3-1-0-1
+   P5 -> MTS800 SW-3-0-0-2 P2
+   P6 -> MTS800 SW-3-1-0-2 P2
+   P7 -> MTS800 SW-3-2-0-2 P2
+   P8 -> MTS800 SW-3-3-0-2 P2
+
+MTS800 SW-3-1-1-1
+   P5 -> MTS800 SW-3-0-1-2 P2
+   P6 -> MTS800 SW-3-1-1-2 P2
+   P7 -> MTS800 SW-3-2-1-2 P2
+   P8 -> MTS800 SW-3-3-1-2 P2
+
+MTS800 SW-3-1-2-1
+   P5 -> MTS800 SW-3-0-2-2 P2
+   P6 -> MTS800 SW-3-1-2-2 P2
+   P7 -> MTS800 SW-3-2-2-2 P2
+   P8 -> MTS800 SW-3-3-2-2 P2
+
+MTS800 SW-3-1-3-1
+   P5 -> MTS800 SW-3-0-3-2 P2
+   P6 -> MTS800 SW-3-1-3-2 P2
+   P7 -> MTS800 SW-3-2-3-2 P2
+   P8 -> MTS800 SW-3-3-3-2 P2
+
+MTS800 SW-3-2-0-1
+   P5 -> MTS800 SW-3-0-0-2 P3
+   P6 -> MTS800 SW-3-1-0-2 P3
+   P7 -> MTS800 SW-3-2-0-2 P3
+   P8 -> MTS800 SW-3-3-0-2 P3
+
+MTS800 SW-3-2-1-1
+   P5 -> MTS800 SW-3-0-1-2 P3
+   P6 -> MTS800 SW-3-1-1-2 P3
+   P7 -> MTS800 SW-3-2-1-2 P3
+   P8 -> MTS800 SW-3-3-1-2 P3
+
+MTS800 SW-3-2-2-1
+   P5 -> MTS800 SW-3-0-2-2 P3
+   P6 -> MTS800 SW-3-1-2-2 P3
+   P7 -> MTS800 SW-3-2-2-2 P3
+   P8 -> MTS800 SW-3-3-2-2 P3
+
+MTS800 SW-3-2-3-1
+   P5 -> MTS800 SW-3-0-3-2 P3
+   P6 -> MTS800 SW-3-1-3-2 P3
+   P7 -> MTS800 SW-3-2-3-2 P3
+   P8 -> MTS800 SW-3-3-3-2 P3
+
+MTS800 SW-3-3-0-1
+   P5 -> MTS800 SW-3-0-0-2 P4
+   P6 -> MTS800 SW-3-1-0-2 P4
+   P7 -> MTS800 SW-3-2-0-2 P4
+   P8 -> MTS800 SW-3-3-0-2 P4
+
+MTS800 SW-3-3-1-1
+   P5 -> MTS800 SW-3-0-1-2 P4
+   P6 -> MTS800 SW-3-1-1-2 P4
+   P7 -> MTS800 SW-3-2-1-2 P4
+   P8 -> MTS800 SW-3-3-1-2 P4
+
+MTS800 SW-3-3-2-1
+   P5 -> MTS800 SW-3-0-2-2 P4
+   P6 -> MTS800 SW-3-1-2-2 P4
+   P7 -> MTS800 SW-3-2-2-2 P4
+   P8 -> MTS800 SW-3-3-2-2 P4
+
+MTS800 SW-3-3-3-1
+   P5 -> MTS800 SW-3-0-3-2 P4
+   P6 -> MTS800 SW-3-1-3-2 P4
+   P7 -> MTS800 SW-3-2-3-2 P4
+   P8 -> MTS800 SW-3-3-3-2 P4
+
+MTS800 SW-0-0-0-2
+   P5 -> MTS800 SW-0-0-0-3 P1
+   P6 -> MTS800 SW-1-0-0-3 P1
+   P7 -> MTS800 SW-2-0-0-3 P1
+   P8 -> MTS800 SW-3-0-0-3 P1
+
+MTS800 SW-0-0-1-2
+   P5 -> MTS800 SW-0-0-1-3 P1
+   P6 -> MTS800 SW-1-0-1-3 P1
+   P7 -> MTS800 SW-2-0-1-3 P1
+   P8 -> MTS800 SW-3-0-1-3 P1
+
+MTS800 SW-0-0-2-2
+   P5 -> MTS800 SW-0-0-2-3 P1
+   P6 -> MTS800 SW-1-0-2-3 P1
+   P7 -> MTS800 SW-2-0-2-3 P1
+   P8 -> MTS800 SW-3-0-2-3 P1
+
+MTS800 SW-0-0-3-2
+   P5 -> MTS800 SW-0-0-3-3 P1
+   P6 -> MTS800 SW-1-0-3-3 P1
+   P7 -> MTS800 SW-2-0-3-3 P1
+   P8 -> MTS800 SW-3-0-3-3 P1
+
+MTS800 SW-0-1-0-2
+   P5 -> MTS800 SW-0-1-0-3 P1
+   P6 -> MTS800 SW-1-1-0-3 P1
+   P7 -> MTS800 SW-2-1-0-3 P1
+   P8 -> MTS800 SW-3-1-0-3 P1
+
+MTS800 SW-0-1-1-2
+   P5 -> MTS800 SW-0-1-1-3 P1
+   P6 -> MTS800 SW-1-1-1-3 P1
+   P7 -> MTS800 SW-2-1-1-3 P1
+   P8 -> MTS800 SW-3-1-1-3 P1
+
+MTS800 SW-0-1-2-2
+   P5 -> MTS800 SW-0-1-2-3 P1
+   P6 -> MTS800 SW-1-1-2-3 P1
+   P7 -> MTS800 SW-2-1-2-3 P1
+   P8 -> MTS800 SW-3-1-2-3 P1
+
+MTS800 SW-0-1-3-2
+   P5 -> MTS800 SW-0-1-3-3 P1
+   P6 -> MTS800 SW-1-1-3-3 P1
+   P7 -> MTS800 SW-2-1-3-3 P1
+   P8 -> MTS800 SW-3-1-3-3 P1
+
+MTS800 SW-0-2-0-2
+   P5 -> MTS800 SW-0-2-0-3 P1
+   P6 -> MTS800 SW-1-2-0-3 P1
+   P7 -> MTS800 SW-2-2-0-3 P1
+   P8 -> MTS800 SW-3-2-0-3 P1
+
+MTS800 SW-0-2-1-2
+   P5 -> MTS800 SW-0-2-1-3 P1
+   P6 -> MTS800 SW-1-2-1-3 P1
+   P7 -> MTS800 SW-2-2-1-3 P1
+   P8 -> MTS800 SW-3-2-1-3 P1
+
+MTS800 SW-0-2-2-2
+   P5 -> MTS800 SW-0-2-2-3 P1
+   P6 -> MTS800 SW-1-2-2-3 P1
+   P7 -> MTS800 SW-2-2-2-3 P1
+   P8 -> MTS800 SW-3-2-2-3 P1
+
+MTS800 SW-0-2-3-2
+   P5 -> MTS800 SW-0-2-3-3 P1
+   P6 -> MTS800 SW-1-2-3-3 P1
+   P7 -> MTS800 SW-2-2-3-3 P1
+   P8 -> MTS800 SW-3-2-3-3 P1
+
+MTS800 SW-0-3-0-2
+   P5 -> MTS800 SW-0-3-0-3 P1
+   P6 -> MTS800 SW-1-3-0-3 P1
+   P7 -> MTS800 SW-2-3-0-3 P1
+   P8 -> MTS800 SW-3-3-0-3 P1
+
+MTS800 SW-0-3-1-2
+   P5 -> MTS800 SW-0-3-1-3 P1
+   P6 -> MTS800 SW-1-3-1-3 P1
+   P7 -> MTS800 SW-2-3-1-3 P1
+   P8 -> MTS800 SW-3-3-1-3 P1
+
+MTS800 SW-0-3-2-2
+   P5 -> MTS800 SW-0-3-2-3 P1
+   P6 -> MTS800 SW-1-3-2-3 P1
+   P7 -> MTS800 SW-2-3-2-3 P1
+   P8 -> MTS800 SW-3-3-2-3 P1
+
+MTS800 SW-0-3-3-2
+   P5 -> MTS800 SW-0-3-3-3 P1
+   P6 -> MTS800 SW-1-3-3-3 P1
+   P7 -> MTS800 SW-2-3-3-3 P1
+   P8 -> MTS800 SW-3-3-3-3 P1
+
+MTS800 SW-1-0-0-2
+   P5 -> MTS800 SW-0-0-0-3 P2
+   P6 -> MTS800 SW-1-0-0-3 P2
+   P7 -> MTS800 SW-2-0-0-3 P2
+   P8 -> MTS800 SW-3-0-0-3 P2
+
+MTS800 SW-1-0-1-2
+   P5 -> MTS800 SW-0-0-1-3 P2
+   P6 -> MTS800 SW-1-0-1-3 P2
+   P7 -> MTS800 SW-2-0-1-3 P2
+   P8 -> MTS800 SW-3-0-1-3 P2
+
+MTS800 SW-1-0-2-2
+   P5 -> MTS800 SW-0-0-2-3 P2
+   P6 -> MTS800 SW-1-0-2-3 P2
+   P7 -> MTS800 SW-2-0-2-3 P2
+   P8 -> MTS800 SW-3-0-2-3 P2
+
+MTS800 SW-1-0-3-2
+   P5 -> MTS800 SW-0-0-3-3 P2
+   P6 -> MTS800 SW-1-0-3-3 P2
+   P7 -> MTS800 SW-2-0-3-3 P2
+   P8 -> MTS800 SW-3-0-3-3 P2
+
+MTS800 SW-1-1-0-2
+   P5 -> MTS800 SW-0-1-0-3 P2
+   P6 -> MTS800 SW-1-1-0-3 P2
+   P7 -> MTS800 SW-2-1-0-3 P2
+   P8 -> MTS800 SW-3-1-0-3 P2
+
+MTS800 SW-1-1-1-2
+   P5 -> MTS800 SW-0-1-1-3 P2
+   P6 -> MTS800 SW-1-1-1-3 P2
+   P7 -> MTS800 SW-2-1-1-3 P2
+   P8 -> MTS800 SW-3-1-1-3 P2
+
+MTS800 SW-1-1-2-2
+   P5 -> MTS800 SW-0-1-2-3 P2
+   P6 -> MTS800 SW-1-1-2-3 P2
+   P7 -> MTS800 SW-2-1-2-3 P2
+   P8 -> MTS800 SW-3-1-2-3 P2
+
+MTS800 SW-1-1-3-2
+   P5 -> MTS800 SW-0-1-3-3 P2
+   P6 -> MTS800 SW-1-1-3-3 P2
+   P7 -> MTS800 SW-2-1-3-3 P2
+   P8 -> MTS800 SW-3-1-3-3 P2
+
+MTS800 SW-1-2-0-2
+   P5 -> MTS800 SW-0-2-0-3 P2
+   P6 -> MTS800 SW-1-2-0-3 P2
+   P7 -> MTS800 SW-2-2-0-3 P2
+   P8 -> MTS800 SW-3-2-0-3 P2
+
+MTS800 SW-1-2-1-2
+   P5 -> MTS800 SW-0-2-1-3 P2
+   P6 -> MTS800 SW-1-2-1-3 P2
+   P7 -> MTS800 SW-2-2-1-3 P2
+   P8 -> MTS800 SW-3-2-1-3 P2
+
+MTS800 SW-1-2-2-2
+   P5 -> MTS800 SW-0-2-2-3 P2
+   P6 -> MTS800 SW-1-2-2-3 P2
+   P7 -> MTS800 SW-2-2-2-3 P2
+   P8 -> MTS800 SW-3-2-2-3 P2
+
+MTS800 SW-1-2-3-2
+   P5 -> MTS800 SW-0-2-3-3 P2
+   P6 -> MTS800 SW-1-2-3-3 P2
+   P7 -> MTS800 SW-2-2-3-3 P2
+   P8 -> MTS800 SW-3-2-3-3 P2
+
+MTS800 SW-1-3-0-2
+   P5 -> MTS800 SW-0-3-0-3 P2
+   P6 -> MTS800 SW-1-3-0-3 P2
+   P7 -> MTS800 SW-2-3-0-3 P2
+   P8 -> MTS800 SW-3-3-0-3 P2
+
+MTS800 SW-1-3-1-2
+   P5 -> MTS800 SW-0-3-1-3 P2
+   P6 -> MTS800 SW-1-3-1-3 P2
+   P7 -> MTS800 SW-2-3-1-3 P2
+   P8 -> MTS800 SW-3-3-1-3 P2
+
+MTS800 SW-1-3-2-2
+   P5 -> MTS800 SW-0-3-2-3 P2
+   P6 -> MTS800 SW-1-3-2-3 P2
+   P7 -> MTS800 SW-2-3-2-3 P2
+   P8 -> MTS800 SW-3-3-2-3 P2
+
+MTS800 SW-1-3-3-2
+   P5 -> MTS800 SW-0-3-3-3 P2
+   P6 -> MTS800 SW-1-3-3-3 P2
+   P7 -> MTS800 SW-2-3-3-3 P2
+   P8 -> MTS800 SW-3-3-3-3 P2
+
+MTS800 SW-2-0-0-2
+   P5 -> MTS800 SW-0-0-0-3 P3
+   P6 -> MTS800 SW-1-0-0-3 P3
+   P7 -> MTS800 SW-2-0-0-3 P3
+   P8 -> MTS800 SW-3-0-0-3 P3
+
+MTS800 SW-2-0-1-2
+   P5 -> MTS800 SW-0-0-1-3 P3
+   P6 -> MTS800 SW-1-0-1-3 P3
+   P7 -> MTS800 SW-2-0-1-3 P3
+   P8 -> MTS800 SW-3-0-1-3 P3
+
+MTS800 SW-2-0-2-2
+   P5 -> MTS800 SW-0-0-2-3 P3
+   P6 -> MTS800 SW-1-0-2-3 P3
+   P7 -> MTS800 SW-2-0-2-3 P3
+   P8 -> MTS800 SW-3-0-2-3 P3
+
+MTS800 SW-2-0-3-2
+   P5 -> MTS800 SW-0-0-3-3 P3
+   P6 -> MTS800 SW-1-0-3-3 P3
+   P7 -> MTS800 SW-2-0-3-3 P3
+   P8 -> MTS800 SW-3-0-3-3 P3
+
+MTS800 SW-2-1-0-2
+   P5 -> MTS800 SW-0-1-0-3 P3
+   P6 -> MTS800 SW-1-1-0-3 P3
+   P7 -> MTS800 SW-2-1-0-3 P3
+   P8 -> MTS800 SW-3-1-0-3 P3
+
+MTS800 SW-2-1-1-2
+   P5 -> MTS800 SW-0-1-1-3 P3
+   P6 -> MTS800 SW-1-1-1-3 P3
+   P7 -> MTS800 SW-2-1-1-3 P3
+   P8 -> MTS800 SW-3-1-1-3 P3
+
+MTS800 SW-2-1-2-2
+   P5 -> MTS800 SW-0-1-2-3 P3
+   P6 -> MTS800 SW-1-1-2-3 P3
+   P7 -> MTS800 SW-2-1-2-3 P3
+   P8 -> MTS800 SW-3-1-2-3 P3
+
+MTS800 SW-2-1-3-2
+   P5 -> MTS800 SW-0-1-3-3 P3
+   P6 -> MTS800 SW-1-1-3-3 P3
+   P7 -> MTS800 SW-2-1-3-3 P3
+   P8 -> MTS800 SW-3-1-3-3 P3
+
+MTS800 SW-2-2-0-2
+   P5 -> MTS800 SW-0-2-0-3 P3
+   P6 -> MTS800 SW-1-2-0-3 P3
+   P7 -> MTS800 SW-2-2-0-3 P3
+   P8 -> MTS800 SW-3-2-0-3 P3
+
+MTS800 SW-2-2-1-2
+   P5 -> MTS800 SW-0-2-1-3 P3
+   P6 -> MTS800 SW-1-2-1-3 P3
+   P7 -> MTS800 SW-2-2-1-3 P3
+   P8 -> MTS800 SW-3-2-1-3 P3
+
+MTS800 SW-2-2-2-2
+   P5 -> MTS800 SW-0-2-2-3 P3
+   P6 -> MTS800 SW-1-2-2-3 P3
+   P7 -> MTS800 SW-2-2-2-3 P3
+   P8 -> MTS800 SW-3-2-2-3 P3
+
+MTS800 SW-2-2-3-2
+   P5 -> MTS800 SW-0-2-3-3 P3
+   P6 -> MTS800 SW-1-2-3-3 P3
+   P7 -> MTS800 SW-2-2-3-3 P3
+   P8 -> MTS800 SW-3-2-3-3 P3
+
+MTS800 SW-2-3-0-2
+   P5 -> MTS800 SW-0-3-0-3 P3
+   P6 -> MTS800 SW-1-3-0-3 P3
+   P7 -> MTS800 SW-2-3-0-3 P3
+   P8 -> MTS800 SW-3-3-0-3 P3
+
+MTS800 SW-2-3-1-2
+   P5 -> MTS800 SW-0-3-1-3 P3
+   P6 -> MTS800 SW-1-3-1-3 P3
+   P7 -> MTS800 SW-2-3-1-3 P3
+   P8 -> MTS800 SW-3-3-1-3 P3
+
+MTS800 SW-2-3-2-2
+   P5 -> MTS800 SW-0-3-2-3 P3
+   P6 -> MTS800 SW-1-3-2-3 P3
+   P7 -> MTS800 SW-2-3-2-3 P3
+   P8 -> MTS800 SW-3-3-2-3 P3
+
+MTS800 SW-2-3-3-2
+   P5 -> MTS800 SW-0-3-3-3 P3
+   P6 -> MTS800 SW-1-3-3-3 P3
+   P7 -> MTS800 SW-2-3-3-3 P3
+   P8 -> MTS800 SW-3-3-3-3 P3
+
+MTS800 SW-3-0-0-2
+   P5 -> MTS800 SW-0-0-0-3 P4
+   P6 -> MTS800 SW-1-0-0-3 P4
+   P7 -> MTS800 SW-2-0-0-3 P4
+   P8 -> MTS800 SW-3-0-0-3 P4
+
+MTS800 SW-3-0-1-2
+   P5 -> MTS800 SW-0-0-1-3 P4
+   P6 -> MTS800 SW-1-0-1-3 P4
+   P7 -> MTS800 SW-2-0-1-3 P4
+   P8 -> MTS800 SW-3-0-1-3 P4
+
+MTS800 SW-3-0-2-2
+   P5 -> MTS800 SW-0-0-2-3 P4
+   P6 -> MTS800 SW-1-0-2-3 P4
+   P7 -> MTS800 SW-2-0-2-3 P4
+   P8 -> MTS800 SW-3-0-2-3 P4
+
+MTS800 SW-3-0-3-2
+   P5 -> MTS800 SW-0-0-3-3 P4
+   P6 -> MTS800 SW-1-0-3-3 P4
+   P7 -> MTS800 SW-2-0-3-3 P4
+   P8 -> MTS800 SW-3-0-3-3 P4
+
+MTS800 SW-3-1-0-2
+   P5 -> MTS800 SW-0-1-0-3 P4
+   P6 -> MTS800 SW-1-1-0-3 P4
+   P7 -> MTS800 SW-2-1-0-3 P4
+   P8 -> MTS800 SW-3-1-0-3 P4
+
+MTS800 SW-3-1-1-2
+   P5 -> MTS800 SW-0-1-1-3 P4
+   P6 -> MTS800 SW-1-1-1-3 P4
+   P7 -> MTS800 SW-2-1-1-3 P4
+   P8 -> MTS800 SW-3-1-1-3 P4
+
+MTS800 SW-3-1-2-2
+   P5 -> MTS800 SW-0-1-2-3 P4
+   P6 -> MTS800 SW-1-1-2-3 P4
+   P7 -> MTS800 SW-2-1-2-3 P4
+   P8 -> MTS800 SW-3-1-2-3 P4
+
+MTS800 SW-3-1-3-2
+   P5 -> MTS800 SW-0-1-3-3 P4
+   P6 -> MTS800 SW-1-1-3-3 P4
+   P7 -> MTS800 SW-2-1-3-3 P4
+   P8 -> MTS800 SW-3-1-3-3 P4
+
+MTS800 SW-3-2-0-2
+   P5 -> MTS800 SW-0-2-0-3 P4
+   P6 -> MTS800 SW-1-2-0-3 P4
+   P7 -> MTS800 SW-2-2-0-3 P4
+   P8 -> MTS800 SW-3-2-0-3 P4
+
+MTS800 SW-3-2-1-2
+   P5 -> MTS800 SW-0-2-1-3 P4
+   P6 -> MTS800 SW-1-2-1-3 P4
+   P7 -> MTS800 SW-2-2-1-3 P4
+   P8 -> MTS800 SW-3-2-1-3 P4
+
+MTS800 SW-3-2-2-2
+   P5 -> MTS800 SW-0-2-2-3 P4
+   P6 -> MTS800 SW-1-2-2-3 P4
+   P7 -> MTS800 SW-2-2-2-3 P4
+   P8 -> MTS800 SW-3-2-2-3 P4
+
+MTS800 SW-3-2-3-2
+   P5 -> MTS800 SW-0-2-3-3 P4
+   P6 -> MTS800 SW-1-2-3-3 P4
+   P7 -> MTS800 SW-2-2-3-3 P4
+   P8 -> MTS800 SW-3-2-3-3 P4
+
+MTS800 SW-3-3-0-2
+   P5 -> MTS800 SW-0-3-0-3 P4
+   P6 -> MTS800 SW-1-3-0-3 P4
+   P7 -> MTS800 SW-2-3-0-3 P4
+   P8 -> MTS800 SW-3-3-0-3 P4
+
+MTS800 SW-3-3-1-2
+   P5 -> MTS800 SW-0-3-1-3 P4
+   P6 -> MTS800 SW-1-3-1-3 P4
+   P7 -> MTS800 SW-2-3-1-3 P4
+   P8 -> MTS800 SW-3-3-1-3 P4
+
+MTS800 SW-3-3-2-2
+   P5 -> MTS800 SW-0-3-2-3 P4
+   P6 -> MTS800 SW-1-3-2-3 P4
+   P7 -> MTS800 SW-2-3-2-3 P4
+   P8 -> MTS800 SW-3-3-2-3 P4
+
+MTS800 SW-3-3-3-2
+   P5 -> MTS800 SW-0-3-3-3 P4
+   P6 -> MTS800 SW-1-3-3-3 P4
+   P7 -> MTS800 SW-2-3-3-3 P4
+   P8 -> MTS800 SW-3-3-3-3 P4
+
diff --git a/ibmgtsim/tests/FatTree.check.tcl b/ibmgtsim/tests/FatTree.check.tcl
new file mode 100644
index 0000000..45c217c
--- /dev/null
+++ b/ibmgtsim/tests/FatTree.check.tcl
@@ -0,0 +1,137 @@
+# This is the checker for for a fat-tree routing check
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -R ftree -d2 -V -g $osmPortGuid ..."
+   #set osmPid [exec $osmPath -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+   set osmPid [exec $osmPath -R ftree -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+   #set osmPid [exec valgrind --tool=memcheck -v --log-file-exactly=/tmp/kliteyn/osm.valgrind.log $osmPath -R ftree -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# 1. Make sure we got a "SUBNET UP"
+# 2. Run ibdiagnet to check routing
+# 3. Check that fat-tree routing has run to completion
+# 4. Run congestion analysis
+# 5. At each step, return the exit code in case of any failure
+#
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   after 5000
+
+   set ibdiagnetLog [file join $simDir ibdiagnet.log]
+   set cmd "ibdiagnet -o $simDir"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdiagnetLog"]} e]} {
+      puts "-E- ibdiagnet failed with status:$e"
+      return 1
+   }
+
+   after 5000
+
+   # Check that the fat-tree routing has run to completion.
+   # If it has, then opensm-ftree-ca-order.dump file should exist
+   # in the simulation directory.
+   set osmFtreeCAOrderDump [file join $simDir opensm-ftree-ca-order.dump]
+   if {[file exists $osmFtreeCAOrderDump]} {
+      puts "-I- Fat-tree CA ordering file exists"
+   } else {
+      puts "-E- Fat-tree CA ordering file doesn't exist"
+      puts "-E- Fat-tree routing hasn't run to normal completion"
+      return 1
+   }
+
+   set congestionScript "congestion"
+   set ibdiagnetLstFile [file join $simDir ibdiagnet.lst]
+   set ibdiagnetFdbsFile [file join $simDir ibdiagnet.fdbs]
+   set congestionLog [file join $simDir congestion.log]
+   set cmd "$congestionScript -o $ibdiagnetLstFile $ibdiagnetFdbsFile $osmFtreeCAOrderDump"
+
+   puts "-I- Running congestion analysis"
+   if {[catch {set res [eval "exec $cmd > $congestionLog"]} e]} {
+      puts "-E- Congestion analysis failed with status: $e"
+      return 1
+   }
+
+   puts "-I- Congestion analysis completed"
+   puts "-I- Parsing congestion log"
+
+   set maxNumPath 0
+   set maxWorstCong 0
+   set f [open $congestionLog]
+   while {[gets $f sLine] >= 0} {
+
+      if {[regexp {.*TOTAL CONGESTION HISTOGRAM.*} $sLine match]} {
+         #seek three lines forward in the file
+         if {[gets $f sLine] < 0 || [gets $f sLine] < 0 || [gets $f sLine] < 0} {
+            puts "-E- Failed parsing congestion log: $congestionLog"
+            return -1
+         }
+         puts "-I- Total congestion histogram:"
+         while {[regexp {\s*(\d+)\s*(\d+)} $sLine match numPath numOutPorts]} {
+            puts "-I-  - NumPaths: $numPath, NumOutPorts: $numOutPorts"
+            if { $maxNumPath < $numPath } {
+               set maxNumPath $numPath
+            }
+            # read next line
+            if {[gets $f sLine] < 0} {
+               puts "-E- Failed parsing congestion log: $congestionLog"
+               return -1
+            }
+         }
+      }
+
+      if {[regexp {.*STAGE CONGESTION HISTOGRAM.*} $sLine match]} {
+         #seek three lines forward in the file
+         if {[gets $f sLine] < 0 || [gets $f sLine] < 0 || [gets $f sLine] < 0} {
+            puts "-E- Failed parsing congestion log: $congestionLog"
+            return -1
+         }
+         puts "-I- Stage congestion histogram:"
+         while {[regexp {\s*(\d+)\s*(\d+)} $sLine match worstCong numStages]} {
+            puts "-I-  - WorstCong: $worstCong, NumStages: $numStages"
+            if { $maxWorstCong < $worstCong } {
+               set maxWorstCong $worstCong
+            }
+            # read next line
+            if {[gets $f sLine] < 0} {
+               puts "-E- Failed parsing congestion log: $congestionLog"
+               return -1
+            }
+         }
+      }
+   }
+   close $f
+
+   if {$maxNumPath > 1 || $maxWorstCong > 1} {
+      puts "-E- FatTree routing is unbalanced"
+      return 1
+   }
+
+   puts "-I- FatTree routing is well-balanced"
+   return 0
+}
+
diff --git a/ibmgtsim/tests/FatTree.sim.tcl b/ibmgtsim/tests/FatTree.sim.tcl
new file mode 100644
index 0000000..e69de29
diff --git a/ibmgtsim/tests/FatTreeFails.check.tcl b/ibmgtsim/tests/FatTreeFails.check.tcl
new file mode 100644
index 0000000..5b1c743
--- /dev/null
+++ b/ibmgtsim/tests/FatTreeFails.check.tcl
@@ -0,0 +1,70 @@
+# This is the checker for for a fat-tree routing check
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -R ftree -d2 -V -g $osmPortGuid ..."
+   #set osmPid [exec $osmPath -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+   set osmPid [exec $osmPath -R ftree -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+   #set osmPid [exec valgrind --tool=memcheck -v --log-file-exactly=/tmp/kliteyn/osm.valgrind.log $osmPath -R ftree -f $osmLog -V -g $osmPortGuid  > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# 1. Make sure we got a "SUBNET UP"
+# 2. Run ibdiagnet to check routing
+# 3. Check that fat-tree routing has FAILED
+# 4. At each step, return the exit code in case of any failure
+#
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   after 5000
+
+   set ibdiagnetLog [file join $simDir ibdiagnet.log]
+   set cmd "ibdiagnet -o $simDir"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdiagnetLog"]} e]} {
+      puts "-E- ibdiagnet failed with status:$e"
+      return 1
+   }
+
+   after 5000
+
+
+   # Check that the fat-tree routing has run to completion.
+   # If it has, then opensm-ftree-ca-order.dump file should exist
+   # in the simulation directory.
+   set osmFtreeCAOrderDump [file join $simDir opensm-ftree-ca-order.dump]
+   if {[file exists $osmFtreeCAOrderDump]} {
+      puts "-E- Fat-tree CA ordering file exists"
+      puts "-E- Fat-tree routing was expected to fail, but it hasn't"
+      return 1
+   } else {
+      puts "-I- Fat-tree CA ordering file doesn't exist"
+      puts "-I- Fat-tree routing has failes as expected"
+   }
+
+   return 0
+}
+
diff --git a/ibmgtsim/tests/FullGnu.topo b/ibmgtsim/tests/FullGnu.topo
new file mode 100644
index 0000000..0b5dcff
--- /dev/null
+++ b/ibmgtsim/tests/FullGnu.topo
@@ -0,0 +1,19 @@
+# A complete Gnu
+
+Gnu GNU1
+  M/P1 -> Cougar H-1 P1
+  M/P2 -> Cougar H-2 P1
+  M/P3 -> Cougar H-3 P1
+  M/P4 -> Cougar H-4 P1
+  M/P5 -> Cougar H-5 P1
+  M/P6 -> Cougar H-6 P1
+  M/P7 -> Cougar H-7 P1
+  M/P8 -> Cougar H-8 P1
+  L1/P1 -> Cougar H-9 P1
+  L1/P2 -> Cougar H-10 P1
+  L1/P3 -> Cougar H-11 P1
+  L1/P4 -> Cougar H-12 P1
+  L2/P1 -> Cougar H-13 P1
+  L2/P2 -> Cougar H-14 P1
+  L2/P3 -> Cougar H-15 P1
+  L2/P4 -> Cougar H-16 P1
diff --git a/ibmgtsim/tests/IS1-16.topo b/ibmgtsim/tests/IS1-16.topo
new file mode 100644
index 0000000..6b92757
--- /dev/null
+++ b/ibmgtsim/tests/IS1-16.topo
@@ -0,0 +1,19 @@
+# A complete Gnu
+
+Gnu GNU1
+  M/P1 -> Cougar H-1 P1
+  M/P2 -> Cougar H-2 P2
+  M/P3 -> Cougar H-3 P1
+  M/P4 -> Cougar H-4 P1
+  M/P5 -> Cougar H-5 P2
+  M/P6 -> Cougar H-6 P1
+  M/P7 -> Cougar H-7 P2
+  M/P8 -> Cougar H-8 P1
+  L1/P1 -> Cougar H-9 P1
+  L1/P2 -> Cougar H-10 P2
+  L1/P3 -> Cougar H-13 P1
+  L1/P4 -> Cougar H-14 P2
+  L2/P1 -> Cougar H-15 P1
+  L2/P2 -> Cougar H-12 P2
+  L2/P3 -> Cougar H-11 P1
+  L2/P4 -> Cougar H-16 P2
diff --git a/ibmgtsim/tests/IS3-128.topo b/ibmgtsim/tests/IS3-128.topo
new file mode 100644
index 0000000..41a6c64
--- /dev/null
+++ b/ibmgtsim/tests/IS3-128.topo
@@ -0,0 +1,432 @@
+#---------------------------------------------------------------------
+#                     Mellanox Technologies LTD
+#                  Fat Tree Topology File Generator
+# Version: IBADM 1.7.0 , BUILD 20050330-1600 , CVS 1.1
+#
+# Fat Tree Specification:
+# Bandwidth Ratio ........ 1
+# Number of Hosts ........ 128
+# Number of Levels ....... 2
+# Number of Ports/Level .. 24 24
+#
+# Rack Config File ....... UNDEFINED
+#
+#---------------------------------------------------------------------
+
+MTS2400 SL1-1
+	 P1 -> MT23108 H-1 P1
+	 P2 -> MT23108 H-2 P1
+	 P3 -> MT23108 H-3 P1
+	 P4 -> MT23108 H-4 P1
+	 P5 -> MT23108 H-5 P1
+	 P6 -> MT23108 H-6 P1
+	 P7 -> MT23108 H-7 P1
+	 P8 -> MT23108 H-8 P1
+	 P9 -> MT23108 H-9 P1
+	 P10 -> MT23108 H-10 P1
+	 P11 -> MT23108 H-11 P1
+	 P12 -> MT23108 H-12 P1
+	 P13 -> MTS2400 SL2-1 P1
+	 P14 -> MTS2400 SL2-1 P2
+	 P15 -> MTS2400 SL2-2 P1
+	 P16 -> MTS2400 SL2-2 P2
+	 P17 -> MTS2400 SL2-3 P1
+	 P18 -> MTS2400 SL2-3 P2
+	 P19 -> MTS2400 SL2-4 P1
+	 P20 -> MTS2400 SL2-4 P2
+	 P21 -> MTS2400 SL2-5 P1
+	 P22 -> MTS2400 SL2-5 P2
+	 P23 -> MTS2400 SL2-6 P1
+	 P24 -> MTS2400 SL2-6 P2
+
+MTS2400 SL1-2
+	 P1 -> MT23108 H-13 P1
+	 P2 -> MT23108 H-14 P1
+	 P3 -> MT23108 H-15 P1
+	 P4 -> MT23108 H-16 P1
+	 P5 -> MT23108 H-17 P1
+	 P6 -> MT23108 H-18 P1
+	 P7 -> MT23108 H-19 P1
+	 P8 -> MT23108 H-20 P1
+	 P9 -> MT23108 H-21 P1
+	 P10 -> MT23108 H-22 P1
+	 P11 -> MT23108 H-23 P1
+	 P12 -> MT23108 H-24 P1
+	 P13 -> MTS2400 SL2-1 P3
+	 P14 -> MTS2400 SL2-1 P4
+	 P15 -> MTS2400 SL2-2 P3
+	 P16 -> MTS2400 SL2-2 P4
+	 P17 -> MTS2400 SL2-3 P3
+	 P18 -> MTS2400 SL2-3 P4
+	 P19 -> MTS2400 SL2-4 P3
+	 P20 -> MTS2400 SL2-4 P4
+	 P21 -> MTS2400 SL2-5 P3
+	 P22 -> MTS2400 SL2-5 P4
+	 P23 -> MTS2400 SL2-6 P3
+	 P24 -> MTS2400 SL2-6 P4
+
+MTS2400 SL1-3
+	 P1 -> MT23108 H-25 P1
+	 P2 -> MT23108 H-26 P1
+	 P3 -> MT23108 H-27 P1
+	 P4 -> MT23108 H-28 P1
+	 P5 -> MT23108 H-29 P1
+	 P6 -> MT23108 H-30 P1
+	 P7 -> MT23108 H-31 P1
+	 P8 -> MT23108 H-32 P1
+	 P9 -> MT23108 H-33 P1
+	 P10 -> MT23108 H-34 P1
+	 P11 -> MT23108 H-35 P1
+	 P12 -> MT23108 H-36 P1
+	 P13 -> MTS2400 SL2-1 P5
+	 P14 -> MTS2400 SL2-1 P6
+	 P15 -> MTS2400 SL2-2 P5
+	 P16 -> MTS2400 SL2-2 P6
+	 P17 -> MTS2400 SL2-3 P5
+	 P18 -> MTS2400 SL2-3 P6
+	 P19 -> MTS2400 SL2-4 P5
+	 P20 -> MTS2400 SL2-4 P6
+	 P21 -> MTS2400 SL2-5 P5
+	 P22 -> MTS2400 SL2-5 P6
+	 P23 -> MTS2400 SL2-6 P5
+	 P24 -> MTS2400 SL2-6 P6
+
+MTS2400 SL1-4
+	 P1 -> MT23108 H-37 P1
+	 P2 -> MT23108 H-38 P1
+	 P3 -> MT23108 H-39 P1
+	 P4 -> MT23108 H-40 P1
+	 P5 -> MT23108 H-41 P1
+	 P6 -> MT23108 H-42 P1
+	 P7 -> MT23108 H-43 P1
+	 P8 -> MT23108 H-44 P1
+	 P9 -> MT23108 H-45 P1
+	 P10 -> MT23108 H-46 P1
+	 P11 -> MT23108 H-47 P1
+	 P12 -> MT23108 H-48 P1
+	 P13 -> MTS2400 SL2-1 P7
+	 P14 -> MTS2400 SL2-1 P8
+	 P15 -> MTS2400 SL2-2 P7
+	 P16 -> MTS2400 SL2-2 P8
+	 P17 -> MTS2400 SL2-3 P7
+	 P18 -> MTS2400 SL2-3 P8
+	 P19 -> MTS2400 SL2-4 P7
+	 P20 -> MTS2400 SL2-4 P8
+	 P21 -> MTS2400 SL2-5 P7
+	 P22 -> MTS2400 SL2-5 P8
+	 P23 -> MTS2400 SL2-6 P7
+	 P24 -> MTS2400 SL2-6 P8
+
+MTS2400 SL1-5
+	 P1 -> MT23108 H-49 P1
+	 P2 -> MT23108 H-50 P1
+	 P3 -> MT23108 H-51 P1
+	 P4 -> MT23108 H-52 P1
+	 P5 -> MT23108 H-53 P1
+	 P6 -> MT23108 H-54 P1
+	 P7 -> MT23108 H-55 P1
+	 P8 -> MT23108 H-56 P1
+	 P9 -> MT23108 H-57 P1
+	 P10 -> MT23108 H-58 P1
+	 P11 -> MT23108 H-59 P1
+	 P12 -> MT23108 H-60 P1
+	 P13 -> MTS2400 SL2-1 P9
+	 P14 -> MTS2400 SL2-1 P10
+	 P15 -> MTS2400 SL2-2 P9
+	 P16 -> MTS2400 SL2-2 P10
+	 P17 -> MTS2400 SL2-3 P9
+	 P18 -> MTS2400 SL2-3 P10
+	 P19 -> MTS2400 SL2-4 P9
+	 P20 -> MTS2400 SL2-4 P10
+	 P21 -> MTS2400 SL2-5 P9
+	 P22 -> MTS2400 SL2-5 P10
+	 P23 -> MTS2400 SL2-6 P9
+	 P24 -> MTS2400 SL2-6 P10
+
+MTS2400 SL1-6
+	 P1 -> MT23108 H-61 P1
+	 P2 -> MT23108 H-62 P1
+	 P3 -> MT23108 H-63 P1
+	 P4 -> MT23108 H-64 P1
+	 P5 -> MT23108 H-65 P1
+	 P6 -> MT23108 H-66 P1
+	 P7 -> MT23108 H-67 P1
+	 P8 -> MT23108 H-68 P1
+	 P9 -> MT23108 H-69 P1
+	 P10 -> MT23108 H-70 P1
+	 P11 -> MT23108 H-71 P1
+	 P12 -> MT23108 H-72 P1
+	 P13 -> MTS2400 SL2-1 P11
+	 P14 -> MTS2400 SL2-1 P12
+	 P15 -> MTS2400 SL2-2 P11
+	 P16 -> MTS2400 SL2-2 P12
+	 P17 -> MTS2400 SL2-3 P11
+	 P18 -> MTS2400 SL2-3 P12
+	 P19 -> MTS2400 SL2-4 P11
+	 P20 -> MTS2400 SL2-4 P12
+	 P21 -> MTS2400 SL2-5 P11
+	 P22 -> MTS2400 SL2-5 P12
+	 P23 -> MTS2400 SL2-6 P11
+	 P24 -> MTS2400 SL2-6 P12
+
+MTS2400 SL1-7
+	 P1 -> MT23108 H-73 P1
+	 P2 -> MT23108 H-74 P1
+	 P3 -> MT23108 H-75 P1
+	 P4 -> MT23108 H-76 P1
+	 P5 -> MT23108 H-77 P1
+	 P6 -> MT23108 H-78 P1
+	 P7 -> MT23108 H-79 P1
+	 P8 -> MT23108 H-80 P1
+	 P9 -> MT23108 H-81 P1
+	 P10 -> MT23108 H-82 P1
+	 P11 -> MT23108 H-83 P1
+	 P12 -> MT23108 H-84 P1
+	 P13 -> MTS2400 SL2-1 P13
+	 P14 -> MTS2400 SL2-1 P14
+	 P15 -> MTS2400 SL2-2 P13
+	 P16 -> MTS2400 SL2-2 P14
+	 P17 -> MTS2400 SL2-3 P13
+	 P18 -> MTS2400 SL2-3 P14
+	 P19 -> MTS2400 SL2-4 P13
+	 P20 -> MTS2400 SL2-4 P14
+	 P21 -> MTS2400 SL2-5 P13
+	 P22 -> MTS2400 SL2-5 P14
+	 P23 -> MTS2400 SL2-6 P13
+	 P24 -> MTS2400 SL2-6 P14
+
+MTS2400 SL1-8
+	 P1 -> MT23108 H-85 P1
+	 P2 -> MT23108 H-86 P1
+	 P3 -> MT23108 H-87 P1
+	 P4 -> MT23108 H-88 P1
+	 P5 -> MT23108 H-89 P1
+	 P6 -> MT23108 H-90 P1
+	 P7 -> MT23108 H-91 P1
+	 P8 -> MT23108 H-92 P1
+	 P9 -> MT23108 H-93 P1
+	 P10 -> MT23108 H-94 P1
+	 P11 -> MT23108 H-95 P1
+	 P13 -> MTS2400 SL2-1 P15
+	 P14 -> MTS2400 SL2-1 P16
+	 P15 -> MTS2400 SL2-2 P15
+	 P16 -> MTS2400 SL2-2 P16
+	 P17 -> MTS2400 SL2-3 P15
+	 P18 -> MTS2400 SL2-3 P16
+	 P19 -> MTS2400 SL2-4 P15
+	 P20 -> MTS2400 SL2-4 P16
+	 P21 -> MTS2400 SL2-5 P15
+	 P22 -> MTS2400 SL2-5 P16
+	 P23 -> MTS2400 SL2-6 P15
+
+MTS2400 SL1-9
+	 P1 -> MT23108 H-96 P1
+	 P2 -> MT23108 H-97 P1
+	 P3 -> MT23108 H-98 P1
+	 P4 -> MT23108 H-99 P1
+	 P5 -> MT23108 H-100 P1
+	 P6 -> MT23108 H-101 P1
+	 P7 -> MT23108 H-102 P1
+	 P8 -> MT23108 H-103 P1
+	 P9 -> MT23108 H-104 P1
+	 P10 -> MT23108 H-105 P1
+	 P11 -> MT23108 H-106 P1
+	 P13 -> MTS2400 SL2-1 P17
+	 P14 -> MTS2400 SL2-1 P18
+	 P15 -> MTS2400 SL2-2 P17
+	 P16 -> MTS2400 SL2-2 P18
+	 P17 -> MTS2400 SL2-3 P17
+	 P18 -> MTS2400 SL2-3 P18
+	 P19 -> MTS2400 SL2-4 P17
+	 P20 -> MTS2400 SL2-4 P18
+	 P21 -> MTS2400 SL2-5 P17
+	 P22 -> MTS2400 SL2-6 P16
+	 P23 -> MTS2400 SL2-6 P17
+
+MTS2400 SL1-10
+	 P1 -> MT23108 H-107 P1
+	 P2 -> MT23108 H-108 P1
+	 P3 -> MT23108 H-109 P1
+	 P4 -> MT23108 H-110 P1
+	 P5 -> MT23108 H-111 P1
+	 P6 -> MT23108 H-112 P1
+	 P7 -> MT23108 H-113 P1
+	 P8 -> MT23108 H-114 P1
+	 P9 -> MT23108 H-115 P1
+	 P10 -> MT23108 H-116 P1
+	 P11 -> MT23108 H-117 P1
+	 P13 -> MTS2400 SL2-1 P19
+	 P14 -> MTS2400 SL2-1 P20
+	 P15 -> MTS2400 SL2-2 P19
+	 P16 -> MTS2400 SL2-2 P20
+	 P17 -> MTS2400 SL2-3 P19
+	 P18 -> MTS2400 SL2-3 P20
+	 P19 -> MTS2400 SL2-4 P19
+	 P20 -> MTS2400 SL2-5 P18
+	 P21 -> MTS2400 SL2-5 P19
+	 P22 -> MTS2400 SL2-6 P18
+	 P23 -> MTS2400 SL2-6 P19
+
+MTS2400 SL1-11
+	 P1 -> MT23108 H-118 P1
+	 P2 -> MT23108 H-119 P1
+	 P3 -> MT23108 H-120 P1
+	 P4 -> MT23108 H-121 P1
+	 P5 -> MT23108 H-122 P1
+	 P6 -> MT23108 H-123 P1
+	 P7 -> MT23108 H-124 P1
+	 P8 -> MT23108 H-125 P1
+	 P9 -> MT23108 H-126 P1
+	 P10 -> MT23108 H-127 P1
+	 P11 -> MT23108 H-128 P1
+	 P13 -> MTS2400 SL2-1 P21
+	 P14 -> MTS2400 SL2-1 P22
+	 P15 -> MTS2400 SL2-2 P21
+	 P16 -> MTS2400 SL2-2 P22
+	 P17 -> MTS2400 SL2-3 P21
+	 P18 -> MTS2400 SL2-4 P20
+	 P19 -> MTS2400 SL2-4 P21
+	 P20 -> MTS2400 SL2-5 P20
+	 P21 -> MTS2400 SL2-5 P21
+	 P22 -> MTS2400 SL2-6 P20
+	 P23 -> MTS2400 SL2-6 P21
+
+MTS2400 SL2-1
+	 P1 -> MTS2400 SL1-1 P13
+	 P2 -> MTS2400 SL1-1 P14
+	 P3 -> MTS2400 SL1-2 P13
+	 P4 -> MTS2400 SL1-2 P14
+	 P5 -> MTS2400 SL1-3 P13
+	 P6 -> MTS2400 SL1-3 P14
+	 P7 -> MTS2400 SL1-4 P13
+	 P8 -> MTS2400 SL1-4 P14
+	 P9 -> MTS2400 SL1-5 P13
+	 P10 -> MTS2400 SL1-5 P14
+	 P11 -> MTS2400 SL1-6 P13
+	 P12 -> MTS2400 SL1-6 P14
+	 P13 -> MTS2400 SL1-7 P13
+	 P14 -> MTS2400 SL1-7 P14
+	 P15 -> MTS2400 SL1-8 P13
+	 P16 -> MTS2400 SL1-8 P14
+	 P17 -> MTS2400 SL1-9 P13
+	 P18 -> MTS2400 SL1-9 P14
+	 P19 -> MTS2400 SL1-10 P13
+	 P20 -> MTS2400 SL1-10 P14
+	 P21 -> MTS2400 SL1-11 P13
+	 P22 -> MTS2400 SL1-11 P14
+
+MTS2400 SL2-2
+	 P1 -> MTS2400 SL1-1 P15
+	 P2 -> MTS2400 SL1-1 P16
+	 P3 -> MTS2400 SL1-2 P15
+	 P4 -> MTS2400 SL1-2 P16
+	 P5 -> MTS2400 SL1-3 P15
+	 P6 -> MTS2400 SL1-3 P16
+	 P7 -> MTS2400 SL1-4 P15
+	 P8 -> MTS2400 SL1-4 P16
+	 P9 -> MTS2400 SL1-5 P15
+	 P10 -> MTS2400 SL1-5 P16
+	 P11 -> MTS2400 SL1-6 P15
+	 P12 -> MTS2400 SL1-6 P16
+	 P13 -> MTS2400 SL1-7 P15
+	 P14 -> MTS2400 SL1-7 P16
+	 P15 -> MTS2400 SL1-8 P15
+	 P16 -> MTS2400 SL1-8 P16
+	 P17 -> MTS2400 SL1-9 P15
+	 P18 -> MTS2400 SL1-9 P16
+	 P19 -> MTS2400 SL1-10 P15
+	 P20 -> MTS2400 SL1-10 P16
+	 P21 -> MTS2400 SL1-11 P15
+	 P22 -> MTS2400 SL1-11 P16
+
+MTS2400 SL2-3
+	 P1 -> MTS2400 SL1-1 P17
+	 P2 -> MTS2400 SL1-1 P18
+	 P3 -> MTS2400 SL1-2 P17
+	 P4 -> MTS2400 SL1-2 P18
+	 P5 -> MTS2400 SL1-3 P17
+	 P6 -> MTS2400 SL1-3 P18
+	 P7 -> MTS2400 SL1-4 P17
+	 P8 -> MTS2400 SL1-4 P18
+	 P9 -> MTS2400 SL1-5 P17
+	 P10 -> MTS2400 SL1-5 P18
+	 P11 -> MTS2400 SL1-6 P17
+	 P12 -> MTS2400 SL1-6 P18
+	 P13 -> MTS2400 SL1-7 P17
+	 P14 -> MTS2400 SL1-7 P18
+	 P15 -> MTS2400 SL1-8 P17
+	 P16 -> MTS2400 SL1-8 P18
+	 P17 -> MTS2400 SL1-9 P17
+	 P18 -> MTS2400 SL1-9 P18
+	 P19 -> MTS2400 SL1-10 P17
+	 P20 -> MTS2400 SL1-10 P18
+	 P21 -> MTS2400 SL1-11 P17
+
+MTS2400 SL2-4
+	 P1 -> MTS2400 SL1-1 P19
+	 P2 -> MTS2400 SL1-1 P20
+	 P3 -> MTS2400 SL1-2 P19
+	 P4 -> MTS2400 SL1-2 P20
+	 P5 -> MTS2400 SL1-3 P19
+	 P6 -> MTS2400 SL1-3 P20
+	 P7 -> MTS2400 SL1-4 P19
+	 P8 -> MTS2400 SL1-4 P20
+	 P9 -> MTS2400 SL1-5 P19
+	 P10 -> MTS2400 SL1-5 P20
+	 P11 -> MTS2400 SL1-6 P19
+	 P12 -> MTS2400 SL1-6 P20
+	 P13 -> MTS2400 SL1-7 P19
+	 P14 -> MTS2400 SL1-7 P20
+	 P15 -> MTS2400 SL1-8 P19
+	 P16 -> MTS2400 SL1-8 P20
+	 P17 -> MTS2400 SL1-9 P19
+	 P18 -> MTS2400 SL1-9 P20
+	 P19 -> MTS2400 SL1-10 P19
+	 P20 -> MTS2400 SL1-11 P18
+	 P21 -> MTS2400 SL1-11 P19
+
+MTS2400 SL2-5
+	 P1 -> MTS2400 SL1-1 P21
+	 P2 -> MTS2400 SL1-1 P22
+	 P3 -> MTS2400 SL1-2 P21
+	 P4 -> MTS2400 SL1-2 P22
+	 P5 -> MTS2400 SL1-3 P21
+	 P6 -> MTS2400 SL1-3 P22
+	 P7 -> MTS2400 SL1-4 P21
+	 P8 -> MTS2400 SL1-4 P22
+	 P9 -> MTS2400 SL1-5 P21
+	 P10 -> MTS2400 SL1-5 P22
+	 P11 -> MTS2400 SL1-6 P21
+	 P12 -> MTS2400 SL1-6 P22
+	 P13 -> MTS2400 SL1-7 P21
+	 P14 -> MTS2400 SL1-7 P22
+	 P15 -> MTS2400 SL1-8 P21
+	 P16 -> MTS2400 SL1-8 P22
+	 P17 -> MTS2400 SL1-9 P21
+	 P18 -> MTS2400 SL1-10 P20
+	 P19 -> MTS2400 SL1-10 P21
+	 P20 -> MTS2400 SL1-11 P20
+	 P21 -> MTS2400 SL1-11 P21
+
+MTS2400 SL2-6
+	 P1 -> MTS2400 SL1-1 P23
+	 P2 -> MTS2400 SL1-1 P24
+	 P3 -> MTS2400 SL1-2 P23
+	 P4 -> MTS2400 SL1-2 P24
+	 P5 -> MTS2400 SL1-3 P23
+	 P6 -> MTS2400 SL1-3 P24
+	 P7 -> MTS2400 SL1-4 P23
+	 P8 -> MTS2400 SL1-4 P24
+	 P9 -> MTS2400 SL1-5 P23
+	 P10 -> MTS2400 SL1-5 P24
+	 P11 -> MTS2400 SL1-6 P23
+	 P12 -> MTS2400 SL1-6 P24
+	 P13 -> MTS2400 SL1-7 P23
+	 P14 -> MTS2400 SL1-7 P24
+	 P15 -> MTS2400 SL1-8 P23
+	 P16 -> MTS2400 SL1-9 P22
+	 P17 -> MTS2400 SL1-9 P23
+	 P18 -> MTS2400 SL1-10 P22
+	 P19 -> MTS2400 SL1-10 P23
+	 P20 -> MTS2400 SL1-11 P22
+	 P21 -> MTS2400 SL1-11 P23
diff --git a/ibmgtsim/tests/IS3-loop.topo b/ibmgtsim/tests/IS3-loop.topo
new file mode 100644
index 0000000..15e7529
--- /dev/null
+++ b/ibmgtsim/tests/IS3-loop.topo
@@ -0,0 +1,67 @@
+MTS2400 SW1
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-1-2 P1
+   P3 -> Cougar H-1-3 P1
+   P4 -> Cougar H-1-4 P1
+   P5 -> Cougar H-1-5 P1
+   P6 -> Cougar H-1-6 P1
+   P7 -> Cougar H-1-7 P1
+   P8 -> Cougar H-1-8 P1
+   P9 -> Cougar H-1-9 P1
+   P10 -> Cougar H-1-10 P1
+   P11 -> Cougar H-1-11 P1
+   P12 -> Cougar H-1-12 P1
+
+MTS2400 SW2
+   P1 -> Cougar H-2-1 P1
+   P2 -> Cougar H-2-2 P1
+   P3 -> Cougar H-2-3 P1
+   P4 -> Cougar H-2-4 P1
+   P5 -> Cougar H-2-5 P1
+   P6 -> Cougar H-2-6 P1
+   P7 -> Cougar H-2-7 P1
+   P8 -> Cougar H-2-8 P1
+   P9 -> Cougar H-2-9 P1
+   P10 -> Cougar H-2-10 P1
+   P11 -> Cougar H-2-11 P1
+   P12 -> Cougar H-2-12 P1
+
+MTS2400 SW3
+   P1 -> Cougar H-3-1 P1
+   P2 -> Cougar H-3-2 P1
+   P3 -> Cougar H-3-3 P1
+   P4 -> Cougar H-3-4 P1
+   P5 -> Cougar H-3-5 P1
+   P6 -> Cougar H-3-6 P1
+   P7 -> Cougar H-3-7 P1
+   P8 -> Cougar H-3-8 P1
+   P9 -> Cougar H-3-9 P1
+   P10 -> Cougar H-3-10 P1
+   P11 -> Cougar H-3-11 P1
+   P12 -> Cougar H-3-12 P1
+
+MTS14400 SW4 CFG: leaf3=R,leaf4=R,leaf5=R,leaf6=R,leaf7=R,leaf8=R,leaf9=R,leaf10=R,leaf11=R,leaf12=R
+   L1/P1 -> MTS2400 SW1 P13
+   L1/P2 -> MTS2400 SW1 P14
+   L1/P3 -> MTS2400 SW1 P15
+   L1/P4 -> MTS2400 SW1 P16
+   L1/P5 -> MTS2400 SW1 P17
+   L1/P6 -> MTS2400 SW1 P18
+   L1/P7 -> MTS2400 SW2 P13
+   L1/P8 -> MTS2400 SW2 P14
+   L1/P9 -> MTS2400 SW2 P15
+   L1/P10 -> MTS2400 SW2 P16
+   L1/P11 -> MTS2400 SW2 P17
+   L1/P12 -> MTS2400 SW2 P18
+   L2/P1 -> MTS2400 SW3 P13
+   L2/P2 -> MTS2400 SW3 P14
+   L2/P3 -> MTS2400 SW3 P15
+   L2/P4 -> MTS2400 SW3 P16
+   L2/P5 -> MTS2400 SW3 P17
+   L2/P6 -> MTS2400 SW3 P18
+   L2/P7 -> MTS2400 SW2 P19
+   L2/P8 -> MTS2400 SW2 P20
+   L2/P9 -> MTS2400 SW2 P21
+   L2/P10 -> MTS2400 SW2 P22
+   L2/P11 -> MTS2400 SW2 P23
+   L2/P12 -> MTS2400 SW2 P24
diff --git a/ibmgtsim/tests/Makefile.am b/ibmgtsim/tests/Makefile.am
new file mode 100644
index 0000000..7d3a998
--- /dev/null
+++ b/ibmgtsim/tests/Makefile.am
@@ -0,0 +1,45 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+# All the provided in package systems:
+TESTFILES = $(wildcard $(srcdir)/*.sim.tcl) \
+	$(wildcard $(srcdir)/*.check.tcl) \
+	$(wildcard $(srcdir)/*.topo)
+
+# We only want to distriute these files
+pkgdata_DATA = $(TESTFILES)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(TESTFILES)
+
diff --git a/ibmgtsim/tests/Makefile.in b/ibmgtsim/tests/Makefile.in
new file mode 100644
index 0000000..99015c9
--- /dev/null
+++ b/ibmgtsim/tests/Makefile.in
@@ -0,0 +1,417 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ibdm.m4 \
+	$(top_srcdir)/config/osm.m4 $(top_srcdir)/config/swig.m4 \
+	$(top_srcdir)/config/tcl.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+IBDM_REF_IS_USED_FALSE = @IBDM_REF_IS_USED_FALSE@
+IBDM_REF_IS_USED_TRUE = @IBDM_REF_IS_USED_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_ibdm = @with_ibdm@
+with_osm = @with_osm@
+
+# All the provided in package systems:
+TESTFILES = $(wildcard $(srcdir)/*.sim.tcl) \
+	$(wildcard $(srcdir)/*.check.tcl) \
+	$(wildcard $(srcdir)/*.topo)
+
+
+# We only want to distriute these files
+pkgdata_DATA = $(TESTFILES)
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = $(TESTFILES)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/$(srcdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgdataDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibmgtsim/tests/OsmTest.check.tcl b/ibmgtsim/tests/OsmTest.check.tcl
new file mode 100644
index 0000000..7121d21
--- /dev/null
+++ b/ibmgtsim/tests/OsmTest.check.tcl
@@ -0,0 +1,73 @@
+# This is the checker for for a simple 16 node test with opensm and osmtest
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   # prevent long transactions return BUSY signal
+   exec echo max_msg_fifo_timeout 0 > $simDir/opensm.opts
+
+   puts "-I- Starting: $osmPath -g $osmPortGuid  ..."
+   set osmPid [exec $osmPath -d2 -s 0 -t 1000 -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+
+   set osmTestPath      [file join [file dirname $osmPath] osmtest]
+   set osmTestLog       [file join $simDir osmtest.log]
+   set osmTestStdOutLog [file join $simDir osmtest.stdout.log]
+   set osmTestInventory [file join $simDir osmtest.dat]
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+   # update node proc file
+   puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+   # if we did get a subnet up:
+   set osmTestCmd1 "$osmTestPath -v -t 1000 -g $osmPortGuid -l $osmTestLog -f c -i $osmTestInventory"
+   puts "-I- Invoking: $osmTestCmd1 ..."
+   # HACK: we currently ignore osmtest craches on exit flow:
+   catch {set res [eval "exec $osmTestCmd1 >& $osmTestStdOutLog"]}
+
+   if {[catch {exec grep "OSMTEST: TEST \"Create Inventory\" PASS" $osmTestStdOutLog}]} {
+      puts "-E- osmtest Create Inventory failed"
+      return 1
+   }
+
+   after 2000
+
+   # now do the actual test...
+   set osmTestCmd2 "$osmTestPath -v -t 1000 -g $osmPortGuid -l $osmTestLog -f a -i $osmTestInventory"
+   puts "-I- Invoking: $osmTestCmd2 ..."
+   # HACK: we currently ignore osmtest craches on exit flow:
+   catch {set res [eval "exec $osmTestCmd2 >& $osmTestStdOutLog"]}
+   if {[catch {exec grep "OSMTEST: TEST \"All Validations\" PASS" $osmTestStdOutLog}]} {
+      puts "-E- osmtest All Validations failed"
+      return 1
+   }
+
+   puts "-I- osmtest completed successfuly"
+   return 0
+}
diff --git a/ibmgtsim/tests/OsmTest.sim.tcl b/ibmgtsim/tests/OsmTest.sim.tcl
new file mode 100644
index 0000000..d33d431
--- /dev/null
+++ b/ibmgtsim/tests/OsmTest.sim.tcl
@@ -0,0 +1,2 @@
+
+puts "Running Simulation flow for 16 Nodes OsmTest test"
diff --git a/ibmgtsim/tests/README b/ibmgtsim/tests/README
new file mode 100644
index 0000000..bfa7484
--- /dev/null
+++ b/ibmgtsim/tests/README
@@ -0,0 +1,40 @@
+This directory holds some tcl code of simulator tests, and
+example topology files.
+
+RunSimTest TESTS:
+------------------
+RunSimTest requires two files:
+* a "simulator flow": *.sim.tcl file that is run in the simulator
+* a "checker": *.check.tcl file that extends the RunSimTest with
+  a particular flow of execution and checkers for pass/fail
+
+osmLidAssignment - comprehensive test of lid assignment algorithm
+osmMulticastRoutingTest - performs Multicast Join in random order
+osmStability - check if we can get Subnet Up under many bad links
+OsmTest - simply run osmtest after subnet is up
+
+The following are ibdiagnet tests (all of them currently do not have an internal PASS/FAIL)
+ibdiagnet.check.tcl - is a common checker flow that starts the SM and calls post SM
+   errors injection and then ibdiagnet
+ibdiag-drops.sim.tcl - set some bad links
+ibdiag-dup-node-guid.sim.tcl - duplicate node guid
+ibdiag-dup-port-guid.sim.tcl - duplicate port guid
+ibdiag-lid.sim.tcl - post the SM run duplicate or zero some lids
+ibdiag-mcast.sim.tcl - post SM create 3 MGRPs join some ports, then disconenct some MFT routing
+ibdiag-ucast.sim.tcl - post SM delete some LFT entries
+
+
+OTHERS:
+_______
+init.test.tcl - is a very simple code that only initialize
+  the simulator and serve as example for the TCL API.
+
+TOPOLOGY FILES:
+---------------
+Gnu16NodeOsmTest.topo - a 6 x 8p switch, two level tree with 16 nodes
+ReindeerBased128Nodes.topo - 128 nodes on 2 level tree made out of 24p switches
+RhinoBased10K.topo - a 10,000 nodes tree made of 24p (first) and 144p (second)
+RhinoBased512Nodes.topo - 512 ndoes tree using 144p switches (have credit loops)
+RhinoBasedCreditLoop.topo - 3 24p switch and 1 144p switch for credit loop demo
+RhinoReindeer1100.topo - a 10K nodes cluster made of 24p and 144p switches
+
diff --git a/ibmgtsim/tests/RhinoBased10K.topo b/ibmgtsim/tests/RhinoBased10K.topo
new file mode 100644
index 0000000..015f527
--- /dev/null
+++ b/ibmgtsim/tests/RhinoBased10K.topo
@@ -0,0 +1,20374 @@
+#---------------------------------------------------------------------
+#                     Mellanox Technologies LTD
+#                  Fat Tree Topology File Generator
+# Version: IBADM 1.6.1 , BUILD 20041223-1701 , CVS 1.1
+#
+# Fat Tree Specification:
+# Bandwidth Ratio ........ 2
+# Number of Hosts ........ 10000
+# Number of Levels ....... 2
+# Number of Ports/Level .. 144 144
+#
+# Rack Config File ....... UNDEFINED
+#
+#---------------------------------------------------------------------
+
+MTS14400 SL1-1
+	 L1/P1 -> MT23108 H-1 P1
+	 L2/P1 -> MT23108 H-2 P1
+	 L3/P1 -> MT23108 H-3 P1
+	 L4/P1 -> MT23108 H-4 P1
+	 L5/P1 -> MT23108 H-5 P1
+	 L6/P1 -> MT23108 H-6 P1
+	 L7/P1 -> MT23108 H-7 P1
+	 L8/P1 -> MT23108 H-8 P1
+	 L9/P1 -> MT23108 H-9 P1
+	 L10/P1 -> MT23108 H-10 P1
+	 L11/P1 -> MT23108 H-11 P1
+	 L12/P1 -> MT23108 H-12 P1
+	 L1/P2 -> MT23108 H-13 P1
+	 L2/P2 -> MT23108 H-14 P1
+	 L3/P2 -> MT23108 H-15 P1
+	 L4/P2 -> MT23108 H-16 P1
+	 L5/P2 -> MT23108 H-17 P1
+	 L6/P2 -> MT23108 H-18 P1
+	 L7/P2 -> MT23108 H-19 P1
+	 L8/P2 -> MT23108 H-20 P1
+	 L9/P2 -> MT23108 H-21 P1
+	 L10/P2 -> MT23108 H-22 P1
+	 L11/P2 -> MT23108 H-23 P1
+	 L12/P2 -> MT23108 H-24 P1
+	 L1/P3 -> MT23108 H-25 P1
+	 L2/P3 -> MT23108 H-26 P1
+	 L3/P3 -> MT23108 H-27 P1
+	 L4/P3 -> MT23108 H-28 P1
+	 L5/P3 -> MT23108 H-29 P1
+	 L6/P3 -> MT23108 H-30 P1
+	 L7/P3 -> MT23108 H-31 P1
+	 L8/P3 -> MT23108 H-32 P1
+	 L9/P3 -> MT23108 H-33 P1
+	 L10/P3 -> MT23108 H-34 P1
+	 L11/P3 -> MT23108 H-35 P1
+	 L12/P3 -> MT23108 H-36 P1
+	 L1/P4 -> MT23108 H-37 P1
+	 L2/P4 -> MT23108 H-38 P1
+	 L3/P4 -> MT23108 H-39 P1
+	 L4/P4 -> MT23108 H-40 P1
+	 L5/P4 -> MT23108 H-41 P1
+	 L6/P4 -> MT23108 H-42 P1
+	 L7/P4 -> MT23108 H-43 P1
+	 L8/P4 -> MT23108 H-44 P1
+	 L9/P4 -> MT23108 H-45 P1
+	 L10/P4 -> MT23108 H-46 P1
+	 L11/P4 -> MT23108 H-47 P1
+	 L12/P4 -> MT23108 H-48 P1
+	 L1/P5 -> MT23108 H-49 P1
+	 L2/P5 -> MT23108 H-50 P1
+	 L3/P5 -> MT23108 H-51 P1
+	 L4/P5 -> MT23108 H-52 P1
+	 L5/P5 -> MT23108 H-53 P1
+	 L6/P5 -> MT23108 H-54 P1
+	 L7/P5 -> MT23108 H-55 P1
+	 L8/P5 -> MT23108 H-56 P1
+	 L9/P5 -> MT23108 H-57 P1
+	 L10/P5 -> MT23108 H-58 P1
+	 L11/P5 -> MT23108 H-59 P1
+	 L12/P5 -> MT23108 H-60 P1
+	 L1/P6 -> MT23108 H-61 P1
+	 L2/P6 -> MT23108 H-62 P1
+	 L3/P6 -> MT23108 H-63 P1
+	 L4/P6 -> MT23108 H-64 P1
+	 L5/P6 -> MT23108 H-65 P1
+	 L6/P6 -> MT23108 H-66 P1
+	 L7/P6 -> MT23108 H-67 P1
+	 L8/P6 -> MT23108 H-68 P1
+	 L9/P6 -> MT23108 H-69 P1
+	 L10/P6 -> MT23108 H-70 P1
+	 L11/P6 -> MT23108 H-71 P1
+	 L12/P6 -> MT23108 H-72 P1
+	 L1/P7 -> MT23108 H-73 P1
+	 L2/P7 -> MT23108 H-74 P1
+	 L3/P7 -> MT23108 H-75 P1
+	 L4/P7 -> MT23108 H-76 P1
+	 L5/P7 -> MT23108 H-77 P1
+	 L6/P7 -> MT23108 H-78 P1
+	 L7/P7 -> MT23108 H-79 P1
+	 L8/P7 -> MT23108 H-80 P1
+	 L9/P7 -> MT23108 H-81 P1
+	 L10/P7 -> MT23108 H-82 P1
+	 L11/P7 -> MT23108 H-83 P1
+	 L12/P7 -> MT23108 H-84 P1
+	 L1/P8 -> MT23108 H-85 P1
+	 L2/P8 -> MT23108 H-86 P1
+	 L3/P8 -> MT23108 H-87 P1
+	 L4/P8 -> MT23108 H-88 P1
+	 L5/P8 -> MT23108 H-89 P1
+	 L6/P8 -> MT23108 H-90 P1
+	 L7/P8 -> MT23108 H-91 P1
+	 L8/P8 -> MT23108 H-92 P1
+	 L9/P8 -> MT23108 H-93 P1
+	 L10/P8 -> MT23108 H-94 P1
+	 L11/P8 -> MT23108 H-95 P1
+	 L12/P8 -> MT23108 H-96 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P1
+	 L2/P9 -> MTS14400 SL2-1 L2/P1
+	 L3/P9 -> MTS14400 SL2-2 L1/P1
+	 L4/P9 -> MTS14400 SL2-2 L2/P1
+	 L5/P9 -> MTS14400 SL2-3 L1/P1
+	 L6/P9 -> MTS14400 SL2-3 L2/P1
+	 L7/P9 -> MTS14400 SL2-4 L1/P1
+	 L8/P9 -> MTS14400 SL2-4 L2/P1
+	 L9/P9 -> MTS14400 SL2-5 L1/P1
+	 L10/P9 -> MTS14400 SL2-5 L2/P1
+	 L11/P9 -> MTS14400 SL2-6 L1/P1
+	 L12/P9 -> MTS14400 SL2-6 L2/P1
+	 L1/P10 -> MTS14400 SL2-7 L1/P1
+	 L2/P10 -> MTS14400 SL2-7 L2/P1
+	 L3/P10 -> MTS14400 SL2-8 L1/P1
+	 L4/P10 -> MTS14400 SL2-8 L2/P1
+	 L5/P10 -> MTS14400 SL2-9 L1/P1
+	 L6/P10 -> MTS14400 SL2-9 L2/P1
+	 L7/P10 -> MTS14400 SL2-10 L1/P1
+	 L8/P10 -> MTS14400 SL2-10 L2/P1
+	 L9/P10 -> MTS14400 SL2-11 L1/P1
+	 L10/P10 -> MTS14400 SL2-11 L2/P1
+	 L11/P10 -> MTS14400 SL2-12 L1/P1
+	 L12/P10 -> MTS14400 SL2-12 L2/P1
+	 L1/P11 -> MTS14400 SL2-13 L1/P1
+	 L2/P11 -> MTS14400 SL2-13 L2/P1
+	 L3/P11 -> MTS14400 SL2-14 L1/P1
+	 L4/P11 -> MTS14400 SL2-15 L1/P1
+	 L5/P11 -> MTS14400 SL2-16 L1/P1
+	 L6/P11 -> MTS14400 SL2-17 L1/P1
+	 L7/P11 -> MTS14400 SL2-18 L1/P1
+	 L8/P11 -> MTS14400 SL2-19 L1/P1
+	 L9/P11 -> MTS14400 SL2-20 L1/P1
+	 L10/P11 -> MTS14400 SL2-21 L1/P1
+	 L11/P11 -> MTS14400 SL2-22 L1/P1
+	 L12/P11 -> MTS14400 SL2-23 L1/P1
+	 L1/P12 -> MTS14400 SL2-24 L1/P1
+	 L2/P12 -> MTS14400 SL2-25 L1/P1
+	 L3/P12 -> MTS14400 SL2-26 L1/P1
+	 L4/P12 -> MTS14400 SL2-27 L1/P1
+	 L5/P12 -> MTS14400 SL2-28 L1/P1
+	 L6/P12 -> MTS14400 SL2-29 L1/P1
+	 L7/P12 -> MTS14400 SL2-30 L1/P1
+	 L8/P12 -> MTS14400 SL2-31 L1/P1
+	 L9/P12 -> MTS14400 SL2-32 L1/P1
+	 L10/P12 -> MTS14400 SL2-33 L1/P1
+	 L11/P12 -> MTS14400 SL2-34 L1/P1
+	 L12/P12 -> MTS14400 SL2-35 L1/P1
+
+MTS14400 SL1-2
+	 L1/P1 -> MT23108 H-97 P1
+	 L2/P1 -> MT23108 H-98 P1
+	 L3/P1 -> MT23108 H-99 P1
+	 L4/P1 -> MT23108 H-100 P1
+	 L5/P1 -> MT23108 H-101 P1
+	 L6/P1 -> MT23108 H-102 P1
+	 L7/P1 -> MT23108 H-103 P1
+	 L8/P1 -> MT23108 H-104 P1
+	 L9/P1 -> MT23108 H-105 P1
+	 L10/P1 -> MT23108 H-106 P1
+	 L11/P1 -> MT23108 H-107 P1
+	 L12/P1 -> MT23108 H-108 P1
+	 L1/P2 -> MT23108 H-109 P1
+	 L2/P2 -> MT23108 H-110 P1
+	 L3/P2 -> MT23108 H-111 P1
+	 L4/P2 -> MT23108 H-112 P1
+	 L5/P2 -> MT23108 H-113 P1
+	 L6/P2 -> MT23108 H-114 P1
+	 L7/P2 -> MT23108 H-115 P1
+	 L8/P2 -> MT23108 H-116 P1
+	 L9/P2 -> MT23108 H-117 P1
+	 L10/P2 -> MT23108 H-118 P1
+	 L11/P2 -> MT23108 H-119 P1
+	 L12/P2 -> MT23108 H-120 P1
+	 L1/P3 -> MT23108 H-121 P1
+	 L2/P3 -> MT23108 H-122 P1
+	 L3/P3 -> MT23108 H-123 P1
+	 L4/P3 -> MT23108 H-124 P1
+	 L5/P3 -> MT23108 H-125 P1
+	 L6/P3 -> MT23108 H-126 P1
+	 L7/P3 -> MT23108 H-127 P1
+	 L8/P3 -> MT23108 H-128 P1
+	 L9/P3 -> MT23108 H-129 P1
+	 L10/P3 -> MT23108 H-130 P1
+	 L11/P3 -> MT23108 H-131 P1
+	 L12/P3 -> MT23108 H-132 P1
+	 L1/P4 -> MT23108 H-133 P1
+	 L2/P4 -> MT23108 H-134 P1
+	 L3/P4 -> MT23108 H-135 P1
+	 L4/P4 -> MT23108 H-136 P1
+	 L5/P4 -> MT23108 H-137 P1
+	 L6/P4 -> MT23108 H-138 P1
+	 L7/P4 -> MT23108 H-139 P1
+	 L8/P4 -> MT23108 H-140 P1
+	 L9/P4 -> MT23108 H-141 P1
+	 L10/P4 -> MT23108 H-142 P1
+	 L11/P4 -> MT23108 H-143 P1
+	 L12/P4 -> MT23108 H-144 P1
+	 L1/P5 -> MT23108 H-145 P1
+	 L2/P5 -> MT23108 H-146 P1
+	 L3/P5 -> MT23108 H-147 P1
+	 L4/P5 -> MT23108 H-148 P1
+	 L5/P5 -> MT23108 H-149 P1
+	 L6/P5 -> MT23108 H-150 P1
+	 L7/P5 -> MT23108 H-151 P1
+	 L8/P5 -> MT23108 H-152 P1
+	 L9/P5 -> MT23108 H-153 P1
+	 L10/P5 -> MT23108 H-154 P1
+	 L11/P5 -> MT23108 H-155 P1
+	 L12/P5 -> MT23108 H-156 P1
+	 L1/P6 -> MT23108 H-157 P1
+	 L2/P6 -> MT23108 H-158 P1
+	 L3/P6 -> MT23108 H-159 P1
+	 L4/P6 -> MT23108 H-160 P1
+	 L5/P6 -> MT23108 H-161 P1
+	 L6/P6 -> MT23108 H-162 P1
+	 L7/P6 -> MT23108 H-163 P1
+	 L8/P6 -> MT23108 H-164 P1
+	 L9/P6 -> MT23108 H-165 P1
+	 L10/P6 -> MT23108 H-166 P1
+	 L11/P6 -> MT23108 H-167 P1
+	 L12/P6 -> MT23108 H-168 P1
+	 L1/P7 -> MT23108 H-169 P1
+	 L2/P7 -> MT23108 H-170 P1
+	 L3/P7 -> MT23108 H-171 P1
+	 L4/P7 -> MT23108 H-172 P1
+	 L5/P7 -> MT23108 H-173 P1
+	 L6/P7 -> MT23108 H-174 P1
+	 L7/P7 -> MT23108 H-175 P1
+	 L8/P7 -> MT23108 H-176 P1
+	 L9/P7 -> MT23108 H-177 P1
+	 L10/P7 -> MT23108 H-178 P1
+	 L11/P7 -> MT23108 H-179 P1
+	 L12/P7 -> MT23108 H-180 P1
+	 L1/P8 -> MT23108 H-181 P1
+	 L2/P8 -> MT23108 H-182 P1
+	 L3/P8 -> MT23108 H-183 P1
+	 L4/P8 -> MT23108 H-184 P1
+	 L5/P8 -> MT23108 H-185 P1
+	 L6/P8 -> MT23108 H-186 P1
+	 L7/P8 -> MT23108 H-187 P1
+	 L8/P8 -> MT23108 H-188 P1
+	 L9/P8 -> MT23108 H-189 P1
+	 L10/P8 -> MT23108 H-190 P1
+	 L11/P8 -> MT23108 H-191 P1
+	 L12/P8 -> MT23108 H-192 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P1
+	 L2/P9 -> MTS14400 SL2-2 L3/P1
+	 L3/P9 -> MTS14400 SL2-3 L3/P1
+	 L4/P9 -> MTS14400 SL2-4 L3/P1
+	 L5/P9 -> MTS14400 SL2-5 L3/P1
+	 L6/P9 -> MTS14400 SL2-6 L3/P1
+	 L7/P9 -> MTS14400 SL2-7 L3/P1
+	 L8/P9 -> MTS14400 SL2-8 L3/P1
+	 L9/P9 -> MTS14400 SL2-9 L3/P1
+	 L10/P9 -> MTS14400 SL2-10 L3/P1
+	 L11/P9 -> MTS14400 SL2-11 L3/P1
+	 L12/P9 -> MTS14400 SL2-12 L3/P1
+	 L1/P10 -> MTS14400 SL2-13 L3/P1
+	 L2/P10 -> MTS14400 SL2-14 L2/P1
+	 L3/P10 -> MTS14400 SL2-14 L3/P1
+	 L4/P10 -> MTS14400 SL2-15 L2/P1
+	 L5/P10 -> MTS14400 SL2-15 L3/P1
+	 L6/P10 -> MTS14400 SL2-16 L2/P1
+	 L7/P10 -> MTS14400 SL2-16 L3/P1
+	 L8/P10 -> MTS14400 SL2-17 L2/P1
+	 L9/P10 -> MTS14400 SL2-17 L3/P1
+	 L10/P10 -> MTS14400 SL2-18 L2/P1
+	 L11/P10 -> MTS14400 SL2-18 L3/P1
+	 L12/P10 -> MTS14400 SL2-19 L2/P1
+	 L1/P11 -> MTS14400 SL2-19 L3/P1
+	 L2/P11 -> MTS14400 SL2-20 L2/P1
+	 L3/P11 -> MTS14400 SL2-20 L3/P1
+	 L4/P11 -> MTS14400 SL2-21 L2/P1
+	 L5/P11 -> MTS14400 SL2-21 L3/P1
+	 L6/P11 -> MTS14400 SL2-22 L2/P1
+	 L7/P11 -> MTS14400 SL2-22 L3/P1
+	 L8/P11 -> MTS14400 SL2-23 L2/P1
+	 L9/P11 -> MTS14400 SL2-23 L3/P1
+	 L10/P11 -> MTS14400 SL2-24 L2/P1
+	 L11/P11 -> MTS14400 SL2-24 L3/P1
+	 L12/P11 -> MTS14400 SL2-25 L2/P1
+	 L1/P12 -> MTS14400 SL2-25 L3/P1
+	 L2/P12 -> MTS14400 SL2-26 L2/P1
+	 L3/P12 -> MTS14400 SL2-26 L3/P1
+	 L4/P12 -> MTS14400 SL2-27 L2/P1
+	 L5/P12 -> MTS14400 SL2-28 L2/P1
+	 L6/P12 -> MTS14400 SL2-29 L2/P1
+	 L7/P12 -> MTS14400 SL2-30 L2/P1
+	 L8/P12 -> MTS14400 SL2-31 L2/P1
+	 L9/P12 -> MTS14400 SL2-32 L2/P1
+	 L10/P12 -> MTS14400 SL2-33 L2/P1
+	 L11/P12 -> MTS14400 SL2-34 L2/P1
+	 L12/P12 -> MTS14400 SL2-35 L2/P1
+
+MTS14400 SL1-3
+	 L1/P1 -> MT23108 H-193 P1
+	 L2/P1 -> MT23108 H-194 P1
+	 L3/P1 -> MT23108 H-195 P1
+	 L4/P1 -> MT23108 H-196 P1
+	 L5/P1 -> MT23108 H-197 P1
+	 L6/P1 -> MT23108 H-198 P1
+	 L7/P1 -> MT23108 H-199 P1
+	 L8/P1 -> MT23108 H-200 P1
+	 L9/P1 -> MT23108 H-201 P1
+	 L10/P1 -> MT23108 H-202 P1
+	 L11/P1 -> MT23108 H-203 P1
+	 L12/P1 -> MT23108 H-204 P1
+	 L1/P2 -> MT23108 H-205 P1
+	 L2/P2 -> MT23108 H-206 P1
+	 L3/P2 -> MT23108 H-207 P1
+	 L4/P2 -> MT23108 H-208 P1
+	 L5/P2 -> MT23108 H-209 P1
+	 L6/P2 -> MT23108 H-210 P1
+	 L7/P2 -> MT23108 H-211 P1
+	 L8/P2 -> MT23108 H-212 P1
+	 L9/P2 -> MT23108 H-213 P1
+	 L10/P2 -> MT23108 H-214 P1
+	 L11/P2 -> MT23108 H-215 P1
+	 L12/P2 -> MT23108 H-216 P1
+	 L1/P3 -> MT23108 H-217 P1
+	 L2/P3 -> MT23108 H-218 P1
+	 L3/P3 -> MT23108 H-219 P1
+	 L4/P3 -> MT23108 H-220 P1
+	 L5/P3 -> MT23108 H-221 P1
+	 L6/P3 -> MT23108 H-222 P1
+	 L7/P3 -> MT23108 H-223 P1
+	 L8/P3 -> MT23108 H-224 P1
+	 L9/P3 -> MT23108 H-225 P1
+	 L10/P3 -> MT23108 H-226 P1
+	 L11/P3 -> MT23108 H-227 P1
+	 L12/P3 -> MT23108 H-228 P1
+	 L1/P4 -> MT23108 H-229 P1
+	 L2/P4 -> MT23108 H-230 P1
+	 L3/P4 -> MT23108 H-231 P1
+	 L4/P4 -> MT23108 H-232 P1
+	 L5/P4 -> MT23108 H-233 P1
+	 L6/P4 -> MT23108 H-234 P1
+	 L7/P4 -> MT23108 H-235 P1
+	 L8/P4 -> MT23108 H-236 P1
+	 L9/P4 -> MT23108 H-237 P1
+	 L10/P4 -> MT23108 H-238 P1
+	 L11/P4 -> MT23108 H-239 P1
+	 L12/P4 -> MT23108 H-240 P1
+	 L1/P5 -> MT23108 H-241 P1
+	 L2/P5 -> MT23108 H-242 P1
+	 L3/P5 -> MT23108 H-243 P1
+	 L4/P5 -> MT23108 H-244 P1
+	 L5/P5 -> MT23108 H-245 P1
+	 L6/P5 -> MT23108 H-246 P1
+	 L7/P5 -> MT23108 H-247 P1
+	 L8/P5 -> MT23108 H-248 P1
+	 L9/P5 -> MT23108 H-249 P1
+	 L10/P5 -> MT23108 H-250 P1
+	 L11/P5 -> MT23108 H-251 P1
+	 L12/P5 -> MT23108 H-252 P1
+	 L1/P6 -> MT23108 H-253 P1
+	 L2/P6 -> MT23108 H-254 P1
+	 L3/P6 -> MT23108 H-255 P1
+	 L4/P6 -> MT23108 H-256 P1
+	 L5/P6 -> MT23108 H-257 P1
+	 L6/P6 -> MT23108 H-258 P1
+	 L7/P6 -> MT23108 H-259 P1
+	 L8/P6 -> MT23108 H-260 P1
+	 L9/P6 -> MT23108 H-261 P1
+	 L10/P6 -> MT23108 H-262 P1
+	 L11/P6 -> MT23108 H-263 P1
+	 L12/P6 -> MT23108 H-264 P1
+	 L1/P7 -> MT23108 H-265 P1
+	 L2/P7 -> MT23108 H-266 P1
+	 L3/P7 -> MT23108 H-267 P1
+	 L4/P7 -> MT23108 H-268 P1
+	 L5/P7 -> MT23108 H-269 P1
+	 L6/P7 -> MT23108 H-270 P1
+	 L7/P7 -> MT23108 H-271 P1
+	 L8/P7 -> MT23108 H-272 P1
+	 L9/P7 -> MT23108 H-273 P1
+	 L10/P7 -> MT23108 H-274 P1
+	 L11/P7 -> MT23108 H-275 P1
+	 L12/P7 -> MT23108 H-276 P1
+	 L1/P8 -> MT23108 H-277 P1
+	 L2/P8 -> MT23108 H-278 P1
+	 L3/P8 -> MT23108 H-279 P1
+	 L4/P8 -> MT23108 H-280 P1
+	 L5/P8 -> MT23108 H-281 P1
+	 L6/P8 -> MT23108 H-282 P1
+	 L7/P8 -> MT23108 H-283 P1
+	 L8/P8 -> MT23108 H-284 P1
+	 L9/P8 -> MT23108 H-285 P1
+	 L10/P8 -> MT23108 H-286 P1
+	 L11/P8 -> MT23108 H-287 P1
+	 L12/P8 -> MT23108 H-288 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P1
+	 L2/P9 -> MTS14400 SL2-1 L5/P1
+	 L3/P9 -> MTS14400 SL2-2 L4/P1
+	 L4/P9 -> MTS14400 SL2-2 L5/P1
+	 L5/P9 -> MTS14400 SL2-3 L4/P1
+	 L6/P9 -> MTS14400 SL2-3 L5/P1
+	 L7/P9 -> MTS14400 SL2-4 L4/P1
+	 L8/P9 -> MTS14400 SL2-4 L5/P1
+	 L9/P9 -> MTS14400 SL2-5 L4/P1
+	 L10/P9 -> MTS14400 SL2-6 L4/P1
+	 L11/P9 -> MTS14400 SL2-7 L4/P1
+	 L12/P9 -> MTS14400 SL2-8 L4/P1
+	 L1/P10 -> MTS14400 SL2-9 L4/P1
+	 L2/P10 -> MTS14400 SL2-10 L4/P1
+	 L3/P10 -> MTS14400 SL2-11 L4/P1
+	 L4/P10 -> MTS14400 SL2-12 L4/P1
+	 L5/P10 -> MTS14400 SL2-13 L4/P1
+	 L6/P10 -> MTS14400 SL2-14 L4/P1
+	 L7/P10 -> MTS14400 SL2-15 L4/P1
+	 L8/P10 -> MTS14400 SL2-16 L4/P1
+	 L9/P10 -> MTS14400 SL2-17 L4/P1
+	 L10/P10 -> MTS14400 SL2-18 L4/P1
+	 L11/P10 -> MTS14400 SL2-19 L4/P1
+	 L12/P10 -> MTS14400 SL2-20 L4/P1
+	 L1/P11 -> MTS14400 SL2-21 L4/P1
+	 L2/P11 -> MTS14400 SL2-22 L4/P1
+	 L3/P11 -> MTS14400 SL2-23 L4/P1
+	 L4/P11 -> MTS14400 SL2-24 L4/P1
+	 L5/P11 -> MTS14400 SL2-25 L4/P1
+	 L6/P11 -> MTS14400 SL2-26 L4/P1
+	 L7/P11 -> MTS14400 SL2-27 L3/P1
+	 L8/P11 -> MTS14400 SL2-27 L4/P1
+	 L9/P11 -> MTS14400 SL2-28 L3/P1
+	 L10/P11 -> MTS14400 SL2-28 L4/P1
+	 L11/P11 -> MTS14400 SL2-29 L3/P1
+	 L12/P11 -> MTS14400 SL2-29 L4/P1
+	 L1/P12 -> MTS14400 SL2-30 L3/P1
+	 L2/P12 -> MTS14400 SL2-30 L4/P1
+	 L3/P12 -> MTS14400 SL2-31 L3/P1
+	 L4/P12 -> MTS14400 SL2-31 L4/P1
+	 L5/P12 -> MTS14400 SL2-32 L3/P1
+	 L6/P12 -> MTS14400 SL2-32 L4/P1
+	 L7/P12 -> MTS14400 SL2-33 L3/P1
+	 L8/P12 -> MTS14400 SL2-33 L4/P1
+	 L9/P12 -> MTS14400 SL2-34 L3/P1
+	 L10/P12 -> MTS14400 SL2-34 L4/P1
+	 L11/P12 -> MTS14400 SL2-35 L3/P1
+	 L12/P12 -> MTS14400 SL2-35 L4/P1
+
+MTS14400 SL1-4
+	 L1/P1 -> MT23108 H-289 P1
+	 L2/P1 -> MT23108 H-290 P1
+	 L3/P1 -> MT23108 H-291 P1
+	 L4/P1 -> MT23108 H-292 P1
+	 L5/P1 -> MT23108 H-293 P1
+	 L6/P1 -> MT23108 H-294 P1
+	 L7/P1 -> MT23108 H-295 P1
+	 L8/P1 -> MT23108 H-296 P1
+	 L9/P1 -> MT23108 H-297 P1
+	 L10/P1 -> MT23108 H-298 P1
+	 L11/P1 -> MT23108 H-299 P1
+	 L12/P1 -> MT23108 H-300 P1
+	 L1/P2 -> MT23108 H-301 P1
+	 L2/P2 -> MT23108 H-302 P1
+	 L3/P2 -> MT23108 H-303 P1
+	 L4/P2 -> MT23108 H-304 P1
+	 L5/P2 -> MT23108 H-305 P1
+	 L6/P2 -> MT23108 H-306 P1
+	 L7/P2 -> MT23108 H-307 P1
+	 L8/P2 -> MT23108 H-308 P1
+	 L9/P2 -> MT23108 H-309 P1
+	 L10/P2 -> MT23108 H-310 P1
+	 L11/P2 -> MT23108 H-311 P1
+	 L12/P2 -> MT23108 H-312 P1
+	 L1/P3 -> MT23108 H-313 P1
+	 L2/P3 -> MT23108 H-314 P1
+	 L3/P3 -> MT23108 H-315 P1
+	 L4/P3 -> MT23108 H-316 P1
+	 L5/P3 -> MT23108 H-317 P1
+	 L6/P3 -> MT23108 H-318 P1
+	 L7/P3 -> MT23108 H-319 P1
+	 L8/P3 -> MT23108 H-320 P1
+	 L9/P3 -> MT23108 H-321 P1
+	 L10/P3 -> MT23108 H-322 P1
+	 L11/P3 -> MT23108 H-323 P1
+	 L12/P3 -> MT23108 H-324 P1
+	 L1/P4 -> MT23108 H-325 P1
+	 L2/P4 -> MT23108 H-326 P1
+	 L3/P4 -> MT23108 H-327 P1
+	 L4/P4 -> MT23108 H-328 P1
+	 L5/P4 -> MT23108 H-329 P1
+	 L6/P4 -> MT23108 H-330 P1
+	 L7/P4 -> MT23108 H-331 P1
+	 L8/P4 -> MT23108 H-332 P1
+	 L9/P4 -> MT23108 H-333 P1
+	 L10/P4 -> MT23108 H-334 P1
+	 L11/P4 -> MT23108 H-335 P1
+	 L12/P4 -> MT23108 H-336 P1
+	 L1/P5 -> MT23108 H-337 P1
+	 L2/P5 -> MT23108 H-338 P1
+	 L3/P5 -> MT23108 H-339 P1
+	 L4/P5 -> MT23108 H-340 P1
+	 L5/P5 -> MT23108 H-341 P1
+	 L6/P5 -> MT23108 H-342 P1
+	 L7/P5 -> MT23108 H-343 P1
+	 L8/P5 -> MT23108 H-344 P1
+	 L9/P5 -> MT23108 H-345 P1
+	 L10/P5 -> MT23108 H-346 P1
+	 L11/P5 -> MT23108 H-347 P1
+	 L12/P5 -> MT23108 H-348 P1
+	 L1/P6 -> MT23108 H-349 P1
+	 L2/P6 -> MT23108 H-350 P1
+	 L3/P6 -> MT23108 H-351 P1
+	 L4/P6 -> MT23108 H-352 P1
+	 L5/P6 -> MT23108 H-353 P1
+	 L6/P6 -> MT23108 H-354 P1
+	 L7/P6 -> MT23108 H-355 P1
+	 L8/P6 -> MT23108 H-356 P1
+	 L9/P6 -> MT23108 H-357 P1
+	 L10/P6 -> MT23108 H-358 P1
+	 L11/P6 -> MT23108 H-359 P1
+	 L12/P6 -> MT23108 H-360 P1
+	 L1/P7 -> MT23108 H-361 P1
+	 L2/P7 -> MT23108 H-362 P1
+	 L3/P7 -> MT23108 H-363 P1
+	 L4/P7 -> MT23108 H-364 P1
+	 L5/P7 -> MT23108 H-365 P1
+	 L6/P7 -> MT23108 H-366 P1
+	 L7/P7 -> MT23108 H-367 P1
+	 L8/P7 -> MT23108 H-368 P1
+	 L9/P7 -> MT23108 H-369 P1
+	 L10/P7 -> MT23108 H-370 P1
+	 L11/P7 -> MT23108 H-371 P1
+	 L12/P7 -> MT23108 H-372 P1
+	 L1/P8 -> MT23108 H-373 P1
+	 L2/P8 -> MT23108 H-374 P1
+	 L3/P8 -> MT23108 H-375 P1
+	 L4/P8 -> MT23108 H-376 P1
+	 L5/P8 -> MT23108 H-377 P1
+	 L6/P8 -> MT23108 H-378 P1
+	 L7/P8 -> MT23108 H-379 P1
+	 L8/P8 -> MT23108 H-380 P1
+	 L9/P8 -> MT23108 H-381 P1
+	 L10/P8 -> MT23108 H-382 P1
+	 L11/P8 -> MT23108 H-383 P1
+	 L12/P8 -> MT23108 H-384 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P1
+	 L2/P9 -> MTS14400 SL2-2 L6/P1
+	 L3/P9 -> MTS14400 SL2-3 L6/P1
+	 L4/P9 -> MTS14400 SL2-4 L6/P1
+	 L5/P9 -> MTS14400 SL2-5 L5/P1
+	 L6/P9 -> MTS14400 SL2-5 L6/P1
+	 L7/P9 -> MTS14400 SL2-6 L5/P1
+	 L8/P9 -> MTS14400 SL2-6 L6/P1
+	 L9/P9 -> MTS14400 SL2-7 L5/P1
+	 L10/P9 -> MTS14400 SL2-7 L6/P1
+	 L11/P9 -> MTS14400 SL2-8 L5/P1
+	 L12/P9 -> MTS14400 SL2-8 L6/P1
+	 L1/P10 -> MTS14400 SL2-9 L5/P1
+	 L2/P10 -> MTS14400 SL2-9 L6/P1
+	 L3/P10 -> MTS14400 SL2-10 L5/P1
+	 L4/P10 -> MTS14400 SL2-10 L6/P1
+	 L5/P10 -> MTS14400 SL2-11 L5/P1
+	 L6/P10 -> MTS14400 SL2-11 L6/P1
+	 L7/P10 -> MTS14400 SL2-12 L5/P1
+	 L8/P10 -> MTS14400 SL2-12 L6/P1
+	 L9/P10 -> MTS14400 SL2-13 L5/P1
+	 L10/P10 -> MTS14400 SL2-13 L6/P1
+	 L11/P10 -> MTS14400 SL2-14 L5/P1
+	 L12/P10 -> MTS14400 SL2-14 L6/P1
+	 L1/P11 -> MTS14400 SL2-15 L5/P1
+	 L2/P11 -> MTS14400 SL2-15 L6/P1
+	 L3/P11 -> MTS14400 SL2-16 L5/P1
+	 L4/P11 -> MTS14400 SL2-16 L6/P1
+	 L5/P11 -> MTS14400 SL2-17 L5/P1
+	 L6/P11 -> MTS14400 SL2-17 L6/P1
+	 L7/P11 -> MTS14400 SL2-18 L5/P1
+	 L8/P11 -> MTS14400 SL2-19 L5/P1
+	 L9/P11 -> MTS14400 SL2-20 L5/P1
+	 L10/P11 -> MTS14400 SL2-21 L5/P1
+	 L11/P11 -> MTS14400 SL2-22 L5/P1
+	 L12/P11 -> MTS14400 SL2-23 L5/P1
+	 L1/P12 -> MTS14400 SL2-24 L5/P1
+	 L2/P12 -> MTS14400 SL2-25 L5/P1
+	 L3/P12 -> MTS14400 SL2-26 L5/P1
+	 L4/P12 -> MTS14400 SL2-27 L5/P1
+	 L5/P12 -> MTS14400 SL2-28 L5/P1
+	 L6/P12 -> MTS14400 SL2-29 L5/P1
+	 L7/P12 -> MTS14400 SL2-30 L5/P1
+	 L8/P12 -> MTS14400 SL2-31 L5/P1
+	 L9/P12 -> MTS14400 SL2-32 L5/P1
+	 L10/P12 -> MTS14400 SL2-33 L5/P1
+	 L11/P12 -> MTS14400 SL2-34 L5/P1
+	 L12/P12 -> MTS14400 SL2-35 L5/P1
+
+MTS14400 SL1-5
+	 L1/P1 -> MT23108 H-385 P1
+	 L2/P1 -> MT23108 H-386 P1
+	 L3/P1 -> MT23108 H-387 P1
+	 L4/P1 -> MT23108 H-388 P1
+	 L5/P1 -> MT23108 H-389 P1
+	 L6/P1 -> MT23108 H-390 P1
+	 L7/P1 -> MT23108 H-391 P1
+	 L8/P1 -> MT23108 H-392 P1
+	 L9/P1 -> MT23108 H-393 P1
+	 L10/P1 -> MT23108 H-394 P1
+	 L11/P1 -> MT23108 H-395 P1
+	 L12/P1 -> MT23108 H-396 P1
+	 L1/P2 -> MT23108 H-397 P1
+	 L2/P2 -> MT23108 H-398 P1
+	 L3/P2 -> MT23108 H-399 P1
+	 L4/P2 -> MT23108 H-400 P1
+	 L5/P2 -> MT23108 H-401 P1
+	 L6/P2 -> MT23108 H-402 P1
+	 L7/P2 -> MT23108 H-403 P1
+	 L8/P2 -> MT23108 H-404 P1
+	 L9/P2 -> MT23108 H-405 P1
+	 L10/P2 -> MT23108 H-406 P1
+	 L11/P2 -> MT23108 H-407 P1
+	 L12/P2 -> MT23108 H-408 P1
+	 L1/P3 -> MT23108 H-409 P1
+	 L2/P3 -> MT23108 H-410 P1
+	 L3/P3 -> MT23108 H-411 P1
+	 L4/P3 -> MT23108 H-412 P1
+	 L5/P3 -> MT23108 H-413 P1
+	 L6/P3 -> MT23108 H-414 P1
+	 L7/P3 -> MT23108 H-415 P1
+	 L8/P3 -> MT23108 H-416 P1
+	 L9/P3 -> MT23108 H-417 P1
+	 L10/P3 -> MT23108 H-418 P1
+	 L11/P3 -> MT23108 H-419 P1
+	 L12/P3 -> MT23108 H-420 P1
+	 L1/P4 -> MT23108 H-421 P1
+	 L2/P4 -> MT23108 H-422 P1
+	 L3/P4 -> MT23108 H-423 P1
+	 L4/P4 -> MT23108 H-424 P1
+	 L5/P4 -> MT23108 H-425 P1
+	 L6/P4 -> MT23108 H-426 P1
+	 L7/P4 -> MT23108 H-427 P1
+	 L8/P4 -> MT23108 H-428 P1
+	 L9/P4 -> MT23108 H-429 P1
+	 L10/P4 -> MT23108 H-430 P1
+	 L11/P4 -> MT23108 H-431 P1
+	 L12/P4 -> MT23108 H-432 P1
+	 L1/P5 -> MT23108 H-433 P1
+	 L2/P5 -> MT23108 H-434 P1
+	 L3/P5 -> MT23108 H-435 P1
+	 L4/P5 -> MT23108 H-436 P1
+	 L5/P5 -> MT23108 H-437 P1
+	 L6/P5 -> MT23108 H-438 P1
+	 L7/P5 -> MT23108 H-439 P1
+	 L8/P5 -> MT23108 H-440 P1
+	 L9/P5 -> MT23108 H-441 P1
+	 L10/P5 -> MT23108 H-442 P1
+	 L11/P5 -> MT23108 H-443 P1
+	 L12/P5 -> MT23108 H-444 P1
+	 L1/P6 -> MT23108 H-445 P1
+	 L2/P6 -> MT23108 H-446 P1
+	 L3/P6 -> MT23108 H-447 P1
+	 L4/P6 -> MT23108 H-448 P1
+	 L5/P6 -> MT23108 H-449 P1
+	 L6/P6 -> MT23108 H-450 P1
+	 L7/P6 -> MT23108 H-451 P1
+	 L8/P6 -> MT23108 H-452 P1
+	 L9/P6 -> MT23108 H-453 P1
+	 L10/P6 -> MT23108 H-454 P1
+	 L11/P6 -> MT23108 H-455 P1
+	 L12/P6 -> MT23108 H-456 P1
+	 L1/P7 -> MT23108 H-457 P1
+	 L2/P7 -> MT23108 H-458 P1
+	 L3/P7 -> MT23108 H-459 P1
+	 L4/P7 -> MT23108 H-460 P1
+	 L5/P7 -> MT23108 H-461 P1
+	 L6/P7 -> MT23108 H-462 P1
+	 L7/P7 -> MT23108 H-463 P1
+	 L8/P7 -> MT23108 H-464 P1
+	 L9/P7 -> MT23108 H-465 P1
+	 L10/P7 -> MT23108 H-466 P1
+	 L11/P7 -> MT23108 H-467 P1
+	 L12/P7 -> MT23108 H-468 P1
+	 L1/P8 -> MT23108 H-469 P1
+	 L2/P8 -> MT23108 H-470 P1
+	 L3/P8 -> MT23108 H-471 P1
+	 L4/P8 -> MT23108 H-472 P1
+	 L5/P8 -> MT23108 H-473 P1
+	 L6/P8 -> MT23108 H-474 P1
+	 L7/P8 -> MT23108 H-475 P1
+	 L8/P8 -> MT23108 H-476 P1
+	 L9/P8 -> MT23108 H-477 P1
+	 L10/P8 -> MT23108 H-478 P1
+	 L11/P8 -> MT23108 H-479 P1
+	 L12/P8 -> MT23108 H-480 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P1
+	 L2/P9 -> MTS14400 SL2-2 L7/P1
+	 L3/P9 -> MTS14400 SL2-3 L7/P1
+	 L4/P9 -> MTS14400 SL2-4 L7/P1
+	 L5/P9 -> MTS14400 SL2-5 L7/P1
+	 L6/P9 -> MTS14400 SL2-6 L7/P1
+	 L7/P9 -> MTS14400 SL2-7 L7/P1
+	 L8/P9 -> MTS14400 SL2-8 L7/P1
+	 L9/P9 -> MTS14400 SL2-9 L7/P1
+	 L10/P9 -> MTS14400 SL2-10 L7/P1
+	 L11/P9 -> MTS14400 SL2-11 L7/P1
+	 L12/P9 -> MTS14400 SL2-12 L7/P1
+	 L1/P10 -> MTS14400 SL2-13 L7/P1
+	 L2/P10 -> MTS14400 SL2-14 L7/P1
+	 L3/P10 -> MTS14400 SL2-15 L7/P1
+	 L4/P10 -> MTS14400 SL2-16 L7/P1
+	 L5/P10 -> MTS14400 SL2-17 L7/P1
+	 L6/P10 -> MTS14400 SL2-18 L6/P1
+	 L7/P10 -> MTS14400 SL2-18 L7/P1
+	 L8/P10 -> MTS14400 SL2-19 L6/P1
+	 L9/P10 -> MTS14400 SL2-19 L7/P1
+	 L10/P10 -> MTS14400 SL2-20 L6/P1
+	 L11/P10 -> MTS14400 SL2-20 L7/P1
+	 L12/P10 -> MTS14400 SL2-21 L6/P1
+	 L1/P11 -> MTS14400 SL2-21 L7/P1
+	 L2/P11 -> MTS14400 SL2-22 L6/P1
+	 L3/P11 -> MTS14400 SL2-22 L7/P1
+	 L4/P11 -> MTS14400 SL2-23 L6/P1
+	 L5/P11 -> MTS14400 SL2-23 L7/P1
+	 L6/P11 -> MTS14400 SL2-24 L6/P1
+	 L7/P11 -> MTS14400 SL2-24 L7/P1
+	 L8/P11 -> MTS14400 SL2-25 L6/P1
+	 L9/P11 -> MTS14400 SL2-25 L7/P1
+	 L10/P11 -> MTS14400 SL2-26 L6/P1
+	 L11/P11 -> MTS14400 SL2-26 L7/P1
+	 L12/P11 -> MTS14400 SL2-27 L6/P1
+	 L1/P12 -> MTS14400 SL2-27 L7/P1
+	 L2/P12 -> MTS14400 SL2-28 L6/P1
+	 L3/P12 -> MTS14400 SL2-28 L7/P1
+	 L4/P12 -> MTS14400 SL2-29 L6/P1
+	 L5/P12 -> MTS14400 SL2-29 L7/P1
+	 L6/P12 -> MTS14400 SL2-30 L6/P1
+	 L7/P12 -> MTS14400 SL2-30 L7/P1
+	 L8/P12 -> MTS14400 SL2-31 L6/P1
+	 L9/P12 -> MTS14400 SL2-32 L6/P1
+	 L10/P12 -> MTS14400 SL2-33 L6/P1
+	 L11/P12 -> MTS14400 SL2-34 L6/P1
+	 L12/P12 -> MTS14400 SL2-35 L6/P1
+
+MTS14400 SL1-6
+	 L1/P1 -> MT23108 H-481 P1
+	 L2/P1 -> MT23108 H-482 P1
+	 L3/P1 -> MT23108 H-483 P1
+	 L4/P1 -> MT23108 H-484 P1
+	 L5/P1 -> MT23108 H-485 P1
+	 L6/P1 -> MT23108 H-486 P1
+	 L7/P1 -> MT23108 H-487 P1
+	 L8/P1 -> MT23108 H-488 P1
+	 L9/P1 -> MT23108 H-489 P1
+	 L10/P1 -> MT23108 H-490 P1
+	 L11/P1 -> MT23108 H-491 P1
+	 L12/P1 -> MT23108 H-492 P1
+	 L1/P2 -> MT23108 H-493 P1
+	 L2/P2 -> MT23108 H-494 P1
+	 L3/P2 -> MT23108 H-495 P1
+	 L4/P2 -> MT23108 H-496 P1
+	 L5/P2 -> MT23108 H-497 P1
+	 L6/P2 -> MT23108 H-498 P1
+	 L7/P2 -> MT23108 H-499 P1
+	 L8/P2 -> MT23108 H-500 P1
+	 L9/P2 -> MT23108 H-501 P1
+	 L10/P2 -> MT23108 H-502 P1
+	 L11/P2 -> MT23108 H-503 P1
+	 L12/P2 -> MT23108 H-504 P1
+	 L1/P3 -> MT23108 H-505 P1
+	 L2/P3 -> MT23108 H-506 P1
+	 L3/P3 -> MT23108 H-507 P1
+	 L4/P3 -> MT23108 H-508 P1
+	 L5/P3 -> MT23108 H-509 P1
+	 L6/P3 -> MT23108 H-510 P1
+	 L7/P3 -> MT23108 H-511 P1
+	 L8/P3 -> MT23108 H-512 P1
+	 L9/P3 -> MT23108 H-513 P1
+	 L10/P3 -> MT23108 H-514 P1
+	 L11/P3 -> MT23108 H-515 P1
+	 L12/P3 -> MT23108 H-516 P1
+	 L1/P4 -> MT23108 H-517 P1
+	 L2/P4 -> MT23108 H-518 P1
+	 L3/P4 -> MT23108 H-519 P1
+	 L4/P4 -> MT23108 H-520 P1
+	 L5/P4 -> MT23108 H-521 P1
+	 L6/P4 -> MT23108 H-522 P1
+	 L7/P4 -> MT23108 H-523 P1
+	 L8/P4 -> MT23108 H-524 P1
+	 L9/P4 -> MT23108 H-525 P1
+	 L10/P4 -> MT23108 H-526 P1
+	 L11/P4 -> MT23108 H-527 P1
+	 L12/P4 -> MT23108 H-528 P1
+	 L1/P5 -> MT23108 H-529 P1
+	 L2/P5 -> MT23108 H-530 P1
+	 L3/P5 -> MT23108 H-531 P1
+	 L4/P5 -> MT23108 H-532 P1
+	 L5/P5 -> MT23108 H-533 P1
+	 L6/P5 -> MT23108 H-534 P1
+	 L7/P5 -> MT23108 H-535 P1
+	 L8/P5 -> MT23108 H-536 P1
+	 L9/P5 -> MT23108 H-537 P1
+	 L10/P5 -> MT23108 H-538 P1
+	 L11/P5 -> MT23108 H-539 P1
+	 L12/P5 -> MT23108 H-540 P1
+	 L1/P6 -> MT23108 H-541 P1
+	 L2/P6 -> MT23108 H-542 P1
+	 L3/P6 -> MT23108 H-543 P1
+	 L4/P6 -> MT23108 H-544 P1
+	 L5/P6 -> MT23108 H-545 P1
+	 L6/P6 -> MT23108 H-546 P1
+	 L7/P6 -> MT23108 H-547 P1
+	 L8/P6 -> MT23108 H-548 P1
+	 L9/P6 -> MT23108 H-549 P1
+	 L10/P6 -> MT23108 H-550 P1
+	 L11/P6 -> MT23108 H-551 P1
+	 L12/P6 -> MT23108 H-552 P1
+	 L1/P7 -> MT23108 H-553 P1
+	 L2/P7 -> MT23108 H-554 P1
+	 L3/P7 -> MT23108 H-555 P1
+	 L4/P7 -> MT23108 H-556 P1
+	 L5/P7 -> MT23108 H-557 P1
+	 L6/P7 -> MT23108 H-558 P1
+	 L7/P7 -> MT23108 H-559 P1
+	 L8/P7 -> MT23108 H-560 P1
+	 L9/P7 -> MT23108 H-561 P1
+	 L10/P7 -> MT23108 H-562 P1
+	 L11/P7 -> MT23108 H-563 P1
+	 L12/P7 -> MT23108 H-564 P1
+	 L1/P8 -> MT23108 H-565 P1
+	 L2/P8 -> MT23108 H-566 P1
+	 L3/P8 -> MT23108 H-567 P1
+	 L4/P8 -> MT23108 H-568 P1
+	 L5/P8 -> MT23108 H-569 P1
+	 L6/P8 -> MT23108 H-570 P1
+	 L7/P8 -> MT23108 H-571 P1
+	 L8/P8 -> MT23108 H-572 P1
+	 L9/P8 -> MT23108 H-573 P1
+	 L10/P8 -> MT23108 H-574 P1
+	 L11/P8 -> MT23108 H-575 P1
+	 L12/P8 -> MT23108 H-576 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P1
+	 L2/P9 -> MTS14400 SL2-1 L9/P1
+	 L3/P9 -> MTS14400 SL2-2 L8/P1
+	 L4/P9 -> MTS14400 SL2-2 L9/P1
+	 L5/P9 -> MTS14400 SL2-3 L8/P1
+	 L6/P9 -> MTS14400 SL2-3 L9/P1
+	 L7/P9 -> MTS14400 SL2-4 L8/P1
+	 L8/P9 -> MTS14400 SL2-4 L9/P1
+	 L9/P9 -> MTS14400 SL2-5 L8/P1
+	 L10/P9 -> MTS14400 SL2-5 L9/P1
+	 L11/P9 -> MTS14400 SL2-6 L8/P1
+	 L12/P9 -> MTS14400 SL2-6 L9/P1
+	 L1/P10 -> MTS14400 SL2-7 L8/P1
+	 L2/P10 -> MTS14400 SL2-7 L9/P1
+	 L3/P10 -> MTS14400 SL2-8 L8/P1
+	 L4/P10 -> MTS14400 SL2-8 L9/P1
+	 L5/P10 -> MTS14400 SL2-9 L8/P1
+	 L6/P10 -> MTS14400 SL2-10 L8/P1
+	 L7/P10 -> MTS14400 SL2-11 L8/P1
+	 L8/P10 -> MTS14400 SL2-12 L8/P1
+	 L9/P10 -> MTS14400 SL2-13 L8/P1
+	 L10/P10 -> MTS14400 SL2-14 L8/P1
+	 L11/P10 -> MTS14400 SL2-15 L8/P1
+	 L12/P10 -> MTS14400 SL2-16 L8/P1
+	 L1/P11 -> MTS14400 SL2-17 L8/P1
+	 L2/P11 -> MTS14400 SL2-18 L8/P1
+	 L3/P11 -> MTS14400 SL2-19 L8/P1
+	 L4/P11 -> MTS14400 SL2-20 L8/P1
+	 L5/P11 -> MTS14400 SL2-21 L8/P1
+	 L6/P11 -> MTS14400 SL2-22 L8/P1
+	 L7/P11 -> MTS14400 SL2-23 L8/P1
+	 L8/P11 -> MTS14400 SL2-24 L8/P1
+	 L9/P11 -> MTS14400 SL2-25 L8/P1
+	 L10/P11 -> MTS14400 SL2-26 L8/P1
+	 L11/P11 -> MTS14400 SL2-27 L8/P1
+	 L12/P11 -> MTS14400 SL2-28 L8/P1
+	 L1/P12 -> MTS14400 SL2-29 L8/P1
+	 L2/P12 -> MTS14400 SL2-30 L8/P1
+	 L3/P12 -> MTS14400 SL2-31 L7/P1
+	 L4/P12 -> MTS14400 SL2-31 L8/P1
+	 L5/P12 -> MTS14400 SL2-32 L7/P1
+	 L6/P12 -> MTS14400 SL2-32 L8/P1
+	 L7/P12 -> MTS14400 SL2-33 L7/P1
+	 L8/P12 -> MTS14400 SL2-33 L8/P1
+	 L9/P12 -> MTS14400 SL2-34 L7/P1
+	 L10/P12 -> MTS14400 SL2-34 L8/P1
+	 L11/P12 -> MTS14400 SL2-35 L7/P1
+	 L12/P12 -> MTS14400 SL2-35 L8/P1
+
+MTS14400 SL1-7
+	 L1/P1 -> MT23108 H-577 P1
+	 L2/P1 -> MT23108 H-578 P1
+	 L3/P1 -> MT23108 H-579 P1
+	 L4/P1 -> MT23108 H-580 P1
+	 L5/P1 -> MT23108 H-581 P1
+	 L6/P1 -> MT23108 H-582 P1
+	 L7/P1 -> MT23108 H-583 P1
+	 L8/P1 -> MT23108 H-584 P1
+	 L9/P1 -> MT23108 H-585 P1
+	 L10/P1 -> MT23108 H-586 P1
+	 L11/P1 -> MT23108 H-587 P1
+	 L12/P1 -> MT23108 H-588 P1
+	 L1/P2 -> MT23108 H-589 P1
+	 L2/P2 -> MT23108 H-590 P1
+	 L3/P2 -> MT23108 H-591 P1
+	 L4/P2 -> MT23108 H-592 P1
+	 L5/P2 -> MT23108 H-593 P1
+	 L6/P2 -> MT23108 H-594 P1
+	 L7/P2 -> MT23108 H-595 P1
+	 L8/P2 -> MT23108 H-596 P1
+	 L9/P2 -> MT23108 H-597 P1
+	 L10/P2 -> MT23108 H-598 P1
+	 L11/P2 -> MT23108 H-599 P1
+	 L12/P2 -> MT23108 H-600 P1
+	 L1/P3 -> MT23108 H-601 P1
+	 L2/P3 -> MT23108 H-602 P1
+	 L3/P3 -> MT23108 H-603 P1
+	 L4/P3 -> MT23108 H-604 P1
+	 L5/P3 -> MT23108 H-605 P1
+	 L6/P3 -> MT23108 H-606 P1
+	 L7/P3 -> MT23108 H-607 P1
+	 L8/P3 -> MT23108 H-608 P1
+	 L9/P3 -> MT23108 H-609 P1
+	 L10/P3 -> MT23108 H-610 P1
+	 L11/P3 -> MT23108 H-611 P1
+	 L12/P3 -> MT23108 H-612 P1
+	 L1/P4 -> MT23108 H-613 P1
+	 L2/P4 -> MT23108 H-614 P1
+	 L3/P4 -> MT23108 H-615 P1
+	 L4/P4 -> MT23108 H-616 P1
+	 L5/P4 -> MT23108 H-617 P1
+	 L6/P4 -> MT23108 H-618 P1
+	 L7/P4 -> MT23108 H-619 P1
+	 L8/P4 -> MT23108 H-620 P1
+	 L9/P4 -> MT23108 H-621 P1
+	 L10/P4 -> MT23108 H-622 P1
+	 L11/P4 -> MT23108 H-623 P1
+	 L12/P4 -> MT23108 H-624 P1
+	 L1/P5 -> MT23108 H-625 P1
+	 L2/P5 -> MT23108 H-626 P1
+	 L3/P5 -> MT23108 H-627 P1
+	 L4/P5 -> MT23108 H-628 P1
+	 L5/P5 -> MT23108 H-629 P1
+	 L6/P5 -> MT23108 H-630 P1
+	 L7/P5 -> MT23108 H-631 P1
+	 L8/P5 -> MT23108 H-632 P1
+	 L9/P5 -> MT23108 H-633 P1
+	 L10/P5 -> MT23108 H-634 P1
+	 L11/P5 -> MT23108 H-635 P1
+	 L12/P5 -> MT23108 H-636 P1
+	 L1/P6 -> MT23108 H-637 P1
+	 L2/P6 -> MT23108 H-638 P1
+	 L3/P6 -> MT23108 H-639 P1
+	 L4/P6 -> MT23108 H-640 P1
+	 L5/P6 -> MT23108 H-641 P1
+	 L6/P6 -> MT23108 H-642 P1
+	 L7/P6 -> MT23108 H-643 P1
+	 L8/P6 -> MT23108 H-644 P1
+	 L9/P6 -> MT23108 H-645 P1
+	 L10/P6 -> MT23108 H-646 P1
+	 L11/P6 -> MT23108 H-647 P1
+	 L12/P6 -> MT23108 H-648 P1
+	 L1/P7 -> MT23108 H-649 P1
+	 L2/P7 -> MT23108 H-650 P1
+	 L3/P7 -> MT23108 H-651 P1
+	 L4/P7 -> MT23108 H-652 P1
+	 L5/P7 -> MT23108 H-653 P1
+	 L6/P7 -> MT23108 H-654 P1
+	 L7/P7 -> MT23108 H-655 P1
+	 L8/P7 -> MT23108 H-656 P1
+	 L9/P7 -> MT23108 H-657 P1
+	 L10/P7 -> MT23108 H-658 P1
+	 L11/P7 -> MT23108 H-659 P1
+	 L12/P7 -> MT23108 H-660 P1
+	 L1/P8 -> MT23108 H-661 P1
+	 L2/P8 -> MT23108 H-662 P1
+	 L3/P8 -> MT23108 H-663 P1
+	 L4/P8 -> MT23108 H-664 P1
+	 L5/P8 -> MT23108 H-665 P1
+	 L6/P8 -> MT23108 H-666 P1
+	 L7/P8 -> MT23108 H-667 P1
+	 L8/P8 -> MT23108 H-668 P1
+	 L9/P8 -> MT23108 H-669 P1
+	 L10/P8 -> MT23108 H-670 P1
+	 L11/P8 -> MT23108 H-671 P1
+	 L12/P8 -> MT23108 H-672 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P1
+	 L2/P9 -> MTS14400 SL2-2 L10/P1
+	 L3/P9 -> MTS14400 SL2-3 L10/P1
+	 L4/P9 -> MTS14400 SL2-4 L10/P1
+	 L5/P9 -> MTS14400 SL2-5 L10/P1
+	 L6/P9 -> MTS14400 SL2-6 L10/P1
+	 L7/P9 -> MTS14400 SL2-7 L10/P1
+	 L8/P9 -> MTS14400 SL2-8 L10/P1
+	 L9/P9 -> MTS14400 SL2-9 L9/P1
+	 L10/P9 -> MTS14400 SL2-9 L10/P1
+	 L11/P9 -> MTS14400 SL2-10 L9/P1
+	 L12/P9 -> MTS14400 SL2-10 L10/P1
+	 L1/P10 -> MTS14400 SL2-11 L9/P1
+	 L2/P10 -> MTS14400 SL2-11 L10/P1
+	 L3/P10 -> MTS14400 SL2-12 L9/P1
+	 L4/P10 -> MTS14400 SL2-12 L10/P1
+	 L5/P10 -> MTS14400 SL2-13 L9/P1
+	 L6/P10 -> MTS14400 SL2-13 L10/P1
+	 L7/P10 -> MTS14400 SL2-14 L9/P1
+	 L8/P10 -> MTS14400 SL2-14 L10/P1
+	 L9/P10 -> MTS14400 SL2-15 L9/P1
+	 L10/P10 -> MTS14400 SL2-15 L10/P1
+	 L11/P10 -> MTS14400 SL2-16 L9/P1
+	 L12/P10 -> MTS14400 SL2-16 L10/P1
+	 L1/P11 -> MTS14400 SL2-17 L9/P1
+	 L2/P11 -> MTS14400 SL2-17 L10/P1
+	 L3/P11 -> MTS14400 SL2-18 L9/P1
+	 L4/P11 -> MTS14400 SL2-18 L10/P1
+	 L5/P11 -> MTS14400 SL2-19 L9/P1
+	 L6/P11 -> MTS14400 SL2-19 L10/P1
+	 L7/P11 -> MTS14400 SL2-20 L9/P1
+	 L8/P11 -> MTS14400 SL2-20 L10/P1
+	 L9/P11 -> MTS14400 SL2-21 L9/P1
+	 L10/P11 -> MTS14400 SL2-21 L10/P1
+	 L11/P11 -> MTS14400 SL2-22 L9/P1
+	 L12/P11 -> MTS14400 SL2-23 L9/P1
+	 L1/P12 -> MTS14400 SL2-24 L9/P1
+	 L2/P12 -> MTS14400 SL2-25 L9/P1
+	 L3/P12 -> MTS14400 SL2-26 L9/P1
+	 L4/P12 -> MTS14400 SL2-27 L9/P1
+	 L5/P12 -> MTS14400 SL2-28 L9/P1
+	 L6/P12 -> MTS14400 SL2-29 L9/P1
+	 L7/P12 -> MTS14400 SL2-30 L9/P1
+	 L8/P12 -> MTS14400 SL2-31 L9/P1
+	 L9/P12 -> MTS14400 SL2-32 L9/P1
+	 L10/P12 -> MTS14400 SL2-33 L9/P1
+	 L11/P12 -> MTS14400 SL2-34 L9/P1
+	 L12/P12 -> MTS14400 SL2-35 L9/P1
+
+MTS14400 SL1-8
+	 L1/P1 -> MT23108 H-673 P1
+	 L2/P1 -> MT23108 H-674 P1
+	 L3/P1 -> MT23108 H-675 P1
+	 L4/P1 -> MT23108 H-676 P1
+	 L5/P1 -> MT23108 H-677 P1
+	 L6/P1 -> MT23108 H-678 P1
+	 L7/P1 -> MT23108 H-679 P1
+	 L8/P1 -> MT23108 H-680 P1
+	 L9/P1 -> MT23108 H-681 P1
+	 L10/P1 -> MT23108 H-682 P1
+	 L11/P1 -> MT23108 H-683 P1
+	 L12/P1 -> MT23108 H-684 P1
+	 L1/P2 -> MT23108 H-685 P1
+	 L2/P2 -> MT23108 H-686 P1
+	 L3/P2 -> MT23108 H-687 P1
+	 L4/P2 -> MT23108 H-688 P1
+	 L5/P2 -> MT23108 H-689 P1
+	 L6/P2 -> MT23108 H-690 P1
+	 L7/P2 -> MT23108 H-691 P1
+	 L8/P2 -> MT23108 H-692 P1
+	 L9/P2 -> MT23108 H-693 P1
+	 L10/P2 -> MT23108 H-694 P1
+	 L11/P2 -> MT23108 H-695 P1
+	 L12/P2 -> MT23108 H-696 P1
+	 L1/P3 -> MT23108 H-697 P1
+	 L2/P3 -> MT23108 H-698 P1
+	 L3/P3 -> MT23108 H-699 P1
+	 L4/P3 -> MT23108 H-700 P1
+	 L5/P3 -> MT23108 H-701 P1
+	 L6/P3 -> MT23108 H-702 P1
+	 L7/P3 -> MT23108 H-703 P1
+	 L8/P3 -> MT23108 H-704 P1
+	 L9/P3 -> MT23108 H-705 P1
+	 L10/P3 -> MT23108 H-706 P1
+	 L11/P3 -> MT23108 H-707 P1
+	 L12/P3 -> MT23108 H-708 P1
+	 L1/P4 -> MT23108 H-709 P1
+	 L2/P4 -> MT23108 H-710 P1
+	 L3/P4 -> MT23108 H-711 P1
+	 L4/P4 -> MT23108 H-712 P1
+	 L5/P4 -> MT23108 H-713 P1
+	 L6/P4 -> MT23108 H-714 P1
+	 L7/P4 -> MT23108 H-715 P1
+	 L8/P4 -> MT23108 H-716 P1
+	 L9/P4 -> MT23108 H-717 P1
+	 L10/P4 -> MT23108 H-718 P1
+	 L11/P4 -> MT23108 H-719 P1
+	 L12/P4 -> MT23108 H-720 P1
+	 L1/P5 -> MT23108 H-721 P1
+	 L2/P5 -> MT23108 H-722 P1
+	 L3/P5 -> MT23108 H-723 P1
+	 L4/P5 -> MT23108 H-724 P1
+	 L5/P5 -> MT23108 H-725 P1
+	 L6/P5 -> MT23108 H-726 P1
+	 L7/P5 -> MT23108 H-727 P1
+	 L8/P5 -> MT23108 H-728 P1
+	 L9/P5 -> MT23108 H-729 P1
+	 L10/P5 -> MT23108 H-730 P1
+	 L11/P5 -> MT23108 H-731 P1
+	 L12/P5 -> MT23108 H-732 P1
+	 L1/P6 -> MT23108 H-733 P1
+	 L2/P6 -> MT23108 H-734 P1
+	 L3/P6 -> MT23108 H-735 P1
+	 L4/P6 -> MT23108 H-736 P1
+	 L5/P6 -> MT23108 H-737 P1
+	 L6/P6 -> MT23108 H-738 P1
+	 L7/P6 -> MT23108 H-739 P1
+	 L8/P6 -> MT23108 H-740 P1
+	 L9/P6 -> MT23108 H-741 P1
+	 L10/P6 -> MT23108 H-742 P1
+	 L11/P6 -> MT23108 H-743 P1
+	 L12/P6 -> MT23108 H-744 P1
+	 L1/P7 -> MT23108 H-745 P1
+	 L2/P7 -> MT23108 H-746 P1
+	 L3/P7 -> MT23108 H-747 P1
+	 L4/P7 -> MT23108 H-748 P1
+	 L5/P7 -> MT23108 H-749 P1
+	 L6/P7 -> MT23108 H-750 P1
+	 L7/P7 -> MT23108 H-751 P1
+	 L8/P7 -> MT23108 H-752 P1
+	 L9/P7 -> MT23108 H-753 P1
+	 L10/P7 -> MT23108 H-754 P1
+	 L11/P7 -> MT23108 H-755 P1
+	 L12/P7 -> MT23108 H-756 P1
+	 L1/P8 -> MT23108 H-757 P1
+	 L2/P8 -> MT23108 H-758 P1
+	 L3/P8 -> MT23108 H-759 P1
+	 L4/P8 -> MT23108 H-760 P1
+	 L5/P8 -> MT23108 H-761 P1
+	 L6/P8 -> MT23108 H-762 P1
+	 L7/P8 -> MT23108 H-763 P1
+	 L8/P8 -> MT23108 H-764 P1
+	 L9/P8 -> MT23108 H-765 P1
+	 L10/P8 -> MT23108 H-766 P1
+	 L11/P8 -> MT23108 H-767 P1
+	 L12/P8 -> MT23108 H-768 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P1
+	 L2/P9 -> MTS14400 SL2-2 L11/P1
+	 L3/P9 -> MTS14400 SL2-3 L11/P1
+	 L4/P9 -> MTS14400 SL2-4 L11/P1
+	 L5/P9 -> MTS14400 SL2-5 L11/P1
+	 L6/P9 -> MTS14400 SL2-6 L11/P1
+	 L7/P9 -> MTS14400 SL2-7 L11/P1
+	 L8/P9 -> MTS14400 SL2-8 L11/P1
+	 L9/P9 -> MTS14400 SL2-9 L11/P1
+	 L10/P9 -> MTS14400 SL2-10 L11/P1
+	 L11/P9 -> MTS14400 SL2-11 L11/P1
+	 L12/P9 -> MTS14400 SL2-12 L11/P1
+	 L1/P10 -> MTS14400 SL2-13 L11/P1
+	 L2/P10 -> MTS14400 SL2-14 L11/P1
+	 L3/P10 -> MTS14400 SL2-15 L11/P1
+	 L4/P10 -> MTS14400 SL2-16 L11/P1
+	 L5/P10 -> MTS14400 SL2-17 L11/P1
+	 L6/P10 -> MTS14400 SL2-18 L11/P1
+	 L7/P10 -> MTS14400 SL2-19 L11/P1
+	 L8/P10 -> MTS14400 SL2-20 L11/P1
+	 L9/P10 -> MTS14400 SL2-21 L11/P1
+	 L10/P10 -> MTS14400 SL2-22 L10/P1
+	 L11/P10 -> MTS14400 SL2-22 L11/P1
+	 L12/P10 -> MTS14400 SL2-23 L10/P1
+	 L1/P11 -> MTS14400 SL2-23 L11/P1
+	 L2/P11 -> MTS14400 SL2-24 L10/P1
+	 L3/P11 -> MTS14400 SL2-24 L11/P1
+	 L4/P11 -> MTS14400 SL2-25 L10/P1
+	 L5/P11 -> MTS14400 SL2-25 L11/P1
+	 L6/P11 -> MTS14400 SL2-26 L10/P1
+	 L7/P11 -> MTS14400 SL2-26 L11/P1
+	 L8/P11 -> MTS14400 SL2-27 L10/P1
+	 L9/P11 -> MTS14400 SL2-27 L11/P1
+	 L10/P11 -> MTS14400 SL2-28 L10/P1
+	 L11/P11 -> MTS14400 SL2-28 L11/P1
+	 L12/P11 -> MTS14400 SL2-29 L10/P1
+	 L1/P12 -> MTS14400 SL2-29 L11/P1
+	 L2/P12 -> MTS14400 SL2-30 L10/P1
+	 L3/P12 -> MTS14400 SL2-30 L11/P1
+	 L4/P12 -> MTS14400 SL2-31 L10/P1
+	 L5/P12 -> MTS14400 SL2-31 L11/P1
+	 L6/P12 -> MTS14400 SL2-32 L10/P1
+	 L7/P12 -> MTS14400 SL2-32 L11/P1
+	 L8/P12 -> MTS14400 SL2-33 L10/P1
+	 L9/P12 -> MTS14400 SL2-33 L11/P1
+	 L10/P12 -> MTS14400 SL2-34 L10/P1
+	 L11/P12 -> MTS14400 SL2-34 L11/P1
+	 L12/P12 -> MTS14400 SL2-35 L10/P1
+
+MTS14400 SL1-9
+	 L1/P1 -> MT23108 H-769 P1
+	 L2/P1 -> MT23108 H-770 P1
+	 L3/P1 -> MT23108 H-771 P1
+	 L4/P1 -> MT23108 H-772 P1
+	 L5/P1 -> MT23108 H-773 P1
+	 L6/P1 -> MT23108 H-774 P1
+	 L7/P1 -> MT23108 H-775 P1
+	 L8/P1 -> MT23108 H-776 P1
+	 L9/P1 -> MT23108 H-777 P1
+	 L10/P1 -> MT23108 H-778 P1
+	 L11/P1 -> MT23108 H-779 P1
+	 L12/P1 -> MT23108 H-780 P1
+	 L1/P2 -> MT23108 H-781 P1
+	 L2/P2 -> MT23108 H-782 P1
+	 L3/P2 -> MT23108 H-783 P1
+	 L4/P2 -> MT23108 H-784 P1
+	 L5/P2 -> MT23108 H-785 P1
+	 L6/P2 -> MT23108 H-786 P1
+	 L7/P2 -> MT23108 H-787 P1
+	 L8/P2 -> MT23108 H-788 P1
+	 L9/P2 -> MT23108 H-789 P1
+	 L10/P2 -> MT23108 H-790 P1
+	 L11/P2 -> MT23108 H-791 P1
+	 L12/P2 -> MT23108 H-792 P1
+	 L1/P3 -> MT23108 H-793 P1
+	 L2/P3 -> MT23108 H-794 P1
+	 L3/P3 -> MT23108 H-795 P1
+	 L4/P3 -> MT23108 H-796 P1
+	 L5/P3 -> MT23108 H-797 P1
+	 L6/P3 -> MT23108 H-798 P1
+	 L7/P3 -> MT23108 H-799 P1
+	 L8/P3 -> MT23108 H-800 P1
+	 L9/P3 -> MT23108 H-801 P1
+	 L10/P3 -> MT23108 H-802 P1
+	 L11/P3 -> MT23108 H-803 P1
+	 L12/P3 -> MT23108 H-804 P1
+	 L1/P4 -> MT23108 H-805 P1
+	 L2/P4 -> MT23108 H-806 P1
+	 L3/P4 -> MT23108 H-807 P1
+	 L4/P4 -> MT23108 H-808 P1
+	 L5/P4 -> MT23108 H-809 P1
+	 L6/P4 -> MT23108 H-810 P1
+	 L7/P4 -> MT23108 H-811 P1
+	 L8/P4 -> MT23108 H-812 P1
+	 L9/P4 -> MT23108 H-813 P1
+	 L10/P4 -> MT23108 H-814 P1
+	 L11/P4 -> MT23108 H-815 P1
+	 L12/P4 -> MT23108 H-816 P1
+	 L1/P5 -> MT23108 H-817 P1
+	 L2/P5 -> MT23108 H-818 P1
+	 L3/P5 -> MT23108 H-819 P1
+	 L4/P5 -> MT23108 H-820 P1
+	 L5/P5 -> MT23108 H-821 P1
+	 L6/P5 -> MT23108 H-822 P1
+	 L7/P5 -> MT23108 H-823 P1
+	 L8/P5 -> MT23108 H-824 P1
+	 L9/P5 -> MT23108 H-825 P1
+	 L10/P5 -> MT23108 H-826 P1
+	 L11/P5 -> MT23108 H-827 P1
+	 L12/P5 -> MT23108 H-828 P1
+	 L1/P6 -> MT23108 H-829 P1
+	 L2/P6 -> MT23108 H-830 P1
+	 L3/P6 -> MT23108 H-831 P1
+	 L4/P6 -> MT23108 H-832 P1
+	 L5/P6 -> MT23108 H-833 P1
+	 L6/P6 -> MT23108 H-834 P1
+	 L7/P6 -> MT23108 H-835 P1
+	 L8/P6 -> MT23108 H-836 P1
+	 L9/P6 -> MT23108 H-837 P1
+	 L10/P6 -> MT23108 H-838 P1
+	 L11/P6 -> MT23108 H-839 P1
+	 L12/P6 -> MT23108 H-840 P1
+	 L1/P7 -> MT23108 H-841 P1
+	 L2/P7 -> MT23108 H-842 P1
+	 L3/P7 -> MT23108 H-843 P1
+	 L4/P7 -> MT23108 H-844 P1
+	 L5/P7 -> MT23108 H-845 P1
+	 L6/P7 -> MT23108 H-846 P1
+	 L7/P7 -> MT23108 H-847 P1
+	 L8/P7 -> MT23108 H-848 P1
+	 L9/P7 -> MT23108 H-849 P1
+	 L10/P7 -> MT23108 H-850 P1
+	 L11/P7 -> MT23108 H-851 P1
+	 L12/P7 -> MT23108 H-852 P1
+	 L1/P8 -> MT23108 H-853 P1
+	 L2/P8 -> MT23108 H-854 P1
+	 L3/P8 -> MT23108 H-855 P1
+	 L4/P8 -> MT23108 H-856 P1
+	 L5/P8 -> MT23108 H-857 P1
+	 L6/P8 -> MT23108 H-858 P1
+	 L7/P8 -> MT23108 H-859 P1
+	 L8/P8 -> MT23108 H-860 P1
+	 L9/P8 -> MT23108 H-861 P1
+	 L10/P8 -> MT23108 H-862 P1
+	 L11/P8 -> MT23108 H-863 P1
+	 L12/P8 -> MT23108 H-864 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P1
+	 L2/P9 -> MTS14400 SL2-1 L1/P2
+	 L3/P9 -> MTS14400 SL2-2 L12/P1
+	 L4/P9 -> MTS14400 SL2-2 L1/P2
+	 L5/P9 -> MTS14400 SL2-3 L12/P1
+	 L6/P9 -> MTS14400 SL2-3 L1/P2
+	 L7/P9 -> MTS14400 SL2-4 L12/P1
+	 L8/P9 -> MTS14400 SL2-4 L1/P2
+	 L9/P9 -> MTS14400 SL2-5 L12/P1
+	 L10/P9 -> MTS14400 SL2-5 L1/P2
+	 L11/P9 -> MTS14400 SL2-6 L12/P1
+	 L12/P9 -> MTS14400 SL2-6 L1/P2
+	 L1/P10 -> MTS14400 SL2-7 L12/P1
+	 L2/P10 -> MTS14400 SL2-7 L1/P2
+	 L3/P10 -> MTS14400 SL2-8 L12/P1
+	 L4/P10 -> MTS14400 SL2-8 L1/P2
+	 L5/P10 -> MTS14400 SL2-9 L12/P1
+	 L6/P10 -> MTS14400 SL2-9 L1/P2
+	 L7/P10 -> MTS14400 SL2-10 L12/P1
+	 L8/P10 -> MTS14400 SL2-10 L1/P2
+	 L9/P10 -> MTS14400 SL2-11 L12/P1
+	 L10/P10 -> MTS14400 SL2-11 L1/P2
+	 L11/P10 -> MTS14400 SL2-12 L12/P1
+	 L12/P10 -> MTS14400 SL2-12 L1/P2
+	 L1/P11 -> MTS14400 SL2-13 L12/P1
+	 L2/P11 -> MTS14400 SL2-14 L12/P1
+	 L3/P11 -> MTS14400 SL2-15 L12/P1
+	 L4/P11 -> MTS14400 SL2-16 L12/P1
+	 L5/P11 -> MTS14400 SL2-17 L12/P1
+	 L6/P11 -> MTS14400 SL2-18 L12/P1
+	 L7/P11 -> MTS14400 SL2-19 L12/P1
+	 L8/P11 -> MTS14400 SL2-20 L12/P1
+	 L9/P11 -> MTS14400 SL2-21 L12/P1
+	 L10/P11 -> MTS14400 SL2-22 L12/P1
+	 L11/P11 -> MTS14400 SL2-23 L12/P1
+	 L12/P11 -> MTS14400 SL2-24 L12/P1
+	 L1/P12 -> MTS14400 SL2-25 L12/P1
+	 L2/P12 -> MTS14400 SL2-26 L12/P1
+	 L3/P12 -> MTS14400 SL2-27 L12/P1
+	 L4/P12 -> MTS14400 SL2-28 L12/P1
+	 L5/P12 -> MTS14400 SL2-29 L12/P1
+	 L6/P12 -> MTS14400 SL2-30 L12/P1
+	 L7/P12 -> MTS14400 SL2-31 L12/P1
+	 L8/P12 -> MTS14400 SL2-32 L12/P1
+	 L9/P12 -> MTS14400 SL2-33 L12/P1
+	 L10/P12 -> MTS14400 SL2-34 L12/P1
+	 L11/P12 -> MTS14400 SL2-35 L11/P1
+	 L12/P12 -> MTS14400 SL2-35 L12/P1
+
+MTS14400 SL1-10
+	 L1/P1 -> MT23108 H-865 P1
+	 L2/P1 -> MT23108 H-866 P1
+	 L3/P1 -> MT23108 H-867 P1
+	 L4/P1 -> MT23108 H-868 P1
+	 L5/P1 -> MT23108 H-869 P1
+	 L6/P1 -> MT23108 H-870 P1
+	 L7/P1 -> MT23108 H-871 P1
+	 L8/P1 -> MT23108 H-872 P1
+	 L9/P1 -> MT23108 H-873 P1
+	 L10/P1 -> MT23108 H-874 P1
+	 L11/P1 -> MT23108 H-875 P1
+	 L12/P1 -> MT23108 H-876 P1
+	 L1/P2 -> MT23108 H-877 P1
+	 L2/P2 -> MT23108 H-878 P1
+	 L3/P2 -> MT23108 H-879 P1
+	 L4/P2 -> MT23108 H-880 P1
+	 L5/P2 -> MT23108 H-881 P1
+	 L6/P2 -> MT23108 H-882 P1
+	 L7/P2 -> MT23108 H-883 P1
+	 L8/P2 -> MT23108 H-884 P1
+	 L9/P2 -> MT23108 H-885 P1
+	 L10/P2 -> MT23108 H-886 P1
+	 L11/P2 -> MT23108 H-887 P1
+	 L12/P2 -> MT23108 H-888 P1
+	 L1/P3 -> MT23108 H-889 P1
+	 L2/P3 -> MT23108 H-890 P1
+	 L3/P3 -> MT23108 H-891 P1
+	 L4/P3 -> MT23108 H-892 P1
+	 L5/P3 -> MT23108 H-893 P1
+	 L6/P3 -> MT23108 H-894 P1
+	 L7/P3 -> MT23108 H-895 P1
+	 L8/P3 -> MT23108 H-896 P1
+	 L9/P3 -> MT23108 H-897 P1
+	 L10/P3 -> MT23108 H-898 P1
+	 L11/P3 -> MT23108 H-899 P1
+	 L12/P3 -> MT23108 H-900 P1
+	 L1/P4 -> MT23108 H-901 P1
+	 L2/P4 -> MT23108 H-902 P1
+	 L3/P4 -> MT23108 H-903 P1
+	 L4/P4 -> MT23108 H-904 P1
+	 L5/P4 -> MT23108 H-905 P1
+	 L6/P4 -> MT23108 H-906 P1
+	 L7/P4 -> MT23108 H-907 P1
+	 L8/P4 -> MT23108 H-908 P1
+	 L9/P4 -> MT23108 H-909 P1
+	 L10/P4 -> MT23108 H-910 P1
+	 L11/P4 -> MT23108 H-911 P1
+	 L12/P4 -> MT23108 H-912 P1
+	 L1/P5 -> MT23108 H-913 P1
+	 L2/P5 -> MT23108 H-914 P1
+	 L3/P5 -> MT23108 H-915 P1
+	 L4/P5 -> MT23108 H-916 P1
+	 L5/P5 -> MT23108 H-917 P1
+	 L6/P5 -> MT23108 H-918 P1
+	 L7/P5 -> MT23108 H-919 P1
+	 L8/P5 -> MT23108 H-920 P1
+	 L9/P5 -> MT23108 H-921 P1
+	 L10/P5 -> MT23108 H-922 P1
+	 L11/P5 -> MT23108 H-923 P1
+	 L12/P5 -> MT23108 H-924 P1
+	 L1/P6 -> MT23108 H-925 P1
+	 L2/P6 -> MT23108 H-926 P1
+	 L3/P6 -> MT23108 H-927 P1
+	 L4/P6 -> MT23108 H-928 P1
+	 L5/P6 -> MT23108 H-929 P1
+	 L6/P6 -> MT23108 H-930 P1
+	 L7/P6 -> MT23108 H-931 P1
+	 L8/P6 -> MT23108 H-932 P1
+	 L9/P6 -> MT23108 H-933 P1
+	 L10/P6 -> MT23108 H-934 P1
+	 L11/P6 -> MT23108 H-935 P1
+	 L12/P6 -> MT23108 H-936 P1
+	 L1/P7 -> MT23108 H-937 P1
+	 L2/P7 -> MT23108 H-938 P1
+	 L3/P7 -> MT23108 H-939 P1
+	 L4/P7 -> MT23108 H-940 P1
+	 L5/P7 -> MT23108 H-941 P1
+	 L6/P7 -> MT23108 H-942 P1
+	 L7/P7 -> MT23108 H-943 P1
+	 L8/P7 -> MT23108 H-944 P1
+	 L9/P7 -> MT23108 H-945 P1
+	 L10/P7 -> MT23108 H-946 P1
+	 L11/P7 -> MT23108 H-947 P1
+	 L12/P7 -> MT23108 H-948 P1
+	 L1/P8 -> MT23108 H-949 P1
+	 L2/P8 -> MT23108 H-950 P1
+	 L3/P8 -> MT23108 H-951 P1
+	 L4/P8 -> MT23108 H-952 P1
+	 L5/P8 -> MT23108 H-953 P1
+	 L6/P8 -> MT23108 H-954 P1
+	 L7/P8 -> MT23108 H-955 P1
+	 L8/P8 -> MT23108 H-956 P1
+	 L9/P8 -> MT23108 H-957 P1
+	 L10/P8 -> MT23108 H-958 P1
+	 L11/P8 -> MT23108 H-959 P1
+	 L12/P8 -> MT23108 H-960 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P2
+	 L2/P9 -> MTS14400 SL2-2 L2/P2
+	 L3/P9 -> MTS14400 SL2-3 L2/P2
+	 L4/P9 -> MTS14400 SL2-4 L2/P2
+	 L5/P9 -> MTS14400 SL2-5 L2/P2
+	 L6/P9 -> MTS14400 SL2-6 L2/P2
+	 L7/P9 -> MTS14400 SL2-7 L2/P2
+	 L8/P9 -> MTS14400 SL2-8 L2/P2
+	 L9/P9 -> MTS14400 SL2-9 L2/P2
+	 L10/P9 -> MTS14400 SL2-10 L2/P2
+	 L11/P9 -> MTS14400 SL2-11 L2/P2
+	 L12/P9 -> MTS14400 SL2-12 L2/P2
+	 L1/P10 -> MTS14400 SL2-13 L1/P2
+	 L2/P10 -> MTS14400 SL2-13 L2/P2
+	 L3/P10 -> MTS14400 SL2-14 L1/P2
+	 L4/P10 -> MTS14400 SL2-14 L2/P2
+	 L5/P10 -> MTS14400 SL2-15 L1/P2
+	 L6/P10 -> MTS14400 SL2-15 L2/P2
+	 L7/P10 -> MTS14400 SL2-16 L1/P2
+	 L8/P10 -> MTS14400 SL2-16 L2/P2
+	 L9/P10 -> MTS14400 SL2-17 L1/P2
+	 L10/P10 -> MTS14400 SL2-17 L2/P2
+	 L11/P10 -> MTS14400 SL2-18 L1/P2
+	 L12/P10 -> MTS14400 SL2-18 L2/P2
+	 L1/P11 -> MTS14400 SL2-19 L1/P2
+	 L2/P11 -> MTS14400 SL2-19 L2/P2
+	 L3/P11 -> MTS14400 SL2-20 L1/P2
+	 L4/P11 -> MTS14400 SL2-20 L2/P2
+	 L5/P11 -> MTS14400 SL2-21 L1/P2
+	 L6/P11 -> MTS14400 SL2-21 L2/P2
+	 L7/P11 -> MTS14400 SL2-22 L1/P2
+	 L8/P11 -> MTS14400 SL2-22 L2/P2
+	 L9/P11 -> MTS14400 SL2-23 L1/P2
+	 L10/P11 -> MTS14400 SL2-23 L2/P2
+	 L11/P11 -> MTS14400 SL2-24 L1/P2
+	 L12/P11 -> MTS14400 SL2-24 L2/P2
+	 L1/P12 -> MTS14400 SL2-25 L1/P2
+	 L2/P12 -> MTS14400 SL2-25 L2/P2
+	 L3/P12 -> MTS14400 SL2-26 L1/P2
+	 L4/P12 -> MTS14400 SL2-27 L1/P2
+	 L5/P12 -> MTS14400 SL2-28 L1/P2
+	 L6/P12 -> MTS14400 SL2-29 L1/P2
+	 L7/P12 -> MTS14400 SL2-30 L1/P2
+	 L8/P12 -> MTS14400 SL2-31 L1/P2
+	 L9/P12 -> MTS14400 SL2-32 L1/P2
+	 L10/P12 -> MTS14400 SL2-33 L1/P2
+	 L11/P12 -> MTS14400 SL2-34 L1/P2
+	 L12/P12 -> MTS14400 SL2-35 L1/P2
+
+MTS14400 SL1-11
+	 L1/P1 -> MT23108 H-961 P1
+	 L2/P1 -> MT23108 H-962 P1
+	 L3/P1 -> MT23108 H-963 P1
+	 L4/P1 -> MT23108 H-964 P1
+	 L5/P1 -> MT23108 H-965 P1
+	 L6/P1 -> MT23108 H-966 P1
+	 L7/P1 -> MT23108 H-967 P1
+	 L8/P1 -> MT23108 H-968 P1
+	 L9/P1 -> MT23108 H-969 P1
+	 L10/P1 -> MT23108 H-970 P1
+	 L11/P1 -> MT23108 H-971 P1
+	 L12/P1 -> MT23108 H-972 P1
+	 L1/P2 -> MT23108 H-973 P1
+	 L2/P2 -> MT23108 H-974 P1
+	 L3/P2 -> MT23108 H-975 P1
+	 L4/P2 -> MT23108 H-976 P1
+	 L5/P2 -> MT23108 H-977 P1
+	 L6/P2 -> MT23108 H-978 P1
+	 L7/P2 -> MT23108 H-979 P1
+	 L8/P2 -> MT23108 H-980 P1
+	 L9/P2 -> MT23108 H-981 P1
+	 L10/P2 -> MT23108 H-982 P1
+	 L11/P2 -> MT23108 H-983 P1
+	 L12/P2 -> MT23108 H-984 P1
+	 L1/P3 -> MT23108 H-985 P1
+	 L2/P3 -> MT23108 H-986 P1
+	 L3/P3 -> MT23108 H-987 P1
+	 L4/P3 -> MT23108 H-988 P1
+	 L5/P3 -> MT23108 H-989 P1
+	 L6/P3 -> MT23108 H-990 P1
+	 L7/P3 -> MT23108 H-991 P1
+	 L8/P3 -> MT23108 H-992 P1
+	 L9/P3 -> MT23108 H-993 P1
+	 L10/P3 -> MT23108 H-994 P1
+	 L11/P3 -> MT23108 H-995 P1
+	 L12/P3 -> MT23108 H-996 P1
+	 L1/P4 -> MT23108 H-997 P1
+	 L2/P4 -> MT23108 H-998 P1
+	 L3/P4 -> MT23108 H-999 P1
+	 L4/P4 -> MT23108 H-1000 P1
+	 L5/P4 -> MT23108 H-1001 P1
+	 L6/P4 -> MT23108 H-1002 P1
+	 L7/P4 -> MT23108 H-1003 P1
+	 L8/P4 -> MT23108 H-1004 P1
+	 L9/P4 -> MT23108 H-1005 P1
+	 L10/P4 -> MT23108 H-1006 P1
+	 L11/P4 -> MT23108 H-1007 P1
+	 L12/P4 -> MT23108 H-1008 P1
+	 L1/P5 -> MT23108 H-1009 P1
+	 L2/P5 -> MT23108 H-1010 P1
+	 L3/P5 -> MT23108 H-1011 P1
+	 L4/P5 -> MT23108 H-1012 P1
+	 L5/P5 -> MT23108 H-1013 P1
+	 L6/P5 -> MT23108 H-1014 P1
+	 L7/P5 -> MT23108 H-1015 P1
+	 L8/P5 -> MT23108 H-1016 P1
+	 L9/P5 -> MT23108 H-1017 P1
+	 L10/P5 -> MT23108 H-1018 P1
+	 L11/P5 -> MT23108 H-1019 P1
+	 L12/P5 -> MT23108 H-1020 P1
+	 L1/P6 -> MT23108 H-1021 P1
+	 L2/P6 -> MT23108 H-1022 P1
+	 L3/P6 -> MT23108 H-1023 P1
+	 L4/P6 -> MT23108 H-1024 P1
+	 L5/P6 -> MT23108 H-1025 P1
+	 L6/P6 -> MT23108 H-1026 P1
+	 L7/P6 -> MT23108 H-1027 P1
+	 L8/P6 -> MT23108 H-1028 P1
+	 L9/P6 -> MT23108 H-1029 P1
+	 L10/P6 -> MT23108 H-1030 P1
+	 L11/P6 -> MT23108 H-1031 P1
+	 L12/P6 -> MT23108 H-1032 P1
+	 L1/P7 -> MT23108 H-1033 P1
+	 L2/P7 -> MT23108 H-1034 P1
+	 L3/P7 -> MT23108 H-1035 P1
+	 L4/P7 -> MT23108 H-1036 P1
+	 L5/P7 -> MT23108 H-1037 P1
+	 L6/P7 -> MT23108 H-1038 P1
+	 L7/P7 -> MT23108 H-1039 P1
+	 L8/P7 -> MT23108 H-1040 P1
+	 L9/P7 -> MT23108 H-1041 P1
+	 L10/P7 -> MT23108 H-1042 P1
+	 L11/P7 -> MT23108 H-1043 P1
+	 L12/P7 -> MT23108 H-1044 P1
+	 L1/P8 -> MT23108 H-1045 P1
+	 L2/P8 -> MT23108 H-1046 P1
+	 L3/P8 -> MT23108 H-1047 P1
+	 L4/P8 -> MT23108 H-1048 P1
+	 L5/P8 -> MT23108 H-1049 P1
+	 L6/P8 -> MT23108 H-1050 P1
+	 L7/P8 -> MT23108 H-1051 P1
+	 L8/P8 -> MT23108 H-1052 P1
+	 L9/P8 -> MT23108 H-1053 P1
+	 L10/P8 -> MT23108 H-1054 P1
+	 L11/P8 -> MT23108 H-1055 P1
+	 L12/P8 -> MT23108 H-1056 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P2
+	 L2/P9 -> MTS14400 SL2-1 L4/P2
+	 L3/P9 -> MTS14400 SL2-2 L3/P2
+	 L4/P9 -> MTS14400 SL2-2 L4/P2
+	 L5/P9 -> MTS14400 SL2-3 L3/P2
+	 L6/P9 -> MTS14400 SL2-3 L4/P2
+	 L7/P9 -> MTS14400 SL2-4 L3/P2
+	 L8/P9 -> MTS14400 SL2-5 L3/P2
+	 L9/P9 -> MTS14400 SL2-6 L3/P2
+	 L10/P9 -> MTS14400 SL2-7 L3/P2
+	 L11/P9 -> MTS14400 SL2-8 L3/P2
+	 L12/P9 -> MTS14400 SL2-9 L3/P2
+	 L1/P10 -> MTS14400 SL2-10 L3/P2
+	 L2/P10 -> MTS14400 SL2-11 L3/P2
+	 L3/P10 -> MTS14400 SL2-12 L3/P2
+	 L4/P10 -> MTS14400 SL2-13 L3/P2
+	 L5/P10 -> MTS14400 SL2-14 L3/P2
+	 L6/P10 -> MTS14400 SL2-15 L3/P2
+	 L7/P10 -> MTS14400 SL2-16 L3/P2
+	 L8/P10 -> MTS14400 SL2-17 L3/P2
+	 L9/P10 -> MTS14400 SL2-18 L3/P2
+	 L10/P10 -> MTS14400 SL2-19 L3/P2
+	 L11/P10 -> MTS14400 SL2-20 L3/P2
+	 L12/P10 -> MTS14400 SL2-21 L3/P2
+	 L1/P11 -> MTS14400 SL2-22 L3/P2
+	 L2/P11 -> MTS14400 SL2-23 L3/P2
+	 L3/P11 -> MTS14400 SL2-24 L3/P2
+	 L4/P11 -> MTS14400 SL2-25 L3/P2
+	 L5/P11 -> MTS14400 SL2-26 L2/P2
+	 L6/P11 -> MTS14400 SL2-26 L3/P2
+	 L7/P11 -> MTS14400 SL2-27 L2/P2
+	 L8/P11 -> MTS14400 SL2-27 L3/P2
+	 L9/P11 -> MTS14400 SL2-28 L2/P2
+	 L10/P11 -> MTS14400 SL2-28 L3/P2
+	 L11/P11 -> MTS14400 SL2-29 L2/P2
+	 L12/P11 -> MTS14400 SL2-29 L3/P2
+	 L1/P12 -> MTS14400 SL2-30 L2/P2
+	 L2/P12 -> MTS14400 SL2-30 L3/P2
+	 L3/P12 -> MTS14400 SL2-31 L2/P2
+	 L4/P12 -> MTS14400 SL2-31 L3/P2
+	 L5/P12 -> MTS14400 SL2-32 L2/P2
+	 L6/P12 -> MTS14400 SL2-32 L3/P2
+	 L7/P12 -> MTS14400 SL2-33 L2/P2
+	 L8/P12 -> MTS14400 SL2-33 L3/P2
+	 L9/P12 -> MTS14400 SL2-34 L2/P2
+	 L10/P12 -> MTS14400 SL2-34 L3/P2
+	 L11/P12 -> MTS14400 SL2-35 L2/P2
+	 L12/P12 -> MTS14400 SL2-35 L3/P2
+
+MTS14400 SL1-12
+	 L1/P1 -> MT23108 H-1057 P1
+	 L2/P1 -> MT23108 H-1058 P1
+	 L3/P1 -> MT23108 H-1059 P1
+	 L4/P1 -> MT23108 H-1060 P1
+	 L5/P1 -> MT23108 H-1061 P1
+	 L6/P1 -> MT23108 H-1062 P1
+	 L7/P1 -> MT23108 H-1063 P1
+	 L8/P1 -> MT23108 H-1064 P1
+	 L9/P1 -> MT23108 H-1065 P1
+	 L10/P1 -> MT23108 H-1066 P1
+	 L11/P1 -> MT23108 H-1067 P1
+	 L12/P1 -> MT23108 H-1068 P1
+	 L1/P2 -> MT23108 H-1069 P1
+	 L2/P2 -> MT23108 H-1070 P1
+	 L3/P2 -> MT23108 H-1071 P1
+	 L4/P2 -> MT23108 H-1072 P1
+	 L5/P2 -> MT23108 H-1073 P1
+	 L6/P2 -> MT23108 H-1074 P1
+	 L7/P2 -> MT23108 H-1075 P1
+	 L8/P2 -> MT23108 H-1076 P1
+	 L9/P2 -> MT23108 H-1077 P1
+	 L10/P2 -> MT23108 H-1078 P1
+	 L11/P2 -> MT23108 H-1079 P1
+	 L12/P2 -> MT23108 H-1080 P1
+	 L1/P3 -> MT23108 H-1081 P1
+	 L2/P3 -> MT23108 H-1082 P1
+	 L3/P3 -> MT23108 H-1083 P1
+	 L4/P3 -> MT23108 H-1084 P1
+	 L5/P3 -> MT23108 H-1085 P1
+	 L6/P3 -> MT23108 H-1086 P1
+	 L7/P3 -> MT23108 H-1087 P1
+	 L8/P3 -> MT23108 H-1088 P1
+	 L9/P3 -> MT23108 H-1089 P1
+	 L10/P3 -> MT23108 H-1090 P1
+	 L11/P3 -> MT23108 H-1091 P1
+	 L12/P3 -> MT23108 H-1092 P1
+	 L1/P4 -> MT23108 H-1093 P1
+	 L2/P4 -> MT23108 H-1094 P1
+	 L3/P4 -> MT23108 H-1095 P1
+	 L4/P4 -> MT23108 H-1096 P1
+	 L5/P4 -> MT23108 H-1097 P1
+	 L6/P4 -> MT23108 H-1098 P1
+	 L7/P4 -> MT23108 H-1099 P1
+	 L8/P4 -> MT23108 H-1100 P1
+	 L9/P4 -> MT23108 H-1101 P1
+	 L10/P4 -> MT23108 H-1102 P1
+	 L11/P4 -> MT23108 H-1103 P1
+	 L12/P4 -> MT23108 H-1104 P1
+	 L1/P5 -> MT23108 H-1105 P1
+	 L2/P5 -> MT23108 H-1106 P1
+	 L3/P5 -> MT23108 H-1107 P1
+	 L4/P5 -> MT23108 H-1108 P1
+	 L5/P5 -> MT23108 H-1109 P1
+	 L6/P5 -> MT23108 H-1110 P1
+	 L7/P5 -> MT23108 H-1111 P1
+	 L8/P5 -> MT23108 H-1112 P1
+	 L9/P5 -> MT23108 H-1113 P1
+	 L10/P5 -> MT23108 H-1114 P1
+	 L11/P5 -> MT23108 H-1115 P1
+	 L12/P5 -> MT23108 H-1116 P1
+	 L1/P6 -> MT23108 H-1117 P1
+	 L2/P6 -> MT23108 H-1118 P1
+	 L3/P6 -> MT23108 H-1119 P1
+	 L4/P6 -> MT23108 H-1120 P1
+	 L5/P6 -> MT23108 H-1121 P1
+	 L6/P6 -> MT23108 H-1122 P1
+	 L7/P6 -> MT23108 H-1123 P1
+	 L8/P6 -> MT23108 H-1124 P1
+	 L9/P6 -> MT23108 H-1125 P1
+	 L10/P6 -> MT23108 H-1126 P1
+	 L11/P6 -> MT23108 H-1127 P1
+	 L12/P6 -> MT23108 H-1128 P1
+	 L1/P7 -> MT23108 H-1129 P1
+	 L2/P7 -> MT23108 H-1130 P1
+	 L3/P7 -> MT23108 H-1131 P1
+	 L4/P7 -> MT23108 H-1132 P1
+	 L5/P7 -> MT23108 H-1133 P1
+	 L6/P7 -> MT23108 H-1134 P1
+	 L7/P7 -> MT23108 H-1135 P1
+	 L8/P7 -> MT23108 H-1136 P1
+	 L9/P7 -> MT23108 H-1137 P1
+	 L10/P7 -> MT23108 H-1138 P1
+	 L11/P7 -> MT23108 H-1139 P1
+	 L12/P7 -> MT23108 H-1140 P1
+	 L1/P8 -> MT23108 H-1141 P1
+	 L2/P8 -> MT23108 H-1142 P1
+	 L3/P8 -> MT23108 H-1143 P1
+	 L4/P8 -> MT23108 H-1144 P1
+	 L5/P8 -> MT23108 H-1145 P1
+	 L6/P8 -> MT23108 H-1146 P1
+	 L7/P8 -> MT23108 H-1147 P1
+	 L8/P8 -> MT23108 H-1148 P1
+	 L9/P8 -> MT23108 H-1149 P1
+	 L10/P8 -> MT23108 H-1150 P1
+	 L11/P8 -> MT23108 H-1151 P1
+	 L12/P8 -> MT23108 H-1152 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P2
+	 L2/P9 -> MTS14400 SL2-2 L5/P2
+	 L3/P9 -> MTS14400 SL2-3 L5/P2
+	 L4/P9 -> MTS14400 SL2-4 L4/P2
+	 L5/P9 -> MTS14400 SL2-4 L5/P2
+	 L6/P9 -> MTS14400 SL2-5 L4/P2
+	 L7/P9 -> MTS14400 SL2-5 L5/P2
+	 L8/P9 -> MTS14400 SL2-6 L4/P2
+	 L9/P9 -> MTS14400 SL2-6 L5/P2
+	 L10/P9 -> MTS14400 SL2-7 L4/P2
+	 L11/P9 -> MTS14400 SL2-7 L5/P2
+	 L12/P9 -> MTS14400 SL2-8 L4/P2
+	 L1/P10 -> MTS14400 SL2-8 L5/P2
+	 L2/P10 -> MTS14400 SL2-9 L4/P2
+	 L3/P10 -> MTS14400 SL2-9 L5/P2
+	 L4/P10 -> MTS14400 SL2-10 L4/P2
+	 L5/P10 -> MTS14400 SL2-10 L5/P2
+	 L6/P10 -> MTS14400 SL2-11 L4/P2
+	 L7/P10 -> MTS14400 SL2-11 L5/P2
+	 L8/P10 -> MTS14400 SL2-12 L4/P2
+	 L9/P10 -> MTS14400 SL2-12 L5/P2
+	 L10/P10 -> MTS14400 SL2-13 L4/P2
+	 L11/P10 -> MTS14400 SL2-13 L5/P2
+	 L12/P10 -> MTS14400 SL2-14 L4/P2
+	 L1/P11 -> MTS14400 SL2-14 L5/P2
+	 L2/P11 -> MTS14400 SL2-15 L4/P2
+	 L3/P11 -> MTS14400 SL2-15 L5/P2
+	 L4/P11 -> MTS14400 SL2-16 L4/P2
+	 L5/P11 -> MTS14400 SL2-16 L5/P2
+	 L6/P11 -> MTS14400 SL2-17 L4/P2
+	 L7/P11 -> MTS14400 SL2-18 L4/P2
+	 L8/P11 -> MTS14400 SL2-19 L4/P2
+	 L9/P11 -> MTS14400 SL2-20 L4/P2
+	 L10/P11 -> MTS14400 SL2-21 L4/P2
+	 L11/P11 -> MTS14400 SL2-22 L4/P2
+	 L12/P11 -> MTS14400 SL2-23 L4/P2
+	 L1/P12 -> MTS14400 SL2-24 L4/P2
+	 L2/P12 -> MTS14400 SL2-25 L4/P2
+	 L3/P12 -> MTS14400 SL2-26 L4/P2
+	 L4/P12 -> MTS14400 SL2-27 L4/P2
+	 L5/P12 -> MTS14400 SL2-28 L4/P2
+	 L6/P12 -> MTS14400 SL2-29 L4/P2
+	 L7/P12 -> MTS14400 SL2-30 L4/P2
+	 L8/P12 -> MTS14400 SL2-31 L4/P2
+	 L9/P12 -> MTS14400 SL2-32 L4/P2
+	 L10/P12 -> MTS14400 SL2-33 L4/P2
+	 L11/P12 -> MTS14400 SL2-34 L4/P2
+	 L12/P12 -> MTS14400 SL2-35 L4/P2
+
+MTS14400 SL1-13
+	 L1/P1 -> MT23108 H-1153 P1
+	 L2/P1 -> MT23108 H-1154 P1
+	 L3/P1 -> MT23108 H-1155 P1
+	 L4/P1 -> MT23108 H-1156 P1
+	 L5/P1 -> MT23108 H-1157 P1
+	 L6/P1 -> MT23108 H-1158 P1
+	 L7/P1 -> MT23108 H-1159 P1
+	 L8/P1 -> MT23108 H-1160 P1
+	 L9/P1 -> MT23108 H-1161 P1
+	 L10/P1 -> MT23108 H-1162 P1
+	 L11/P1 -> MT23108 H-1163 P1
+	 L12/P1 -> MT23108 H-1164 P1
+	 L1/P2 -> MT23108 H-1165 P1
+	 L2/P2 -> MT23108 H-1166 P1
+	 L3/P2 -> MT23108 H-1167 P1
+	 L4/P2 -> MT23108 H-1168 P1
+	 L5/P2 -> MT23108 H-1169 P1
+	 L6/P2 -> MT23108 H-1170 P1
+	 L7/P2 -> MT23108 H-1171 P1
+	 L8/P2 -> MT23108 H-1172 P1
+	 L9/P2 -> MT23108 H-1173 P1
+	 L10/P2 -> MT23108 H-1174 P1
+	 L11/P2 -> MT23108 H-1175 P1
+	 L12/P2 -> MT23108 H-1176 P1
+	 L1/P3 -> MT23108 H-1177 P1
+	 L2/P3 -> MT23108 H-1178 P1
+	 L3/P3 -> MT23108 H-1179 P1
+	 L4/P3 -> MT23108 H-1180 P1
+	 L5/P3 -> MT23108 H-1181 P1
+	 L6/P3 -> MT23108 H-1182 P1
+	 L7/P3 -> MT23108 H-1183 P1
+	 L8/P3 -> MT23108 H-1184 P1
+	 L9/P3 -> MT23108 H-1185 P1
+	 L10/P3 -> MT23108 H-1186 P1
+	 L11/P3 -> MT23108 H-1187 P1
+	 L12/P3 -> MT23108 H-1188 P1
+	 L1/P4 -> MT23108 H-1189 P1
+	 L2/P4 -> MT23108 H-1190 P1
+	 L3/P4 -> MT23108 H-1191 P1
+	 L4/P4 -> MT23108 H-1192 P1
+	 L5/P4 -> MT23108 H-1193 P1
+	 L6/P4 -> MT23108 H-1194 P1
+	 L7/P4 -> MT23108 H-1195 P1
+	 L8/P4 -> MT23108 H-1196 P1
+	 L9/P4 -> MT23108 H-1197 P1
+	 L10/P4 -> MT23108 H-1198 P1
+	 L11/P4 -> MT23108 H-1199 P1
+	 L12/P4 -> MT23108 H-1200 P1
+	 L1/P5 -> MT23108 H-1201 P1
+	 L2/P5 -> MT23108 H-1202 P1
+	 L3/P5 -> MT23108 H-1203 P1
+	 L4/P5 -> MT23108 H-1204 P1
+	 L5/P5 -> MT23108 H-1205 P1
+	 L6/P5 -> MT23108 H-1206 P1
+	 L7/P5 -> MT23108 H-1207 P1
+	 L8/P5 -> MT23108 H-1208 P1
+	 L9/P5 -> MT23108 H-1209 P1
+	 L10/P5 -> MT23108 H-1210 P1
+	 L11/P5 -> MT23108 H-1211 P1
+	 L12/P5 -> MT23108 H-1212 P1
+	 L1/P6 -> MT23108 H-1213 P1
+	 L2/P6 -> MT23108 H-1214 P1
+	 L3/P6 -> MT23108 H-1215 P1
+	 L4/P6 -> MT23108 H-1216 P1
+	 L5/P6 -> MT23108 H-1217 P1
+	 L6/P6 -> MT23108 H-1218 P1
+	 L7/P6 -> MT23108 H-1219 P1
+	 L8/P6 -> MT23108 H-1220 P1
+	 L9/P6 -> MT23108 H-1221 P1
+	 L10/P6 -> MT23108 H-1222 P1
+	 L11/P6 -> MT23108 H-1223 P1
+	 L12/P6 -> MT23108 H-1224 P1
+	 L1/P7 -> MT23108 H-1225 P1
+	 L2/P7 -> MT23108 H-1226 P1
+	 L3/P7 -> MT23108 H-1227 P1
+	 L4/P7 -> MT23108 H-1228 P1
+	 L5/P7 -> MT23108 H-1229 P1
+	 L6/P7 -> MT23108 H-1230 P1
+	 L7/P7 -> MT23108 H-1231 P1
+	 L8/P7 -> MT23108 H-1232 P1
+	 L9/P7 -> MT23108 H-1233 P1
+	 L10/P7 -> MT23108 H-1234 P1
+	 L11/P7 -> MT23108 H-1235 P1
+	 L12/P7 -> MT23108 H-1236 P1
+	 L1/P8 -> MT23108 H-1237 P1
+	 L2/P8 -> MT23108 H-1238 P1
+	 L3/P8 -> MT23108 H-1239 P1
+	 L4/P8 -> MT23108 H-1240 P1
+	 L5/P8 -> MT23108 H-1241 P1
+	 L6/P8 -> MT23108 H-1242 P1
+	 L7/P8 -> MT23108 H-1243 P1
+	 L8/P8 -> MT23108 H-1244 P1
+	 L9/P8 -> MT23108 H-1245 P1
+	 L10/P8 -> MT23108 H-1246 P1
+	 L11/P8 -> MT23108 H-1247 P1
+	 L12/P8 -> MT23108 H-1248 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P2
+	 L2/P9 -> MTS14400 SL2-2 L6/P2
+	 L3/P9 -> MTS14400 SL2-3 L6/P2
+	 L4/P9 -> MTS14400 SL2-4 L6/P2
+	 L5/P9 -> MTS14400 SL2-5 L6/P2
+	 L6/P9 -> MTS14400 SL2-6 L6/P2
+	 L7/P9 -> MTS14400 SL2-7 L6/P2
+	 L8/P9 -> MTS14400 SL2-8 L6/P2
+	 L9/P9 -> MTS14400 SL2-9 L6/P2
+	 L10/P9 -> MTS14400 SL2-10 L6/P2
+	 L11/P9 -> MTS14400 SL2-11 L6/P2
+	 L12/P9 -> MTS14400 SL2-12 L6/P2
+	 L1/P10 -> MTS14400 SL2-13 L6/P2
+	 L2/P10 -> MTS14400 SL2-14 L6/P2
+	 L3/P10 -> MTS14400 SL2-15 L6/P2
+	 L4/P10 -> MTS14400 SL2-16 L6/P2
+	 L5/P10 -> MTS14400 SL2-17 L5/P2
+	 L6/P10 -> MTS14400 SL2-17 L6/P2
+	 L7/P10 -> MTS14400 SL2-18 L5/P2
+	 L8/P10 -> MTS14400 SL2-18 L6/P2
+	 L9/P10 -> MTS14400 SL2-19 L5/P2
+	 L10/P10 -> MTS14400 SL2-19 L6/P2
+	 L11/P10 -> MTS14400 SL2-20 L5/P2
+	 L12/P10 -> MTS14400 SL2-20 L6/P2
+	 L1/P11 -> MTS14400 SL2-21 L5/P2
+	 L2/P11 -> MTS14400 SL2-21 L6/P2
+	 L3/P11 -> MTS14400 SL2-22 L5/P2
+	 L4/P11 -> MTS14400 SL2-22 L6/P2
+	 L5/P11 -> MTS14400 SL2-23 L5/P2
+	 L6/P11 -> MTS14400 SL2-23 L6/P2
+	 L7/P11 -> MTS14400 SL2-24 L5/P2
+	 L8/P11 -> MTS14400 SL2-24 L6/P2
+	 L9/P11 -> MTS14400 SL2-25 L5/P2
+	 L10/P11 -> MTS14400 SL2-25 L6/P2
+	 L11/P11 -> MTS14400 SL2-26 L5/P2
+	 L12/P11 -> MTS14400 SL2-26 L6/P2
+	 L1/P12 -> MTS14400 SL2-27 L5/P2
+	 L2/P12 -> MTS14400 SL2-27 L6/P2
+	 L3/P12 -> MTS14400 SL2-28 L5/P2
+	 L4/P12 -> MTS14400 SL2-28 L6/P2
+	 L5/P12 -> MTS14400 SL2-29 L5/P2
+	 L6/P12 -> MTS14400 SL2-29 L6/P2
+	 L7/P12 -> MTS14400 SL2-30 L5/P2
+	 L8/P12 -> MTS14400 SL2-31 L5/P2
+	 L9/P12 -> MTS14400 SL2-32 L5/P2
+	 L10/P12 -> MTS14400 SL2-33 L5/P2
+	 L11/P12 -> MTS14400 SL2-34 L5/P2
+	 L12/P12 -> MTS14400 SL2-35 L5/P2
+
+MTS14400 SL1-14
+	 L1/P1 -> MT23108 H-1249 P1
+	 L2/P1 -> MT23108 H-1250 P1
+	 L3/P1 -> MT23108 H-1251 P1
+	 L4/P1 -> MT23108 H-1252 P1
+	 L5/P1 -> MT23108 H-1253 P1
+	 L6/P1 -> MT23108 H-1254 P1
+	 L7/P1 -> MT23108 H-1255 P1
+	 L8/P1 -> MT23108 H-1256 P1
+	 L9/P1 -> MT23108 H-1257 P1
+	 L10/P1 -> MT23108 H-1258 P1
+	 L11/P1 -> MT23108 H-1259 P1
+	 L12/P1 -> MT23108 H-1260 P1
+	 L1/P2 -> MT23108 H-1261 P1
+	 L2/P2 -> MT23108 H-1262 P1
+	 L3/P2 -> MT23108 H-1263 P1
+	 L4/P2 -> MT23108 H-1264 P1
+	 L5/P2 -> MT23108 H-1265 P1
+	 L6/P2 -> MT23108 H-1266 P1
+	 L7/P2 -> MT23108 H-1267 P1
+	 L8/P2 -> MT23108 H-1268 P1
+	 L9/P2 -> MT23108 H-1269 P1
+	 L10/P2 -> MT23108 H-1270 P1
+	 L11/P2 -> MT23108 H-1271 P1
+	 L12/P2 -> MT23108 H-1272 P1
+	 L1/P3 -> MT23108 H-1273 P1
+	 L2/P3 -> MT23108 H-1274 P1
+	 L3/P3 -> MT23108 H-1275 P1
+	 L4/P3 -> MT23108 H-1276 P1
+	 L5/P3 -> MT23108 H-1277 P1
+	 L6/P3 -> MT23108 H-1278 P1
+	 L7/P3 -> MT23108 H-1279 P1
+	 L8/P3 -> MT23108 H-1280 P1
+	 L9/P3 -> MT23108 H-1281 P1
+	 L10/P3 -> MT23108 H-1282 P1
+	 L11/P3 -> MT23108 H-1283 P1
+	 L12/P3 -> MT23108 H-1284 P1
+	 L1/P4 -> MT23108 H-1285 P1
+	 L2/P4 -> MT23108 H-1286 P1
+	 L3/P4 -> MT23108 H-1287 P1
+	 L4/P4 -> MT23108 H-1288 P1
+	 L5/P4 -> MT23108 H-1289 P1
+	 L6/P4 -> MT23108 H-1290 P1
+	 L7/P4 -> MT23108 H-1291 P1
+	 L8/P4 -> MT23108 H-1292 P1
+	 L9/P4 -> MT23108 H-1293 P1
+	 L10/P4 -> MT23108 H-1294 P1
+	 L11/P4 -> MT23108 H-1295 P1
+	 L12/P4 -> MT23108 H-1296 P1
+	 L1/P5 -> MT23108 H-1297 P1
+	 L2/P5 -> MT23108 H-1298 P1
+	 L3/P5 -> MT23108 H-1299 P1
+	 L4/P5 -> MT23108 H-1300 P1
+	 L5/P5 -> MT23108 H-1301 P1
+	 L6/P5 -> MT23108 H-1302 P1
+	 L7/P5 -> MT23108 H-1303 P1
+	 L8/P5 -> MT23108 H-1304 P1
+	 L9/P5 -> MT23108 H-1305 P1
+	 L10/P5 -> MT23108 H-1306 P1
+	 L11/P5 -> MT23108 H-1307 P1
+	 L12/P5 -> MT23108 H-1308 P1
+	 L1/P6 -> MT23108 H-1309 P1
+	 L2/P6 -> MT23108 H-1310 P1
+	 L3/P6 -> MT23108 H-1311 P1
+	 L4/P6 -> MT23108 H-1312 P1
+	 L5/P6 -> MT23108 H-1313 P1
+	 L6/P6 -> MT23108 H-1314 P1
+	 L7/P6 -> MT23108 H-1315 P1
+	 L8/P6 -> MT23108 H-1316 P1
+	 L9/P6 -> MT23108 H-1317 P1
+	 L10/P6 -> MT23108 H-1318 P1
+	 L11/P6 -> MT23108 H-1319 P1
+	 L12/P6 -> MT23108 H-1320 P1
+	 L1/P7 -> MT23108 H-1321 P1
+	 L2/P7 -> MT23108 H-1322 P1
+	 L3/P7 -> MT23108 H-1323 P1
+	 L4/P7 -> MT23108 H-1324 P1
+	 L5/P7 -> MT23108 H-1325 P1
+	 L6/P7 -> MT23108 H-1326 P1
+	 L7/P7 -> MT23108 H-1327 P1
+	 L8/P7 -> MT23108 H-1328 P1
+	 L9/P7 -> MT23108 H-1329 P1
+	 L10/P7 -> MT23108 H-1330 P1
+	 L11/P7 -> MT23108 H-1331 P1
+	 L12/P7 -> MT23108 H-1332 P1
+	 L1/P8 -> MT23108 H-1333 P1
+	 L2/P8 -> MT23108 H-1334 P1
+	 L3/P8 -> MT23108 H-1335 P1
+	 L4/P8 -> MT23108 H-1336 P1
+	 L5/P8 -> MT23108 H-1337 P1
+	 L6/P8 -> MT23108 H-1338 P1
+	 L7/P8 -> MT23108 H-1339 P1
+	 L8/P8 -> MT23108 H-1340 P1
+	 L9/P8 -> MT23108 H-1341 P1
+	 L10/P8 -> MT23108 H-1342 P1
+	 L11/P8 -> MT23108 H-1343 P1
+	 L12/P8 -> MT23108 H-1344 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P2
+	 L2/P9 -> MTS14400 SL2-1 L8/P2
+	 L3/P9 -> MTS14400 SL2-2 L7/P2
+	 L4/P9 -> MTS14400 SL2-2 L8/P2
+	 L5/P9 -> MTS14400 SL2-3 L7/P2
+	 L6/P9 -> MTS14400 SL2-3 L8/P2
+	 L7/P9 -> MTS14400 SL2-4 L7/P2
+	 L8/P9 -> MTS14400 SL2-4 L8/P2
+	 L9/P9 -> MTS14400 SL2-5 L7/P2
+	 L10/P9 -> MTS14400 SL2-5 L8/P2
+	 L11/P9 -> MTS14400 SL2-6 L7/P2
+	 L12/P9 -> MTS14400 SL2-6 L8/P2
+	 L1/P10 -> MTS14400 SL2-7 L7/P2
+	 L2/P10 -> MTS14400 SL2-7 L8/P2
+	 L3/P10 -> MTS14400 SL2-8 L7/P2
+	 L4/P10 -> MTS14400 SL2-9 L7/P2
+	 L5/P10 -> MTS14400 SL2-10 L7/P2
+	 L6/P10 -> MTS14400 SL2-11 L7/P2
+	 L7/P10 -> MTS14400 SL2-12 L7/P2
+	 L8/P10 -> MTS14400 SL2-13 L7/P2
+	 L9/P10 -> MTS14400 SL2-14 L7/P2
+	 L10/P10 -> MTS14400 SL2-15 L7/P2
+	 L11/P10 -> MTS14400 SL2-16 L7/P2
+	 L12/P10 -> MTS14400 SL2-17 L7/P2
+	 L1/P11 -> MTS14400 SL2-18 L7/P2
+	 L2/P11 -> MTS14400 SL2-19 L7/P2
+	 L3/P11 -> MTS14400 SL2-20 L7/P2
+	 L4/P11 -> MTS14400 SL2-21 L7/P2
+	 L5/P11 -> MTS14400 SL2-22 L7/P2
+	 L6/P11 -> MTS14400 SL2-23 L7/P2
+	 L7/P11 -> MTS14400 SL2-24 L7/P2
+	 L8/P11 -> MTS14400 SL2-25 L7/P2
+	 L9/P11 -> MTS14400 SL2-26 L7/P2
+	 L10/P11 -> MTS14400 SL2-27 L7/P2
+	 L11/P11 -> MTS14400 SL2-28 L7/P2
+	 L12/P11 -> MTS14400 SL2-29 L7/P2
+	 L1/P12 -> MTS14400 SL2-30 L6/P2
+	 L2/P12 -> MTS14400 SL2-30 L7/P2
+	 L3/P12 -> MTS14400 SL2-31 L6/P2
+	 L4/P12 -> MTS14400 SL2-31 L7/P2
+	 L5/P12 -> MTS14400 SL2-32 L6/P2
+	 L6/P12 -> MTS14400 SL2-32 L7/P2
+	 L7/P12 -> MTS14400 SL2-33 L6/P2
+	 L8/P12 -> MTS14400 SL2-33 L7/P2
+	 L9/P12 -> MTS14400 SL2-34 L6/P2
+	 L10/P12 -> MTS14400 SL2-34 L7/P2
+	 L11/P12 -> MTS14400 SL2-35 L6/P2
+	 L12/P12 -> MTS14400 SL2-35 L7/P2
+
+MTS14400 SL1-15
+	 L1/P1 -> MT23108 H-1345 P1
+	 L2/P1 -> MT23108 H-1346 P1
+	 L3/P1 -> MT23108 H-1347 P1
+	 L4/P1 -> MT23108 H-1348 P1
+	 L5/P1 -> MT23108 H-1349 P1
+	 L6/P1 -> MT23108 H-1350 P1
+	 L7/P1 -> MT23108 H-1351 P1
+	 L8/P1 -> MT23108 H-1352 P1
+	 L9/P1 -> MT23108 H-1353 P1
+	 L10/P1 -> MT23108 H-1354 P1
+	 L11/P1 -> MT23108 H-1355 P1
+	 L12/P1 -> MT23108 H-1356 P1
+	 L1/P2 -> MT23108 H-1357 P1
+	 L2/P2 -> MT23108 H-1358 P1
+	 L3/P2 -> MT23108 H-1359 P1
+	 L4/P2 -> MT23108 H-1360 P1
+	 L5/P2 -> MT23108 H-1361 P1
+	 L6/P2 -> MT23108 H-1362 P1
+	 L7/P2 -> MT23108 H-1363 P1
+	 L8/P2 -> MT23108 H-1364 P1
+	 L9/P2 -> MT23108 H-1365 P1
+	 L10/P2 -> MT23108 H-1366 P1
+	 L11/P2 -> MT23108 H-1367 P1
+	 L12/P2 -> MT23108 H-1368 P1
+	 L1/P3 -> MT23108 H-1369 P1
+	 L2/P3 -> MT23108 H-1370 P1
+	 L3/P3 -> MT23108 H-1371 P1
+	 L4/P3 -> MT23108 H-1372 P1
+	 L5/P3 -> MT23108 H-1373 P1
+	 L6/P3 -> MT23108 H-1374 P1
+	 L7/P3 -> MT23108 H-1375 P1
+	 L8/P3 -> MT23108 H-1376 P1
+	 L9/P3 -> MT23108 H-1377 P1
+	 L10/P3 -> MT23108 H-1378 P1
+	 L11/P3 -> MT23108 H-1379 P1
+	 L12/P3 -> MT23108 H-1380 P1
+	 L1/P4 -> MT23108 H-1381 P1
+	 L2/P4 -> MT23108 H-1382 P1
+	 L3/P4 -> MT23108 H-1383 P1
+	 L4/P4 -> MT23108 H-1384 P1
+	 L5/P4 -> MT23108 H-1385 P1
+	 L6/P4 -> MT23108 H-1386 P1
+	 L7/P4 -> MT23108 H-1387 P1
+	 L8/P4 -> MT23108 H-1388 P1
+	 L9/P4 -> MT23108 H-1389 P1
+	 L10/P4 -> MT23108 H-1390 P1
+	 L11/P4 -> MT23108 H-1391 P1
+	 L12/P4 -> MT23108 H-1392 P1
+	 L1/P5 -> MT23108 H-1393 P1
+	 L2/P5 -> MT23108 H-1394 P1
+	 L3/P5 -> MT23108 H-1395 P1
+	 L4/P5 -> MT23108 H-1396 P1
+	 L5/P5 -> MT23108 H-1397 P1
+	 L6/P5 -> MT23108 H-1398 P1
+	 L7/P5 -> MT23108 H-1399 P1
+	 L8/P5 -> MT23108 H-1400 P1
+	 L9/P5 -> MT23108 H-1401 P1
+	 L10/P5 -> MT23108 H-1402 P1
+	 L11/P5 -> MT23108 H-1403 P1
+	 L12/P5 -> MT23108 H-1404 P1
+	 L1/P6 -> MT23108 H-1405 P1
+	 L2/P6 -> MT23108 H-1406 P1
+	 L3/P6 -> MT23108 H-1407 P1
+	 L4/P6 -> MT23108 H-1408 P1
+	 L5/P6 -> MT23108 H-1409 P1
+	 L6/P6 -> MT23108 H-1410 P1
+	 L7/P6 -> MT23108 H-1411 P1
+	 L8/P6 -> MT23108 H-1412 P1
+	 L9/P6 -> MT23108 H-1413 P1
+	 L10/P6 -> MT23108 H-1414 P1
+	 L11/P6 -> MT23108 H-1415 P1
+	 L12/P6 -> MT23108 H-1416 P1
+	 L1/P7 -> MT23108 H-1417 P1
+	 L2/P7 -> MT23108 H-1418 P1
+	 L3/P7 -> MT23108 H-1419 P1
+	 L4/P7 -> MT23108 H-1420 P1
+	 L5/P7 -> MT23108 H-1421 P1
+	 L6/P7 -> MT23108 H-1422 P1
+	 L7/P7 -> MT23108 H-1423 P1
+	 L8/P7 -> MT23108 H-1424 P1
+	 L9/P7 -> MT23108 H-1425 P1
+	 L10/P7 -> MT23108 H-1426 P1
+	 L11/P7 -> MT23108 H-1427 P1
+	 L12/P7 -> MT23108 H-1428 P1
+	 L1/P8 -> MT23108 H-1429 P1
+	 L2/P8 -> MT23108 H-1430 P1
+	 L3/P8 -> MT23108 H-1431 P1
+	 L4/P8 -> MT23108 H-1432 P1
+	 L5/P8 -> MT23108 H-1433 P1
+	 L6/P8 -> MT23108 H-1434 P1
+	 L7/P8 -> MT23108 H-1435 P1
+	 L8/P8 -> MT23108 H-1436 P1
+	 L9/P8 -> MT23108 H-1437 P1
+	 L10/P8 -> MT23108 H-1438 P1
+	 L11/P8 -> MT23108 H-1439 P1
+	 L12/P8 -> MT23108 H-1440 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P2
+	 L2/P9 -> MTS14400 SL2-2 L9/P2
+	 L3/P9 -> MTS14400 SL2-3 L9/P2
+	 L4/P9 -> MTS14400 SL2-4 L9/P2
+	 L5/P9 -> MTS14400 SL2-5 L9/P2
+	 L6/P9 -> MTS14400 SL2-6 L9/P2
+	 L7/P9 -> MTS14400 SL2-7 L9/P2
+	 L8/P9 -> MTS14400 SL2-8 L8/P2
+	 L9/P9 -> MTS14400 SL2-8 L9/P2
+	 L10/P9 -> MTS14400 SL2-9 L8/P2
+	 L11/P9 -> MTS14400 SL2-9 L9/P2
+	 L12/P9 -> MTS14400 SL2-10 L8/P2
+	 L1/P10 -> MTS14400 SL2-10 L9/P2
+	 L2/P10 -> MTS14400 SL2-11 L8/P2
+	 L3/P10 -> MTS14400 SL2-11 L9/P2
+	 L4/P10 -> MTS14400 SL2-12 L8/P2
+	 L5/P10 -> MTS14400 SL2-12 L9/P2
+	 L6/P10 -> MTS14400 SL2-13 L8/P2
+	 L7/P10 -> MTS14400 SL2-13 L9/P2
+	 L8/P10 -> MTS14400 SL2-14 L8/P2
+	 L9/P10 -> MTS14400 SL2-14 L9/P2
+	 L10/P10 -> MTS14400 SL2-15 L8/P2
+	 L11/P10 -> MTS14400 SL2-15 L9/P2
+	 L12/P10 -> MTS14400 SL2-16 L8/P2
+	 L1/P11 -> MTS14400 SL2-16 L9/P2
+	 L2/P11 -> MTS14400 SL2-17 L8/P2
+	 L3/P11 -> MTS14400 SL2-17 L9/P2
+	 L4/P11 -> MTS14400 SL2-18 L8/P2
+	 L5/P11 -> MTS14400 SL2-18 L9/P2
+	 L6/P11 -> MTS14400 SL2-19 L8/P2
+	 L7/P11 -> MTS14400 SL2-19 L9/P2
+	 L8/P11 -> MTS14400 SL2-20 L8/P2
+	 L9/P11 -> MTS14400 SL2-20 L9/P2
+	 L10/P11 -> MTS14400 SL2-21 L8/P2
+	 L11/P11 -> MTS14400 SL2-22 L8/P2
+	 L12/P11 -> MTS14400 SL2-23 L8/P2
+	 L1/P12 -> MTS14400 SL2-24 L8/P2
+	 L2/P12 -> MTS14400 SL2-25 L8/P2
+	 L3/P12 -> MTS14400 SL2-26 L8/P2
+	 L4/P12 -> MTS14400 SL2-27 L8/P2
+	 L5/P12 -> MTS14400 SL2-28 L8/P2
+	 L6/P12 -> MTS14400 SL2-29 L8/P2
+	 L7/P12 -> MTS14400 SL2-30 L8/P2
+	 L8/P12 -> MTS14400 SL2-31 L8/P2
+	 L9/P12 -> MTS14400 SL2-32 L8/P2
+	 L10/P12 -> MTS14400 SL2-33 L8/P2
+	 L11/P12 -> MTS14400 SL2-34 L8/P2
+	 L12/P12 -> MTS14400 SL2-35 L8/P2
+
+MTS14400 SL1-16
+	 L1/P1 -> MT23108 H-1441 P1
+	 L2/P1 -> MT23108 H-1442 P1
+	 L3/P1 -> MT23108 H-1443 P1
+	 L4/P1 -> MT23108 H-1444 P1
+	 L5/P1 -> MT23108 H-1445 P1
+	 L6/P1 -> MT23108 H-1446 P1
+	 L7/P1 -> MT23108 H-1447 P1
+	 L8/P1 -> MT23108 H-1448 P1
+	 L9/P1 -> MT23108 H-1449 P1
+	 L10/P1 -> MT23108 H-1450 P1
+	 L11/P1 -> MT23108 H-1451 P1
+	 L12/P1 -> MT23108 H-1452 P1
+	 L1/P2 -> MT23108 H-1453 P1
+	 L2/P2 -> MT23108 H-1454 P1
+	 L3/P2 -> MT23108 H-1455 P1
+	 L4/P2 -> MT23108 H-1456 P1
+	 L5/P2 -> MT23108 H-1457 P1
+	 L6/P2 -> MT23108 H-1458 P1
+	 L7/P2 -> MT23108 H-1459 P1
+	 L8/P2 -> MT23108 H-1460 P1
+	 L9/P2 -> MT23108 H-1461 P1
+	 L10/P2 -> MT23108 H-1462 P1
+	 L11/P2 -> MT23108 H-1463 P1
+	 L12/P2 -> MT23108 H-1464 P1
+	 L1/P3 -> MT23108 H-1465 P1
+	 L2/P3 -> MT23108 H-1466 P1
+	 L3/P3 -> MT23108 H-1467 P1
+	 L4/P3 -> MT23108 H-1468 P1
+	 L5/P3 -> MT23108 H-1469 P1
+	 L6/P3 -> MT23108 H-1470 P1
+	 L7/P3 -> MT23108 H-1471 P1
+	 L8/P3 -> MT23108 H-1472 P1
+	 L9/P3 -> MT23108 H-1473 P1
+	 L10/P3 -> MT23108 H-1474 P1
+	 L11/P3 -> MT23108 H-1475 P1
+	 L12/P3 -> MT23108 H-1476 P1
+	 L1/P4 -> MT23108 H-1477 P1
+	 L2/P4 -> MT23108 H-1478 P1
+	 L3/P4 -> MT23108 H-1479 P1
+	 L4/P4 -> MT23108 H-1480 P1
+	 L5/P4 -> MT23108 H-1481 P1
+	 L6/P4 -> MT23108 H-1482 P1
+	 L7/P4 -> MT23108 H-1483 P1
+	 L8/P4 -> MT23108 H-1484 P1
+	 L9/P4 -> MT23108 H-1485 P1
+	 L10/P4 -> MT23108 H-1486 P1
+	 L11/P4 -> MT23108 H-1487 P1
+	 L12/P4 -> MT23108 H-1488 P1
+	 L1/P5 -> MT23108 H-1489 P1
+	 L2/P5 -> MT23108 H-1490 P1
+	 L3/P5 -> MT23108 H-1491 P1
+	 L4/P5 -> MT23108 H-1492 P1
+	 L5/P5 -> MT23108 H-1493 P1
+	 L6/P5 -> MT23108 H-1494 P1
+	 L7/P5 -> MT23108 H-1495 P1
+	 L8/P5 -> MT23108 H-1496 P1
+	 L9/P5 -> MT23108 H-1497 P1
+	 L10/P5 -> MT23108 H-1498 P1
+	 L11/P5 -> MT23108 H-1499 P1
+	 L12/P5 -> MT23108 H-1500 P1
+	 L1/P6 -> MT23108 H-1501 P1
+	 L2/P6 -> MT23108 H-1502 P1
+	 L3/P6 -> MT23108 H-1503 P1
+	 L4/P6 -> MT23108 H-1504 P1
+	 L5/P6 -> MT23108 H-1505 P1
+	 L6/P6 -> MT23108 H-1506 P1
+	 L7/P6 -> MT23108 H-1507 P1
+	 L8/P6 -> MT23108 H-1508 P1
+	 L9/P6 -> MT23108 H-1509 P1
+	 L10/P6 -> MT23108 H-1510 P1
+	 L11/P6 -> MT23108 H-1511 P1
+	 L12/P6 -> MT23108 H-1512 P1
+	 L1/P7 -> MT23108 H-1513 P1
+	 L2/P7 -> MT23108 H-1514 P1
+	 L3/P7 -> MT23108 H-1515 P1
+	 L4/P7 -> MT23108 H-1516 P1
+	 L5/P7 -> MT23108 H-1517 P1
+	 L6/P7 -> MT23108 H-1518 P1
+	 L7/P7 -> MT23108 H-1519 P1
+	 L8/P7 -> MT23108 H-1520 P1
+	 L9/P7 -> MT23108 H-1521 P1
+	 L10/P7 -> MT23108 H-1522 P1
+	 L11/P7 -> MT23108 H-1523 P1
+	 L12/P7 -> MT23108 H-1524 P1
+	 L1/P8 -> MT23108 H-1525 P1
+	 L2/P8 -> MT23108 H-1526 P1
+	 L3/P8 -> MT23108 H-1527 P1
+	 L4/P8 -> MT23108 H-1528 P1
+	 L5/P8 -> MT23108 H-1529 P1
+	 L6/P8 -> MT23108 H-1530 P1
+	 L7/P8 -> MT23108 H-1531 P1
+	 L8/P8 -> MT23108 H-1532 P1
+	 L9/P8 -> MT23108 H-1533 P1
+	 L10/P8 -> MT23108 H-1534 P1
+	 L11/P8 -> MT23108 H-1535 P1
+	 L12/P8 -> MT23108 H-1536 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P2
+	 L2/P9 -> MTS14400 SL2-2 L10/P2
+	 L3/P9 -> MTS14400 SL2-3 L10/P2
+	 L4/P9 -> MTS14400 SL2-4 L10/P2
+	 L5/P9 -> MTS14400 SL2-5 L10/P2
+	 L6/P9 -> MTS14400 SL2-6 L10/P2
+	 L7/P9 -> MTS14400 SL2-7 L10/P2
+	 L8/P9 -> MTS14400 SL2-8 L10/P2
+	 L9/P9 -> MTS14400 SL2-9 L10/P2
+	 L10/P9 -> MTS14400 SL2-10 L10/P2
+	 L11/P9 -> MTS14400 SL2-11 L10/P2
+	 L12/P9 -> MTS14400 SL2-12 L10/P2
+	 L1/P10 -> MTS14400 SL2-13 L10/P2
+	 L2/P10 -> MTS14400 SL2-14 L10/P2
+	 L3/P10 -> MTS14400 SL2-15 L10/P2
+	 L4/P10 -> MTS14400 SL2-16 L10/P2
+	 L5/P10 -> MTS14400 SL2-17 L10/P2
+	 L6/P10 -> MTS14400 SL2-18 L10/P2
+	 L7/P10 -> MTS14400 SL2-19 L10/P2
+	 L8/P10 -> MTS14400 SL2-20 L10/P2
+	 L9/P10 -> MTS14400 SL2-21 L9/P2
+	 L10/P10 -> MTS14400 SL2-21 L10/P2
+	 L11/P10 -> MTS14400 SL2-22 L9/P2
+	 L12/P10 -> MTS14400 SL2-22 L10/P2
+	 L1/P11 -> MTS14400 SL2-23 L9/P2
+	 L2/P11 -> MTS14400 SL2-23 L10/P2
+	 L3/P11 -> MTS14400 SL2-24 L9/P2
+	 L4/P11 -> MTS14400 SL2-24 L10/P2
+	 L5/P11 -> MTS14400 SL2-25 L9/P2
+	 L6/P11 -> MTS14400 SL2-25 L10/P2
+	 L7/P11 -> MTS14400 SL2-26 L9/P2
+	 L8/P11 -> MTS14400 SL2-26 L10/P2
+	 L9/P11 -> MTS14400 SL2-27 L9/P2
+	 L10/P11 -> MTS14400 SL2-27 L10/P2
+	 L11/P11 -> MTS14400 SL2-28 L9/P2
+	 L12/P11 -> MTS14400 SL2-28 L10/P2
+	 L1/P12 -> MTS14400 SL2-29 L9/P2
+	 L2/P12 -> MTS14400 SL2-29 L10/P2
+	 L3/P12 -> MTS14400 SL2-30 L9/P2
+	 L4/P12 -> MTS14400 SL2-30 L10/P2
+	 L5/P12 -> MTS14400 SL2-31 L9/P2
+	 L6/P12 -> MTS14400 SL2-31 L10/P2
+	 L7/P12 -> MTS14400 SL2-32 L9/P2
+	 L8/P12 -> MTS14400 SL2-32 L10/P2
+	 L9/P12 -> MTS14400 SL2-33 L9/P2
+	 L10/P12 -> MTS14400 SL2-33 L10/P2
+	 L11/P12 -> MTS14400 SL2-34 L9/P2
+	 L12/P12 -> MTS14400 SL2-35 L9/P2
+
+MTS14400 SL1-17
+	 L1/P1 -> MT23108 H-1537 P1
+	 L2/P1 -> MT23108 H-1538 P1
+	 L3/P1 -> MT23108 H-1539 P1
+	 L4/P1 -> MT23108 H-1540 P1
+	 L5/P1 -> MT23108 H-1541 P1
+	 L6/P1 -> MT23108 H-1542 P1
+	 L7/P1 -> MT23108 H-1543 P1
+	 L8/P1 -> MT23108 H-1544 P1
+	 L9/P1 -> MT23108 H-1545 P1
+	 L10/P1 -> MT23108 H-1546 P1
+	 L11/P1 -> MT23108 H-1547 P1
+	 L12/P1 -> MT23108 H-1548 P1
+	 L1/P2 -> MT23108 H-1549 P1
+	 L2/P2 -> MT23108 H-1550 P1
+	 L3/P2 -> MT23108 H-1551 P1
+	 L4/P2 -> MT23108 H-1552 P1
+	 L5/P2 -> MT23108 H-1553 P1
+	 L6/P2 -> MT23108 H-1554 P1
+	 L7/P2 -> MT23108 H-1555 P1
+	 L8/P2 -> MT23108 H-1556 P1
+	 L9/P2 -> MT23108 H-1557 P1
+	 L10/P2 -> MT23108 H-1558 P1
+	 L11/P2 -> MT23108 H-1559 P1
+	 L12/P2 -> MT23108 H-1560 P1
+	 L1/P3 -> MT23108 H-1561 P1
+	 L2/P3 -> MT23108 H-1562 P1
+	 L3/P3 -> MT23108 H-1563 P1
+	 L4/P3 -> MT23108 H-1564 P1
+	 L5/P3 -> MT23108 H-1565 P1
+	 L6/P3 -> MT23108 H-1566 P1
+	 L7/P3 -> MT23108 H-1567 P1
+	 L8/P3 -> MT23108 H-1568 P1
+	 L9/P3 -> MT23108 H-1569 P1
+	 L10/P3 -> MT23108 H-1570 P1
+	 L11/P3 -> MT23108 H-1571 P1
+	 L12/P3 -> MT23108 H-1572 P1
+	 L1/P4 -> MT23108 H-1573 P1
+	 L2/P4 -> MT23108 H-1574 P1
+	 L3/P4 -> MT23108 H-1575 P1
+	 L4/P4 -> MT23108 H-1576 P1
+	 L5/P4 -> MT23108 H-1577 P1
+	 L6/P4 -> MT23108 H-1578 P1
+	 L7/P4 -> MT23108 H-1579 P1
+	 L8/P4 -> MT23108 H-1580 P1
+	 L9/P4 -> MT23108 H-1581 P1
+	 L10/P4 -> MT23108 H-1582 P1
+	 L11/P4 -> MT23108 H-1583 P1
+	 L12/P4 -> MT23108 H-1584 P1
+	 L1/P5 -> MT23108 H-1585 P1
+	 L2/P5 -> MT23108 H-1586 P1
+	 L3/P5 -> MT23108 H-1587 P1
+	 L4/P5 -> MT23108 H-1588 P1
+	 L5/P5 -> MT23108 H-1589 P1
+	 L6/P5 -> MT23108 H-1590 P1
+	 L7/P5 -> MT23108 H-1591 P1
+	 L8/P5 -> MT23108 H-1592 P1
+	 L9/P5 -> MT23108 H-1593 P1
+	 L10/P5 -> MT23108 H-1594 P1
+	 L11/P5 -> MT23108 H-1595 P1
+	 L12/P5 -> MT23108 H-1596 P1
+	 L1/P6 -> MT23108 H-1597 P1
+	 L2/P6 -> MT23108 H-1598 P1
+	 L3/P6 -> MT23108 H-1599 P1
+	 L4/P6 -> MT23108 H-1600 P1
+	 L5/P6 -> MT23108 H-1601 P1
+	 L6/P6 -> MT23108 H-1602 P1
+	 L7/P6 -> MT23108 H-1603 P1
+	 L8/P6 -> MT23108 H-1604 P1
+	 L9/P6 -> MT23108 H-1605 P1
+	 L10/P6 -> MT23108 H-1606 P1
+	 L11/P6 -> MT23108 H-1607 P1
+	 L12/P6 -> MT23108 H-1608 P1
+	 L1/P7 -> MT23108 H-1609 P1
+	 L2/P7 -> MT23108 H-1610 P1
+	 L3/P7 -> MT23108 H-1611 P1
+	 L4/P7 -> MT23108 H-1612 P1
+	 L5/P7 -> MT23108 H-1613 P1
+	 L6/P7 -> MT23108 H-1614 P1
+	 L7/P7 -> MT23108 H-1615 P1
+	 L8/P7 -> MT23108 H-1616 P1
+	 L9/P7 -> MT23108 H-1617 P1
+	 L10/P7 -> MT23108 H-1618 P1
+	 L11/P7 -> MT23108 H-1619 P1
+	 L12/P7 -> MT23108 H-1620 P1
+	 L1/P8 -> MT23108 H-1621 P1
+	 L2/P8 -> MT23108 H-1622 P1
+	 L3/P8 -> MT23108 H-1623 P1
+	 L4/P8 -> MT23108 H-1624 P1
+	 L5/P8 -> MT23108 H-1625 P1
+	 L6/P8 -> MT23108 H-1626 P1
+	 L7/P8 -> MT23108 H-1627 P1
+	 L8/P8 -> MT23108 H-1628 P1
+	 L9/P8 -> MT23108 H-1629 P1
+	 L10/P8 -> MT23108 H-1630 P1
+	 L11/P8 -> MT23108 H-1631 P1
+	 L12/P8 -> MT23108 H-1632 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P2
+	 L2/P9 -> MTS14400 SL2-1 L12/P2
+	 L3/P9 -> MTS14400 SL2-2 L11/P2
+	 L4/P9 -> MTS14400 SL2-2 L12/P2
+	 L5/P9 -> MTS14400 SL2-3 L11/P2
+	 L6/P9 -> MTS14400 SL2-3 L12/P2
+	 L7/P9 -> MTS14400 SL2-4 L11/P2
+	 L8/P9 -> MTS14400 SL2-4 L12/P2
+	 L9/P9 -> MTS14400 SL2-5 L11/P2
+	 L10/P9 -> MTS14400 SL2-5 L12/P2
+	 L11/P9 -> MTS14400 SL2-6 L11/P2
+	 L12/P9 -> MTS14400 SL2-6 L12/P2
+	 L1/P10 -> MTS14400 SL2-7 L11/P2
+	 L2/P10 -> MTS14400 SL2-7 L12/P2
+	 L3/P10 -> MTS14400 SL2-8 L11/P2
+	 L4/P10 -> MTS14400 SL2-8 L12/P2
+	 L5/P10 -> MTS14400 SL2-9 L11/P2
+	 L6/P10 -> MTS14400 SL2-9 L12/P2
+	 L7/P10 -> MTS14400 SL2-10 L11/P2
+	 L8/P10 -> MTS14400 SL2-10 L12/P2
+	 L9/P10 -> MTS14400 SL2-11 L11/P2
+	 L10/P10 -> MTS14400 SL2-11 L12/P2
+	 L11/P10 -> MTS14400 SL2-12 L11/P2
+	 L12/P10 -> MTS14400 SL2-13 L11/P2
+	 L1/P11 -> MTS14400 SL2-14 L11/P2
+	 L2/P11 -> MTS14400 SL2-15 L11/P2
+	 L3/P11 -> MTS14400 SL2-16 L11/P2
+	 L4/P11 -> MTS14400 SL2-17 L11/P2
+	 L5/P11 -> MTS14400 SL2-18 L11/P2
+	 L6/P11 -> MTS14400 SL2-19 L11/P2
+	 L7/P11 -> MTS14400 SL2-20 L11/P2
+	 L8/P11 -> MTS14400 SL2-21 L11/P2
+	 L9/P11 -> MTS14400 SL2-22 L11/P2
+	 L10/P11 -> MTS14400 SL2-23 L11/P2
+	 L11/P11 -> MTS14400 SL2-24 L11/P2
+	 L12/P11 -> MTS14400 SL2-25 L11/P2
+	 L1/P12 -> MTS14400 SL2-26 L11/P2
+	 L2/P12 -> MTS14400 SL2-27 L11/P2
+	 L3/P12 -> MTS14400 SL2-28 L11/P2
+	 L4/P12 -> MTS14400 SL2-29 L11/P2
+	 L5/P12 -> MTS14400 SL2-30 L11/P2
+	 L6/P12 -> MTS14400 SL2-31 L11/P2
+	 L7/P12 -> MTS14400 SL2-32 L11/P2
+	 L8/P12 -> MTS14400 SL2-33 L11/P2
+	 L9/P12 -> MTS14400 SL2-34 L10/P2
+	 L10/P12 -> MTS14400 SL2-34 L11/P2
+	 L11/P12 -> MTS14400 SL2-35 L10/P2
+	 L12/P12 -> MTS14400 SL2-35 L11/P2
+
+MTS14400 SL1-18
+	 L1/P1 -> MT23108 H-1633 P1
+	 L2/P1 -> MT23108 H-1634 P1
+	 L3/P1 -> MT23108 H-1635 P1
+	 L4/P1 -> MT23108 H-1636 P1
+	 L5/P1 -> MT23108 H-1637 P1
+	 L6/P1 -> MT23108 H-1638 P1
+	 L7/P1 -> MT23108 H-1639 P1
+	 L8/P1 -> MT23108 H-1640 P1
+	 L9/P1 -> MT23108 H-1641 P1
+	 L10/P1 -> MT23108 H-1642 P1
+	 L11/P1 -> MT23108 H-1643 P1
+	 L12/P1 -> MT23108 H-1644 P1
+	 L1/P2 -> MT23108 H-1645 P1
+	 L2/P2 -> MT23108 H-1646 P1
+	 L3/P2 -> MT23108 H-1647 P1
+	 L4/P2 -> MT23108 H-1648 P1
+	 L5/P2 -> MT23108 H-1649 P1
+	 L6/P2 -> MT23108 H-1650 P1
+	 L7/P2 -> MT23108 H-1651 P1
+	 L8/P2 -> MT23108 H-1652 P1
+	 L9/P2 -> MT23108 H-1653 P1
+	 L10/P2 -> MT23108 H-1654 P1
+	 L11/P2 -> MT23108 H-1655 P1
+	 L12/P2 -> MT23108 H-1656 P1
+	 L1/P3 -> MT23108 H-1657 P1
+	 L2/P3 -> MT23108 H-1658 P1
+	 L3/P3 -> MT23108 H-1659 P1
+	 L4/P3 -> MT23108 H-1660 P1
+	 L5/P3 -> MT23108 H-1661 P1
+	 L6/P3 -> MT23108 H-1662 P1
+	 L7/P3 -> MT23108 H-1663 P1
+	 L8/P3 -> MT23108 H-1664 P1
+	 L9/P3 -> MT23108 H-1665 P1
+	 L10/P3 -> MT23108 H-1666 P1
+	 L11/P3 -> MT23108 H-1667 P1
+	 L12/P3 -> MT23108 H-1668 P1
+	 L1/P4 -> MT23108 H-1669 P1
+	 L2/P4 -> MT23108 H-1670 P1
+	 L3/P4 -> MT23108 H-1671 P1
+	 L4/P4 -> MT23108 H-1672 P1
+	 L5/P4 -> MT23108 H-1673 P1
+	 L6/P4 -> MT23108 H-1674 P1
+	 L7/P4 -> MT23108 H-1675 P1
+	 L8/P4 -> MT23108 H-1676 P1
+	 L9/P4 -> MT23108 H-1677 P1
+	 L10/P4 -> MT23108 H-1678 P1
+	 L11/P4 -> MT23108 H-1679 P1
+	 L12/P4 -> MT23108 H-1680 P1
+	 L1/P5 -> MT23108 H-1681 P1
+	 L2/P5 -> MT23108 H-1682 P1
+	 L3/P5 -> MT23108 H-1683 P1
+	 L4/P5 -> MT23108 H-1684 P1
+	 L5/P5 -> MT23108 H-1685 P1
+	 L6/P5 -> MT23108 H-1686 P1
+	 L7/P5 -> MT23108 H-1687 P1
+	 L8/P5 -> MT23108 H-1688 P1
+	 L9/P5 -> MT23108 H-1689 P1
+	 L10/P5 -> MT23108 H-1690 P1
+	 L11/P5 -> MT23108 H-1691 P1
+	 L12/P5 -> MT23108 H-1692 P1
+	 L1/P6 -> MT23108 H-1693 P1
+	 L2/P6 -> MT23108 H-1694 P1
+	 L3/P6 -> MT23108 H-1695 P1
+	 L4/P6 -> MT23108 H-1696 P1
+	 L5/P6 -> MT23108 H-1697 P1
+	 L6/P6 -> MT23108 H-1698 P1
+	 L7/P6 -> MT23108 H-1699 P1
+	 L8/P6 -> MT23108 H-1700 P1
+	 L9/P6 -> MT23108 H-1701 P1
+	 L10/P6 -> MT23108 H-1702 P1
+	 L11/P6 -> MT23108 H-1703 P1
+	 L12/P6 -> MT23108 H-1704 P1
+	 L1/P7 -> MT23108 H-1705 P1
+	 L2/P7 -> MT23108 H-1706 P1
+	 L3/P7 -> MT23108 H-1707 P1
+	 L4/P7 -> MT23108 H-1708 P1
+	 L5/P7 -> MT23108 H-1709 P1
+	 L6/P7 -> MT23108 H-1710 P1
+	 L7/P7 -> MT23108 H-1711 P1
+	 L8/P7 -> MT23108 H-1712 P1
+	 L9/P7 -> MT23108 H-1713 P1
+	 L10/P7 -> MT23108 H-1714 P1
+	 L11/P7 -> MT23108 H-1715 P1
+	 L12/P7 -> MT23108 H-1716 P1
+	 L1/P8 -> MT23108 H-1717 P1
+	 L2/P8 -> MT23108 H-1718 P1
+	 L3/P8 -> MT23108 H-1719 P1
+	 L4/P8 -> MT23108 H-1720 P1
+	 L5/P8 -> MT23108 H-1721 P1
+	 L6/P8 -> MT23108 H-1722 P1
+	 L7/P8 -> MT23108 H-1723 P1
+	 L8/P8 -> MT23108 H-1724 P1
+	 L9/P8 -> MT23108 H-1725 P1
+	 L10/P8 -> MT23108 H-1726 P1
+	 L11/P8 -> MT23108 H-1727 P1
+	 L12/P8 -> MT23108 H-1728 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P3
+	 L2/P9 -> MTS14400 SL2-2 L1/P3
+	 L3/P9 -> MTS14400 SL2-3 L1/P3
+	 L4/P9 -> MTS14400 SL2-4 L1/P3
+	 L5/P9 -> MTS14400 SL2-5 L1/P3
+	 L6/P9 -> MTS14400 SL2-6 L1/P3
+	 L7/P9 -> MTS14400 SL2-7 L1/P3
+	 L8/P9 -> MTS14400 SL2-8 L1/P3
+	 L9/P9 -> MTS14400 SL2-9 L1/P3
+	 L10/P9 -> MTS14400 SL2-10 L1/P3
+	 L11/P9 -> MTS14400 SL2-11 L1/P3
+	 L12/P9 -> MTS14400 SL2-12 L12/P2
+	 L1/P10 -> MTS14400 SL2-12 L1/P3
+	 L2/P10 -> MTS14400 SL2-13 L12/P2
+	 L3/P10 -> MTS14400 SL2-13 L1/P3
+	 L4/P10 -> MTS14400 SL2-14 L12/P2
+	 L5/P10 -> MTS14400 SL2-14 L1/P3
+	 L6/P10 -> MTS14400 SL2-15 L12/P2
+	 L7/P10 -> MTS14400 SL2-15 L1/P3
+	 L8/P10 -> MTS14400 SL2-16 L12/P2
+	 L9/P10 -> MTS14400 SL2-16 L1/P3
+	 L10/P10 -> MTS14400 SL2-17 L12/P2
+	 L11/P10 -> MTS14400 SL2-17 L1/P3
+	 L12/P10 -> MTS14400 SL2-18 L12/P2
+	 L1/P11 -> MTS14400 SL2-18 L1/P3
+	 L2/P11 -> MTS14400 SL2-19 L12/P2
+	 L3/P11 -> MTS14400 SL2-19 L1/P3
+	 L4/P11 -> MTS14400 SL2-20 L12/P2
+	 L5/P11 -> MTS14400 SL2-20 L1/P3
+	 L6/P11 -> MTS14400 SL2-21 L12/P2
+	 L7/P11 -> MTS14400 SL2-21 L1/P3
+	 L8/P11 -> MTS14400 SL2-22 L12/P2
+	 L9/P11 -> MTS14400 SL2-22 L1/P3
+	 L10/P11 -> MTS14400 SL2-23 L12/P2
+	 L11/P11 -> MTS14400 SL2-23 L1/P3
+	 L12/P11 -> MTS14400 SL2-24 L12/P2
+	 L1/P12 -> MTS14400 SL2-24 L1/P3
+	 L2/P12 -> MTS14400 SL2-25 L12/P2
+	 L3/P12 -> MTS14400 SL2-26 L12/P2
+	 L4/P12 -> MTS14400 SL2-27 L12/P2
+	 L5/P12 -> MTS14400 SL2-28 L12/P2
+	 L6/P12 -> MTS14400 SL2-29 L12/P2
+	 L7/P12 -> MTS14400 SL2-30 L12/P2
+	 L8/P12 -> MTS14400 SL2-31 L12/P2
+	 L9/P12 -> MTS14400 SL2-32 L12/P2
+	 L10/P12 -> MTS14400 SL2-33 L12/P2
+	 L11/P12 -> MTS14400 SL2-34 L12/P2
+	 L12/P12 -> MTS14400 SL2-35 L12/P2
+
+MTS14400 SL1-19
+	 L1/P1 -> MT23108 H-1729 P1
+	 L2/P1 -> MT23108 H-1730 P1
+	 L3/P1 -> MT23108 H-1731 P1
+	 L4/P1 -> MT23108 H-1732 P1
+	 L5/P1 -> MT23108 H-1733 P1
+	 L6/P1 -> MT23108 H-1734 P1
+	 L7/P1 -> MT23108 H-1735 P1
+	 L8/P1 -> MT23108 H-1736 P1
+	 L9/P1 -> MT23108 H-1737 P1
+	 L10/P1 -> MT23108 H-1738 P1
+	 L11/P1 -> MT23108 H-1739 P1
+	 L12/P1 -> MT23108 H-1740 P1
+	 L1/P2 -> MT23108 H-1741 P1
+	 L2/P2 -> MT23108 H-1742 P1
+	 L3/P2 -> MT23108 H-1743 P1
+	 L4/P2 -> MT23108 H-1744 P1
+	 L5/P2 -> MT23108 H-1745 P1
+	 L6/P2 -> MT23108 H-1746 P1
+	 L7/P2 -> MT23108 H-1747 P1
+	 L8/P2 -> MT23108 H-1748 P1
+	 L9/P2 -> MT23108 H-1749 P1
+	 L10/P2 -> MT23108 H-1750 P1
+	 L11/P2 -> MT23108 H-1751 P1
+	 L12/P2 -> MT23108 H-1752 P1
+	 L1/P3 -> MT23108 H-1753 P1
+	 L2/P3 -> MT23108 H-1754 P1
+	 L3/P3 -> MT23108 H-1755 P1
+	 L4/P3 -> MT23108 H-1756 P1
+	 L5/P3 -> MT23108 H-1757 P1
+	 L6/P3 -> MT23108 H-1758 P1
+	 L7/P3 -> MT23108 H-1759 P1
+	 L8/P3 -> MT23108 H-1760 P1
+	 L9/P3 -> MT23108 H-1761 P1
+	 L10/P3 -> MT23108 H-1762 P1
+	 L11/P3 -> MT23108 H-1763 P1
+	 L12/P3 -> MT23108 H-1764 P1
+	 L1/P4 -> MT23108 H-1765 P1
+	 L2/P4 -> MT23108 H-1766 P1
+	 L3/P4 -> MT23108 H-1767 P1
+	 L4/P4 -> MT23108 H-1768 P1
+	 L5/P4 -> MT23108 H-1769 P1
+	 L6/P4 -> MT23108 H-1770 P1
+	 L7/P4 -> MT23108 H-1771 P1
+	 L8/P4 -> MT23108 H-1772 P1
+	 L9/P4 -> MT23108 H-1773 P1
+	 L10/P4 -> MT23108 H-1774 P1
+	 L11/P4 -> MT23108 H-1775 P1
+	 L12/P4 -> MT23108 H-1776 P1
+	 L1/P5 -> MT23108 H-1777 P1
+	 L2/P5 -> MT23108 H-1778 P1
+	 L3/P5 -> MT23108 H-1779 P1
+	 L4/P5 -> MT23108 H-1780 P1
+	 L5/P5 -> MT23108 H-1781 P1
+	 L6/P5 -> MT23108 H-1782 P1
+	 L7/P5 -> MT23108 H-1783 P1
+	 L8/P5 -> MT23108 H-1784 P1
+	 L9/P5 -> MT23108 H-1785 P1
+	 L10/P5 -> MT23108 H-1786 P1
+	 L11/P5 -> MT23108 H-1787 P1
+	 L12/P5 -> MT23108 H-1788 P1
+	 L1/P6 -> MT23108 H-1789 P1
+	 L2/P6 -> MT23108 H-1790 P1
+	 L3/P6 -> MT23108 H-1791 P1
+	 L4/P6 -> MT23108 H-1792 P1
+	 L5/P6 -> MT23108 H-1793 P1
+	 L6/P6 -> MT23108 H-1794 P1
+	 L7/P6 -> MT23108 H-1795 P1
+	 L8/P6 -> MT23108 H-1796 P1
+	 L9/P6 -> MT23108 H-1797 P1
+	 L10/P6 -> MT23108 H-1798 P1
+	 L11/P6 -> MT23108 H-1799 P1
+	 L12/P6 -> MT23108 H-1800 P1
+	 L1/P7 -> MT23108 H-1801 P1
+	 L2/P7 -> MT23108 H-1802 P1
+	 L3/P7 -> MT23108 H-1803 P1
+	 L4/P7 -> MT23108 H-1804 P1
+	 L5/P7 -> MT23108 H-1805 P1
+	 L6/P7 -> MT23108 H-1806 P1
+	 L7/P7 -> MT23108 H-1807 P1
+	 L8/P7 -> MT23108 H-1808 P1
+	 L9/P7 -> MT23108 H-1809 P1
+	 L10/P7 -> MT23108 H-1810 P1
+	 L11/P7 -> MT23108 H-1811 P1
+	 L12/P7 -> MT23108 H-1812 P1
+	 L1/P8 -> MT23108 H-1813 P1
+	 L2/P8 -> MT23108 H-1814 P1
+	 L3/P8 -> MT23108 H-1815 P1
+	 L4/P8 -> MT23108 H-1816 P1
+	 L5/P8 -> MT23108 H-1817 P1
+	 L6/P8 -> MT23108 H-1818 P1
+	 L7/P8 -> MT23108 H-1819 P1
+	 L8/P8 -> MT23108 H-1820 P1
+	 L9/P8 -> MT23108 H-1821 P1
+	 L10/P8 -> MT23108 H-1822 P1
+	 L11/P8 -> MT23108 H-1823 P1
+	 L12/P8 -> MT23108 H-1824 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P3
+	 L2/P9 -> MTS14400 SL2-1 L3/P3
+	 L3/P9 -> MTS14400 SL2-2 L2/P3
+	 L4/P9 -> MTS14400 SL2-2 L3/P3
+	 L5/P9 -> MTS14400 SL2-3 L2/P3
+	 L6/P9 -> MTS14400 SL2-4 L2/P3
+	 L7/P9 -> MTS14400 SL2-5 L2/P3
+	 L8/P9 -> MTS14400 SL2-6 L2/P3
+	 L9/P9 -> MTS14400 SL2-7 L2/P3
+	 L10/P9 -> MTS14400 SL2-8 L2/P3
+	 L11/P9 -> MTS14400 SL2-9 L2/P3
+	 L12/P9 -> MTS14400 SL2-10 L2/P3
+	 L1/P10 -> MTS14400 SL2-11 L2/P3
+	 L2/P10 -> MTS14400 SL2-12 L2/P3
+	 L3/P10 -> MTS14400 SL2-13 L2/P3
+	 L4/P10 -> MTS14400 SL2-14 L2/P3
+	 L5/P10 -> MTS14400 SL2-15 L2/P3
+	 L6/P10 -> MTS14400 SL2-16 L2/P3
+	 L7/P10 -> MTS14400 SL2-17 L2/P3
+	 L8/P10 -> MTS14400 SL2-18 L2/P3
+	 L9/P10 -> MTS14400 SL2-19 L2/P3
+	 L10/P10 -> MTS14400 SL2-20 L2/P3
+	 L11/P10 -> MTS14400 SL2-21 L2/P3
+	 L12/P10 -> MTS14400 SL2-22 L2/P3
+	 L1/P11 -> MTS14400 SL2-23 L2/P3
+	 L2/P11 -> MTS14400 SL2-24 L2/P3
+	 L3/P11 -> MTS14400 SL2-25 L1/P3
+	 L4/P11 -> MTS14400 SL2-25 L2/P3
+	 L5/P11 -> MTS14400 SL2-26 L1/P3
+	 L6/P11 -> MTS14400 SL2-26 L2/P3
+	 L7/P11 -> MTS14400 SL2-27 L1/P3
+	 L8/P11 -> MTS14400 SL2-27 L2/P3
+	 L9/P11 -> MTS14400 SL2-28 L1/P3
+	 L10/P11 -> MTS14400 SL2-28 L2/P3
+	 L11/P11 -> MTS14400 SL2-29 L1/P3
+	 L12/P11 -> MTS14400 SL2-29 L2/P3
+	 L1/P12 -> MTS14400 SL2-30 L1/P3
+	 L2/P12 -> MTS14400 SL2-30 L2/P3
+	 L3/P12 -> MTS14400 SL2-31 L1/P3
+	 L4/P12 -> MTS14400 SL2-31 L2/P3
+	 L5/P12 -> MTS14400 SL2-32 L1/P3
+	 L6/P12 -> MTS14400 SL2-32 L2/P3
+	 L7/P12 -> MTS14400 SL2-33 L1/P3
+	 L8/P12 -> MTS14400 SL2-33 L2/P3
+	 L9/P12 -> MTS14400 SL2-34 L1/P3
+	 L10/P12 -> MTS14400 SL2-34 L2/P3
+	 L11/P12 -> MTS14400 SL2-35 L1/P3
+	 L12/P12 -> MTS14400 SL2-35 L2/P3
+
+MTS14400 SL1-20
+	 L1/P1 -> MT23108 H-1825 P1
+	 L2/P1 -> MT23108 H-1826 P1
+	 L3/P1 -> MT23108 H-1827 P1
+	 L4/P1 -> MT23108 H-1828 P1
+	 L5/P1 -> MT23108 H-1829 P1
+	 L6/P1 -> MT23108 H-1830 P1
+	 L7/P1 -> MT23108 H-1831 P1
+	 L8/P1 -> MT23108 H-1832 P1
+	 L9/P1 -> MT23108 H-1833 P1
+	 L10/P1 -> MT23108 H-1834 P1
+	 L11/P1 -> MT23108 H-1835 P1
+	 L12/P1 -> MT23108 H-1836 P1
+	 L1/P2 -> MT23108 H-1837 P1
+	 L2/P2 -> MT23108 H-1838 P1
+	 L3/P2 -> MT23108 H-1839 P1
+	 L4/P2 -> MT23108 H-1840 P1
+	 L5/P2 -> MT23108 H-1841 P1
+	 L6/P2 -> MT23108 H-1842 P1
+	 L7/P2 -> MT23108 H-1843 P1
+	 L8/P2 -> MT23108 H-1844 P1
+	 L9/P2 -> MT23108 H-1845 P1
+	 L10/P2 -> MT23108 H-1846 P1
+	 L11/P2 -> MT23108 H-1847 P1
+	 L12/P2 -> MT23108 H-1848 P1
+	 L1/P3 -> MT23108 H-1849 P1
+	 L2/P3 -> MT23108 H-1850 P1
+	 L3/P3 -> MT23108 H-1851 P1
+	 L4/P3 -> MT23108 H-1852 P1
+	 L5/P3 -> MT23108 H-1853 P1
+	 L6/P3 -> MT23108 H-1854 P1
+	 L7/P3 -> MT23108 H-1855 P1
+	 L8/P3 -> MT23108 H-1856 P1
+	 L9/P3 -> MT23108 H-1857 P1
+	 L10/P3 -> MT23108 H-1858 P1
+	 L11/P3 -> MT23108 H-1859 P1
+	 L12/P3 -> MT23108 H-1860 P1
+	 L1/P4 -> MT23108 H-1861 P1
+	 L2/P4 -> MT23108 H-1862 P1
+	 L3/P4 -> MT23108 H-1863 P1
+	 L4/P4 -> MT23108 H-1864 P1
+	 L5/P4 -> MT23108 H-1865 P1
+	 L6/P4 -> MT23108 H-1866 P1
+	 L7/P4 -> MT23108 H-1867 P1
+	 L8/P4 -> MT23108 H-1868 P1
+	 L9/P4 -> MT23108 H-1869 P1
+	 L10/P4 -> MT23108 H-1870 P1
+	 L11/P4 -> MT23108 H-1871 P1
+	 L12/P4 -> MT23108 H-1872 P1
+	 L1/P5 -> MT23108 H-1873 P1
+	 L2/P5 -> MT23108 H-1874 P1
+	 L3/P5 -> MT23108 H-1875 P1
+	 L4/P5 -> MT23108 H-1876 P1
+	 L5/P5 -> MT23108 H-1877 P1
+	 L6/P5 -> MT23108 H-1878 P1
+	 L7/P5 -> MT23108 H-1879 P1
+	 L8/P5 -> MT23108 H-1880 P1
+	 L9/P5 -> MT23108 H-1881 P1
+	 L10/P5 -> MT23108 H-1882 P1
+	 L11/P5 -> MT23108 H-1883 P1
+	 L12/P5 -> MT23108 H-1884 P1
+	 L1/P6 -> MT23108 H-1885 P1
+	 L2/P6 -> MT23108 H-1886 P1
+	 L3/P6 -> MT23108 H-1887 P1
+	 L4/P6 -> MT23108 H-1888 P1
+	 L5/P6 -> MT23108 H-1889 P1
+	 L6/P6 -> MT23108 H-1890 P1
+	 L7/P6 -> MT23108 H-1891 P1
+	 L8/P6 -> MT23108 H-1892 P1
+	 L9/P6 -> MT23108 H-1893 P1
+	 L10/P6 -> MT23108 H-1894 P1
+	 L11/P6 -> MT23108 H-1895 P1
+	 L12/P6 -> MT23108 H-1896 P1
+	 L1/P7 -> MT23108 H-1897 P1
+	 L2/P7 -> MT23108 H-1898 P1
+	 L3/P7 -> MT23108 H-1899 P1
+	 L4/P7 -> MT23108 H-1900 P1
+	 L5/P7 -> MT23108 H-1901 P1
+	 L6/P7 -> MT23108 H-1902 P1
+	 L7/P7 -> MT23108 H-1903 P1
+	 L8/P7 -> MT23108 H-1904 P1
+	 L9/P7 -> MT23108 H-1905 P1
+	 L10/P7 -> MT23108 H-1906 P1
+	 L11/P7 -> MT23108 H-1907 P1
+	 L12/P7 -> MT23108 H-1908 P1
+	 L1/P8 -> MT23108 H-1909 P1
+	 L2/P8 -> MT23108 H-1910 P1
+	 L3/P8 -> MT23108 H-1911 P1
+	 L4/P8 -> MT23108 H-1912 P1
+	 L5/P8 -> MT23108 H-1913 P1
+	 L6/P8 -> MT23108 H-1914 P1
+	 L7/P8 -> MT23108 H-1915 P1
+	 L8/P8 -> MT23108 H-1916 P1
+	 L9/P8 -> MT23108 H-1917 P1
+	 L10/P8 -> MT23108 H-1918 P1
+	 L11/P8 -> MT23108 H-1919 P1
+	 L12/P8 -> MT23108 H-1920 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P3
+	 L2/P9 -> MTS14400 SL2-2 L4/P3
+	 L3/P9 -> MTS14400 SL2-3 L3/P3
+	 L4/P9 -> MTS14400 SL2-3 L4/P3
+	 L5/P9 -> MTS14400 SL2-4 L3/P3
+	 L6/P9 -> MTS14400 SL2-4 L4/P3
+	 L7/P9 -> MTS14400 SL2-5 L3/P3
+	 L8/P9 -> MTS14400 SL2-5 L4/P3
+	 L9/P9 -> MTS14400 SL2-6 L3/P3
+	 L10/P9 -> MTS14400 SL2-6 L4/P3
+	 L11/P9 -> MTS14400 SL2-7 L3/P3
+	 L12/P9 -> MTS14400 SL2-7 L4/P3
+	 L1/P10 -> MTS14400 SL2-8 L3/P3
+	 L2/P10 -> MTS14400 SL2-8 L4/P3
+	 L3/P10 -> MTS14400 SL2-9 L3/P3
+	 L4/P10 -> MTS14400 SL2-9 L4/P3
+	 L5/P10 -> MTS14400 SL2-10 L3/P3
+	 L6/P10 -> MTS14400 SL2-10 L4/P3
+	 L7/P10 -> MTS14400 SL2-11 L3/P3
+	 L8/P10 -> MTS14400 SL2-11 L4/P3
+	 L9/P10 -> MTS14400 SL2-12 L3/P3
+	 L10/P10 -> MTS14400 SL2-12 L4/P3
+	 L11/P10 -> MTS14400 SL2-13 L3/P3
+	 L12/P10 -> MTS14400 SL2-13 L4/P3
+	 L1/P11 -> MTS14400 SL2-14 L3/P3
+	 L2/P11 -> MTS14400 SL2-14 L4/P3
+	 L3/P11 -> MTS14400 SL2-15 L3/P3
+	 L4/P11 -> MTS14400 SL2-15 L4/P3
+	 L5/P11 -> MTS14400 SL2-16 L3/P3
+	 L6/P11 -> MTS14400 SL2-17 L3/P3
+	 L7/P11 -> MTS14400 SL2-18 L3/P3
+	 L8/P11 -> MTS14400 SL2-19 L3/P3
+	 L9/P11 -> MTS14400 SL2-20 L3/P3
+	 L10/P11 -> MTS14400 SL2-21 L3/P3
+	 L11/P11 -> MTS14400 SL2-22 L3/P3
+	 L12/P11 -> MTS14400 SL2-23 L3/P3
+	 L1/P12 -> MTS14400 SL2-24 L3/P3
+	 L2/P12 -> MTS14400 SL2-25 L3/P3
+	 L3/P12 -> MTS14400 SL2-26 L3/P3
+	 L4/P12 -> MTS14400 SL2-27 L3/P3
+	 L5/P12 -> MTS14400 SL2-28 L3/P3
+	 L6/P12 -> MTS14400 SL2-29 L3/P3
+	 L7/P12 -> MTS14400 SL2-30 L3/P3
+	 L8/P12 -> MTS14400 SL2-31 L3/P3
+	 L9/P12 -> MTS14400 SL2-32 L3/P3
+	 L10/P12 -> MTS14400 SL2-33 L3/P3
+	 L11/P12 -> MTS14400 SL2-34 L3/P3
+	 L12/P12 -> MTS14400 SL2-35 L3/P3
+
+MTS14400 SL1-21
+	 L1/P1 -> MT23108 H-1921 P1
+	 L2/P1 -> MT23108 H-1922 P1
+	 L3/P1 -> MT23108 H-1923 P1
+	 L4/P1 -> MT23108 H-1924 P1
+	 L5/P1 -> MT23108 H-1925 P1
+	 L6/P1 -> MT23108 H-1926 P1
+	 L7/P1 -> MT23108 H-1927 P1
+	 L8/P1 -> MT23108 H-1928 P1
+	 L9/P1 -> MT23108 H-1929 P1
+	 L10/P1 -> MT23108 H-1930 P1
+	 L11/P1 -> MT23108 H-1931 P1
+	 L12/P1 -> MT23108 H-1932 P1
+	 L1/P2 -> MT23108 H-1933 P1
+	 L2/P2 -> MT23108 H-1934 P1
+	 L3/P2 -> MT23108 H-1935 P1
+	 L4/P2 -> MT23108 H-1936 P1
+	 L5/P2 -> MT23108 H-1937 P1
+	 L6/P2 -> MT23108 H-1938 P1
+	 L7/P2 -> MT23108 H-1939 P1
+	 L8/P2 -> MT23108 H-1940 P1
+	 L9/P2 -> MT23108 H-1941 P1
+	 L10/P2 -> MT23108 H-1942 P1
+	 L11/P2 -> MT23108 H-1943 P1
+	 L12/P2 -> MT23108 H-1944 P1
+	 L1/P3 -> MT23108 H-1945 P1
+	 L2/P3 -> MT23108 H-1946 P1
+	 L3/P3 -> MT23108 H-1947 P1
+	 L4/P3 -> MT23108 H-1948 P1
+	 L5/P3 -> MT23108 H-1949 P1
+	 L6/P3 -> MT23108 H-1950 P1
+	 L7/P3 -> MT23108 H-1951 P1
+	 L8/P3 -> MT23108 H-1952 P1
+	 L9/P3 -> MT23108 H-1953 P1
+	 L10/P3 -> MT23108 H-1954 P1
+	 L11/P3 -> MT23108 H-1955 P1
+	 L12/P3 -> MT23108 H-1956 P1
+	 L1/P4 -> MT23108 H-1957 P1
+	 L2/P4 -> MT23108 H-1958 P1
+	 L3/P4 -> MT23108 H-1959 P1
+	 L4/P4 -> MT23108 H-1960 P1
+	 L5/P4 -> MT23108 H-1961 P1
+	 L6/P4 -> MT23108 H-1962 P1
+	 L7/P4 -> MT23108 H-1963 P1
+	 L8/P4 -> MT23108 H-1964 P1
+	 L9/P4 -> MT23108 H-1965 P1
+	 L10/P4 -> MT23108 H-1966 P1
+	 L11/P4 -> MT23108 H-1967 P1
+	 L12/P4 -> MT23108 H-1968 P1
+	 L1/P5 -> MT23108 H-1969 P1
+	 L2/P5 -> MT23108 H-1970 P1
+	 L3/P5 -> MT23108 H-1971 P1
+	 L4/P5 -> MT23108 H-1972 P1
+	 L5/P5 -> MT23108 H-1973 P1
+	 L6/P5 -> MT23108 H-1974 P1
+	 L7/P5 -> MT23108 H-1975 P1
+	 L8/P5 -> MT23108 H-1976 P1
+	 L9/P5 -> MT23108 H-1977 P1
+	 L10/P5 -> MT23108 H-1978 P1
+	 L11/P5 -> MT23108 H-1979 P1
+	 L12/P5 -> MT23108 H-1980 P1
+	 L1/P6 -> MT23108 H-1981 P1
+	 L2/P6 -> MT23108 H-1982 P1
+	 L3/P6 -> MT23108 H-1983 P1
+	 L4/P6 -> MT23108 H-1984 P1
+	 L5/P6 -> MT23108 H-1985 P1
+	 L6/P6 -> MT23108 H-1986 P1
+	 L7/P6 -> MT23108 H-1987 P1
+	 L8/P6 -> MT23108 H-1988 P1
+	 L9/P6 -> MT23108 H-1989 P1
+	 L10/P6 -> MT23108 H-1990 P1
+	 L11/P6 -> MT23108 H-1991 P1
+	 L12/P6 -> MT23108 H-1992 P1
+	 L1/P7 -> MT23108 H-1993 P1
+	 L2/P7 -> MT23108 H-1994 P1
+	 L3/P7 -> MT23108 H-1995 P1
+	 L4/P7 -> MT23108 H-1996 P1
+	 L5/P7 -> MT23108 H-1997 P1
+	 L6/P7 -> MT23108 H-1998 P1
+	 L7/P7 -> MT23108 H-1999 P1
+	 L8/P7 -> MT23108 H-2000 P1
+	 L9/P7 -> MT23108 H-2001 P1
+	 L10/P7 -> MT23108 H-2002 P1
+	 L11/P7 -> MT23108 H-2003 P1
+	 L12/P7 -> MT23108 H-2004 P1
+	 L1/P8 -> MT23108 H-2005 P1
+	 L2/P8 -> MT23108 H-2006 P1
+	 L3/P8 -> MT23108 H-2007 P1
+	 L4/P8 -> MT23108 H-2008 P1
+	 L5/P8 -> MT23108 H-2009 P1
+	 L6/P8 -> MT23108 H-2010 P1
+	 L7/P8 -> MT23108 H-2011 P1
+	 L8/P8 -> MT23108 H-2012 P1
+	 L9/P8 -> MT23108 H-2013 P1
+	 L10/P8 -> MT23108 H-2014 P1
+	 L11/P8 -> MT23108 H-2015 P1
+	 L12/P8 -> MT23108 H-2016 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P3
+	 L2/P9 -> MTS14400 SL2-2 L5/P3
+	 L3/P9 -> MTS14400 SL2-3 L5/P3
+	 L4/P9 -> MTS14400 SL2-4 L5/P3
+	 L5/P9 -> MTS14400 SL2-5 L5/P3
+	 L6/P9 -> MTS14400 SL2-6 L5/P3
+	 L7/P9 -> MTS14400 SL2-7 L5/P3
+	 L8/P9 -> MTS14400 SL2-8 L5/P3
+	 L9/P9 -> MTS14400 SL2-9 L5/P3
+	 L10/P9 -> MTS14400 SL2-10 L5/P3
+	 L11/P9 -> MTS14400 SL2-11 L5/P3
+	 L12/P9 -> MTS14400 SL2-12 L5/P3
+	 L1/P10 -> MTS14400 SL2-13 L5/P3
+	 L2/P10 -> MTS14400 SL2-14 L5/P3
+	 L3/P10 -> MTS14400 SL2-15 L5/P3
+	 L4/P10 -> MTS14400 SL2-16 L4/P3
+	 L5/P10 -> MTS14400 SL2-16 L5/P3
+	 L6/P10 -> MTS14400 SL2-17 L4/P3
+	 L7/P10 -> MTS14400 SL2-17 L5/P3
+	 L8/P10 -> MTS14400 SL2-18 L4/P3
+	 L9/P10 -> MTS14400 SL2-18 L5/P3
+	 L10/P10 -> MTS14400 SL2-19 L4/P3
+	 L11/P10 -> MTS14400 SL2-19 L5/P3
+	 L12/P10 -> MTS14400 SL2-20 L4/P3
+	 L1/P11 -> MTS14400 SL2-20 L5/P3
+	 L2/P11 -> MTS14400 SL2-21 L4/P3
+	 L3/P11 -> MTS14400 SL2-21 L5/P3
+	 L4/P11 -> MTS14400 SL2-22 L4/P3
+	 L5/P11 -> MTS14400 SL2-22 L5/P3
+	 L6/P11 -> MTS14400 SL2-23 L4/P3
+	 L7/P11 -> MTS14400 SL2-23 L5/P3
+	 L8/P11 -> MTS14400 SL2-24 L4/P3
+	 L9/P11 -> MTS14400 SL2-24 L5/P3
+	 L10/P11 -> MTS14400 SL2-25 L4/P3
+	 L11/P11 -> MTS14400 SL2-25 L5/P3
+	 L12/P11 -> MTS14400 SL2-26 L4/P3
+	 L1/P12 -> MTS14400 SL2-26 L5/P3
+	 L2/P12 -> MTS14400 SL2-27 L4/P3
+	 L3/P12 -> MTS14400 SL2-27 L5/P3
+	 L4/P12 -> MTS14400 SL2-28 L4/P3
+	 L5/P12 -> MTS14400 SL2-28 L5/P3
+	 L6/P12 -> MTS14400 SL2-29 L4/P3
+	 L7/P12 -> MTS14400 SL2-30 L4/P3
+	 L8/P12 -> MTS14400 SL2-31 L4/P3
+	 L9/P12 -> MTS14400 SL2-32 L4/P3
+	 L10/P12 -> MTS14400 SL2-33 L4/P3
+	 L11/P12 -> MTS14400 SL2-34 L4/P3
+	 L12/P12 -> MTS14400 SL2-35 L4/P3
+
+MTS14400 SL1-22
+	 L1/P1 -> MT23108 H-2017 P1
+	 L2/P1 -> MT23108 H-2018 P1
+	 L3/P1 -> MT23108 H-2019 P1
+	 L4/P1 -> MT23108 H-2020 P1
+	 L5/P1 -> MT23108 H-2021 P1
+	 L6/P1 -> MT23108 H-2022 P1
+	 L7/P1 -> MT23108 H-2023 P1
+	 L8/P1 -> MT23108 H-2024 P1
+	 L9/P1 -> MT23108 H-2025 P1
+	 L10/P1 -> MT23108 H-2026 P1
+	 L11/P1 -> MT23108 H-2027 P1
+	 L12/P1 -> MT23108 H-2028 P1
+	 L1/P2 -> MT23108 H-2029 P1
+	 L2/P2 -> MT23108 H-2030 P1
+	 L3/P2 -> MT23108 H-2031 P1
+	 L4/P2 -> MT23108 H-2032 P1
+	 L5/P2 -> MT23108 H-2033 P1
+	 L6/P2 -> MT23108 H-2034 P1
+	 L7/P2 -> MT23108 H-2035 P1
+	 L8/P2 -> MT23108 H-2036 P1
+	 L9/P2 -> MT23108 H-2037 P1
+	 L10/P2 -> MT23108 H-2038 P1
+	 L11/P2 -> MT23108 H-2039 P1
+	 L12/P2 -> MT23108 H-2040 P1
+	 L1/P3 -> MT23108 H-2041 P1
+	 L2/P3 -> MT23108 H-2042 P1
+	 L3/P3 -> MT23108 H-2043 P1
+	 L4/P3 -> MT23108 H-2044 P1
+	 L5/P3 -> MT23108 H-2045 P1
+	 L6/P3 -> MT23108 H-2046 P1
+	 L7/P3 -> MT23108 H-2047 P1
+	 L8/P3 -> MT23108 H-2048 P1
+	 L9/P3 -> MT23108 H-2049 P1
+	 L10/P3 -> MT23108 H-2050 P1
+	 L11/P3 -> MT23108 H-2051 P1
+	 L12/P3 -> MT23108 H-2052 P1
+	 L1/P4 -> MT23108 H-2053 P1
+	 L2/P4 -> MT23108 H-2054 P1
+	 L3/P4 -> MT23108 H-2055 P1
+	 L4/P4 -> MT23108 H-2056 P1
+	 L5/P4 -> MT23108 H-2057 P1
+	 L6/P4 -> MT23108 H-2058 P1
+	 L7/P4 -> MT23108 H-2059 P1
+	 L8/P4 -> MT23108 H-2060 P1
+	 L9/P4 -> MT23108 H-2061 P1
+	 L10/P4 -> MT23108 H-2062 P1
+	 L11/P4 -> MT23108 H-2063 P1
+	 L12/P4 -> MT23108 H-2064 P1
+	 L1/P5 -> MT23108 H-2065 P1
+	 L2/P5 -> MT23108 H-2066 P1
+	 L3/P5 -> MT23108 H-2067 P1
+	 L4/P5 -> MT23108 H-2068 P1
+	 L5/P5 -> MT23108 H-2069 P1
+	 L6/P5 -> MT23108 H-2070 P1
+	 L7/P5 -> MT23108 H-2071 P1
+	 L8/P5 -> MT23108 H-2072 P1
+	 L9/P5 -> MT23108 H-2073 P1
+	 L10/P5 -> MT23108 H-2074 P1
+	 L11/P5 -> MT23108 H-2075 P1
+	 L12/P5 -> MT23108 H-2076 P1
+	 L1/P6 -> MT23108 H-2077 P1
+	 L2/P6 -> MT23108 H-2078 P1
+	 L3/P6 -> MT23108 H-2079 P1
+	 L4/P6 -> MT23108 H-2080 P1
+	 L5/P6 -> MT23108 H-2081 P1
+	 L6/P6 -> MT23108 H-2082 P1
+	 L7/P6 -> MT23108 H-2083 P1
+	 L8/P6 -> MT23108 H-2084 P1
+	 L9/P6 -> MT23108 H-2085 P1
+	 L10/P6 -> MT23108 H-2086 P1
+	 L11/P6 -> MT23108 H-2087 P1
+	 L12/P6 -> MT23108 H-2088 P1
+	 L1/P7 -> MT23108 H-2089 P1
+	 L2/P7 -> MT23108 H-2090 P1
+	 L3/P7 -> MT23108 H-2091 P1
+	 L4/P7 -> MT23108 H-2092 P1
+	 L5/P7 -> MT23108 H-2093 P1
+	 L6/P7 -> MT23108 H-2094 P1
+	 L7/P7 -> MT23108 H-2095 P1
+	 L8/P7 -> MT23108 H-2096 P1
+	 L9/P7 -> MT23108 H-2097 P1
+	 L10/P7 -> MT23108 H-2098 P1
+	 L11/P7 -> MT23108 H-2099 P1
+	 L12/P7 -> MT23108 H-2100 P1
+	 L1/P8 -> MT23108 H-2101 P1
+	 L2/P8 -> MT23108 H-2102 P1
+	 L3/P8 -> MT23108 H-2103 P1
+	 L4/P8 -> MT23108 H-2104 P1
+	 L5/P8 -> MT23108 H-2105 P1
+	 L6/P8 -> MT23108 H-2106 P1
+	 L7/P8 -> MT23108 H-2107 P1
+	 L8/P8 -> MT23108 H-2108 P1
+	 L9/P8 -> MT23108 H-2109 P1
+	 L10/P8 -> MT23108 H-2110 P1
+	 L11/P8 -> MT23108 H-2111 P1
+	 L12/P8 -> MT23108 H-2112 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P3
+	 L2/P9 -> MTS14400 SL2-1 L7/P3
+	 L3/P9 -> MTS14400 SL2-2 L6/P3
+	 L4/P9 -> MTS14400 SL2-2 L7/P3
+	 L5/P9 -> MTS14400 SL2-3 L6/P3
+	 L6/P9 -> MTS14400 SL2-3 L7/P3
+	 L7/P9 -> MTS14400 SL2-4 L6/P3
+	 L8/P9 -> MTS14400 SL2-4 L7/P3
+	 L9/P9 -> MTS14400 SL2-5 L6/P3
+	 L10/P9 -> MTS14400 SL2-5 L7/P3
+	 L11/P9 -> MTS14400 SL2-6 L6/P3
+	 L12/P9 -> MTS14400 SL2-6 L7/P3
+	 L1/P10 -> MTS14400 SL2-7 L6/P3
+	 L2/P10 -> MTS14400 SL2-8 L6/P3
+	 L3/P10 -> MTS14400 SL2-9 L6/P3
+	 L4/P10 -> MTS14400 SL2-10 L6/P3
+	 L5/P10 -> MTS14400 SL2-11 L6/P3
+	 L6/P10 -> MTS14400 SL2-12 L6/P3
+	 L7/P10 -> MTS14400 SL2-13 L6/P3
+	 L8/P10 -> MTS14400 SL2-14 L6/P3
+	 L9/P10 -> MTS14400 SL2-15 L6/P3
+	 L10/P10 -> MTS14400 SL2-16 L6/P3
+	 L11/P10 -> MTS14400 SL2-17 L6/P3
+	 L12/P10 -> MTS14400 SL2-18 L6/P3
+	 L1/P11 -> MTS14400 SL2-19 L6/P3
+	 L2/P11 -> MTS14400 SL2-20 L6/P3
+	 L3/P11 -> MTS14400 SL2-21 L6/P3
+	 L4/P11 -> MTS14400 SL2-22 L6/P3
+	 L5/P11 -> MTS14400 SL2-23 L6/P3
+	 L6/P11 -> MTS14400 SL2-24 L6/P3
+	 L7/P11 -> MTS14400 SL2-25 L6/P3
+	 L8/P11 -> MTS14400 SL2-26 L6/P3
+	 L9/P11 -> MTS14400 SL2-27 L6/P3
+	 L10/P11 -> MTS14400 SL2-28 L6/P3
+	 L11/P11 -> MTS14400 SL2-29 L5/P3
+	 L12/P11 -> MTS14400 SL2-29 L6/P3
+	 L1/P12 -> MTS14400 SL2-30 L5/P3
+	 L2/P12 -> MTS14400 SL2-30 L6/P3
+	 L3/P12 -> MTS14400 SL2-31 L5/P3
+	 L4/P12 -> MTS14400 SL2-31 L6/P3
+	 L5/P12 -> MTS14400 SL2-32 L5/P3
+	 L6/P12 -> MTS14400 SL2-32 L6/P3
+	 L7/P12 -> MTS14400 SL2-33 L5/P3
+	 L8/P12 -> MTS14400 SL2-33 L6/P3
+	 L9/P12 -> MTS14400 SL2-34 L5/P3
+	 L10/P12 -> MTS14400 SL2-34 L6/P3
+	 L11/P12 -> MTS14400 SL2-35 L5/P3
+	 L12/P12 -> MTS14400 SL2-35 L6/P3
+
+MTS14400 SL1-23
+	 L1/P1 -> MT23108 H-2113 P1
+	 L2/P1 -> MT23108 H-2114 P1
+	 L3/P1 -> MT23108 H-2115 P1
+	 L4/P1 -> MT23108 H-2116 P1
+	 L5/P1 -> MT23108 H-2117 P1
+	 L6/P1 -> MT23108 H-2118 P1
+	 L7/P1 -> MT23108 H-2119 P1
+	 L8/P1 -> MT23108 H-2120 P1
+	 L9/P1 -> MT23108 H-2121 P1
+	 L10/P1 -> MT23108 H-2122 P1
+	 L11/P1 -> MT23108 H-2123 P1
+	 L12/P1 -> MT23108 H-2124 P1
+	 L1/P2 -> MT23108 H-2125 P1
+	 L2/P2 -> MT23108 H-2126 P1
+	 L3/P2 -> MT23108 H-2127 P1
+	 L4/P2 -> MT23108 H-2128 P1
+	 L5/P2 -> MT23108 H-2129 P1
+	 L6/P2 -> MT23108 H-2130 P1
+	 L7/P2 -> MT23108 H-2131 P1
+	 L8/P2 -> MT23108 H-2132 P1
+	 L9/P2 -> MT23108 H-2133 P1
+	 L10/P2 -> MT23108 H-2134 P1
+	 L11/P2 -> MT23108 H-2135 P1
+	 L12/P2 -> MT23108 H-2136 P1
+	 L1/P3 -> MT23108 H-2137 P1
+	 L2/P3 -> MT23108 H-2138 P1
+	 L3/P3 -> MT23108 H-2139 P1
+	 L4/P3 -> MT23108 H-2140 P1
+	 L5/P3 -> MT23108 H-2141 P1
+	 L6/P3 -> MT23108 H-2142 P1
+	 L7/P3 -> MT23108 H-2143 P1
+	 L8/P3 -> MT23108 H-2144 P1
+	 L9/P3 -> MT23108 H-2145 P1
+	 L10/P3 -> MT23108 H-2146 P1
+	 L11/P3 -> MT23108 H-2147 P1
+	 L12/P3 -> MT23108 H-2148 P1
+	 L1/P4 -> MT23108 H-2149 P1
+	 L2/P4 -> MT23108 H-2150 P1
+	 L3/P4 -> MT23108 H-2151 P1
+	 L4/P4 -> MT23108 H-2152 P1
+	 L5/P4 -> MT23108 H-2153 P1
+	 L6/P4 -> MT23108 H-2154 P1
+	 L7/P4 -> MT23108 H-2155 P1
+	 L8/P4 -> MT23108 H-2156 P1
+	 L9/P4 -> MT23108 H-2157 P1
+	 L10/P4 -> MT23108 H-2158 P1
+	 L11/P4 -> MT23108 H-2159 P1
+	 L12/P4 -> MT23108 H-2160 P1
+	 L1/P5 -> MT23108 H-2161 P1
+	 L2/P5 -> MT23108 H-2162 P1
+	 L3/P5 -> MT23108 H-2163 P1
+	 L4/P5 -> MT23108 H-2164 P1
+	 L5/P5 -> MT23108 H-2165 P1
+	 L6/P5 -> MT23108 H-2166 P1
+	 L7/P5 -> MT23108 H-2167 P1
+	 L8/P5 -> MT23108 H-2168 P1
+	 L9/P5 -> MT23108 H-2169 P1
+	 L10/P5 -> MT23108 H-2170 P1
+	 L11/P5 -> MT23108 H-2171 P1
+	 L12/P5 -> MT23108 H-2172 P1
+	 L1/P6 -> MT23108 H-2173 P1
+	 L2/P6 -> MT23108 H-2174 P1
+	 L3/P6 -> MT23108 H-2175 P1
+	 L4/P6 -> MT23108 H-2176 P1
+	 L5/P6 -> MT23108 H-2177 P1
+	 L6/P6 -> MT23108 H-2178 P1
+	 L7/P6 -> MT23108 H-2179 P1
+	 L8/P6 -> MT23108 H-2180 P1
+	 L9/P6 -> MT23108 H-2181 P1
+	 L10/P6 -> MT23108 H-2182 P1
+	 L11/P6 -> MT23108 H-2183 P1
+	 L12/P6 -> MT23108 H-2184 P1
+	 L1/P7 -> MT23108 H-2185 P1
+	 L2/P7 -> MT23108 H-2186 P1
+	 L3/P7 -> MT23108 H-2187 P1
+	 L4/P7 -> MT23108 H-2188 P1
+	 L5/P7 -> MT23108 H-2189 P1
+	 L6/P7 -> MT23108 H-2190 P1
+	 L7/P7 -> MT23108 H-2191 P1
+	 L8/P7 -> MT23108 H-2192 P1
+	 L9/P7 -> MT23108 H-2193 P1
+	 L10/P7 -> MT23108 H-2194 P1
+	 L11/P7 -> MT23108 H-2195 P1
+	 L12/P7 -> MT23108 H-2196 P1
+	 L1/P8 -> MT23108 H-2197 P1
+	 L2/P8 -> MT23108 H-2198 P1
+	 L3/P8 -> MT23108 H-2199 P1
+	 L4/P8 -> MT23108 H-2200 P1
+	 L5/P8 -> MT23108 H-2201 P1
+	 L6/P8 -> MT23108 H-2202 P1
+	 L7/P8 -> MT23108 H-2203 P1
+	 L8/P8 -> MT23108 H-2204 P1
+	 L9/P8 -> MT23108 H-2205 P1
+	 L10/P8 -> MT23108 H-2206 P1
+	 L11/P8 -> MT23108 H-2207 P1
+	 L12/P8 -> MT23108 H-2208 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P3
+	 L2/P9 -> MTS14400 SL2-2 L8/P3
+	 L3/P9 -> MTS14400 SL2-3 L8/P3
+	 L4/P9 -> MTS14400 SL2-4 L8/P3
+	 L5/P9 -> MTS14400 SL2-5 L8/P3
+	 L6/P9 -> MTS14400 SL2-6 L8/P3
+	 L7/P9 -> MTS14400 SL2-7 L7/P3
+	 L8/P9 -> MTS14400 SL2-7 L8/P3
+	 L9/P9 -> MTS14400 SL2-8 L7/P3
+	 L10/P9 -> MTS14400 SL2-8 L8/P3
+	 L11/P9 -> MTS14400 SL2-9 L7/P3
+	 L12/P9 -> MTS14400 SL2-9 L8/P3
+	 L1/P10 -> MTS14400 SL2-10 L7/P3
+	 L2/P10 -> MTS14400 SL2-10 L8/P3
+	 L3/P10 -> MTS14400 SL2-11 L7/P3
+	 L4/P10 -> MTS14400 SL2-11 L8/P3
+	 L5/P10 -> MTS14400 SL2-12 L7/P3
+	 L6/P10 -> MTS14400 SL2-12 L8/P3
+	 L7/P10 -> MTS14400 SL2-13 L7/P3
+	 L8/P10 -> MTS14400 SL2-13 L8/P3
+	 L9/P10 -> MTS14400 SL2-14 L7/P3
+	 L10/P10 -> MTS14400 SL2-14 L8/P3
+	 L11/P10 -> MTS14400 SL2-15 L7/P3
+	 L12/P10 -> MTS14400 SL2-15 L8/P3
+	 L1/P11 -> MTS14400 SL2-16 L7/P3
+	 L2/P11 -> MTS14400 SL2-16 L8/P3
+	 L3/P11 -> MTS14400 SL2-17 L7/P3
+	 L4/P11 -> MTS14400 SL2-17 L8/P3
+	 L5/P11 -> MTS14400 SL2-18 L7/P3
+	 L6/P11 -> MTS14400 SL2-18 L8/P3
+	 L7/P11 -> MTS14400 SL2-19 L7/P3
+	 L8/P11 -> MTS14400 SL2-19 L8/P3
+	 L9/P11 -> MTS14400 SL2-20 L7/P3
+	 L10/P11 -> MTS14400 SL2-21 L7/P3
+	 L11/P11 -> MTS14400 SL2-22 L7/P3
+	 L12/P11 -> MTS14400 SL2-23 L7/P3
+	 L1/P12 -> MTS14400 SL2-24 L7/P3
+	 L2/P12 -> MTS14400 SL2-25 L7/P3
+	 L3/P12 -> MTS14400 SL2-26 L7/P3
+	 L4/P12 -> MTS14400 SL2-27 L7/P3
+	 L5/P12 -> MTS14400 SL2-28 L7/P3
+	 L6/P12 -> MTS14400 SL2-29 L7/P3
+	 L7/P12 -> MTS14400 SL2-30 L7/P3
+	 L8/P12 -> MTS14400 SL2-31 L7/P3
+	 L9/P12 -> MTS14400 SL2-32 L7/P3
+	 L10/P12 -> MTS14400 SL2-33 L7/P3
+	 L11/P12 -> MTS14400 SL2-34 L7/P3
+	 L12/P12 -> MTS14400 SL2-35 L7/P3
+
+MTS14400 SL1-24
+	 L1/P1 -> MT23108 H-2209 P1
+	 L2/P1 -> MT23108 H-2210 P1
+	 L3/P1 -> MT23108 H-2211 P1
+	 L4/P1 -> MT23108 H-2212 P1
+	 L5/P1 -> MT23108 H-2213 P1
+	 L6/P1 -> MT23108 H-2214 P1
+	 L7/P1 -> MT23108 H-2215 P1
+	 L8/P1 -> MT23108 H-2216 P1
+	 L9/P1 -> MT23108 H-2217 P1
+	 L10/P1 -> MT23108 H-2218 P1
+	 L11/P1 -> MT23108 H-2219 P1
+	 L12/P1 -> MT23108 H-2220 P1
+	 L1/P2 -> MT23108 H-2221 P1
+	 L2/P2 -> MT23108 H-2222 P1
+	 L3/P2 -> MT23108 H-2223 P1
+	 L4/P2 -> MT23108 H-2224 P1
+	 L5/P2 -> MT23108 H-2225 P1
+	 L6/P2 -> MT23108 H-2226 P1
+	 L7/P2 -> MT23108 H-2227 P1
+	 L8/P2 -> MT23108 H-2228 P1
+	 L9/P2 -> MT23108 H-2229 P1
+	 L10/P2 -> MT23108 H-2230 P1
+	 L11/P2 -> MT23108 H-2231 P1
+	 L12/P2 -> MT23108 H-2232 P1
+	 L1/P3 -> MT23108 H-2233 P1
+	 L2/P3 -> MT23108 H-2234 P1
+	 L3/P3 -> MT23108 H-2235 P1
+	 L4/P3 -> MT23108 H-2236 P1
+	 L5/P3 -> MT23108 H-2237 P1
+	 L6/P3 -> MT23108 H-2238 P1
+	 L7/P3 -> MT23108 H-2239 P1
+	 L8/P3 -> MT23108 H-2240 P1
+	 L9/P3 -> MT23108 H-2241 P1
+	 L10/P3 -> MT23108 H-2242 P1
+	 L11/P3 -> MT23108 H-2243 P1
+	 L12/P3 -> MT23108 H-2244 P1
+	 L1/P4 -> MT23108 H-2245 P1
+	 L2/P4 -> MT23108 H-2246 P1
+	 L3/P4 -> MT23108 H-2247 P1
+	 L4/P4 -> MT23108 H-2248 P1
+	 L5/P4 -> MT23108 H-2249 P1
+	 L6/P4 -> MT23108 H-2250 P1
+	 L7/P4 -> MT23108 H-2251 P1
+	 L8/P4 -> MT23108 H-2252 P1
+	 L9/P4 -> MT23108 H-2253 P1
+	 L10/P4 -> MT23108 H-2254 P1
+	 L11/P4 -> MT23108 H-2255 P1
+	 L12/P4 -> MT23108 H-2256 P1
+	 L1/P5 -> MT23108 H-2257 P1
+	 L2/P5 -> MT23108 H-2258 P1
+	 L3/P5 -> MT23108 H-2259 P1
+	 L4/P5 -> MT23108 H-2260 P1
+	 L5/P5 -> MT23108 H-2261 P1
+	 L6/P5 -> MT23108 H-2262 P1
+	 L7/P5 -> MT23108 H-2263 P1
+	 L8/P5 -> MT23108 H-2264 P1
+	 L9/P5 -> MT23108 H-2265 P1
+	 L10/P5 -> MT23108 H-2266 P1
+	 L11/P5 -> MT23108 H-2267 P1
+	 L12/P5 -> MT23108 H-2268 P1
+	 L1/P6 -> MT23108 H-2269 P1
+	 L2/P6 -> MT23108 H-2270 P1
+	 L3/P6 -> MT23108 H-2271 P1
+	 L4/P6 -> MT23108 H-2272 P1
+	 L5/P6 -> MT23108 H-2273 P1
+	 L6/P6 -> MT23108 H-2274 P1
+	 L7/P6 -> MT23108 H-2275 P1
+	 L8/P6 -> MT23108 H-2276 P1
+	 L9/P6 -> MT23108 H-2277 P1
+	 L10/P6 -> MT23108 H-2278 P1
+	 L11/P6 -> MT23108 H-2279 P1
+	 L12/P6 -> MT23108 H-2280 P1
+	 L1/P7 -> MT23108 H-2281 P1
+	 L2/P7 -> MT23108 H-2282 P1
+	 L3/P7 -> MT23108 H-2283 P1
+	 L4/P7 -> MT23108 H-2284 P1
+	 L5/P7 -> MT23108 H-2285 P1
+	 L6/P7 -> MT23108 H-2286 P1
+	 L7/P7 -> MT23108 H-2287 P1
+	 L8/P7 -> MT23108 H-2288 P1
+	 L9/P7 -> MT23108 H-2289 P1
+	 L10/P7 -> MT23108 H-2290 P1
+	 L11/P7 -> MT23108 H-2291 P1
+	 L12/P7 -> MT23108 H-2292 P1
+	 L1/P8 -> MT23108 H-2293 P1
+	 L2/P8 -> MT23108 H-2294 P1
+	 L3/P8 -> MT23108 H-2295 P1
+	 L4/P8 -> MT23108 H-2296 P1
+	 L5/P8 -> MT23108 H-2297 P1
+	 L6/P8 -> MT23108 H-2298 P1
+	 L7/P8 -> MT23108 H-2299 P1
+	 L8/P8 -> MT23108 H-2300 P1
+	 L9/P8 -> MT23108 H-2301 P1
+	 L10/P8 -> MT23108 H-2302 P1
+	 L11/P8 -> MT23108 H-2303 P1
+	 L12/P8 -> MT23108 H-2304 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P3
+	 L2/P9 -> MTS14400 SL2-2 L9/P3
+	 L3/P9 -> MTS14400 SL2-3 L9/P3
+	 L4/P9 -> MTS14400 SL2-4 L9/P3
+	 L5/P9 -> MTS14400 SL2-5 L9/P3
+	 L6/P9 -> MTS14400 SL2-6 L9/P3
+	 L7/P9 -> MTS14400 SL2-7 L9/P3
+	 L8/P9 -> MTS14400 SL2-8 L9/P3
+	 L9/P9 -> MTS14400 SL2-9 L9/P3
+	 L10/P9 -> MTS14400 SL2-10 L9/P3
+	 L11/P9 -> MTS14400 SL2-11 L9/P3
+	 L12/P9 -> MTS14400 SL2-12 L9/P3
+	 L1/P10 -> MTS14400 SL2-13 L9/P3
+	 L2/P10 -> MTS14400 SL2-14 L9/P3
+	 L3/P10 -> MTS14400 SL2-15 L9/P3
+	 L4/P10 -> MTS14400 SL2-16 L9/P3
+	 L5/P10 -> MTS14400 SL2-17 L9/P3
+	 L6/P10 -> MTS14400 SL2-18 L9/P3
+	 L7/P10 -> MTS14400 SL2-19 L9/P3
+	 L8/P10 -> MTS14400 SL2-20 L8/P3
+	 L9/P10 -> MTS14400 SL2-20 L9/P3
+	 L10/P10 -> MTS14400 SL2-21 L8/P3
+	 L11/P10 -> MTS14400 SL2-21 L9/P3
+	 L12/P10 -> MTS14400 SL2-22 L8/P3
+	 L1/P11 -> MTS14400 SL2-22 L9/P3
+	 L2/P11 -> MTS14400 SL2-23 L8/P3
+	 L3/P11 -> MTS14400 SL2-23 L9/P3
+	 L4/P11 -> MTS14400 SL2-24 L8/P3
+	 L5/P11 -> MTS14400 SL2-24 L9/P3
+	 L6/P11 -> MTS14400 SL2-25 L8/P3
+	 L7/P11 -> MTS14400 SL2-25 L9/P3
+	 L8/P11 -> MTS14400 SL2-26 L8/P3
+	 L9/P11 -> MTS14400 SL2-26 L9/P3
+	 L10/P11 -> MTS14400 SL2-27 L8/P3
+	 L11/P11 -> MTS14400 SL2-27 L9/P3
+	 L12/P11 -> MTS14400 SL2-28 L8/P3
+	 L1/P12 -> MTS14400 SL2-28 L9/P3
+	 L2/P12 -> MTS14400 SL2-29 L8/P3
+	 L3/P12 -> MTS14400 SL2-29 L9/P3
+	 L4/P12 -> MTS14400 SL2-30 L8/P3
+	 L5/P12 -> MTS14400 SL2-30 L9/P3
+	 L6/P12 -> MTS14400 SL2-31 L8/P3
+	 L7/P12 -> MTS14400 SL2-31 L9/P3
+	 L8/P12 -> MTS14400 SL2-32 L8/P3
+	 L9/P12 -> MTS14400 SL2-32 L9/P3
+	 L10/P12 -> MTS14400 SL2-33 L8/P3
+	 L11/P12 -> MTS14400 SL2-34 L8/P3
+	 L12/P12 -> MTS14400 SL2-35 L8/P3
+
+MTS14400 SL1-25
+	 L1/P1 -> MT23108 H-2305 P1
+	 L2/P1 -> MT23108 H-2306 P1
+	 L3/P1 -> MT23108 H-2307 P1
+	 L4/P1 -> MT23108 H-2308 P1
+	 L5/P1 -> MT23108 H-2309 P1
+	 L6/P1 -> MT23108 H-2310 P1
+	 L7/P1 -> MT23108 H-2311 P1
+	 L8/P1 -> MT23108 H-2312 P1
+	 L9/P1 -> MT23108 H-2313 P1
+	 L10/P1 -> MT23108 H-2314 P1
+	 L11/P1 -> MT23108 H-2315 P1
+	 L12/P1 -> MT23108 H-2316 P1
+	 L1/P2 -> MT23108 H-2317 P1
+	 L2/P2 -> MT23108 H-2318 P1
+	 L3/P2 -> MT23108 H-2319 P1
+	 L4/P2 -> MT23108 H-2320 P1
+	 L5/P2 -> MT23108 H-2321 P1
+	 L6/P2 -> MT23108 H-2322 P1
+	 L7/P2 -> MT23108 H-2323 P1
+	 L8/P2 -> MT23108 H-2324 P1
+	 L9/P2 -> MT23108 H-2325 P1
+	 L10/P2 -> MT23108 H-2326 P1
+	 L11/P2 -> MT23108 H-2327 P1
+	 L12/P2 -> MT23108 H-2328 P1
+	 L1/P3 -> MT23108 H-2329 P1
+	 L2/P3 -> MT23108 H-2330 P1
+	 L3/P3 -> MT23108 H-2331 P1
+	 L4/P3 -> MT23108 H-2332 P1
+	 L5/P3 -> MT23108 H-2333 P1
+	 L6/P3 -> MT23108 H-2334 P1
+	 L7/P3 -> MT23108 H-2335 P1
+	 L8/P3 -> MT23108 H-2336 P1
+	 L9/P3 -> MT23108 H-2337 P1
+	 L10/P3 -> MT23108 H-2338 P1
+	 L11/P3 -> MT23108 H-2339 P1
+	 L12/P3 -> MT23108 H-2340 P1
+	 L1/P4 -> MT23108 H-2341 P1
+	 L2/P4 -> MT23108 H-2342 P1
+	 L3/P4 -> MT23108 H-2343 P1
+	 L4/P4 -> MT23108 H-2344 P1
+	 L5/P4 -> MT23108 H-2345 P1
+	 L6/P4 -> MT23108 H-2346 P1
+	 L7/P4 -> MT23108 H-2347 P1
+	 L8/P4 -> MT23108 H-2348 P1
+	 L9/P4 -> MT23108 H-2349 P1
+	 L10/P4 -> MT23108 H-2350 P1
+	 L11/P4 -> MT23108 H-2351 P1
+	 L12/P4 -> MT23108 H-2352 P1
+	 L1/P5 -> MT23108 H-2353 P1
+	 L2/P5 -> MT23108 H-2354 P1
+	 L3/P5 -> MT23108 H-2355 P1
+	 L4/P5 -> MT23108 H-2356 P1
+	 L5/P5 -> MT23108 H-2357 P1
+	 L6/P5 -> MT23108 H-2358 P1
+	 L7/P5 -> MT23108 H-2359 P1
+	 L8/P5 -> MT23108 H-2360 P1
+	 L9/P5 -> MT23108 H-2361 P1
+	 L10/P5 -> MT23108 H-2362 P1
+	 L11/P5 -> MT23108 H-2363 P1
+	 L12/P5 -> MT23108 H-2364 P1
+	 L1/P6 -> MT23108 H-2365 P1
+	 L2/P6 -> MT23108 H-2366 P1
+	 L3/P6 -> MT23108 H-2367 P1
+	 L4/P6 -> MT23108 H-2368 P1
+	 L5/P6 -> MT23108 H-2369 P1
+	 L6/P6 -> MT23108 H-2370 P1
+	 L7/P6 -> MT23108 H-2371 P1
+	 L8/P6 -> MT23108 H-2372 P1
+	 L9/P6 -> MT23108 H-2373 P1
+	 L10/P6 -> MT23108 H-2374 P1
+	 L11/P6 -> MT23108 H-2375 P1
+	 L12/P6 -> MT23108 H-2376 P1
+	 L1/P7 -> MT23108 H-2377 P1
+	 L2/P7 -> MT23108 H-2378 P1
+	 L3/P7 -> MT23108 H-2379 P1
+	 L4/P7 -> MT23108 H-2380 P1
+	 L5/P7 -> MT23108 H-2381 P1
+	 L6/P7 -> MT23108 H-2382 P1
+	 L7/P7 -> MT23108 H-2383 P1
+	 L8/P7 -> MT23108 H-2384 P1
+	 L9/P7 -> MT23108 H-2385 P1
+	 L10/P7 -> MT23108 H-2386 P1
+	 L11/P7 -> MT23108 H-2387 P1
+	 L12/P7 -> MT23108 H-2388 P1
+	 L1/P8 -> MT23108 H-2389 P1
+	 L2/P8 -> MT23108 H-2390 P1
+	 L3/P8 -> MT23108 H-2391 P1
+	 L4/P8 -> MT23108 H-2392 P1
+	 L5/P8 -> MT23108 H-2393 P1
+	 L6/P8 -> MT23108 H-2394 P1
+	 L7/P8 -> MT23108 H-2395 P1
+	 L8/P8 -> MT23108 H-2396 P1
+	 L9/P8 -> MT23108 H-2397 P1
+	 L10/P8 -> MT23108 H-2398 P1
+	 L11/P8 -> MT23108 H-2399 P1
+	 L12/P8 -> MT23108 H-2400 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P3
+	 L2/P9 -> MTS14400 SL2-1 L11/P3
+	 L3/P9 -> MTS14400 SL2-2 L10/P3
+	 L4/P9 -> MTS14400 SL2-2 L11/P3
+	 L5/P9 -> MTS14400 SL2-3 L10/P3
+	 L6/P9 -> MTS14400 SL2-3 L11/P3
+	 L7/P9 -> MTS14400 SL2-4 L10/P3
+	 L8/P9 -> MTS14400 SL2-4 L11/P3
+	 L9/P9 -> MTS14400 SL2-5 L10/P3
+	 L10/P9 -> MTS14400 SL2-5 L11/P3
+	 L11/P9 -> MTS14400 SL2-6 L10/P3
+	 L12/P9 -> MTS14400 SL2-6 L11/P3
+	 L1/P10 -> MTS14400 SL2-7 L10/P3
+	 L2/P10 -> MTS14400 SL2-7 L11/P3
+	 L3/P10 -> MTS14400 SL2-8 L10/P3
+	 L4/P10 -> MTS14400 SL2-8 L11/P3
+	 L5/P10 -> MTS14400 SL2-9 L10/P3
+	 L6/P10 -> MTS14400 SL2-9 L11/P3
+	 L7/P10 -> MTS14400 SL2-10 L10/P3
+	 L8/P10 -> MTS14400 SL2-10 L11/P3
+	 L9/P10 -> MTS14400 SL2-11 L10/P3
+	 L10/P10 -> MTS14400 SL2-12 L10/P3
+	 L11/P10 -> MTS14400 SL2-13 L10/P3
+	 L12/P10 -> MTS14400 SL2-14 L10/P3
+	 L1/P11 -> MTS14400 SL2-15 L10/P3
+	 L2/P11 -> MTS14400 SL2-16 L10/P3
+	 L3/P11 -> MTS14400 SL2-17 L10/P3
+	 L4/P11 -> MTS14400 SL2-18 L10/P3
+	 L5/P11 -> MTS14400 SL2-19 L10/P3
+	 L6/P11 -> MTS14400 SL2-20 L10/P3
+	 L7/P11 -> MTS14400 SL2-21 L10/P3
+	 L8/P11 -> MTS14400 SL2-22 L10/P3
+	 L9/P11 -> MTS14400 SL2-23 L10/P3
+	 L10/P11 -> MTS14400 SL2-24 L10/P3
+	 L11/P11 -> MTS14400 SL2-25 L10/P3
+	 L12/P11 -> MTS14400 SL2-26 L10/P3
+	 L1/P12 -> MTS14400 SL2-27 L10/P3
+	 L2/P12 -> MTS14400 SL2-28 L10/P3
+	 L3/P12 -> MTS14400 SL2-29 L10/P3
+	 L4/P12 -> MTS14400 SL2-30 L10/P3
+	 L5/P12 -> MTS14400 SL2-31 L10/P3
+	 L6/P12 -> MTS14400 SL2-32 L10/P3
+	 L7/P12 -> MTS14400 SL2-33 L9/P3
+	 L8/P12 -> MTS14400 SL2-33 L10/P3
+	 L9/P12 -> MTS14400 SL2-34 L9/P3
+	 L10/P12 -> MTS14400 SL2-34 L10/P3
+	 L11/P12 -> MTS14400 SL2-35 L9/P3
+	 L12/P12 -> MTS14400 SL2-35 L10/P3
+
+MTS14400 SL1-26
+	 L1/P1 -> MT23108 H-2401 P1
+	 L2/P1 -> MT23108 H-2402 P1
+	 L3/P1 -> MT23108 H-2403 P1
+	 L4/P1 -> MT23108 H-2404 P1
+	 L5/P1 -> MT23108 H-2405 P1
+	 L6/P1 -> MT23108 H-2406 P1
+	 L7/P1 -> MT23108 H-2407 P1
+	 L8/P1 -> MT23108 H-2408 P1
+	 L9/P1 -> MT23108 H-2409 P1
+	 L10/P1 -> MT23108 H-2410 P1
+	 L11/P1 -> MT23108 H-2411 P1
+	 L12/P1 -> MT23108 H-2412 P1
+	 L1/P2 -> MT23108 H-2413 P1
+	 L2/P2 -> MT23108 H-2414 P1
+	 L3/P2 -> MT23108 H-2415 P1
+	 L4/P2 -> MT23108 H-2416 P1
+	 L5/P2 -> MT23108 H-2417 P1
+	 L6/P2 -> MT23108 H-2418 P1
+	 L7/P2 -> MT23108 H-2419 P1
+	 L8/P2 -> MT23108 H-2420 P1
+	 L9/P2 -> MT23108 H-2421 P1
+	 L10/P2 -> MT23108 H-2422 P1
+	 L11/P2 -> MT23108 H-2423 P1
+	 L12/P2 -> MT23108 H-2424 P1
+	 L1/P3 -> MT23108 H-2425 P1
+	 L2/P3 -> MT23108 H-2426 P1
+	 L3/P3 -> MT23108 H-2427 P1
+	 L4/P3 -> MT23108 H-2428 P1
+	 L5/P3 -> MT23108 H-2429 P1
+	 L6/P3 -> MT23108 H-2430 P1
+	 L7/P3 -> MT23108 H-2431 P1
+	 L8/P3 -> MT23108 H-2432 P1
+	 L9/P3 -> MT23108 H-2433 P1
+	 L10/P3 -> MT23108 H-2434 P1
+	 L11/P3 -> MT23108 H-2435 P1
+	 L12/P3 -> MT23108 H-2436 P1
+	 L1/P4 -> MT23108 H-2437 P1
+	 L2/P4 -> MT23108 H-2438 P1
+	 L3/P4 -> MT23108 H-2439 P1
+	 L4/P4 -> MT23108 H-2440 P1
+	 L5/P4 -> MT23108 H-2441 P1
+	 L6/P4 -> MT23108 H-2442 P1
+	 L7/P4 -> MT23108 H-2443 P1
+	 L8/P4 -> MT23108 H-2444 P1
+	 L9/P4 -> MT23108 H-2445 P1
+	 L10/P4 -> MT23108 H-2446 P1
+	 L11/P4 -> MT23108 H-2447 P1
+	 L12/P4 -> MT23108 H-2448 P1
+	 L1/P5 -> MT23108 H-2449 P1
+	 L2/P5 -> MT23108 H-2450 P1
+	 L3/P5 -> MT23108 H-2451 P1
+	 L4/P5 -> MT23108 H-2452 P1
+	 L5/P5 -> MT23108 H-2453 P1
+	 L6/P5 -> MT23108 H-2454 P1
+	 L7/P5 -> MT23108 H-2455 P1
+	 L8/P5 -> MT23108 H-2456 P1
+	 L9/P5 -> MT23108 H-2457 P1
+	 L10/P5 -> MT23108 H-2458 P1
+	 L11/P5 -> MT23108 H-2459 P1
+	 L12/P5 -> MT23108 H-2460 P1
+	 L1/P6 -> MT23108 H-2461 P1
+	 L2/P6 -> MT23108 H-2462 P1
+	 L3/P6 -> MT23108 H-2463 P1
+	 L4/P6 -> MT23108 H-2464 P1
+	 L5/P6 -> MT23108 H-2465 P1
+	 L6/P6 -> MT23108 H-2466 P1
+	 L7/P6 -> MT23108 H-2467 P1
+	 L8/P6 -> MT23108 H-2468 P1
+	 L9/P6 -> MT23108 H-2469 P1
+	 L10/P6 -> MT23108 H-2470 P1
+	 L11/P6 -> MT23108 H-2471 P1
+	 L12/P6 -> MT23108 H-2472 P1
+	 L1/P7 -> MT23108 H-2473 P1
+	 L2/P7 -> MT23108 H-2474 P1
+	 L3/P7 -> MT23108 H-2475 P1
+	 L4/P7 -> MT23108 H-2476 P1
+	 L5/P7 -> MT23108 H-2477 P1
+	 L6/P7 -> MT23108 H-2478 P1
+	 L7/P7 -> MT23108 H-2479 P1
+	 L8/P7 -> MT23108 H-2480 P1
+	 L9/P7 -> MT23108 H-2481 P1
+	 L10/P7 -> MT23108 H-2482 P1
+	 L11/P7 -> MT23108 H-2483 P1
+	 L12/P7 -> MT23108 H-2484 P1
+	 L1/P8 -> MT23108 H-2485 P1
+	 L2/P8 -> MT23108 H-2486 P1
+	 L3/P8 -> MT23108 H-2487 P1
+	 L4/P8 -> MT23108 H-2488 P1
+	 L5/P8 -> MT23108 H-2489 P1
+	 L6/P8 -> MT23108 H-2490 P1
+	 L7/P8 -> MT23108 H-2491 P1
+	 L8/P8 -> MT23108 H-2492 P1
+	 L9/P8 -> MT23108 H-2493 P1
+	 L10/P8 -> MT23108 H-2494 P1
+	 L11/P8 -> MT23108 H-2495 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P3
+	 L2/P9 -> MTS14400 SL2-2 L12/P3
+	 L3/P9 -> MTS14400 SL2-3 L12/P3
+	 L4/P9 -> MTS14400 SL2-4 L12/P3
+	 L5/P9 -> MTS14400 SL2-5 L12/P3
+	 L6/P9 -> MTS14400 SL2-6 L12/P3
+	 L7/P9 -> MTS14400 SL2-7 L12/P3
+	 L8/P9 -> MTS14400 SL2-8 L12/P3
+	 L9/P9 -> MTS14400 SL2-9 L12/P3
+	 L10/P9 -> MTS14400 SL2-10 L12/P3
+	 L11/P9 -> MTS14400 SL2-11 L11/P3
+	 L12/P9 -> MTS14400 SL2-11 L12/P3
+	 L1/P10 -> MTS14400 SL2-12 L11/P3
+	 L2/P10 -> MTS14400 SL2-12 L12/P3
+	 L3/P10 -> MTS14400 SL2-13 L11/P3
+	 L4/P10 -> MTS14400 SL2-13 L12/P3
+	 L5/P10 -> MTS14400 SL2-14 L11/P3
+	 L6/P10 -> MTS14400 SL2-14 L12/P3
+	 L7/P10 -> MTS14400 SL2-15 L11/P3
+	 L8/P10 -> MTS14400 SL2-15 L12/P3
+	 L9/P10 -> MTS14400 SL2-16 L11/P3
+	 L10/P10 -> MTS14400 SL2-16 L12/P3
+	 L11/P10 -> MTS14400 SL2-17 L11/P3
+	 L12/P10 -> MTS14400 SL2-17 L12/P3
+	 L1/P11 -> MTS14400 SL2-18 L11/P3
+	 L2/P11 -> MTS14400 SL2-18 L12/P3
+	 L3/P11 -> MTS14400 SL2-19 L11/P3
+	 L4/P11 -> MTS14400 SL2-19 L12/P3
+	 L5/P11 -> MTS14400 SL2-20 L11/P3
+	 L6/P11 -> MTS14400 SL2-20 L12/P3
+	 L7/P11 -> MTS14400 SL2-21 L11/P3
+	 L8/P11 -> MTS14400 SL2-21 L12/P3
+	 L9/P11 -> MTS14400 SL2-22 L11/P3
+	 L10/P11 -> MTS14400 SL2-22 L12/P3
+	 L11/P11 -> MTS14400 SL2-23 L11/P3
+	 L12/P11 -> MTS14400 SL2-23 L12/P3
+	 L1/P12 -> MTS14400 SL2-24 L11/P3
+	 L2/P12 -> MTS14400 SL2-25 L11/P3
+	 L3/P12 -> MTS14400 SL2-26 L11/P3
+	 L4/P12 -> MTS14400 SL2-27 L11/P3
+	 L5/P12 -> MTS14400 SL2-28 L11/P3
+	 L6/P12 -> MTS14400 SL2-29 L11/P3
+	 L7/P12 -> MTS14400 SL2-30 L11/P3
+	 L8/P12 -> MTS14400 SL2-31 L11/P3
+	 L9/P12 -> MTS14400 SL2-32 L11/P3
+	 L10/P12 -> MTS14400 SL2-33 L11/P3
+	 L11/P12 -> MTS14400 SL2-34 L11/P3
+	 L12/P12 -> MTS14400 SL2-35 L11/P3
+
+MTS14400 SL1-27
+	 L1/P1 -> MT23108 H-2496 P1
+	 L2/P1 -> MT23108 H-2497 P1
+	 L3/P1 -> MT23108 H-2498 P1
+	 L4/P1 -> MT23108 H-2499 P1
+	 L5/P1 -> MT23108 H-2500 P1
+	 L6/P1 -> MT23108 H-2501 P1
+	 L7/P1 -> MT23108 H-2502 P1
+	 L8/P1 -> MT23108 H-2503 P1
+	 L9/P1 -> MT23108 H-2504 P1
+	 L10/P1 -> MT23108 H-2505 P1
+	 L11/P1 -> MT23108 H-2506 P1
+	 L12/P1 -> MT23108 H-2507 P1
+	 L1/P2 -> MT23108 H-2508 P1
+	 L2/P2 -> MT23108 H-2509 P1
+	 L3/P2 -> MT23108 H-2510 P1
+	 L4/P2 -> MT23108 H-2511 P1
+	 L5/P2 -> MT23108 H-2512 P1
+	 L6/P2 -> MT23108 H-2513 P1
+	 L7/P2 -> MT23108 H-2514 P1
+	 L8/P2 -> MT23108 H-2515 P1
+	 L9/P2 -> MT23108 H-2516 P1
+	 L10/P2 -> MT23108 H-2517 P1
+	 L11/P2 -> MT23108 H-2518 P1
+	 L12/P2 -> MT23108 H-2519 P1
+	 L1/P3 -> MT23108 H-2520 P1
+	 L2/P3 -> MT23108 H-2521 P1
+	 L3/P3 -> MT23108 H-2522 P1
+	 L4/P3 -> MT23108 H-2523 P1
+	 L5/P3 -> MT23108 H-2524 P1
+	 L6/P3 -> MT23108 H-2525 P1
+	 L7/P3 -> MT23108 H-2526 P1
+	 L8/P3 -> MT23108 H-2527 P1
+	 L9/P3 -> MT23108 H-2528 P1
+	 L10/P3 -> MT23108 H-2529 P1
+	 L11/P3 -> MT23108 H-2530 P1
+	 L12/P3 -> MT23108 H-2531 P1
+	 L1/P4 -> MT23108 H-2532 P1
+	 L2/P4 -> MT23108 H-2533 P1
+	 L3/P4 -> MT23108 H-2534 P1
+	 L4/P4 -> MT23108 H-2535 P1
+	 L5/P4 -> MT23108 H-2536 P1
+	 L6/P4 -> MT23108 H-2537 P1
+	 L7/P4 -> MT23108 H-2538 P1
+	 L8/P4 -> MT23108 H-2539 P1
+	 L9/P4 -> MT23108 H-2540 P1
+	 L10/P4 -> MT23108 H-2541 P1
+	 L11/P4 -> MT23108 H-2542 P1
+	 L12/P4 -> MT23108 H-2543 P1
+	 L1/P5 -> MT23108 H-2544 P1
+	 L2/P5 -> MT23108 H-2545 P1
+	 L3/P5 -> MT23108 H-2546 P1
+	 L4/P5 -> MT23108 H-2547 P1
+	 L5/P5 -> MT23108 H-2548 P1
+	 L6/P5 -> MT23108 H-2549 P1
+	 L7/P5 -> MT23108 H-2550 P1
+	 L8/P5 -> MT23108 H-2551 P1
+	 L9/P5 -> MT23108 H-2552 P1
+	 L10/P5 -> MT23108 H-2553 P1
+	 L11/P5 -> MT23108 H-2554 P1
+	 L12/P5 -> MT23108 H-2555 P1
+	 L1/P6 -> MT23108 H-2556 P1
+	 L2/P6 -> MT23108 H-2557 P1
+	 L3/P6 -> MT23108 H-2558 P1
+	 L4/P6 -> MT23108 H-2559 P1
+	 L5/P6 -> MT23108 H-2560 P1
+	 L6/P6 -> MT23108 H-2561 P1
+	 L7/P6 -> MT23108 H-2562 P1
+	 L8/P6 -> MT23108 H-2563 P1
+	 L9/P6 -> MT23108 H-2564 P1
+	 L10/P6 -> MT23108 H-2565 P1
+	 L11/P6 -> MT23108 H-2566 P1
+	 L12/P6 -> MT23108 H-2567 P1
+	 L1/P7 -> MT23108 H-2568 P1
+	 L2/P7 -> MT23108 H-2569 P1
+	 L3/P7 -> MT23108 H-2570 P1
+	 L4/P7 -> MT23108 H-2571 P1
+	 L5/P7 -> MT23108 H-2572 P1
+	 L6/P7 -> MT23108 H-2573 P1
+	 L7/P7 -> MT23108 H-2574 P1
+	 L8/P7 -> MT23108 H-2575 P1
+	 L9/P7 -> MT23108 H-2576 P1
+	 L10/P7 -> MT23108 H-2577 P1
+	 L11/P7 -> MT23108 H-2578 P1
+	 L12/P7 -> MT23108 H-2579 P1
+	 L1/P8 -> MT23108 H-2580 P1
+	 L2/P8 -> MT23108 H-2581 P1
+	 L3/P8 -> MT23108 H-2582 P1
+	 L4/P8 -> MT23108 H-2583 P1
+	 L5/P8 -> MT23108 H-2584 P1
+	 L6/P8 -> MT23108 H-2585 P1
+	 L7/P8 -> MT23108 H-2586 P1
+	 L8/P8 -> MT23108 H-2587 P1
+	 L9/P8 -> MT23108 H-2588 P1
+	 L10/P8 -> MT23108 H-2589 P1
+	 L11/P8 -> MT23108 H-2590 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P4
+	 L2/P9 -> MTS14400 SL2-1 L2/P4
+	 L3/P9 -> MTS14400 SL2-2 L1/P4
+	 L4/P9 -> MTS14400 SL2-3 L1/P4
+	 L5/P9 -> MTS14400 SL2-4 L1/P4
+	 L6/P9 -> MTS14400 SL2-5 L1/P4
+	 L7/P9 -> MTS14400 SL2-6 L1/P4
+	 L8/P9 -> MTS14400 SL2-7 L1/P4
+	 L9/P9 -> MTS14400 SL2-8 L1/P4
+	 L10/P9 -> MTS14400 SL2-9 L1/P4
+	 L11/P9 -> MTS14400 SL2-10 L1/P4
+	 L12/P9 -> MTS14400 SL2-11 L1/P4
+	 L1/P10 -> MTS14400 SL2-12 L1/P4
+	 L2/P10 -> MTS14400 SL2-13 L1/P4
+	 L3/P10 -> MTS14400 SL2-14 L1/P4
+	 L4/P10 -> MTS14400 SL2-15 L1/P4
+	 L5/P10 -> MTS14400 SL2-16 L1/P4
+	 L6/P10 -> MTS14400 SL2-17 L1/P4
+	 L7/P10 -> MTS14400 SL2-18 L1/P4
+	 L8/P10 -> MTS14400 SL2-19 L1/P4
+	 L9/P10 -> MTS14400 SL2-20 L1/P4
+	 L10/P10 -> MTS14400 SL2-21 L1/P4
+	 L11/P10 -> MTS14400 SL2-22 L1/P4
+	 L12/P10 -> MTS14400 SL2-23 L1/P4
+	 L1/P11 -> MTS14400 SL2-24 L12/P3
+	 L2/P11 -> MTS14400 SL2-24 L1/P4
+	 L3/P11 -> MTS14400 SL2-25 L12/P3
+	 L4/P11 -> MTS14400 SL2-25 L1/P4
+	 L5/P11 -> MTS14400 SL2-26 L12/P3
+	 L6/P11 -> MTS14400 SL2-26 L1/P4
+	 L7/P11 -> MTS14400 SL2-27 L12/P3
+	 L8/P11 -> MTS14400 SL2-27 L1/P4
+	 L9/P11 -> MTS14400 SL2-28 L12/P3
+	 L10/P11 -> MTS14400 SL2-28 L1/P4
+	 L11/P11 -> MTS14400 SL2-29 L12/P3
+	 L12/P11 -> MTS14400 SL2-29 L1/P4
+	 L1/P12 -> MTS14400 SL2-30 L12/P3
+	 L2/P12 -> MTS14400 SL2-30 L1/P4
+	 L3/P12 -> MTS14400 SL2-31 L12/P3
+	 L4/P12 -> MTS14400 SL2-31 L1/P4
+	 L5/P12 -> MTS14400 SL2-32 L12/P3
+	 L6/P12 -> MTS14400 SL2-32 L1/P4
+	 L7/P12 -> MTS14400 SL2-33 L12/P3
+	 L8/P12 -> MTS14400 SL2-33 L1/P4
+	 L9/P12 -> MTS14400 SL2-34 L12/P3
+	 L10/P12 -> MTS14400 SL2-34 L1/P4
+	 L11/P12 -> MTS14400 SL2-35 L12/P3
+	 L12/P12 -> MTS14400 SL2-35 L1/P4
+
+MTS14400 SL1-28
+	 L1/P1 -> MT23108 H-2591 P1
+	 L2/P1 -> MT23108 H-2592 P1
+	 L3/P1 -> MT23108 H-2593 P1
+	 L4/P1 -> MT23108 H-2594 P1
+	 L5/P1 -> MT23108 H-2595 P1
+	 L6/P1 -> MT23108 H-2596 P1
+	 L7/P1 -> MT23108 H-2597 P1
+	 L8/P1 -> MT23108 H-2598 P1
+	 L9/P1 -> MT23108 H-2599 P1
+	 L10/P1 -> MT23108 H-2600 P1
+	 L11/P1 -> MT23108 H-2601 P1
+	 L12/P1 -> MT23108 H-2602 P1
+	 L1/P2 -> MT23108 H-2603 P1
+	 L2/P2 -> MT23108 H-2604 P1
+	 L3/P2 -> MT23108 H-2605 P1
+	 L4/P2 -> MT23108 H-2606 P1
+	 L5/P2 -> MT23108 H-2607 P1
+	 L6/P2 -> MT23108 H-2608 P1
+	 L7/P2 -> MT23108 H-2609 P1
+	 L8/P2 -> MT23108 H-2610 P1
+	 L9/P2 -> MT23108 H-2611 P1
+	 L10/P2 -> MT23108 H-2612 P1
+	 L11/P2 -> MT23108 H-2613 P1
+	 L12/P2 -> MT23108 H-2614 P1
+	 L1/P3 -> MT23108 H-2615 P1
+	 L2/P3 -> MT23108 H-2616 P1
+	 L3/P3 -> MT23108 H-2617 P1
+	 L4/P3 -> MT23108 H-2618 P1
+	 L5/P3 -> MT23108 H-2619 P1
+	 L6/P3 -> MT23108 H-2620 P1
+	 L7/P3 -> MT23108 H-2621 P1
+	 L8/P3 -> MT23108 H-2622 P1
+	 L9/P3 -> MT23108 H-2623 P1
+	 L10/P3 -> MT23108 H-2624 P1
+	 L11/P3 -> MT23108 H-2625 P1
+	 L12/P3 -> MT23108 H-2626 P1
+	 L1/P4 -> MT23108 H-2627 P1
+	 L2/P4 -> MT23108 H-2628 P1
+	 L3/P4 -> MT23108 H-2629 P1
+	 L4/P4 -> MT23108 H-2630 P1
+	 L5/P4 -> MT23108 H-2631 P1
+	 L6/P4 -> MT23108 H-2632 P1
+	 L7/P4 -> MT23108 H-2633 P1
+	 L8/P4 -> MT23108 H-2634 P1
+	 L9/P4 -> MT23108 H-2635 P1
+	 L10/P4 -> MT23108 H-2636 P1
+	 L11/P4 -> MT23108 H-2637 P1
+	 L12/P4 -> MT23108 H-2638 P1
+	 L1/P5 -> MT23108 H-2639 P1
+	 L2/P5 -> MT23108 H-2640 P1
+	 L3/P5 -> MT23108 H-2641 P1
+	 L4/P5 -> MT23108 H-2642 P1
+	 L5/P5 -> MT23108 H-2643 P1
+	 L6/P5 -> MT23108 H-2644 P1
+	 L7/P5 -> MT23108 H-2645 P1
+	 L8/P5 -> MT23108 H-2646 P1
+	 L9/P5 -> MT23108 H-2647 P1
+	 L10/P5 -> MT23108 H-2648 P1
+	 L11/P5 -> MT23108 H-2649 P1
+	 L12/P5 -> MT23108 H-2650 P1
+	 L1/P6 -> MT23108 H-2651 P1
+	 L2/P6 -> MT23108 H-2652 P1
+	 L3/P6 -> MT23108 H-2653 P1
+	 L4/P6 -> MT23108 H-2654 P1
+	 L5/P6 -> MT23108 H-2655 P1
+	 L6/P6 -> MT23108 H-2656 P1
+	 L7/P6 -> MT23108 H-2657 P1
+	 L8/P6 -> MT23108 H-2658 P1
+	 L9/P6 -> MT23108 H-2659 P1
+	 L10/P6 -> MT23108 H-2660 P1
+	 L11/P6 -> MT23108 H-2661 P1
+	 L12/P6 -> MT23108 H-2662 P1
+	 L1/P7 -> MT23108 H-2663 P1
+	 L2/P7 -> MT23108 H-2664 P1
+	 L3/P7 -> MT23108 H-2665 P1
+	 L4/P7 -> MT23108 H-2666 P1
+	 L5/P7 -> MT23108 H-2667 P1
+	 L6/P7 -> MT23108 H-2668 P1
+	 L7/P7 -> MT23108 H-2669 P1
+	 L8/P7 -> MT23108 H-2670 P1
+	 L9/P7 -> MT23108 H-2671 P1
+	 L10/P7 -> MT23108 H-2672 P1
+	 L11/P7 -> MT23108 H-2673 P1
+	 L12/P7 -> MT23108 H-2674 P1
+	 L1/P8 -> MT23108 H-2675 P1
+	 L2/P8 -> MT23108 H-2676 P1
+	 L3/P8 -> MT23108 H-2677 P1
+	 L4/P8 -> MT23108 H-2678 P1
+	 L5/P8 -> MT23108 H-2679 P1
+	 L6/P8 -> MT23108 H-2680 P1
+	 L7/P8 -> MT23108 H-2681 P1
+	 L8/P8 -> MT23108 H-2682 P1
+	 L9/P8 -> MT23108 H-2683 P1
+	 L10/P8 -> MT23108 H-2684 P1
+	 L11/P8 -> MT23108 H-2685 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P4
+	 L2/P9 -> MTS14400 SL2-2 L2/P4
+	 L3/P9 -> MTS14400 SL2-2 L3/P4
+	 L4/P9 -> MTS14400 SL2-3 L2/P4
+	 L5/P9 -> MTS14400 SL2-3 L3/P4
+	 L6/P9 -> MTS14400 SL2-4 L2/P4
+	 L7/P9 -> MTS14400 SL2-4 L3/P4
+	 L8/P9 -> MTS14400 SL2-5 L2/P4
+	 L9/P9 -> MTS14400 SL2-5 L3/P4
+	 L10/P9 -> MTS14400 SL2-6 L2/P4
+	 L11/P9 -> MTS14400 SL2-6 L3/P4
+	 L12/P9 -> MTS14400 SL2-7 L2/P4
+	 L1/P10 -> MTS14400 SL2-7 L3/P4
+	 L2/P10 -> MTS14400 SL2-8 L2/P4
+	 L3/P10 -> MTS14400 SL2-8 L3/P4
+	 L4/P10 -> MTS14400 SL2-9 L2/P4
+	 L5/P10 -> MTS14400 SL2-9 L3/P4
+	 L6/P10 -> MTS14400 SL2-10 L2/P4
+	 L7/P10 -> MTS14400 SL2-10 L3/P4
+	 L8/P10 -> MTS14400 SL2-11 L2/P4
+	 L9/P10 -> MTS14400 SL2-11 L3/P4
+	 L10/P10 -> MTS14400 SL2-12 L2/P4
+	 L11/P10 -> MTS14400 SL2-12 L3/P4
+	 L12/P10 -> MTS14400 SL2-13 L2/P4
+	 L1/P11 -> MTS14400 SL2-13 L3/P4
+	 L2/P11 -> MTS14400 SL2-14 L2/P4
+	 L3/P11 -> MTS14400 SL2-14 L3/P4
+	 L4/P11 -> MTS14400 SL2-15 L2/P4
+	 L5/P11 -> MTS14400 SL2-16 L2/P4
+	 L6/P11 -> MTS14400 SL2-17 L2/P4
+	 L7/P11 -> MTS14400 SL2-18 L2/P4
+	 L8/P11 -> MTS14400 SL2-19 L2/P4
+	 L9/P11 -> MTS14400 SL2-20 L2/P4
+	 L10/P11 -> MTS14400 SL2-21 L2/P4
+	 L11/P11 -> MTS14400 SL2-22 L2/P4
+	 L12/P11 -> MTS14400 SL2-23 L2/P4
+	 L1/P12 -> MTS14400 SL2-24 L2/P4
+	 L2/P12 -> MTS14400 SL2-25 L2/P4
+	 L3/P12 -> MTS14400 SL2-26 L2/P4
+	 L4/P12 -> MTS14400 SL2-27 L2/P4
+	 L5/P12 -> MTS14400 SL2-28 L2/P4
+	 L6/P12 -> MTS14400 SL2-29 L2/P4
+	 L7/P12 -> MTS14400 SL2-30 L2/P4
+	 L8/P12 -> MTS14400 SL2-31 L2/P4
+	 L9/P12 -> MTS14400 SL2-32 L2/P4
+	 L10/P12 -> MTS14400 SL2-33 L2/P4
+	 L11/P12 -> MTS14400 SL2-34 L2/P4
+	 L12/P12 -> MTS14400 SL2-35 L2/P4
+
+MTS14400 SL1-29
+	 L1/P1 -> MT23108 H-2686 P1
+	 L2/P1 -> MT23108 H-2687 P1
+	 L3/P1 -> MT23108 H-2688 P1
+	 L4/P1 -> MT23108 H-2689 P1
+	 L5/P1 -> MT23108 H-2690 P1
+	 L6/P1 -> MT23108 H-2691 P1
+	 L7/P1 -> MT23108 H-2692 P1
+	 L8/P1 -> MT23108 H-2693 P1
+	 L9/P1 -> MT23108 H-2694 P1
+	 L10/P1 -> MT23108 H-2695 P1
+	 L11/P1 -> MT23108 H-2696 P1
+	 L12/P1 -> MT23108 H-2697 P1
+	 L1/P2 -> MT23108 H-2698 P1
+	 L2/P2 -> MT23108 H-2699 P1
+	 L3/P2 -> MT23108 H-2700 P1
+	 L4/P2 -> MT23108 H-2701 P1
+	 L5/P2 -> MT23108 H-2702 P1
+	 L6/P2 -> MT23108 H-2703 P1
+	 L7/P2 -> MT23108 H-2704 P1
+	 L8/P2 -> MT23108 H-2705 P1
+	 L9/P2 -> MT23108 H-2706 P1
+	 L10/P2 -> MT23108 H-2707 P1
+	 L11/P2 -> MT23108 H-2708 P1
+	 L12/P2 -> MT23108 H-2709 P1
+	 L1/P3 -> MT23108 H-2710 P1
+	 L2/P3 -> MT23108 H-2711 P1
+	 L3/P3 -> MT23108 H-2712 P1
+	 L4/P3 -> MT23108 H-2713 P1
+	 L5/P3 -> MT23108 H-2714 P1
+	 L6/P3 -> MT23108 H-2715 P1
+	 L7/P3 -> MT23108 H-2716 P1
+	 L8/P3 -> MT23108 H-2717 P1
+	 L9/P3 -> MT23108 H-2718 P1
+	 L10/P3 -> MT23108 H-2719 P1
+	 L11/P3 -> MT23108 H-2720 P1
+	 L12/P3 -> MT23108 H-2721 P1
+	 L1/P4 -> MT23108 H-2722 P1
+	 L2/P4 -> MT23108 H-2723 P1
+	 L3/P4 -> MT23108 H-2724 P1
+	 L4/P4 -> MT23108 H-2725 P1
+	 L5/P4 -> MT23108 H-2726 P1
+	 L6/P4 -> MT23108 H-2727 P1
+	 L7/P4 -> MT23108 H-2728 P1
+	 L8/P4 -> MT23108 H-2729 P1
+	 L9/P4 -> MT23108 H-2730 P1
+	 L10/P4 -> MT23108 H-2731 P1
+	 L11/P4 -> MT23108 H-2732 P1
+	 L12/P4 -> MT23108 H-2733 P1
+	 L1/P5 -> MT23108 H-2734 P1
+	 L2/P5 -> MT23108 H-2735 P1
+	 L3/P5 -> MT23108 H-2736 P1
+	 L4/P5 -> MT23108 H-2737 P1
+	 L5/P5 -> MT23108 H-2738 P1
+	 L6/P5 -> MT23108 H-2739 P1
+	 L7/P5 -> MT23108 H-2740 P1
+	 L8/P5 -> MT23108 H-2741 P1
+	 L9/P5 -> MT23108 H-2742 P1
+	 L10/P5 -> MT23108 H-2743 P1
+	 L11/P5 -> MT23108 H-2744 P1
+	 L12/P5 -> MT23108 H-2745 P1
+	 L1/P6 -> MT23108 H-2746 P1
+	 L2/P6 -> MT23108 H-2747 P1
+	 L3/P6 -> MT23108 H-2748 P1
+	 L4/P6 -> MT23108 H-2749 P1
+	 L5/P6 -> MT23108 H-2750 P1
+	 L6/P6 -> MT23108 H-2751 P1
+	 L7/P6 -> MT23108 H-2752 P1
+	 L8/P6 -> MT23108 H-2753 P1
+	 L9/P6 -> MT23108 H-2754 P1
+	 L10/P6 -> MT23108 H-2755 P1
+	 L11/P6 -> MT23108 H-2756 P1
+	 L12/P6 -> MT23108 H-2757 P1
+	 L1/P7 -> MT23108 H-2758 P1
+	 L2/P7 -> MT23108 H-2759 P1
+	 L3/P7 -> MT23108 H-2760 P1
+	 L4/P7 -> MT23108 H-2761 P1
+	 L5/P7 -> MT23108 H-2762 P1
+	 L6/P7 -> MT23108 H-2763 P1
+	 L7/P7 -> MT23108 H-2764 P1
+	 L8/P7 -> MT23108 H-2765 P1
+	 L9/P7 -> MT23108 H-2766 P1
+	 L10/P7 -> MT23108 H-2767 P1
+	 L11/P7 -> MT23108 H-2768 P1
+	 L12/P7 -> MT23108 H-2769 P1
+	 L1/P8 -> MT23108 H-2770 P1
+	 L2/P8 -> MT23108 H-2771 P1
+	 L3/P8 -> MT23108 H-2772 P1
+	 L4/P8 -> MT23108 H-2773 P1
+	 L5/P8 -> MT23108 H-2774 P1
+	 L6/P8 -> MT23108 H-2775 P1
+	 L7/P8 -> MT23108 H-2776 P1
+	 L8/P8 -> MT23108 H-2777 P1
+	 L9/P8 -> MT23108 H-2778 P1
+	 L10/P8 -> MT23108 H-2779 P1
+	 L11/P8 -> MT23108 H-2780 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P4
+	 L2/P9 -> MTS14400 SL2-2 L4/P4
+	 L3/P9 -> MTS14400 SL2-3 L4/P4
+	 L4/P9 -> MTS14400 SL2-4 L4/P4
+	 L5/P9 -> MTS14400 SL2-5 L4/P4
+	 L6/P9 -> MTS14400 SL2-6 L4/P4
+	 L7/P9 -> MTS14400 SL2-7 L4/P4
+	 L8/P9 -> MTS14400 SL2-8 L4/P4
+	 L9/P9 -> MTS14400 SL2-9 L4/P4
+	 L10/P9 -> MTS14400 SL2-10 L4/P4
+	 L11/P9 -> MTS14400 SL2-11 L4/P4
+	 L12/P9 -> MTS14400 SL2-12 L4/P4
+	 L1/P10 -> MTS14400 SL2-13 L4/P4
+	 L2/P10 -> MTS14400 SL2-14 L4/P4
+	 L3/P10 -> MTS14400 SL2-15 L3/P4
+	 L4/P10 -> MTS14400 SL2-15 L4/P4
+	 L5/P10 -> MTS14400 SL2-16 L3/P4
+	 L6/P10 -> MTS14400 SL2-16 L4/P4
+	 L7/P10 -> MTS14400 SL2-17 L3/P4
+	 L8/P10 -> MTS14400 SL2-17 L4/P4
+	 L9/P10 -> MTS14400 SL2-18 L3/P4
+	 L10/P10 -> MTS14400 SL2-18 L4/P4
+	 L11/P10 -> MTS14400 SL2-19 L3/P4
+	 L12/P10 -> MTS14400 SL2-19 L4/P4
+	 L1/P11 -> MTS14400 SL2-20 L3/P4
+	 L2/P11 -> MTS14400 SL2-20 L4/P4
+	 L3/P11 -> MTS14400 SL2-21 L3/P4
+	 L4/P11 -> MTS14400 SL2-21 L4/P4
+	 L5/P11 -> MTS14400 SL2-22 L3/P4
+	 L6/P11 -> MTS14400 SL2-22 L4/P4
+	 L7/P11 -> MTS14400 SL2-23 L3/P4
+	 L8/P11 -> MTS14400 SL2-23 L4/P4
+	 L9/P11 -> MTS14400 SL2-24 L3/P4
+	 L10/P11 -> MTS14400 SL2-24 L4/P4
+	 L11/P11 -> MTS14400 SL2-25 L3/P4
+	 L12/P11 -> MTS14400 SL2-25 L4/P4
+	 L1/P12 -> MTS14400 SL2-26 L3/P4
+	 L2/P12 -> MTS14400 SL2-26 L4/P4
+	 L3/P12 -> MTS14400 SL2-27 L3/P4
+	 L4/P12 -> MTS14400 SL2-27 L4/P4
+	 L5/P12 -> MTS14400 SL2-28 L3/P4
+	 L6/P12 -> MTS14400 SL2-29 L3/P4
+	 L7/P12 -> MTS14400 SL2-30 L3/P4
+	 L8/P12 -> MTS14400 SL2-31 L3/P4
+	 L9/P12 -> MTS14400 SL2-32 L3/P4
+	 L10/P12 -> MTS14400 SL2-33 L3/P4
+	 L11/P12 -> MTS14400 SL2-34 L3/P4
+	 L12/P12 -> MTS14400 SL2-35 L3/P4
+
+MTS14400 SL1-30
+	 L1/P1 -> MT23108 H-2781 P1
+	 L2/P1 -> MT23108 H-2782 P1
+	 L3/P1 -> MT23108 H-2783 P1
+	 L4/P1 -> MT23108 H-2784 P1
+	 L5/P1 -> MT23108 H-2785 P1
+	 L6/P1 -> MT23108 H-2786 P1
+	 L7/P1 -> MT23108 H-2787 P1
+	 L8/P1 -> MT23108 H-2788 P1
+	 L9/P1 -> MT23108 H-2789 P1
+	 L10/P1 -> MT23108 H-2790 P1
+	 L11/P1 -> MT23108 H-2791 P1
+	 L12/P1 -> MT23108 H-2792 P1
+	 L1/P2 -> MT23108 H-2793 P1
+	 L2/P2 -> MT23108 H-2794 P1
+	 L3/P2 -> MT23108 H-2795 P1
+	 L4/P2 -> MT23108 H-2796 P1
+	 L5/P2 -> MT23108 H-2797 P1
+	 L6/P2 -> MT23108 H-2798 P1
+	 L7/P2 -> MT23108 H-2799 P1
+	 L8/P2 -> MT23108 H-2800 P1
+	 L9/P2 -> MT23108 H-2801 P1
+	 L10/P2 -> MT23108 H-2802 P1
+	 L11/P2 -> MT23108 H-2803 P1
+	 L12/P2 -> MT23108 H-2804 P1
+	 L1/P3 -> MT23108 H-2805 P1
+	 L2/P3 -> MT23108 H-2806 P1
+	 L3/P3 -> MT23108 H-2807 P1
+	 L4/P3 -> MT23108 H-2808 P1
+	 L5/P3 -> MT23108 H-2809 P1
+	 L6/P3 -> MT23108 H-2810 P1
+	 L7/P3 -> MT23108 H-2811 P1
+	 L8/P3 -> MT23108 H-2812 P1
+	 L9/P3 -> MT23108 H-2813 P1
+	 L10/P3 -> MT23108 H-2814 P1
+	 L11/P3 -> MT23108 H-2815 P1
+	 L12/P3 -> MT23108 H-2816 P1
+	 L1/P4 -> MT23108 H-2817 P1
+	 L2/P4 -> MT23108 H-2818 P1
+	 L3/P4 -> MT23108 H-2819 P1
+	 L4/P4 -> MT23108 H-2820 P1
+	 L5/P4 -> MT23108 H-2821 P1
+	 L6/P4 -> MT23108 H-2822 P1
+	 L7/P4 -> MT23108 H-2823 P1
+	 L8/P4 -> MT23108 H-2824 P1
+	 L9/P4 -> MT23108 H-2825 P1
+	 L10/P4 -> MT23108 H-2826 P1
+	 L11/P4 -> MT23108 H-2827 P1
+	 L12/P4 -> MT23108 H-2828 P1
+	 L1/P5 -> MT23108 H-2829 P1
+	 L2/P5 -> MT23108 H-2830 P1
+	 L3/P5 -> MT23108 H-2831 P1
+	 L4/P5 -> MT23108 H-2832 P1
+	 L5/P5 -> MT23108 H-2833 P1
+	 L6/P5 -> MT23108 H-2834 P1
+	 L7/P5 -> MT23108 H-2835 P1
+	 L8/P5 -> MT23108 H-2836 P1
+	 L9/P5 -> MT23108 H-2837 P1
+	 L10/P5 -> MT23108 H-2838 P1
+	 L11/P5 -> MT23108 H-2839 P1
+	 L12/P5 -> MT23108 H-2840 P1
+	 L1/P6 -> MT23108 H-2841 P1
+	 L2/P6 -> MT23108 H-2842 P1
+	 L3/P6 -> MT23108 H-2843 P1
+	 L4/P6 -> MT23108 H-2844 P1
+	 L5/P6 -> MT23108 H-2845 P1
+	 L6/P6 -> MT23108 H-2846 P1
+	 L7/P6 -> MT23108 H-2847 P1
+	 L8/P6 -> MT23108 H-2848 P1
+	 L9/P6 -> MT23108 H-2849 P1
+	 L10/P6 -> MT23108 H-2850 P1
+	 L11/P6 -> MT23108 H-2851 P1
+	 L12/P6 -> MT23108 H-2852 P1
+	 L1/P7 -> MT23108 H-2853 P1
+	 L2/P7 -> MT23108 H-2854 P1
+	 L3/P7 -> MT23108 H-2855 P1
+	 L4/P7 -> MT23108 H-2856 P1
+	 L5/P7 -> MT23108 H-2857 P1
+	 L6/P7 -> MT23108 H-2858 P1
+	 L7/P7 -> MT23108 H-2859 P1
+	 L8/P7 -> MT23108 H-2860 P1
+	 L9/P7 -> MT23108 H-2861 P1
+	 L10/P7 -> MT23108 H-2862 P1
+	 L11/P7 -> MT23108 H-2863 P1
+	 L12/P7 -> MT23108 H-2864 P1
+	 L1/P8 -> MT23108 H-2865 P1
+	 L2/P8 -> MT23108 H-2866 P1
+	 L3/P8 -> MT23108 H-2867 P1
+	 L4/P8 -> MT23108 H-2868 P1
+	 L5/P8 -> MT23108 H-2869 P1
+	 L6/P8 -> MT23108 H-2870 P1
+	 L7/P8 -> MT23108 H-2871 P1
+	 L8/P8 -> MT23108 H-2872 P1
+	 L9/P8 -> MT23108 H-2873 P1
+	 L10/P8 -> MT23108 H-2874 P1
+	 L11/P8 -> MT23108 H-2875 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P4
+	 L2/P9 -> MTS14400 SL2-1 L6/P4
+	 L3/P9 -> MTS14400 SL2-2 L5/P4
+	 L4/P9 -> MTS14400 SL2-2 L6/P4
+	 L5/P9 -> MTS14400 SL2-3 L5/P4
+	 L6/P9 -> MTS14400 SL2-3 L6/P4
+	 L7/P9 -> MTS14400 SL2-4 L5/P4
+	 L8/P9 -> MTS14400 SL2-4 L6/P4
+	 L9/P9 -> MTS14400 SL2-5 L5/P4
+	 L10/P9 -> MTS14400 SL2-5 L6/P4
+	 L11/P9 -> MTS14400 SL2-6 L5/P4
+	 L12/P9 -> MTS14400 SL2-7 L5/P4
+	 L1/P10 -> MTS14400 SL2-8 L5/P4
+	 L2/P10 -> MTS14400 SL2-9 L5/P4
+	 L3/P10 -> MTS14400 SL2-10 L5/P4
+	 L4/P10 -> MTS14400 SL2-11 L5/P4
+	 L5/P10 -> MTS14400 SL2-12 L5/P4
+	 L6/P10 -> MTS14400 SL2-13 L5/P4
+	 L7/P10 -> MTS14400 SL2-14 L5/P4
+	 L8/P10 -> MTS14400 SL2-15 L5/P4
+	 L9/P10 -> MTS14400 SL2-16 L5/P4
+	 L10/P10 -> MTS14400 SL2-17 L5/P4
+	 L11/P10 -> MTS14400 SL2-18 L5/P4
+	 L12/P10 -> MTS14400 SL2-19 L5/P4
+	 L1/P11 -> MTS14400 SL2-20 L5/P4
+	 L2/P11 -> MTS14400 SL2-21 L5/P4
+	 L3/P11 -> MTS14400 SL2-22 L5/P4
+	 L4/P11 -> MTS14400 SL2-23 L5/P4
+	 L5/P11 -> MTS14400 SL2-24 L5/P4
+	 L6/P11 -> MTS14400 SL2-25 L5/P4
+	 L7/P11 -> MTS14400 SL2-26 L5/P4
+	 L8/P11 -> MTS14400 SL2-27 L5/P4
+	 L9/P11 -> MTS14400 SL2-28 L4/P4
+	 L10/P11 -> MTS14400 SL2-28 L5/P4
+	 L11/P11 -> MTS14400 SL2-29 L4/P4
+	 L12/P11 -> MTS14400 SL2-29 L5/P4
+	 L1/P12 -> MTS14400 SL2-30 L4/P4
+	 L2/P12 -> MTS14400 SL2-30 L5/P4
+	 L3/P12 -> MTS14400 SL2-31 L4/P4
+	 L4/P12 -> MTS14400 SL2-31 L5/P4
+	 L5/P12 -> MTS14400 SL2-32 L4/P4
+	 L6/P12 -> MTS14400 SL2-32 L5/P4
+	 L7/P12 -> MTS14400 SL2-33 L4/P4
+	 L8/P12 -> MTS14400 SL2-33 L5/P4
+	 L9/P12 -> MTS14400 SL2-34 L4/P4
+	 L10/P12 -> MTS14400 SL2-34 L5/P4
+	 L11/P12 -> MTS14400 SL2-35 L4/P4
+	 L12/P12 -> MTS14400 SL2-35 L5/P4
+
+MTS14400 SL1-31
+	 L1/P1 -> MT23108 H-2876 P1
+	 L2/P1 -> MT23108 H-2877 P1
+	 L3/P1 -> MT23108 H-2878 P1
+	 L4/P1 -> MT23108 H-2879 P1
+	 L5/P1 -> MT23108 H-2880 P1
+	 L6/P1 -> MT23108 H-2881 P1
+	 L7/P1 -> MT23108 H-2882 P1
+	 L8/P1 -> MT23108 H-2883 P1
+	 L9/P1 -> MT23108 H-2884 P1
+	 L10/P1 -> MT23108 H-2885 P1
+	 L11/P1 -> MT23108 H-2886 P1
+	 L12/P1 -> MT23108 H-2887 P1
+	 L1/P2 -> MT23108 H-2888 P1
+	 L2/P2 -> MT23108 H-2889 P1
+	 L3/P2 -> MT23108 H-2890 P1
+	 L4/P2 -> MT23108 H-2891 P1
+	 L5/P2 -> MT23108 H-2892 P1
+	 L6/P2 -> MT23108 H-2893 P1
+	 L7/P2 -> MT23108 H-2894 P1
+	 L8/P2 -> MT23108 H-2895 P1
+	 L9/P2 -> MT23108 H-2896 P1
+	 L10/P2 -> MT23108 H-2897 P1
+	 L11/P2 -> MT23108 H-2898 P1
+	 L12/P2 -> MT23108 H-2899 P1
+	 L1/P3 -> MT23108 H-2900 P1
+	 L2/P3 -> MT23108 H-2901 P1
+	 L3/P3 -> MT23108 H-2902 P1
+	 L4/P3 -> MT23108 H-2903 P1
+	 L5/P3 -> MT23108 H-2904 P1
+	 L6/P3 -> MT23108 H-2905 P1
+	 L7/P3 -> MT23108 H-2906 P1
+	 L8/P3 -> MT23108 H-2907 P1
+	 L9/P3 -> MT23108 H-2908 P1
+	 L10/P3 -> MT23108 H-2909 P1
+	 L11/P3 -> MT23108 H-2910 P1
+	 L12/P3 -> MT23108 H-2911 P1
+	 L1/P4 -> MT23108 H-2912 P1
+	 L2/P4 -> MT23108 H-2913 P1
+	 L3/P4 -> MT23108 H-2914 P1
+	 L4/P4 -> MT23108 H-2915 P1
+	 L5/P4 -> MT23108 H-2916 P1
+	 L6/P4 -> MT23108 H-2917 P1
+	 L7/P4 -> MT23108 H-2918 P1
+	 L8/P4 -> MT23108 H-2919 P1
+	 L9/P4 -> MT23108 H-2920 P1
+	 L10/P4 -> MT23108 H-2921 P1
+	 L11/P4 -> MT23108 H-2922 P1
+	 L12/P4 -> MT23108 H-2923 P1
+	 L1/P5 -> MT23108 H-2924 P1
+	 L2/P5 -> MT23108 H-2925 P1
+	 L3/P5 -> MT23108 H-2926 P1
+	 L4/P5 -> MT23108 H-2927 P1
+	 L5/P5 -> MT23108 H-2928 P1
+	 L6/P5 -> MT23108 H-2929 P1
+	 L7/P5 -> MT23108 H-2930 P1
+	 L8/P5 -> MT23108 H-2931 P1
+	 L9/P5 -> MT23108 H-2932 P1
+	 L10/P5 -> MT23108 H-2933 P1
+	 L11/P5 -> MT23108 H-2934 P1
+	 L12/P5 -> MT23108 H-2935 P1
+	 L1/P6 -> MT23108 H-2936 P1
+	 L2/P6 -> MT23108 H-2937 P1
+	 L3/P6 -> MT23108 H-2938 P1
+	 L4/P6 -> MT23108 H-2939 P1
+	 L5/P6 -> MT23108 H-2940 P1
+	 L6/P6 -> MT23108 H-2941 P1
+	 L7/P6 -> MT23108 H-2942 P1
+	 L8/P6 -> MT23108 H-2943 P1
+	 L9/P6 -> MT23108 H-2944 P1
+	 L10/P6 -> MT23108 H-2945 P1
+	 L11/P6 -> MT23108 H-2946 P1
+	 L12/P6 -> MT23108 H-2947 P1
+	 L1/P7 -> MT23108 H-2948 P1
+	 L2/P7 -> MT23108 H-2949 P1
+	 L3/P7 -> MT23108 H-2950 P1
+	 L4/P7 -> MT23108 H-2951 P1
+	 L5/P7 -> MT23108 H-2952 P1
+	 L6/P7 -> MT23108 H-2953 P1
+	 L7/P7 -> MT23108 H-2954 P1
+	 L8/P7 -> MT23108 H-2955 P1
+	 L9/P7 -> MT23108 H-2956 P1
+	 L10/P7 -> MT23108 H-2957 P1
+	 L11/P7 -> MT23108 H-2958 P1
+	 L12/P7 -> MT23108 H-2959 P1
+	 L1/P8 -> MT23108 H-2960 P1
+	 L2/P8 -> MT23108 H-2961 P1
+	 L3/P8 -> MT23108 H-2962 P1
+	 L4/P8 -> MT23108 H-2963 P1
+	 L5/P8 -> MT23108 H-2964 P1
+	 L6/P8 -> MT23108 H-2965 P1
+	 L7/P8 -> MT23108 H-2966 P1
+	 L8/P8 -> MT23108 H-2967 P1
+	 L9/P8 -> MT23108 H-2968 P1
+	 L10/P8 -> MT23108 H-2969 P1
+	 L11/P8 -> MT23108 H-2970 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P4
+	 L2/P9 -> MTS14400 SL2-2 L7/P4
+	 L3/P9 -> MTS14400 SL2-3 L7/P4
+	 L4/P9 -> MTS14400 SL2-4 L7/P4
+	 L5/P9 -> MTS14400 SL2-5 L7/P4
+	 L6/P9 -> MTS14400 SL2-6 L6/P4
+	 L7/P9 -> MTS14400 SL2-6 L7/P4
+	 L8/P9 -> MTS14400 SL2-7 L6/P4
+	 L9/P9 -> MTS14400 SL2-7 L7/P4
+	 L10/P9 -> MTS14400 SL2-8 L6/P4
+	 L11/P9 -> MTS14400 SL2-8 L7/P4
+	 L12/P9 -> MTS14400 SL2-9 L6/P4
+	 L1/P10 -> MTS14400 SL2-9 L7/P4
+	 L2/P10 -> MTS14400 SL2-10 L6/P4
+	 L3/P10 -> MTS14400 SL2-10 L7/P4
+	 L4/P10 -> MTS14400 SL2-11 L6/P4
+	 L5/P10 -> MTS14400 SL2-11 L7/P4
+	 L6/P10 -> MTS14400 SL2-12 L6/P4
+	 L7/P10 -> MTS14400 SL2-12 L7/P4
+	 L8/P10 -> MTS14400 SL2-13 L6/P4
+	 L9/P10 -> MTS14400 SL2-13 L7/P4
+	 L10/P10 -> MTS14400 SL2-14 L6/P4
+	 L11/P10 -> MTS14400 SL2-14 L7/P4
+	 L12/P10 -> MTS14400 SL2-15 L6/P4
+	 L1/P11 -> MTS14400 SL2-15 L7/P4
+	 L2/P11 -> MTS14400 SL2-16 L6/P4
+	 L3/P11 -> MTS14400 SL2-16 L7/P4
+	 L4/P11 -> MTS14400 SL2-17 L6/P4
+	 L5/P11 -> MTS14400 SL2-17 L7/P4
+	 L6/P11 -> MTS14400 SL2-18 L6/P4
+	 L7/P11 -> MTS14400 SL2-18 L7/P4
+	 L8/P11 -> MTS14400 SL2-19 L6/P4
+	 L9/P11 -> MTS14400 SL2-20 L6/P4
+	 L10/P11 -> MTS14400 SL2-21 L6/P4
+	 L11/P11 -> MTS14400 SL2-22 L6/P4
+	 L12/P11 -> MTS14400 SL2-23 L6/P4
+	 L1/P12 -> MTS14400 SL2-24 L6/P4
+	 L2/P12 -> MTS14400 SL2-25 L6/P4
+	 L3/P12 -> MTS14400 SL2-26 L6/P4
+	 L4/P12 -> MTS14400 SL2-27 L6/P4
+	 L5/P12 -> MTS14400 SL2-28 L6/P4
+	 L6/P12 -> MTS14400 SL2-29 L6/P4
+	 L7/P12 -> MTS14400 SL2-30 L6/P4
+	 L8/P12 -> MTS14400 SL2-31 L6/P4
+	 L9/P12 -> MTS14400 SL2-32 L6/P4
+	 L10/P12 -> MTS14400 SL2-33 L6/P4
+	 L11/P12 -> MTS14400 SL2-34 L6/P4
+	 L12/P12 -> MTS14400 SL2-35 L6/P4
+
+MTS14400 SL1-32
+	 L1/P1 -> MT23108 H-2971 P1
+	 L2/P1 -> MT23108 H-2972 P1
+	 L3/P1 -> MT23108 H-2973 P1
+	 L4/P1 -> MT23108 H-2974 P1
+	 L5/P1 -> MT23108 H-2975 P1
+	 L6/P1 -> MT23108 H-2976 P1
+	 L7/P1 -> MT23108 H-2977 P1
+	 L8/P1 -> MT23108 H-2978 P1
+	 L9/P1 -> MT23108 H-2979 P1
+	 L10/P1 -> MT23108 H-2980 P1
+	 L11/P1 -> MT23108 H-2981 P1
+	 L12/P1 -> MT23108 H-2982 P1
+	 L1/P2 -> MT23108 H-2983 P1
+	 L2/P2 -> MT23108 H-2984 P1
+	 L3/P2 -> MT23108 H-2985 P1
+	 L4/P2 -> MT23108 H-2986 P1
+	 L5/P2 -> MT23108 H-2987 P1
+	 L6/P2 -> MT23108 H-2988 P1
+	 L7/P2 -> MT23108 H-2989 P1
+	 L8/P2 -> MT23108 H-2990 P1
+	 L9/P2 -> MT23108 H-2991 P1
+	 L10/P2 -> MT23108 H-2992 P1
+	 L11/P2 -> MT23108 H-2993 P1
+	 L12/P2 -> MT23108 H-2994 P1
+	 L1/P3 -> MT23108 H-2995 P1
+	 L2/P3 -> MT23108 H-2996 P1
+	 L3/P3 -> MT23108 H-2997 P1
+	 L4/P3 -> MT23108 H-2998 P1
+	 L5/P3 -> MT23108 H-2999 P1
+	 L6/P3 -> MT23108 H-3000 P1
+	 L7/P3 -> MT23108 H-3001 P1
+	 L8/P3 -> MT23108 H-3002 P1
+	 L9/P3 -> MT23108 H-3003 P1
+	 L10/P3 -> MT23108 H-3004 P1
+	 L11/P3 -> MT23108 H-3005 P1
+	 L12/P3 -> MT23108 H-3006 P1
+	 L1/P4 -> MT23108 H-3007 P1
+	 L2/P4 -> MT23108 H-3008 P1
+	 L3/P4 -> MT23108 H-3009 P1
+	 L4/P4 -> MT23108 H-3010 P1
+	 L5/P4 -> MT23108 H-3011 P1
+	 L6/P4 -> MT23108 H-3012 P1
+	 L7/P4 -> MT23108 H-3013 P1
+	 L8/P4 -> MT23108 H-3014 P1
+	 L9/P4 -> MT23108 H-3015 P1
+	 L10/P4 -> MT23108 H-3016 P1
+	 L11/P4 -> MT23108 H-3017 P1
+	 L12/P4 -> MT23108 H-3018 P1
+	 L1/P5 -> MT23108 H-3019 P1
+	 L2/P5 -> MT23108 H-3020 P1
+	 L3/P5 -> MT23108 H-3021 P1
+	 L4/P5 -> MT23108 H-3022 P1
+	 L5/P5 -> MT23108 H-3023 P1
+	 L6/P5 -> MT23108 H-3024 P1
+	 L7/P5 -> MT23108 H-3025 P1
+	 L8/P5 -> MT23108 H-3026 P1
+	 L9/P5 -> MT23108 H-3027 P1
+	 L10/P5 -> MT23108 H-3028 P1
+	 L11/P5 -> MT23108 H-3029 P1
+	 L12/P5 -> MT23108 H-3030 P1
+	 L1/P6 -> MT23108 H-3031 P1
+	 L2/P6 -> MT23108 H-3032 P1
+	 L3/P6 -> MT23108 H-3033 P1
+	 L4/P6 -> MT23108 H-3034 P1
+	 L5/P6 -> MT23108 H-3035 P1
+	 L6/P6 -> MT23108 H-3036 P1
+	 L7/P6 -> MT23108 H-3037 P1
+	 L8/P6 -> MT23108 H-3038 P1
+	 L9/P6 -> MT23108 H-3039 P1
+	 L10/P6 -> MT23108 H-3040 P1
+	 L11/P6 -> MT23108 H-3041 P1
+	 L12/P6 -> MT23108 H-3042 P1
+	 L1/P7 -> MT23108 H-3043 P1
+	 L2/P7 -> MT23108 H-3044 P1
+	 L3/P7 -> MT23108 H-3045 P1
+	 L4/P7 -> MT23108 H-3046 P1
+	 L5/P7 -> MT23108 H-3047 P1
+	 L6/P7 -> MT23108 H-3048 P1
+	 L7/P7 -> MT23108 H-3049 P1
+	 L8/P7 -> MT23108 H-3050 P1
+	 L9/P7 -> MT23108 H-3051 P1
+	 L10/P7 -> MT23108 H-3052 P1
+	 L11/P7 -> MT23108 H-3053 P1
+	 L12/P7 -> MT23108 H-3054 P1
+	 L1/P8 -> MT23108 H-3055 P1
+	 L2/P8 -> MT23108 H-3056 P1
+	 L3/P8 -> MT23108 H-3057 P1
+	 L4/P8 -> MT23108 H-3058 P1
+	 L5/P8 -> MT23108 H-3059 P1
+	 L6/P8 -> MT23108 H-3060 P1
+	 L7/P8 -> MT23108 H-3061 P1
+	 L8/P8 -> MT23108 H-3062 P1
+	 L9/P8 -> MT23108 H-3063 P1
+	 L10/P8 -> MT23108 H-3064 P1
+	 L11/P8 -> MT23108 H-3065 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P4
+	 L2/P9 -> MTS14400 SL2-2 L8/P4
+	 L3/P9 -> MTS14400 SL2-3 L8/P4
+	 L4/P9 -> MTS14400 SL2-4 L8/P4
+	 L5/P9 -> MTS14400 SL2-5 L8/P4
+	 L6/P9 -> MTS14400 SL2-6 L8/P4
+	 L7/P9 -> MTS14400 SL2-7 L8/P4
+	 L8/P9 -> MTS14400 SL2-8 L8/P4
+	 L9/P9 -> MTS14400 SL2-9 L8/P4
+	 L10/P9 -> MTS14400 SL2-10 L8/P4
+	 L11/P9 -> MTS14400 SL2-11 L8/P4
+	 L12/P9 -> MTS14400 SL2-12 L8/P4
+	 L1/P10 -> MTS14400 SL2-13 L8/P4
+	 L2/P10 -> MTS14400 SL2-14 L8/P4
+	 L3/P10 -> MTS14400 SL2-15 L8/P4
+	 L4/P10 -> MTS14400 SL2-16 L8/P4
+	 L5/P10 -> MTS14400 SL2-17 L8/P4
+	 L6/P10 -> MTS14400 SL2-18 L8/P4
+	 L7/P10 -> MTS14400 SL2-19 L7/P4
+	 L8/P10 -> MTS14400 SL2-19 L8/P4
+	 L9/P10 -> MTS14400 SL2-20 L7/P4
+	 L10/P10 -> MTS14400 SL2-20 L8/P4
+	 L11/P10 -> MTS14400 SL2-21 L7/P4
+	 L12/P10 -> MTS14400 SL2-21 L8/P4
+	 L1/P11 -> MTS14400 SL2-22 L7/P4
+	 L2/P11 -> MTS14400 SL2-22 L8/P4
+	 L3/P11 -> MTS14400 SL2-23 L7/P4
+	 L4/P11 -> MTS14400 SL2-23 L8/P4
+	 L5/P11 -> MTS14400 SL2-24 L7/P4
+	 L6/P11 -> MTS14400 SL2-24 L8/P4
+	 L7/P11 -> MTS14400 SL2-25 L7/P4
+	 L8/P11 -> MTS14400 SL2-25 L8/P4
+	 L9/P11 -> MTS14400 SL2-26 L7/P4
+	 L10/P11 -> MTS14400 SL2-26 L8/P4
+	 L11/P11 -> MTS14400 SL2-27 L7/P4
+	 L12/P11 -> MTS14400 SL2-27 L8/P4
+	 L1/P12 -> MTS14400 SL2-28 L7/P4
+	 L2/P12 -> MTS14400 SL2-28 L8/P4
+	 L3/P12 -> MTS14400 SL2-29 L7/P4
+	 L4/P12 -> MTS14400 SL2-29 L8/P4
+	 L5/P12 -> MTS14400 SL2-30 L7/P4
+	 L6/P12 -> MTS14400 SL2-30 L8/P4
+	 L7/P12 -> MTS14400 SL2-31 L7/P4
+	 L8/P12 -> MTS14400 SL2-31 L8/P4
+	 L9/P12 -> MTS14400 SL2-32 L7/P4
+	 L10/P12 -> MTS14400 SL2-33 L7/P4
+	 L11/P12 -> MTS14400 SL2-34 L7/P4
+	 L12/P12 -> MTS14400 SL2-35 L7/P4
+
+MTS14400 SL1-33
+	 L1/P1 -> MT23108 H-3066 P1
+	 L2/P1 -> MT23108 H-3067 P1
+	 L3/P1 -> MT23108 H-3068 P1
+	 L4/P1 -> MT23108 H-3069 P1
+	 L5/P1 -> MT23108 H-3070 P1
+	 L6/P1 -> MT23108 H-3071 P1
+	 L7/P1 -> MT23108 H-3072 P1
+	 L8/P1 -> MT23108 H-3073 P1
+	 L9/P1 -> MT23108 H-3074 P1
+	 L10/P1 -> MT23108 H-3075 P1
+	 L11/P1 -> MT23108 H-3076 P1
+	 L12/P1 -> MT23108 H-3077 P1
+	 L1/P2 -> MT23108 H-3078 P1
+	 L2/P2 -> MT23108 H-3079 P1
+	 L3/P2 -> MT23108 H-3080 P1
+	 L4/P2 -> MT23108 H-3081 P1
+	 L5/P2 -> MT23108 H-3082 P1
+	 L6/P2 -> MT23108 H-3083 P1
+	 L7/P2 -> MT23108 H-3084 P1
+	 L8/P2 -> MT23108 H-3085 P1
+	 L9/P2 -> MT23108 H-3086 P1
+	 L10/P2 -> MT23108 H-3087 P1
+	 L11/P2 -> MT23108 H-3088 P1
+	 L12/P2 -> MT23108 H-3089 P1
+	 L1/P3 -> MT23108 H-3090 P1
+	 L2/P3 -> MT23108 H-3091 P1
+	 L3/P3 -> MT23108 H-3092 P1
+	 L4/P3 -> MT23108 H-3093 P1
+	 L5/P3 -> MT23108 H-3094 P1
+	 L6/P3 -> MT23108 H-3095 P1
+	 L7/P3 -> MT23108 H-3096 P1
+	 L8/P3 -> MT23108 H-3097 P1
+	 L9/P3 -> MT23108 H-3098 P1
+	 L10/P3 -> MT23108 H-3099 P1
+	 L11/P3 -> MT23108 H-3100 P1
+	 L12/P3 -> MT23108 H-3101 P1
+	 L1/P4 -> MT23108 H-3102 P1
+	 L2/P4 -> MT23108 H-3103 P1
+	 L3/P4 -> MT23108 H-3104 P1
+	 L4/P4 -> MT23108 H-3105 P1
+	 L5/P4 -> MT23108 H-3106 P1
+	 L6/P4 -> MT23108 H-3107 P1
+	 L7/P4 -> MT23108 H-3108 P1
+	 L8/P4 -> MT23108 H-3109 P1
+	 L9/P4 -> MT23108 H-3110 P1
+	 L10/P4 -> MT23108 H-3111 P1
+	 L11/P4 -> MT23108 H-3112 P1
+	 L12/P4 -> MT23108 H-3113 P1
+	 L1/P5 -> MT23108 H-3114 P1
+	 L2/P5 -> MT23108 H-3115 P1
+	 L3/P5 -> MT23108 H-3116 P1
+	 L4/P5 -> MT23108 H-3117 P1
+	 L5/P5 -> MT23108 H-3118 P1
+	 L6/P5 -> MT23108 H-3119 P1
+	 L7/P5 -> MT23108 H-3120 P1
+	 L8/P5 -> MT23108 H-3121 P1
+	 L9/P5 -> MT23108 H-3122 P1
+	 L10/P5 -> MT23108 H-3123 P1
+	 L11/P5 -> MT23108 H-3124 P1
+	 L12/P5 -> MT23108 H-3125 P1
+	 L1/P6 -> MT23108 H-3126 P1
+	 L2/P6 -> MT23108 H-3127 P1
+	 L3/P6 -> MT23108 H-3128 P1
+	 L4/P6 -> MT23108 H-3129 P1
+	 L5/P6 -> MT23108 H-3130 P1
+	 L6/P6 -> MT23108 H-3131 P1
+	 L7/P6 -> MT23108 H-3132 P1
+	 L8/P6 -> MT23108 H-3133 P1
+	 L9/P6 -> MT23108 H-3134 P1
+	 L10/P6 -> MT23108 H-3135 P1
+	 L11/P6 -> MT23108 H-3136 P1
+	 L12/P6 -> MT23108 H-3137 P1
+	 L1/P7 -> MT23108 H-3138 P1
+	 L2/P7 -> MT23108 H-3139 P1
+	 L3/P7 -> MT23108 H-3140 P1
+	 L4/P7 -> MT23108 H-3141 P1
+	 L5/P7 -> MT23108 H-3142 P1
+	 L6/P7 -> MT23108 H-3143 P1
+	 L7/P7 -> MT23108 H-3144 P1
+	 L8/P7 -> MT23108 H-3145 P1
+	 L9/P7 -> MT23108 H-3146 P1
+	 L10/P7 -> MT23108 H-3147 P1
+	 L11/P7 -> MT23108 H-3148 P1
+	 L12/P7 -> MT23108 H-3149 P1
+	 L1/P8 -> MT23108 H-3150 P1
+	 L2/P8 -> MT23108 H-3151 P1
+	 L3/P8 -> MT23108 H-3152 P1
+	 L4/P8 -> MT23108 H-3153 P1
+	 L5/P8 -> MT23108 H-3154 P1
+	 L6/P8 -> MT23108 H-3155 P1
+	 L7/P8 -> MT23108 H-3156 P1
+	 L8/P8 -> MT23108 H-3157 P1
+	 L9/P8 -> MT23108 H-3158 P1
+	 L10/P8 -> MT23108 H-3159 P1
+	 L11/P8 -> MT23108 H-3160 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P4
+	 L2/P9 -> MTS14400 SL2-1 L10/P4
+	 L3/P9 -> MTS14400 SL2-2 L9/P4
+	 L4/P9 -> MTS14400 SL2-2 L10/P4
+	 L5/P9 -> MTS14400 SL2-3 L9/P4
+	 L6/P9 -> MTS14400 SL2-3 L10/P4
+	 L7/P9 -> MTS14400 SL2-4 L9/P4
+	 L8/P9 -> MTS14400 SL2-4 L10/P4
+	 L9/P9 -> MTS14400 SL2-5 L9/P4
+	 L10/P9 -> MTS14400 SL2-5 L10/P4
+	 L11/P9 -> MTS14400 SL2-6 L9/P4
+	 L12/P9 -> MTS14400 SL2-6 L10/P4
+	 L1/P10 -> MTS14400 SL2-7 L9/P4
+	 L2/P10 -> MTS14400 SL2-7 L10/P4
+	 L3/P10 -> MTS14400 SL2-8 L9/P4
+	 L4/P10 -> MTS14400 SL2-8 L10/P4
+	 L5/P10 -> MTS14400 SL2-9 L9/P4
+	 L6/P10 -> MTS14400 SL2-9 L10/P4
+	 L7/P10 -> MTS14400 SL2-10 L9/P4
+	 L8/P10 -> MTS14400 SL2-11 L9/P4
+	 L9/P10 -> MTS14400 SL2-12 L9/P4
+	 L10/P10 -> MTS14400 SL2-13 L9/P4
+	 L11/P10 -> MTS14400 SL2-14 L9/P4
+	 L12/P10 -> MTS14400 SL2-15 L9/P4
+	 L1/P11 -> MTS14400 SL2-16 L9/P4
+	 L2/P11 -> MTS14400 SL2-17 L9/P4
+	 L3/P11 -> MTS14400 SL2-18 L9/P4
+	 L4/P11 -> MTS14400 SL2-19 L9/P4
+	 L5/P11 -> MTS14400 SL2-20 L9/P4
+	 L6/P11 -> MTS14400 SL2-21 L9/P4
+	 L7/P11 -> MTS14400 SL2-22 L9/P4
+	 L8/P11 -> MTS14400 SL2-23 L9/P4
+	 L9/P11 -> MTS14400 SL2-24 L9/P4
+	 L10/P11 -> MTS14400 SL2-25 L9/P4
+	 L11/P11 -> MTS14400 SL2-26 L9/P4
+	 L12/P11 -> MTS14400 SL2-27 L9/P4
+	 L1/P12 -> MTS14400 SL2-28 L9/P4
+	 L2/P12 -> MTS14400 SL2-29 L9/P4
+	 L3/P12 -> MTS14400 SL2-30 L9/P4
+	 L4/P12 -> MTS14400 SL2-31 L9/P4
+	 L5/P12 -> MTS14400 SL2-32 L8/P4
+	 L6/P12 -> MTS14400 SL2-32 L9/P4
+	 L7/P12 -> MTS14400 SL2-33 L8/P4
+	 L8/P12 -> MTS14400 SL2-33 L9/P4
+	 L9/P12 -> MTS14400 SL2-34 L8/P4
+	 L10/P12 -> MTS14400 SL2-34 L9/P4
+	 L11/P12 -> MTS14400 SL2-35 L8/P4
+	 L12/P12 -> MTS14400 SL2-35 L9/P4
+
+MTS14400 SL1-34
+	 L1/P1 -> MT23108 H-3161 P1
+	 L2/P1 -> MT23108 H-3162 P1
+	 L3/P1 -> MT23108 H-3163 P1
+	 L4/P1 -> MT23108 H-3164 P1
+	 L5/P1 -> MT23108 H-3165 P1
+	 L6/P1 -> MT23108 H-3166 P1
+	 L7/P1 -> MT23108 H-3167 P1
+	 L8/P1 -> MT23108 H-3168 P1
+	 L9/P1 -> MT23108 H-3169 P1
+	 L10/P1 -> MT23108 H-3170 P1
+	 L11/P1 -> MT23108 H-3171 P1
+	 L12/P1 -> MT23108 H-3172 P1
+	 L1/P2 -> MT23108 H-3173 P1
+	 L2/P2 -> MT23108 H-3174 P1
+	 L3/P2 -> MT23108 H-3175 P1
+	 L4/P2 -> MT23108 H-3176 P1
+	 L5/P2 -> MT23108 H-3177 P1
+	 L6/P2 -> MT23108 H-3178 P1
+	 L7/P2 -> MT23108 H-3179 P1
+	 L8/P2 -> MT23108 H-3180 P1
+	 L9/P2 -> MT23108 H-3181 P1
+	 L10/P2 -> MT23108 H-3182 P1
+	 L11/P2 -> MT23108 H-3183 P1
+	 L12/P2 -> MT23108 H-3184 P1
+	 L1/P3 -> MT23108 H-3185 P1
+	 L2/P3 -> MT23108 H-3186 P1
+	 L3/P3 -> MT23108 H-3187 P1
+	 L4/P3 -> MT23108 H-3188 P1
+	 L5/P3 -> MT23108 H-3189 P1
+	 L6/P3 -> MT23108 H-3190 P1
+	 L7/P3 -> MT23108 H-3191 P1
+	 L8/P3 -> MT23108 H-3192 P1
+	 L9/P3 -> MT23108 H-3193 P1
+	 L10/P3 -> MT23108 H-3194 P1
+	 L11/P3 -> MT23108 H-3195 P1
+	 L12/P3 -> MT23108 H-3196 P1
+	 L1/P4 -> MT23108 H-3197 P1
+	 L2/P4 -> MT23108 H-3198 P1
+	 L3/P4 -> MT23108 H-3199 P1
+	 L4/P4 -> MT23108 H-3200 P1
+	 L5/P4 -> MT23108 H-3201 P1
+	 L6/P4 -> MT23108 H-3202 P1
+	 L7/P4 -> MT23108 H-3203 P1
+	 L8/P4 -> MT23108 H-3204 P1
+	 L9/P4 -> MT23108 H-3205 P1
+	 L10/P4 -> MT23108 H-3206 P1
+	 L11/P4 -> MT23108 H-3207 P1
+	 L12/P4 -> MT23108 H-3208 P1
+	 L1/P5 -> MT23108 H-3209 P1
+	 L2/P5 -> MT23108 H-3210 P1
+	 L3/P5 -> MT23108 H-3211 P1
+	 L4/P5 -> MT23108 H-3212 P1
+	 L5/P5 -> MT23108 H-3213 P1
+	 L6/P5 -> MT23108 H-3214 P1
+	 L7/P5 -> MT23108 H-3215 P1
+	 L8/P5 -> MT23108 H-3216 P1
+	 L9/P5 -> MT23108 H-3217 P1
+	 L10/P5 -> MT23108 H-3218 P1
+	 L11/P5 -> MT23108 H-3219 P1
+	 L12/P5 -> MT23108 H-3220 P1
+	 L1/P6 -> MT23108 H-3221 P1
+	 L2/P6 -> MT23108 H-3222 P1
+	 L3/P6 -> MT23108 H-3223 P1
+	 L4/P6 -> MT23108 H-3224 P1
+	 L5/P6 -> MT23108 H-3225 P1
+	 L6/P6 -> MT23108 H-3226 P1
+	 L7/P6 -> MT23108 H-3227 P1
+	 L8/P6 -> MT23108 H-3228 P1
+	 L9/P6 -> MT23108 H-3229 P1
+	 L10/P6 -> MT23108 H-3230 P1
+	 L11/P6 -> MT23108 H-3231 P1
+	 L12/P6 -> MT23108 H-3232 P1
+	 L1/P7 -> MT23108 H-3233 P1
+	 L2/P7 -> MT23108 H-3234 P1
+	 L3/P7 -> MT23108 H-3235 P1
+	 L4/P7 -> MT23108 H-3236 P1
+	 L5/P7 -> MT23108 H-3237 P1
+	 L6/P7 -> MT23108 H-3238 P1
+	 L7/P7 -> MT23108 H-3239 P1
+	 L8/P7 -> MT23108 H-3240 P1
+	 L9/P7 -> MT23108 H-3241 P1
+	 L10/P7 -> MT23108 H-3242 P1
+	 L11/P7 -> MT23108 H-3243 P1
+	 L12/P7 -> MT23108 H-3244 P1
+	 L1/P8 -> MT23108 H-3245 P1
+	 L2/P8 -> MT23108 H-3246 P1
+	 L3/P8 -> MT23108 H-3247 P1
+	 L4/P8 -> MT23108 H-3248 P1
+	 L5/P8 -> MT23108 H-3249 P1
+	 L6/P8 -> MT23108 H-3250 P1
+	 L7/P8 -> MT23108 H-3251 P1
+	 L8/P8 -> MT23108 H-3252 P1
+	 L9/P8 -> MT23108 H-3253 P1
+	 L10/P8 -> MT23108 H-3254 P1
+	 L11/P8 -> MT23108 H-3255 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P4
+	 L2/P9 -> MTS14400 SL2-2 L11/P4
+	 L3/P9 -> MTS14400 SL2-3 L11/P4
+	 L4/P9 -> MTS14400 SL2-4 L11/P4
+	 L5/P9 -> MTS14400 SL2-5 L11/P4
+	 L6/P9 -> MTS14400 SL2-6 L11/P4
+	 L7/P9 -> MTS14400 SL2-7 L11/P4
+	 L8/P9 -> MTS14400 SL2-8 L11/P4
+	 L9/P9 -> MTS14400 SL2-9 L11/P4
+	 L10/P9 -> MTS14400 SL2-10 L10/P4
+	 L11/P9 -> MTS14400 SL2-10 L11/P4
+	 L12/P9 -> MTS14400 SL2-11 L10/P4
+	 L1/P10 -> MTS14400 SL2-11 L11/P4
+	 L2/P10 -> MTS14400 SL2-12 L10/P4
+	 L3/P10 -> MTS14400 SL2-12 L11/P4
+	 L4/P10 -> MTS14400 SL2-13 L10/P4
+	 L5/P10 -> MTS14400 SL2-13 L11/P4
+	 L6/P10 -> MTS14400 SL2-14 L10/P4
+	 L7/P10 -> MTS14400 SL2-14 L11/P4
+	 L8/P10 -> MTS14400 SL2-15 L10/P4
+	 L9/P10 -> MTS14400 SL2-15 L11/P4
+	 L10/P10 -> MTS14400 SL2-16 L10/P4
+	 L11/P10 -> MTS14400 SL2-16 L11/P4
+	 L12/P10 -> MTS14400 SL2-17 L10/P4
+	 L1/P11 -> MTS14400 SL2-17 L11/P4
+	 L2/P11 -> MTS14400 SL2-18 L10/P4
+	 L3/P11 -> MTS14400 SL2-18 L11/P4
+	 L4/P11 -> MTS14400 SL2-19 L10/P4
+	 L5/P11 -> MTS14400 SL2-19 L11/P4
+	 L6/P11 -> MTS14400 SL2-20 L10/P4
+	 L7/P11 -> MTS14400 SL2-20 L11/P4
+	 L8/P11 -> MTS14400 SL2-21 L10/P4
+	 L9/P11 -> MTS14400 SL2-21 L11/P4
+	 L10/P11 -> MTS14400 SL2-22 L10/P4
+	 L11/P11 -> MTS14400 SL2-22 L11/P4
+	 L12/P11 -> MTS14400 SL2-23 L10/P4
+	 L1/P12 -> MTS14400 SL2-24 L10/P4
+	 L2/P12 -> MTS14400 SL2-25 L10/P4
+	 L3/P12 -> MTS14400 SL2-26 L10/P4
+	 L4/P12 -> MTS14400 SL2-27 L10/P4
+	 L5/P12 -> MTS14400 SL2-28 L10/P4
+	 L6/P12 -> MTS14400 SL2-29 L10/P4
+	 L7/P12 -> MTS14400 SL2-30 L10/P4
+	 L8/P12 -> MTS14400 SL2-31 L10/P4
+	 L9/P12 -> MTS14400 SL2-32 L10/P4
+	 L10/P12 -> MTS14400 SL2-33 L10/P4
+	 L11/P12 -> MTS14400 SL2-34 L10/P4
+	 L12/P12 -> MTS14400 SL2-35 L10/P4
+
+MTS14400 SL1-35
+	 L1/P1 -> MT23108 H-3256 P1
+	 L2/P1 -> MT23108 H-3257 P1
+	 L3/P1 -> MT23108 H-3258 P1
+	 L4/P1 -> MT23108 H-3259 P1
+	 L5/P1 -> MT23108 H-3260 P1
+	 L6/P1 -> MT23108 H-3261 P1
+	 L7/P1 -> MT23108 H-3262 P1
+	 L8/P1 -> MT23108 H-3263 P1
+	 L9/P1 -> MT23108 H-3264 P1
+	 L10/P1 -> MT23108 H-3265 P1
+	 L11/P1 -> MT23108 H-3266 P1
+	 L12/P1 -> MT23108 H-3267 P1
+	 L1/P2 -> MT23108 H-3268 P1
+	 L2/P2 -> MT23108 H-3269 P1
+	 L3/P2 -> MT23108 H-3270 P1
+	 L4/P2 -> MT23108 H-3271 P1
+	 L5/P2 -> MT23108 H-3272 P1
+	 L6/P2 -> MT23108 H-3273 P1
+	 L7/P2 -> MT23108 H-3274 P1
+	 L8/P2 -> MT23108 H-3275 P1
+	 L9/P2 -> MT23108 H-3276 P1
+	 L10/P2 -> MT23108 H-3277 P1
+	 L11/P2 -> MT23108 H-3278 P1
+	 L12/P2 -> MT23108 H-3279 P1
+	 L1/P3 -> MT23108 H-3280 P1
+	 L2/P3 -> MT23108 H-3281 P1
+	 L3/P3 -> MT23108 H-3282 P1
+	 L4/P3 -> MT23108 H-3283 P1
+	 L5/P3 -> MT23108 H-3284 P1
+	 L6/P3 -> MT23108 H-3285 P1
+	 L7/P3 -> MT23108 H-3286 P1
+	 L8/P3 -> MT23108 H-3287 P1
+	 L9/P3 -> MT23108 H-3288 P1
+	 L10/P3 -> MT23108 H-3289 P1
+	 L11/P3 -> MT23108 H-3290 P1
+	 L12/P3 -> MT23108 H-3291 P1
+	 L1/P4 -> MT23108 H-3292 P1
+	 L2/P4 -> MT23108 H-3293 P1
+	 L3/P4 -> MT23108 H-3294 P1
+	 L4/P4 -> MT23108 H-3295 P1
+	 L5/P4 -> MT23108 H-3296 P1
+	 L6/P4 -> MT23108 H-3297 P1
+	 L7/P4 -> MT23108 H-3298 P1
+	 L8/P4 -> MT23108 H-3299 P1
+	 L9/P4 -> MT23108 H-3300 P1
+	 L10/P4 -> MT23108 H-3301 P1
+	 L11/P4 -> MT23108 H-3302 P1
+	 L12/P4 -> MT23108 H-3303 P1
+	 L1/P5 -> MT23108 H-3304 P1
+	 L2/P5 -> MT23108 H-3305 P1
+	 L3/P5 -> MT23108 H-3306 P1
+	 L4/P5 -> MT23108 H-3307 P1
+	 L5/P5 -> MT23108 H-3308 P1
+	 L6/P5 -> MT23108 H-3309 P1
+	 L7/P5 -> MT23108 H-3310 P1
+	 L8/P5 -> MT23108 H-3311 P1
+	 L9/P5 -> MT23108 H-3312 P1
+	 L10/P5 -> MT23108 H-3313 P1
+	 L11/P5 -> MT23108 H-3314 P1
+	 L12/P5 -> MT23108 H-3315 P1
+	 L1/P6 -> MT23108 H-3316 P1
+	 L2/P6 -> MT23108 H-3317 P1
+	 L3/P6 -> MT23108 H-3318 P1
+	 L4/P6 -> MT23108 H-3319 P1
+	 L5/P6 -> MT23108 H-3320 P1
+	 L6/P6 -> MT23108 H-3321 P1
+	 L7/P6 -> MT23108 H-3322 P1
+	 L8/P6 -> MT23108 H-3323 P1
+	 L9/P6 -> MT23108 H-3324 P1
+	 L10/P6 -> MT23108 H-3325 P1
+	 L11/P6 -> MT23108 H-3326 P1
+	 L12/P6 -> MT23108 H-3327 P1
+	 L1/P7 -> MT23108 H-3328 P1
+	 L2/P7 -> MT23108 H-3329 P1
+	 L3/P7 -> MT23108 H-3330 P1
+	 L4/P7 -> MT23108 H-3331 P1
+	 L5/P7 -> MT23108 H-3332 P1
+	 L6/P7 -> MT23108 H-3333 P1
+	 L7/P7 -> MT23108 H-3334 P1
+	 L8/P7 -> MT23108 H-3335 P1
+	 L9/P7 -> MT23108 H-3336 P1
+	 L10/P7 -> MT23108 H-3337 P1
+	 L11/P7 -> MT23108 H-3338 P1
+	 L12/P7 -> MT23108 H-3339 P1
+	 L1/P8 -> MT23108 H-3340 P1
+	 L2/P8 -> MT23108 H-3341 P1
+	 L3/P8 -> MT23108 H-3342 P1
+	 L4/P8 -> MT23108 H-3343 P1
+	 L5/P8 -> MT23108 H-3344 P1
+	 L6/P8 -> MT23108 H-3345 P1
+	 L7/P8 -> MT23108 H-3346 P1
+	 L8/P8 -> MT23108 H-3347 P1
+	 L9/P8 -> MT23108 H-3348 P1
+	 L10/P8 -> MT23108 H-3349 P1
+	 L11/P8 -> MT23108 H-3350 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P4
+	 L2/P9 -> MTS14400 SL2-2 L12/P4
+	 L3/P9 -> MTS14400 SL2-3 L12/P4
+	 L4/P9 -> MTS14400 SL2-4 L12/P4
+	 L5/P9 -> MTS14400 SL2-5 L12/P4
+	 L6/P9 -> MTS14400 SL2-6 L12/P4
+	 L7/P9 -> MTS14400 SL2-7 L12/P4
+	 L8/P9 -> MTS14400 SL2-8 L12/P4
+	 L9/P9 -> MTS14400 SL2-9 L12/P4
+	 L10/P9 -> MTS14400 SL2-10 L12/P4
+	 L11/P9 -> MTS14400 SL2-11 L12/P4
+	 L12/P9 -> MTS14400 SL2-12 L12/P4
+	 L1/P10 -> MTS14400 SL2-13 L12/P4
+	 L2/P10 -> MTS14400 SL2-14 L12/P4
+	 L3/P10 -> MTS14400 SL2-15 L12/P4
+	 L4/P10 -> MTS14400 SL2-16 L12/P4
+	 L5/P10 -> MTS14400 SL2-17 L12/P4
+	 L6/P10 -> MTS14400 SL2-18 L12/P4
+	 L7/P10 -> MTS14400 SL2-19 L12/P4
+	 L8/P10 -> MTS14400 SL2-20 L12/P4
+	 L9/P10 -> MTS14400 SL2-21 L12/P4
+	 L10/P10 -> MTS14400 SL2-22 L12/P4
+	 L11/P10 -> MTS14400 SL2-23 L11/P4
+	 L12/P10 -> MTS14400 SL2-23 L12/P4
+	 L1/P11 -> MTS14400 SL2-24 L11/P4
+	 L2/P11 -> MTS14400 SL2-24 L12/P4
+	 L3/P11 -> MTS14400 SL2-25 L11/P4
+	 L4/P11 -> MTS14400 SL2-25 L12/P4
+	 L5/P11 -> MTS14400 SL2-26 L11/P4
+	 L6/P11 -> MTS14400 SL2-26 L12/P4
+	 L7/P11 -> MTS14400 SL2-27 L11/P4
+	 L8/P11 -> MTS14400 SL2-27 L12/P4
+	 L9/P11 -> MTS14400 SL2-28 L11/P4
+	 L10/P11 -> MTS14400 SL2-28 L12/P4
+	 L11/P11 -> MTS14400 SL2-29 L11/P4
+	 L12/P11 -> MTS14400 SL2-29 L12/P4
+	 L1/P12 -> MTS14400 SL2-30 L11/P4
+	 L2/P12 -> MTS14400 SL2-30 L12/P4
+	 L3/P12 -> MTS14400 SL2-31 L11/P4
+	 L4/P12 -> MTS14400 SL2-31 L12/P4
+	 L5/P12 -> MTS14400 SL2-32 L11/P4
+	 L6/P12 -> MTS14400 SL2-32 L12/P4
+	 L7/P12 -> MTS14400 SL2-33 L11/P4
+	 L8/P12 -> MTS14400 SL2-33 L12/P4
+	 L9/P12 -> MTS14400 SL2-34 L11/P4
+	 L10/P12 -> MTS14400 SL2-34 L12/P4
+	 L11/P12 -> MTS14400 SL2-35 L11/P4
+	 L12/P12 -> MTS14400 SL2-35 L12/P4
+
+MTS14400 SL1-36
+	 L1/P1 -> MT23108 H-3351 P1
+	 L2/P1 -> MT23108 H-3352 P1
+	 L3/P1 -> MT23108 H-3353 P1
+	 L4/P1 -> MT23108 H-3354 P1
+	 L5/P1 -> MT23108 H-3355 P1
+	 L6/P1 -> MT23108 H-3356 P1
+	 L7/P1 -> MT23108 H-3357 P1
+	 L8/P1 -> MT23108 H-3358 P1
+	 L9/P1 -> MT23108 H-3359 P1
+	 L10/P1 -> MT23108 H-3360 P1
+	 L11/P1 -> MT23108 H-3361 P1
+	 L12/P1 -> MT23108 H-3362 P1
+	 L1/P2 -> MT23108 H-3363 P1
+	 L2/P2 -> MT23108 H-3364 P1
+	 L3/P2 -> MT23108 H-3365 P1
+	 L4/P2 -> MT23108 H-3366 P1
+	 L5/P2 -> MT23108 H-3367 P1
+	 L6/P2 -> MT23108 H-3368 P1
+	 L7/P2 -> MT23108 H-3369 P1
+	 L8/P2 -> MT23108 H-3370 P1
+	 L9/P2 -> MT23108 H-3371 P1
+	 L10/P2 -> MT23108 H-3372 P1
+	 L11/P2 -> MT23108 H-3373 P1
+	 L12/P2 -> MT23108 H-3374 P1
+	 L1/P3 -> MT23108 H-3375 P1
+	 L2/P3 -> MT23108 H-3376 P1
+	 L3/P3 -> MT23108 H-3377 P1
+	 L4/P3 -> MT23108 H-3378 P1
+	 L5/P3 -> MT23108 H-3379 P1
+	 L6/P3 -> MT23108 H-3380 P1
+	 L7/P3 -> MT23108 H-3381 P1
+	 L8/P3 -> MT23108 H-3382 P1
+	 L9/P3 -> MT23108 H-3383 P1
+	 L10/P3 -> MT23108 H-3384 P1
+	 L11/P3 -> MT23108 H-3385 P1
+	 L12/P3 -> MT23108 H-3386 P1
+	 L1/P4 -> MT23108 H-3387 P1
+	 L2/P4 -> MT23108 H-3388 P1
+	 L3/P4 -> MT23108 H-3389 P1
+	 L4/P4 -> MT23108 H-3390 P1
+	 L5/P4 -> MT23108 H-3391 P1
+	 L6/P4 -> MT23108 H-3392 P1
+	 L7/P4 -> MT23108 H-3393 P1
+	 L8/P4 -> MT23108 H-3394 P1
+	 L9/P4 -> MT23108 H-3395 P1
+	 L10/P4 -> MT23108 H-3396 P1
+	 L11/P4 -> MT23108 H-3397 P1
+	 L12/P4 -> MT23108 H-3398 P1
+	 L1/P5 -> MT23108 H-3399 P1
+	 L2/P5 -> MT23108 H-3400 P1
+	 L3/P5 -> MT23108 H-3401 P1
+	 L4/P5 -> MT23108 H-3402 P1
+	 L5/P5 -> MT23108 H-3403 P1
+	 L6/P5 -> MT23108 H-3404 P1
+	 L7/P5 -> MT23108 H-3405 P1
+	 L8/P5 -> MT23108 H-3406 P1
+	 L9/P5 -> MT23108 H-3407 P1
+	 L10/P5 -> MT23108 H-3408 P1
+	 L11/P5 -> MT23108 H-3409 P1
+	 L12/P5 -> MT23108 H-3410 P1
+	 L1/P6 -> MT23108 H-3411 P1
+	 L2/P6 -> MT23108 H-3412 P1
+	 L3/P6 -> MT23108 H-3413 P1
+	 L4/P6 -> MT23108 H-3414 P1
+	 L5/P6 -> MT23108 H-3415 P1
+	 L6/P6 -> MT23108 H-3416 P1
+	 L7/P6 -> MT23108 H-3417 P1
+	 L8/P6 -> MT23108 H-3418 P1
+	 L9/P6 -> MT23108 H-3419 P1
+	 L10/P6 -> MT23108 H-3420 P1
+	 L11/P6 -> MT23108 H-3421 P1
+	 L12/P6 -> MT23108 H-3422 P1
+	 L1/P7 -> MT23108 H-3423 P1
+	 L2/P7 -> MT23108 H-3424 P1
+	 L3/P7 -> MT23108 H-3425 P1
+	 L4/P7 -> MT23108 H-3426 P1
+	 L5/P7 -> MT23108 H-3427 P1
+	 L6/P7 -> MT23108 H-3428 P1
+	 L7/P7 -> MT23108 H-3429 P1
+	 L8/P7 -> MT23108 H-3430 P1
+	 L9/P7 -> MT23108 H-3431 P1
+	 L10/P7 -> MT23108 H-3432 P1
+	 L11/P7 -> MT23108 H-3433 P1
+	 L12/P7 -> MT23108 H-3434 P1
+	 L1/P8 -> MT23108 H-3435 P1
+	 L2/P8 -> MT23108 H-3436 P1
+	 L3/P8 -> MT23108 H-3437 P1
+	 L4/P8 -> MT23108 H-3438 P1
+	 L5/P8 -> MT23108 H-3439 P1
+	 L6/P8 -> MT23108 H-3440 P1
+	 L7/P8 -> MT23108 H-3441 P1
+	 L8/P8 -> MT23108 H-3442 P1
+	 L9/P8 -> MT23108 H-3443 P1
+	 L10/P8 -> MT23108 H-3444 P1
+	 L11/P8 -> MT23108 H-3445 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P5
+	 L2/P9 -> MTS14400 SL2-1 L2/P5
+	 L3/P9 -> MTS14400 SL2-2 L1/P5
+	 L4/P9 -> MTS14400 SL2-2 L2/P5
+	 L5/P9 -> MTS14400 SL2-3 L1/P5
+	 L6/P9 -> MTS14400 SL2-3 L2/P5
+	 L7/P9 -> MTS14400 SL2-4 L1/P5
+	 L8/P9 -> MTS14400 SL2-4 L2/P5
+	 L9/P9 -> MTS14400 SL2-5 L1/P5
+	 L10/P9 -> MTS14400 SL2-5 L2/P5
+	 L11/P9 -> MTS14400 SL2-6 L1/P5
+	 L12/P9 -> MTS14400 SL2-6 L2/P5
+	 L1/P10 -> MTS14400 SL2-7 L1/P5
+	 L2/P10 -> MTS14400 SL2-7 L2/P5
+	 L3/P10 -> MTS14400 SL2-8 L1/P5
+	 L4/P10 -> MTS14400 SL2-8 L2/P5
+	 L5/P10 -> MTS14400 SL2-9 L1/P5
+	 L6/P10 -> MTS14400 SL2-9 L2/P5
+	 L7/P10 -> MTS14400 SL2-10 L1/P5
+	 L8/P10 -> MTS14400 SL2-10 L2/P5
+	 L9/P10 -> MTS14400 SL2-11 L1/P5
+	 L10/P10 -> MTS14400 SL2-11 L2/P5
+	 L11/P10 -> MTS14400 SL2-12 L1/P5
+	 L12/P10 -> MTS14400 SL2-12 L2/P5
+	 L1/P11 -> MTS14400 SL2-13 L1/P5
+	 L2/P11 -> MTS14400 SL2-13 L2/P5
+	 L3/P11 -> MTS14400 SL2-14 L1/P5
+	 L4/P11 -> MTS14400 SL2-15 L1/P5
+	 L5/P11 -> MTS14400 SL2-16 L1/P5
+	 L6/P11 -> MTS14400 SL2-17 L1/P5
+	 L7/P11 -> MTS14400 SL2-18 L1/P5
+	 L8/P11 -> MTS14400 SL2-19 L1/P5
+	 L9/P11 -> MTS14400 SL2-20 L1/P5
+	 L10/P11 -> MTS14400 SL2-21 L1/P5
+	 L11/P11 -> MTS14400 SL2-22 L1/P5
+	 L12/P11 -> MTS14400 SL2-23 L1/P5
+	 L1/P12 -> MTS14400 SL2-24 L1/P5
+	 L2/P12 -> MTS14400 SL2-25 L1/P5
+	 L3/P12 -> MTS14400 SL2-26 L1/P5
+	 L4/P12 -> MTS14400 SL2-27 L1/P5
+	 L5/P12 -> MTS14400 SL2-28 L1/P5
+	 L6/P12 -> MTS14400 SL2-29 L1/P5
+	 L7/P12 -> MTS14400 SL2-30 L1/P5
+	 L8/P12 -> MTS14400 SL2-31 L1/P5
+	 L9/P12 -> MTS14400 SL2-32 L1/P5
+	 L10/P12 -> MTS14400 SL2-33 L1/P5
+	 L11/P12 -> MTS14400 SL2-34 L1/P5
+	 L12/P12 -> MTS14400 SL2-35 L1/P5
+
+MTS14400 SL1-37
+	 L1/P1 -> MT23108 H-3446 P1
+	 L2/P1 -> MT23108 H-3447 P1
+	 L3/P1 -> MT23108 H-3448 P1
+	 L4/P1 -> MT23108 H-3449 P1
+	 L5/P1 -> MT23108 H-3450 P1
+	 L6/P1 -> MT23108 H-3451 P1
+	 L7/P1 -> MT23108 H-3452 P1
+	 L8/P1 -> MT23108 H-3453 P1
+	 L9/P1 -> MT23108 H-3454 P1
+	 L10/P1 -> MT23108 H-3455 P1
+	 L11/P1 -> MT23108 H-3456 P1
+	 L12/P1 -> MT23108 H-3457 P1
+	 L1/P2 -> MT23108 H-3458 P1
+	 L2/P2 -> MT23108 H-3459 P1
+	 L3/P2 -> MT23108 H-3460 P1
+	 L4/P2 -> MT23108 H-3461 P1
+	 L5/P2 -> MT23108 H-3462 P1
+	 L6/P2 -> MT23108 H-3463 P1
+	 L7/P2 -> MT23108 H-3464 P1
+	 L8/P2 -> MT23108 H-3465 P1
+	 L9/P2 -> MT23108 H-3466 P1
+	 L10/P2 -> MT23108 H-3467 P1
+	 L11/P2 -> MT23108 H-3468 P1
+	 L12/P2 -> MT23108 H-3469 P1
+	 L1/P3 -> MT23108 H-3470 P1
+	 L2/P3 -> MT23108 H-3471 P1
+	 L3/P3 -> MT23108 H-3472 P1
+	 L4/P3 -> MT23108 H-3473 P1
+	 L5/P3 -> MT23108 H-3474 P1
+	 L6/P3 -> MT23108 H-3475 P1
+	 L7/P3 -> MT23108 H-3476 P1
+	 L8/P3 -> MT23108 H-3477 P1
+	 L9/P3 -> MT23108 H-3478 P1
+	 L10/P3 -> MT23108 H-3479 P1
+	 L11/P3 -> MT23108 H-3480 P1
+	 L12/P3 -> MT23108 H-3481 P1
+	 L1/P4 -> MT23108 H-3482 P1
+	 L2/P4 -> MT23108 H-3483 P1
+	 L3/P4 -> MT23108 H-3484 P1
+	 L4/P4 -> MT23108 H-3485 P1
+	 L5/P4 -> MT23108 H-3486 P1
+	 L6/P4 -> MT23108 H-3487 P1
+	 L7/P4 -> MT23108 H-3488 P1
+	 L8/P4 -> MT23108 H-3489 P1
+	 L9/P4 -> MT23108 H-3490 P1
+	 L10/P4 -> MT23108 H-3491 P1
+	 L11/P4 -> MT23108 H-3492 P1
+	 L12/P4 -> MT23108 H-3493 P1
+	 L1/P5 -> MT23108 H-3494 P1
+	 L2/P5 -> MT23108 H-3495 P1
+	 L3/P5 -> MT23108 H-3496 P1
+	 L4/P5 -> MT23108 H-3497 P1
+	 L5/P5 -> MT23108 H-3498 P1
+	 L6/P5 -> MT23108 H-3499 P1
+	 L7/P5 -> MT23108 H-3500 P1
+	 L8/P5 -> MT23108 H-3501 P1
+	 L9/P5 -> MT23108 H-3502 P1
+	 L10/P5 -> MT23108 H-3503 P1
+	 L11/P5 -> MT23108 H-3504 P1
+	 L12/P5 -> MT23108 H-3505 P1
+	 L1/P6 -> MT23108 H-3506 P1
+	 L2/P6 -> MT23108 H-3507 P1
+	 L3/P6 -> MT23108 H-3508 P1
+	 L4/P6 -> MT23108 H-3509 P1
+	 L5/P6 -> MT23108 H-3510 P1
+	 L6/P6 -> MT23108 H-3511 P1
+	 L7/P6 -> MT23108 H-3512 P1
+	 L8/P6 -> MT23108 H-3513 P1
+	 L9/P6 -> MT23108 H-3514 P1
+	 L10/P6 -> MT23108 H-3515 P1
+	 L11/P6 -> MT23108 H-3516 P1
+	 L12/P6 -> MT23108 H-3517 P1
+	 L1/P7 -> MT23108 H-3518 P1
+	 L2/P7 -> MT23108 H-3519 P1
+	 L3/P7 -> MT23108 H-3520 P1
+	 L4/P7 -> MT23108 H-3521 P1
+	 L5/P7 -> MT23108 H-3522 P1
+	 L6/P7 -> MT23108 H-3523 P1
+	 L7/P7 -> MT23108 H-3524 P1
+	 L8/P7 -> MT23108 H-3525 P1
+	 L9/P7 -> MT23108 H-3526 P1
+	 L10/P7 -> MT23108 H-3527 P1
+	 L11/P7 -> MT23108 H-3528 P1
+	 L12/P7 -> MT23108 H-3529 P1
+	 L1/P8 -> MT23108 H-3530 P1
+	 L2/P8 -> MT23108 H-3531 P1
+	 L3/P8 -> MT23108 H-3532 P1
+	 L4/P8 -> MT23108 H-3533 P1
+	 L5/P8 -> MT23108 H-3534 P1
+	 L6/P8 -> MT23108 H-3535 P1
+	 L7/P8 -> MT23108 H-3536 P1
+	 L8/P8 -> MT23108 H-3537 P1
+	 L9/P8 -> MT23108 H-3538 P1
+	 L10/P8 -> MT23108 H-3539 P1
+	 L11/P8 -> MT23108 H-3540 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P5
+	 L2/P9 -> MTS14400 SL2-2 L3/P5
+	 L3/P9 -> MTS14400 SL2-3 L3/P5
+	 L4/P9 -> MTS14400 SL2-4 L3/P5
+	 L5/P9 -> MTS14400 SL2-5 L3/P5
+	 L6/P9 -> MTS14400 SL2-6 L3/P5
+	 L7/P9 -> MTS14400 SL2-7 L3/P5
+	 L8/P9 -> MTS14400 SL2-8 L3/P5
+	 L9/P9 -> MTS14400 SL2-9 L3/P5
+	 L10/P9 -> MTS14400 SL2-10 L3/P5
+	 L11/P9 -> MTS14400 SL2-11 L3/P5
+	 L12/P9 -> MTS14400 SL2-12 L3/P5
+	 L1/P10 -> MTS14400 SL2-13 L3/P5
+	 L2/P10 -> MTS14400 SL2-14 L2/P5
+	 L3/P10 -> MTS14400 SL2-14 L3/P5
+	 L4/P10 -> MTS14400 SL2-15 L2/P5
+	 L5/P10 -> MTS14400 SL2-15 L3/P5
+	 L6/P10 -> MTS14400 SL2-16 L2/P5
+	 L7/P10 -> MTS14400 SL2-16 L3/P5
+	 L8/P10 -> MTS14400 SL2-17 L2/P5
+	 L9/P10 -> MTS14400 SL2-17 L3/P5
+	 L10/P10 -> MTS14400 SL2-18 L2/P5
+	 L11/P10 -> MTS14400 SL2-18 L3/P5
+	 L12/P10 -> MTS14400 SL2-19 L2/P5
+	 L1/P11 -> MTS14400 SL2-19 L3/P5
+	 L2/P11 -> MTS14400 SL2-20 L2/P5
+	 L3/P11 -> MTS14400 SL2-20 L3/P5
+	 L4/P11 -> MTS14400 SL2-21 L2/P5
+	 L5/P11 -> MTS14400 SL2-21 L3/P5
+	 L6/P11 -> MTS14400 SL2-22 L2/P5
+	 L7/P11 -> MTS14400 SL2-22 L3/P5
+	 L8/P11 -> MTS14400 SL2-23 L2/P5
+	 L9/P11 -> MTS14400 SL2-23 L3/P5
+	 L10/P11 -> MTS14400 SL2-24 L2/P5
+	 L11/P11 -> MTS14400 SL2-24 L3/P5
+	 L12/P11 -> MTS14400 SL2-25 L2/P5
+	 L1/P12 -> MTS14400 SL2-25 L3/P5
+	 L2/P12 -> MTS14400 SL2-26 L2/P5
+	 L3/P12 -> MTS14400 SL2-26 L3/P5
+	 L4/P12 -> MTS14400 SL2-27 L2/P5
+	 L5/P12 -> MTS14400 SL2-28 L2/P5
+	 L6/P12 -> MTS14400 SL2-29 L2/P5
+	 L7/P12 -> MTS14400 SL2-30 L2/P5
+	 L8/P12 -> MTS14400 SL2-31 L2/P5
+	 L9/P12 -> MTS14400 SL2-32 L2/P5
+	 L10/P12 -> MTS14400 SL2-33 L2/P5
+	 L11/P12 -> MTS14400 SL2-34 L2/P5
+	 L12/P12 -> MTS14400 SL2-35 L2/P5
+
+MTS14400 SL1-38
+	 L1/P1 -> MT23108 H-3541 P1
+	 L2/P1 -> MT23108 H-3542 P1
+	 L3/P1 -> MT23108 H-3543 P1
+	 L4/P1 -> MT23108 H-3544 P1
+	 L5/P1 -> MT23108 H-3545 P1
+	 L6/P1 -> MT23108 H-3546 P1
+	 L7/P1 -> MT23108 H-3547 P1
+	 L8/P1 -> MT23108 H-3548 P1
+	 L9/P1 -> MT23108 H-3549 P1
+	 L10/P1 -> MT23108 H-3550 P1
+	 L11/P1 -> MT23108 H-3551 P1
+	 L12/P1 -> MT23108 H-3552 P1
+	 L1/P2 -> MT23108 H-3553 P1
+	 L2/P2 -> MT23108 H-3554 P1
+	 L3/P2 -> MT23108 H-3555 P1
+	 L4/P2 -> MT23108 H-3556 P1
+	 L5/P2 -> MT23108 H-3557 P1
+	 L6/P2 -> MT23108 H-3558 P1
+	 L7/P2 -> MT23108 H-3559 P1
+	 L8/P2 -> MT23108 H-3560 P1
+	 L9/P2 -> MT23108 H-3561 P1
+	 L10/P2 -> MT23108 H-3562 P1
+	 L11/P2 -> MT23108 H-3563 P1
+	 L12/P2 -> MT23108 H-3564 P1
+	 L1/P3 -> MT23108 H-3565 P1
+	 L2/P3 -> MT23108 H-3566 P1
+	 L3/P3 -> MT23108 H-3567 P1
+	 L4/P3 -> MT23108 H-3568 P1
+	 L5/P3 -> MT23108 H-3569 P1
+	 L6/P3 -> MT23108 H-3570 P1
+	 L7/P3 -> MT23108 H-3571 P1
+	 L8/P3 -> MT23108 H-3572 P1
+	 L9/P3 -> MT23108 H-3573 P1
+	 L10/P3 -> MT23108 H-3574 P1
+	 L11/P3 -> MT23108 H-3575 P1
+	 L12/P3 -> MT23108 H-3576 P1
+	 L1/P4 -> MT23108 H-3577 P1
+	 L2/P4 -> MT23108 H-3578 P1
+	 L3/P4 -> MT23108 H-3579 P1
+	 L4/P4 -> MT23108 H-3580 P1
+	 L5/P4 -> MT23108 H-3581 P1
+	 L6/P4 -> MT23108 H-3582 P1
+	 L7/P4 -> MT23108 H-3583 P1
+	 L8/P4 -> MT23108 H-3584 P1
+	 L9/P4 -> MT23108 H-3585 P1
+	 L10/P4 -> MT23108 H-3586 P1
+	 L11/P4 -> MT23108 H-3587 P1
+	 L12/P4 -> MT23108 H-3588 P1
+	 L1/P5 -> MT23108 H-3589 P1
+	 L2/P5 -> MT23108 H-3590 P1
+	 L3/P5 -> MT23108 H-3591 P1
+	 L4/P5 -> MT23108 H-3592 P1
+	 L5/P5 -> MT23108 H-3593 P1
+	 L6/P5 -> MT23108 H-3594 P1
+	 L7/P5 -> MT23108 H-3595 P1
+	 L8/P5 -> MT23108 H-3596 P1
+	 L9/P5 -> MT23108 H-3597 P1
+	 L10/P5 -> MT23108 H-3598 P1
+	 L11/P5 -> MT23108 H-3599 P1
+	 L12/P5 -> MT23108 H-3600 P1
+	 L1/P6 -> MT23108 H-3601 P1
+	 L2/P6 -> MT23108 H-3602 P1
+	 L3/P6 -> MT23108 H-3603 P1
+	 L4/P6 -> MT23108 H-3604 P1
+	 L5/P6 -> MT23108 H-3605 P1
+	 L6/P6 -> MT23108 H-3606 P1
+	 L7/P6 -> MT23108 H-3607 P1
+	 L8/P6 -> MT23108 H-3608 P1
+	 L9/P6 -> MT23108 H-3609 P1
+	 L10/P6 -> MT23108 H-3610 P1
+	 L11/P6 -> MT23108 H-3611 P1
+	 L12/P6 -> MT23108 H-3612 P1
+	 L1/P7 -> MT23108 H-3613 P1
+	 L2/P7 -> MT23108 H-3614 P1
+	 L3/P7 -> MT23108 H-3615 P1
+	 L4/P7 -> MT23108 H-3616 P1
+	 L5/P7 -> MT23108 H-3617 P1
+	 L6/P7 -> MT23108 H-3618 P1
+	 L7/P7 -> MT23108 H-3619 P1
+	 L8/P7 -> MT23108 H-3620 P1
+	 L9/P7 -> MT23108 H-3621 P1
+	 L10/P7 -> MT23108 H-3622 P1
+	 L11/P7 -> MT23108 H-3623 P1
+	 L12/P7 -> MT23108 H-3624 P1
+	 L1/P8 -> MT23108 H-3625 P1
+	 L2/P8 -> MT23108 H-3626 P1
+	 L3/P8 -> MT23108 H-3627 P1
+	 L4/P8 -> MT23108 H-3628 P1
+	 L5/P8 -> MT23108 H-3629 P1
+	 L6/P8 -> MT23108 H-3630 P1
+	 L7/P8 -> MT23108 H-3631 P1
+	 L8/P8 -> MT23108 H-3632 P1
+	 L9/P8 -> MT23108 H-3633 P1
+	 L10/P8 -> MT23108 H-3634 P1
+	 L11/P8 -> MT23108 H-3635 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P5
+	 L2/P9 -> MTS14400 SL2-1 L5/P5
+	 L3/P9 -> MTS14400 SL2-2 L4/P5
+	 L4/P9 -> MTS14400 SL2-2 L5/P5
+	 L5/P9 -> MTS14400 SL2-3 L4/P5
+	 L6/P9 -> MTS14400 SL2-3 L5/P5
+	 L7/P9 -> MTS14400 SL2-4 L4/P5
+	 L8/P9 -> MTS14400 SL2-4 L5/P5
+	 L9/P9 -> MTS14400 SL2-5 L4/P5
+	 L10/P9 -> MTS14400 SL2-6 L4/P5
+	 L11/P9 -> MTS14400 SL2-7 L4/P5
+	 L12/P9 -> MTS14400 SL2-8 L4/P5
+	 L1/P10 -> MTS14400 SL2-9 L4/P5
+	 L2/P10 -> MTS14400 SL2-10 L4/P5
+	 L3/P10 -> MTS14400 SL2-11 L4/P5
+	 L4/P10 -> MTS14400 SL2-12 L4/P5
+	 L5/P10 -> MTS14400 SL2-13 L4/P5
+	 L6/P10 -> MTS14400 SL2-14 L4/P5
+	 L7/P10 -> MTS14400 SL2-15 L4/P5
+	 L8/P10 -> MTS14400 SL2-16 L4/P5
+	 L9/P10 -> MTS14400 SL2-17 L4/P5
+	 L10/P10 -> MTS14400 SL2-18 L4/P5
+	 L11/P10 -> MTS14400 SL2-19 L4/P5
+	 L12/P10 -> MTS14400 SL2-20 L4/P5
+	 L1/P11 -> MTS14400 SL2-21 L4/P5
+	 L2/P11 -> MTS14400 SL2-22 L4/P5
+	 L3/P11 -> MTS14400 SL2-23 L4/P5
+	 L4/P11 -> MTS14400 SL2-24 L4/P5
+	 L5/P11 -> MTS14400 SL2-25 L4/P5
+	 L6/P11 -> MTS14400 SL2-26 L4/P5
+	 L7/P11 -> MTS14400 SL2-27 L3/P5
+	 L8/P11 -> MTS14400 SL2-27 L4/P5
+	 L9/P11 -> MTS14400 SL2-28 L3/P5
+	 L10/P11 -> MTS14400 SL2-28 L4/P5
+	 L11/P11 -> MTS14400 SL2-29 L3/P5
+	 L12/P11 -> MTS14400 SL2-29 L4/P5
+	 L1/P12 -> MTS14400 SL2-30 L3/P5
+	 L2/P12 -> MTS14400 SL2-30 L4/P5
+	 L3/P12 -> MTS14400 SL2-31 L3/P5
+	 L4/P12 -> MTS14400 SL2-31 L4/P5
+	 L5/P12 -> MTS14400 SL2-32 L3/P5
+	 L6/P12 -> MTS14400 SL2-32 L4/P5
+	 L7/P12 -> MTS14400 SL2-33 L3/P5
+	 L8/P12 -> MTS14400 SL2-33 L4/P5
+	 L9/P12 -> MTS14400 SL2-34 L3/P5
+	 L10/P12 -> MTS14400 SL2-34 L4/P5
+	 L11/P12 -> MTS14400 SL2-35 L3/P5
+	 L12/P12 -> MTS14400 SL2-35 L4/P5
+
+MTS14400 SL1-39
+	 L1/P1 -> MT23108 H-3636 P1
+	 L2/P1 -> MT23108 H-3637 P1
+	 L3/P1 -> MT23108 H-3638 P1
+	 L4/P1 -> MT23108 H-3639 P1
+	 L5/P1 -> MT23108 H-3640 P1
+	 L6/P1 -> MT23108 H-3641 P1
+	 L7/P1 -> MT23108 H-3642 P1
+	 L8/P1 -> MT23108 H-3643 P1
+	 L9/P1 -> MT23108 H-3644 P1
+	 L10/P1 -> MT23108 H-3645 P1
+	 L11/P1 -> MT23108 H-3646 P1
+	 L12/P1 -> MT23108 H-3647 P1
+	 L1/P2 -> MT23108 H-3648 P1
+	 L2/P2 -> MT23108 H-3649 P1
+	 L3/P2 -> MT23108 H-3650 P1
+	 L4/P2 -> MT23108 H-3651 P1
+	 L5/P2 -> MT23108 H-3652 P1
+	 L6/P2 -> MT23108 H-3653 P1
+	 L7/P2 -> MT23108 H-3654 P1
+	 L8/P2 -> MT23108 H-3655 P1
+	 L9/P2 -> MT23108 H-3656 P1
+	 L10/P2 -> MT23108 H-3657 P1
+	 L11/P2 -> MT23108 H-3658 P1
+	 L12/P2 -> MT23108 H-3659 P1
+	 L1/P3 -> MT23108 H-3660 P1
+	 L2/P3 -> MT23108 H-3661 P1
+	 L3/P3 -> MT23108 H-3662 P1
+	 L4/P3 -> MT23108 H-3663 P1
+	 L5/P3 -> MT23108 H-3664 P1
+	 L6/P3 -> MT23108 H-3665 P1
+	 L7/P3 -> MT23108 H-3666 P1
+	 L8/P3 -> MT23108 H-3667 P1
+	 L9/P3 -> MT23108 H-3668 P1
+	 L10/P3 -> MT23108 H-3669 P1
+	 L11/P3 -> MT23108 H-3670 P1
+	 L12/P3 -> MT23108 H-3671 P1
+	 L1/P4 -> MT23108 H-3672 P1
+	 L2/P4 -> MT23108 H-3673 P1
+	 L3/P4 -> MT23108 H-3674 P1
+	 L4/P4 -> MT23108 H-3675 P1
+	 L5/P4 -> MT23108 H-3676 P1
+	 L6/P4 -> MT23108 H-3677 P1
+	 L7/P4 -> MT23108 H-3678 P1
+	 L8/P4 -> MT23108 H-3679 P1
+	 L9/P4 -> MT23108 H-3680 P1
+	 L10/P4 -> MT23108 H-3681 P1
+	 L11/P4 -> MT23108 H-3682 P1
+	 L12/P4 -> MT23108 H-3683 P1
+	 L1/P5 -> MT23108 H-3684 P1
+	 L2/P5 -> MT23108 H-3685 P1
+	 L3/P5 -> MT23108 H-3686 P1
+	 L4/P5 -> MT23108 H-3687 P1
+	 L5/P5 -> MT23108 H-3688 P1
+	 L6/P5 -> MT23108 H-3689 P1
+	 L7/P5 -> MT23108 H-3690 P1
+	 L8/P5 -> MT23108 H-3691 P1
+	 L9/P5 -> MT23108 H-3692 P1
+	 L10/P5 -> MT23108 H-3693 P1
+	 L11/P5 -> MT23108 H-3694 P1
+	 L12/P5 -> MT23108 H-3695 P1
+	 L1/P6 -> MT23108 H-3696 P1
+	 L2/P6 -> MT23108 H-3697 P1
+	 L3/P6 -> MT23108 H-3698 P1
+	 L4/P6 -> MT23108 H-3699 P1
+	 L5/P6 -> MT23108 H-3700 P1
+	 L6/P6 -> MT23108 H-3701 P1
+	 L7/P6 -> MT23108 H-3702 P1
+	 L8/P6 -> MT23108 H-3703 P1
+	 L9/P6 -> MT23108 H-3704 P1
+	 L10/P6 -> MT23108 H-3705 P1
+	 L11/P6 -> MT23108 H-3706 P1
+	 L12/P6 -> MT23108 H-3707 P1
+	 L1/P7 -> MT23108 H-3708 P1
+	 L2/P7 -> MT23108 H-3709 P1
+	 L3/P7 -> MT23108 H-3710 P1
+	 L4/P7 -> MT23108 H-3711 P1
+	 L5/P7 -> MT23108 H-3712 P1
+	 L6/P7 -> MT23108 H-3713 P1
+	 L7/P7 -> MT23108 H-3714 P1
+	 L8/P7 -> MT23108 H-3715 P1
+	 L9/P7 -> MT23108 H-3716 P1
+	 L10/P7 -> MT23108 H-3717 P1
+	 L11/P7 -> MT23108 H-3718 P1
+	 L12/P7 -> MT23108 H-3719 P1
+	 L1/P8 -> MT23108 H-3720 P1
+	 L2/P8 -> MT23108 H-3721 P1
+	 L3/P8 -> MT23108 H-3722 P1
+	 L4/P8 -> MT23108 H-3723 P1
+	 L5/P8 -> MT23108 H-3724 P1
+	 L6/P8 -> MT23108 H-3725 P1
+	 L7/P8 -> MT23108 H-3726 P1
+	 L8/P8 -> MT23108 H-3727 P1
+	 L9/P8 -> MT23108 H-3728 P1
+	 L10/P8 -> MT23108 H-3729 P1
+	 L11/P8 -> MT23108 H-3730 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P5
+	 L2/P9 -> MTS14400 SL2-2 L6/P5
+	 L3/P9 -> MTS14400 SL2-3 L6/P5
+	 L4/P9 -> MTS14400 SL2-4 L6/P5
+	 L5/P9 -> MTS14400 SL2-5 L5/P5
+	 L6/P9 -> MTS14400 SL2-5 L6/P5
+	 L7/P9 -> MTS14400 SL2-6 L5/P5
+	 L8/P9 -> MTS14400 SL2-6 L6/P5
+	 L9/P9 -> MTS14400 SL2-7 L5/P5
+	 L10/P9 -> MTS14400 SL2-7 L6/P5
+	 L11/P9 -> MTS14400 SL2-8 L5/P5
+	 L12/P9 -> MTS14400 SL2-8 L6/P5
+	 L1/P10 -> MTS14400 SL2-9 L5/P5
+	 L2/P10 -> MTS14400 SL2-9 L6/P5
+	 L3/P10 -> MTS14400 SL2-10 L5/P5
+	 L4/P10 -> MTS14400 SL2-10 L6/P5
+	 L5/P10 -> MTS14400 SL2-11 L5/P5
+	 L6/P10 -> MTS14400 SL2-11 L6/P5
+	 L7/P10 -> MTS14400 SL2-12 L5/P5
+	 L8/P10 -> MTS14400 SL2-12 L6/P5
+	 L9/P10 -> MTS14400 SL2-13 L5/P5
+	 L10/P10 -> MTS14400 SL2-13 L6/P5
+	 L11/P10 -> MTS14400 SL2-14 L5/P5
+	 L12/P10 -> MTS14400 SL2-14 L6/P5
+	 L1/P11 -> MTS14400 SL2-15 L5/P5
+	 L2/P11 -> MTS14400 SL2-15 L6/P5
+	 L3/P11 -> MTS14400 SL2-16 L5/P5
+	 L4/P11 -> MTS14400 SL2-16 L6/P5
+	 L5/P11 -> MTS14400 SL2-17 L5/P5
+	 L6/P11 -> MTS14400 SL2-17 L6/P5
+	 L7/P11 -> MTS14400 SL2-18 L5/P5
+	 L8/P11 -> MTS14400 SL2-19 L5/P5
+	 L9/P11 -> MTS14400 SL2-20 L5/P5
+	 L10/P11 -> MTS14400 SL2-21 L5/P5
+	 L11/P11 -> MTS14400 SL2-22 L5/P5
+	 L12/P11 -> MTS14400 SL2-23 L5/P5
+	 L1/P12 -> MTS14400 SL2-24 L5/P5
+	 L2/P12 -> MTS14400 SL2-25 L5/P5
+	 L3/P12 -> MTS14400 SL2-26 L5/P5
+	 L4/P12 -> MTS14400 SL2-27 L5/P5
+	 L5/P12 -> MTS14400 SL2-28 L5/P5
+	 L6/P12 -> MTS14400 SL2-29 L5/P5
+	 L7/P12 -> MTS14400 SL2-30 L5/P5
+	 L8/P12 -> MTS14400 SL2-31 L5/P5
+	 L9/P12 -> MTS14400 SL2-32 L5/P5
+	 L10/P12 -> MTS14400 SL2-33 L5/P5
+	 L11/P12 -> MTS14400 SL2-34 L5/P5
+	 L12/P12 -> MTS14400 SL2-35 L5/P5
+
+MTS14400 SL1-40
+	 L1/P1 -> MT23108 H-3731 P1
+	 L2/P1 -> MT23108 H-3732 P1
+	 L3/P1 -> MT23108 H-3733 P1
+	 L4/P1 -> MT23108 H-3734 P1
+	 L5/P1 -> MT23108 H-3735 P1
+	 L6/P1 -> MT23108 H-3736 P1
+	 L7/P1 -> MT23108 H-3737 P1
+	 L8/P1 -> MT23108 H-3738 P1
+	 L9/P1 -> MT23108 H-3739 P1
+	 L10/P1 -> MT23108 H-3740 P1
+	 L11/P1 -> MT23108 H-3741 P1
+	 L12/P1 -> MT23108 H-3742 P1
+	 L1/P2 -> MT23108 H-3743 P1
+	 L2/P2 -> MT23108 H-3744 P1
+	 L3/P2 -> MT23108 H-3745 P1
+	 L4/P2 -> MT23108 H-3746 P1
+	 L5/P2 -> MT23108 H-3747 P1
+	 L6/P2 -> MT23108 H-3748 P1
+	 L7/P2 -> MT23108 H-3749 P1
+	 L8/P2 -> MT23108 H-3750 P1
+	 L9/P2 -> MT23108 H-3751 P1
+	 L10/P2 -> MT23108 H-3752 P1
+	 L11/P2 -> MT23108 H-3753 P1
+	 L12/P2 -> MT23108 H-3754 P1
+	 L1/P3 -> MT23108 H-3755 P1
+	 L2/P3 -> MT23108 H-3756 P1
+	 L3/P3 -> MT23108 H-3757 P1
+	 L4/P3 -> MT23108 H-3758 P1
+	 L5/P3 -> MT23108 H-3759 P1
+	 L6/P3 -> MT23108 H-3760 P1
+	 L7/P3 -> MT23108 H-3761 P1
+	 L8/P3 -> MT23108 H-3762 P1
+	 L9/P3 -> MT23108 H-3763 P1
+	 L10/P3 -> MT23108 H-3764 P1
+	 L11/P3 -> MT23108 H-3765 P1
+	 L12/P3 -> MT23108 H-3766 P1
+	 L1/P4 -> MT23108 H-3767 P1
+	 L2/P4 -> MT23108 H-3768 P1
+	 L3/P4 -> MT23108 H-3769 P1
+	 L4/P4 -> MT23108 H-3770 P1
+	 L5/P4 -> MT23108 H-3771 P1
+	 L6/P4 -> MT23108 H-3772 P1
+	 L7/P4 -> MT23108 H-3773 P1
+	 L8/P4 -> MT23108 H-3774 P1
+	 L9/P4 -> MT23108 H-3775 P1
+	 L10/P4 -> MT23108 H-3776 P1
+	 L11/P4 -> MT23108 H-3777 P1
+	 L12/P4 -> MT23108 H-3778 P1
+	 L1/P5 -> MT23108 H-3779 P1
+	 L2/P5 -> MT23108 H-3780 P1
+	 L3/P5 -> MT23108 H-3781 P1
+	 L4/P5 -> MT23108 H-3782 P1
+	 L5/P5 -> MT23108 H-3783 P1
+	 L6/P5 -> MT23108 H-3784 P1
+	 L7/P5 -> MT23108 H-3785 P1
+	 L8/P5 -> MT23108 H-3786 P1
+	 L9/P5 -> MT23108 H-3787 P1
+	 L10/P5 -> MT23108 H-3788 P1
+	 L11/P5 -> MT23108 H-3789 P1
+	 L12/P5 -> MT23108 H-3790 P1
+	 L1/P6 -> MT23108 H-3791 P1
+	 L2/P6 -> MT23108 H-3792 P1
+	 L3/P6 -> MT23108 H-3793 P1
+	 L4/P6 -> MT23108 H-3794 P1
+	 L5/P6 -> MT23108 H-3795 P1
+	 L6/P6 -> MT23108 H-3796 P1
+	 L7/P6 -> MT23108 H-3797 P1
+	 L8/P6 -> MT23108 H-3798 P1
+	 L9/P6 -> MT23108 H-3799 P1
+	 L10/P6 -> MT23108 H-3800 P1
+	 L11/P6 -> MT23108 H-3801 P1
+	 L12/P6 -> MT23108 H-3802 P1
+	 L1/P7 -> MT23108 H-3803 P1
+	 L2/P7 -> MT23108 H-3804 P1
+	 L3/P7 -> MT23108 H-3805 P1
+	 L4/P7 -> MT23108 H-3806 P1
+	 L5/P7 -> MT23108 H-3807 P1
+	 L6/P7 -> MT23108 H-3808 P1
+	 L7/P7 -> MT23108 H-3809 P1
+	 L8/P7 -> MT23108 H-3810 P1
+	 L9/P7 -> MT23108 H-3811 P1
+	 L10/P7 -> MT23108 H-3812 P1
+	 L11/P7 -> MT23108 H-3813 P1
+	 L12/P7 -> MT23108 H-3814 P1
+	 L1/P8 -> MT23108 H-3815 P1
+	 L2/P8 -> MT23108 H-3816 P1
+	 L3/P8 -> MT23108 H-3817 P1
+	 L4/P8 -> MT23108 H-3818 P1
+	 L5/P8 -> MT23108 H-3819 P1
+	 L6/P8 -> MT23108 H-3820 P1
+	 L7/P8 -> MT23108 H-3821 P1
+	 L8/P8 -> MT23108 H-3822 P1
+	 L9/P8 -> MT23108 H-3823 P1
+	 L10/P8 -> MT23108 H-3824 P1
+	 L11/P8 -> MT23108 H-3825 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P5
+	 L2/P9 -> MTS14400 SL2-2 L7/P5
+	 L3/P9 -> MTS14400 SL2-3 L7/P5
+	 L4/P9 -> MTS14400 SL2-4 L7/P5
+	 L5/P9 -> MTS14400 SL2-5 L7/P5
+	 L6/P9 -> MTS14400 SL2-6 L7/P5
+	 L7/P9 -> MTS14400 SL2-7 L7/P5
+	 L8/P9 -> MTS14400 SL2-8 L7/P5
+	 L9/P9 -> MTS14400 SL2-9 L7/P5
+	 L10/P9 -> MTS14400 SL2-10 L7/P5
+	 L11/P9 -> MTS14400 SL2-11 L7/P5
+	 L12/P9 -> MTS14400 SL2-12 L7/P5
+	 L1/P10 -> MTS14400 SL2-13 L7/P5
+	 L2/P10 -> MTS14400 SL2-14 L7/P5
+	 L3/P10 -> MTS14400 SL2-15 L7/P5
+	 L4/P10 -> MTS14400 SL2-16 L7/P5
+	 L5/P10 -> MTS14400 SL2-17 L7/P5
+	 L6/P10 -> MTS14400 SL2-18 L6/P5
+	 L7/P10 -> MTS14400 SL2-18 L7/P5
+	 L8/P10 -> MTS14400 SL2-19 L6/P5
+	 L9/P10 -> MTS14400 SL2-19 L7/P5
+	 L10/P10 -> MTS14400 SL2-20 L6/P5
+	 L11/P10 -> MTS14400 SL2-20 L7/P5
+	 L12/P10 -> MTS14400 SL2-21 L6/P5
+	 L1/P11 -> MTS14400 SL2-21 L7/P5
+	 L2/P11 -> MTS14400 SL2-22 L6/P5
+	 L3/P11 -> MTS14400 SL2-22 L7/P5
+	 L4/P11 -> MTS14400 SL2-23 L6/P5
+	 L5/P11 -> MTS14400 SL2-23 L7/P5
+	 L6/P11 -> MTS14400 SL2-24 L6/P5
+	 L7/P11 -> MTS14400 SL2-24 L7/P5
+	 L8/P11 -> MTS14400 SL2-25 L6/P5
+	 L9/P11 -> MTS14400 SL2-25 L7/P5
+	 L10/P11 -> MTS14400 SL2-26 L6/P5
+	 L11/P11 -> MTS14400 SL2-26 L7/P5
+	 L12/P11 -> MTS14400 SL2-27 L6/P5
+	 L1/P12 -> MTS14400 SL2-27 L7/P5
+	 L2/P12 -> MTS14400 SL2-28 L6/P5
+	 L3/P12 -> MTS14400 SL2-28 L7/P5
+	 L4/P12 -> MTS14400 SL2-29 L6/P5
+	 L5/P12 -> MTS14400 SL2-29 L7/P5
+	 L6/P12 -> MTS14400 SL2-30 L6/P5
+	 L7/P12 -> MTS14400 SL2-30 L7/P5
+	 L8/P12 -> MTS14400 SL2-31 L6/P5
+	 L9/P12 -> MTS14400 SL2-32 L6/P5
+	 L10/P12 -> MTS14400 SL2-33 L6/P5
+	 L11/P12 -> MTS14400 SL2-34 L6/P5
+	 L12/P12 -> MTS14400 SL2-35 L6/P5
+
+MTS14400 SL1-41
+	 L1/P1 -> MT23108 H-3826 P1
+	 L2/P1 -> MT23108 H-3827 P1
+	 L3/P1 -> MT23108 H-3828 P1
+	 L4/P1 -> MT23108 H-3829 P1
+	 L5/P1 -> MT23108 H-3830 P1
+	 L6/P1 -> MT23108 H-3831 P1
+	 L7/P1 -> MT23108 H-3832 P1
+	 L8/P1 -> MT23108 H-3833 P1
+	 L9/P1 -> MT23108 H-3834 P1
+	 L10/P1 -> MT23108 H-3835 P1
+	 L11/P1 -> MT23108 H-3836 P1
+	 L12/P1 -> MT23108 H-3837 P1
+	 L1/P2 -> MT23108 H-3838 P1
+	 L2/P2 -> MT23108 H-3839 P1
+	 L3/P2 -> MT23108 H-3840 P1
+	 L4/P2 -> MT23108 H-3841 P1
+	 L5/P2 -> MT23108 H-3842 P1
+	 L6/P2 -> MT23108 H-3843 P1
+	 L7/P2 -> MT23108 H-3844 P1
+	 L8/P2 -> MT23108 H-3845 P1
+	 L9/P2 -> MT23108 H-3846 P1
+	 L10/P2 -> MT23108 H-3847 P1
+	 L11/P2 -> MT23108 H-3848 P1
+	 L12/P2 -> MT23108 H-3849 P1
+	 L1/P3 -> MT23108 H-3850 P1
+	 L2/P3 -> MT23108 H-3851 P1
+	 L3/P3 -> MT23108 H-3852 P1
+	 L4/P3 -> MT23108 H-3853 P1
+	 L5/P3 -> MT23108 H-3854 P1
+	 L6/P3 -> MT23108 H-3855 P1
+	 L7/P3 -> MT23108 H-3856 P1
+	 L8/P3 -> MT23108 H-3857 P1
+	 L9/P3 -> MT23108 H-3858 P1
+	 L10/P3 -> MT23108 H-3859 P1
+	 L11/P3 -> MT23108 H-3860 P1
+	 L12/P3 -> MT23108 H-3861 P1
+	 L1/P4 -> MT23108 H-3862 P1
+	 L2/P4 -> MT23108 H-3863 P1
+	 L3/P4 -> MT23108 H-3864 P1
+	 L4/P4 -> MT23108 H-3865 P1
+	 L5/P4 -> MT23108 H-3866 P1
+	 L6/P4 -> MT23108 H-3867 P1
+	 L7/P4 -> MT23108 H-3868 P1
+	 L8/P4 -> MT23108 H-3869 P1
+	 L9/P4 -> MT23108 H-3870 P1
+	 L10/P4 -> MT23108 H-3871 P1
+	 L11/P4 -> MT23108 H-3872 P1
+	 L12/P4 -> MT23108 H-3873 P1
+	 L1/P5 -> MT23108 H-3874 P1
+	 L2/P5 -> MT23108 H-3875 P1
+	 L3/P5 -> MT23108 H-3876 P1
+	 L4/P5 -> MT23108 H-3877 P1
+	 L5/P5 -> MT23108 H-3878 P1
+	 L6/P5 -> MT23108 H-3879 P1
+	 L7/P5 -> MT23108 H-3880 P1
+	 L8/P5 -> MT23108 H-3881 P1
+	 L9/P5 -> MT23108 H-3882 P1
+	 L10/P5 -> MT23108 H-3883 P1
+	 L11/P5 -> MT23108 H-3884 P1
+	 L12/P5 -> MT23108 H-3885 P1
+	 L1/P6 -> MT23108 H-3886 P1
+	 L2/P6 -> MT23108 H-3887 P1
+	 L3/P6 -> MT23108 H-3888 P1
+	 L4/P6 -> MT23108 H-3889 P1
+	 L5/P6 -> MT23108 H-3890 P1
+	 L6/P6 -> MT23108 H-3891 P1
+	 L7/P6 -> MT23108 H-3892 P1
+	 L8/P6 -> MT23108 H-3893 P1
+	 L9/P6 -> MT23108 H-3894 P1
+	 L10/P6 -> MT23108 H-3895 P1
+	 L11/P6 -> MT23108 H-3896 P1
+	 L12/P6 -> MT23108 H-3897 P1
+	 L1/P7 -> MT23108 H-3898 P1
+	 L2/P7 -> MT23108 H-3899 P1
+	 L3/P7 -> MT23108 H-3900 P1
+	 L4/P7 -> MT23108 H-3901 P1
+	 L5/P7 -> MT23108 H-3902 P1
+	 L6/P7 -> MT23108 H-3903 P1
+	 L7/P7 -> MT23108 H-3904 P1
+	 L8/P7 -> MT23108 H-3905 P1
+	 L9/P7 -> MT23108 H-3906 P1
+	 L10/P7 -> MT23108 H-3907 P1
+	 L11/P7 -> MT23108 H-3908 P1
+	 L12/P7 -> MT23108 H-3909 P1
+	 L1/P8 -> MT23108 H-3910 P1
+	 L2/P8 -> MT23108 H-3911 P1
+	 L3/P8 -> MT23108 H-3912 P1
+	 L4/P8 -> MT23108 H-3913 P1
+	 L5/P8 -> MT23108 H-3914 P1
+	 L6/P8 -> MT23108 H-3915 P1
+	 L7/P8 -> MT23108 H-3916 P1
+	 L8/P8 -> MT23108 H-3917 P1
+	 L9/P8 -> MT23108 H-3918 P1
+	 L10/P8 -> MT23108 H-3919 P1
+	 L11/P8 -> MT23108 H-3920 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P5
+	 L2/P9 -> MTS14400 SL2-1 L9/P5
+	 L3/P9 -> MTS14400 SL2-2 L8/P5
+	 L4/P9 -> MTS14400 SL2-2 L9/P5
+	 L5/P9 -> MTS14400 SL2-3 L8/P5
+	 L6/P9 -> MTS14400 SL2-3 L9/P5
+	 L7/P9 -> MTS14400 SL2-4 L8/P5
+	 L8/P9 -> MTS14400 SL2-4 L9/P5
+	 L9/P9 -> MTS14400 SL2-5 L8/P5
+	 L10/P9 -> MTS14400 SL2-5 L9/P5
+	 L11/P9 -> MTS14400 SL2-6 L8/P5
+	 L12/P9 -> MTS14400 SL2-6 L9/P5
+	 L1/P10 -> MTS14400 SL2-7 L8/P5
+	 L2/P10 -> MTS14400 SL2-7 L9/P5
+	 L3/P10 -> MTS14400 SL2-8 L8/P5
+	 L4/P10 -> MTS14400 SL2-8 L9/P5
+	 L5/P10 -> MTS14400 SL2-9 L8/P5
+	 L6/P10 -> MTS14400 SL2-10 L8/P5
+	 L7/P10 -> MTS14400 SL2-11 L8/P5
+	 L8/P10 -> MTS14400 SL2-12 L8/P5
+	 L9/P10 -> MTS14400 SL2-13 L8/P5
+	 L10/P10 -> MTS14400 SL2-14 L8/P5
+	 L11/P10 -> MTS14400 SL2-15 L8/P5
+	 L12/P10 -> MTS14400 SL2-16 L8/P5
+	 L1/P11 -> MTS14400 SL2-17 L8/P5
+	 L2/P11 -> MTS14400 SL2-18 L8/P5
+	 L3/P11 -> MTS14400 SL2-19 L8/P5
+	 L4/P11 -> MTS14400 SL2-20 L8/P5
+	 L5/P11 -> MTS14400 SL2-21 L8/P5
+	 L6/P11 -> MTS14400 SL2-22 L8/P5
+	 L7/P11 -> MTS14400 SL2-23 L8/P5
+	 L8/P11 -> MTS14400 SL2-24 L8/P5
+	 L9/P11 -> MTS14400 SL2-25 L8/P5
+	 L10/P11 -> MTS14400 SL2-26 L8/P5
+	 L11/P11 -> MTS14400 SL2-27 L8/P5
+	 L12/P11 -> MTS14400 SL2-28 L8/P5
+	 L1/P12 -> MTS14400 SL2-29 L8/P5
+	 L2/P12 -> MTS14400 SL2-30 L8/P5
+	 L3/P12 -> MTS14400 SL2-31 L7/P5
+	 L4/P12 -> MTS14400 SL2-31 L8/P5
+	 L5/P12 -> MTS14400 SL2-32 L7/P5
+	 L6/P12 -> MTS14400 SL2-32 L8/P5
+	 L7/P12 -> MTS14400 SL2-33 L7/P5
+	 L8/P12 -> MTS14400 SL2-33 L8/P5
+	 L9/P12 -> MTS14400 SL2-34 L7/P5
+	 L10/P12 -> MTS14400 SL2-34 L8/P5
+	 L11/P12 -> MTS14400 SL2-35 L7/P5
+	 L12/P12 -> MTS14400 SL2-35 L8/P5
+
+MTS14400 SL1-42
+	 L1/P1 -> MT23108 H-3921 P1
+	 L2/P1 -> MT23108 H-3922 P1
+	 L3/P1 -> MT23108 H-3923 P1
+	 L4/P1 -> MT23108 H-3924 P1
+	 L5/P1 -> MT23108 H-3925 P1
+	 L6/P1 -> MT23108 H-3926 P1
+	 L7/P1 -> MT23108 H-3927 P1
+	 L8/P1 -> MT23108 H-3928 P1
+	 L9/P1 -> MT23108 H-3929 P1
+	 L10/P1 -> MT23108 H-3930 P1
+	 L11/P1 -> MT23108 H-3931 P1
+	 L12/P1 -> MT23108 H-3932 P1
+	 L1/P2 -> MT23108 H-3933 P1
+	 L2/P2 -> MT23108 H-3934 P1
+	 L3/P2 -> MT23108 H-3935 P1
+	 L4/P2 -> MT23108 H-3936 P1
+	 L5/P2 -> MT23108 H-3937 P1
+	 L6/P2 -> MT23108 H-3938 P1
+	 L7/P2 -> MT23108 H-3939 P1
+	 L8/P2 -> MT23108 H-3940 P1
+	 L9/P2 -> MT23108 H-3941 P1
+	 L10/P2 -> MT23108 H-3942 P1
+	 L11/P2 -> MT23108 H-3943 P1
+	 L12/P2 -> MT23108 H-3944 P1
+	 L1/P3 -> MT23108 H-3945 P1
+	 L2/P3 -> MT23108 H-3946 P1
+	 L3/P3 -> MT23108 H-3947 P1
+	 L4/P3 -> MT23108 H-3948 P1
+	 L5/P3 -> MT23108 H-3949 P1
+	 L6/P3 -> MT23108 H-3950 P1
+	 L7/P3 -> MT23108 H-3951 P1
+	 L8/P3 -> MT23108 H-3952 P1
+	 L9/P3 -> MT23108 H-3953 P1
+	 L10/P3 -> MT23108 H-3954 P1
+	 L11/P3 -> MT23108 H-3955 P1
+	 L12/P3 -> MT23108 H-3956 P1
+	 L1/P4 -> MT23108 H-3957 P1
+	 L2/P4 -> MT23108 H-3958 P1
+	 L3/P4 -> MT23108 H-3959 P1
+	 L4/P4 -> MT23108 H-3960 P1
+	 L5/P4 -> MT23108 H-3961 P1
+	 L6/P4 -> MT23108 H-3962 P1
+	 L7/P4 -> MT23108 H-3963 P1
+	 L8/P4 -> MT23108 H-3964 P1
+	 L9/P4 -> MT23108 H-3965 P1
+	 L10/P4 -> MT23108 H-3966 P1
+	 L11/P4 -> MT23108 H-3967 P1
+	 L12/P4 -> MT23108 H-3968 P1
+	 L1/P5 -> MT23108 H-3969 P1
+	 L2/P5 -> MT23108 H-3970 P1
+	 L3/P5 -> MT23108 H-3971 P1
+	 L4/P5 -> MT23108 H-3972 P1
+	 L5/P5 -> MT23108 H-3973 P1
+	 L6/P5 -> MT23108 H-3974 P1
+	 L7/P5 -> MT23108 H-3975 P1
+	 L8/P5 -> MT23108 H-3976 P1
+	 L9/P5 -> MT23108 H-3977 P1
+	 L10/P5 -> MT23108 H-3978 P1
+	 L11/P5 -> MT23108 H-3979 P1
+	 L12/P5 -> MT23108 H-3980 P1
+	 L1/P6 -> MT23108 H-3981 P1
+	 L2/P6 -> MT23108 H-3982 P1
+	 L3/P6 -> MT23108 H-3983 P1
+	 L4/P6 -> MT23108 H-3984 P1
+	 L5/P6 -> MT23108 H-3985 P1
+	 L6/P6 -> MT23108 H-3986 P1
+	 L7/P6 -> MT23108 H-3987 P1
+	 L8/P6 -> MT23108 H-3988 P1
+	 L9/P6 -> MT23108 H-3989 P1
+	 L10/P6 -> MT23108 H-3990 P1
+	 L11/P6 -> MT23108 H-3991 P1
+	 L12/P6 -> MT23108 H-3992 P1
+	 L1/P7 -> MT23108 H-3993 P1
+	 L2/P7 -> MT23108 H-3994 P1
+	 L3/P7 -> MT23108 H-3995 P1
+	 L4/P7 -> MT23108 H-3996 P1
+	 L5/P7 -> MT23108 H-3997 P1
+	 L6/P7 -> MT23108 H-3998 P1
+	 L7/P7 -> MT23108 H-3999 P1
+	 L8/P7 -> MT23108 H-4000 P1
+	 L9/P7 -> MT23108 H-4001 P1
+	 L10/P7 -> MT23108 H-4002 P1
+	 L11/P7 -> MT23108 H-4003 P1
+	 L12/P7 -> MT23108 H-4004 P1
+	 L1/P8 -> MT23108 H-4005 P1
+	 L2/P8 -> MT23108 H-4006 P1
+	 L3/P8 -> MT23108 H-4007 P1
+	 L4/P8 -> MT23108 H-4008 P1
+	 L5/P8 -> MT23108 H-4009 P1
+	 L6/P8 -> MT23108 H-4010 P1
+	 L7/P8 -> MT23108 H-4011 P1
+	 L8/P8 -> MT23108 H-4012 P1
+	 L9/P8 -> MT23108 H-4013 P1
+	 L10/P8 -> MT23108 H-4014 P1
+	 L11/P8 -> MT23108 H-4015 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P5
+	 L2/P9 -> MTS14400 SL2-2 L10/P5
+	 L3/P9 -> MTS14400 SL2-3 L10/P5
+	 L4/P9 -> MTS14400 SL2-4 L10/P5
+	 L5/P9 -> MTS14400 SL2-5 L10/P5
+	 L6/P9 -> MTS14400 SL2-6 L10/P5
+	 L7/P9 -> MTS14400 SL2-7 L10/P5
+	 L8/P9 -> MTS14400 SL2-8 L10/P5
+	 L9/P9 -> MTS14400 SL2-9 L9/P5
+	 L10/P9 -> MTS14400 SL2-9 L10/P5
+	 L11/P9 -> MTS14400 SL2-10 L9/P5
+	 L12/P9 -> MTS14400 SL2-10 L10/P5
+	 L1/P10 -> MTS14400 SL2-11 L9/P5
+	 L2/P10 -> MTS14400 SL2-11 L10/P5
+	 L3/P10 -> MTS14400 SL2-12 L9/P5
+	 L4/P10 -> MTS14400 SL2-12 L10/P5
+	 L5/P10 -> MTS14400 SL2-13 L9/P5
+	 L6/P10 -> MTS14400 SL2-13 L10/P5
+	 L7/P10 -> MTS14400 SL2-14 L9/P5
+	 L8/P10 -> MTS14400 SL2-14 L10/P5
+	 L9/P10 -> MTS14400 SL2-15 L9/P5
+	 L10/P10 -> MTS14400 SL2-15 L10/P5
+	 L11/P10 -> MTS14400 SL2-16 L9/P5
+	 L12/P10 -> MTS14400 SL2-16 L10/P5
+	 L1/P11 -> MTS14400 SL2-17 L9/P5
+	 L2/P11 -> MTS14400 SL2-17 L10/P5
+	 L3/P11 -> MTS14400 SL2-18 L9/P5
+	 L4/P11 -> MTS14400 SL2-18 L10/P5
+	 L5/P11 -> MTS14400 SL2-19 L9/P5
+	 L6/P11 -> MTS14400 SL2-19 L10/P5
+	 L7/P11 -> MTS14400 SL2-20 L9/P5
+	 L8/P11 -> MTS14400 SL2-20 L10/P5
+	 L9/P11 -> MTS14400 SL2-21 L9/P5
+	 L10/P11 -> MTS14400 SL2-21 L10/P5
+	 L11/P11 -> MTS14400 SL2-22 L9/P5
+	 L12/P11 -> MTS14400 SL2-23 L9/P5
+	 L1/P12 -> MTS14400 SL2-24 L9/P5
+	 L2/P12 -> MTS14400 SL2-25 L9/P5
+	 L3/P12 -> MTS14400 SL2-26 L9/P5
+	 L4/P12 -> MTS14400 SL2-27 L9/P5
+	 L5/P12 -> MTS14400 SL2-28 L9/P5
+	 L6/P12 -> MTS14400 SL2-29 L9/P5
+	 L7/P12 -> MTS14400 SL2-30 L9/P5
+	 L8/P12 -> MTS14400 SL2-31 L9/P5
+	 L9/P12 -> MTS14400 SL2-32 L9/P5
+	 L10/P12 -> MTS14400 SL2-33 L9/P5
+	 L11/P12 -> MTS14400 SL2-34 L9/P5
+	 L12/P12 -> MTS14400 SL2-35 L9/P5
+
+MTS14400 SL1-43
+	 L1/P1 -> MT23108 H-4016 P1
+	 L2/P1 -> MT23108 H-4017 P1
+	 L3/P1 -> MT23108 H-4018 P1
+	 L4/P1 -> MT23108 H-4019 P1
+	 L5/P1 -> MT23108 H-4020 P1
+	 L6/P1 -> MT23108 H-4021 P1
+	 L7/P1 -> MT23108 H-4022 P1
+	 L8/P1 -> MT23108 H-4023 P1
+	 L9/P1 -> MT23108 H-4024 P1
+	 L10/P1 -> MT23108 H-4025 P1
+	 L11/P1 -> MT23108 H-4026 P1
+	 L12/P1 -> MT23108 H-4027 P1
+	 L1/P2 -> MT23108 H-4028 P1
+	 L2/P2 -> MT23108 H-4029 P1
+	 L3/P2 -> MT23108 H-4030 P1
+	 L4/P2 -> MT23108 H-4031 P1
+	 L5/P2 -> MT23108 H-4032 P1
+	 L6/P2 -> MT23108 H-4033 P1
+	 L7/P2 -> MT23108 H-4034 P1
+	 L8/P2 -> MT23108 H-4035 P1
+	 L9/P2 -> MT23108 H-4036 P1
+	 L10/P2 -> MT23108 H-4037 P1
+	 L11/P2 -> MT23108 H-4038 P1
+	 L12/P2 -> MT23108 H-4039 P1
+	 L1/P3 -> MT23108 H-4040 P1
+	 L2/P3 -> MT23108 H-4041 P1
+	 L3/P3 -> MT23108 H-4042 P1
+	 L4/P3 -> MT23108 H-4043 P1
+	 L5/P3 -> MT23108 H-4044 P1
+	 L6/P3 -> MT23108 H-4045 P1
+	 L7/P3 -> MT23108 H-4046 P1
+	 L8/P3 -> MT23108 H-4047 P1
+	 L9/P3 -> MT23108 H-4048 P1
+	 L10/P3 -> MT23108 H-4049 P1
+	 L11/P3 -> MT23108 H-4050 P1
+	 L12/P3 -> MT23108 H-4051 P1
+	 L1/P4 -> MT23108 H-4052 P1
+	 L2/P4 -> MT23108 H-4053 P1
+	 L3/P4 -> MT23108 H-4054 P1
+	 L4/P4 -> MT23108 H-4055 P1
+	 L5/P4 -> MT23108 H-4056 P1
+	 L6/P4 -> MT23108 H-4057 P1
+	 L7/P4 -> MT23108 H-4058 P1
+	 L8/P4 -> MT23108 H-4059 P1
+	 L9/P4 -> MT23108 H-4060 P1
+	 L10/P4 -> MT23108 H-4061 P1
+	 L11/P4 -> MT23108 H-4062 P1
+	 L12/P4 -> MT23108 H-4063 P1
+	 L1/P5 -> MT23108 H-4064 P1
+	 L2/P5 -> MT23108 H-4065 P1
+	 L3/P5 -> MT23108 H-4066 P1
+	 L4/P5 -> MT23108 H-4067 P1
+	 L5/P5 -> MT23108 H-4068 P1
+	 L6/P5 -> MT23108 H-4069 P1
+	 L7/P5 -> MT23108 H-4070 P1
+	 L8/P5 -> MT23108 H-4071 P1
+	 L9/P5 -> MT23108 H-4072 P1
+	 L10/P5 -> MT23108 H-4073 P1
+	 L11/P5 -> MT23108 H-4074 P1
+	 L12/P5 -> MT23108 H-4075 P1
+	 L1/P6 -> MT23108 H-4076 P1
+	 L2/P6 -> MT23108 H-4077 P1
+	 L3/P6 -> MT23108 H-4078 P1
+	 L4/P6 -> MT23108 H-4079 P1
+	 L5/P6 -> MT23108 H-4080 P1
+	 L6/P6 -> MT23108 H-4081 P1
+	 L7/P6 -> MT23108 H-4082 P1
+	 L8/P6 -> MT23108 H-4083 P1
+	 L9/P6 -> MT23108 H-4084 P1
+	 L10/P6 -> MT23108 H-4085 P1
+	 L11/P6 -> MT23108 H-4086 P1
+	 L12/P6 -> MT23108 H-4087 P1
+	 L1/P7 -> MT23108 H-4088 P1
+	 L2/P7 -> MT23108 H-4089 P1
+	 L3/P7 -> MT23108 H-4090 P1
+	 L4/P7 -> MT23108 H-4091 P1
+	 L5/P7 -> MT23108 H-4092 P1
+	 L6/P7 -> MT23108 H-4093 P1
+	 L7/P7 -> MT23108 H-4094 P1
+	 L8/P7 -> MT23108 H-4095 P1
+	 L9/P7 -> MT23108 H-4096 P1
+	 L10/P7 -> MT23108 H-4097 P1
+	 L11/P7 -> MT23108 H-4098 P1
+	 L12/P7 -> MT23108 H-4099 P1
+	 L1/P8 -> MT23108 H-4100 P1
+	 L2/P8 -> MT23108 H-4101 P1
+	 L3/P8 -> MT23108 H-4102 P1
+	 L4/P8 -> MT23108 H-4103 P1
+	 L5/P8 -> MT23108 H-4104 P1
+	 L6/P8 -> MT23108 H-4105 P1
+	 L7/P8 -> MT23108 H-4106 P1
+	 L8/P8 -> MT23108 H-4107 P1
+	 L9/P8 -> MT23108 H-4108 P1
+	 L10/P8 -> MT23108 H-4109 P1
+	 L11/P8 -> MT23108 H-4110 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P5
+	 L2/P9 -> MTS14400 SL2-2 L11/P5
+	 L3/P9 -> MTS14400 SL2-3 L11/P5
+	 L4/P9 -> MTS14400 SL2-4 L11/P5
+	 L5/P9 -> MTS14400 SL2-5 L11/P5
+	 L6/P9 -> MTS14400 SL2-6 L11/P5
+	 L7/P9 -> MTS14400 SL2-7 L11/P5
+	 L8/P9 -> MTS14400 SL2-8 L11/P5
+	 L9/P9 -> MTS14400 SL2-9 L11/P5
+	 L10/P9 -> MTS14400 SL2-10 L11/P5
+	 L11/P9 -> MTS14400 SL2-11 L11/P5
+	 L12/P9 -> MTS14400 SL2-12 L11/P5
+	 L1/P10 -> MTS14400 SL2-13 L11/P5
+	 L2/P10 -> MTS14400 SL2-14 L11/P5
+	 L3/P10 -> MTS14400 SL2-15 L11/P5
+	 L4/P10 -> MTS14400 SL2-16 L11/P5
+	 L5/P10 -> MTS14400 SL2-17 L11/P5
+	 L6/P10 -> MTS14400 SL2-18 L11/P5
+	 L7/P10 -> MTS14400 SL2-19 L11/P5
+	 L8/P10 -> MTS14400 SL2-20 L11/P5
+	 L9/P10 -> MTS14400 SL2-21 L11/P5
+	 L10/P10 -> MTS14400 SL2-22 L10/P5
+	 L11/P10 -> MTS14400 SL2-22 L11/P5
+	 L12/P10 -> MTS14400 SL2-23 L10/P5
+	 L1/P11 -> MTS14400 SL2-23 L11/P5
+	 L2/P11 -> MTS14400 SL2-24 L10/P5
+	 L3/P11 -> MTS14400 SL2-24 L11/P5
+	 L4/P11 -> MTS14400 SL2-25 L10/P5
+	 L5/P11 -> MTS14400 SL2-25 L11/P5
+	 L6/P11 -> MTS14400 SL2-26 L10/P5
+	 L7/P11 -> MTS14400 SL2-26 L11/P5
+	 L8/P11 -> MTS14400 SL2-27 L10/P5
+	 L9/P11 -> MTS14400 SL2-27 L11/P5
+	 L10/P11 -> MTS14400 SL2-28 L10/P5
+	 L11/P11 -> MTS14400 SL2-28 L11/P5
+	 L12/P11 -> MTS14400 SL2-29 L10/P5
+	 L1/P12 -> MTS14400 SL2-29 L11/P5
+	 L2/P12 -> MTS14400 SL2-30 L10/P5
+	 L3/P12 -> MTS14400 SL2-30 L11/P5
+	 L4/P12 -> MTS14400 SL2-31 L10/P5
+	 L5/P12 -> MTS14400 SL2-31 L11/P5
+	 L6/P12 -> MTS14400 SL2-32 L10/P5
+	 L7/P12 -> MTS14400 SL2-32 L11/P5
+	 L8/P12 -> MTS14400 SL2-33 L10/P5
+	 L9/P12 -> MTS14400 SL2-33 L11/P5
+	 L10/P12 -> MTS14400 SL2-34 L10/P5
+	 L11/P12 -> MTS14400 SL2-34 L11/P5
+	 L12/P12 -> MTS14400 SL2-35 L10/P5
+
+MTS14400 SL1-44
+	 L1/P1 -> MT23108 H-4111 P1
+	 L2/P1 -> MT23108 H-4112 P1
+	 L3/P1 -> MT23108 H-4113 P1
+	 L4/P1 -> MT23108 H-4114 P1
+	 L5/P1 -> MT23108 H-4115 P1
+	 L6/P1 -> MT23108 H-4116 P1
+	 L7/P1 -> MT23108 H-4117 P1
+	 L8/P1 -> MT23108 H-4118 P1
+	 L9/P1 -> MT23108 H-4119 P1
+	 L10/P1 -> MT23108 H-4120 P1
+	 L11/P1 -> MT23108 H-4121 P1
+	 L12/P1 -> MT23108 H-4122 P1
+	 L1/P2 -> MT23108 H-4123 P1
+	 L2/P2 -> MT23108 H-4124 P1
+	 L3/P2 -> MT23108 H-4125 P1
+	 L4/P2 -> MT23108 H-4126 P1
+	 L5/P2 -> MT23108 H-4127 P1
+	 L6/P2 -> MT23108 H-4128 P1
+	 L7/P2 -> MT23108 H-4129 P1
+	 L8/P2 -> MT23108 H-4130 P1
+	 L9/P2 -> MT23108 H-4131 P1
+	 L10/P2 -> MT23108 H-4132 P1
+	 L11/P2 -> MT23108 H-4133 P1
+	 L12/P2 -> MT23108 H-4134 P1
+	 L1/P3 -> MT23108 H-4135 P1
+	 L2/P3 -> MT23108 H-4136 P1
+	 L3/P3 -> MT23108 H-4137 P1
+	 L4/P3 -> MT23108 H-4138 P1
+	 L5/P3 -> MT23108 H-4139 P1
+	 L6/P3 -> MT23108 H-4140 P1
+	 L7/P3 -> MT23108 H-4141 P1
+	 L8/P3 -> MT23108 H-4142 P1
+	 L9/P3 -> MT23108 H-4143 P1
+	 L10/P3 -> MT23108 H-4144 P1
+	 L11/P3 -> MT23108 H-4145 P1
+	 L12/P3 -> MT23108 H-4146 P1
+	 L1/P4 -> MT23108 H-4147 P1
+	 L2/P4 -> MT23108 H-4148 P1
+	 L3/P4 -> MT23108 H-4149 P1
+	 L4/P4 -> MT23108 H-4150 P1
+	 L5/P4 -> MT23108 H-4151 P1
+	 L6/P4 -> MT23108 H-4152 P1
+	 L7/P4 -> MT23108 H-4153 P1
+	 L8/P4 -> MT23108 H-4154 P1
+	 L9/P4 -> MT23108 H-4155 P1
+	 L10/P4 -> MT23108 H-4156 P1
+	 L11/P4 -> MT23108 H-4157 P1
+	 L12/P4 -> MT23108 H-4158 P1
+	 L1/P5 -> MT23108 H-4159 P1
+	 L2/P5 -> MT23108 H-4160 P1
+	 L3/P5 -> MT23108 H-4161 P1
+	 L4/P5 -> MT23108 H-4162 P1
+	 L5/P5 -> MT23108 H-4163 P1
+	 L6/P5 -> MT23108 H-4164 P1
+	 L7/P5 -> MT23108 H-4165 P1
+	 L8/P5 -> MT23108 H-4166 P1
+	 L9/P5 -> MT23108 H-4167 P1
+	 L10/P5 -> MT23108 H-4168 P1
+	 L11/P5 -> MT23108 H-4169 P1
+	 L12/P5 -> MT23108 H-4170 P1
+	 L1/P6 -> MT23108 H-4171 P1
+	 L2/P6 -> MT23108 H-4172 P1
+	 L3/P6 -> MT23108 H-4173 P1
+	 L4/P6 -> MT23108 H-4174 P1
+	 L5/P6 -> MT23108 H-4175 P1
+	 L6/P6 -> MT23108 H-4176 P1
+	 L7/P6 -> MT23108 H-4177 P1
+	 L8/P6 -> MT23108 H-4178 P1
+	 L9/P6 -> MT23108 H-4179 P1
+	 L10/P6 -> MT23108 H-4180 P1
+	 L11/P6 -> MT23108 H-4181 P1
+	 L12/P6 -> MT23108 H-4182 P1
+	 L1/P7 -> MT23108 H-4183 P1
+	 L2/P7 -> MT23108 H-4184 P1
+	 L3/P7 -> MT23108 H-4185 P1
+	 L4/P7 -> MT23108 H-4186 P1
+	 L5/P7 -> MT23108 H-4187 P1
+	 L6/P7 -> MT23108 H-4188 P1
+	 L7/P7 -> MT23108 H-4189 P1
+	 L8/P7 -> MT23108 H-4190 P1
+	 L9/P7 -> MT23108 H-4191 P1
+	 L10/P7 -> MT23108 H-4192 P1
+	 L11/P7 -> MT23108 H-4193 P1
+	 L12/P7 -> MT23108 H-4194 P1
+	 L1/P8 -> MT23108 H-4195 P1
+	 L2/P8 -> MT23108 H-4196 P1
+	 L3/P8 -> MT23108 H-4197 P1
+	 L4/P8 -> MT23108 H-4198 P1
+	 L5/P8 -> MT23108 H-4199 P1
+	 L6/P8 -> MT23108 H-4200 P1
+	 L7/P8 -> MT23108 H-4201 P1
+	 L8/P8 -> MT23108 H-4202 P1
+	 L9/P8 -> MT23108 H-4203 P1
+	 L10/P8 -> MT23108 H-4204 P1
+	 L11/P8 -> MT23108 H-4205 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P5
+	 L2/P9 -> MTS14400 SL2-1 L1/P6
+	 L3/P9 -> MTS14400 SL2-2 L12/P5
+	 L4/P9 -> MTS14400 SL2-2 L1/P6
+	 L5/P9 -> MTS14400 SL2-3 L12/P5
+	 L6/P9 -> MTS14400 SL2-3 L1/P6
+	 L7/P9 -> MTS14400 SL2-4 L12/P5
+	 L8/P9 -> MTS14400 SL2-4 L1/P6
+	 L9/P9 -> MTS14400 SL2-5 L12/P5
+	 L10/P9 -> MTS14400 SL2-5 L1/P6
+	 L11/P9 -> MTS14400 SL2-6 L12/P5
+	 L12/P9 -> MTS14400 SL2-6 L1/P6
+	 L1/P10 -> MTS14400 SL2-7 L12/P5
+	 L2/P10 -> MTS14400 SL2-7 L1/P6
+	 L3/P10 -> MTS14400 SL2-8 L12/P5
+	 L4/P10 -> MTS14400 SL2-8 L1/P6
+	 L5/P10 -> MTS14400 SL2-9 L12/P5
+	 L6/P10 -> MTS14400 SL2-9 L1/P6
+	 L7/P10 -> MTS14400 SL2-10 L12/P5
+	 L8/P10 -> MTS14400 SL2-10 L1/P6
+	 L9/P10 -> MTS14400 SL2-11 L12/P5
+	 L10/P10 -> MTS14400 SL2-11 L1/P6
+	 L11/P10 -> MTS14400 SL2-12 L12/P5
+	 L12/P10 -> MTS14400 SL2-12 L1/P6
+	 L1/P11 -> MTS14400 SL2-13 L12/P5
+	 L2/P11 -> MTS14400 SL2-14 L12/P5
+	 L3/P11 -> MTS14400 SL2-15 L12/P5
+	 L4/P11 -> MTS14400 SL2-16 L12/P5
+	 L5/P11 -> MTS14400 SL2-17 L12/P5
+	 L6/P11 -> MTS14400 SL2-18 L12/P5
+	 L7/P11 -> MTS14400 SL2-19 L12/P5
+	 L8/P11 -> MTS14400 SL2-20 L12/P5
+	 L9/P11 -> MTS14400 SL2-21 L12/P5
+	 L10/P11 -> MTS14400 SL2-22 L12/P5
+	 L11/P11 -> MTS14400 SL2-23 L12/P5
+	 L12/P11 -> MTS14400 SL2-24 L12/P5
+	 L1/P12 -> MTS14400 SL2-25 L12/P5
+	 L2/P12 -> MTS14400 SL2-26 L12/P5
+	 L3/P12 -> MTS14400 SL2-27 L12/P5
+	 L4/P12 -> MTS14400 SL2-28 L12/P5
+	 L5/P12 -> MTS14400 SL2-29 L12/P5
+	 L6/P12 -> MTS14400 SL2-30 L12/P5
+	 L7/P12 -> MTS14400 SL2-31 L12/P5
+	 L8/P12 -> MTS14400 SL2-32 L12/P5
+	 L9/P12 -> MTS14400 SL2-33 L12/P5
+	 L10/P12 -> MTS14400 SL2-34 L12/P5
+	 L11/P12 -> MTS14400 SL2-35 L11/P5
+	 L12/P12 -> MTS14400 SL2-35 L12/P5
+
+MTS14400 SL1-45
+	 L1/P1 -> MT23108 H-4206 P1
+	 L2/P1 -> MT23108 H-4207 P1
+	 L3/P1 -> MT23108 H-4208 P1
+	 L4/P1 -> MT23108 H-4209 P1
+	 L5/P1 -> MT23108 H-4210 P1
+	 L6/P1 -> MT23108 H-4211 P1
+	 L7/P1 -> MT23108 H-4212 P1
+	 L8/P1 -> MT23108 H-4213 P1
+	 L9/P1 -> MT23108 H-4214 P1
+	 L10/P1 -> MT23108 H-4215 P1
+	 L11/P1 -> MT23108 H-4216 P1
+	 L12/P1 -> MT23108 H-4217 P1
+	 L1/P2 -> MT23108 H-4218 P1
+	 L2/P2 -> MT23108 H-4219 P1
+	 L3/P2 -> MT23108 H-4220 P1
+	 L4/P2 -> MT23108 H-4221 P1
+	 L5/P2 -> MT23108 H-4222 P1
+	 L6/P2 -> MT23108 H-4223 P1
+	 L7/P2 -> MT23108 H-4224 P1
+	 L8/P2 -> MT23108 H-4225 P1
+	 L9/P2 -> MT23108 H-4226 P1
+	 L10/P2 -> MT23108 H-4227 P1
+	 L11/P2 -> MT23108 H-4228 P1
+	 L12/P2 -> MT23108 H-4229 P1
+	 L1/P3 -> MT23108 H-4230 P1
+	 L2/P3 -> MT23108 H-4231 P1
+	 L3/P3 -> MT23108 H-4232 P1
+	 L4/P3 -> MT23108 H-4233 P1
+	 L5/P3 -> MT23108 H-4234 P1
+	 L6/P3 -> MT23108 H-4235 P1
+	 L7/P3 -> MT23108 H-4236 P1
+	 L8/P3 -> MT23108 H-4237 P1
+	 L9/P3 -> MT23108 H-4238 P1
+	 L10/P3 -> MT23108 H-4239 P1
+	 L11/P3 -> MT23108 H-4240 P1
+	 L12/P3 -> MT23108 H-4241 P1
+	 L1/P4 -> MT23108 H-4242 P1
+	 L2/P4 -> MT23108 H-4243 P1
+	 L3/P4 -> MT23108 H-4244 P1
+	 L4/P4 -> MT23108 H-4245 P1
+	 L5/P4 -> MT23108 H-4246 P1
+	 L6/P4 -> MT23108 H-4247 P1
+	 L7/P4 -> MT23108 H-4248 P1
+	 L8/P4 -> MT23108 H-4249 P1
+	 L9/P4 -> MT23108 H-4250 P1
+	 L10/P4 -> MT23108 H-4251 P1
+	 L11/P4 -> MT23108 H-4252 P1
+	 L12/P4 -> MT23108 H-4253 P1
+	 L1/P5 -> MT23108 H-4254 P1
+	 L2/P5 -> MT23108 H-4255 P1
+	 L3/P5 -> MT23108 H-4256 P1
+	 L4/P5 -> MT23108 H-4257 P1
+	 L5/P5 -> MT23108 H-4258 P1
+	 L6/P5 -> MT23108 H-4259 P1
+	 L7/P5 -> MT23108 H-4260 P1
+	 L8/P5 -> MT23108 H-4261 P1
+	 L9/P5 -> MT23108 H-4262 P1
+	 L10/P5 -> MT23108 H-4263 P1
+	 L11/P5 -> MT23108 H-4264 P1
+	 L12/P5 -> MT23108 H-4265 P1
+	 L1/P6 -> MT23108 H-4266 P1
+	 L2/P6 -> MT23108 H-4267 P1
+	 L3/P6 -> MT23108 H-4268 P1
+	 L4/P6 -> MT23108 H-4269 P1
+	 L5/P6 -> MT23108 H-4270 P1
+	 L6/P6 -> MT23108 H-4271 P1
+	 L7/P6 -> MT23108 H-4272 P1
+	 L8/P6 -> MT23108 H-4273 P1
+	 L9/P6 -> MT23108 H-4274 P1
+	 L10/P6 -> MT23108 H-4275 P1
+	 L11/P6 -> MT23108 H-4276 P1
+	 L12/P6 -> MT23108 H-4277 P1
+	 L1/P7 -> MT23108 H-4278 P1
+	 L2/P7 -> MT23108 H-4279 P1
+	 L3/P7 -> MT23108 H-4280 P1
+	 L4/P7 -> MT23108 H-4281 P1
+	 L5/P7 -> MT23108 H-4282 P1
+	 L6/P7 -> MT23108 H-4283 P1
+	 L7/P7 -> MT23108 H-4284 P1
+	 L8/P7 -> MT23108 H-4285 P1
+	 L9/P7 -> MT23108 H-4286 P1
+	 L10/P7 -> MT23108 H-4287 P1
+	 L11/P7 -> MT23108 H-4288 P1
+	 L12/P7 -> MT23108 H-4289 P1
+	 L1/P8 -> MT23108 H-4290 P1
+	 L2/P8 -> MT23108 H-4291 P1
+	 L3/P8 -> MT23108 H-4292 P1
+	 L4/P8 -> MT23108 H-4293 P1
+	 L5/P8 -> MT23108 H-4294 P1
+	 L6/P8 -> MT23108 H-4295 P1
+	 L7/P8 -> MT23108 H-4296 P1
+	 L8/P8 -> MT23108 H-4297 P1
+	 L9/P8 -> MT23108 H-4298 P1
+	 L10/P8 -> MT23108 H-4299 P1
+	 L11/P8 -> MT23108 H-4300 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P6
+	 L2/P9 -> MTS14400 SL2-2 L2/P6
+	 L3/P9 -> MTS14400 SL2-3 L2/P6
+	 L4/P9 -> MTS14400 SL2-4 L2/P6
+	 L5/P9 -> MTS14400 SL2-5 L2/P6
+	 L6/P9 -> MTS14400 SL2-6 L2/P6
+	 L7/P9 -> MTS14400 SL2-7 L2/P6
+	 L8/P9 -> MTS14400 SL2-8 L2/P6
+	 L9/P9 -> MTS14400 SL2-9 L2/P6
+	 L10/P9 -> MTS14400 SL2-10 L2/P6
+	 L11/P9 -> MTS14400 SL2-11 L2/P6
+	 L12/P9 -> MTS14400 SL2-12 L2/P6
+	 L1/P10 -> MTS14400 SL2-13 L1/P6
+	 L2/P10 -> MTS14400 SL2-13 L2/P6
+	 L3/P10 -> MTS14400 SL2-14 L1/P6
+	 L4/P10 -> MTS14400 SL2-14 L2/P6
+	 L5/P10 -> MTS14400 SL2-15 L1/P6
+	 L6/P10 -> MTS14400 SL2-15 L2/P6
+	 L7/P10 -> MTS14400 SL2-16 L1/P6
+	 L8/P10 -> MTS14400 SL2-16 L2/P6
+	 L9/P10 -> MTS14400 SL2-17 L1/P6
+	 L10/P10 -> MTS14400 SL2-17 L2/P6
+	 L11/P10 -> MTS14400 SL2-18 L1/P6
+	 L12/P10 -> MTS14400 SL2-18 L2/P6
+	 L1/P11 -> MTS14400 SL2-19 L1/P6
+	 L2/P11 -> MTS14400 SL2-19 L2/P6
+	 L3/P11 -> MTS14400 SL2-20 L1/P6
+	 L4/P11 -> MTS14400 SL2-20 L2/P6
+	 L5/P11 -> MTS14400 SL2-21 L1/P6
+	 L6/P11 -> MTS14400 SL2-21 L2/P6
+	 L7/P11 -> MTS14400 SL2-22 L1/P6
+	 L8/P11 -> MTS14400 SL2-22 L2/P6
+	 L9/P11 -> MTS14400 SL2-23 L1/P6
+	 L10/P11 -> MTS14400 SL2-23 L2/P6
+	 L11/P11 -> MTS14400 SL2-24 L1/P6
+	 L12/P11 -> MTS14400 SL2-24 L2/P6
+	 L1/P12 -> MTS14400 SL2-25 L1/P6
+	 L2/P12 -> MTS14400 SL2-25 L2/P6
+	 L3/P12 -> MTS14400 SL2-26 L1/P6
+	 L4/P12 -> MTS14400 SL2-27 L1/P6
+	 L5/P12 -> MTS14400 SL2-28 L1/P6
+	 L6/P12 -> MTS14400 SL2-29 L1/P6
+	 L7/P12 -> MTS14400 SL2-30 L1/P6
+	 L8/P12 -> MTS14400 SL2-31 L1/P6
+	 L9/P12 -> MTS14400 SL2-32 L1/P6
+	 L10/P12 -> MTS14400 SL2-33 L1/P6
+	 L11/P12 -> MTS14400 SL2-34 L1/P6
+	 L12/P12 -> MTS14400 SL2-35 L1/P6
+
+MTS14400 SL1-46
+	 L1/P1 -> MT23108 H-4301 P1
+	 L2/P1 -> MT23108 H-4302 P1
+	 L3/P1 -> MT23108 H-4303 P1
+	 L4/P1 -> MT23108 H-4304 P1
+	 L5/P1 -> MT23108 H-4305 P1
+	 L6/P1 -> MT23108 H-4306 P1
+	 L7/P1 -> MT23108 H-4307 P1
+	 L8/P1 -> MT23108 H-4308 P1
+	 L9/P1 -> MT23108 H-4309 P1
+	 L10/P1 -> MT23108 H-4310 P1
+	 L11/P1 -> MT23108 H-4311 P1
+	 L12/P1 -> MT23108 H-4312 P1
+	 L1/P2 -> MT23108 H-4313 P1
+	 L2/P2 -> MT23108 H-4314 P1
+	 L3/P2 -> MT23108 H-4315 P1
+	 L4/P2 -> MT23108 H-4316 P1
+	 L5/P2 -> MT23108 H-4317 P1
+	 L6/P2 -> MT23108 H-4318 P1
+	 L7/P2 -> MT23108 H-4319 P1
+	 L8/P2 -> MT23108 H-4320 P1
+	 L9/P2 -> MT23108 H-4321 P1
+	 L10/P2 -> MT23108 H-4322 P1
+	 L11/P2 -> MT23108 H-4323 P1
+	 L12/P2 -> MT23108 H-4324 P1
+	 L1/P3 -> MT23108 H-4325 P1
+	 L2/P3 -> MT23108 H-4326 P1
+	 L3/P3 -> MT23108 H-4327 P1
+	 L4/P3 -> MT23108 H-4328 P1
+	 L5/P3 -> MT23108 H-4329 P1
+	 L6/P3 -> MT23108 H-4330 P1
+	 L7/P3 -> MT23108 H-4331 P1
+	 L8/P3 -> MT23108 H-4332 P1
+	 L9/P3 -> MT23108 H-4333 P1
+	 L10/P3 -> MT23108 H-4334 P1
+	 L11/P3 -> MT23108 H-4335 P1
+	 L12/P3 -> MT23108 H-4336 P1
+	 L1/P4 -> MT23108 H-4337 P1
+	 L2/P4 -> MT23108 H-4338 P1
+	 L3/P4 -> MT23108 H-4339 P1
+	 L4/P4 -> MT23108 H-4340 P1
+	 L5/P4 -> MT23108 H-4341 P1
+	 L6/P4 -> MT23108 H-4342 P1
+	 L7/P4 -> MT23108 H-4343 P1
+	 L8/P4 -> MT23108 H-4344 P1
+	 L9/P4 -> MT23108 H-4345 P1
+	 L10/P4 -> MT23108 H-4346 P1
+	 L11/P4 -> MT23108 H-4347 P1
+	 L12/P4 -> MT23108 H-4348 P1
+	 L1/P5 -> MT23108 H-4349 P1
+	 L2/P5 -> MT23108 H-4350 P1
+	 L3/P5 -> MT23108 H-4351 P1
+	 L4/P5 -> MT23108 H-4352 P1
+	 L5/P5 -> MT23108 H-4353 P1
+	 L6/P5 -> MT23108 H-4354 P1
+	 L7/P5 -> MT23108 H-4355 P1
+	 L8/P5 -> MT23108 H-4356 P1
+	 L9/P5 -> MT23108 H-4357 P1
+	 L10/P5 -> MT23108 H-4358 P1
+	 L11/P5 -> MT23108 H-4359 P1
+	 L12/P5 -> MT23108 H-4360 P1
+	 L1/P6 -> MT23108 H-4361 P1
+	 L2/P6 -> MT23108 H-4362 P1
+	 L3/P6 -> MT23108 H-4363 P1
+	 L4/P6 -> MT23108 H-4364 P1
+	 L5/P6 -> MT23108 H-4365 P1
+	 L6/P6 -> MT23108 H-4366 P1
+	 L7/P6 -> MT23108 H-4367 P1
+	 L8/P6 -> MT23108 H-4368 P1
+	 L9/P6 -> MT23108 H-4369 P1
+	 L10/P6 -> MT23108 H-4370 P1
+	 L11/P6 -> MT23108 H-4371 P1
+	 L12/P6 -> MT23108 H-4372 P1
+	 L1/P7 -> MT23108 H-4373 P1
+	 L2/P7 -> MT23108 H-4374 P1
+	 L3/P7 -> MT23108 H-4375 P1
+	 L4/P7 -> MT23108 H-4376 P1
+	 L5/P7 -> MT23108 H-4377 P1
+	 L6/P7 -> MT23108 H-4378 P1
+	 L7/P7 -> MT23108 H-4379 P1
+	 L8/P7 -> MT23108 H-4380 P1
+	 L9/P7 -> MT23108 H-4381 P1
+	 L10/P7 -> MT23108 H-4382 P1
+	 L11/P7 -> MT23108 H-4383 P1
+	 L12/P7 -> MT23108 H-4384 P1
+	 L1/P8 -> MT23108 H-4385 P1
+	 L2/P8 -> MT23108 H-4386 P1
+	 L3/P8 -> MT23108 H-4387 P1
+	 L4/P8 -> MT23108 H-4388 P1
+	 L5/P8 -> MT23108 H-4389 P1
+	 L6/P8 -> MT23108 H-4390 P1
+	 L7/P8 -> MT23108 H-4391 P1
+	 L8/P8 -> MT23108 H-4392 P1
+	 L9/P8 -> MT23108 H-4393 P1
+	 L10/P8 -> MT23108 H-4394 P1
+	 L11/P8 -> MT23108 H-4395 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P6
+	 L2/P9 -> MTS14400 SL2-1 L4/P6
+	 L3/P9 -> MTS14400 SL2-2 L3/P6
+	 L4/P9 -> MTS14400 SL2-2 L4/P6
+	 L5/P9 -> MTS14400 SL2-3 L3/P6
+	 L6/P9 -> MTS14400 SL2-3 L4/P6
+	 L7/P9 -> MTS14400 SL2-4 L3/P6
+	 L8/P9 -> MTS14400 SL2-5 L3/P6
+	 L9/P9 -> MTS14400 SL2-6 L3/P6
+	 L10/P9 -> MTS14400 SL2-7 L3/P6
+	 L11/P9 -> MTS14400 SL2-8 L3/P6
+	 L12/P9 -> MTS14400 SL2-9 L3/P6
+	 L1/P10 -> MTS14400 SL2-10 L3/P6
+	 L2/P10 -> MTS14400 SL2-11 L3/P6
+	 L3/P10 -> MTS14400 SL2-12 L3/P6
+	 L4/P10 -> MTS14400 SL2-13 L3/P6
+	 L5/P10 -> MTS14400 SL2-14 L3/P6
+	 L6/P10 -> MTS14400 SL2-15 L3/P6
+	 L7/P10 -> MTS14400 SL2-16 L3/P6
+	 L8/P10 -> MTS14400 SL2-17 L3/P6
+	 L9/P10 -> MTS14400 SL2-18 L3/P6
+	 L10/P10 -> MTS14400 SL2-19 L3/P6
+	 L11/P10 -> MTS14400 SL2-20 L3/P6
+	 L12/P10 -> MTS14400 SL2-21 L3/P6
+	 L1/P11 -> MTS14400 SL2-22 L3/P6
+	 L2/P11 -> MTS14400 SL2-23 L3/P6
+	 L3/P11 -> MTS14400 SL2-24 L3/P6
+	 L4/P11 -> MTS14400 SL2-25 L3/P6
+	 L5/P11 -> MTS14400 SL2-26 L2/P6
+	 L6/P11 -> MTS14400 SL2-26 L3/P6
+	 L7/P11 -> MTS14400 SL2-27 L2/P6
+	 L8/P11 -> MTS14400 SL2-27 L3/P6
+	 L9/P11 -> MTS14400 SL2-28 L2/P6
+	 L10/P11 -> MTS14400 SL2-28 L3/P6
+	 L11/P11 -> MTS14400 SL2-29 L2/P6
+	 L12/P11 -> MTS14400 SL2-29 L3/P6
+	 L1/P12 -> MTS14400 SL2-30 L2/P6
+	 L2/P12 -> MTS14400 SL2-30 L3/P6
+	 L3/P12 -> MTS14400 SL2-31 L2/P6
+	 L4/P12 -> MTS14400 SL2-31 L3/P6
+	 L5/P12 -> MTS14400 SL2-32 L2/P6
+	 L6/P12 -> MTS14400 SL2-32 L3/P6
+	 L7/P12 -> MTS14400 SL2-33 L2/P6
+	 L8/P12 -> MTS14400 SL2-33 L3/P6
+	 L9/P12 -> MTS14400 SL2-34 L2/P6
+	 L10/P12 -> MTS14400 SL2-34 L3/P6
+	 L11/P12 -> MTS14400 SL2-35 L2/P6
+	 L12/P12 -> MTS14400 SL2-35 L3/P6
+
+MTS14400 SL1-47
+	 L1/P1 -> MT23108 H-4396 P1
+	 L2/P1 -> MT23108 H-4397 P1
+	 L3/P1 -> MT23108 H-4398 P1
+	 L4/P1 -> MT23108 H-4399 P1
+	 L5/P1 -> MT23108 H-4400 P1
+	 L6/P1 -> MT23108 H-4401 P1
+	 L7/P1 -> MT23108 H-4402 P1
+	 L8/P1 -> MT23108 H-4403 P1
+	 L9/P1 -> MT23108 H-4404 P1
+	 L10/P1 -> MT23108 H-4405 P1
+	 L11/P1 -> MT23108 H-4406 P1
+	 L12/P1 -> MT23108 H-4407 P1
+	 L1/P2 -> MT23108 H-4408 P1
+	 L2/P2 -> MT23108 H-4409 P1
+	 L3/P2 -> MT23108 H-4410 P1
+	 L4/P2 -> MT23108 H-4411 P1
+	 L5/P2 -> MT23108 H-4412 P1
+	 L6/P2 -> MT23108 H-4413 P1
+	 L7/P2 -> MT23108 H-4414 P1
+	 L8/P2 -> MT23108 H-4415 P1
+	 L9/P2 -> MT23108 H-4416 P1
+	 L10/P2 -> MT23108 H-4417 P1
+	 L11/P2 -> MT23108 H-4418 P1
+	 L12/P2 -> MT23108 H-4419 P1
+	 L1/P3 -> MT23108 H-4420 P1
+	 L2/P3 -> MT23108 H-4421 P1
+	 L3/P3 -> MT23108 H-4422 P1
+	 L4/P3 -> MT23108 H-4423 P1
+	 L5/P3 -> MT23108 H-4424 P1
+	 L6/P3 -> MT23108 H-4425 P1
+	 L7/P3 -> MT23108 H-4426 P1
+	 L8/P3 -> MT23108 H-4427 P1
+	 L9/P3 -> MT23108 H-4428 P1
+	 L10/P3 -> MT23108 H-4429 P1
+	 L11/P3 -> MT23108 H-4430 P1
+	 L12/P3 -> MT23108 H-4431 P1
+	 L1/P4 -> MT23108 H-4432 P1
+	 L2/P4 -> MT23108 H-4433 P1
+	 L3/P4 -> MT23108 H-4434 P1
+	 L4/P4 -> MT23108 H-4435 P1
+	 L5/P4 -> MT23108 H-4436 P1
+	 L6/P4 -> MT23108 H-4437 P1
+	 L7/P4 -> MT23108 H-4438 P1
+	 L8/P4 -> MT23108 H-4439 P1
+	 L9/P4 -> MT23108 H-4440 P1
+	 L10/P4 -> MT23108 H-4441 P1
+	 L11/P4 -> MT23108 H-4442 P1
+	 L12/P4 -> MT23108 H-4443 P1
+	 L1/P5 -> MT23108 H-4444 P1
+	 L2/P5 -> MT23108 H-4445 P1
+	 L3/P5 -> MT23108 H-4446 P1
+	 L4/P5 -> MT23108 H-4447 P1
+	 L5/P5 -> MT23108 H-4448 P1
+	 L6/P5 -> MT23108 H-4449 P1
+	 L7/P5 -> MT23108 H-4450 P1
+	 L8/P5 -> MT23108 H-4451 P1
+	 L9/P5 -> MT23108 H-4452 P1
+	 L10/P5 -> MT23108 H-4453 P1
+	 L11/P5 -> MT23108 H-4454 P1
+	 L12/P5 -> MT23108 H-4455 P1
+	 L1/P6 -> MT23108 H-4456 P1
+	 L2/P6 -> MT23108 H-4457 P1
+	 L3/P6 -> MT23108 H-4458 P1
+	 L4/P6 -> MT23108 H-4459 P1
+	 L5/P6 -> MT23108 H-4460 P1
+	 L6/P6 -> MT23108 H-4461 P1
+	 L7/P6 -> MT23108 H-4462 P1
+	 L8/P6 -> MT23108 H-4463 P1
+	 L9/P6 -> MT23108 H-4464 P1
+	 L10/P6 -> MT23108 H-4465 P1
+	 L11/P6 -> MT23108 H-4466 P1
+	 L12/P6 -> MT23108 H-4467 P1
+	 L1/P7 -> MT23108 H-4468 P1
+	 L2/P7 -> MT23108 H-4469 P1
+	 L3/P7 -> MT23108 H-4470 P1
+	 L4/P7 -> MT23108 H-4471 P1
+	 L5/P7 -> MT23108 H-4472 P1
+	 L6/P7 -> MT23108 H-4473 P1
+	 L7/P7 -> MT23108 H-4474 P1
+	 L8/P7 -> MT23108 H-4475 P1
+	 L9/P7 -> MT23108 H-4476 P1
+	 L10/P7 -> MT23108 H-4477 P1
+	 L11/P7 -> MT23108 H-4478 P1
+	 L12/P7 -> MT23108 H-4479 P1
+	 L1/P8 -> MT23108 H-4480 P1
+	 L2/P8 -> MT23108 H-4481 P1
+	 L3/P8 -> MT23108 H-4482 P1
+	 L4/P8 -> MT23108 H-4483 P1
+	 L5/P8 -> MT23108 H-4484 P1
+	 L6/P8 -> MT23108 H-4485 P1
+	 L7/P8 -> MT23108 H-4486 P1
+	 L8/P8 -> MT23108 H-4487 P1
+	 L9/P8 -> MT23108 H-4488 P1
+	 L10/P8 -> MT23108 H-4489 P1
+	 L11/P8 -> MT23108 H-4490 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P6
+	 L2/P9 -> MTS14400 SL2-2 L5/P6
+	 L3/P9 -> MTS14400 SL2-3 L5/P6
+	 L4/P9 -> MTS14400 SL2-4 L4/P6
+	 L5/P9 -> MTS14400 SL2-4 L5/P6
+	 L6/P9 -> MTS14400 SL2-5 L4/P6
+	 L7/P9 -> MTS14400 SL2-5 L5/P6
+	 L8/P9 -> MTS14400 SL2-6 L4/P6
+	 L9/P9 -> MTS14400 SL2-6 L5/P6
+	 L10/P9 -> MTS14400 SL2-7 L4/P6
+	 L11/P9 -> MTS14400 SL2-7 L5/P6
+	 L12/P9 -> MTS14400 SL2-8 L4/P6
+	 L1/P10 -> MTS14400 SL2-8 L5/P6
+	 L2/P10 -> MTS14400 SL2-9 L4/P6
+	 L3/P10 -> MTS14400 SL2-9 L5/P6
+	 L4/P10 -> MTS14400 SL2-10 L4/P6
+	 L5/P10 -> MTS14400 SL2-10 L5/P6
+	 L6/P10 -> MTS14400 SL2-11 L4/P6
+	 L7/P10 -> MTS14400 SL2-11 L5/P6
+	 L8/P10 -> MTS14400 SL2-12 L4/P6
+	 L9/P10 -> MTS14400 SL2-12 L5/P6
+	 L10/P10 -> MTS14400 SL2-13 L4/P6
+	 L11/P10 -> MTS14400 SL2-13 L5/P6
+	 L12/P10 -> MTS14400 SL2-14 L4/P6
+	 L1/P11 -> MTS14400 SL2-14 L5/P6
+	 L2/P11 -> MTS14400 SL2-15 L4/P6
+	 L3/P11 -> MTS14400 SL2-15 L5/P6
+	 L4/P11 -> MTS14400 SL2-16 L4/P6
+	 L5/P11 -> MTS14400 SL2-16 L5/P6
+	 L6/P11 -> MTS14400 SL2-17 L4/P6
+	 L7/P11 -> MTS14400 SL2-18 L4/P6
+	 L8/P11 -> MTS14400 SL2-19 L4/P6
+	 L9/P11 -> MTS14400 SL2-20 L4/P6
+	 L10/P11 -> MTS14400 SL2-21 L4/P6
+	 L11/P11 -> MTS14400 SL2-22 L4/P6
+	 L12/P11 -> MTS14400 SL2-23 L4/P6
+	 L1/P12 -> MTS14400 SL2-24 L4/P6
+	 L2/P12 -> MTS14400 SL2-25 L4/P6
+	 L3/P12 -> MTS14400 SL2-26 L4/P6
+	 L4/P12 -> MTS14400 SL2-27 L4/P6
+	 L5/P12 -> MTS14400 SL2-28 L4/P6
+	 L6/P12 -> MTS14400 SL2-29 L4/P6
+	 L7/P12 -> MTS14400 SL2-30 L4/P6
+	 L8/P12 -> MTS14400 SL2-31 L4/P6
+	 L9/P12 -> MTS14400 SL2-32 L4/P6
+	 L10/P12 -> MTS14400 SL2-33 L4/P6
+	 L11/P12 -> MTS14400 SL2-34 L4/P6
+	 L12/P12 -> MTS14400 SL2-35 L4/P6
+
+MTS14400 SL1-48
+	 L1/P1 -> MT23108 H-4491 P1
+	 L2/P1 -> MT23108 H-4492 P1
+	 L3/P1 -> MT23108 H-4493 P1
+	 L4/P1 -> MT23108 H-4494 P1
+	 L5/P1 -> MT23108 H-4495 P1
+	 L6/P1 -> MT23108 H-4496 P1
+	 L7/P1 -> MT23108 H-4497 P1
+	 L8/P1 -> MT23108 H-4498 P1
+	 L9/P1 -> MT23108 H-4499 P1
+	 L10/P1 -> MT23108 H-4500 P1
+	 L11/P1 -> MT23108 H-4501 P1
+	 L12/P1 -> MT23108 H-4502 P1
+	 L1/P2 -> MT23108 H-4503 P1
+	 L2/P2 -> MT23108 H-4504 P1
+	 L3/P2 -> MT23108 H-4505 P1
+	 L4/P2 -> MT23108 H-4506 P1
+	 L5/P2 -> MT23108 H-4507 P1
+	 L6/P2 -> MT23108 H-4508 P1
+	 L7/P2 -> MT23108 H-4509 P1
+	 L8/P2 -> MT23108 H-4510 P1
+	 L9/P2 -> MT23108 H-4511 P1
+	 L10/P2 -> MT23108 H-4512 P1
+	 L11/P2 -> MT23108 H-4513 P1
+	 L12/P2 -> MT23108 H-4514 P1
+	 L1/P3 -> MT23108 H-4515 P1
+	 L2/P3 -> MT23108 H-4516 P1
+	 L3/P3 -> MT23108 H-4517 P1
+	 L4/P3 -> MT23108 H-4518 P1
+	 L5/P3 -> MT23108 H-4519 P1
+	 L6/P3 -> MT23108 H-4520 P1
+	 L7/P3 -> MT23108 H-4521 P1
+	 L8/P3 -> MT23108 H-4522 P1
+	 L9/P3 -> MT23108 H-4523 P1
+	 L10/P3 -> MT23108 H-4524 P1
+	 L11/P3 -> MT23108 H-4525 P1
+	 L12/P3 -> MT23108 H-4526 P1
+	 L1/P4 -> MT23108 H-4527 P1
+	 L2/P4 -> MT23108 H-4528 P1
+	 L3/P4 -> MT23108 H-4529 P1
+	 L4/P4 -> MT23108 H-4530 P1
+	 L5/P4 -> MT23108 H-4531 P1
+	 L6/P4 -> MT23108 H-4532 P1
+	 L7/P4 -> MT23108 H-4533 P1
+	 L8/P4 -> MT23108 H-4534 P1
+	 L9/P4 -> MT23108 H-4535 P1
+	 L10/P4 -> MT23108 H-4536 P1
+	 L11/P4 -> MT23108 H-4537 P1
+	 L12/P4 -> MT23108 H-4538 P1
+	 L1/P5 -> MT23108 H-4539 P1
+	 L2/P5 -> MT23108 H-4540 P1
+	 L3/P5 -> MT23108 H-4541 P1
+	 L4/P5 -> MT23108 H-4542 P1
+	 L5/P5 -> MT23108 H-4543 P1
+	 L6/P5 -> MT23108 H-4544 P1
+	 L7/P5 -> MT23108 H-4545 P1
+	 L8/P5 -> MT23108 H-4546 P1
+	 L9/P5 -> MT23108 H-4547 P1
+	 L10/P5 -> MT23108 H-4548 P1
+	 L11/P5 -> MT23108 H-4549 P1
+	 L12/P5 -> MT23108 H-4550 P1
+	 L1/P6 -> MT23108 H-4551 P1
+	 L2/P6 -> MT23108 H-4552 P1
+	 L3/P6 -> MT23108 H-4553 P1
+	 L4/P6 -> MT23108 H-4554 P1
+	 L5/P6 -> MT23108 H-4555 P1
+	 L6/P6 -> MT23108 H-4556 P1
+	 L7/P6 -> MT23108 H-4557 P1
+	 L8/P6 -> MT23108 H-4558 P1
+	 L9/P6 -> MT23108 H-4559 P1
+	 L10/P6 -> MT23108 H-4560 P1
+	 L11/P6 -> MT23108 H-4561 P1
+	 L12/P6 -> MT23108 H-4562 P1
+	 L1/P7 -> MT23108 H-4563 P1
+	 L2/P7 -> MT23108 H-4564 P1
+	 L3/P7 -> MT23108 H-4565 P1
+	 L4/P7 -> MT23108 H-4566 P1
+	 L5/P7 -> MT23108 H-4567 P1
+	 L6/P7 -> MT23108 H-4568 P1
+	 L7/P7 -> MT23108 H-4569 P1
+	 L8/P7 -> MT23108 H-4570 P1
+	 L9/P7 -> MT23108 H-4571 P1
+	 L10/P7 -> MT23108 H-4572 P1
+	 L11/P7 -> MT23108 H-4573 P1
+	 L12/P7 -> MT23108 H-4574 P1
+	 L1/P8 -> MT23108 H-4575 P1
+	 L2/P8 -> MT23108 H-4576 P1
+	 L3/P8 -> MT23108 H-4577 P1
+	 L4/P8 -> MT23108 H-4578 P1
+	 L5/P8 -> MT23108 H-4579 P1
+	 L6/P8 -> MT23108 H-4580 P1
+	 L7/P8 -> MT23108 H-4581 P1
+	 L8/P8 -> MT23108 H-4582 P1
+	 L9/P8 -> MT23108 H-4583 P1
+	 L10/P8 -> MT23108 H-4584 P1
+	 L11/P8 -> MT23108 H-4585 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P6
+	 L2/P9 -> MTS14400 SL2-2 L6/P6
+	 L3/P9 -> MTS14400 SL2-3 L6/P6
+	 L4/P9 -> MTS14400 SL2-4 L6/P6
+	 L5/P9 -> MTS14400 SL2-5 L6/P6
+	 L6/P9 -> MTS14400 SL2-6 L6/P6
+	 L7/P9 -> MTS14400 SL2-7 L6/P6
+	 L8/P9 -> MTS14400 SL2-8 L6/P6
+	 L9/P9 -> MTS14400 SL2-9 L6/P6
+	 L10/P9 -> MTS14400 SL2-10 L6/P6
+	 L11/P9 -> MTS14400 SL2-11 L6/P6
+	 L12/P9 -> MTS14400 SL2-12 L6/P6
+	 L1/P10 -> MTS14400 SL2-13 L6/P6
+	 L2/P10 -> MTS14400 SL2-14 L6/P6
+	 L3/P10 -> MTS14400 SL2-15 L6/P6
+	 L4/P10 -> MTS14400 SL2-16 L6/P6
+	 L5/P10 -> MTS14400 SL2-17 L5/P6
+	 L6/P10 -> MTS14400 SL2-17 L6/P6
+	 L7/P10 -> MTS14400 SL2-18 L5/P6
+	 L8/P10 -> MTS14400 SL2-18 L6/P6
+	 L9/P10 -> MTS14400 SL2-19 L5/P6
+	 L10/P10 -> MTS14400 SL2-19 L6/P6
+	 L11/P10 -> MTS14400 SL2-20 L5/P6
+	 L12/P10 -> MTS14400 SL2-20 L6/P6
+	 L1/P11 -> MTS14400 SL2-21 L5/P6
+	 L2/P11 -> MTS14400 SL2-21 L6/P6
+	 L3/P11 -> MTS14400 SL2-22 L5/P6
+	 L4/P11 -> MTS14400 SL2-22 L6/P6
+	 L5/P11 -> MTS14400 SL2-23 L5/P6
+	 L6/P11 -> MTS14400 SL2-23 L6/P6
+	 L7/P11 -> MTS14400 SL2-24 L5/P6
+	 L8/P11 -> MTS14400 SL2-24 L6/P6
+	 L9/P11 -> MTS14400 SL2-25 L5/P6
+	 L10/P11 -> MTS14400 SL2-25 L6/P6
+	 L11/P11 -> MTS14400 SL2-26 L5/P6
+	 L12/P11 -> MTS14400 SL2-26 L6/P6
+	 L1/P12 -> MTS14400 SL2-27 L5/P6
+	 L2/P12 -> MTS14400 SL2-27 L6/P6
+	 L3/P12 -> MTS14400 SL2-28 L5/P6
+	 L4/P12 -> MTS14400 SL2-28 L6/P6
+	 L5/P12 -> MTS14400 SL2-29 L5/P6
+	 L6/P12 -> MTS14400 SL2-29 L6/P6
+	 L7/P12 -> MTS14400 SL2-30 L5/P6
+	 L8/P12 -> MTS14400 SL2-31 L5/P6
+	 L9/P12 -> MTS14400 SL2-32 L5/P6
+	 L10/P12 -> MTS14400 SL2-33 L5/P6
+	 L11/P12 -> MTS14400 SL2-34 L5/P6
+	 L12/P12 -> MTS14400 SL2-35 L5/P6
+
+MTS14400 SL1-49
+	 L1/P1 -> MT23108 H-4586 P1
+	 L2/P1 -> MT23108 H-4587 P1
+	 L3/P1 -> MT23108 H-4588 P1
+	 L4/P1 -> MT23108 H-4589 P1
+	 L5/P1 -> MT23108 H-4590 P1
+	 L6/P1 -> MT23108 H-4591 P1
+	 L7/P1 -> MT23108 H-4592 P1
+	 L8/P1 -> MT23108 H-4593 P1
+	 L9/P1 -> MT23108 H-4594 P1
+	 L10/P1 -> MT23108 H-4595 P1
+	 L11/P1 -> MT23108 H-4596 P1
+	 L12/P1 -> MT23108 H-4597 P1
+	 L1/P2 -> MT23108 H-4598 P1
+	 L2/P2 -> MT23108 H-4599 P1
+	 L3/P2 -> MT23108 H-4600 P1
+	 L4/P2 -> MT23108 H-4601 P1
+	 L5/P2 -> MT23108 H-4602 P1
+	 L6/P2 -> MT23108 H-4603 P1
+	 L7/P2 -> MT23108 H-4604 P1
+	 L8/P2 -> MT23108 H-4605 P1
+	 L9/P2 -> MT23108 H-4606 P1
+	 L10/P2 -> MT23108 H-4607 P1
+	 L11/P2 -> MT23108 H-4608 P1
+	 L12/P2 -> MT23108 H-4609 P1
+	 L1/P3 -> MT23108 H-4610 P1
+	 L2/P3 -> MT23108 H-4611 P1
+	 L3/P3 -> MT23108 H-4612 P1
+	 L4/P3 -> MT23108 H-4613 P1
+	 L5/P3 -> MT23108 H-4614 P1
+	 L6/P3 -> MT23108 H-4615 P1
+	 L7/P3 -> MT23108 H-4616 P1
+	 L8/P3 -> MT23108 H-4617 P1
+	 L9/P3 -> MT23108 H-4618 P1
+	 L10/P3 -> MT23108 H-4619 P1
+	 L11/P3 -> MT23108 H-4620 P1
+	 L12/P3 -> MT23108 H-4621 P1
+	 L1/P4 -> MT23108 H-4622 P1
+	 L2/P4 -> MT23108 H-4623 P1
+	 L3/P4 -> MT23108 H-4624 P1
+	 L4/P4 -> MT23108 H-4625 P1
+	 L5/P4 -> MT23108 H-4626 P1
+	 L6/P4 -> MT23108 H-4627 P1
+	 L7/P4 -> MT23108 H-4628 P1
+	 L8/P4 -> MT23108 H-4629 P1
+	 L9/P4 -> MT23108 H-4630 P1
+	 L10/P4 -> MT23108 H-4631 P1
+	 L11/P4 -> MT23108 H-4632 P1
+	 L12/P4 -> MT23108 H-4633 P1
+	 L1/P5 -> MT23108 H-4634 P1
+	 L2/P5 -> MT23108 H-4635 P1
+	 L3/P5 -> MT23108 H-4636 P1
+	 L4/P5 -> MT23108 H-4637 P1
+	 L5/P5 -> MT23108 H-4638 P1
+	 L6/P5 -> MT23108 H-4639 P1
+	 L7/P5 -> MT23108 H-4640 P1
+	 L8/P5 -> MT23108 H-4641 P1
+	 L9/P5 -> MT23108 H-4642 P1
+	 L10/P5 -> MT23108 H-4643 P1
+	 L11/P5 -> MT23108 H-4644 P1
+	 L12/P5 -> MT23108 H-4645 P1
+	 L1/P6 -> MT23108 H-4646 P1
+	 L2/P6 -> MT23108 H-4647 P1
+	 L3/P6 -> MT23108 H-4648 P1
+	 L4/P6 -> MT23108 H-4649 P1
+	 L5/P6 -> MT23108 H-4650 P1
+	 L6/P6 -> MT23108 H-4651 P1
+	 L7/P6 -> MT23108 H-4652 P1
+	 L8/P6 -> MT23108 H-4653 P1
+	 L9/P6 -> MT23108 H-4654 P1
+	 L10/P6 -> MT23108 H-4655 P1
+	 L11/P6 -> MT23108 H-4656 P1
+	 L12/P6 -> MT23108 H-4657 P1
+	 L1/P7 -> MT23108 H-4658 P1
+	 L2/P7 -> MT23108 H-4659 P1
+	 L3/P7 -> MT23108 H-4660 P1
+	 L4/P7 -> MT23108 H-4661 P1
+	 L5/P7 -> MT23108 H-4662 P1
+	 L6/P7 -> MT23108 H-4663 P1
+	 L7/P7 -> MT23108 H-4664 P1
+	 L8/P7 -> MT23108 H-4665 P1
+	 L9/P7 -> MT23108 H-4666 P1
+	 L10/P7 -> MT23108 H-4667 P1
+	 L11/P7 -> MT23108 H-4668 P1
+	 L12/P7 -> MT23108 H-4669 P1
+	 L1/P8 -> MT23108 H-4670 P1
+	 L2/P8 -> MT23108 H-4671 P1
+	 L3/P8 -> MT23108 H-4672 P1
+	 L4/P8 -> MT23108 H-4673 P1
+	 L5/P8 -> MT23108 H-4674 P1
+	 L6/P8 -> MT23108 H-4675 P1
+	 L7/P8 -> MT23108 H-4676 P1
+	 L8/P8 -> MT23108 H-4677 P1
+	 L9/P8 -> MT23108 H-4678 P1
+	 L10/P8 -> MT23108 H-4679 P1
+	 L11/P8 -> MT23108 H-4680 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P6
+	 L2/P9 -> MTS14400 SL2-1 L8/P6
+	 L3/P9 -> MTS14400 SL2-2 L7/P6
+	 L4/P9 -> MTS14400 SL2-2 L8/P6
+	 L5/P9 -> MTS14400 SL2-3 L7/P6
+	 L6/P9 -> MTS14400 SL2-3 L8/P6
+	 L7/P9 -> MTS14400 SL2-4 L7/P6
+	 L8/P9 -> MTS14400 SL2-4 L8/P6
+	 L9/P9 -> MTS14400 SL2-5 L7/P6
+	 L10/P9 -> MTS14400 SL2-5 L8/P6
+	 L11/P9 -> MTS14400 SL2-6 L7/P6
+	 L12/P9 -> MTS14400 SL2-6 L8/P6
+	 L1/P10 -> MTS14400 SL2-7 L7/P6
+	 L2/P10 -> MTS14400 SL2-7 L8/P6
+	 L3/P10 -> MTS14400 SL2-8 L7/P6
+	 L4/P10 -> MTS14400 SL2-9 L7/P6
+	 L5/P10 -> MTS14400 SL2-10 L7/P6
+	 L6/P10 -> MTS14400 SL2-11 L7/P6
+	 L7/P10 -> MTS14400 SL2-12 L7/P6
+	 L8/P10 -> MTS14400 SL2-13 L7/P6
+	 L9/P10 -> MTS14400 SL2-14 L7/P6
+	 L10/P10 -> MTS14400 SL2-15 L7/P6
+	 L11/P10 -> MTS14400 SL2-16 L7/P6
+	 L12/P10 -> MTS14400 SL2-17 L7/P6
+	 L1/P11 -> MTS14400 SL2-18 L7/P6
+	 L2/P11 -> MTS14400 SL2-19 L7/P6
+	 L3/P11 -> MTS14400 SL2-20 L7/P6
+	 L4/P11 -> MTS14400 SL2-21 L7/P6
+	 L5/P11 -> MTS14400 SL2-22 L7/P6
+	 L6/P11 -> MTS14400 SL2-23 L7/P6
+	 L7/P11 -> MTS14400 SL2-24 L7/P6
+	 L8/P11 -> MTS14400 SL2-25 L7/P6
+	 L9/P11 -> MTS14400 SL2-26 L7/P6
+	 L10/P11 -> MTS14400 SL2-27 L7/P6
+	 L11/P11 -> MTS14400 SL2-28 L7/P6
+	 L12/P11 -> MTS14400 SL2-29 L7/P6
+	 L1/P12 -> MTS14400 SL2-30 L6/P6
+	 L2/P12 -> MTS14400 SL2-30 L7/P6
+	 L3/P12 -> MTS14400 SL2-31 L6/P6
+	 L4/P12 -> MTS14400 SL2-31 L7/P6
+	 L5/P12 -> MTS14400 SL2-32 L6/P6
+	 L6/P12 -> MTS14400 SL2-32 L7/P6
+	 L7/P12 -> MTS14400 SL2-33 L6/P6
+	 L8/P12 -> MTS14400 SL2-33 L7/P6
+	 L9/P12 -> MTS14400 SL2-34 L6/P6
+	 L10/P12 -> MTS14400 SL2-34 L7/P6
+	 L11/P12 -> MTS14400 SL2-35 L6/P6
+	 L12/P12 -> MTS14400 SL2-35 L7/P6
+
+MTS14400 SL1-50
+	 L1/P1 -> MT23108 H-4681 P1
+	 L2/P1 -> MT23108 H-4682 P1
+	 L3/P1 -> MT23108 H-4683 P1
+	 L4/P1 -> MT23108 H-4684 P1
+	 L5/P1 -> MT23108 H-4685 P1
+	 L6/P1 -> MT23108 H-4686 P1
+	 L7/P1 -> MT23108 H-4687 P1
+	 L8/P1 -> MT23108 H-4688 P1
+	 L9/P1 -> MT23108 H-4689 P1
+	 L10/P1 -> MT23108 H-4690 P1
+	 L11/P1 -> MT23108 H-4691 P1
+	 L12/P1 -> MT23108 H-4692 P1
+	 L1/P2 -> MT23108 H-4693 P1
+	 L2/P2 -> MT23108 H-4694 P1
+	 L3/P2 -> MT23108 H-4695 P1
+	 L4/P2 -> MT23108 H-4696 P1
+	 L5/P2 -> MT23108 H-4697 P1
+	 L6/P2 -> MT23108 H-4698 P1
+	 L7/P2 -> MT23108 H-4699 P1
+	 L8/P2 -> MT23108 H-4700 P1
+	 L9/P2 -> MT23108 H-4701 P1
+	 L10/P2 -> MT23108 H-4702 P1
+	 L11/P2 -> MT23108 H-4703 P1
+	 L12/P2 -> MT23108 H-4704 P1
+	 L1/P3 -> MT23108 H-4705 P1
+	 L2/P3 -> MT23108 H-4706 P1
+	 L3/P3 -> MT23108 H-4707 P1
+	 L4/P3 -> MT23108 H-4708 P1
+	 L5/P3 -> MT23108 H-4709 P1
+	 L6/P3 -> MT23108 H-4710 P1
+	 L7/P3 -> MT23108 H-4711 P1
+	 L8/P3 -> MT23108 H-4712 P1
+	 L9/P3 -> MT23108 H-4713 P1
+	 L10/P3 -> MT23108 H-4714 P1
+	 L11/P3 -> MT23108 H-4715 P1
+	 L12/P3 -> MT23108 H-4716 P1
+	 L1/P4 -> MT23108 H-4717 P1
+	 L2/P4 -> MT23108 H-4718 P1
+	 L3/P4 -> MT23108 H-4719 P1
+	 L4/P4 -> MT23108 H-4720 P1
+	 L5/P4 -> MT23108 H-4721 P1
+	 L6/P4 -> MT23108 H-4722 P1
+	 L7/P4 -> MT23108 H-4723 P1
+	 L8/P4 -> MT23108 H-4724 P1
+	 L9/P4 -> MT23108 H-4725 P1
+	 L10/P4 -> MT23108 H-4726 P1
+	 L11/P4 -> MT23108 H-4727 P1
+	 L12/P4 -> MT23108 H-4728 P1
+	 L1/P5 -> MT23108 H-4729 P1
+	 L2/P5 -> MT23108 H-4730 P1
+	 L3/P5 -> MT23108 H-4731 P1
+	 L4/P5 -> MT23108 H-4732 P1
+	 L5/P5 -> MT23108 H-4733 P1
+	 L6/P5 -> MT23108 H-4734 P1
+	 L7/P5 -> MT23108 H-4735 P1
+	 L8/P5 -> MT23108 H-4736 P1
+	 L9/P5 -> MT23108 H-4737 P1
+	 L10/P5 -> MT23108 H-4738 P1
+	 L11/P5 -> MT23108 H-4739 P1
+	 L12/P5 -> MT23108 H-4740 P1
+	 L1/P6 -> MT23108 H-4741 P1
+	 L2/P6 -> MT23108 H-4742 P1
+	 L3/P6 -> MT23108 H-4743 P1
+	 L4/P6 -> MT23108 H-4744 P1
+	 L5/P6 -> MT23108 H-4745 P1
+	 L6/P6 -> MT23108 H-4746 P1
+	 L7/P6 -> MT23108 H-4747 P1
+	 L8/P6 -> MT23108 H-4748 P1
+	 L9/P6 -> MT23108 H-4749 P1
+	 L10/P6 -> MT23108 H-4750 P1
+	 L11/P6 -> MT23108 H-4751 P1
+	 L12/P6 -> MT23108 H-4752 P1
+	 L1/P7 -> MT23108 H-4753 P1
+	 L2/P7 -> MT23108 H-4754 P1
+	 L3/P7 -> MT23108 H-4755 P1
+	 L4/P7 -> MT23108 H-4756 P1
+	 L5/P7 -> MT23108 H-4757 P1
+	 L6/P7 -> MT23108 H-4758 P1
+	 L7/P7 -> MT23108 H-4759 P1
+	 L8/P7 -> MT23108 H-4760 P1
+	 L9/P7 -> MT23108 H-4761 P1
+	 L10/P7 -> MT23108 H-4762 P1
+	 L11/P7 -> MT23108 H-4763 P1
+	 L12/P7 -> MT23108 H-4764 P1
+	 L1/P8 -> MT23108 H-4765 P1
+	 L2/P8 -> MT23108 H-4766 P1
+	 L3/P8 -> MT23108 H-4767 P1
+	 L4/P8 -> MT23108 H-4768 P1
+	 L5/P8 -> MT23108 H-4769 P1
+	 L6/P8 -> MT23108 H-4770 P1
+	 L7/P8 -> MT23108 H-4771 P1
+	 L8/P8 -> MT23108 H-4772 P1
+	 L9/P8 -> MT23108 H-4773 P1
+	 L10/P8 -> MT23108 H-4774 P1
+	 L11/P8 -> MT23108 H-4775 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P6
+	 L2/P9 -> MTS14400 SL2-2 L9/P6
+	 L3/P9 -> MTS14400 SL2-3 L9/P6
+	 L4/P9 -> MTS14400 SL2-4 L9/P6
+	 L5/P9 -> MTS14400 SL2-5 L9/P6
+	 L6/P9 -> MTS14400 SL2-6 L9/P6
+	 L7/P9 -> MTS14400 SL2-7 L9/P6
+	 L8/P9 -> MTS14400 SL2-8 L8/P6
+	 L9/P9 -> MTS14400 SL2-8 L9/P6
+	 L10/P9 -> MTS14400 SL2-9 L8/P6
+	 L11/P9 -> MTS14400 SL2-9 L9/P6
+	 L12/P9 -> MTS14400 SL2-10 L8/P6
+	 L1/P10 -> MTS14400 SL2-10 L9/P6
+	 L2/P10 -> MTS14400 SL2-11 L8/P6
+	 L3/P10 -> MTS14400 SL2-11 L9/P6
+	 L4/P10 -> MTS14400 SL2-12 L8/P6
+	 L5/P10 -> MTS14400 SL2-12 L9/P6
+	 L6/P10 -> MTS14400 SL2-13 L8/P6
+	 L7/P10 -> MTS14400 SL2-13 L9/P6
+	 L8/P10 -> MTS14400 SL2-14 L8/P6
+	 L9/P10 -> MTS14400 SL2-14 L9/P6
+	 L10/P10 -> MTS14400 SL2-15 L8/P6
+	 L11/P10 -> MTS14400 SL2-15 L9/P6
+	 L12/P10 -> MTS14400 SL2-16 L8/P6
+	 L1/P11 -> MTS14400 SL2-16 L9/P6
+	 L2/P11 -> MTS14400 SL2-17 L8/P6
+	 L3/P11 -> MTS14400 SL2-17 L9/P6
+	 L4/P11 -> MTS14400 SL2-18 L8/P6
+	 L5/P11 -> MTS14400 SL2-18 L9/P6
+	 L6/P11 -> MTS14400 SL2-19 L8/P6
+	 L7/P11 -> MTS14400 SL2-19 L9/P6
+	 L8/P11 -> MTS14400 SL2-20 L8/P6
+	 L9/P11 -> MTS14400 SL2-20 L9/P6
+	 L10/P11 -> MTS14400 SL2-21 L8/P6
+	 L11/P11 -> MTS14400 SL2-22 L8/P6
+	 L12/P11 -> MTS14400 SL2-23 L8/P6
+	 L1/P12 -> MTS14400 SL2-24 L8/P6
+	 L2/P12 -> MTS14400 SL2-25 L8/P6
+	 L3/P12 -> MTS14400 SL2-26 L8/P6
+	 L4/P12 -> MTS14400 SL2-27 L8/P6
+	 L5/P12 -> MTS14400 SL2-28 L8/P6
+	 L6/P12 -> MTS14400 SL2-29 L8/P6
+	 L7/P12 -> MTS14400 SL2-30 L8/P6
+	 L8/P12 -> MTS14400 SL2-31 L8/P6
+	 L9/P12 -> MTS14400 SL2-32 L8/P6
+	 L10/P12 -> MTS14400 SL2-33 L8/P6
+	 L11/P12 -> MTS14400 SL2-34 L8/P6
+	 L12/P12 -> MTS14400 SL2-35 L8/P6
+
+MTS14400 SL1-51
+	 L1/P1 -> MT23108 H-4776 P1
+	 L2/P1 -> MT23108 H-4777 P1
+	 L3/P1 -> MT23108 H-4778 P1
+	 L4/P1 -> MT23108 H-4779 P1
+	 L5/P1 -> MT23108 H-4780 P1
+	 L6/P1 -> MT23108 H-4781 P1
+	 L7/P1 -> MT23108 H-4782 P1
+	 L8/P1 -> MT23108 H-4783 P1
+	 L9/P1 -> MT23108 H-4784 P1
+	 L10/P1 -> MT23108 H-4785 P1
+	 L11/P1 -> MT23108 H-4786 P1
+	 L12/P1 -> MT23108 H-4787 P1
+	 L1/P2 -> MT23108 H-4788 P1
+	 L2/P2 -> MT23108 H-4789 P1
+	 L3/P2 -> MT23108 H-4790 P1
+	 L4/P2 -> MT23108 H-4791 P1
+	 L5/P2 -> MT23108 H-4792 P1
+	 L6/P2 -> MT23108 H-4793 P1
+	 L7/P2 -> MT23108 H-4794 P1
+	 L8/P2 -> MT23108 H-4795 P1
+	 L9/P2 -> MT23108 H-4796 P1
+	 L10/P2 -> MT23108 H-4797 P1
+	 L11/P2 -> MT23108 H-4798 P1
+	 L12/P2 -> MT23108 H-4799 P1
+	 L1/P3 -> MT23108 H-4800 P1
+	 L2/P3 -> MT23108 H-4801 P1
+	 L3/P3 -> MT23108 H-4802 P1
+	 L4/P3 -> MT23108 H-4803 P1
+	 L5/P3 -> MT23108 H-4804 P1
+	 L6/P3 -> MT23108 H-4805 P1
+	 L7/P3 -> MT23108 H-4806 P1
+	 L8/P3 -> MT23108 H-4807 P1
+	 L9/P3 -> MT23108 H-4808 P1
+	 L10/P3 -> MT23108 H-4809 P1
+	 L11/P3 -> MT23108 H-4810 P1
+	 L12/P3 -> MT23108 H-4811 P1
+	 L1/P4 -> MT23108 H-4812 P1
+	 L2/P4 -> MT23108 H-4813 P1
+	 L3/P4 -> MT23108 H-4814 P1
+	 L4/P4 -> MT23108 H-4815 P1
+	 L5/P4 -> MT23108 H-4816 P1
+	 L6/P4 -> MT23108 H-4817 P1
+	 L7/P4 -> MT23108 H-4818 P1
+	 L8/P4 -> MT23108 H-4819 P1
+	 L9/P4 -> MT23108 H-4820 P1
+	 L10/P4 -> MT23108 H-4821 P1
+	 L11/P4 -> MT23108 H-4822 P1
+	 L12/P4 -> MT23108 H-4823 P1
+	 L1/P5 -> MT23108 H-4824 P1
+	 L2/P5 -> MT23108 H-4825 P1
+	 L3/P5 -> MT23108 H-4826 P1
+	 L4/P5 -> MT23108 H-4827 P1
+	 L5/P5 -> MT23108 H-4828 P1
+	 L6/P5 -> MT23108 H-4829 P1
+	 L7/P5 -> MT23108 H-4830 P1
+	 L8/P5 -> MT23108 H-4831 P1
+	 L9/P5 -> MT23108 H-4832 P1
+	 L10/P5 -> MT23108 H-4833 P1
+	 L11/P5 -> MT23108 H-4834 P1
+	 L12/P5 -> MT23108 H-4835 P1
+	 L1/P6 -> MT23108 H-4836 P1
+	 L2/P6 -> MT23108 H-4837 P1
+	 L3/P6 -> MT23108 H-4838 P1
+	 L4/P6 -> MT23108 H-4839 P1
+	 L5/P6 -> MT23108 H-4840 P1
+	 L6/P6 -> MT23108 H-4841 P1
+	 L7/P6 -> MT23108 H-4842 P1
+	 L8/P6 -> MT23108 H-4843 P1
+	 L9/P6 -> MT23108 H-4844 P1
+	 L10/P6 -> MT23108 H-4845 P1
+	 L11/P6 -> MT23108 H-4846 P1
+	 L12/P6 -> MT23108 H-4847 P1
+	 L1/P7 -> MT23108 H-4848 P1
+	 L2/P7 -> MT23108 H-4849 P1
+	 L3/P7 -> MT23108 H-4850 P1
+	 L4/P7 -> MT23108 H-4851 P1
+	 L5/P7 -> MT23108 H-4852 P1
+	 L6/P7 -> MT23108 H-4853 P1
+	 L7/P7 -> MT23108 H-4854 P1
+	 L8/P7 -> MT23108 H-4855 P1
+	 L9/P7 -> MT23108 H-4856 P1
+	 L10/P7 -> MT23108 H-4857 P1
+	 L11/P7 -> MT23108 H-4858 P1
+	 L12/P7 -> MT23108 H-4859 P1
+	 L1/P8 -> MT23108 H-4860 P1
+	 L2/P8 -> MT23108 H-4861 P1
+	 L3/P8 -> MT23108 H-4862 P1
+	 L4/P8 -> MT23108 H-4863 P1
+	 L5/P8 -> MT23108 H-4864 P1
+	 L6/P8 -> MT23108 H-4865 P1
+	 L7/P8 -> MT23108 H-4866 P1
+	 L8/P8 -> MT23108 H-4867 P1
+	 L9/P8 -> MT23108 H-4868 P1
+	 L10/P8 -> MT23108 H-4869 P1
+	 L11/P8 -> MT23108 H-4870 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P6
+	 L2/P9 -> MTS14400 SL2-2 L10/P6
+	 L3/P9 -> MTS14400 SL2-3 L10/P6
+	 L4/P9 -> MTS14400 SL2-4 L10/P6
+	 L5/P9 -> MTS14400 SL2-5 L10/P6
+	 L6/P9 -> MTS14400 SL2-6 L10/P6
+	 L7/P9 -> MTS14400 SL2-7 L10/P6
+	 L8/P9 -> MTS14400 SL2-8 L10/P6
+	 L9/P9 -> MTS14400 SL2-9 L10/P6
+	 L10/P9 -> MTS14400 SL2-10 L10/P6
+	 L11/P9 -> MTS14400 SL2-11 L10/P6
+	 L12/P9 -> MTS14400 SL2-12 L10/P6
+	 L1/P10 -> MTS14400 SL2-13 L10/P6
+	 L2/P10 -> MTS14400 SL2-14 L10/P6
+	 L3/P10 -> MTS14400 SL2-15 L10/P6
+	 L4/P10 -> MTS14400 SL2-16 L10/P6
+	 L5/P10 -> MTS14400 SL2-17 L10/P6
+	 L6/P10 -> MTS14400 SL2-18 L10/P6
+	 L7/P10 -> MTS14400 SL2-19 L10/P6
+	 L8/P10 -> MTS14400 SL2-20 L10/P6
+	 L9/P10 -> MTS14400 SL2-21 L9/P6
+	 L10/P10 -> MTS14400 SL2-21 L10/P6
+	 L11/P10 -> MTS14400 SL2-22 L9/P6
+	 L12/P10 -> MTS14400 SL2-22 L10/P6
+	 L1/P11 -> MTS14400 SL2-23 L9/P6
+	 L2/P11 -> MTS14400 SL2-23 L10/P6
+	 L3/P11 -> MTS14400 SL2-24 L9/P6
+	 L4/P11 -> MTS14400 SL2-24 L10/P6
+	 L5/P11 -> MTS14400 SL2-25 L9/P6
+	 L6/P11 -> MTS14400 SL2-25 L10/P6
+	 L7/P11 -> MTS14400 SL2-26 L9/P6
+	 L8/P11 -> MTS14400 SL2-26 L10/P6
+	 L9/P11 -> MTS14400 SL2-27 L9/P6
+	 L10/P11 -> MTS14400 SL2-27 L10/P6
+	 L11/P11 -> MTS14400 SL2-28 L9/P6
+	 L12/P11 -> MTS14400 SL2-28 L10/P6
+	 L1/P12 -> MTS14400 SL2-29 L9/P6
+	 L2/P12 -> MTS14400 SL2-29 L10/P6
+	 L3/P12 -> MTS14400 SL2-30 L9/P6
+	 L4/P12 -> MTS14400 SL2-30 L10/P6
+	 L5/P12 -> MTS14400 SL2-31 L9/P6
+	 L6/P12 -> MTS14400 SL2-31 L10/P6
+	 L7/P12 -> MTS14400 SL2-32 L9/P6
+	 L8/P12 -> MTS14400 SL2-32 L10/P6
+	 L9/P12 -> MTS14400 SL2-33 L9/P6
+	 L10/P12 -> MTS14400 SL2-33 L10/P6
+	 L11/P12 -> MTS14400 SL2-34 L9/P6
+	 L12/P12 -> MTS14400 SL2-35 L9/P6
+
+MTS14400 SL1-52
+	 L1/P1 -> MT23108 H-4871 P1
+	 L2/P1 -> MT23108 H-4872 P1
+	 L3/P1 -> MT23108 H-4873 P1
+	 L4/P1 -> MT23108 H-4874 P1
+	 L5/P1 -> MT23108 H-4875 P1
+	 L6/P1 -> MT23108 H-4876 P1
+	 L7/P1 -> MT23108 H-4877 P1
+	 L8/P1 -> MT23108 H-4878 P1
+	 L9/P1 -> MT23108 H-4879 P1
+	 L10/P1 -> MT23108 H-4880 P1
+	 L11/P1 -> MT23108 H-4881 P1
+	 L12/P1 -> MT23108 H-4882 P1
+	 L1/P2 -> MT23108 H-4883 P1
+	 L2/P2 -> MT23108 H-4884 P1
+	 L3/P2 -> MT23108 H-4885 P1
+	 L4/P2 -> MT23108 H-4886 P1
+	 L5/P2 -> MT23108 H-4887 P1
+	 L6/P2 -> MT23108 H-4888 P1
+	 L7/P2 -> MT23108 H-4889 P1
+	 L8/P2 -> MT23108 H-4890 P1
+	 L9/P2 -> MT23108 H-4891 P1
+	 L10/P2 -> MT23108 H-4892 P1
+	 L11/P2 -> MT23108 H-4893 P1
+	 L12/P2 -> MT23108 H-4894 P1
+	 L1/P3 -> MT23108 H-4895 P1
+	 L2/P3 -> MT23108 H-4896 P1
+	 L3/P3 -> MT23108 H-4897 P1
+	 L4/P3 -> MT23108 H-4898 P1
+	 L5/P3 -> MT23108 H-4899 P1
+	 L6/P3 -> MT23108 H-4900 P1
+	 L7/P3 -> MT23108 H-4901 P1
+	 L8/P3 -> MT23108 H-4902 P1
+	 L9/P3 -> MT23108 H-4903 P1
+	 L10/P3 -> MT23108 H-4904 P1
+	 L11/P3 -> MT23108 H-4905 P1
+	 L12/P3 -> MT23108 H-4906 P1
+	 L1/P4 -> MT23108 H-4907 P1
+	 L2/P4 -> MT23108 H-4908 P1
+	 L3/P4 -> MT23108 H-4909 P1
+	 L4/P4 -> MT23108 H-4910 P1
+	 L5/P4 -> MT23108 H-4911 P1
+	 L6/P4 -> MT23108 H-4912 P1
+	 L7/P4 -> MT23108 H-4913 P1
+	 L8/P4 -> MT23108 H-4914 P1
+	 L9/P4 -> MT23108 H-4915 P1
+	 L10/P4 -> MT23108 H-4916 P1
+	 L11/P4 -> MT23108 H-4917 P1
+	 L12/P4 -> MT23108 H-4918 P1
+	 L1/P5 -> MT23108 H-4919 P1
+	 L2/P5 -> MT23108 H-4920 P1
+	 L3/P5 -> MT23108 H-4921 P1
+	 L4/P5 -> MT23108 H-4922 P1
+	 L5/P5 -> MT23108 H-4923 P1
+	 L6/P5 -> MT23108 H-4924 P1
+	 L7/P5 -> MT23108 H-4925 P1
+	 L8/P5 -> MT23108 H-4926 P1
+	 L9/P5 -> MT23108 H-4927 P1
+	 L10/P5 -> MT23108 H-4928 P1
+	 L11/P5 -> MT23108 H-4929 P1
+	 L12/P5 -> MT23108 H-4930 P1
+	 L1/P6 -> MT23108 H-4931 P1
+	 L2/P6 -> MT23108 H-4932 P1
+	 L3/P6 -> MT23108 H-4933 P1
+	 L4/P6 -> MT23108 H-4934 P1
+	 L5/P6 -> MT23108 H-4935 P1
+	 L6/P6 -> MT23108 H-4936 P1
+	 L7/P6 -> MT23108 H-4937 P1
+	 L8/P6 -> MT23108 H-4938 P1
+	 L9/P6 -> MT23108 H-4939 P1
+	 L10/P6 -> MT23108 H-4940 P1
+	 L11/P6 -> MT23108 H-4941 P1
+	 L12/P6 -> MT23108 H-4942 P1
+	 L1/P7 -> MT23108 H-4943 P1
+	 L2/P7 -> MT23108 H-4944 P1
+	 L3/P7 -> MT23108 H-4945 P1
+	 L4/P7 -> MT23108 H-4946 P1
+	 L5/P7 -> MT23108 H-4947 P1
+	 L6/P7 -> MT23108 H-4948 P1
+	 L7/P7 -> MT23108 H-4949 P1
+	 L8/P7 -> MT23108 H-4950 P1
+	 L9/P7 -> MT23108 H-4951 P1
+	 L10/P7 -> MT23108 H-4952 P1
+	 L11/P7 -> MT23108 H-4953 P1
+	 L12/P7 -> MT23108 H-4954 P1
+	 L1/P8 -> MT23108 H-4955 P1
+	 L2/P8 -> MT23108 H-4956 P1
+	 L3/P8 -> MT23108 H-4957 P1
+	 L4/P8 -> MT23108 H-4958 P1
+	 L5/P8 -> MT23108 H-4959 P1
+	 L6/P8 -> MT23108 H-4960 P1
+	 L7/P8 -> MT23108 H-4961 P1
+	 L8/P8 -> MT23108 H-4962 P1
+	 L9/P8 -> MT23108 H-4963 P1
+	 L10/P8 -> MT23108 H-4964 P1
+	 L11/P8 -> MT23108 H-4965 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P6
+	 L2/P9 -> MTS14400 SL2-1 L12/P6
+	 L3/P9 -> MTS14400 SL2-2 L11/P6
+	 L4/P9 -> MTS14400 SL2-2 L12/P6
+	 L5/P9 -> MTS14400 SL2-3 L11/P6
+	 L6/P9 -> MTS14400 SL2-3 L12/P6
+	 L7/P9 -> MTS14400 SL2-4 L11/P6
+	 L8/P9 -> MTS14400 SL2-4 L12/P6
+	 L9/P9 -> MTS14400 SL2-5 L11/P6
+	 L10/P9 -> MTS14400 SL2-5 L12/P6
+	 L11/P9 -> MTS14400 SL2-6 L11/P6
+	 L12/P9 -> MTS14400 SL2-6 L12/P6
+	 L1/P10 -> MTS14400 SL2-7 L11/P6
+	 L2/P10 -> MTS14400 SL2-7 L12/P6
+	 L3/P10 -> MTS14400 SL2-8 L11/P6
+	 L4/P10 -> MTS14400 SL2-8 L12/P6
+	 L5/P10 -> MTS14400 SL2-9 L11/P6
+	 L6/P10 -> MTS14400 SL2-9 L12/P6
+	 L7/P10 -> MTS14400 SL2-10 L11/P6
+	 L8/P10 -> MTS14400 SL2-10 L12/P6
+	 L9/P10 -> MTS14400 SL2-11 L11/P6
+	 L10/P10 -> MTS14400 SL2-11 L12/P6
+	 L11/P10 -> MTS14400 SL2-12 L11/P6
+	 L12/P10 -> MTS14400 SL2-13 L11/P6
+	 L1/P11 -> MTS14400 SL2-14 L11/P6
+	 L2/P11 -> MTS14400 SL2-15 L11/P6
+	 L3/P11 -> MTS14400 SL2-16 L11/P6
+	 L4/P11 -> MTS14400 SL2-17 L11/P6
+	 L5/P11 -> MTS14400 SL2-18 L11/P6
+	 L6/P11 -> MTS14400 SL2-19 L11/P6
+	 L7/P11 -> MTS14400 SL2-20 L11/P6
+	 L8/P11 -> MTS14400 SL2-21 L11/P6
+	 L9/P11 -> MTS14400 SL2-22 L11/P6
+	 L10/P11 -> MTS14400 SL2-23 L11/P6
+	 L11/P11 -> MTS14400 SL2-24 L11/P6
+	 L12/P11 -> MTS14400 SL2-25 L11/P6
+	 L1/P12 -> MTS14400 SL2-26 L11/P6
+	 L2/P12 -> MTS14400 SL2-27 L11/P6
+	 L3/P12 -> MTS14400 SL2-28 L11/P6
+	 L4/P12 -> MTS14400 SL2-29 L11/P6
+	 L5/P12 -> MTS14400 SL2-30 L11/P6
+	 L6/P12 -> MTS14400 SL2-31 L11/P6
+	 L7/P12 -> MTS14400 SL2-32 L11/P6
+	 L8/P12 -> MTS14400 SL2-33 L11/P6
+	 L9/P12 -> MTS14400 SL2-34 L10/P6
+	 L10/P12 -> MTS14400 SL2-34 L11/P6
+	 L11/P12 -> MTS14400 SL2-35 L10/P6
+	 L12/P12 -> MTS14400 SL2-35 L11/P6
+
+MTS14400 SL1-53
+	 L1/P1 -> MT23108 H-4966 P1
+	 L2/P1 -> MT23108 H-4967 P1
+	 L3/P1 -> MT23108 H-4968 P1
+	 L4/P1 -> MT23108 H-4969 P1
+	 L5/P1 -> MT23108 H-4970 P1
+	 L6/P1 -> MT23108 H-4971 P1
+	 L7/P1 -> MT23108 H-4972 P1
+	 L8/P1 -> MT23108 H-4973 P1
+	 L9/P1 -> MT23108 H-4974 P1
+	 L10/P1 -> MT23108 H-4975 P1
+	 L11/P1 -> MT23108 H-4976 P1
+	 L12/P1 -> MT23108 H-4977 P1
+	 L1/P2 -> MT23108 H-4978 P1
+	 L2/P2 -> MT23108 H-4979 P1
+	 L3/P2 -> MT23108 H-4980 P1
+	 L4/P2 -> MT23108 H-4981 P1
+	 L5/P2 -> MT23108 H-4982 P1
+	 L6/P2 -> MT23108 H-4983 P1
+	 L7/P2 -> MT23108 H-4984 P1
+	 L8/P2 -> MT23108 H-4985 P1
+	 L9/P2 -> MT23108 H-4986 P1
+	 L10/P2 -> MT23108 H-4987 P1
+	 L11/P2 -> MT23108 H-4988 P1
+	 L12/P2 -> MT23108 H-4989 P1
+	 L1/P3 -> MT23108 H-4990 P1
+	 L2/P3 -> MT23108 H-4991 P1
+	 L3/P3 -> MT23108 H-4992 P1
+	 L4/P3 -> MT23108 H-4993 P1
+	 L5/P3 -> MT23108 H-4994 P1
+	 L6/P3 -> MT23108 H-4995 P1
+	 L7/P3 -> MT23108 H-4996 P1
+	 L8/P3 -> MT23108 H-4997 P1
+	 L9/P3 -> MT23108 H-4998 P1
+	 L10/P3 -> MT23108 H-4999 P1
+	 L11/P3 -> MT23108 H-5000 P1
+	 L12/P3 -> MT23108 H-5001 P1
+	 L1/P4 -> MT23108 H-5002 P1
+	 L2/P4 -> MT23108 H-5003 P1
+	 L3/P4 -> MT23108 H-5004 P1
+	 L4/P4 -> MT23108 H-5005 P1
+	 L5/P4 -> MT23108 H-5006 P1
+	 L6/P4 -> MT23108 H-5007 P1
+	 L7/P4 -> MT23108 H-5008 P1
+	 L8/P4 -> MT23108 H-5009 P1
+	 L9/P4 -> MT23108 H-5010 P1
+	 L10/P4 -> MT23108 H-5011 P1
+	 L11/P4 -> MT23108 H-5012 P1
+	 L12/P4 -> MT23108 H-5013 P1
+	 L1/P5 -> MT23108 H-5014 P1
+	 L2/P5 -> MT23108 H-5015 P1
+	 L3/P5 -> MT23108 H-5016 P1
+	 L4/P5 -> MT23108 H-5017 P1
+	 L5/P5 -> MT23108 H-5018 P1
+	 L6/P5 -> MT23108 H-5019 P1
+	 L7/P5 -> MT23108 H-5020 P1
+	 L8/P5 -> MT23108 H-5021 P1
+	 L9/P5 -> MT23108 H-5022 P1
+	 L10/P5 -> MT23108 H-5023 P1
+	 L11/P5 -> MT23108 H-5024 P1
+	 L12/P5 -> MT23108 H-5025 P1
+	 L1/P6 -> MT23108 H-5026 P1
+	 L2/P6 -> MT23108 H-5027 P1
+	 L3/P6 -> MT23108 H-5028 P1
+	 L4/P6 -> MT23108 H-5029 P1
+	 L5/P6 -> MT23108 H-5030 P1
+	 L6/P6 -> MT23108 H-5031 P1
+	 L7/P6 -> MT23108 H-5032 P1
+	 L8/P6 -> MT23108 H-5033 P1
+	 L9/P6 -> MT23108 H-5034 P1
+	 L10/P6 -> MT23108 H-5035 P1
+	 L11/P6 -> MT23108 H-5036 P1
+	 L12/P6 -> MT23108 H-5037 P1
+	 L1/P7 -> MT23108 H-5038 P1
+	 L2/P7 -> MT23108 H-5039 P1
+	 L3/P7 -> MT23108 H-5040 P1
+	 L4/P7 -> MT23108 H-5041 P1
+	 L5/P7 -> MT23108 H-5042 P1
+	 L6/P7 -> MT23108 H-5043 P1
+	 L7/P7 -> MT23108 H-5044 P1
+	 L8/P7 -> MT23108 H-5045 P1
+	 L9/P7 -> MT23108 H-5046 P1
+	 L10/P7 -> MT23108 H-5047 P1
+	 L11/P7 -> MT23108 H-5048 P1
+	 L12/P7 -> MT23108 H-5049 P1
+	 L1/P8 -> MT23108 H-5050 P1
+	 L2/P8 -> MT23108 H-5051 P1
+	 L3/P8 -> MT23108 H-5052 P1
+	 L4/P8 -> MT23108 H-5053 P1
+	 L5/P8 -> MT23108 H-5054 P1
+	 L6/P8 -> MT23108 H-5055 P1
+	 L7/P8 -> MT23108 H-5056 P1
+	 L8/P8 -> MT23108 H-5057 P1
+	 L9/P8 -> MT23108 H-5058 P1
+	 L10/P8 -> MT23108 H-5059 P1
+	 L11/P8 -> MT23108 H-5060 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P7
+	 L2/P9 -> MTS14400 SL2-2 L1/P7
+	 L3/P9 -> MTS14400 SL2-3 L1/P7
+	 L4/P9 -> MTS14400 SL2-4 L1/P7
+	 L5/P9 -> MTS14400 SL2-5 L1/P7
+	 L6/P9 -> MTS14400 SL2-6 L1/P7
+	 L7/P9 -> MTS14400 SL2-7 L1/P7
+	 L8/P9 -> MTS14400 SL2-8 L1/P7
+	 L9/P9 -> MTS14400 SL2-9 L1/P7
+	 L10/P9 -> MTS14400 SL2-10 L1/P7
+	 L11/P9 -> MTS14400 SL2-11 L1/P7
+	 L12/P9 -> MTS14400 SL2-12 L12/P6
+	 L1/P10 -> MTS14400 SL2-12 L1/P7
+	 L2/P10 -> MTS14400 SL2-13 L12/P6
+	 L3/P10 -> MTS14400 SL2-13 L1/P7
+	 L4/P10 -> MTS14400 SL2-14 L12/P6
+	 L5/P10 -> MTS14400 SL2-14 L1/P7
+	 L6/P10 -> MTS14400 SL2-15 L12/P6
+	 L7/P10 -> MTS14400 SL2-15 L1/P7
+	 L8/P10 -> MTS14400 SL2-16 L12/P6
+	 L9/P10 -> MTS14400 SL2-16 L1/P7
+	 L10/P10 -> MTS14400 SL2-17 L12/P6
+	 L11/P10 -> MTS14400 SL2-17 L1/P7
+	 L12/P10 -> MTS14400 SL2-18 L12/P6
+	 L1/P11 -> MTS14400 SL2-18 L1/P7
+	 L2/P11 -> MTS14400 SL2-19 L12/P6
+	 L3/P11 -> MTS14400 SL2-19 L1/P7
+	 L4/P11 -> MTS14400 SL2-20 L12/P6
+	 L5/P11 -> MTS14400 SL2-20 L1/P7
+	 L6/P11 -> MTS14400 SL2-21 L12/P6
+	 L7/P11 -> MTS14400 SL2-21 L1/P7
+	 L8/P11 -> MTS14400 SL2-22 L12/P6
+	 L9/P11 -> MTS14400 SL2-22 L1/P7
+	 L10/P11 -> MTS14400 SL2-23 L12/P6
+	 L11/P11 -> MTS14400 SL2-23 L1/P7
+	 L12/P11 -> MTS14400 SL2-24 L12/P6
+	 L1/P12 -> MTS14400 SL2-24 L1/P7
+	 L2/P12 -> MTS14400 SL2-25 L12/P6
+	 L3/P12 -> MTS14400 SL2-26 L12/P6
+	 L4/P12 -> MTS14400 SL2-27 L12/P6
+	 L5/P12 -> MTS14400 SL2-28 L12/P6
+	 L6/P12 -> MTS14400 SL2-29 L12/P6
+	 L7/P12 -> MTS14400 SL2-30 L12/P6
+	 L8/P12 -> MTS14400 SL2-31 L12/P6
+	 L9/P12 -> MTS14400 SL2-32 L12/P6
+	 L10/P12 -> MTS14400 SL2-33 L12/P6
+	 L11/P12 -> MTS14400 SL2-34 L12/P6
+	 L12/P12 -> MTS14400 SL2-35 L12/P6
+
+MTS14400 SL1-54
+	 L1/P1 -> MT23108 H-5061 P1
+	 L2/P1 -> MT23108 H-5062 P1
+	 L3/P1 -> MT23108 H-5063 P1
+	 L4/P1 -> MT23108 H-5064 P1
+	 L5/P1 -> MT23108 H-5065 P1
+	 L6/P1 -> MT23108 H-5066 P1
+	 L7/P1 -> MT23108 H-5067 P1
+	 L8/P1 -> MT23108 H-5068 P1
+	 L9/P1 -> MT23108 H-5069 P1
+	 L10/P1 -> MT23108 H-5070 P1
+	 L11/P1 -> MT23108 H-5071 P1
+	 L12/P1 -> MT23108 H-5072 P1
+	 L1/P2 -> MT23108 H-5073 P1
+	 L2/P2 -> MT23108 H-5074 P1
+	 L3/P2 -> MT23108 H-5075 P1
+	 L4/P2 -> MT23108 H-5076 P1
+	 L5/P2 -> MT23108 H-5077 P1
+	 L6/P2 -> MT23108 H-5078 P1
+	 L7/P2 -> MT23108 H-5079 P1
+	 L8/P2 -> MT23108 H-5080 P1
+	 L9/P2 -> MT23108 H-5081 P1
+	 L10/P2 -> MT23108 H-5082 P1
+	 L11/P2 -> MT23108 H-5083 P1
+	 L12/P2 -> MT23108 H-5084 P1
+	 L1/P3 -> MT23108 H-5085 P1
+	 L2/P3 -> MT23108 H-5086 P1
+	 L3/P3 -> MT23108 H-5087 P1
+	 L4/P3 -> MT23108 H-5088 P1
+	 L5/P3 -> MT23108 H-5089 P1
+	 L6/P3 -> MT23108 H-5090 P1
+	 L7/P3 -> MT23108 H-5091 P1
+	 L8/P3 -> MT23108 H-5092 P1
+	 L9/P3 -> MT23108 H-5093 P1
+	 L10/P3 -> MT23108 H-5094 P1
+	 L11/P3 -> MT23108 H-5095 P1
+	 L12/P3 -> MT23108 H-5096 P1
+	 L1/P4 -> MT23108 H-5097 P1
+	 L2/P4 -> MT23108 H-5098 P1
+	 L3/P4 -> MT23108 H-5099 P1
+	 L4/P4 -> MT23108 H-5100 P1
+	 L5/P4 -> MT23108 H-5101 P1
+	 L6/P4 -> MT23108 H-5102 P1
+	 L7/P4 -> MT23108 H-5103 P1
+	 L8/P4 -> MT23108 H-5104 P1
+	 L9/P4 -> MT23108 H-5105 P1
+	 L10/P4 -> MT23108 H-5106 P1
+	 L11/P4 -> MT23108 H-5107 P1
+	 L12/P4 -> MT23108 H-5108 P1
+	 L1/P5 -> MT23108 H-5109 P1
+	 L2/P5 -> MT23108 H-5110 P1
+	 L3/P5 -> MT23108 H-5111 P1
+	 L4/P5 -> MT23108 H-5112 P1
+	 L5/P5 -> MT23108 H-5113 P1
+	 L6/P5 -> MT23108 H-5114 P1
+	 L7/P5 -> MT23108 H-5115 P1
+	 L8/P5 -> MT23108 H-5116 P1
+	 L9/P5 -> MT23108 H-5117 P1
+	 L10/P5 -> MT23108 H-5118 P1
+	 L11/P5 -> MT23108 H-5119 P1
+	 L12/P5 -> MT23108 H-5120 P1
+	 L1/P6 -> MT23108 H-5121 P1
+	 L2/P6 -> MT23108 H-5122 P1
+	 L3/P6 -> MT23108 H-5123 P1
+	 L4/P6 -> MT23108 H-5124 P1
+	 L5/P6 -> MT23108 H-5125 P1
+	 L6/P6 -> MT23108 H-5126 P1
+	 L7/P6 -> MT23108 H-5127 P1
+	 L8/P6 -> MT23108 H-5128 P1
+	 L9/P6 -> MT23108 H-5129 P1
+	 L10/P6 -> MT23108 H-5130 P1
+	 L11/P6 -> MT23108 H-5131 P1
+	 L12/P6 -> MT23108 H-5132 P1
+	 L1/P7 -> MT23108 H-5133 P1
+	 L2/P7 -> MT23108 H-5134 P1
+	 L3/P7 -> MT23108 H-5135 P1
+	 L4/P7 -> MT23108 H-5136 P1
+	 L5/P7 -> MT23108 H-5137 P1
+	 L6/P7 -> MT23108 H-5138 P1
+	 L7/P7 -> MT23108 H-5139 P1
+	 L8/P7 -> MT23108 H-5140 P1
+	 L9/P7 -> MT23108 H-5141 P1
+	 L10/P7 -> MT23108 H-5142 P1
+	 L11/P7 -> MT23108 H-5143 P1
+	 L12/P7 -> MT23108 H-5144 P1
+	 L1/P8 -> MT23108 H-5145 P1
+	 L2/P8 -> MT23108 H-5146 P1
+	 L3/P8 -> MT23108 H-5147 P1
+	 L4/P8 -> MT23108 H-5148 P1
+	 L5/P8 -> MT23108 H-5149 P1
+	 L6/P8 -> MT23108 H-5150 P1
+	 L7/P8 -> MT23108 H-5151 P1
+	 L8/P8 -> MT23108 H-5152 P1
+	 L9/P8 -> MT23108 H-5153 P1
+	 L10/P8 -> MT23108 H-5154 P1
+	 L11/P8 -> MT23108 H-5155 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P7
+	 L2/P9 -> MTS14400 SL2-1 L3/P7
+	 L3/P9 -> MTS14400 SL2-2 L2/P7
+	 L4/P9 -> MTS14400 SL2-2 L3/P7
+	 L5/P9 -> MTS14400 SL2-3 L2/P7
+	 L6/P9 -> MTS14400 SL2-4 L2/P7
+	 L7/P9 -> MTS14400 SL2-5 L2/P7
+	 L8/P9 -> MTS14400 SL2-6 L2/P7
+	 L9/P9 -> MTS14400 SL2-7 L2/P7
+	 L10/P9 -> MTS14400 SL2-8 L2/P7
+	 L11/P9 -> MTS14400 SL2-9 L2/P7
+	 L12/P9 -> MTS14400 SL2-10 L2/P7
+	 L1/P10 -> MTS14400 SL2-11 L2/P7
+	 L2/P10 -> MTS14400 SL2-12 L2/P7
+	 L3/P10 -> MTS14400 SL2-13 L2/P7
+	 L4/P10 -> MTS14400 SL2-14 L2/P7
+	 L5/P10 -> MTS14400 SL2-15 L2/P7
+	 L6/P10 -> MTS14400 SL2-16 L2/P7
+	 L7/P10 -> MTS14400 SL2-17 L2/P7
+	 L8/P10 -> MTS14400 SL2-18 L2/P7
+	 L9/P10 -> MTS14400 SL2-19 L2/P7
+	 L10/P10 -> MTS14400 SL2-20 L2/P7
+	 L11/P10 -> MTS14400 SL2-21 L2/P7
+	 L12/P10 -> MTS14400 SL2-22 L2/P7
+	 L1/P11 -> MTS14400 SL2-23 L2/P7
+	 L2/P11 -> MTS14400 SL2-24 L2/P7
+	 L3/P11 -> MTS14400 SL2-25 L1/P7
+	 L4/P11 -> MTS14400 SL2-25 L2/P7
+	 L5/P11 -> MTS14400 SL2-26 L1/P7
+	 L6/P11 -> MTS14400 SL2-26 L2/P7
+	 L7/P11 -> MTS14400 SL2-27 L1/P7
+	 L8/P11 -> MTS14400 SL2-27 L2/P7
+	 L9/P11 -> MTS14400 SL2-28 L1/P7
+	 L10/P11 -> MTS14400 SL2-28 L2/P7
+	 L11/P11 -> MTS14400 SL2-29 L1/P7
+	 L12/P11 -> MTS14400 SL2-29 L2/P7
+	 L1/P12 -> MTS14400 SL2-30 L1/P7
+	 L2/P12 -> MTS14400 SL2-30 L2/P7
+	 L3/P12 -> MTS14400 SL2-31 L1/P7
+	 L4/P12 -> MTS14400 SL2-31 L2/P7
+	 L5/P12 -> MTS14400 SL2-32 L1/P7
+	 L6/P12 -> MTS14400 SL2-32 L2/P7
+	 L7/P12 -> MTS14400 SL2-33 L1/P7
+	 L8/P12 -> MTS14400 SL2-33 L2/P7
+	 L9/P12 -> MTS14400 SL2-34 L1/P7
+	 L10/P12 -> MTS14400 SL2-34 L2/P7
+	 L11/P12 -> MTS14400 SL2-35 L1/P7
+	 L12/P12 -> MTS14400 SL2-35 L2/P7
+
+MTS14400 SL1-55
+	 L1/P1 -> MT23108 H-5156 P1
+	 L2/P1 -> MT23108 H-5157 P1
+	 L3/P1 -> MT23108 H-5158 P1
+	 L4/P1 -> MT23108 H-5159 P1
+	 L5/P1 -> MT23108 H-5160 P1
+	 L6/P1 -> MT23108 H-5161 P1
+	 L7/P1 -> MT23108 H-5162 P1
+	 L8/P1 -> MT23108 H-5163 P1
+	 L9/P1 -> MT23108 H-5164 P1
+	 L10/P1 -> MT23108 H-5165 P1
+	 L11/P1 -> MT23108 H-5166 P1
+	 L12/P1 -> MT23108 H-5167 P1
+	 L1/P2 -> MT23108 H-5168 P1
+	 L2/P2 -> MT23108 H-5169 P1
+	 L3/P2 -> MT23108 H-5170 P1
+	 L4/P2 -> MT23108 H-5171 P1
+	 L5/P2 -> MT23108 H-5172 P1
+	 L6/P2 -> MT23108 H-5173 P1
+	 L7/P2 -> MT23108 H-5174 P1
+	 L8/P2 -> MT23108 H-5175 P1
+	 L9/P2 -> MT23108 H-5176 P1
+	 L10/P2 -> MT23108 H-5177 P1
+	 L11/P2 -> MT23108 H-5178 P1
+	 L12/P2 -> MT23108 H-5179 P1
+	 L1/P3 -> MT23108 H-5180 P1
+	 L2/P3 -> MT23108 H-5181 P1
+	 L3/P3 -> MT23108 H-5182 P1
+	 L4/P3 -> MT23108 H-5183 P1
+	 L5/P3 -> MT23108 H-5184 P1
+	 L6/P3 -> MT23108 H-5185 P1
+	 L7/P3 -> MT23108 H-5186 P1
+	 L8/P3 -> MT23108 H-5187 P1
+	 L9/P3 -> MT23108 H-5188 P1
+	 L10/P3 -> MT23108 H-5189 P1
+	 L11/P3 -> MT23108 H-5190 P1
+	 L12/P3 -> MT23108 H-5191 P1
+	 L1/P4 -> MT23108 H-5192 P1
+	 L2/P4 -> MT23108 H-5193 P1
+	 L3/P4 -> MT23108 H-5194 P1
+	 L4/P4 -> MT23108 H-5195 P1
+	 L5/P4 -> MT23108 H-5196 P1
+	 L6/P4 -> MT23108 H-5197 P1
+	 L7/P4 -> MT23108 H-5198 P1
+	 L8/P4 -> MT23108 H-5199 P1
+	 L9/P4 -> MT23108 H-5200 P1
+	 L10/P4 -> MT23108 H-5201 P1
+	 L11/P4 -> MT23108 H-5202 P1
+	 L12/P4 -> MT23108 H-5203 P1
+	 L1/P5 -> MT23108 H-5204 P1
+	 L2/P5 -> MT23108 H-5205 P1
+	 L3/P5 -> MT23108 H-5206 P1
+	 L4/P5 -> MT23108 H-5207 P1
+	 L5/P5 -> MT23108 H-5208 P1
+	 L6/P5 -> MT23108 H-5209 P1
+	 L7/P5 -> MT23108 H-5210 P1
+	 L8/P5 -> MT23108 H-5211 P1
+	 L9/P5 -> MT23108 H-5212 P1
+	 L10/P5 -> MT23108 H-5213 P1
+	 L11/P5 -> MT23108 H-5214 P1
+	 L12/P5 -> MT23108 H-5215 P1
+	 L1/P6 -> MT23108 H-5216 P1
+	 L2/P6 -> MT23108 H-5217 P1
+	 L3/P6 -> MT23108 H-5218 P1
+	 L4/P6 -> MT23108 H-5219 P1
+	 L5/P6 -> MT23108 H-5220 P1
+	 L6/P6 -> MT23108 H-5221 P1
+	 L7/P6 -> MT23108 H-5222 P1
+	 L8/P6 -> MT23108 H-5223 P1
+	 L9/P6 -> MT23108 H-5224 P1
+	 L10/P6 -> MT23108 H-5225 P1
+	 L11/P6 -> MT23108 H-5226 P1
+	 L12/P6 -> MT23108 H-5227 P1
+	 L1/P7 -> MT23108 H-5228 P1
+	 L2/P7 -> MT23108 H-5229 P1
+	 L3/P7 -> MT23108 H-5230 P1
+	 L4/P7 -> MT23108 H-5231 P1
+	 L5/P7 -> MT23108 H-5232 P1
+	 L6/P7 -> MT23108 H-5233 P1
+	 L7/P7 -> MT23108 H-5234 P1
+	 L8/P7 -> MT23108 H-5235 P1
+	 L9/P7 -> MT23108 H-5236 P1
+	 L10/P7 -> MT23108 H-5237 P1
+	 L11/P7 -> MT23108 H-5238 P1
+	 L12/P7 -> MT23108 H-5239 P1
+	 L1/P8 -> MT23108 H-5240 P1
+	 L2/P8 -> MT23108 H-5241 P1
+	 L3/P8 -> MT23108 H-5242 P1
+	 L4/P8 -> MT23108 H-5243 P1
+	 L5/P8 -> MT23108 H-5244 P1
+	 L6/P8 -> MT23108 H-5245 P1
+	 L7/P8 -> MT23108 H-5246 P1
+	 L8/P8 -> MT23108 H-5247 P1
+	 L9/P8 -> MT23108 H-5248 P1
+	 L10/P8 -> MT23108 H-5249 P1
+	 L11/P8 -> MT23108 H-5250 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P7
+	 L2/P9 -> MTS14400 SL2-2 L4/P7
+	 L3/P9 -> MTS14400 SL2-3 L3/P7
+	 L4/P9 -> MTS14400 SL2-3 L4/P7
+	 L5/P9 -> MTS14400 SL2-4 L3/P7
+	 L6/P9 -> MTS14400 SL2-4 L4/P7
+	 L7/P9 -> MTS14400 SL2-5 L3/P7
+	 L8/P9 -> MTS14400 SL2-5 L4/P7
+	 L9/P9 -> MTS14400 SL2-6 L3/P7
+	 L10/P9 -> MTS14400 SL2-6 L4/P7
+	 L11/P9 -> MTS14400 SL2-7 L3/P7
+	 L12/P9 -> MTS14400 SL2-7 L4/P7
+	 L1/P10 -> MTS14400 SL2-8 L3/P7
+	 L2/P10 -> MTS14400 SL2-8 L4/P7
+	 L3/P10 -> MTS14400 SL2-9 L3/P7
+	 L4/P10 -> MTS14400 SL2-9 L4/P7
+	 L5/P10 -> MTS14400 SL2-10 L3/P7
+	 L6/P10 -> MTS14400 SL2-10 L4/P7
+	 L7/P10 -> MTS14400 SL2-11 L3/P7
+	 L8/P10 -> MTS14400 SL2-11 L4/P7
+	 L9/P10 -> MTS14400 SL2-12 L3/P7
+	 L10/P10 -> MTS14400 SL2-12 L4/P7
+	 L11/P10 -> MTS14400 SL2-13 L3/P7
+	 L12/P10 -> MTS14400 SL2-13 L4/P7
+	 L1/P11 -> MTS14400 SL2-14 L3/P7
+	 L2/P11 -> MTS14400 SL2-14 L4/P7
+	 L3/P11 -> MTS14400 SL2-15 L3/P7
+	 L4/P11 -> MTS14400 SL2-15 L4/P7
+	 L5/P11 -> MTS14400 SL2-16 L3/P7
+	 L6/P11 -> MTS14400 SL2-17 L3/P7
+	 L7/P11 -> MTS14400 SL2-18 L3/P7
+	 L8/P11 -> MTS14400 SL2-19 L3/P7
+	 L9/P11 -> MTS14400 SL2-20 L3/P7
+	 L10/P11 -> MTS14400 SL2-21 L3/P7
+	 L11/P11 -> MTS14400 SL2-22 L3/P7
+	 L12/P11 -> MTS14400 SL2-23 L3/P7
+	 L1/P12 -> MTS14400 SL2-24 L3/P7
+	 L2/P12 -> MTS14400 SL2-25 L3/P7
+	 L3/P12 -> MTS14400 SL2-26 L3/P7
+	 L4/P12 -> MTS14400 SL2-27 L3/P7
+	 L5/P12 -> MTS14400 SL2-28 L3/P7
+	 L6/P12 -> MTS14400 SL2-29 L3/P7
+	 L7/P12 -> MTS14400 SL2-30 L3/P7
+	 L8/P12 -> MTS14400 SL2-31 L3/P7
+	 L9/P12 -> MTS14400 SL2-32 L3/P7
+	 L10/P12 -> MTS14400 SL2-33 L3/P7
+	 L11/P12 -> MTS14400 SL2-34 L3/P7
+	 L12/P12 -> MTS14400 SL2-35 L3/P7
+
+MTS14400 SL1-56
+	 L1/P1 -> MT23108 H-5251 P1
+	 L2/P1 -> MT23108 H-5252 P1
+	 L3/P1 -> MT23108 H-5253 P1
+	 L4/P1 -> MT23108 H-5254 P1
+	 L5/P1 -> MT23108 H-5255 P1
+	 L6/P1 -> MT23108 H-5256 P1
+	 L7/P1 -> MT23108 H-5257 P1
+	 L8/P1 -> MT23108 H-5258 P1
+	 L9/P1 -> MT23108 H-5259 P1
+	 L10/P1 -> MT23108 H-5260 P1
+	 L11/P1 -> MT23108 H-5261 P1
+	 L12/P1 -> MT23108 H-5262 P1
+	 L1/P2 -> MT23108 H-5263 P1
+	 L2/P2 -> MT23108 H-5264 P1
+	 L3/P2 -> MT23108 H-5265 P1
+	 L4/P2 -> MT23108 H-5266 P1
+	 L5/P2 -> MT23108 H-5267 P1
+	 L6/P2 -> MT23108 H-5268 P1
+	 L7/P2 -> MT23108 H-5269 P1
+	 L8/P2 -> MT23108 H-5270 P1
+	 L9/P2 -> MT23108 H-5271 P1
+	 L10/P2 -> MT23108 H-5272 P1
+	 L11/P2 -> MT23108 H-5273 P1
+	 L12/P2 -> MT23108 H-5274 P1
+	 L1/P3 -> MT23108 H-5275 P1
+	 L2/P3 -> MT23108 H-5276 P1
+	 L3/P3 -> MT23108 H-5277 P1
+	 L4/P3 -> MT23108 H-5278 P1
+	 L5/P3 -> MT23108 H-5279 P1
+	 L6/P3 -> MT23108 H-5280 P1
+	 L7/P3 -> MT23108 H-5281 P1
+	 L8/P3 -> MT23108 H-5282 P1
+	 L9/P3 -> MT23108 H-5283 P1
+	 L10/P3 -> MT23108 H-5284 P1
+	 L11/P3 -> MT23108 H-5285 P1
+	 L12/P3 -> MT23108 H-5286 P1
+	 L1/P4 -> MT23108 H-5287 P1
+	 L2/P4 -> MT23108 H-5288 P1
+	 L3/P4 -> MT23108 H-5289 P1
+	 L4/P4 -> MT23108 H-5290 P1
+	 L5/P4 -> MT23108 H-5291 P1
+	 L6/P4 -> MT23108 H-5292 P1
+	 L7/P4 -> MT23108 H-5293 P1
+	 L8/P4 -> MT23108 H-5294 P1
+	 L9/P4 -> MT23108 H-5295 P1
+	 L10/P4 -> MT23108 H-5296 P1
+	 L11/P4 -> MT23108 H-5297 P1
+	 L12/P4 -> MT23108 H-5298 P1
+	 L1/P5 -> MT23108 H-5299 P1
+	 L2/P5 -> MT23108 H-5300 P1
+	 L3/P5 -> MT23108 H-5301 P1
+	 L4/P5 -> MT23108 H-5302 P1
+	 L5/P5 -> MT23108 H-5303 P1
+	 L6/P5 -> MT23108 H-5304 P1
+	 L7/P5 -> MT23108 H-5305 P1
+	 L8/P5 -> MT23108 H-5306 P1
+	 L9/P5 -> MT23108 H-5307 P1
+	 L10/P5 -> MT23108 H-5308 P1
+	 L11/P5 -> MT23108 H-5309 P1
+	 L12/P5 -> MT23108 H-5310 P1
+	 L1/P6 -> MT23108 H-5311 P1
+	 L2/P6 -> MT23108 H-5312 P1
+	 L3/P6 -> MT23108 H-5313 P1
+	 L4/P6 -> MT23108 H-5314 P1
+	 L5/P6 -> MT23108 H-5315 P1
+	 L6/P6 -> MT23108 H-5316 P1
+	 L7/P6 -> MT23108 H-5317 P1
+	 L8/P6 -> MT23108 H-5318 P1
+	 L9/P6 -> MT23108 H-5319 P1
+	 L10/P6 -> MT23108 H-5320 P1
+	 L11/P6 -> MT23108 H-5321 P1
+	 L12/P6 -> MT23108 H-5322 P1
+	 L1/P7 -> MT23108 H-5323 P1
+	 L2/P7 -> MT23108 H-5324 P1
+	 L3/P7 -> MT23108 H-5325 P1
+	 L4/P7 -> MT23108 H-5326 P1
+	 L5/P7 -> MT23108 H-5327 P1
+	 L6/P7 -> MT23108 H-5328 P1
+	 L7/P7 -> MT23108 H-5329 P1
+	 L8/P7 -> MT23108 H-5330 P1
+	 L9/P7 -> MT23108 H-5331 P1
+	 L10/P7 -> MT23108 H-5332 P1
+	 L11/P7 -> MT23108 H-5333 P1
+	 L12/P7 -> MT23108 H-5334 P1
+	 L1/P8 -> MT23108 H-5335 P1
+	 L2/P8 -> MT23108 H-5336 P1
+	 L3/P8 -> MT23108 H-5337 P1
+	 L4/P8 -> MT23108 H-5338 P1
+	 L5/P8 -> MT23108 H-5339 P1
+	 L6/P8 -> MT23108 H-5340 P1
+	 L7/P8 -> MT23108 H-5341 P1
+	 L8/P8 -> MT23108 H-5342 P1
+	 L9/P8 -> MT23108 H-5343 P1
+	 L10/P8 -> MT23108 H-5344 P1
+	 L11/P8 -> MT23108 H-5345 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P7
+	 L2/P9 -> MTS14400 SL2-2 L5/P7
+	 L3/P9 -> MTS14400 SL2-3 L5/P7
+	 L4/P9 -> MTS14400 SL2-4 L5/P7
+	 L5/P9 -> MTS14400 SL2-5 L5/P7
+	 L6/P9 -> MTS14400 SL2-6 L5/P7
+	 L7/P9 -> MTS14400 SL2-7 L5/P7
+	 L8/P9 -> MTS14400 SL2-8 L5/P7
+	 L9/P9 -> MTS14400 SL2-9 L5/P7
+	 L10/P9 -> MTS14400 SL2-10 L5/P7
+	 L11/P9 -> MTS14400 SL2-11 L5/P7
+	 L12/P9 -> MTS14400 SL2-12 L5/P7
+	 L1/P10 -> MTS14400 SL2-13 L5/P7
+	 L2/P10 -> MTS14400 SL2-14 L5/P7
+	 L3/P10 -> MTS14400 SL2-15 L5/P7
+	 L4/P10 -> MTS14400 SL2-16 L4/P7
+	 L5/P10 -> MTS14400 SL2-16 L5/P7
+	 L6/P10 -> MTS14400 SL2-17 L4/P7
+	 L7/P10 -> MTS14400 SL2-17 L5/P7
+	 L8/P10 -> MTS14400 SL2-18 L4/P7
+	 L9/P10 -> MTS14400 SL2-18 L5/P7
+	 L10/P10 -> MTS14400 SL2-19 L4/P7
+	 L11/P10 -> MTS14400 SL2-19 L5/P7
+	 L12/P10 -> MTS14400 SL2-20 L4/P7
+	 L1/P11 -> MTS14400 SL2-20 L5/P7
+	 L2/P11 -> MTS14400 SL2-21 L4/P7
+	 L3/P11 -> MTS14400 SL2-21 L5/P7
+	 L4/P11 -> MTS14400 SL2-22 L4/P7
+	 L5/P11 -> MTS14400 SL2-22 L5/P7
+	 L6/P11 -> MTS14400 SL2-23 L4/P7
+	 L7/P11 -> MTS14400 SL2-23 L5/P7
+	 L8/P11 -> MTS14400 SL2-24 L4/P7
+	 L9/P11 -> MTS14400 SL2-24 L5/P7
+	 L10/P11 -> MTS14400 SL2-25 L4/P7
+	 L11/P11 -> MTS14400 SL2-25 L5/P7
+	 L12/P11 -> MTS14400 SL2-26 L4/P7
+	 L1/P12 -> MTS14400 SL2-26 L5/P7
+	 L2/P12 -> MTS14400 SL2-27 L4/P7
+	 L3/P12 -> MTS14400 SL2-27 L5/P7
+	 L4/P12 -> MTS14400 SL2-28 L4/P7
+	 L5/P12 -> MTS14400 SL2-28 L5/P7
+	 L6/P12 -> MTS14400 SL2-29 L4/P7
+	 L7/P12 -> MTS14400 SL2-30 L4/P7
+	 L8/P12 -> MTS14400 SL2-31 L4/P7
+	 L9/P12 -> MTS14400 SL2-32 L4/P7
+	 L10/P12 -> MTS14400 SL2-33 L4/P7
+	 L11/P12 -> MTS14400 SL2-34 L4/P7
+	 L12/P12 -> MTS14400 SL2-35 L4/P7
+
+MTS14400 SL1-57
+	 L1/P1 -> MT23108 H-5346 P1
+	 L2/P1 -> MT23108 H-5347 P1
+	 L3/P1 -> MT23108 H-5348 P1
+	 L4/P1 -> MT23108 H-5349 P1
+	 L5/P1 -> MT23108 H-5350 P1
+	 L6/P1 -> MT23108 H-5351 P1
+	 L7/P1 -> MT23108 H-5352 P1
+	 L8/P1 -> MT23108 H-5353 P1
+	 L9/P1 -> MT23108 H-5354 P1
+	 L10/P1 -> MT23108 H-5355 P1
+	 L11/P1 -> MT23108 H-5356 P1
+	 L12/P1 -> MT23108 H-5357 P1
+	 L1/P2 -> MT23108 H-5358 P1
+	 L2/P2 -> MT23108 H-5359 P1
+	 L3/P2 -> MT23108 H-5360 P1
+	 L4/P2 -> MT23108 H-5361 P1
+	 L5/P2 -> MT23108 H-5362 P1
+	 L6/P2 -> MT23108 H-5363 P1
+	 L7/P2 -> MT23108 H-5364 P1
+	 L8/P2 -> MT23108 H-5365 P1
+	 L9/P2 -> MT23108 H-5366 P1
+	 L10/P2 -> MT23108 H-5367 P1
+	 L11/P2 -> MT23108 H-5368 P1
+	 L12/P2 -> MT23108 H-5369 P1
+	 L1/P3 -> MT23108 H-5370 P1
+	 L2/P3 -> MT23108 H-5371 P1
+	 L3/P3 -> MT23108 H-5372 P1
+	 L4/P3 -> MT23108 H-5373 P1
+	 L5/P3 -> MT23108 H-5374 P1
+	 L6/P3 -> MT23108 H-5375 P1
+	 L7/P3 -> MT23108 H-5376 P1
+	 L8/P3 -> MT23108 H-5377 P1
+	 L9/P3 -> MT23108 H-5378 P1
+	 L10/P3 -> MT23108 H-5379 P1
+	 L11/P3 -> MT23108 H-5380 P1
+	 L12/P3 -> MT23108 H-5381 P1
+	 L1/P4 -> MT23108 H-5382 P1
+	 L2/P4 -> MT23108 H-5383 P1
+	 L3/P4 -> MT23108 H-5384 P1
+	 L4/P4 -> MT23108 H-5385 P1
+	 L5/P4 -> MT23108 H-5386 P1
+	 L6/P4 -> MT23108 H-5387 P1
+	 L7/P4 -> MT23108 H-5388 P1
+	 L8/P4 -> MT23108 H-5389 P1
+	 L9/P4 -> MT23108 H-5390 P1
+	 L10/P4 -> MT23108 H-5391 P1
+	 L11/P4 -> MT23108 H-5392 P1
+	 L12/P4 -> MT23108 H-5393 P1
+	 L1/P5 -> MT23108 H-5394 P1
+	 L2/P5 -> MT23108 H-5395 P1
+	 L3/P5 -> MT23108 H-5396 P1
+	 L4/P5 -> MT23108 H-5397 P1
+	 L5/P5 -> MT23108 H-5398 P1
+	 L6/P5 -> MT23108 H-5399 P1
+	 L7/P5 -> MT23108 H-5400 P1
+	 L8/P5 -> MT23108 H-5401 P1
+	 L9/P5 -> MT23108 H-5402 P1
+	 L10/P5 -> MT23108 H-5403 P1
+	 L11/P5 -> MT23108 H-5404 P1
+	 L12/P5 -> MT23108 H-5405 P1
+	 L1/P6 -> MT23108 H-5406 P1
+	 L2/P6 -> MT23108 H-5407 P1
+	 L3/P6 -> MT23108 H-5408 P1
+	 L4/P6 -> MT23108 H-5409 P1
+	 L5/P6 -> MT23108 H-5410 P1
+	 L6/P6 -> MT23108 H-5411 P1
+	 L7/P6 -> MT23108 H-5412 P1
+	 L8/P6 -> MT23108 H-5413 P1
+	 L9/P6 -> MT23108 H-5414 P1
+	 L10/P6 -> MT23108 H-5415 P1
+	 L11/P6 -> MT23108 H-5416 P1
+	 L12/P6 -> MT23108 H-5417 P1
+	 L1/P7 -> MT23108 H-5418 P1
+	 L2/P7 -> MT23108 H-5419 P1
+	 L3/P7 -> MT23108 H-5420 P1
+	 L4/P7 -> MT23108 H-5421 P1
+	 L5/P7 -> MT23108 H-5422 P1
+	 L6/P7 -> MT23108 H-5423 P1
+	 L7/P7 -> MT23108 H-5424 P1
+	 L8/P7 -> MT23108 H-5425 P1
+	 L9/P7 -> MT23108 H-5426 P1
+	 L10/P7 -> MT23108 H-5427 P1
+	 L11/P7 -> MT23108 H-5428 P1
+	 L12/P7 -> MT23108 H-5429 P1
+	 L1/P8 -> MT23108 H-5430 P1
+	 L2/P8 -> MT23108 H-5431 P1
+	 L3/P8 -> MT23108 H-5432 P1
+	 L4/P8 -> MT23108 H-5433 P1
+	 L5/P8 -> MT23108 H-5434 P1
+	 L6/P8 -> MT23108 H-5435 P1
+	 L7/P8 -> MT23108 H-5436 P1
+	 L8/P8 -> MT23108 H-5437 P1
+	 L9/P8 -> MT23108 H-5438 P1
+	 L10/P8 -> MT23108 H-5439 P1
+	 L11/P8 -> MT23108 H-5440 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P7
+	 L2/P9 -> MTS14400 SL2-1 L7/P7
+	 L3/P9 -> MTS14400 SL2-2 L6/P7
+	 L4/P9 -> MTS14400 SL2-2 L7/P7
+	 L5/P9 -> MTS14400 SL2-3 L6/P7
+	 L6/P9 -> MTS14400 SL2-3 L7/P7
+	 L7/P9 -> MTS14400 SL2-4 L6/P7
+	 L8/P9 -> MTS14400 SL2-4 L7/P7
+	 L9/P9 -> MTS14400 SL2-5 L6/P7
+	 L10/P9 -> MTS14400 SL2-5 L7/P7
+	 L11/P9 -> MTS14400 SL2-6 L6/P7
+	 L12/P9 -> MTS14400 SL2-6 L7/P7
+	 L1/P10 -> MTS14400 SL2-7 L6/P7
+	 L2/P10 -> MTS14400 SL2-8 L6/P7
+	 L3/P10 -> MTS14400 SL2-9 L6/P7
+	 L4/P10 -> MTS14400 SL2-10 L6/P7
+	 L5/P10 -> MTS14400 SL2-11 L6/P7
+	 L6/P10 -> MTS14400 SL2-12 L6/P7
+	 L7/P10 -> MTS14400 SL2-13 L6/P7
+	 L8/P10 -> MTS14400 SL2-14 L6/P7
+	 L9/P10 -> MTS14400 SL2-15 L6/P7
+	 L10/P10 -> MTS14400 SL2-16 L6/P7
+	 L11/P10 -> MTS14400 SL2-17 L6/P7
+	 L12/P10 -> MTS14400 SL2-18 L6/P7
+	 L1/P11 -> MTS14400 SL2-19 L6/P7
+	 L2/P11 -> MTS14400 SL2-20 L6/P7
+	 L3/P11 -> MTS14400 SL2-21 L6/P7
+	 L4/P11 -> MTS14400 SL2-22 L6/P7
+	 L5/P11 -> MTS14400 SL2-23 L6/P7
+	 L6/P11 -> MTS14400 SL2-24 L6/P7
+	 L7/P11 -> MTS14400 SL2-25 L6/P7
+	 L8/P11 -> MTS14400 SL2-26 L6/P7
+	 L9/P11 -> MTS14400 SL2-27 L6/P7
+	 L10/P11 -> MTS14400 SL2-28 L6/P7
+	 L11/P11 -> MTS14400 SL2-29 L5/P7
+	 L12/P11 -> MTS14400 SL2-29 L6/P7
+	 L1/P12 -> MTS14400 SL2-30 L5/P7
+	 L2/P12 -> MTS14400 SL2-30 L6/P7
+	 L3/P12 -> MTS14400 SL2-31 L5/P7
+	 L4/P12 -> MTS14400 SL2-31 L6/P7
+	 L5/P12 -> MTS14400 SL2-32 L5/P7
+	 L6/P12 -> MTS14400 SL2-32 L6/P7
+	 L7/P12 -> MTS14400 SL2-33 L5/P7
+	 L8/P12 -> MTS14400 SL2-33 L6/P7
+	 L9/P12 -> MTS14400 SL2-34 L5/P7
+	 L10/P12 -> MTS14400 SL2-34 L6/P7
+	 L11/P12 -> MTS14400 SL2-35 L5/P7
+	 L12/P12 -> MTS14400 SL2-35 L6/P7
+
+MTS14400 SL1-58
+	 L1/P1 -> MT23108 H-5441 P1
+	 L2/P1 -> MT23108 H-5442 P1
+	 L3/P1 -> MT23108 H-5443 P1
+	 L4/P1 -> MT23108 H-5444 P1
+	 L5/P1 -> MT23108 H-5445 P1
+	 L6/P1 -> MT23108 H-5446 P1
+	 L7/P1 -> MT23108 H-5447 P1
+	 L8/P1 -> MT23108 H-5448 P1
+	 L9/P1 -> MT23108 H-5449 P1
+	 L10/P1 -> MT23108 H-5450 P1
+	 L11/P1 -> MT23108 H-5451 P1
+	 L12/P1 -> MT23108 H-5452 P1
+	 L1/P2 -> MT23108 H-5453 P1
+	 L2/P2 -> MT23108 H-5454 P1
+	 L3/P2 -> MT23108 H-5455 P1
+	 L4/P2 -> MT23108 H-5456 P1
+	 L5/P2 -> MT23108 H-5457 P1
+	 L6/P2 -> MT23108 H-5458 P1
+	 L7/P2 -> MT23108 H-5459 P1
+	 L8/P2 -> MT23108 H-5460 P1
+	 L9/P2 -> MT23108 H-5461 P1
+	 L10/P2 -> MT23108 H-5462 P1
+	 L11/P2 -> MT23108 H-5463 P1
+	 L12/P2 -> MT23108 H-5464 P1
+	 L1/P3 -> MT23108 H-5465 P1
+	 L2/P3 -> MT23108 H-5466 P1
+	 L3/P3 -> MT23108 H-5467 P1
+	 L4/P3 -> MT23108 H-5468 P1
+	 L5/P3 -> MT23108 H-5469 P1
+	 L6/P3 -> MT23108 H-5470 P1
+	 L7/P3 -> MT23108 H-5471 P1
+	 L8/P3 -> MT23108 H-5472 P1
+	 L9/P3 -> MT23108 H-5473 P1
+	 L10/P3 -> MT23108 H-5474 P1
+	 L11/P3 -> MT23108 H-5475 P1
+	 L12/P3 -> MT23108 H-5476 P1
+	 L1/P4 -> MT23108 H-5477 P1
+	 L2/P4 -> MT23108 H-5478 P1
+	 L3/P4 -> MT23108 H-5479 P1
+	 L4/P4 -> MT23108 H-5480 P1
+	 L5/P4 -> MT23108 H-5481 P1
+	 L6/P4 -> MT23108 H-5482 P1
+	 L7/P4 -> MT23108 H-5483 P1
+	 L8/P4 -> MT23108 H-5484 P1
+	 L9/P4 -> MT23108 H-5485 P1
+	 L10/P4 -> MT23108 H-5486 P1
+	 L11/P4 -> MT23108 H-5487 P1
+	 L12/P4 -> MT23108 H-5488 P1
+	 L1/P5 -> MT23108 H-5489 P1
+	 L2/P5 -> MT23108 H-5490 P1
+	 L3/P5 -> MT23108 H-5491 P1
+	 L4/P5 -> MT23108 H-5492 P1
+	 L5/P5 -> MT23108 H-5493 P1
+	 L6/P5 -> MT23108 H-5494 P1
+	 L7/P5 -> MT23108 H-5495 P1
+	 L8/P5 -> MT23108 H-5496 P1
+	 L9/P5 -> MT23108 H-5497 P1
+	 L10/P5 -> MT23108 H-5498 P1
+	 L11/P5 -> MT23108 H-5499 P1
+	 L12/P5 -> MT23108 H-5500 P1
+	 L1/P6 -> MT23108 H-5501 P1
+	 L2/P6 -> MT23108 H-5502 P1
+	 L3/P6 -> MT23108 H-5503 P1
+	 L4/P6 -> MT23108 H-5504 P1
+	 L5/P6 -> MT23108 H-5505 P1
+	 L6/P6 -> MT23108 H-5506 P1
+	 L7/P6 -> MT23108 H-5507 P1
+	 L8/P6 -> MT23108 H-5508 P1
+	 L9/P6 -> MT23108 H-5509 P1
+	 L10/P6 -> MT23108 H-5510 P1
+	 L11/P6 -> MT23108 H-5511 P1
+	 L12/P6 -> MT23108 H-5512 P1
+	 L1/P7 -> MT23108 H-5513 P1
+	 L2/P7 -> MT23108 H-5514 P1
+	 L3/P7 -> MT23108 H-5515 P1
+	 L4/P7 -> MT23108 H-5516 P1
+	 L5/P7 -> MT23108 H-5517 P1
+	 L6/P7 -> MT23108 H-5518 P1
+	 L7/P7 -> MT23108 H-5519 P1
+	 L8/P7 -> MT23108 H-5520 P1
+	 L9/P7 -> MT23108 H-5521 P1
+	 L10/P7 -> MT23108 H-5522 P1
+	 L11/P7 -> MT23108 H-5523 P1
+	 L12/P7 -> MT23108 H-5524 P1
+	 L1/P8 -> MT23108 H-5525 P1
+	 L2/P8 -> MT23108 H-5526 P1
+	 L3/P8 -> MT23108 H-5527 P1
+	 L4/P8 -> MT23108 H-5528 P1
+	 L5/P8 -> MT23108 H-5529 P1
+	 L6/P8 -> MT23108 H-5530 P1
+	 L7/P8 -> MT23108 H-5531 P1
+	 L8/P8 -> MT23108 H-5532 P1
+	 L9/P8 -> MT23108 H-5533 P1
+	 L10/P8 -> MT23108 H-5534 P1
+	 L11/P8 -> MT23108 H-5535 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P7
+	 L2/P9 -> MTS14400 SL2-2 L8/P7
+	 L3/P9 -> MTS14400 SL2-3 L8/P7
+	 L4/P9 -> MTS14400 SL2-4 L8/P7
+	 L5/P9 -> MTS14400 SL2-5 L8/P7
+	 L6/P9 -> MTS14400 SL2-6 L8/P7
+	 L7/P9 -> MTS14400 SL2-7 L7/P7
+	 L8/P9 -> MTS14400 SL2-7 L8/P7
+	 L9/P9 -> MTS14400 SL2-8 L7/P7
+	 L10/P9 -> MTS14400 SL2-8 L8/P7
+	 L11/P9 -> MTS14400 SL2-9 L7/P7
+	 L12/P9 -> MTS14400 SL2-9 L8/P7
+	 L1/P10 -> MTS14400 SL2-10 L7/P7
+	 L2/P10 -> MTS14400 SL2-10 L8/P7
+	 L3/P10 -> MTS14400 SL2-11 L7/P7
+	 L4/P10 -> MTS14400 SL2-11 L8/P7
+	 L5/P10 -> MTS14400 SL2-12 L7/P7
+	 L6/P10 -> MTS14400 SL2-12 L8/P7
+	 L7/P10 -> MTS14400 SL2-13 L7/P7
+	 L8/P10 -> MTS14400 SL2-13 L8/P7
+	 L9/P10 -> MTS14400 SL2-14 L7/P7
+	 L10/P10 -> MTS14400 SL2-14 L8/P7
+	 L11/P10 -> MTS14400 SL2-15 L7/P7
+	 L12/P10 -> MTS14400 SL2-15 L8/P7
+	 L1/P11 -> MTS14400 SL2-16 L7/P7
+	 L2/P11 -> MTS14400 SL2-16 L8/P7
+	 L3/P11 -> MTS14400 SL2-17 L7/P7
+	 L4/P11 -> MTS14400 SL2-17 L8/P7
+	 L5/P11 -> MTS14400 SL2-18 L7/P7
+	 L6/P11 -> MTS14400 SL2-18 L8/P7
+	 L7/P11 -> MTS14400 SL2-19 L7/P7
+	 L8/P11 -> MTS14400 SL2-19 L8/P7
+	 L9/P11 -> MTS14400 SL2-20 L7/P7
+	 L10/P11 -> MTS14400 SL2-21 L7/P7
+	 L11/P11 -> MTS14400 SL2-22 L7/P7
+	 L12/P11 -> MTS14400 SL2-23 L7/P7
+	 L1/P12 -> MTS14400 SL2-24 L7/P7
+	 L2/P12 -> MTS14400 SL2-25 L7/P7
+	 L3/P12 -> MTS14400 SL2-26 L7/P7
+	 L4/P12 -> MTS14400 SL2-27 L7/P7
+	 L5/P12 -> MTS14400 SL2-28 L7/P7
+	 L6/P12 -> MTS14400 SL2-29 L7/P7
+	 L7/P12 -> MTS14400 SL2-30 L7/P7
+	 L8/P12 -> MTS14400 SL2-31 L7/P7
+	 L9/P12 -> MTS14400 SL2-32 L7/P7
+	 L10/P12 -> MTS14400 SL2-33 L7/P7
+	 L11/P12 -> MTS14400 SL2-34 L7/P7
+	 L12/P12 -> MTS14400 SL2-35 L7/P7
+
+MTS14400 SL1-59
+	 L1/P1 -> MT23108 H-5536 P1
+	 L2/P1 -> MT23108 H-5537 P1
+	 L3/P1 -> MT23108 H-5538 P1
+	 L4/P1 -> MT23108 H-5539 P1
+	 L5/P1 -> MT23108 H-5540 P1
+	 L6/P1 -> MT23108 H-5541 P1
+	 L7/P1 -> MT23108 H-5542 P1
+	 L8/P1 -> MT23108 H-5543 P1
+	 L9/P1 -> MT23108 H-5544 P1
+	 L10/P1 -> MT23108 H-5545 P1
+	 L11/P1 -> MT23108 H-5546 P1
+	 L12/P1 -> MT23108 H-5547 P1
+	 L1/P2 -> MT23108 H-5548 P1
+	 L2/P2 -> MT23108 H-5549 P1
+	 L3/P2 -> MT23108 H-5550 P1
+	 L4/P2 -> MT23108 H-5551 P1
+	 L5/P2 -> MT23108 H-5552 P1
+	 L6/P2 -> MT23108 H-5553 P1
+	 L7/P2 -> MT23108 H-5554 P1
+	 L8/P2 -> MT23108 H-5555 P1
+	 L9/P2 -> MT23108 H-5556 P1
+	 L10/P2 -> MT23108 H-5557 P1
+	 L11/P2 -> MT23108 H-5558 P1
+	 L12/P2 -> MT23108 H-5559 P1
+	 L1/P3 -> MT23108 H-5560 P1
+	 L2/P3 -> MT23108 H-5561 P1
+	 L3/P3 -> MT23108 H-5562 P1
+	 L4/P3 -> MT23108 H-5563 P1
+	 L5/P3 -> MT23108 H-5564 P1
+	 L6/P3 -> MT23108 H-5565 P1
+	 L7/P3 -> MT23108 H-5566 P1
+	 L8/P3 -> MT23108 H-5567 P1
+	 L9/P3 -> MT23108 H-5568 P1
+	 L10/P3 -> MT23108 H-5569 P1
+	 L11/P3 -> MT23108 H-5570 P1
+	 L12/P3 -> MT23108 H-5571 P1
+	 L1/P4 -> MT23108 H-5572 P1
+	 L2/P4 -> MT23108 H-5573 P1
+	 L3/P4 -> MT23108 H-5574 P1
+	 L4/P4 -> MT23108 H-5575 P1
+	 L5/P4 -> MT23108 H-5576 P1
+	 L6/P4 -> MT23108 H-5577 P1
+	 L7/P4 -> MT23108 H-5578 P1
+	 L8/P4 -> MT23108 H-5579 P1
+	 L9/P4 -> MT23108 H-5580 P1
+	 L10/P4 -> MT23108 H-5581 P1
+	 L11/P4 -> MT23108 H-5582 P1
+	 L12/P4 -> MT23108 H-5583 P1
+	 L1/P5 -> MT23108 H-5584 P1
+	 L2/P5 -> MT23108 H-5585 P1
+	 L3/P5 -> MT23108 H-5586 P1
+	 L4/P5 -> MT23108 H-5587 P1
+	 L5/P5 -> MT23108 H-5588 P1
+	 L6/P5 -> MT23108 H-5589 P1
+	 L7/P5 -> MT23108 H-5590 P1
+	 L8/P5 -> MT23108 H-5591 P1
+	 L9/P5 -> MT23108 H-5592 P1
+	 L10/P5 -> MT23108 H-5593 P1
+	 L11/P5 -> MT23108 H-5594 P1
+	 L12/P5 -> MT23108 H-5595 P1
+	 L1/P6 -> MT23108 H-5596 P1
+	 L2/P6 -> MT23108 H-5597 P1
+	 L3/P6 -> MT23108 H-5598 P1
+	 L4/P6 -> MT23108 H-5599 P1
+	 L5/P6 -> MT23108 H-5600 P1
+	 L6/P6 -> MT23108 H-5601 P1
+	 L7/P6 -> MT23108 H-5602 P1
+	 L8/P6 -> MT23108 H-5603 P1
+	 L9/P6 -> MT23108 H-5604 P1
+	 L10/P6 -> MT23108 H-5605 P1
+	 L11/P6 -> MT23108 H-5606 P1
+	 L12/P6 -> MT23108 H-5607 P1
+	 L1/P7 -> MT23108 H-5608 P1
+	 L2/P7 -> MT23108 H-5609 P1
+	 L3/P7 -> MT23108 H-5610 P1
+	 L4/P7 -> MT23108 H-5611 P1
+	 L5/P7 -> MT23108 H-5612 P1
+	 L6/P7 -> MT23108 H-5613 P1
+	 L7/P7 -> MT23108 H-5614 P1
+	 L8/P7 -> MT23108 H-5615 P1
+	 L9/P7 -> MT23108 H-5616 P1
+	 L10/P7 -> MT23108 H-5617 P1
+	 L11/P7 -> MT23108 H-5618 P1
+	 L12/P7 -> MT23108 H-5619 P1
+	 L1/P8 -> MT23108 H-5620 P1
+	 L2/P8 -> MT23108 H-5621 P1
+	 L3/P8 -> MT23108 H-5622 P1
+	 L4/P8 -> MT23108 H-5623 P1
+	 L5/P8 -> MT23108 H-5624 P1
+	 L6/P8 -> MT23108 H-5625 P1
+	 L7/P8 -> MT23108 H-5626 P1
+	 L8/P8 -> MT23108 H-5627 P1
+	 L9/P8 -> MT23108 H-5628 P1
+	 L10/P8 -> MT23108 H-5629 P1
+	 L11/P8 -> MT23108 H-5630 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P7
+	 L2/P9 -> MTS14400 SL2-2 L9/P7
+	 L3/P9 -> MTS14400 SL2-3 L9/P7
+	 L4/P9 -> MTS14400 SL2-4 L9/P7
+	 L5/P9 -> MTS14400 SL2-5 L9/P7
+	 L6/P9 -> MTS14400 SL2-6 L9/P7
+	 L7/P9 -> MTS14400 SL2-7 L9/P7
+	 L8/P9 -> MTS14400 SL2-8 L9/P7
+	 L9/P9 -> MTS14400 SL2-9 L9/P7
+	 L10/P9 -> MTS14400 SL2-10 L9/P7
+	 L11/P9 -> MTS14400 SL2-11 L9/P7
+	 L12/P9 -> MTS14400 SL2-12 L9/P7
+	 L1/P10 -> MTS14400 SL2-13 L9/P7
+	 L2/P10 -> MTS14400 SL2-14 L9/P7
+	 L3/P10 -> MTS14400 SL2-15 L9/P7
+	 L4/P10 -> MTS14400 SL2-16 L9/P7
+	 L5/P10 -> MTS14400 SL2-17 L9/P7
+	 L6/P10 -> MTS14400 SL2-18 L9/P7
+	 L7/P10 -> MTS14400 SL2-19 L9/P7
+	 L8/P10 -> MTS14400 SL2-20 L8/P7
+	 L9/P10 -> MTS14400 SL2-20 L9/P7
+	 L10/P10 -> MTS14400 SL2-21 L8/P7
+	 L11/P10 -> MTS14400 SL2-21 L9/P7
+	 L12/P10 -> MTS14400 SL2-22 L8/P7
+	 L1/P11 -> MTS14400 SL2-22 L9/P7
+	 L2/P11 -> MTS14400 SL2-23 L8/P7
+	 L3/P11 -> MTS14400 SL2-23 L9/P7
+	 L4/P11 -> MTS14400 SL2-24 L8/P7
+	 L5/P11 -> MTS14400 SL2-24 L9/P7
+	 L6/P11 -> MTS14400 SL2-25 L8/P7
+	 L7/P11 -> MTS14400 SL2-25 L9/P7
+	 L8/P11 -> MTS14400 SL2-26 L8/P7
+	 L9/P11 -> MTS14400 SL2-26 L9/P7
+	 L10/P11 -> MTS14400 SL2-27 L8/P7
+	 L11/P11 -> MTS14400 SL2-27 L9/P7
+	 L12/P11 -> MTS14400 SL2-28 L8/P7
+	 L1/P12 -> MTS14400 SL2-28 L9/P7
+	 L2/P12 -> MTS14400 SL2-29 L8/P7
+	 L3/P12 -> MTS14400 SL2-29 L9/P7
+	 L4/P12 -> MTS14400 SL2-30 L8/P7
+	 L5/P12 -> MTS14400 SL2-30 L9/P7
+	 L6/P12 -> MTS14400 SL2-31 L8/P7
+	 L7/P12 -> MTS14400 SL2-31 L9/P7
+	 L8/P12 -> MTS14400 SL2-32 L8/P7
+	 L9/P12 -> MTS14400 SL2-32 L9/P7
+	 L10/P12 -> MTS14400 SL2-33 L8/P7
+	 L11/P12 -> MTS14400 SL2-34 L8/P7
+	 L12/P12 -> MTS14400 SL2-35 L8/P7
+
+MTS14400 SL1-60
+	 L1/P1 -> MT23108 H-5631 P1
+	 L2/P1 -> MT23108 H-5632 P1
+	 L3/P1 -> MT23108 H-5633 P1
+	 L4/P1 -> MT23108 H-5634 P1
+	 L5/P1 -> MT23108 H-5635 P1
+	 L6/P1 -> MT23108 H-5636 P1
+	 L7/P1 -> MT23108 H-5637 P1
+	 L8/P1 -> MT23108 H-5638 P1
+	 L9/P1 -> MT23108 H-5639 P1
+	 L10/P1 -> MT23108 H-5640 P1
+	 L11/P1 -> MT23108 H-5641 P1
+	 L12/P1 -> MT23108 H-5642 P1
+	 L1/P2 -> MT23108 H-5643 P1
+	 L2/P2 -> MT23108 H-5644 P1
+	 L3/P2 -> MT23108 H-5645 P1
+	 L4/P2 -> MT23108 H-5646 P1
+	 L5/P2 -> MT23108 H-5647 P1
+	 L6/P2 -> MT23108 H-5648 P1
+	 L7/P2 -> MT23108 H-5649 P1
+	 L8/P2 -> MT23108 H-5650 P1
+	 L9/P2 -> MT23108 H-5651 P1
+	 L10/P2 -> MT23108 H-5652 P1
+	 L11/P2 -> MT23108 H-5653 P1
+	 L12/P2 -> MT23108 H-5654 P1
+	 L1/P3 -> MT23108 H-5655 P1
+	 L2/P3 -> MT23108 H-5656 P1
+	 L3/P3 -> MT23108 H-5657 P1
+	 L4/P3 -> MT23108 H-5658 P1
+	 L5/P3 -> MT23108 H-5659 P1
+	 L6/P3 -> MT23108 H-5660 P1
+	 L7/P3 -> MT23108 H-5661 P1
+	 L8/P3 -> MT23108 H-5662 P1
+	 L9/P3 -> MT23108 H-5663 P1
+	 L10/P3 -> MT23108 H-5664 P1
+	 L11/P3 -> MT23108 H-5665 P1
+	 L12/P3 -> MT23108 H-5666 P1
+	 L1/P4 -> MT23108 H-5667 P1
+	 L2/P4 -> MT23108 H-5668 P1
+	 L3/P4 -> MT23108 H-5669 P1
+	 L4/P4 -> MT23108 H-5670 P1
+	 L5/P4 -> MT23108 H-5671 P1
+	 L6/P4 -> MT23108 H-5672 P1
+	 L7/P4 -> MT23108 H-5673 P1
+	 L8/P4 -> MT23108 H-5674 P1
+	 L9/P4 -> MT23108 H-5675 P1
+	 L10/P4 -> MT23108 H-5676 P1
+	 L11/P4 -> MT23108 H-5677 P1
+	 L12/P4 -> MT23108 H-5678 P1
+	 L1/P5 -> MT23108 H-5679 P1
+	 L2/P5 -> MT23108 H-5680 P1
+	 L3/P5 -> MT23108 H-5681 P1
+	 L4/P5 -> MT23108 H-5682 P1
+	 L5/P5 -> MT23108 H-5683 P1
+	 L6/P5 -> MT23108 H-5684 P1
+	 L7/P5 -> MT23108 H-5685 P1
+	 L8/P5 -> MT23108 H-5686 P1
+	 L9/P5 -> MT23108 H-5687 P1
+	 L10/P5 -> MT23108 H-5688 P1
+	 L11/P5 -> MT23108 H-5689 P1
+	 L12/P5 -> MT23108 H-5690 P1
+	 L1/P6 -> MT23108 H-5691 P1
+	 L2/P6 -> MT23108 H-5692 P1
+	 L3/P6 -> MT23108 H-5693 P1
+	 L4/P6 -> MT23108 H-5694 P1
+	 L5/P6 -> MT23108 H-5695 P1
+	 L6/P6 -> MT23108 H-5696 P1
+	 L7/P6 -> MT23108 H-5697 P1
+	 L8/P6 -> MT23108 H-5698 P1
+	 L9/P6 -> MT23108 H-5699 P1
+	 L10/P6 -> MT23108 H-5700 P1
+	 L11/P6 -> MT23108 H-5701 P1
+	 L12/P6 -> MT23108 H-5702 P1
+	 L1/P7 -> MT23108 H-5703 P1
+	 L2/P7 -> MT23108 H-5704 P1
+	 L3/P7 -> MT23108 H-5705 P1
+	 L4/P7 -> MT23108 H-5706 P1
+	 L5/P7 -> MT23108 H-5707 P1
+	 L6/P7 -> MT23108 H-5708 P1
+	 L7/P7 -> MT23108 H-5709 P1
+	 L8/P7 -> MT23108 H-5710 P1
+	 L9/P7 -> MT23108 H-5711 P1
+	 L10/P7 -> MT23108 H-5712 P1
+	 L11/P7 -> MT23108 H-5713 P1
+	 L12/P7 -> MT23108 H-5714 P1
+	 L1/P8 -> MT23108 H-5715 P1
+	 L2/P8 -> MT23108 H-5716 P1
+	 L3/P8 -> MT23108 H-5717 P1
+	 L4/P8 -> MT23108 H-5718 P1
+	 L5/P8 -> MT23108 H-5719 P1
+	 L6/P8 -> MT23108 H-5720 P1
+	 L7/P8 -> MT23108 H-5721 P1
+	 L8/P8 -> MT23108 H-5722 P1
+	 L9/P8 -> MT23108 H-5723 P1
+	 L10/P8 -> MT23108 H-5724 P1
+	 L11/P8 -> MT23108 H-5725 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P7
+	 L2/P9 -> MTS14400 SL2-1 L11/P7
+	 L3/P9 -> MTS14400 SL2-2 L10/P7
+	 L4/P9 -> MTS14400 SL2-2 L11/P7
+	 L5/P9 -> MTS14400 SL2-3 L10/P7
+	 L6/P9 -> MTS14400 SL2-3 L11/P7
+	 L7/P9 -> MTS14400 SL2-4 L10/P7
+	 L8/P9 -> MTS14400 SL2-4 L11/P7
+	 L9/P9 -> MTS14400 SL2-5 L10/P7
+	 L10/P9 -> MTS14400 SL2-5 L11/P7
+	 L11/P9 -> MTS14400 SL2-6 L10/P7
+	 L12/P9 -> MTS14400 SL2-6 L11/P7
+	 L1/P10 -> MTS14400 SL2-7 L10/P7
+	 L2/P10 -> MTS14400 SL2-7 L11/P7
+	 L3/P10 -> MTS14400 SL2-8 L10/P7
+	 L4/P10 -> MTS14400 SL2-8 L11/P7
+	 L5/P10 -> MTS14400 SL2-9 L10/P7
+	 L6/P10 -> MTS14400 SL2-9 L11/P7
+	 L7/P10 -> MTS14400 SL2-10 L10/P7
+	 L8/P10 -> MTS14400 SL2-10 L11/P7
+	 L9/P10 -> MTS14400 SL2-11 L10/P7
+	 L10/P10 -> MTS14400 SL2-12 L10/P7
+	 L11/P10 -> MTS14400 SL2-13 L10/P7
+	 L12/P10 -> MTS14400 SL2-14 L10/P7
+	 L1/P11 -> MTS14400 SL2-15 L10/P7
+	 L2/P11 -> MTS14400 SL2-16 L10/P7
+	 L3/P11 -> MTS14400 SL2-17 L10/P7
+	 L4/P11 -> MTS14400 SL2-18 L10/P7
+	 L5/P11 -> MTS14400 SL2-19 L10/P7
+	 L6/P11 -> MTS14400 SL2-20 L10/P7
+	 L7/P11 -> MTS14400 SL2-21 L10/P7
+	 L8/P11 -> MTS14400 SL2-22 L10/P7
+	 L9/P11 -> MTS14400 SL2-23 L10/P7
+	 L10/P11 -> MTS14400 SL2-24 L10/P7
+	 L11/P11 -> MTS14400 SL2-25 L10/P7
+	 L12/P11 -> MTS14400 SL2-26 L10/P7
+	 L1/P12 -> MTS14400 SL2-27 L10/P7
+	 L2/P12 -> MTS14400 SL2-28 L10/P7
+	 L3/P12 -> MTS14400 SL2-29 L10/P7
+	 L4/P12 -> MTS14400 SL2-30 L10/P7
+	 L5/P12 -> MTS14400 SL2-31 L10/P7
+	 L6/P12 -> MTS14400 SL2-32 L10/P7
+	 L7/P12 -> MTS14400 SL2-33 L9/P7
+	 L8/P12 -> MTS14400 SL2-33 L10/P7
+	 L9/P12 -> MTS14400 SL2-34 L9/P7
+	 L10/P12 -> MTS14400 SL2-34 L10/P7
+	 L11/P12 -> MTS14400 SL2-35 L9/P7
+	 L12/P12 -> MTS14400 SL2-35 L10/P7
+
+MTS14400 SL1-61
+	 L1/P1 -> MT23108 H-5726 P1
+	 L2/P1 -> MT23108 H-5727 P1
+	 L3/P1 -> MT23108 H-5728 P1
+	 L4/P1 -> MT23108 H-5729 P1
+	 L5/P1 -> MT23108 H-5730 P1
+	 L6/P1 -> MT23108 H-5731 P1
+	 L7/P1 -> MT23108 H-5732 P1
+	 L8/P1 -> MT23108 H-5733 P1
+	 L9/P1 -> MT23108 H-5734 P1
+	 L10/P1 -> MT23108 H-5735 P1
+	 L11/P1 -> MT23108 H-5736 P1
+	 L12/P1 -> MT23108 H-5737 P1
+	 L1/P2 -> MT23108 H-5738 P1
+	 L2/P2 -> MT23108 H-5739 P1
+	 L3/P2 -> MT23108 H-5740 P1
+	 L4/P2 -> MT23108 H-5741 P1
+	 L5/P2 -> MT23108 H-5742 P1
+	 L6/P2 -> MT23108 H-5743 P1
+	 L7/P2 -> MT23108 H-5744 P1
+	 L8/P2 -> MT23108 H-5745 P1
+	 L9/P2 -> MT23108 H-5746 P1
+	 L10/P2 -> MT23108 H-5747 P1
+	 L11/P2 -> MT23108 H-5748 P1
+	 L12/P2 -> MT23108 H-5749 P1
+	 L1/P3 -> MT23108 H-5750 P1
+	 L2/P3 -> MT23108 H-5751 P1
+	 L3/P3 -> MT23108 H-5752 P1
+	 L4/P3 -> MT23108 H-5753 P1
+	 L5/P3 -> MT23108 H-5754 P1
+	 L6/P3 -> MT23108 H-5755 P1
+	 L7/P3 -> MT23108 H-5756 P1
+	 L8/P3 -> MT23108 H-5757 P1
+	 L9/P3 -> MT23108 H-5758 P1
+	 L10/P3 -> MT23108 H-5759 P1
+	 L11/P3 -> MT23108 H-5760 P1
+	 L12/P3 -> MT23108 H-5761 P1
+	 L1/P4 -> MT23108 H-5762 P1
+	 L2/P4 -> MT23108 H-5763 P1
+	 L3/P4 -> MT23108 H-5764 P1
+	 L4/P4 -> MT23108 H-5765 P1
+	 L5/P4 -> MT23108 H-5766 P1
+	 L6/P4 -> MT23108 H-5767 P1
+	 L7/P4 -> MT23108 H-5768 P1
+	 L8/P4 -> MT23108 H-5769 P1
+	 L9/P4 -> MT23108 H-5770 P1
+	 L10/P4 -> MT23108 H-5771 P1
+	 L11/P4 -> MT23108 H-5772 P1
+	 L12/P4 -> MT23108 H-5773 P1
+	 L1/P5 -> MT23108 H-5774 P1
+	 L2/P5 -> MT23108 H-5775 P1
+	 L3/P5 -> MT23108 H-5776 P1
+	 L4/P5 -> MT23108 H-5777 P1
+	 L5/P5 -> MT23108 H-5778 P1
+	 L6/P5 -> MT23108 H-5779 P1
+	 L7/P5 -> MT23108 H-5780 P1
+	 L8/P5 -> MT23108 H-5781 P1
+	 L9/P5 -> MT23108 H-5782 P1
+	 L10/P5 -> MT23108 H-5783 P1
+	 L11/P5 -> MT23108 H-5784 P1
+	 L12/P5 -> MT23108 H-5785 P1
+	 L1/P6 -> MT23108 H-5786 P1
+	 L2/P6 -> MT23108 H-5787 P1
+	 L3/P6 -> MT23108 H-5788 P1
+	 L4/P6 -> MT23108 H-5789 P1
+	 L5/P6 -> MT23108 H-5790 P1
+	 L6/P6 -> MT23108 H-5791 P1
+	 L7/P6 -> MT23108 H-5792 P1
+	 L8/P6 -> MT23108 H-5793 P1
+	 L9/P6 -> MT23108 H-5794 P1
+	 L10/P6 -> MT23108 H-5795 P1
+	 L11/P6 -> MT23108 H-5796 P1
+	 L12/P6 -> MT23108 H-5797 P1
+	 L1/P7 -> MT23108 H-5798 P1
+	 L2/P7 -> MT23108 H-5799 P1
+	 L3/P7 -> MT23108 H-5800 P1
+	 L4/P7 -> MT23108 H-5801 P1
+	 L5/P7 -> MT23108 H-5802 P1
+	 L6/P7 -> MT23108 H-5803 P1
+	 L7/P7 -> MT23108 H-5804 P1
+	 L8/P7 -> MT23108 H-5805 P1
+	 L9/P7 -> MT23108 H-5806 P1
+	 L10/P7 -> MT23108 H-5807 P1
+	 L11/P7 -> MT23108 H-5808 P1
+	 L12/P7 -> MT23108 H-5809 P1
+	 L1/P8 -> MT23108 H-5810 P1
+	 L2/P8 -> MT23108 H-5811 P1
+	 L3/P8 -> MT23108 H-5812 P1
+	 L4/P8 -> MT23108 H-5813 P1
+	 L5/P8 -> MT23108 H-5814 P1
+	 L6/P8 -> MT23108 H-5815 P1
+	 L7/P8 -> MT23108 H-5816 P1
+	 L8/P8 -> MT23108 H-5817 P1
+	 L9/P8 -> MT23108 H-5818 P1
+	 L10/P8 -> MT23108 H-5819 P1
+	 L11/P8 -> MT23108 H-5820 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P7
+	 L2/P9 -> MTS14400 SL2-2 L12/P7
+	 L3/P9 -> MTS14400 SL2-3 L12/P7
+	 L4/P9 -> MTS14400 SL2-4 L12/P7
+	 L5/P9 -> MTS14400 SL2-5 L12/P7
+	 L6/P9 -> MTS14400 SL2-6 L12/P7
+	 L7/P9 -> MTS14400 SL2-7 L12/P7
+	 L8/P9 -> MTS14400 SL2-8 L12/P7
+	 L9/P9 -> MTS14400 SL2-9 L12/P7
+	 L10/P9 -> MTS14400 SL2-10 L12/P7
+	 L11/P9 -> MTS14400 SL2-11 L11/P7
+	 L12/P9 -> MTS14400 SL2-11 L12/P7
+	 L1/P10 -> MTS14400 SL2-12 L11/P7
+	 L2/P10 -> MTS14400 SL2-12 L12/P7
+	 L3/P10 -> MTS14400 SL2-13 L11/P7
+	 L4/P10 -> MTS14400 SL2-13 L12/P7
+	 L5/P10 -> MTS14400 SL2-14 L11/P7
+	 L6/P10 -> MTS14400 SL2-14 L12/P7
+	 L7/P10 -> MTS14400 SL2-15 L11/P7
+	 L8/P10 -> MTS14400 SL2-15 L12/P7
+	 L9/P10 -> MTS14400 SL2-16 L11/P7
+	 L10/P10 -> MTS14400 SL2-16 L12/P7
+	 L11/P10 -> MTS14400 SL2-17 L11/P7
+	 L12/P10 -> MTS14400 SL2-17 L12/P7
+	 L1/P11 -> MTS14400 SL2-18 L11/P7
+	 L2/P11 -> MTS14400 SL2-18 L12/P7
+	 L3/P11 -> MTS14400 SL2-19 L11/P7
+	 L4/P11 -> MTS14400 SL2-19 L12/P7
+	 L5/P11 -> MTS14400 SL2-20 L11/P7
+	 L6/P11 -> MTS14400 SL2-20 L12/P7
+	 L7/P11 -> MTS14400 SL2-21 L11/P7
+	 L8/P11 -> MTS14400 SL2-21 L12/P7
+	 L9/P11 -> MTS14400 SL2-22 L11/P7
+	 L10/P11 -> MTS14400 SL2-22 L12/P7
+	 L11/P11 -> MTS14400 SL2-23 L11/P7
+	 L12/P11 -> MTS14400 SL2-23 L12/P7
+	 L1/P12 -> MTS14400 SL2-24 L11/P7
+	 L2/P12 -> MTS14400 SL2-25 L11/P7
+	 L3/P12 -> MTS14400 SL2-26 L11/P7
+	 L4/P12 -> MTS14400 SL2-27 L11/P7
+	 L5/P12 -> MTS14400 SL2-28 L11/P7
+	 L6/P12 -> MTS14400 SL2-29 L11/P7
+	 L7/P12 -> MTS14400 SL2-30 L11/P7
+	 L8/P12 -> MTS14400 SL2-31 L11/P7
+	 L9/P12 -> MTS14400 SL2-32 L11/P7
+	 L10/P12 -> MTS14400 SL2-33 L11/P7
+	 L11/P12 -> MTS14400 SL2-34 L11/P7
+	 L12/P12 -> MTS14400 SL2-35 L11/P7
+
+MTS14400 SL1-62
+	 L1/P1 -> MT23108 H-5821 P1
+	 L2/P1 -> MT23108 H-5822 P1
+	 L3/P1 -> MT23108 H-5823 P1
+	 L4/P1 -> MT23108 H-5824 P1
+	 L5/P1 -> MT23108 H-5825 P1
+	 L6/P1 -> MT23108 H-5826 P1
+	 L7/P1 -> MT23108 H-5827 P1
+	 L8/P1 -> MT23108 H-5828 P1
+	 L9/P1 -> MT23108 H-5829 P1
+	 L10/P1 -> MT23108 H-5830 P1
+	 L11/P1 -> MT23108 H-5831 P1
+	 L12/P1 -> MT23108 H-5832 P1
+	 L1/P2 -> MT23108 H-5833 P1
+	 L2/P2 -> MT23108 H-5834 P1
+	 L3/P2 -> MT23108 H-5835 P1
+	 L4/P2 -> MT23108 H-5836 P1
+	 L5/P2 -> MT23108 H-5837 P1
+	 L6/P2 -> MT23108 H-5838 P1
+	 L7/P2 -> MT23108 H-5839 P1
+	 L8/P2 -> MT23108 H-5840 P1
+	 L9/P2 -> MT23108 H-5841 P1
+	 L10/P2 -> MT23108 H-5842 P1
+	 L11/P2 -> MT23108 H-5843 P1
+	 L12/P2 -> MT23108 H-5844 P1
+	 L1/P3 -> MT23108 H-5845 P1
+	 L2/P3 -> MT23108 H-5846 P1
+	 L3/P3 -> MT23108 H-5847 P1
+	 L4/P3 -> MT23108 H-5848 P1
+	 L5/P3 -> MT23108 H-5849 P1
+	 L6/P3 -> MT23108 H-5850 P1
+	 L7/P3 -> MT23108 H-5851 P1
+	 L8/P3 -> MT23108 H-5852 P1
+	 L9/P3 -> MT23108 H-5853 P1
+	 L10/P3 -> MT23108 H-5854 P1
+	 L11/P3 -> MT23108 H-5855 P1
+	 L12/P3 -> MT23108 H-5856 P1
+	 L1/P4 -> MT23108 H-5857 P1
+	 L2/P4 -> MT23108 H-5858 P1
+	 L3/P4 -> MT23108 H-5859 P1
+	 L4/P4 -> MT23108 H-5860 P1
+	 L5/P4 -> MT23108 H-5861 P1
+	 L6/P4 -> MT23108 H-5862 P1
+	 L7/P4 -> MT23108 H-5863 P1
+	 L8/P4 -> MT23108 H-5864 P1
+	 L9/P4 -> MT23108 H-5865 P1
+	 L10/P4 -> MT23108 H-5866 P1
+	 L11/P4 -> MT23108 H-5867 P1
+	 L12/P4 -> MT23108 H-5868 P1
+	 L1/P5 -> MT23108 H-5869 P1
+	 L2/P5 -> MT23108 H-5870 P1
+	 L3/P5 -> MT23108 H-5871 P1
+	 L4/P5 -> MT23108 H-5872 P1
+	 L5/P5 -> MT23108 H-5873 P1
+	 L6/P5 -> MT23108 H-5874 P1
+	 L7/P5 -> MT23108 H-5875 P1
+	 L8/P5 -> MT23108 H-5876 P1
+	 L9/P5 -> MT23108 H-5877 P1
+	 L10/P5 -> MT23108 H-5878 P1
+	 L11/P5 -> MT23108 H-5879 P1
+	 L12/P5 -> MT23108 H-5880 P1
+	 L1/P6 -> MT23108 H-5881 P1
+	 L2/P6 -> MT23108 H-5882 P1
+	 L3/P6 -> MT23108 H-5883 P1
+	 L4/P6 -> MT23108 H-5884 P1
+	 L5/P6 -> MT23108 H-5885 P1
+	 L6/P6 -> MT23108 H-5886 P1
+	 L7/P6 -> MT23108 H-5887 P1
+	 L8/P6 -> MT23108 H-5888 P1
+	 L9/P6 -> MT23108 H-5889 P1
+	 L10/P6 -> MT23108 H-5890 P1
+	 L11/P6 -> MT23108 H-5891 P1
+	 L12/P6 -> MT23108 H-5892 P1
+	 L1/P7 -> MT23108 H-5893 P1
+	 L2/P7 -> MT23108 H-5894 P1
+	 L3/P7 -> MT23108 H-5895 P1
+	 L4/P7 -> MT23108 H-5896 P1
+	 L5/P7 -> MT23108 H-5897 P1
+	 L6/P7 -> MT23108 H-5898 P1
+	 L7/P7 -> MT23108 H-5899 P1
+	 L8/P7 -> MT23108 H-5900 P1
+	 L9/P7 -> MT23108 H-5901 P1
+	 L10/P7 -> MT23108 H-5902 P1
+	 L11/P7 -> MT23108 H-5903 P1
+	 L12/P7 -> MT23108 H-5904 P1
+	 L1/P8 -> MT23108 H-5905 P1
+	 L2/P8 -> MT23108 H-5906 P1
+	 L3/P8 -> MT23108 H-5907 P1
+	 L4/P8 -> MT23108 H-5908 P1
+	 L5/P8 -> MT23108 H-5909 P1
+	 L6/P8 -> MT23108 H-5910 P1
+	 L7/P8 -> MT23108 H-5911 P1
+	 L8/P8 -> MT23108 H-5912 P1
+	 L9/P8 -> MT23108 H-5913 P1
+	 L10/P8 -> MT23108 H-5914 P1
+	 L11/P8 -> MT23108 H-5915 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P8
+	 L2/P9 -> MTS14400 SL2-1 L2/P8
+	 L3/P9 -> MTS14400 SL2-2 L1/P8
+	 L4/P9 -> MTS14400 SL2-3 L1/P8
+	 L5/P9 -> MTS14400 SL2-4 L1/P8
+	 L6/P9 -> MTS14400 SL2-5 L1/P8
+	 L7/P9 -> MTS14400 SL2-6 L1/P8
+	 L8/P9 -> MTS14400 SL2-7 L1/P8
+	 L9/P9 -> MTS14400 SL2-8 L1/P8
+	 L10/P9 -> MTS14400 SL2-9 L1/P8
+	 L11/P9 -> MTS14400 SL2-10 L1/P8
+	 L12/P9 -> MTS14400 SL2-11 L1/P8
+	 L1/P10 -> MTS14400 SL2-12 L1/P8
+	 L2/P10 -> MTS14400 SL2-13 L1/P8
+	 L3/P10 -> MTS14400 SL2-14 L1/P8
+	 L4/P10 -> MTS14400 SL2-15 L1/P8
+	 L5/P10 -> MTS14400 SL2-16 L1/P8
+	 L6/P10 -> MTS14400 SL2-17 L1/P8
+	 L7/P10 -> MTS14400 SL2-18 L1/P8
+	 L8/P10 -> MTS14400 SL2-19 L1/P8
+	 L9/P10 -> MTS14400 SL2-20 L1/P8
+	 L10/P10 -> MTS14400 SL2-21 L1/P8
+	 L11/P10 -> MTS14400 SL2-22 L1/P8
+	 L12/P10 -> MTS14400 SL2-23 L1/P8
+	 L1/P11 -> MTS14400 SL2-24 L12/P7
+	 L2/P11 -> MTS14400 SL2-24 L1/P8
+	 L3/P11 -> MTS14400 SL2-25 L12/P7
+	 L4/P11 -> MTS14400 SL2-25 L1/P8
+	 L5/P11 -> MTS14400 SL2-26 L12/P7
+	 L6/P11 -> MTS14400 SL2-26 L1/P8
+	 L7/P11 -> MTS14400 SL2-27 L12/P7
+	 L8/P11 -> MTS14400 SL2-27 L1/P8
+	 L9/P11 -> MTS14400 SL2-28 L12/P7
+	 L10/P11 -> MTS14400 SL2-28 L1/P8
+	 L11/P11 -> MTS14400 SL2-29 L12/P7
+	 L12/P11 -> MTS14400 SL2-29 L1/P8
+	 L1/P12 -> MTS14400 SL2-30 L12/P7
+	 L2/P12 -> MTS14400 SL2-30 L1/P8
+	 L3/P12 -> MTS14400 SL2-31 L12/P7
+	 L4/P12 -> MTS14400 SL2-31 L1/P8
+	 L5/P12 -> MTS14400 SL2-32 L12/P7
+	 L6/P12 -> MTS14400 SL2-32 L1/P8
+	 L7/P12 -> MTS14400 SL2-33 L12/P7
+	 L8/P12 -> MTS14400 SL2-33 L1/P8
+	 L9/P12 -> MTS14400 SL2-34 L12/P7
+	 L10/P12 -> MTS14400 SL2-34 L1/P8
+	 L11/P12 -> MTS14400 SL2-35 L12/P7
+	 L12/P12 -> MTS14400 SL2-35 L1/P8
+
+MTS14400 SL1-63
+	 L1/P1 -> MT23108 H-5916 P1
+	 L2/P1 -> MT23108 H-5917 P1
+	 L3/P1 -> MT23108 H-5918 P1
+	 L4/P1 -> MT23108 H-5919 P1
+	 L5/P1 -> MT23108 H-5920 P1
+	 L6/P1 -> MT23108 H-5921 P1
+	 L7/P1 -> MT23108 H-5922 P1
+	 L8/P1 -> MT23108 H-5923 P1
+	 L9/P1 -> MT23108 H-5924 P1
+	 L10/P1 -> MT23108 H-5925 P1
+	 L11/P1 -> MT23108 H-5926 P1
+	 L12/P1 -> MT23108 H-5927 P1
+	 L1/P2 -> MT23108 H-5928 P1
+	 L2/P2 -> MT23108 H-5929 P1
+	 L3/P2 -> MT23108 H-5930 P1
+	 L4/P2 -> MT23108 H-5931 P1
+	 L5/P2 -> MT23108 H-5932 P1
+	 L6/P2 -> MT23108 H-5933 P1
+	 L7/P2 -> MT23108 H-5934 P1
+	 L8/P2 -> MT23108 H-5935 P1
+	 L9/P2 -> MT23108 H-5936 P1
+	 L10/P2 -> MT23108 H-5937 P1
+	 L11/P2 -> MT23108 H-5938 P1
+	 L12/P2 -> MT23108 H-5939 P1
+	 L1/P3 -> MT23108 H-5940 P1
+	 L2/P3 -> MT23108 H-5941 P1
+	 L3/P3 -> MT23108 H-5942 P1
+	 L4/P3 -> MT23108 H-5943 P1
+	 L5/P3 -> MT23108 H-5944 P1
+	 L6/P3 -> MT23108 H-5945 P1
+	 L7/P3 -> MT23108 H-5946 P1
+	 L8/P3 -> MT23108 H-5947 P1
+	 L9/P3 -> MT23108 H-5948 P1
+	 L10/P3 -> MT23108 H-5949 P1
+	 L11/P3 -> MT23108 H-5950 P1
+	 L12/P3 -> MT23108 H-5951 P1
+	 L1/P4 -> MT23108 H-5952 P1
+	 L2/P4 -> MT23108 H-5953 P1
+	 L3/P4 -> MT23108 H-5954 P1
+	 L4/P4 -> MT23108 H-5955 P1
+	 L5/P4 -> MT23108 H-5956 P1
+	 L6/P4 -> MT23108 H-5957 P1
+	 L7/P4 -> MT23108 H-5958 P1
+	 L8/P4 -> MT23108 H-5959 P1
+	 L9/P4 -> MT23108 H-5960 P1
+	 L10/P4 -> MT23108 H-5961 P1
+	 L11/P4 -> MT23108 H-5962 P1
+	 L12/P4 -> MT23108 H-5963 P1
+	 L1/P5 -> MT23108 H-5964 P1
+	 L2/P5 -> MT23108 H-5965 P1
+	 L3/P5 -> MT23108 H-5966 P1
+	 L4/P5 -> MT23108 H-5967 P1
+	 L5/P5 -> MT23108 H-5968 P1
+	 L6/P5 -> MT23108 H-5969 P1
+	 L7/P5 -> MT23108 H-5970 P1
+	 L8/P5 -> MT23108 H-5971 P1
+	 L9/P5 -> MT23108 H-5972 P1
+	 L10/P5 -> MT23108 H-5973 P1
+	 L11/P5 -> MT23108 H-5974 P1
+	 L12/P5 -> MT23108 H-5975 P1
+	 L1/P6 -> MT23108 H-5976 P1
+	 L2/P6 -> MT23108 H-5977 P1
+	 L3/P6 -> MT23108 H-5978 P1
+	 L4/P6 -> MT23108 H-5979 P1
+	 L5/P6 -> MT23108 H-5980 P1
+	 L6/P6 -> MT23108 H-5981 P1
+	 L7/P6 -> MT23108 H-5982 P1
+	 L8/P6 -> MT23108 H-5983 P1
+	 L9/P6 -> MT23108 H-5984 P1
+	 L10/P6 -> MT23108 H-5985 P1
+	 L11/P6 -> MT23108 H-5986 P1
+	 L12/P6 -> MT23108 H-5987 P1
+	 L1/P7 -> MT23108 H-5988 P1
+	 L2/P7 -> MT23108 H-5989 P1
+	 L3/P7 -> MT23108 H-5990 P1
+	 L4/P7 -> MT23108 H-5991 P1
+	 L5/P7 -> MT23108 H-5992 P1
+	 L6/P7 -> MT23108 H-5993 P1
+	 L7/P7 -> MT23108 H-5994 P1
+	 L8/P7 -> MT23108 H-5995 P1
+	 L9/P7 -> MT23108 H-5996 P1
+	 L10/P7 -> MT23108 H-5997 P1
+	 L11/P7 -> MT23108 H-5998 P1
+	 L12/P7 -> MT23108 H-5999 P1
+	 L1/P8 -> MT23108 H-6000 P1
+	 L2/P8 -> MT23108 H-6001 P1
+	 L3/P8 -> MT23108 H-6002 P1
+	 L4/P8 -> MT23108 H-6003 P1
+	 L5/P8 -> MT23108 H-6004 P1
+	 L6/P8 -> MT23108 H-6005 P1
+	 L7/P8 -> MT23108 H-6006 P1
+	 L8/P8 -> MT23108 H-6007 P1
+	 L9/P8 -> MT23108 H-6008 P1
+	 L10/P8 -> MT23108 H-6009 P1
+	 L11/P8 -> MT23108 H-6010 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P8
+	 L2/P9 -> MTS14400 SL2-2 L2/P8
+	 L3/P9 -> MTS14400 SL2-2 L3/P8
+	 L4/P9 -> MTS14400 SL2-3 L2/P8
+	 L5/P9 -> MTS14400 SL2-3 L3/P8
+	 L6/P9 -> MTS14400 SL2-4 L2/P8
+	 L7/P9 -> MTS14400 SL2-4 L3/P8
+	 L8/P9 -> MTS14400 SL2-5 L2/P8
+	 L9/P9 -> MTS14400 SL2-5 L3/P8
+	 L10/P9 -> MTS14400 SL2-6 L2/P8
+	 L11/P9 -> MTS14400 SL2-6 L3/P8
+	 L12/P9 -> MTS14400 SL2-7 L2/P8
+	 L1/P10 -> MTS14400 SL2-7 L3/P8
+	 L2/P10 -> MTS14400 SL2-8 L2/P8
+	 L3/P10 -> MTS14400 SL2-8 L3/P8
+	 L4/P10 -> MTS14400 SL2-9 L2/P8
+	 L5/P10 -> MTS14400 SL2-9 L3/P8
+	 L6/P10 -> MTS14400 SL2-10 L2/P8
+	 L7/P10 -> MTS14400 SL2-10 L3/P8
+	 L8/P10 -> MTS14400 SL2-11 L2/P8
+	 L9/P10 -> MTS14400 SL2-11 L3/P8
+	 L10/P10 -> MTS14400 SL2-12 L2/P8
+	 L11/P10 -> MTS14400 SL2-12 L3/P8
+	 L12/P10 -> MTS14400 SL2-13 L2/P8
+	 L1/P11 -> MTS14400 SL2-13 L3/P8
+	 L2/P11 -> MTS14400 SL2-14 L2/P8
+	 L3/P11 -> MTS14400 SL2-14 L3/P8
+	 L4/P11 -> MTS14400 SL2-15 L2/P8
+	 L5/P11 -> MTS14400 SL2-16 L2/P8
+	 L6/P11 -> MTS14400 SL2-17 L2/P8
+	 L7/P11 -> MTS14400 SL2-18 L2/P8
+	 L8/P11 -> MTS14400 SL2-19 L2/P8
+	 L9/P11 -> MTS14400 SL2-20 L2/P8
+	 L10/P11 -> MTS14400 SL2-21 L2/P8
+	 L11/P11 -> MTS14400 SL2-22 L2/P8
+	 L12/P11 -> MTS14400 SL2-23 L2/P8
+	 L1/P12 -> MTS14400 SL2-24 L2/P8
+	 L2/P12 -> MTS14400 SL2-25 L2/P8
+	 L3/P12 -> MTS14400 SL2-26 L2/P8
+	 L4/P12 -> MTS14400 SL2-27 L2/P8
+	 L5/P12 -> MTS14400 SL2-28 L2/P8
+	 L6/P12 -> MTS14400 SL2-29 L2/P8
+	 L7/P12 -> MTS14400 SL2-30 L2/P8
+	 L8/P12 -> MTS14400 SL2-31 L2/P8
+	 L9/P12 -> MTS14400 SL2-32 L2/P8
+	 L10/P12 -> MTS14400 SL2-33 L2/P8
+	 L11/P12 -> MTS14400 SL2-34 L2/P8
+	 L12/P12 -> MTS14400 SL2-35 L2/P8
+
+MTS14400 SL1-64
+	 L1/P1 -> MT23108 H-6011 P1
+	 L2/P1 -> MT23108 H-6012 P1
+	 L3/P1 -> MT23108 H-6013 P1
+	 L4/P1 -> MT23108 H-6014 P1
+	 L5/P1 -> MT23108 H-6015 P1
+	 L6/P1 -> MT23108 H-6016 P1
+	 L7/P1 -> MT23108 H-6017 P1
+	 L8/P1 -> MT23108 H-6018 P1
+	 L9/P1 -> MT23108 H-6019 P1
+	 L10/P1 -> MT23108 H-6020 P1
+	 L11/P1 -> MT23108 H-6021 P1
+	 L12/P1 -> MT23108 H-6022 P1
+	 L1/P2 -> MT23108 H-6023 P1
+	 L2/P2 -> MT23108 H-6024 P1
+	 L3/P2 -> MT23108 H-6025 P1
+	 L4/P2 -> MT23108 H-6026 P1
+	 L5/P2 -> MT23108 H-6027 P1
+	 L6/P2 -> MT23108 H-6028 P1
+	 L7/P2 -> MT23108 H-6029 P1
+	 L8/P2 -> MT23108 H-6030 P1
+	 L9/P2 -> MT23108 H-6031 P1
+	 L10/P2 -> MT23108 H-6032 P1
+	 L11/P2 -> MT23108 H-6033 P1
+	 L12/P2 -> MT23108 H-6034 P1
+	 L1/P3 -> MT23108 H-6035 P1
+	 L2/P3 -> MT23108 H-6036 P1
+	 L3/P3 -> MT23108 H-6037 P1
+	 L4/P3 -> MT23108 H-6038 P1
+	 L5/P3 -> MT23108 H-6039 P1
+	 L6/P3 -> MT23108 H-6040 P1
+	 L7/P3 -> MT23108 H-6041 P1
+	 L8/P3 -> MT23108 H-6042 P1
+	 L9/P3 -> MT23108 H-6043 P1
+	 L10/P3 -> MT23108 H-6044 P1
+	 L11/P3 -> MT23108 H-6045 P1
+	 L12/P3 -> MT23108 H-6046 P1
+	 L1/P4 -> MT23108 H-6047 P1
+	 L2/P4 -> MT23108 H-6048 P1
+	 L3/P4 -> MT23108 H-6049 P1
+	 L4/P4 -> MT23108 H-6050 P1
+	 L5/P4 -> MT23108 H-6051 P1
+	 L6/P4 -> MT23108 H-6052 P1
+	 L7/P4 -> MT23108 H-6053 P1
+	 L8/P4 -> MT23108 H-6054 P1
+	 L9/P4 -> MT23108 H-6055 P1
+	 L10/P4 -> MT23108 H-6056 P1
+	 L11/P4 -> MT23108 H-6057 P1
+	 L12/P4 -> MT23108 H-6058 P1
+	 L1/P5 -> MT23108 H-6059 P1
+	 L2/P5 -> MT23108 H-6060 P1
+	 L3/P5 -> MT23108 H-6061 P1
+	 L4/P5 -> MT23108 H-6062 P1
+	 L5/P5 -> MT23108 H-6063 P1
+	 L6/P5 -> MT23108 H-6064 P1
+	 L7/P5 -> MT23108 H-6065 P1
+	 L8/P5 -> MT23108 H-6066 P1
+	 L9/P5 -> MT23108 H-6067 P1
+	 L10/P5 -> MT23108 H-6068 P1
+	 L11/P5 -> MT23108 H-6069 P1
+	 L12/P5 -> MT23108 H-6070 P1
+	 L1/P6 -> MT23108 H-6071 P1
+	 L2/P6 -> MT23108 H-6072 P1
+	 L3/P6 -> MT23108 H-6073 P1
+	 L4/P6 -> MT23108 H-6074 P1
+	 L5/P6 -> MT23108 H-6075 P1
+	 L6/P6 -> MT23108 H-6076 P1
+	 L7/P6 -> MT23108 H-6077 P1
+	 L8/P6 -> MT23108 H-6078 P1
+	 L9/P6 -> MT23108 H-6079 P1
+	 L10/P6 -> MT23108 H-6080 P1
+	 L11/P6 -> MT23108 H-6081 P1
+	 L12/P6 -> MT23108 H-6082 P1
+	 L1/P7 -> MT23108 H-6083 P1
+	 L2/P7 -> MT23108 H-6084 P1
+	 L3/P7 -> MT23108 H-6085 P1
+	 L4/P7 -> MT23108 H-6086 P1
+	 L5/P7 -> MT23108 H-6087 P1
+	 L6/P7 -> MT23108 H-6088 P1
+	 L7/P7 -> MT23108 H-6089 P1
+	 L8/P7 -> MT23108 H-6090 P1
+	 L9/P7 -> MT23108 H-6091 P1
+	 L10/P7 -> MT23108 H-6092 P1
+	 L11/P7 -> MT23108 H-6093 P1
+	 L12/P7 -> MT23108 H-6094 P1
+	 L1/P8 -> MT23108 H-6095 P1
+	 L2/P8 -> MT23108 H-6096 P1
+	 L3/P8 -> MT23108 H-6097 P1
+	 L4/P8 -> MT23108 H-6098 P1
+	 L5/P8 -> MT23108 H-6099 P1
+	 L6/P8 -> MT23108 H-6100 P1
+	 L7/P8 -> MT23108 H-6101 P1
+	 L8/P8 -> MT23108 H-6102 P1
+	 L9/P8 -> MT23108 H-6103 P1
+	 L10/P8 -> MT23108 H-6104 P1
+	 L11/P8 -> MT23108 H-6105 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P8
+	 L2/P9 -> MTS14400 SL2-2 L4/P8
+	 L3/P9 -> MTS14400 SL2-3 L4/P8
+	 L4/P9 -> MTS14400 SL2-4 L4/P8
+	 L5/P9 -> MTS14400 SL2-5 L4/P8
+	 L6/P9 -> MTS14400 SL2-6 L4/P8
+	 L7/P9 -> MTS14400 SL2-7 L4/P8
+	 L8/P9 -> MTS14400 SL2-8 L4/P8
+	 L9/P9 -> MTS14400 SL2-9 L4/P8
+	 L10/P9 -> MTS14400 SL2-10 L4/P8
+	 L11/P9 -> MTS14400 SL2-11 L4/P8
+	 L12/P9 -> MTS14400 SL2-12 L4/P8
+	 L1/P10 -> MTS14400 SL2-13 L4/P8
+	 L2/P10 -> MTS14400 SL2-14 L4/P8
+	 L3/P10 -> MTS14400 SL2-15 L3/P8
+	 L4/P10 -> MTS14400 SL2-15 L4/P8
+	 L5/P10 -> MTS14400 SL2-16 L3/P8
+	 L6/P10 -> MTS14400 SL2-16 L4/P8
+	 L7/P10 -> MTS14400 SL2-17 L3/P8
+	 L8/P10 -> MTS14400 SL2-17 L4/P8
+	 L9/P10 -> MTS14400 SL2-18 L3/P8
+	 L10/P10 -> MTS14400 SL2-18 L4/P8
+	 L11/P10 -> MTS14400 SL2-19 L3/P8
+	 L12/P10 -> MTS14400 SL2-19 L4/P8
+	 L1/P11 -> MTS14400 SL2-20 L3/P8
+	 L2/P11 -> MTS14400 SL2-20 L4/P8
+	 L3/P11 -> MTS14400 SL2-21 L3/P8
+	 L4/P11 -> MTS14400 SL2-21 L4/P8
+	 L5/P11 -> MTS14400 SL2-22 L3/P8
+	 L6/P11 -> MTS14400 SL2-22 L4/P8
+	 L7/P11 -> MTS14400 SL2-23 L3/P8
+	 L8/P11 -> MTS14400 SL2-23 L4/P8
+	 L9/P11 -> MTS14400 SL2-24 L3/P8
+	 L10/P11 -> MTS14400 SL2-24 L4/P8
+	 L11/P11 -> MTS14400 SL2-25 L3/P8
+	 L12/P11 -> MTS14400 SL2-25 L4/P8
+	 L1/P12 -> MTS14400 SL2-26 L3/P8
+	 L2/P12 -> MTS14400 SL2-26 L4/P8
+	 L3/P12 -> MTS14400 SL2-27 L3/P8
+	 L4/P12 -> MTS14400 SL2-27 L4/P8
+	 L5/P12 -> MTS14400 SL2-28 L3/P8
+	 L6/P12 -> MTS14400 SL2-29 L3/P8
+	 L7/P12 -> MTS14400 SL2-30 L3/P8
+	 L8/P12 -> MTS14400 SL2-31 L3/P8
+	 L9/P12 -> MTS14400 SL2-32 L3/P8
+	 L10/P12 -> MTS14400 SL2-33 L3/P8
+	 L11/P12 -> MTS14400 SL2-34 L3/P8
+	 L12/P12 -> MTS14400 SL2-35 L3/P8
+
+MTS14400 SL1-65
+	 L1/P1 -> MT23108 H-6106 P1
+	 L2/P1 -> MT23108 H-6107 P1
+	 L3/P1 -> MT23108 H-6108 P1
+	 L4/P1 -> MT23108 H-6109 P1
+	 L5/P1 -> MT23108 H-6110 P1
+	 L6/P1 -> MT23108 H-6111 P1
+	 L7/P1 -> MT23108 H-6112 P1
+	 L8/P1 -> MT23108 H-6113 P1
+	 L9/P1 -> MT23108 H-6114 P1
+	 L10/P1 -> MT23108 H-6115 P1
+	 L11/P1 -> MT23108 H-6116 P1
+	 L12/P1 -> MT23108 H-6117 P1
+	 L1/P2 -> MT23108 H-6118 P1
+	 L2/P2 -> MT23108 H-6119 P1
+	 L3/P2 -> MT23108 H-6120 P1
+	 L4/P2 -> MT23108 H-6121 P1
+	 L5/P2 -> MT23108 H-6122 P1
+	 L6/P2 -> MT23108 H-6123 P1
+	 L7/P2 -> MT23108 H-6124 P1
+	 L8/P2 -> MT23108 H-6125 P1
+	 L9/P2 -> MT23108 H-6126 P1
+	 L10/P2 -> MT23108 H-6127 P1
+	 L11/P2 -> MT23108 H-6128 P1
+	 L12/P2 -> MT23108 H-6129 P1
+	 L1/P3 -> MT23108 H-6130 P1
+	 L2/P3 -> MT23108 H-6131 P1
+	 L3/P3 -> MT23108 H-6132 P1
+	 L4/P3 -> MT23108 H-6133 P1
+	 L5/P3 -> MT23108 H-6134 P1
+	 L6/P3 -> MT23108 H-6135 P1
+	 L7/P3 -> MT23108 H-6136 P1
+	 L8/P3 -> MT23108 H-6137 P1
+	 L9/P3 -> MT23108 H-6138 P1
+	 L10/P3 -> MT23108 H-6139 P1
+	 L11/P3 -> MT23108 H-6140 P1
+	 L12/P3 -> MT23108 H-6141 P1
+	 L1/P4 -> MT23108 H-6142 P1
+	 L2/P4 -> MT23108 H-6143 P1
+	 L3/P4 -> MT23108 H-6144 P1
+	 L4/P4 -> MT23108 H-6145 P1
+	 L5/P4 -> MT23108 H-6146 P1
+	 L6/P4 -> MT23108 H-6147 P1
+	 L7/P4 -> MT23108 H-6148 P1
+	 L8/P4 -> MT23108 H-6149 P1
+	 L9/P4 -> MT23108 H-6150 P1
+	 L10/P4 -> MT23108 H-6151 P1
+	 L11/P4 -> MT23108 H-6152 P1
+	 L12/P4 -> MT23108 H-6153 P1
+	 L1/P5 -> MT23108 H-6154 P1
+	 L2/P5 -> MT23108 H-6155 P1
+	 L3/P5 -> MT23108 H-6156 P1
+	 L4/P5 -> MT23108 H-6157 P1
+	 L5/P5 -> MT23108 H-6158 P1
+	 L6/P5 -> MT23108 H-6159 P1
+	 L7/P5 -> MT23108 H-6160 P1
+	 L8/P5 -> MT23108 H-6161 P1
+	 L9/P5 -> MT23108 H-6162 P1
+	 L10/P5 -> MT23108 H-6163 P1
+	 L11/P5 -> MT23108 H-6164 P1
+	 L12/P5 -> MT23108 H-6165 P1
+	 L1/P6 -> MT23108 H-6166 P1
+	 L2/P6 -> MT23108 H-6167 P1
+	 L3/P6 -> MT23108 H-6168 P1
+	 L4/P6 -> MT23108 H-6169 P1
+	 L5/P6 -> MT23108 H-6170 P1
+	 L6/P6 -> MT23108 H-6171 P1
+	 L7/P6 -> MT23108 H-6172 P1
+	 L8/P6 -> MT23108 H-6173 P1
+	 L9/P6 -> MT23108 H-6174 P1
+	 L10/P6 -> MT23108 H-6175 P1
+	 L11/P6 -> MT23108 H-6176 P1
+	 L12/P6 -> MT23108 H-6177 P1
+	 L1/P7 -> MT23108 H-6178 P1
+	 L2/P7 -> MT23108 H-6179 P1
+	 L3/P7 -> MT23108 H-6180 P1
+	 L4/P7 -> MT23108 H-6181 P1
+	 L5/P7 -> MT23108 H-6182 P1
+	 L6/P7 -> MT23108 H-6183 P1
+	 L7/P7 -> MT23108 H-6184 P1
+	 L8/P7 -> MT23108 H-6185 P1
+	 L9/P7 -> MT23108 H-6186 P1
+	 L10/P7 -> MT23108 H-6187 P1
+	 L11/P7 -> MT23108 H-6188 P1
+	 L12/P7 -> MT23108 H-6189 P1
+	 L1/P8 -> MT23108 H-6190 P1
+	 L2/P8 -> MT23108 H-6191 P1
+	 L3/P8 -> MT23108 H-6192 P1
+	 L4/P8 -> MT23108 H-6193 P1
+	 L5/P8 -> MT23108 H-6194 P1
+	 L6/P8 -> MT23108 H-6195 P1
+	 L7/P8 -> MT23108 H-6196 P1
+	 L8/P8 -> MT23108 H-6197 P1
+	 L9/P8 -> MT23108 H-6198 P1
+	 L10/P8 -> MT23108 H-6199 P1
+	 L11/P8 -> MT23108 H-6200 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P8
+	 L2/P9 -> MTS14400 SL2-1 L6/P8
+	 L3/P9 -> MTS14400 SL2-2 L5/P8
+	 L4/P9 -> MTS14400 SL2-2 L6/P8
+	 L5/P9 -> MTS14400 SL2-3 L5/P8
+	 L6/P9 -> MTS14400 SL2-3 L6/P8
+	 L7/P9 -> MTS14400 SL2-4 L5/P8
+	 L8/P9 -> MTS14400 SL2-4 L6/P8
+	 L9/P9 -> MTS14400 SL2-5 L5/P8
+	 L10/P9 -> MTS14400 SL2-5 L6/P8
+	 L11/P9 -> MTS14400 SL2-6 L5/P8
+	 L12/P9 -> MTS14400 SL2-7 L5/P8
+	 L1/P10 -> MTS14400 SL2-8 L5/P8
+	 L2/P10 -> MTS14400 SL2-9 L5/P8
+	 L3/P10 -> MTS14400 SL2-10 L5/P8
+	 L4/P10 -> MTS14400 SL2-11 L5/P8
+	 L5/P10 -> MTS14400 SL2-12 L5/P8
+	 L6/P10 -> MTS14400 SL2-13 L5/P8
+	 L7/P10 -> MTS14400 SL2-14 L5/P8
+	 L8/P10 -> MTS14400 SL2-15 L5/P8
+	 L9/P10 -> MTS14400 SL2-16 L5/P8
+	 L10/P10 -> MTS14400 SL2-17 L5/P8
+	 L11/P10 -> MTS14400 SL2-18 L5/P8
+	 L12/P10 -> MTS14400 SL2-19 L5/P8
+	 L1/P11 -> MTS14400 SL2-20 L5/P8
+	 L2/P11 -> MTS14400 SL2-21 L5/P8
+	 L3/P11 -> MTS14400 SL2-22 L5/P8
+	 L4/P11 -> MTS14400 SL2-23 L5/P8
+	 L5/P11 -> MTS14400 SL2-24 L5/P8
+	 L6/P11 -> MTS14400 SL2-25 L5/P8
+	 L7/P11 -> MTS14400 SL2-26 L5/P8
+	 L8/P11 -> MTS14400 SL2-27 L5/P8
+	 L9/P11 -> MTS14400 SL2-28 L4/P8
+	 L10/P11 -> MTS14400 SL2-28 L5/P8
+	 L11/P11 -> MTS14400 SL2-29 L4/P8
+	 L12/P11 -> MTS14400 SL2-29 L5/P8
+	 L1/P12 -> MTS14400 SL2-30 L4/P8
+	 L2/P12 -> MTS14400 SL2-30 L5/P8
+	 L3/P12 -> MTS14400 SL2-31 L4/P8
+	 L4/P12 -> MTS14400 SL2-31 L5/P8
+	 L5/P12 -> MTS14400 SL2-32 L4/P8
+	 L6/P12 -> MTS14400 SL2-32 L5/P8
+	 L7/P12 -> MTS14400 SL2-33 L4/P8
+	 L8/P12 -> MTS14400 SL2-33 L5/P8
+	 L9/P12 -> MTS14400 SL2-34 L4/P8
+	 L10/P12 -> MTS14400 SL2-34 L5/P8
+	 L11/P12 -> MTS14400 SL2-35 L4/P8
+	 L12/P12 -> MTS14400 SL2-35 L5/P8
+
+MTS14400 SL1-66
+	 L1/P1 -> MT23108 H-6201 P1
+	 L2/P1 -> MT23108 H-6202 P1
+	 L3/P1 -> MT23108 H-6203 P1
+	 L4/P1 -> MT23108 H-6204 P1
+	 L5/P1 -> MT23108 H-6205 P1
+	 L6/P1 -> MT23108 H-6206 P1
+	 L7/P1 -> MT23108 H-6207 P1
+	 L8/P1 -> MT23108 H-6208 P1
+	 L9/P1 -> MT23108 H-6209 P1
+	 L10/P1 -> MT23108 H-6210 P1
+	 L11/P1 -> MT23108 H-6211 P1
+	 L12/P1 -> MT23108 H-6212 P1
+	 L1/P2 -> MT23108 H-6213 P1
+	 L2/P2 -> MT23108 H-6214 P1
+	 L3/P2 -> MT23108 H-6215 P1
+	 L4/P2 -> MT23108 H-6216 P1
+	 L5/P2 -> MT23108 H-6217 P1
+	 L6/P2 -> MT23108 H-6218 P1
+	 L7/P2 -> MT23108 H-6219 P1
+	 L8/P2 -> MT23108 H-6220 P1
+	 L9/P2 -> MT23108 H-6221 P1
+	 L10/P2 -> MT23108 H-6222 P1
+	 L11/P2 -> MT23108 H-6223 P1
+	 L12/P2 -> MT23108 H-6224 P1
+	 L1/P3 -> MT23108 H-6225 P1
+	 L2/P3 -> MT23108 H-6226 P1
+	 L3/P3 -> MT23108 H-6227 P1
+	 L4/P3 -> MT23108 H-6228 P1
+	 L5/P3 -> MT23108 H-6229 P1
+	 L6/P3 -> MT23108 H-6230 P1
+	 L7/P3 -> MT23108 H-6231 P1
+	 L8/P3 -> MT23108 H-6232 P1
+	 L9/P3 -> MT23108 H-6233 P1
+	 L10/P3 -> MT23108 H-6234 P1
+	 L11/P3 -> MT23108 H-6235 P1
+	 L12/P3 -> MT23108 H-6236 P1
+	 L1/P4 -> MT23108 H-6237 P1
+	 L2/P4 -> MT23108 H-6238 P1
+	 L3/P4 -> MT23108 H-6239 P1
+	 L4/P4 -> MT23108 H-6240 P1
+	 L5/P4 -> MT23108 H-6241 P1
+	 L6/P4 -> MT23108 H-6242 P1
+	 L7/P4 -> MT23108 H-6243 P1
+	 L8/P4 -> MT23108 H-6244 P1
+	 L9/P4 -> MT23108 H-6245 P1
+	 L10/P4 -> MT23108 H-6246 P1
+	 L11/P4 -> MT23108 H-6247 P1
+	 L12/P4 -> MT23108 H-6248 P1
+	 L1/P5 -> MT23108 H-6249 P1
+	 L2/P5 -> MT23108 H-6250 P1
+	 L3/P5 -> MT23108 H-6251 P1
+	 L4/P5 -> MT23108 H-6252 P1
+	 L5/P5 -> MT23108 H-6253 P1
+	 L6/P5 -> MT23108 H-6254 P1
+	 L7/P5 -> MT23108 H-6255 P1
+	 L8/P5 -> MT23108 H-6256 P1
+	 L9/P5 -> MT23108 H-6257 P1
+	 L10/P5 -> MT23108 H-6258 P1
+	 L11/P5 -> MT23108 H-6259 P1
+	 L12/P5 -> MT23108 H-6260 P1
+	 L1/P6 -> MT23108 H-6261 P1
+	 L2/P6 -> MT23108 H-6262 P1
+	 L3/P6 -> MT23108 H-6263 P1
+	 L4/P6 -> MT23108 H-6264 P1
+	 L5/P6 -> MT23108 H-6265 P1
+	 L6/P6 -> MT23108 H-6266 P1
+	 L7/P6 -> MT23108 H-6267 P1
+	 L8/P6 -> MT23108 H-6268 P1
+	 L9/P6 -> MT23108 H-6269 P1
+	 L10/P6 -> MT23108 H-6270 P1
+	 L11/P6 -> MT23108 H-6271 P1
+	 L12/P6 -> MT23108 H-6272 P1
+	 L1/P7 -> MT23108 H-6273 P1
+	 L2/P7 -> MT23108 H-6274 P1
+	 L3/P7 -> MT23108 H-6275 P1
+	 L4/P7 -> MT23108 H-6276 P1
+	 L5/P7 -> MT23108 H-6277 P1
+	 L6/P7 -> MT23108 H-6278 P1
+	 L7/P7 -> MT23108 H-6279 P1
+	 L8/P7 -> MT23108 H-6280 P1
+	 L9/P7 -> MT23108 H-6281 P1
+	 L10/P7 -> MT23108 H-6282 P1
+	 L11/P7 -> MT23108 H-6283 P1
+	 L12/P7 -> MT23108 H-6284 P1
+	 L1/P8 -> MT23108 H-6285 P1
+	 L2/P8 -> MT23108 H-6286 P1
+	 L3/P8 -> MT23108 H-6287 P1
+	 L4/P8 -> MT23108 H-6288 P1
+	 L5/P8 -> MT23108 H-6289 P1
+	 L6/P8 -> MT23108 H-6290 P1
+	 L7/P8 -> MT23108 H-6291 P1
+	 L8/P8 -> MT23108 H-6292 P1
+	 L9/P8 -> MT23108 H-6293 P1
+	 L10/P8 -> MT23108 H-6294 P1
+	 L11/P8 -> MT23108 H-6295 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P8
+	 L2/P9 -> MTS14400 SL2-2 L7/P8
+	 L3/P9 -> MTS14400 SL2-3 L7/P8
+	 L4/P9 -> MTS14400 SL2-4 L7/P8
+	 L5/P9 -> MTS14400 SL2-5 L7/P8
+	 L6/P9 -> MTS14400 SL2-6 L6/P8
+	 L7/P9 -> MTS14400 SL2-6 L7/P8
+	 L8/P9 -> MTS14400 SL2-7 L6/P8
+	 L9/P9 -> MTS14400 SL2-7 L7/P8
+	 L10/P9 -> MTS14400 SL2-8 L6/P8
+	 L11/P9 -> MTS14400 SL2-8 L7/P8
+	 L12/P9 -> MTS14400 SL2-9 L6/P8
+	 L1/P10 -> MTS14400 SL2-9 L7/P8
+	 L2/P10 -> MTS14400 SL2-10 L6/P8
+	 L3/P10 -> MTS14400 SL2-10 L7/P8
+	 L4/P10 -> MTS14400 SL2-11 L6/P8
+	 L5/P10 -> MTS14400 SL2-11 L7/P8
+	 L6/P10 -> MTS14400 SL2-12 L6/P8
+	 L7/P10 -> MTS14400 SL2-12 L7/P8
+	 L8/P10 -> MTS14400 SL2-13 L6/P8
+	 L9/P10 -> MTS14400 SL2-13 L7/P8
+	 L10/P10 -> MTS14400 SL2-14 L6/P8
+	 L11/P10 -> MTS14400 SL2-14 L7/P8
+	 L12/P10 -> MTS14400 SL2-15 L6/P8
+	 L1/P11 -> MTS14400 SL2-15 L7/P8
+	 L2/P11 -> MTS14400 SL2-16 L6/P8
+	 L3/P11 -> MTS14400 SL2-16 L7/P8
+	 L4/P11 -> MTS14400 SL2-17 L6/P8
+	 L5/P11 -> MTS14400 SL2-17 L7/P8
+	 L6/P11 -> MTS14400 SL2-18 L6/P8
+	 L7/P11 -> MTS14400 SL2-18 L7/P8
+	 L8/P11 -> MTS14400 SL2-19 L6/P8
+	 L9/P11 -> MTS14400 SL2-20 L6/P8
+	 L10/P11 -> MTS14400 SL2-21 L6/P8
+	 L11/P11 -> MTS14400 SL2-22 L6/P8
+	 L12/P11 -> MTS14400 SL2-23 L6/P8
+	 L1/P12 -> MTS14400 SL2-24 L6/P8
+	 L2/P12 -> MTS14400 SL2-25 L6/P8
+	 L3/P12 -> MTS14400 SL2-26 L6/P8
+	 L4/P12 -> MTS14400 SL2-27 L6/P8
+	 L5/P12 -> MTS14400 SL2-28 L6/P8
+	 L6/P12 -> MTS14400 SL2-29 L6/P8
+	 L7/P12 -> MTS14400 SL2-30 L6/P8
+	 L8/P12 -> MTS14400 SL2-31 L6/P8
+	 L9/P12 -> MTS14400 SL2-32 L6/P8
+	 L10/P12 -> MTS14400 SL2-33 L6/P8
+	 L11/P12 -> MTS14400 SL2-34 L6/P8
+	 L12/P12 -> MTS14400 SL2-35 L6/P8
+
+MTS14400 SL1-67
+	 L1/P1 -> MT23108 H-6296 P1
+	 L2/P1 -> MT23108 H-6297 P1
+	 L3/P1 -> MT23108 H-6298 P1
+	 L4/P1 -> MT23108 H-6299 P1
+	 L5/P1 -> MT23108 H-6300 P1
+	 L6/P1 -> MT23108 H-6301 P1
+	 L7/P1 -> MT23108 H-6302 P1
+	 L8/P1 -> MT23108 H-6303 P1
+	 L9/P1 -> MT23108 H-6304 P1
+	 L10/P1 -> MT23108 H-6305 P1
+	 L11/P1 -> MT23108 H-6306 P1
+	 L12/P1 -> MT23108 H-6307 P1
+	 L1/P2 -> MT23108 H-6308 P1
+	 L2/P2 -> MT23108 H-6309 P1
+	 L3/P2 -> MT23108 H-6310 P1
+	 L4/P2 -> MT23108 H-6311 P1
+	 L5/P2 -> MT23108 H-6312 P1
+	 L6/P2 -> MT23108 H-6313 P1
+	 L7/P2 -> MT23108 H-6314 P1
+	 L8/P2 -> MT23108 H-6315 P1
+	 L9/P2 -> MT23108 H-6316 P1
+	 L10/P2 -> MT23108 H-6317 P1
+	 L11/P2 -> MT23108 H-6318 P1
+	 L12/P2 -> MT23108 H-6319 P1
+	 L1/P3 -> MT23108 H-6320 P1
+	 L2/P3 -> MT23108 H-6321 P1
+	 L3/P3 -> MT23108 H-6322 P1
+	 L4/P3 -> MT23108 H-6323 P1
+	 L5/P3 -> MT23108 H-6324 P1
+	 L6/P3 -> MT23108 H-6325 P1
+	 L7/P3 -> MT23108 H-6326 P1
+	 L8/P3 -> MT23108 H-6327 P1
+	 L9/P3 -> MT23108 H-6328 P1
+	 L10/P3 -> MT23108 H-6329 P1
+	 L11/P3 -> MT23108 H-6330 P1
+	 L12/P3 -> MT23108 H-6331 P1
+	 L1/P4 -> MT23108 H-6332 P1
+	 L2/P4 -> MT23108 H-6333 P1
+	 L3/P4 -> MT23108 H-6334 P1
+	 L4/P4 -> MT23108 H-6335 P1
+	 L5/P4 -> MT23108 H-6336 P1
+	 L6/P4 -> MT23108 H-6337 P1
+	 L7/P4 -> MT23108 H-6338 P1
+	 L8/P4 -> MT23108 H-6339 P1
+	 L9/P4 -> MT23108 H-6340 P1
+	 L10/P4 -> MT23108 H-6341 P1
+	 L11/P4 -> MT23108 H-6342 P1
+	 L12/P4 -> MT23108 H-6343 P1
+	 L1/P5 -> MT23108 H-6344 P1
+	 L2/P5 -> MT23108 H-6345 P1
+	 L3/P5 -> MT23108 H-6346 P1
+	 L4/P5 -> MT23108 H-6347 P1
+	 L5/P5 -> MT23108 H-6348 P1
+	 L6/P5 -> MT23108 H-6349 P1
+	 L7/P5 -> MT23108 H-6350 P1
+	 L8/P5 -> MT23108 H-6351 P1
+	 L9/P5 -> MT23108 H-6352 P1
+	 L10/P5 -> MT23108 H-6353 P1
+	 L11/P5 -> MT23108 H-6354 P1
+	 L12/P5 -> MT23108 H-6355 P1
+	 L1/P6 -> MT23108 H-6356 P1
+	 L2/P6 -> MT23108 H-6357 P1
+	 L3/P6 -> MT23108 H-6358 P1
+	 L4/P6 -> MT23108 H-6359 P1
+	 L5/P6 -> MT23108 H-6360 P1
+	 L6/P6 -> MT23108 H-6361 P1
+	 L7/P6 -> MT23108 H-6362 P1
+	 L8/P6 -> MT23108 H-6363 P1
+	 L9/P6 -> MT23108 H-6364 P1
+	 L10/P6 -> MT23108 H-6365 P1
+	 L11/P6 -> MT23108 H-6366 P1
+	 L12/P6 -> MT23108 H-6367 P1
+	 L1/P7 -> MT23108 H-6368 P1
+	 L2/P7 -> MT23108 H-6369 P1
+	 L3/P7 -> MT23108 H-6370 P1
+	 L4/P7 -> MT23108 H-6371 P1
+	 L5/P7 -> MT23108 H-6372 P1
+	 L6/P7 -> MT23108 H-6373 P1
+	 L7/P7 -> MT23108 H-6374 P1
+	 L8/P7 -> MT23108 H-6375 P1
+	 L9/P7 -> MT23108 H-6376 P1
+	 L10/P7 -> MT23108 H-6377 P1
+	 L11/P7 -> MT23108 H-6378 P1
+	 L12/P7 -> MT23108 H-6379 P1
+	 L1/P8 -> MT23108 H-6380 P1
+	 L2/P8 -> MT23108 H-6381 P1
+	 L3/P8 -> MT23108 H-6382 P1
+	 L4/P8 -> MT23108 H-6383 P1
+	 L5/P8 -> MT23108 H-6384 P1
+	 L6/P8 -> MT23108 H-6385 P1
+	 L7/P8 -> MT23108 H-6386 P1
+	 L8/P8 -> MT23108 H-6387 P1
+	 L9/P8 -> MT23108 H-6388 P1
+	 L10/P8 -> MT23108 H-6389 P1
+	 L11/P8 -> MT23108 H-6390 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P8
+	 L2/P9 -> MTS14400 SL2-2 L8/P8
+	 L3/P9 -> MTS14400 SL2-3 L8/P8
+	 L4/P9 -> MTS14400 SL2-4 L8/P8
+	 L5/P9 -> MTS14400 SL2-5 L8/P8
+	 L6/P9 -> MTS14400 SL2-6 L8/P8
+	 L7/P9 -> MTS14400 SL2-7 L8/P8
+	 L8/P9 -> MTS14400 SL2-8 L8/P8
+	 L9/P9 -> MTS14400 SL2-9 L8/P8
+	 L10/P9 -> MTS14400 SL2-10 L8/P8
+	 L11/P9 -> MTS14400 SL2-11 L8/P8
+	 L12/P9 -> MTS14400 SL2-12 L8/P8
+	 L1/P10 -> MTS14400 SL2-13 L8/P8
+	 L2/P10 -> MTS14400 SL2-14 L8/P8
+	 L3/P10 -> MTS14400 SL2-15 L8/P8
+	 L4/P10 -> MTS14400 SL2-16 L8/P8
+	 L5/P10 -> MTS14400 SL2-17 L8/P8
+	 L6/P10 -> MTS14400 SL2-18 L8/P8
+	 L7/P10 -> MTS14400 SL2-19 L7/P8
+	 L8/P10 -> MTS14400 SL2-19 L8/P8
+	 L9/P10 -> MTS14400 SL2-20 L7/P8
+	 L10/P10 -> MTS14400 SL2-20 L8/P8
+	 L11/P10 -> MTS14400 SL2-21 L7/P8
+	 L12/P10 -> MTS14400 SL2-21 L8/P8
+	 L1/P11 -> MTS14400 SL2-22 L7/P8
+	 L2/P11 -> MTS14400 SL2-22 L8/P8
+	 L3/P11 -> MTS14400 SL2-23 L7/P8
+	 L4/P11 -> MTS14400 SL2-23 L8/P8
+	 L5/P11 -> MTS14400 SL2-24 L7/P8
+	 L6/P11 -> MTS14400 SL2-24 L8/P8
+	 L7/P11 -> MTS14400 SL2-25 L7/P8
+	 L8/P11 -> MTS14400 SL2-25 L8/P8
+	 L9/P11 -> MTS14400 SL2-26 L7/P8
+	 L10/P11 -> MTS14400 SL2-26 L8/P8
+	 L11/P11 -> MTS14400 SL2-27 L7/P8
+	 L12/P11 -> MTS14400 SL2-27 L8/P8
+	 L1/P12 -> MTS14400 SL2-28 L7/P8
+	 L2/P12 -> MTS14400 SL2-28 L8/P8
+	 L3/P12 -> MTS14400 SL2-29 L7/P8
+	 L4/P12 -> MTS14400 SL2-29 L8/P8
+	 L5/P12 -> MTS14400 SL2-30 L7/P8
+	 L6/P12 -> MTS14400 SL2-30 L8/P8
+	 L7/P12 -> MTS14400 SL2-31 L7/P8
+	 L8/P12 -> MTS14400 SL2-31 L8/P8
+	 L9/P12 -> MTS14400 SL2-32 L7/P8
+	 L10/P12 -> MTS14400 SL2-33 L7/P8
+	 L11/P12 -> MTS14400 SL2-34 L7/P8
+	 L12/P12 -> MTS14400 SL2-35 L7/P8
+
+MTS14400 SL1-68
+	 L1/P1 -> MT23108 H-6391 P1
+	 L2/P1 -> MT23108 H-6392 P1
+	 L3/P1 -> MT23108 H-6393 P1
+	 L4/P1 -> MT23108 H-6394 P1
+	 L5/P1 -> MT23108 H-6395 P1
+	 L6/P1 -> MT23108 H-6396 P1
+	 L7/P1 -> MT23108 H-6397 P1
+	 L8/P1 -> MT23108 H-6398 P1
+	 L9/P1 -> MT23108 H-6399 P1
+	 L10/P1 -> MT23108 H-6400 P1
+	 L11/P1 -> MT23108 H-6401 P1
+	 L12/P1 -> MT23108 H-6402 P1
+	 L1/P2 -> MT23108 H-6403 P1
+	 L2/P2 -> MT23108 H-6404 P1
+	 L3/P2 -> MT23108 H-6405 P1
+	 L4/P2 -> MT23108 H-6406 P1
+	 L5/P2 -> MT23108 H-6407 P1
+	 L6/P2 -> MT23108 H-6408 P1
+	 L7/P2 -> MT23108 H-6409 P1
+	 L8/P2 -> MT23108 H-6410 P1
+	 L9/P2 -> MT23108 H-6411 P1
+	 L10/P2 -> MT23108 H-6412 P1
+	 L11/P2 -> MT23108 H-6413 P1
+	 L12/P2 -> MT23108 H-6414 P1
+	 L1/P3 -> MT23108 H-6415 P1
+	 L2/P3 -> MT23108 H-6416 P1
+	 L3/P3 -> MT23108 H-6417 P1
+	 L4/P3 -> MT23108 H-6418 P1
+	 L5/P3 -> MT23108 H-6419 P1
+	 L6/P3 -> MT23108 H-6420 P1
+	 L7/P3 -> MT23108 H-6421 P1
+	 L8/P3 -> MT23108 H-6422 P1
+	 L9/P3 -> MT23108 H-6423 P1
+	 L10/P3 -> MT23108 H-6424 P1
+	 L11/P3 -> MT23108 H-6425 P1
+	 L12/P3 -> MT23108 H-6426 P1
+	 L1/P4 -> MT23108 H-6427 P1
+	 L2/P4 -> MT23108 H-6428 P1
+	 L3/P4 -> MT23108 H-6429 P1
+	 L4/P4 -> MT23108 H-6430 P1
+	 L5/P4 -> MT23108 H-6431 P1
+	 L6/P4 -> MT23108 H-6432 P1
+	 L7/P4 -> MT23108 H-6433 P1
+	 L8/P4 -> MT23108 H-6434 P1
+	 L9/P4 -> MT23108 H-6435 P1
+	 L10/P4 -> MT23108 H-6436 P1
+	 L11/P4 -> MT23108 H-6437 P1
+	 L12/P4 -> MT23108 H-6438 P1
+	 L1/P5 -> MT23108 H-6439 P1
+	 L2/P5 -> MT23108 H-6440 P1
+	 L3/P5 -> MT23108 H-6441 P1
+	 L4/P5 -> MT23108 H-6442 P1
+	 L5/P5 -> MT23108 H-6443 P1
+	 L6/P5 -> MT23108 H-6444 P1
+	 L7/P5 -> MT23108 H-6445 P1
+	 L8/P5 -> MT23108 H-6446 P1
+	 L9/P5 -> MT23108 H-6447 P1
+	 L10/P5 -> MT23108 H-6448 P1
+	 L11/P5 -> MT23108 H-6449 P1
+	 L12/P5 -> MT23108 H-6450 P1
+	 L1/P6 -> MT23108 H-6451 P1
+	 L2/P6 -> MT23108 H-6452 P1
+	 L3/P6 -> MT23108 H-6453 P1
+	 L4/P6 -> MT23108 H-6454 P1
+	 L5/P6 -> MT23108 H-6455 P1
+	 L6/P6 -> MT23108 H-6456 P1
+	 L7/P6 -> MT23108 H-6457 P1
+	 L8/P6 -> MT23108 H-6458 P1
+	 L9/P6 -> MT23108 H-6459 P1
+	 L10/P6 -> MT23108 H-6460 P1
+	 L11/P6 -> MT23108 H-6461 P1
+	 L12/P6 -> MT23108 H-6462 P1
+	 L1/P7 -> MT23108 H-6463 P1
+	 L2/P7 -> MT23108 H-6464 P1
+	 L3/P7 -> MT23108 H-6465 P1
+	 L4/P7 -> MT23108 H-6466 P1
+	 L5/P7 -> MT23108 H-6467 P1
+	 L6/P7 -> MT23108 H-6468 P1
+	 L7/P7 -> MT23108 H-6469 P1
+	 L8/P7 -> MT23108 H-6470 P1
+	 L9/P7 -> MT23108 H-6471 P1
+	 L10/P7 -> MT23108 H-6472 P1
+	 L11/P7 -> MT23108 H-6473 P1
+	 L12/P7 -> MT23108 H-6474 P1
+	 L1/P8 -> MT23108 H-6475 P1
+	 L2/P8 -> MT23108 H-6476 P1
+	 L3/P8 -> MT23108 H-6477 P1
+	 L4/P8 -> MT23108 H-6478 P1
+	 L5/P8 -> MT23108 H-6479 P1
+	 L6/P8 -> MT23108 H-6480 P1
+	 L7/P8 -> MT23108 H-6481 P1
+	 L8/P8 -> MT23108 H-6482 P1
+	 L9/P8 -> MT23108 H-6483 P1
+	 L10/P8 -> MT23108 H-6484 P1
+	 L11/P8 -> MT23108 H-6485 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P8
+	 L2/P9 -> MTS14400 SL2-1 L10/P8
+	 L3/P9 -> MTS14400 SL2-2 L9/P8
+	 L4/P9 -> MTS14400 SL2-2 L10/P8
+	 L5/P9 -> MTS14400 SL2-3 L9/P8
+	 L6/P9 -> MTS14400 SL2-3 L10/P8
+	 L7/P9 -> MTS14400 SL2-4 L9/P8
+	 L8/P9 -> MTS14400 SL2-4 L10/P8
+	 L9/P9 -> MTS14400 SL2-5 L9/P8
+	 L10/P9 -> MTS14400 SL2-5 L10/P8
+	 L11/P9 -> MTS14400 SL2-6 L9/P8
+	 L12/P9 -> MTS14400 SL2-6 L10/P8
+	 L1/P10 -> MTS14400 SL2-7 L9/P8
+	 L2/P10 -> MTS14400 SL2-7 L10/P8
+	 L3/P10 -> MTS14400 SL2-8 L9/P8
+	 L4/P10 -> MTS14400 SL2-8 L10/P8
+	 L5/P10 -> MTS14400 SL2-9 L9/P8
+	 L6/P10 -> MTS14400 SL2-9 L10/P8
+	 L7/P10 -> MTS14400 SL2-10 L9/P8
+	 L8/P10 -> MTS14400 SL2-11 L9/P8
+	 L9/P10 -> MTS14400 SL2-12 L9/P8
+	 L10/P10 -> MTS14400 SL2-13 L9/P8
+	 L11/P10 -> MTS14400 SL2-14 L9/P8
+	 L12/P10 -> MTS14400 SL2-15 L9/P8
+	 L1/P11 -> MTS14400 SL2-16 L9/P8
+	 L2/P11 -> MTS14400 SL2-17 L9/P8
+	 L3/P11 -> MTS14400 SL2-18 L9/P8
+	 L4/P11 -> MTS14400 SL2-19 L9/P8
+	 L5/P11 -> MTS14400 SL2-20 L9/P8
+	 L6/P11 -> MTS14400 SL2-21 L9/P8
+	 L7/P11 -> MTS14400 SL2-22 L9/P8
+	 L8/P11 -> MTS14400 SL2-23 L9/P8
+	 L9/P11 -> MTS14400 SL2-24 L9/P8
+	 L10/P11 -> MTS14400 SL2-25 L9/P8
+	 L11/P11 -> MTS14400 SL2-26 L9/P8
+	 L12/P11 -> MTS14400 SL2-27 L9/P8
+	 L1/P12 -> MTS14400 SL2-28 L9/P8
+	 L2/P12 -> MTS14400 SL2-29 L9/P8
+	 L3/P12 -> MTS14400 SL2-30 L9/P8
+	 L4/P12 -> MTS14400 SL2-31 L9/P8
+	 L5/P12 -> MTS14400 SL2-32 L8/P8
+	 L6/P12 -> MTS14400 SL2-32 L9/P8
+	 L7/P12 -> MTS14400 SL2-33 L8/P8
+	 L8/P12 -> MTS14400 SL2-33 L9/P8
+	 L9/P12 -> MTS14400 SL2-34 L8/P8
+	 L10/P12 -> MTS14400 SL2-34 L9/P8
+	 L11/P12 -> MTS14400 SL2-35 L8/P8
+	 L12/P12 -> MTS14400 SL2-35 L9/P8
+
+MTS14400 SL1-69
+	 L1/P1 -> MT23108 H-6486 P1
+	 L2/P1 -> MT23108 H-6487 P1
+	 L3/P1 -> MT23108 H-6488 P1
+	 L4/P1 -> MT23108 H-6489 P1
+	 L5/P1 -> MT23108 H-6490 P1
+	 L6/P1 -> MT23108 H-6491 P1
+	 L7/P1 -> MT23108 H-6492 P1
+	 L8/P1 -> MT23108 H-6493 P1
+	 L9/P1 -> MT23108 H-6494 P1
+	 L10/P1 -> MT23108 H-6495 P1
+	 L11/P1 -> MT23108 H-6496 P1
+	 L12/P1 -> MT23108 H-6497 P1
+	 L1/P2 -> MT23108 H-6498 P1
+	 L2/P2 -> MT23108 H-6499 P1
+	 L3/P2 -> MT23108 H-6500 P1
+	 L4/P2 -> MT23108 H-6501 P1
+	 L5/P2 -> MT23108 H-6502 P1
+	 L6/P2 -> MT23108 H-6503 P1
+	 L7/P2 -> MT23108 H-6504 P1
+	 L8/P2 -> MT23108 H-6505 P1
+	 L9/P2 -> MT23108 H-6506 P1
+	 L10/P2 -> MT23108 H-6507 P1
+	 L11/P2 -> MT23108 H-6508 P1
+	 L12/P2 -> MT23108 H-6509 P1
+	 L1/P3 -> MT23108 H-6510 P1
+	 L2/P3 -> MT23108 H-6511 P1
+	 L3/P3 -> MT23108 H-6512 P1
+	 L4/P3 -> MT23108 H-6513 P1
+	 L5/P3 -> MT23108 H-6514 P1
+	 L6/P3 -> MT23108 H-6515 P1
+	 L7/P3 -> MT23108 H-6516 P1
+	 L8/P3 -> MT23108 H-6517 P1
+	 L9/P3 -> MT23108 H-6518 P1
+	 L10/P3 -> MT23108 H-6519 P1
+	 L11/P3 -> MT23108 H-6520 P1
+	 L12/P3 -> MT23108 H-6521 P1
+	 L1/P4 -> MT23108 H-6522 P1
+	 L2/P4 -> MT23108 H-6523 P1
+	 L3/P4 -> MT23108 H-6524 P1
+	 L4/P4 -> MT23108 H-6525 P1
+	 L5/P4 -> MT23108 H-6526 P1
+	 L6/P4 -> MT23108 H-6527 P1
+	 L7/P4 -> MT23108 H-6528 P1
+	 L8/P4 -> MT23108 H-6529 P1
+	 L9/P4 -> MT23108 H-6530 P1
+	 L10/P4 -> MT23108 H-6531 P1
+	 L11/P4 -> MT23108 H-6532 P1
+	 L12/P4 -> MT23108 H-6533 P1
+	 L1/P5 -> MT23108 H-6534 P1
+	 L2/P5 -> MT23108 H-6535 P1
+	 L3/P5 -> MT23108 H-6536 P1
+	 L4/P5 -> MT23108 H-6537 P1
+	 L5/P5 -> MT23108 H-6538 P1
+	 L6/P5 -> MT23108 H-6539 P1
+	 L7/P5 -> MT23108 H-6540 P1
+	 L8/P5 -> MT23108 H-6541 P1
+	 L9/P5 -> MT23108 H-6542 P1
+	 L10/P5 -> MT23108 H-6543 P1
+	 L11/P5 -> MT23108 H-6544 P1
+	 L12/P5 -> MT23108 H-6545 P1
+	 L1/P6 -> MT23108 H-6546 P1
+	 L2/P6 -> MT23108 H-6547 P1
+	 L3/P6 -> MT23108 H-6548 P1
+	 L4/P6 -> MT23108 H-6549 P1
+	 L5/P6 -> MT23108 H-6550 P1
+	 L6/P6 -> MT23108 H-6551 P1
+	 L7/P6 -> MT23108 H-6552 P1
+	 L8/P6 -> MT23108 H-6553 P1
+	 L9/P6 -> MT23108 H-6554 P1
+	 L10/P6 -> MT23108 H-6555 P1
+	 L11/P6 -> MT23108 H-6556 P1
+	 L12/P6 -> MT23108 H-6557 P1
+	 L1/P7 -> MT23108 H-6558 P1
+	 L2/P7 -> MT23108 H-6559 P1
+	 L3/P7 -> MT23108 H-6560 P1
+	 L4/P7 -> MT23108 H-6561 P1
+	 L5/P7 -> MT23108 H-6562 P1
+	 L6/P7 -> MT23108 H-6563 P1
+	 L7/P7 -> MT23108 H-6564 P1
+	 L8/P7 -> MT23108 H-6565 P1
+	 L9/P7 -> MT23108 H-6566 P1
+	 L10/P7 -> MT23108 H-6567 P1
+	 L11/P7 -> MT23108 H-6568 P1
+	 L12/P7 -> MT23108 H-6569 P1
+	 L1/P8 -> MT23108 H-6570 P1
+	 L2/P8 -> MT23108 H-6571 P1
+	 L3/P8 -> MT23108 H-6572 P1
+	 L4/P8 -> MT23108 H-6573 P1
+	 L5/P8 -> MT23108 H-6574 P1
+	 L6/P8 -> MT23108 H-6575 P1
+	 L7/P8 -> MT23108 H-6576 P1
+	 L8/P8 -> MT23108 H-6577 P1
+	 L9/P8 -> MT23108 H-6578 P1
+	 L10/P8 -> MT23108 H-6579 P1
+	 L11/P8 -> MT23108 H-6580 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P8
+	 L2/P9 -> MTS14400 SL2-2 L11/P8
+	 L3/P9 -> MTS14400 SL2-3 L11/P8
+	 L4/P9 -> MTS14400 SL2-4 L11/P8
+	 L5/P9 -> MTS14400 SL2-5 L11/P8
+	 L6/P9 -> MTS14400 SL2-6 L11/P8
+	 L7/P9 -> MTS14400 SL2-7 L11/P8
+	 L8/P9 -> MTS14400 SL2-8 L11/P8
+	 L9/P9 -> MTS14400 SL2-9 L11/P8
+	 L10/P9 -> MTS14400 SL2-10 L10/P8
+	 L11/P9 -> MTS14400 SL2-10 L11/P8
+	 L12/P9 -> MTS14400 SL2-11 L10/P8
+	 L1/P10 -> MTS14400 SL2-11 L11/P8
+	 L2/P10 -> MTS14400 SL2-12 L10/P8
+	 L3/P10 -> MTS14400 SL2-12 L11/P8
+	 L4/P10 -> MTS14400 SL2-13 L10/P8
+	 L5/P10 -> MTS14400 SL2-13 L11/P8
+	 L6/P10 -> MTS14400 SL2-14 L10/P8
+	 L7/P10 -> MTS14400 SL2-14 L11/P8
+	 L8/P10 -> MTS14400 SL2-15 L10/P8
+	 L9/P10 -> MTS14400 SL2-15 L11/P8
+	 L10/P10 -> MTS14400 SL2-16 L10/P8
+	 L11/P10 -> MTS14400 SL2-16 L11/P8
+	 L12/P10 -> MTS14400 SL2-17 L10/P8
+	 L1/P11 -> MTS14400 SL2-17 L11/P8
+	 L2/P11 -> MTS14400 SL2-18 L10/P8
+	 L3/P11 -> MTS14400 SL2-18 L11/P8
+	 L4/P11 -> MTS14400 SL2-19 L10/P8
+	 L5/P11 -> MTS14400 SL2-19 L11/P8
+	 L6/P11 -> MTS14400 SL2-20 L10/P8
+	 L7/P11 -> MTS14400 SL2-20 L11/P8
+	 L8/P11 -> MTS14400 SL2-21 L10/P8
+	 L9/P11 -> MTS14400 SL2-21 L11/P8
+	 L10/P11 -> MTS14400 SL2-22 L10/P8
+	 L11/P11 -> MTS14400 SL2-22 L11/P8
+	 L12/P11 -> MTS14400 SL2-23 L10/P8
+	 L1/P12 -> MTS14400 SL2-24 L10/P8
+	 L2/P12 -> MTS14400 SL2-25 L10/P8
+	 L3/P12 -> MTS14400 SL2-26 L10/P8
+	 L4/P12 -> MTS14400 SL2-27 L10/P8
+	 L5/P12 -> MTS14400 SL2-28 L10/P8
+	 L6/P12 -> MTS14400 SL2-29 L10/P8
+	 L7/P12 -> MTS14400 SL2-30 L10/P8
+	 L8/P12 -> MTS14400 SL2-31 L10/P8
+	 L9/P12 -> MTS14400 SL2-32 L10/P8
+	 L10/P12 -> MTS14400 SL2-33 L10/P8
+	 L11/P12 -> MTS14400 SL2-34 L10/P8
+	 L12/P12 -> MTS14400 SL2-35 L10/P8
+
+MTS14400 SL1-70
+	 L1/P1 -> MT23108 H-6581 P1
+	 L2/P1 -> MT23108 H-6582 P1
+	 L3/P1 -> MT23108 H-6583 P1
+	 L4/P1 -> MT23108 H-6584 P1
+	 L5/P1 -> MT23108 H-6585 P1
+	 L6/P1 -> MT23108 H-6586 P1
+	 L7/P1 -> MT23108 H-6587 P1
+	 L8/P1 -> MT23108 H-6588 P1
+	 L9/P1 -> MT23108 H-6589 P1
+	 L10/P1 -> MT23108 H-6590 P1
+	 L11/P1 -> MT23108 H-6591 P1
+	 L12/P1 -> MT23108 H-6592 P1
+	 L1/P2 -> MT23108 H-6593 P1
+	 L2/P2 -> MT23108 H-6594 P1
+	 L3/P2 -> MT23108 H-6595 P1
+	 L4/P2 -> MT23108 H-6596 P1
+	 L5/P2 -> MT23108 H-6597 P1
+	 L6/P2 -> MT23108 H-6598 P1
+	 L7/P2 -> MT23108 H-6599 P1
+	 L8/P2 -> MT23108 H-6600 P1
+	 L9/P2 -> MT23108 H-6601 P1
+	 L10/P2 -> MT23108 H-6602 P1
+	 L11/P2 -> MT23108 H-6603 P1
+	 L12/P2 -> MT23108 H-6604 P1
+	 L1/P3 -> MT23108 H-6605 P1
+	 L2/P3 -> MT23108 H-6606 P1
+	 L3/P3 -> MT23108 H-6607 P1
+	 L4/P3 -> MT23108 H-6608 P1
+	 L5/P3 -> MT23108 H-6609 P1
+	 L6/P3 -> MT23108 H-6610 P1
+	 L7/P3 -> MT23108 H-6611 P1
+	 L8/P3 -> MT23108 H-6612 P1
+	 L9/P3 -> MT23108 H-6613 P1
+	 L10/P3 -> MT23108 H-6614 P1
+	 L11/P3 -> MT23108 H-6615 P1
+	 L12/P3 -> MT23108 H-6616 P1
+	 L1/P4 -> MT23108 H-6617 P1
+	 L2/P4 -> MT23108 H-6618 P1
+	 L3/P4 -> MT23108 H-6619 P1
+	 L4/P4 -> MT23108 H-6620 P1
+	 L5/P4 -> MT23108 H-6621 P1
+	 L6/P4 -> MT23108 H-6622 P1
+	 L7/P4 -> MT23108 H-6623 P1
+	 L8/P4 -> MT23108 H-6624 P1
+	 L9/P4 -> MT23108 H-6625 P1
+	 L10/P4 -> MT23108 H-6626 P1
+	 L11/P4 -> MT23108 H-6627 P1
+	 L12/P4 -> MT23108 H-6628 P1
+	 L1/P5 -> MT23108 H-6629 P1
+	 L2/P5 -> MT23108 H-6630 P1
+	 L3/P5 -> MT23108 H-6631 P1
+	 L4/P5 -> MT23108 H-6632 P1
+	 L5/P5 -> MT23108 H-6633 P1
+	 L6/P5 -> MT23108 H-6634 P1
+	 L7/P5 -> MT23108 H-6635 P1
+	 L8/P5 -> MT23108 H-6636 P1
+	 L9/P5 -> MT23108 H-6637 P1
+	 L10/P5 -> MT23108 H-6638 P1
+	 L11/P5 -> MT23108 H-6639 P1
+	 L12/P5 -> MT23108 H-6640 P1
+	 L1/P6 -> MT23108 H-6641 P1
+	 L2/P6 -> MT23108 H-6642 P1
+	 L3/P6 -> MT23108 H-6643 P1
+	 L4/P6 -> MT23108 H-6644 P1
+	 L5/P6 -> MT23108 H-6645 P1
+	 L6/P6 -> MT23108 H-6646 P1
+	 L7/P6 -> MT23108 H-6647 P1
+	 L8/P6 -> MT23108 H-6648 P1
+	 L9/P6 -> MT23108 H-6649 P1
+	 L10/P6 -> MT23108 H-6650 P1
+	 L11/P6 -> MT23108 H-6651 P1
+	 L12/P6 -> MT23108 H-6652 P1
+	 L1/P7 -> MT23108 H-6653 P1
+	 L2/P7 -> MT23108 H-6654 P1
+	 L3/P7 -> MT23108 H-6655 P1
+	 L4/P7 -> MT23108 H-6656 P1
+	 L5/P7 -> MT23108 H-6657 P1
+	 L6/P7 -> MT23108 H-6658 P1
+	 L7/P7 -> MT23108 H-6659 P1
+	 L8/P7 -> MT23108 H-6660 P1
+	 L9/P7 -> MT23108 H-6661 P1
+	 L10/P7 -> MT23108 H-6662 P1
+	 L11/P7 -> MT23108 H-6663 P1
+	 L12/P7 -> MT23108 H-6664 P1
+	 L1/P8 -> MT23108 H-6665 P1
+	 L2/P8 -> MT23108 H-6666 P1
+	 L3/P8 -> MT23108 H-6667 P1
+	 L4/P8 -> MT23108 H-6668 P1
+	 L5/P8 -> MT23108 H-6669 P1
+	 L6/P8 -> MT23108 H-6670 P1
+	 L7/P8 -> MT23108 H-6671 P1
+	 L8/P8 -> MT23108 H-6672 P1
+	 L9/P8 -> MT23108 H-6673 P1
+	 L10/P8 -> MT23108 H-6674 P1
+	 L11/P8 -> MT23108 H-6675 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P8
+	 L2/P9 -> MTS14400 SL2-2 L12/P8
+	 L3/P9 -> MTS14400 SL2-3 L12/P8
+	 L4/P9 -> MTS14400 SL2-4 L12/P8
+	 L5/P9 -> MTS14400 SL2-5 L12/P8
+	 L6/P9 -> MTS14400 SL2-6 L12/P8
+	 L7/P9 -> MTS14400 SL2-7 L12/P8
+	 L8/P9 -> MTS14400 SL2-8 L12/P8
+	 L9/P9 -> MTS14400 SL2-9 L12/P8
+	 L10/P9 -> MTS14400 SL2-10 L12/P8
+	 L11/P9 -> MTS14400 SL2-11 L12/P8
+	 L12/P9 -> MTS14400 SL2-12 L12/P8
+	 L1/P10 -> MTS14400 SL2-13 L12/P8
+	 L2/P10 -> MTS14400 SL2-14 L12/P8
+	 L3/P10 -> MTS14400 SL2-15 L12/P8
+	 L4/P10 -> MTS14400 SL2-16 L12/P8
+	 L5/P10 -> MTS14400 SL2-17 L12/P8
+	 L6/P10 -> MTS14400 SL2-18 L12/P8
+	 L7/P10 -> MTS14400 SL2-19 L12/P8
+	 L8/P10 -> MTS14400 SL2-20 L12/P8
+	 L9/P10 -> MTS14400 SL2-21 L12/P8
+	 L10/P10 -> MTS14400 SL2-22 L12/P8
+	 L11/P10 -> MTS14400 SL2-23 L11/P8
+	 L12/P10 -> MTS14400 SL2-23 L12/P8
+	 L1/P11 -> MTS14400 SL2-24 L11/P8
+	 L2/P11 -> MTS14400 SL2-24 L12/P8
+	 L3/P11 -> MTS14400 SL2-25 L11/P8
+	 L4/P11 -> MTS14400 SL2-25 L12/P8
+	 L5/P11 -> MTS14400 SL2-26 L11/P8
+	 L6/P11 -> MTS14400 SL2-26 L12/P8
+	 L7/P11 -> MTS14400 SL2-27 L11/P8
+	 L8/P11 -> MTS14400 SL2-27 L12/P8
+	 L9/P11 -> MTS14400 SL2-28 L11/P8
+	 L10/P11 -> MTS14400 SL2-28 L12/P8
+	 L11/P11 -> MTS14400 SL2-29 L11/P8
+	 L12/P11 -> MTS14400 SL2-29 L12/P8
+	 L1/P12 -> MTS14400 SL2-30 L11/P8
+	 L2/P12 -> MTS14400 SL2-30 L12/P8
+	 L3/P12 -> MTS14400 SL2-31 L11/P8
+	 L4/P12 -> MTS14400 SL2-31 L12/P8
+	 L5/P12 -> MTS14400 SL2-32 L11/P8
+	 L6/P12 -> MTS14400 SL2-32 L12/P8
+	 L7/P12 -> MTS14400 SL2-33 L11/P8
+	 L8/P12 -> MTS14400 SL2-33 L12/P8
+	 L9/P12 -> MTS14400 SL2-34 L11/P8
+	 L10/P12 -> MTS14400 SL2-34 L12/P8
+	 L11/P12 -> MTS14400 SL2-35 L11/P8
+	 L12/P12 -> MTS14400 SL2-35 L12/P8
+
+MTS14400 SL1-71
+	 L1/P1 -> MT23108 H-6676 P1
+	 L2/P1 -> MT23108 H-6677 P1
+	 L3/P1 -> MT23108 H-6678 P1
+	 L4/P1 -> MT23108 H-6679 P1
+	 L5/P1 -> MT23108 H-6680 P1
+	 L6/P1 -> MT23108 H-6681 P1
+	 L7/P1 -> MT23108 H-6682 P1
+	 L8/P1 -> MT23108 H-6683 P1
+	 L9/P1 -> MT23108 H-6684 P1
+	 L10/P1 -> MT23108 H-6685 P1
+	 L11/P1 -> MT23108 H-6686 P1
+	 L12/P1 -> MT23108 H-6687 P1
+	 L1/P2 -> MT23108 H-6688 P1
+	 L2/P2 -> MT23108 H-6689 P1
+	 L3/P2 -> MT23108 H-6690 P1
+	 L4/P2 -> MT23108 H-6691 P1
+	 L5/P2 -> MT23108 H-6692 P1
+	 L6/P2 -> MT23108 H-6693 P1
+	 L7/P2 -> MT23108 H-6694 P1
+	 L8/P2 -> MT23108 H-6695 P1
+	 L9/P2 -> MT23108 H-6696 P1
+	 L10/P2 -> MT23108 H-6697 P1
+	 L11/P2 -> MT23108 H-6698 P1
+	 L12/P2 -> MT23108 H-6699 P1
+	 L1/P3 -> MT23108 H-6700 P1
+	 L2/P3 -> MT23108 H-6701 P1
+	 L3/P3 -> MT23108 H-6702 P1
+	 L4/P3 -> MT23108 H-6703 P1
+	 L5/P3 -> MT23108 H-6704 P1
+	 L6/P3 -> MT23108 H-6705 P1
+	 L7/P3 -> MT23108 H-6706 P1
+	 L8/P3 -> MT23108 H-6707 P1
+	 L9/P3 -> MT23108 H-6708 P1
+	 L10/P3 -> MT23108 H-6709 P1
+	 L11/P3 -> MT23108 H-6710 P1
+	 L12/P3 -> MT23108 H-6711 P1
+	 L1/P4 -> MT23108 H-6712 P1
+	 L2/P4 -> MT23108 H-6713 P1
+	 L3/P4 -> MT23108 H-6714 P1
+	 L4/P4 -> MT23108 H-6715 P1
+	 L5/P4 -> MT23108 H-6716 P1
+	 L6/P4 -> MT23108 H-6717 P1
+	 L7/P4 -> MT23108 H-6718 P1
+	 L8/P4 -> MT23108 H-6719 P1
+	 L9/P4 -> MT23108 H-6720 P1
+	 L10/P4 -> MT23108 H-6721 P1
+	 L11/P4 -> MT23108 H-6722 P1
+	 L12/P4 -> MT23108 H-6723 P1
+	 L1/P5 -> MT23108 H-6724 P1
+	 L2/P5 -> MT23108 H-6725 P1
+	 L3/P5 -> MT23108 H-6726 P1
+	 L4/P5 -> MT23108 H-6727 P1
+	 L5/P5 -> MT23108 H-6728 P1
+	 L6/P5 -> MT23108 H-6729 P1
+	 L7/P5 -> MT23108 H-6730 P1
+	 L8/P5 -> MT23108 H-6731 P1
+	 L9/P5 -> MT23108 H-6732 P1
+	 L10/P5 -> MT23108 H-6733 P1
+	 L11/P5 -> MT23108 H-6734 P1
+	 L12/P5 -> MT23108 H-6735 P1
+	 L1/P6 -> MT23108 H-6736 P1
+	 L2/P6 -> MT23108 H-6737 P1
+	 L3/P6 -> MT23108 H-6738 P1
+	 L4/P6 -> MT23108 H-6739 P1
+	 L5/P6 -> MT23108 H-6740 P1
+	 L6/P6 -> MT23108 H-6741 P1
+	 L7/P6 -> MT23108 H-6742 P1
+	 L8/P6 -> MT23108 H-6743 P1
+	 L9/P6 -> MT23108 H-6744 P1
+	 L10/P6 -> MT23108 H-6745 P1
+	 L11/P6 -> MT23108 H-6746 P1
+	 L12/P6 -> MT23108 H-6747 P1
+	 L1/P7 -> MT23108 H-6748 P1
+	 L2/P7 -> MT23108 H-6749 P1
+	 L3/P7 -> MT23108 H-6750 P1
+	 L4/P7 -> MT23108 H-6751 P1
+	 L5/P7 -> MT23108 H-6752 P1
+	 L6/P7 -> MT23108 H-6753 P1
+	 L7/P7 -> MT23108 H-6754 P1
+	 L8/P7 -> MT23108 H-6755 P1
+	 L9/P7 -> MT23108 H-6756 P1
+	 L10/P7 -> MT23108 H-6757 P1
+	 L11/P7 -> MT23108 H-6758 P1
+	 L12/P7 -> MT23108 H-6759 P1
+	 L1/P8 -> MT23108 H-6760 P1
+	 L2/P8 -> MT23108 H-6761 P1
+	 L3/P8 -> MT23108 H-6762 P1
+	 L4/P8 -> MT23108 H-6763 P1
+	 L5/P8 -> MT23108 H-6764 P1
+	 L6/P8 -> MT23108 H-6765 P1
+	 L7/P8 -> MT23108 H-6766 P1
+	 L8/P8 -> MT23108 H-6767 P1
+	 L9/P8 -> MT23108 H-6768 P1
+	 L10/P8 -> MT23108 H-6769 P1
+	 L11/P8 -> MT23108 H-6770 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P9
+	 L2/P9 -> MTS14400 SL2-1 L2/P9
+	 L3/P9 -> MTS14400 SL2-2 L1/P9
+	 L4/P9 -> MTS14400 SL2-2 L2/P9
+	 L5/P9 -> MTS14400 SL2-3 L1/P9
+	 L6/P9 -> MTS14400 SL2-3 L2/P9
+	 L7/P9 -> MTS14400 SL2-4 L1/P9
+	 L8/P9 -> MTS14400 SL2-4 L2/P9
+	 L9/P9 -> MTS14400 SL2-5 L1/P9
+	 L10/P9 -> MTS14400 SL2-5 L2/P9
+	 L11/P9 -> MTS14400 SL2-6 L1/P9
+	 L12/P9 -> MTS14400 SL2-6 L2/P9
+	 L1/P10 -> MTS14400 SL2-7 L1/P9
+	 L2/P10 -> MTS14400 SL2-7 L2/P9
+	 L3/P10 -> MTS14400 SL2-8 L1/P9
+	 L4/P10 -> MTS14400 SL2-8 L2/P9
+	 L5/P10 -> MTS14400 SL2-9 L1/P9
+	 L6/P10 -> MTS14400 SL2-9 L2/P9
+	 L7/P10 -> MTS14400 SL2-10 L1/P9
+	 L8/P10 -> MTS14400 SL2-10 L2/P9
+	 L9/P10 -> MTS14400 SL2-11 L1/P9
+	 L10/P10 -> MTS14400 SL2-11 L2/P9
+	 L11/P10 -> MTS14400 SL2-12 L1/P9
+	 L12/P10 -> MTS14400 SL2-12 L2/P9
+	 L1/P11 -> MTS14400 SL2-13 L1/P9
+	 L2/P11 -> MTS14400 SL2-13 L2/P9
+	 L3/P11 -> MTS14400 SL2-14 L1/P9
+	 L4/P11 -> MTS14400 SL2-15 L1/P9
+	 L5/P11 -> MTS14400 SL2-16 L1/P9
+	 L6/P11 -> MTS14400 SL2-17 L1/P9
+	 L7/P11 -> MTS14400 SL2-18 L1/P9
+	 L8/P11 -> MTS14400 SL2-19 L1/P9
+	 L9/P11 -> MTS14400 SL2-20 L1/P9
+	 L10/P11 -> MTS14400 SL2-21 L1/P9
+	 L11/P11 -> MTS14400 SL2-22 L1/P9
+	 L12/P11 -> MTS14400 SL2-23 L1/P9
+	 L1/P12 -> MTS14400 SL2-24 L1/P9
+	 L2/P12 -> MTS14400 SL2-25 L1/P9
+	 L3/P12 -> MTS14400 SL2-26 L1/P9
+	 L4/P12 -> MTS14400 SL2-27 L1/P9
+	 L5/P12 -> MTS14400 SL2-28 L1/P9
+	 L6/P12 -> MTS14400 SL2-29 L1/P9
+	 L7/P12 -> MTS14400 SL2-30 L1/P9
+	 L8/P12 -> MTS14400 SL2-31 L1/P9
+	 L9/P12 -> MTS14400 SL2-32 L1/P9
+	 L10/P12 -> MTS14400 SL2-33 L1/P9
+	 L11/P12 -> MTS14400 SL2-34 L1/P9
+	 L12/P12 -> MTS14400 SL2-35 L1/P9
+
+MTS14400 SL1-72
+	 L1/P1 -> MT23108 H-6771 P1
+	 L2/P1 -> MT23108 H-6772 P1
+	 L3/P1 -> MT23108 H-6773 P1
+	 L4/P1 -> MT23108 H-6774 P1
+	 L5/P1 -> MT23108 H-6775 P1
+	 L6/P1 -> MT23108 H-6776 P1
+	 L7/P1 -> MT23108 H-6777 P1
+	 L8/P1 -> MT23108 H-6778 P1
+	 L9/P1 -> MT23108 H-6779 P1
+	 L10/P1 -> MT23108 H-6780 P1
+	 L11/P1 -> MT23108 H-6781 P1
+	 L12/P1 -> MT23108 H-6782 P1
+	 L1/P2 -> MT23108 H-6783 P1
+	 L2/P2 -> MT23108 H-6784 P1
+	 L3/P2 -> MT23108 H-6785 P1
+	 L4/P2 -> MT23108 H-6786 P1
+	 L5/P2 -> MT23108 H-6787 P1
+	 L6/P2 -> MT23108 H-6788 P1
+	 L7/P2 -> MT23108 H-6789 P1
+	 L8/P2 -> MT23108 H-6790 P1
+	 L9/P2 -> MT23108 H-6791 P1
+	 L10/P2 -> MT23108 H-6792 P1
+	 L11/P2 -> MT23108 H-6793 P1
+	 L12/P2 -> MT23108 H-6794 P1
+	 L1/P3 -> MT23108 H-6795 P1
+	 L2/P3 -> MT23108 H-6796 P1
+	 L3/P3 -> MT23108 H-6797 P1
+	 L4/P3 -> MT23108 H-6798 P1
+	 L5/P3 -> MT23108 H-6799 P1
+	 L6/P3 -> MT23108 H-6800 P1
+	 L7/P3 -> MT23108 H-6801 P1
+	 L8/P3 -> MT23108 H-6802 P1
+	 L9/P3 -> MT23108 H-6803 P1
+	 L10/P3 -> MT23108 H-6804 P1
+	 L11/P3 -> MT23108 H-6805 P1
+	 L12/P3 -> MT23108 H-6806 P1
+	 L1/P4 -> MT23108 H-6807 P1
+	 L2/P4 -> MT23108 H-6808 P1
+	 L3/P4 -> MT23108 H-6809 P1
+	 L4/P4 -> MT23108 H-6810 P1
+	 L5/P4 -> MT23108 H-6811 P1
+	 L6/P4 -> MT23108 H-6812 P1
+	 L7/P4 -> MT23108 H-6813 P1
+	 L8/P4 -> MT23108 H-6814 P1
+	 L9/P4 -> MT23108 H-6815 P1
+	 L10/P4 -> MT23108 H-6816 P1
+	 L11/P4 -> MT23108 H-6817 P1
+	 L12/P4 -> MT23108 H-6818 P1
+	 L1/P5 -> MT23108 H-6819 P1
+	 L2/P5 -> MT23108 H-6820 P1
+	 L3/P5 -> MT23108 H-6821 P1
+	 L4/P5 -> MT23108 H-6822 P1
+	 L5/P5 -> MT23108 H-6823 P1
+	 L6/P5 -> MT23108 H-6824 P1
+	 L7/P5 -> MT23108 H-6825 P1
+	 L8/P5 -> MT23108 H-6826 P1
+	 L9/P5 -> MT23108 H-6827 P1
+	 L10/P5 -> MT23108 H-6828 P1
+	 L11/P5 -> MT23108 H-6829 P1
+	 L12/P5 -> MT23108 H-6830 P1
+	 L1/P6 -> MT23108 H-6831 P1
+	 L2/P6 -> MT23108 H-6832 P1
+	 L3/P6 -> MT23108 H-6833 P1
+	 L4/P6 -> MT23108 H-6834 P1
+	 L5/P6 -> MT23108 H-6835 P1
+	 L6/P6 -> MT23108 H-6836 P1
+	 L7/P6 -> MT23108 H-6837 P1
+	 L8/P6 -> MT23108 H-6838 P1
+	 L9/P6 -> MT23108 H-6839 P1
+	 L10/P6 -> MT23108 H-6840 P1
+	 L11/P6 -> MT23108 H-6841 P1
+	 L12/P6 -> MT23108 H-6842 P1
+	 L1/P7 -> MT23108 H-6843 P1
+	 L2/P7 -> MT23108 H-6844 P1
+	 L3/P7 -> MT23108 H-6845 P1
+	 L4/P7 -> MT23108 H-6846 P1
+	 L5/P7 -> MT23108 H-6847 P1
+	 L6/P7 -> MT23108 H-6848 P1
+	 L7/P7 -> MT23108 H-6849 P1
+	 L8/P7 -> MT23108 H-6850 P1
+	 L9/P7 -> MT23108 H-6851 P1
+	 L10/P7 -> MT23108 H-6852 P1
+	 L11/P7 -> MT23108 H-6853 P1
+	 L12/P7 -> MT23108 H-6854 P1
+	 L1/P8 -> MT23108 H-6855 P1
+	 L2/P8 -> MT23108 H-6856 P1
+	 L3/P8 -> MT23108 H-6857 P1
+	 L4/P8 -> MT23108 H-6858 P1
+	 L5/P8 -> MT23108 H-6859 P1
+	 L6/P8 -> MT23108 H-6860 P1
+	 L7/P8 -> MT23108 H-6861 P1
+	 L8/P8 -> MT23108 H-6862 P1
+	 L9/P8 -> MT23108 H-6863 P1
+	 L10/P8 -> MT23108 H-6864 P1
+	 L11/P8 -> MT23108 H-6865 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P9
+	 L2/P9 -> MTS14400 SL2-2 L3/P9
+	 L3/P9 -> MTS14400 SL2-3 L3/P9
+	 L4/P9 -> MTS14400 SL2-4 L3/P9
+	 L5/P9 -> MTS14400 SL2-5 L3/P9
+	 L6/P9 -> MTS14400 SL2-6 L3/P9
+	 L7/P9 -> MTS14400 SL2-7 L3/P9
+	 L8/P9 -> MTS14400 SL2-8 L3/P9
+	 L9/P9 -> MTS14400 SL2-9 L3/P9
+	 L10/P9 -> MTS14400 SL2-10 L3/P9
+	 L11/P9 -> MTS14400 SL2-11 L3/P9
+	 L12/P9 -> MTS14400 SL2-12 L3/P9
+	 L1/P10 -> MTS14400 SL2-13 L3/P9
+	 L2/P10 -> MTS14400 SL2-14 L2/P9
+	 L3/P10 -> MTS14400 SL2-14 L3/P9
+	 L4/P10 -> MTS14400 SL2-15 L2/P9
+	 L5/P10 -> MTS14400 SL2-15 L3/P9
+	 L6/P10 -> MTS14400 SL2-16 L2/P9
+	 L7/P10 -> MTS14400 SL2-16 L3/P9
+	 L8/P10 -> MTS14400 SL2-17 L2/P9
+	 L9/P10 -> MTS14400 SL2-17 L3/P9
+	 L10/P10 -> MTS14400 SL2-18 L2/P9
+	 L11/P10 -> MTS14400 SL2-18 L3/P9
+	 L12/P10 -> MTS14400 SL2-19 L2/P9
+	 L1/P11 -> MTS14400 SL2-19 L3/P9
+	 L2/P11 -> MTS14400 SL2-20 L2/P9
+	 L3/P11 -> MTS14400 SL2-20 L3/P9
+	 L4/P11 -> MTS14400 SL2-21 L2/P9
+	 L5/P11 -> MTS14400 SL2-21 L3/P9
+	 L6/P11 -> MTS14400 SL2-22 L2/P9
+	 L7/P11 -> MTS14400 SL2-22 L3/P9
+	 L8/P11 -> MTS14400 SL2-23 L2/P9
+	 L9/P11 -> MTS14400 SL2-23 L3/P9
+	 L10/P11 -> MTS14400 SL2-24 L2/P9
+	 L11/P11 -> MTS14400 SL2-24 L3/P9
+	 L12/P11 -> MTS14400 SL2-25 L2/P9
+	 L1/P12 -> MTS14400 SL2-25 L3/P9
+	 L2/P12 -> MTS14400 SL2-26 L2/P9
+	 L3/P12 -> MTS14400 SL2-26 L3/P9
+	 L4/P12 -> MTS14400 SL2-27 L2/P9
+	 L5/P12 -> MTS14400 SL2-28 L2/P9
+	 L6/P12 -> MTS14400 SL2-29 L2/P9
+	 L7/P12 -> MTS14400 SL2-30 L2/P9
+	 L8/P12 -> MTS14400 SL2-31 L2/P9
+	 L9/P12 -> MTS14400 SL2-32 L2/P9
+	 L10/P12 -> MTS14400 SL2-33 L2/P9
+	 L11/P12 -> MTS14400 SL2-34 L2/P9
+	 L12/P12 -> MTS14400 SL2-35 L2/P9
+
+MTS14400 SL1-73
+	 L1/P1 -> MT23108 H-6866 P1
+	 L2/P1 -> MT23108 H-6867 P1
+	 L3/P1 -> MT23108 H-6868 P1
+	 L4/P1 -> MT23108 H-6869 P1
+	 L5/P1 -> MT23108 H-6870 P1
+	 L6/P1 -> MT23108 H-6871 P1
+	 L7/P1 -> MT23108 H-6872 P1
+	 L8/P1 -> MT23108 H-6873 P1
+	 L9/P1 -> MT23108 H-6874 P1
+	 L10/P1 -> MT23108 H-6875 P1
+	 L11/P1 -> MT23108 H-6876 P1
+	 L12/P1 -> MT23108 H-6877 P1
+	 L1/P2 -> MT23108 H-6878 P1
+	 L2/P2 -> MT23108 H-6879 P1
+	 L3/P2 -> MT23108 H-6880 P1
+	 L4/P2 -> MT23108 H-6881 P1
+	 L5/P2 -> MT23108 H-6882 P1
+	 L6/P2 -> MT23108 H-6883 P1
+	 L7/P2 -> MT23108 H-6884 P1
+	 L8/P2 -> MT23108 H-6885 P1
+	 L9/P2 -> MT23108 H-6886 P1
+	 L10/P2 -> MT23108 H-6887 P1
+	 L11/P2 -> MT23108 H-6888 P1
+	 L12/P2 -> MT23108 H-6889 P1
+	 L1/P3 -> MT23108 H-6890 P1
+	 L2/P3 -> MT23108 H-6891 P1
+	 L3/P3 -> MT23108 H-6892 P1
+	 L4/P3 -> MT23108 H-6893 P1
+	 L5/P3 -> MT23108 H-6894 P1
+	 L6/P3 -> MT23108 H-6895 P1
+	 L7/P3 -> MT23108 H-6896 P1
+	 L8/P3 -> MT23108 H-6897 P1
+	 L9/P3 -> MT23108 H-6898 P1
+	 L10/P3 -> MT23108 H-6899 P1
+	 L11/P3 -> MT23108 H-6900 P1
+	 L12/P3 -> MT23108 H-6901 P1
+	 L1/P4 -> MT23108 H-6902 P1
+	 L2/P4 -> MT23108 H-6903 P1
+	 L3/P4 -> MT23108 H-6904 P1
+	 L4/P4 -> MT23108 H-6905 P1
+	 L5/P4 -> MT23108 H-6906 P1
+	 L6/P4 -> MT23108 H-6907 P1
+	 L7/P4 -> MT23108 H-6908 P1
+	 L8/P4 -> MT23108 H-6909 P1
+	 L9/P4 -> MT23108 H-6910 P1
+	 L10/P4 -> MT23108 H-6911 P1
+	 L11/P4 -> MT23108 H-6912 P1
+	 L12/P4 -> MT23108 H-6913 P1
+	 L1/P5 -> MT23108 H-6914 P1
+	 L2/P5 -> MT23108 H-6915 P1
+	 L3/P5 -> MT23108 H-6916 P1
+	 L4/P5 -> MT23108 H-6917 P1
+	 L5/P5 -> MT23108 H-6918 P1
+	 L6/P5 -> MT23108 H-6919 P1
+	 L7/P5 -> MT23108 H-6920 P1
+	 L8/P5 -> MT23108 H-6921 P1
+	 L9/P5 -> MT23108 H-6922 P1
+	 L10/P5 -> MT23108 H-6923 P1
+	 L11/P5 -> MT23108 H-6924 P1
+	 L12/P5 -> MT23108 H-6925 P1
+	 L1/P6 -> MT23108 H-6926 P1
+	 L2/P6 -> MT23108 H-6927 P1
+	 L3/P6 -> MT23108 H-6928 P1
+	 L4/P6 -> MT23108 H-6929 P1
+	 L5/P6 -> MT23108 H-6930 P1
+	 L6/P6 -> MT23108 H-6931 P1
+	 L7/P6 -> MT23108 H-6932 P1
+	 L8/P6 -> MT23108 H-6933 P1
+	 L9/P6 -> MT23108 H-6934 P1
+	 L10/P6 -> MT23108 H-6935 P1
+	 L11/P6 -> MT23108 H-6936 P1
+	 L12/P6 -> MT23108 H-6937 P1
+	 L1/P7 -> MT23108 H-6938 P1
+	 L2/P7 -> MT23108 H-6939 P1
+	 L3/P7 -> MT23108 H-6940 P1
+	 L4/P7 -> MT23108 H-6941 P1
+	 L5/P7 -> MT23108 H-6942 P1
+	 L6/P7 -> MT23108 H-6943 P1
+	 L7/P7 -> MT23108 H-6944 P1
+	 L8/P7 -> MT23108 H-6945 P1
+	 L9/P7 -> MT23108 H-6946 P1
+	 L10/P7 -> MT23108 H-6947 P1
+	 L11/P7 -> MT23108 H-6948 P1
+	 L12/P7 -> MT23108 H-6949 P1
+	 L1/P8 -> MT23108 H-6950 P1
+	 L2/P8 -> MT23108 H-6951 P1
+	 L3/P8 -> MT23108 H-6952 P1
+	 L4/P8 -> MT23108 H-6953 P1
+	 L5/P8 -> MT23108 H-6954 P1
+	 L6/P8 -> MT23108 H-6955 P1
+	 L7/P8 -> MT23108 H-6956 P1
+	 L8/P8 -> MT23108 H-6957 P1
+	 L9/P8 -> MT23108 H-6958 P1
+	 L10/P8 -> MT23108 H-6959 P1
+	 L11/P8 -> MT23108 H-6960 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P9
+	 L2/P9 -> MTS14400 SL2-1 L5/P9
+	 L3/P9 -> MTS14400 SL2-2 L4/P9
+	 L4/P9 -> MTS14400 SL2-2 L5/P9
+	 L5/P9 -> MTS14400 SL2-3 L4/P9
+	 L6/P9 -> MTS14400 SL2-3 L5/P9
+	 L7/P9 -> MTS14400 SL2-4 L4/P9
+	 L8/P9 -> MTS14400 SL2-4 L5/P9
+	 L9/P9 -> MTS14400 SL2-5 L4/P9
+	 L10/P9 -> MTS14400 SL2-6 L4/P9
+	 L11/P9 -> MTS14400 SL2-7 L4/P9
+	 L12/P9 -> MTS14400 SL2-8 L4/P9
+	 L1/P10 -> MTS14400 SL2-9 L4/P9
+	 L2/P10 -> MTS14400 SL2-10 L4/P9
+	 L3/P10 -> MTS14400 SL2-11 L4/P9
+	 L4/P10 -> MTS14400 SL2-12 L4/P9
+	 L5/P10 -> MTS14400 SL2-13 L4/P9
+	 L6/P10 -> MTS14400 SL2-14 L4/P9
+	 L7/P10 -> MTS14400 SL2-15 L4/P9
+	 L8/P10 -> MTS14400 SL2-16 L4/P9
+	 L9/P10 -> MTS14400 SL2-17 L4/P9
+	 L10/P10 -> MTS14400 SL2-18 L4/P9
+	 L11/P10 -> MTS14400 SL2-19 L4/P9
+	 L12/P10 -> MTS14400 SL2-20 L4/P9
+	 L1/P11 -> MTS14400 SL2-21 L4/P9
+	 L2/P11 -> MTS14400 SL2-22 L4/P9
+	 L3/P11 -> MTS14400 SL2-23 L4/P9
+	 L4/P11 -> MTS14400 SL2-24 L4/P9
+	 L5/P11 -> MTS14400 SL2-25 L4/P9
+	 L6/P11 -> MTS14400 SL2-26 L4/P9
+	 L7/P11 -> MTS14400 SL2-27 L3/P9
+	 L8/P11 -> MTS14400 SL2-27 L4/P9
+	 L9/P11 -> MTS14400 SL2-28 L3/P9
+	 L10/P11 -> MTS14400 SL2-28 L4/P9
+	 L11/P11 -> MTS14400 SL2-29 L3/P9
+	 L12/P11 -> MTS14400 SL2-29 L4/P9
+	 L1/P12 -> MTS14400 SL2-30 L3/P9
+	 L2/P12 -> MTS14400 SL2-30 L4/P9
+	 L3/P12 -> MTS14400 SL2-31 L3/P9
+	 L4/P12 -> MTS14400 SL2-31 L4/P9
+	 L5/P12 -> MTS14400 SL2-32 L3/P9
+	 L6/P12 -> MTS14400 SL2-32 L4/P9
+	 L7/P12 -> MTS14400 SL2-33 L3/P9
+	 L8/P12 -> MTS14400 SL2-33 L4/P9
+	 L9/P12 -> MTS14400 SL2-34 L3/P9
+	 L10/P12 -> MTS14400 SL2-34 L4/P9
+	 L11/P12 -> MTS14400 SL2-35 L3/P9
+	 L12/P12 -> MTS14400 SL2-35 L4/P9
+
+MTS14400 SL1-74
+	 L1/P1 -> MT23108 H-6961 P1
+	 L2/P1 -> MT23108 H-6962 P1
+	 L3/P1 -> MT23108 H-6963 P1
+	 L4/P1 -> MT23108 H-6964 P1
+	 L5/P1 -> MT23108 H-6965 P1
+	 L6/P1 -> MT23108 H-6966 P1
+	 L7/P1 -> MT23108 H-6967 P1
+	 L8/P1 -> MT23108 H-6968 P1
+	 L9/P1 -> MT23108 H-6969 P1
+	 L10/P1 -> MT23108 H-6970 P1
+	 L11/P1 -> MT23108 H-6971 P1
+	 L12/P1 -> MT23108 H-6972 P1
+	 L1/P2 -> MT23108 H-6973 P1
+	 L2/P2 -> MT23108 H-6974 P1
+	 L3/P2 -> MT23108 H-6975 P1
+	 L4/P2 -> MT23108 H-6976 P1
+	 L5/P2 -> MT23108 H-6977 P1
+	 L6/P2 -> MT23108 H-6978 P1
+	 L7/P2 -> MT23108 H-6979 P1
+	 L8/P2 -> MT23108 H-6980 P1
+	 L9/P2 -> MT23108 H-6981 P1
+	 L10/P2 -> MT23108 H-6982 P1
+	 L11/P2 -> MT23108 H-6983 P1
+	 L12/P2 -> MT23108 H-6984 P1
+	 L1/P3 -> MT23108 H-6985 P1
+	 L2/P3 -> MT23108 H-6986 P1
+	 L3/P3 -> MT23108 H-6987 P1
+	 L4/P3 -> MT23108 H-6988 P1
+	 L5/P3 -> MT23108 H-6989 P1
+	 L6/P3 -> MT23108 H-6990 P1
+	 L7/P3 -> MT23108 H-6991 P1
+	 L8/P3 -> MT23108 H-6992 P1
+	 L9/P3 -> MT23108 H-6993 P1
+	 L10/P3 -> MT23108 H-6994 P1
+	 L11/P3 -> MT23108 H-6995 P1
+	 L12/P3 -> MT23108 H-6996 P1
+	 L1/P4 -> MT23108 H-6997 P1
+	 L2/P4 -> MT23108 H-6998 P1
+	 L3/P4 -> MT23108 H-6999 P1
+	 L4/P4 -> MT23108 H-7000 P1
+	 L5/P4 -> MT23108 H-7001 P1
+	 L6/P4 -> MT23108 H-7002 P1
+	 L7/P4 -> MT23108 H-7003 P1
+	 L8/P4 -> MT23108 H-7004 P1
+	 L9/P4 -> MT23108 H-7005 P1
+	 L10/P4 -> MT23108 H-7006 P1
+	 L11/P4 -> MT23108 H-7007 P1
+	 L12/P4 -> MT23108 H-7008 P1
+	 L1/P5 -> MT23108 H-7009 P1
+	 L2/P5 -> MT23108 H-7010 P1
+	 L3/P5 -> MT23108 H-7011 P1
+	 L4/P5 -> MT23108 H-7012 P1
+	 L5/P5 -> MT23108 H-7013 P1
+	 L6/P5 -> MT23108 H-7014 P1
+	 L7/P5 -> MT23108 H-7015 P1
+	 L8/P5 -> MT23108 H-7016 P1
+	 L9/P5 -> MT23108 H-7017 P1
+	 L10/P5 -> MT23108 H-7018 P1
+	 L11/P5 -> MT23108 H-7019 P1
+	 L12/P5 -> MT23108 H-7020 P1
+	 L1/P6 -> MT23108 H-7021 P1
+	 L2/P6 -> MT23108 H-7022 P1
+	 L3/P6 -> MT23108 H-7023 P1
+	 L4/P6 -> MT23108 H-7024 P1
+	 L5/P6 -> MT23108 H-7025 P1
+	 L6/P6 -> MT23108 H-7026 P1
+	 L7/P6 -> MT23108 H-7027 P1
+	 L8/P6 -> MT23108 H-7028 P1
+	 L9/P6 -> MT23108 H-7029 P1
+	 L10/P6 -> MT23108 H-7030 P1
+	 L11/P6 -> MT23108 H-7031 P1
+	 L12/P6 -> MT23108 H-7032 P1
+	 L1/P7 -> MT23108 H-7033 P1
+	 L2/P7 -> MT23108 H-7034 P1
+	 L3/P7 -> MT23108 H-7035 P1
+	 L4/P7 -> MT23108 H-7036 P1
+	 L5/P7 -> MT23108 H-7037 P1
+	 L6/P7 -> MT23108 H-7038 P1
+	 L7/P7 -> MT23108 H-7039 P1
+	 L8/P7 -> MT23108 H-7040 P1
+	 L9/P7 -> MT23108 H-7041 P1
+	 L10/P7 -> MT23108 H-7042 P1
+	 L11/P7 -> MT23108 H-7043 P1
+	 L12/P7 -> MT23108 H-7044 P1
+	 L1/P8 -> MT23108 H-7045 P1
+	 L2/P8 -> MT23108 H-7046 P1
+	 L3/P8 -> MT23108 H-7047 P1
+	 L4/P8 -> MT23108 H-7048 P1
+	 L5/P8 -> MT23108 H-7049 P1
+	 L6/P8 -> MT23108 H-7050 P1
+	 L7/P8 -> MT23108 H-7051 P1
+	 L8/P8 -> MT23108 H-7052 P1
+	 L9/P8 -> MT23108 H-7053 P1
+	 L10/P8 -> MT23108 H-7054 P1
+	 L11/P8 -> MT23108 H-7055 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P9
+	 L2/P9 -> MTS14400 SL2-2 L6/P9
+	 L3/P9 -> MTS14400 SL2-3 L6/P9
+	 L4/P9 -> MTS14400 SL2-4 L6/P9
+	 L5/P9 -> MTS14400 SL2-5 L5/P9
+	 L6/P9 -> MTS14400 SL2-5 L6/P9
+	 L7/P9 -> MTS14400 SL2-6 L5/P9
+	 L8/P9 -> MTS14400 SL2-6 L6/P9
+	 L9/P9 -> MTS14400 SL2-7 L5/P9
+	 L10/P9 -> MTS14400 SL2-7 L6/P9
+	 L11/P9 -> MTS14400 SL2-8 L5/P9
+	 L12/P9 -> MTS14400 SL2-8 L6/P9
+	 L1/P10 -> MTS14400 SL2-9 L5/P9
+	 L2/P10 -> MTS14400 SL2-9 L6/P9
+	 L3/P10 -> MTS14400 SL2-10 L5/P9
+	 L4/P10 -> MTS14400 SL2-10 L6/P9
+	 L5/P10 -> MTS14400 SL2-11 L5/P9
+	 L6/P10 -> MTS14400 SL2-11 L6/P9
+	 L7/P10 -> MTS14400 SL2-12 L5/P9
+	 L8/P10 -> MTS14400 SL2-12 L6/P9
+	 L9/P10 -> MTS14400 SL2-13 L5/P9
+	 L10/P10 -> MTS14400 SL2-13 L6/P9
+	 L11/P10 -> MTS14400 SL2-14 L5/P9
+	 L12/P10 -> MTS14400 SL2-14 L6/P9
+	 L1/P11 -> MTS14400 SL2-15 L5/P9
+	 L2/P11 -> MTS14400 SL2-15 L6/P9
+	 L3/P11 -> MTS14400 SL2-16 L5/P9
+	 L4/P11 -> MTS14400 SL2-16 L6/P9
+	 L5/P11 -> MTS14400 SL2-17 L5/P9
+	 L6/P11 -> MTS14400 SL2-17 L6/P9
+	 L7/P11 -> MTS14400 SL2-18 L5/P9
+	 L8/P11 -> MTS14400 SL2-19 L5/P9
+	 L9/P11 -> MTS14400 SL2-20 L5/P9
+	 L10/P11 -> MTS14400 SL2-21 L5/P9
+	 L11/P11 -> MTS14400 SL2-22 L5/P9
+	 L12/P11 -> MTS14400 SL2-23 L5/P9
+	 L1/P12 -> MTS14400 SL2-24 L5/P9
+	 L2/P12 -> MTS14400 SL2-25 L5/P9
+	 L3/P12 -> MTS14400 SL2-26 L5/P9
+	 L4/P12 -> MTS14400 SL2-27 L5/P9
+	 L5/P12 -> MTS14400 SL2-28 L5/P9
+	 L6/P12 -> MTS14400 SL2-29 L5/P9
+	 L7/P12 -> MTS14400 SL2-30 L5/P9
+	 L8/P12 -> MTS14400 SL2-31 L5/P9
+	 L9/P12 -> MTS14400 SL2-32 L5/P9
+	 L10/P12 -> MTS14400 SL2-33 L5/P9
+	 L11/P12 -> MTS14400 SL2-34 L5/P9
+	 L12/P12 -> MTS14400 SL2-35 L5/P9
+
+MTS14400 SL1-75
+	 L1/P1 -> MT23108 H-7056 P1
+	 L2/P1 -> MT23108 H-7057 P1
+	 L3/P1 -> MT23108 H-7058 P1
+	 L4/P1 -> MT23108 H-7059 P1
+	 L5/P1 -> MT23108 H-7060 P1
+	 L6/P1 -> MT23108 H-7061 P1
+	 L7/P1 -> MT23108 H-7062 P1
+	 L8/P1 -> MT23108 H-7063 P1
+	 L9/P1 -> MT23108 H-7064 P1
+	 L10/P1 -> MT23108 H-7065 P1
+	 L11/P1 -> MT23108 H-7066 P1
+	 L12/P1 -> MT23108 H-7067 P1
+	 L1/P2 -> MT23108 H-7068 P1
+	 L2/P2 -> MT23108 H-7069 P1
+	 L3/P2 -> MT23108 H-7070 P1
+	 L4/P2 -> MT23108 H-7071 P1
+	 L5/P2 -> MT23108 H-7072 P1
+	 L6/P2 -> MT23108 H-7073 P1
+	 L7/P2 -> MT23108 H-7074 P1
+	 L8/P2 -> MT23108 H-7075 P1
+	 L9/P2 -> MT23108 H-7076 P1
+	 L10/P2 -> MT23108 H-7077 P1
+	 L11/P2 -> MT23108 H-7078 P1
+	 L12/P2 -> MT23108 H-7079 P1
+	 L1/P3 -> MT23108 H-7080 P1
+	 L2/P3 -> MT23108 H-7081 P1
+	 L3/P3 -> MT23108 H-7082 P1
+	 L4/P3 -> MT23108 H-7083 P1
+	 L5/P3 -> MT23108 H-7084 P1
+	 L6/P3 -> MT23108 H-7085 P1
+	 L7/P3 -> MT23108 H-7086 P1
+	 L8/P3 -> MT23108 H-7087 P1
+	 L9/P3 -> MT23108 H-7088 P1
+	 L10/P3 -> MT23108 H-7089 P1
+	 L11/P3 -> MT23108 H-7090 P1
+	 L12/P3 -> MT23108 H-7091 P1
+	 L1/P4 -> MT23108 H-7092 P1
+	 L2/P4 -> MT23108 H-7093 P1
+	 L3/P4 -> MT23108 H-7094 P1
+	 L4/P4 -> MT23108 H-7095 P1
+	 L5/P4 -> MT23108 H-7096 P1
+	 L6/P4 -> MT23108 H-7097 P1
+	 L7/P4 -> MT23108 H-7098 P1
+	 L8/P4 -> MT23108 H-7099 P1
+	 L9/P4 -> MT23108 H-7100 P1
+	 L10/P4 -> MT23108 H-7101 P1
+	 L11/P4 -> MT23108 H-7102 P1
+	 L12/P4 -> MT23108 H-7103 P1
+	 L1/P5 -> MT23108 H-7104 P1
+	 L2/P5 -> MT23108 H-7105 P1
+	 L3/P5 -> MT23108 H-7106 P1
+	 L4/P5 -> MT23108 H-7107 P1
+	 L5/P5 -> MT23108 H-7108 P1
+	 L6/P5 -> MT23108 H-7109 P1
+	 L7/P5 -> MT23108 H-7110 P1
+	 L8/P5 -> MT23108 H-7111 P1
+	 L9/P5 -> MT23108 H-7112 P1
+	 L10/P5 -> MT23108 H-7113 P1
+	 L11/P5 -> MT23108 H-7114 P1
+	 L12/P5 -> MT23108 H-7115 P1
+	 L1/P6 -> MT23108 H-7116 P1
+	 L2/P6 -> MT23108 H-7117 P1
+	 L3/P6 -> MT23108 H-7118 P1
+	 L4/P6 -> MT23108 H-7119 P1
+	 L5/P6 -> MT23108 H-7120 P1
+	 L6/P6 -> MT23108 H-7121 P1
+	 L7/P6 -> MT23108 H-7122 P1
+	 L8/P6 -> MT23108 H-7123 P1
+	 L9/P6 -> MT23108 H-7124 P1
+	 L10/P6 -> MT23108 H-7125 P1
+	 L11/P6 -> MT23108 H-7126 P1
+	 L12/P6 -> MT23108 H-7127 P1
+	 L1/P7 -> MT23108 H-7128 P1
+	 L2/P7 -> MT23108 H-7129 P1
+	 L3/P7 -> MT23108 H-7130 P1
+	 L4/P7 -> MT23108 H-7131 P1
+	 L5/P7 -> MT23108 H-7132 P1
+	 L6/P7 -> MT23108 H-7133 P1
+	 L7/P7 -> MT23108 H-7134 P1
+	 L8/P7 -> MT23108 H-7135 P1
+	 L9/P7 -> MT23108 H-7136 P1
+	 L10/P7 -> MT23108 H-7137 P1
+	 L11/P7 -> MT23108 H-7138 P1
+	 L12/P7 -> MT23108 H-7139 P1
+	 L1/P8 -> MT23108 H-7140 P1
+	 L2/P8 -> MT23108 H-7141 P1
+	 L3/P8 -> MT23108 H-7142 P1
+	 L4/P8 -> MT23108 H-7143 P1
+	 L5/P8 -> MT23108 H-7144 P1
+	 L6/P8 -> MT23108 H-7145 P1
+	 L7/P8 -> MT23108 H-7146 P1
+	 L8/P8 -> MT23108 H-7147 P1
+	 L9/P8 -> MT23108 H-7148 P1
+	 L10/P8 -> MT23108 H-7149 P1
+	 L11/P8 -> MT23108 H-7150 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P9
+	 L2/P9 -> MTS14400 SL2-2 L7/P9
+	 L3/P9 -> MTS14400 SL2-3 L7/P9
+	 L4/P9 -> MTS14400 SL2-4 L7/P9
+	 L5/P9 -> MTS14400 SL2-5 L7/P9
+	 L6/P9 -> MTS14400 SL2-6 L7/P9
+	 L7/P9 -> MTS14400 SL2-7 L7/P9
+	 L8/P9 -> MTS14400 SL2-8 L7/P9
+	 L9/P9 -> MTS14400 SL2-9 L7/P9
+	 L10/P9 -> MTS14400 SL2-10 L7/P9
+	 L11/P9 -> MTS14400 SL2-11 L7/P9
+	 L12/P9 -> MTS14400 SL2-12 L7/P9
+	 L1/P10 -> MTS14400 SL2-13 L7/P9
+	 L2/P10 -> MTS14400 SL2-14 L7/P9
+	 L3/P10 -> MTS14400 SL2-15 L7/P9
+	 L4/P10 -> MTS14400 SL2-16 L7/P9
+	 L5/P10 -> MTS14400 SL2-17 L7/P9
+	 L6/P10 -> MTS14400 SL2-18 L6/P9
+	 L7/P10 -> MTS14400 SL2-18 L7/P9
+	 L8/P10 -> MTS14400 SL2-19 L6/P9
+	 L9/P10 -> MTS14400 SL2-19 L7/P9
+	 L10/P10 -> MTS14400 SL2-20 L6/P9
+	 L11/P10 -> MTS14400 SL2-20 L7/P9
+	 L12/P10 -> MTS14400 SL2-21 L6/P9
+	 L1/P11 -> MTS14400 SL2-21 L7/P9
+	 L2/P11 -> MTS14400 SL2-22 L6/P9
+	 L3/P11 -> MTS14400 SL2-22 L7/P9
+	 L4/P11 -> MTS14400 SL2-23 L6/P9
+	 L5/P11 -> MTS14400 SL2-23 L7/P9
+	 L6/P11 -> MTS14400 SL2-24 L6/P9
+	 L7/P11 -> MTS14400 SL2-24 L7/P9
+	 L8/P11 -> MTS14400 SL2-25 L6/P9
+	 L9/P11 -> MTS14400 SL2-25 L7/P9
+	 L10/P11 -> MTS14400 SL2-26 L6/P9
+	 L11/P11 -> MTS14400 SL2-26 L7/P9
+	 L12/P11 -> MTS14400 SL2-27 L6/P9
+	 L1/P12 -> MTS14400 SL2-27 L7/P9
+	 L2/P12 -> MTS14400 SL2-28 L6/P9
+	 L3/P12 -> MTS14400 SL2-28 L7/P9
+	 L4/P12 -> MTS14400 SL2-29 L6/P9
+	 L5/P12 -> MTS14400 SL2-29 L7/P9
+	 L6/P12 -> MTS14400 SL2-30 L6/P9
+	 L7/P12 -> MTS14400 SL2-30 L7/P9
+	 L8/P12 -> MTS14400 SL2-31 L6/P9
+	 L9/P12 -> MTS14400 SL2-32 L6/P9
+	 L10/P12 -> MTS14400 SL2-33 L6/P9
+	 L11/P12 -> MTS14400 SL2-34 L6/P9
+	 L12/P12 -> MTS14400 SL2-35 L6/P9
+
+MTS14400 SL1-76
+	 L1/P1 -> MT23108 H-7151 P1
+	 L2/P1 -> MT23108 H-7152 P1
+	 L3/P1 -> MT23108 H-7153 P1
+	 L4/P1 -> MT23108 H-7154 P1
+	 L5/P1 -> MT23108 H-7155 P1
+	 L6/P1 -> MT23108 H-7156 P1
+	 L7/P1 -> MT23108 H-7157 P1
+	 L8/P1 -> MT23108 H-7158 P1
+	 L9/P1 -> MT23108 H-7159 P1
+	 L10/P1 -> MT23108 H-7160 P1
+	 L11/P1 -> MT23108 H-7161 P1
+	 L12/P1 -> MT23108 H-7162 P1
+	 L1/P2 -> MT23108 H-7163 P1
+	 L2/P2 -> MT23108 H-7164 P1
+	 L3/P2 -> MT23108 H-7165 P1
+	 L4/P2 -> MT23108 H-7166 P1
+	 L5/P2 -> MT23108 H-7167 P1
+	 L6/P2 -> MT23108 H-7168 P1
+	 L7/P2 -> MT23108 H-7169 P1
+	 L8/P2 -> MT23108 H-7170 P1
+	 L9/P2 -> MT23108 H-7171 P1
+	 L10/P2 -> MT23108 H-7172 P1
+	 L11/P2 -> MT23108 H-7173 P1
+	 L12/P2 -> MT23108 H-7174 P1
+	 L1/P3 -> MT23108 H-7175 P1
+	 L2/P3 -> MT23108 H-7176 P1
+	 L3/P3 -> MT23108 H-7177 P1
+	 L4/P3 -> MT23108 H-7178 P1
+	 L5/P3 -> MT23108 H-7179 P1
+	 L6/P3 -> MT23108 H-7180 P1
+	 L7/P3 -> MT23108 H-7181 P1
+	 L8/P3 -> MT23108 H-7182 P1
+	 L9/P3 -> MT23108 H-7183 P1
+	 L10/P3 -> MT23108 H-7184 P1
+	 L11/P3 -> MT23108 H-7185 P1
+	 L12/P3 -> MT23108 H-7186 P1
+	 L1/P4 -> MT23108 H-7187 P1
+	 L2/P4 -> MT23108 H-7188 P1
+	 L3/P4 -> MT23108 H-7189 P1
+	 L4/P4 -> MT23108 H-7190 P1
+	 L5/P4 -> MT23108 H-7191 P1
+	 L6/P4 -> MT23108 H-7192 P1
+	 L7/P4 -> MT23108 H-7193 P1
+	 L8/P4 -> MT23108 H-7194 P1
+	 L9/P4 -> MT23108 H-7195 P1
+	 L10/P4 -> MT23108 H-7196 P1
+	 L11/P4 -> MT23108 H-7197 P1
+	 L12/P4 -> MT23108 H-7198 P1
+	 L1/P5 -> MT23108 H-7199 P1
+	 L2/P5 -> MT23108 H-7200 P1
+	 L3/P5 -> MT23108 H-7201 P1
+	 L4/P5 -> MT23108 H-7202 P1
+	 L5/P5 -> MT23108 H-7203 P1
+	 L6/P5 -> MT23108 H-7204 P1
+	 L7/P5 -> MT23108 H-7205 P1
+	 L8/P5 -> MT23108 H-7206 P1
+	 L9/P5 -> MT23108 H-7207 P1
+	 L10/P5 -> MT23108 H-7208 P1
+	 L11/P5 -> MT23108 H-7209 P1
+	 L12/P5 -> MT23108 H-7210 P1
+	 L1/P6 -> MT23108 H-7211 P1
+	 L2/P6 -> MT23108 H-7212 P1
+	 L3/P6 -> MT23108 H-7213 P1
+	 L4/P6 -> MT23108 H-7214 P1
+	 L5/P6 -> MT23108 H-7215 P1
+	 L6/P6 -> MT23108 H-7216 P1
+	 L7/P6 -> MT23108 H-7217 P1
+	 L8/P6 -> MT23108 H-7218 P1
+	 L9/P6 -> MT23108 H-7219 P1
+	 L10/P6 -> MT23108 H-7220 P1
+	 L11/P6 -> MT23108 H-7221 P1
+	 L12/P6 -> MT23108 H-7222 P1
+	 L1/P7 -> MT23108 H-7223 P1
+	 L2/P7 -> MT23108 H-7224 P1
+	 L3/P7 -> MT23108 H-7225 P1
+	 L4/P7 -> MT23108 H-7226 P1
+	 L5/P7 -> MT23108 H-7227 P1
+	 L6/P7 -> MT23108 H-7228 P1
+	 L7/P7 -> MT23108 H-7229 P1
+	 L8/P7 -> MT23108 H-7230 P1
+	 L9/P7 -> MT23108 H-7231 P1
+	 L10/P7 -> MT23108 H-7232 P1
+	 L11/P7 -> MT23108 H-7233 P1
+	 L12/P7 -> MT23108 H-7234 P1
+	 L1/P8 -> MT23108 H-7235 P1
+	 L2/P8 -> MT23108 H-7236 P1
+	 L3/P8 -> MT23108 H-7237 P1
+	 L4/P8 -> MT23108 H-7238 P1
+	 L5/P8 -> MT23108 H-7239 P1
+	 L6/P8 -> MT23108 H-7240 P1
+	 L7/P8 -> MT23108 H-7241 P1
+	 L8/P8 -> MT23108 H-7242 P1
+	 L9/P8 -> MT23108 H-7243 P1
+	 L10/P8 -> MT23108 H-7244 P1
+	 L11/P8 -> MT23108 H-7245 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P9
+	 L2/P9 -> MTS14400 SL2-1 L9/P9
+	 L3/P9 -> MTS14400 SL2-2 L8/P9
+	 L4/P9 -> MTS14400 SL2-2 L9/P9
+	 L5/P9 -> MTS14400 SL2-3 L8/P9
+	 L6/P9 -> MTS14400 SL2-3 L9/P9
+	 L7/P9 -> MTS14400 SL2-4 L8/P9
+	 L8/P9 -> MTS14400 SL2-4 L9/P9
+	 L9/P9 -> MTS14400 SL2-5 L8/P9
+	 L10/P9 -> MTS14400 SL2-5 L9/P9
+	 L11/P9 -> MTS14400 SL2-6 L8/P9
+	 L12/P9 -> MTS14400 SL2-6 L9/P9
+	 L1/P10 -> MTS14400 SL2-7 L8/P9
+	 L2/P10 -> MTS14400 SL2-7 L9/P9
+	 L3/P10 -> MTS14400 SL2-8 L8/P9
+	 L4/P10 -> MTS14400 SL2-8 L9/P9
+	 L5/P10 -> MTS14400 SL2-9 L8/P9
+	 L6/P10 -> MTS14400 SL2-10 L8/P9
+	 L7/P10 -> MTS14400 SL2-11 L8/P9
+	 L8/P10 -> MTS14400 SL2-12 L8/P9
+	 L9/P10 -> MTS14400 SL2-13 L8/P9
+	 L10/P10 -> MTS14400 SL2-14 L8/P9
+	 L11/P10 -> MTS14400 SL2-15 L8/P9
+	 L12/P10 -> MTS14400 SL2-16 L8/P9
+	 L1/P11 -> MTS14400 SL2-17 L8/P9
+	 L2/P11 -> MTS14400 SL2-18 L8/P9
+	 L3/P11 -> MTS14400 SL2-19 L8/P9
+	 L4/P11 -> MTS14400 SL2-20 L8/P9
+	 L5/P11 -> MTS14400 SL2-21 L8/P9
+	 L6/P11 -> MTS14400 SL2-22 L8/P9
+	 L7/P11 -> MTS14400 SL2-23 L8/P9
+	 L8/P11 -> MTS14400 SL2-24 L8/P9
+	 L9/P11 -> MTS14400 SL2-25 L8/P9
+	 L10/P11 -> MTS14400 SL2-26 L8/P9
+	 L11/P11 -> MTS14400 SL2-27 L8/P9
+	 L12/P11 -> MTS14400 SL2-28 L8/P9
+	 L1/P12 -> MTS14400 SL2-29 L8/P9
+	 L2/P12 -> MTS14400 SL2-30 L8/P9
+	 L3/P12 -> MTS14400 SL2-31 L7/P9
+	 L4/P12 -> MTS14400 SL2-31 L8/P9
+	 L5/P12 -> MTS14400 SL2-32 L7/P9
+	 L6/P12 -> MTS14400 SL2-32 L8/P9
+	 L7/P12 -> MTS14400 SL2-33 L7/P9
+	 L8/P12 -> MTS14400 SL2-33 L8/P9
+	 L9/P12 -> MTS14400 SL2-34 L7/P9
+	 L10/P12 -> MTS14400 SL2-34 L8/P9
+	 L11/P12 -> MTS14400 SL2-35 L7/P9
+	 L12/P12 -> MTS14400 SL2-35 L8/P9
+
+MTS14400 SL1-77
+	 L1/P1 -> MT23108 H-7246 P1
+	 L2/P1 -> MT23108 H-7247 P1
+	 L3/P1 -> MT23108 H-7248 P1
+	 L4/P1 -> MT23108 H-7249 P1
+	 L5/P1 -> MT23108 H-7250 P1
+	 L6/P1 -> MT23108 H-7251 P1
+	 L7/P1 -> MT23108 H-7252 P1
+	 L8/P1 -> MT23108 H-7253 P1
+	 L9/P1 -> MT23108 H-7254 P1
+	 L10/P1 -> MT23108 H-7255 P1
+	 L11/P1 -> MT23108 H-7256 P1
+	 L12/P1 -> MT23108 H-7257 P1
+	 L1/P2 -> MT23108 H-7258 P1
+	 L2/P2 -> MT23108 H-7259 P1
+	 L3/P2 -> MT23108 H-7260 P1
+	 L4/P2 -> MT23108 H-7261 P1
+	 L5/P2 -> MT23108 H-7262 P1
+	 L6/P2 -> MT23108 H-7263 P1
+	 L7/P2 -> MT23108 H-7264 P1
+	 L8/P2 -> MT23108 H-7265 P1
+	 L9/P2 -> MT23108 H-7266 P1
+	 L10/P2 -> MT23108 H-7267 P1
+	 L11/P2 -> MT23108 H-7268 P1
+	 L12/P2 -> MT23108 H-7269 P1
+	 L1/P3 -> MT23108 H-7270 P1
+	 L2/P3 -> MT23108 H-7271 P1
+	 L3/P3 -> MT23108 H-7272 P1
+	 L4/P3 -> MT23108 H-7273 P1
+	 L5/P3 -> MT23108 H-7274 P1
+	 L6/P3 -> MT23108 H-7275 P1
+	 L7/P3 -> MT23108 H-7276 P1
+	 L8/P3 -> MT23108 H-7277 P1
+	 L9/P3 -> MT23108 H-7278 P1
+	 L10/P3 -> MT23108 H-7279 P1
+	 L11/P3 -> MT23108 H-7280 P1
+	 L12/P3 -> MT23108 H-7281 P1
+	 L1/P4 -> MT23108 H-7282 P1
+	 L2/P4 -> MT23108 H-7283 P1
+	 L3/P4 -> MT23108 H-7284 P1
+	 L4/P4 -> MT23108 H-7285 P1
+	 L5/P4 -> MT23108 H-7286 P1
+	 L6/P4 -> MT23108 H-7287 P1
+	 L7/P4 -> MT23108 H-7288 P1
+	 L8/P4 -> MT23108 H-7289 P1
+	 L9/P4 -> MT23108 H-7290 P1
+	 L10/P4 -> MT23108 H-7291 P1
+	 L11/P4 -> MT23108 H-7292 P1
+	 L12/P4 -> MT23108 H-7293 P1
+	 L1/P5 -> MT23108 H-7294 P1
+	 L2/P5 -> MT23108 H-7295 P1
+	 L3/P5 -> MT23108 H-7296 P1
+	 L4/P5 -> MT23108 H-7297 P1
+	 L5/P5 -> MT23108 H-7298 P1
+	 L6/P5 -> MT23108 H-7299 P1
+	 L7/P5 -> MT23108 H-7300 P1
+	 L8/P5 -> MT23108 H-7301 P1
+	 L9/P5 -> MT23108 H-7302 P1
+	 L10/P5 -> MT23108 H-7303 P1
+	 L11/P5 -> MT23108 H-7304 P1
+	 L12/P5 -> MT23108 H-7305 P1
+	 L1/P6 -> MT23108 H-7306 P1
+	 L2/P6 -> MT23108 H-7307 P1
+	 L3/P6 -> MT23108 H-7308 P1
+	 L4/P6 -> MT23108 H-7309 P1
+	 L5/P6 -> MT23108 H-7310 P1
+	 L6/P6 -> MT23108 H-7311 P1
+	 L7/P6 -> MT23108 H-7312 P1
+	 L8/P6 -> MT23108 H-7313 P1
+	 L9/P6 -> MT23108 H-7314 P1
+	 L10/P6 -> MT23108 H-7315 P1
+	 L11/P6 -> MT23108 H-7316 P1
+	 L12/P6 -> MT23108 H-7317 P1
+	 L1/P7 -> MT23108 H-7318 P1
+	 L2/P7 -> MT23108 H-7319 P1
+	 L3/P7 -> MT23108 H-7320 P1
+	 L4/P7 -> MT23108 H-7321 P1
+	 L5/P7 -> MT23108 H-7322 P1
+	 L6/P7 -> MT23108 H-7323 P1
+	 L7/P7 -> MT23108 H-7324 P1
+	 L8/P7 -> MT23108 H-7325 P1
+	 L9/P7 -> MT23108 H-7326 P1
+	 L10/P7 -> MT23108 H-7327 P1
+	 L11/P7 -> MT23108 H-7328 P1
+	 L12/P7 -> MT23108 H-7329 P1
+	 L1/P8 -> MT23108 H-7330 P1
+	 L2/P8 -> MT23108 H-7331 P1
+	 L3/P8 -> MT23108 H-7332 P1
+	 L4/P8 -> MT23108 H-7333 P1
+	 L5/P8 -> MT23108 H-7334 P1
+	 L6/P8 -> MT23108 H-7335 P1
+	 L7/P8 -> MT23108 H-7336 P1
+	 L8/P8 -> MT23108 H-7337 P1
+	 L9/P8 -> MT23108 H-7338 P1
+	 L10/P8 -> MT23108 H-7339 P1
+	 L11/P8 -> MT23108 H-7340 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P9
+	 L2/P9 -> MTS14400 SL2-2 L10/P9
+	 L3/P9 -> MTS14400 SL2-3 L10/P9
+	 L4/P9 -> MTS14400 SL2-4 L10/P9
+	 L5/P9 -> MTS14400 SL2-5 L10/P9
+	 L6/P9 -> MTS14400 SL2-6 L10/P9
+	 L7/P9 -> MTS14400 SL2-7 L10/P9
+	 L8/P9 -> MTS14400 SL2-8 L10/P9
+	 L9/P9 -> MTS14400 SL2-9 L9/P9
+	 L10/P9 -> MTS14400 SL2-9 L10/P9
+	 L11/P9 -> MTS14400 SL2-10 L9/P9
+	 L12/P9 -> MTS14400 SL2-10 L10/P9
+	 L1/P10 -> MTS14400 SL2-11 L9/P9
+	 L2/P10 -> MTS14400 SL2-11 L10/P9
+	 L3/P10 -> MTS14400 SL2-12 L9/P9
+	 L4/P10 -> MTS14400 SL2-12 L10/P9
+	 L5/P10 -> MTS14400 SL2-13 L9/P9
+	 L6/P10 -> MTS14400 SL2-13 L10/P9
+	 L7/P10 -> MTS14400 SL2-14 L9/P9
+	 L8/P10 -> MTS14400 SL2-14 L10/P9
+	 L9/P10 -> MTS14400 SL2-15 L9/P9
+	 L10/P10 -> MTS14400 SL2-15 L10/P9
+	 L11/P10 -> MTS14400 SL2-16 L9/P9
+	 L12/P10 -> MTS14400 SL2-16 L10/P9
+	 L1/P11 -> MTS14400 SL2-17 L9/P9
+	 L2/P11 -> MTS14400 SL2-17 L10/P9
+	 L3/P11 -> MTS14400 SL2-18 L9/P9
+	 L4/P11 -> MTS14400 SL2-18 L10/P9
+	 L5/P11 -> MTS14400 SL2-19 L9/P9
+	 L6/P11 -> MTS14400 SL2-19 L10/P9
+	 L7/P11 -> MTS14400 SL2-20 L9/P9
+	 L8/P11 -> MTS14400 SL2-20 L10/P9
+	 L9/P11 -> MTS14400 SL2-21 L9/P9
+	 L10/P11 -> MTS14400 SL2-21 L10/P9
+	 L11/P11 -> MTS14400 SL2-22 L9/P9
+	 L12/P11 -> MTS14400 SL2-23 L9/P9
+	 L1/P12 -> MTS14400 SL2-24 L9/P9
+	 L2/P12 -> MTS14400 SL2-25 L9/P9
+	 L3/P12 -> MTS14400 SL2-26 L9/P9
+	 L4/P12 -> MTS14400 SL2-27 L9/P9
+	 L5/P12 -> MTS14400 SL2-28 L9/P9
+	 L6/P12 -> MTS14400 SL2-29 L9/P9
+	 L7/P12 -> MTS14400 SL2-30 L9/P9
+	 L8/P12 -> MTS14400 SL2-31 L9/P9
+	 L9/P12 -> MTS14400 SL2-32 L9/P9
+	 L10/P12 -> MTS14400 SL2-33 L9/P9
+	 L11/P12 -> MTS14400 SL2-34 L9/P9
+	 L12/P12 -> MTS14400 SL2-35 L9/P9
+
+MTS14400 SL1-78
+	 L1/P1 -> MT23108 H-7341 P1
+	 L2/P1 -> MT23108 H-7342 P1
+	 L3/P1 -> MT23108 H-7343 P1
+	 L4/P1 -> MT23108 H-7344 P1
+	 L5/P1 -> MT23108 H-7345 P1
+	 L6/P1 -> MT23108 H-7346 P1
+	 L7/P1 -> MT23108 H-7347 P1
+	 L8/P1 -> MT23108 H-7348 P1
+	 L9/P1 -> MT23108 H-7349 P1
+	 L10/P1 -> MT23108 H-7350 P1
+	 L11/P1 -> MT23108 H-7351 P1
+	 L12/P1 -> MT23108 H-7352 P1
+	 L1/P2 -> MT23108 H-7353 P1
+	 L2/P2 -> MT23108 H-7354 P1
+	 L3/P2 -> MT23108 H-7355 P1
+	 L4/P2 -> MT23108 H-7356 P1
+	 L5/P2 -> MT23108 H-7357 P1
+	 L6/P2 -> MT23108 H-7358 P1
+	 L7/P2 -> MT23108 H-7359 P1
+	 L8/P2 -> MT23108 H-7360 P1
+	 L9/P2 -> MT23108 H-7361 P1
+	 L10/P2 -> MT23108 H-7362 P1
+	 L11/P2 -> MT23108 H-7363 P1
+	 L12/P2 -> MT23108 H-7364 P1
+	 L1/P3 -> MT23108 H-7365 P1
+	 L2/P3 -> MT23108 H-7366 P1
+	 L3/P3 -> MT23108 H-7367 P1
+	 L4/P3 -> MT23108 H-7368 P1
+	 L5/P3 -> MT23108 H-7369 P1
+	 L6/P3 -> MT23108 H-7370 P1
+	 L7/P3 -> MT23108 H-7371 P1
+	 L8/P3 -> MT23108 H-7372 P1
+	 L9/P3 -> MT23108 H-7373 P1
+	 L10/P3 -> MT23108 H-7374 P1
+	 L11/P3 -> MT23108 H-7375 P1
+	 L12/P3 -> MT23108 H-7376 P1
+	 L1/P4 -> MT23108 H-7377 P1
+	 L2/P4 -> MT23108 H-7378 P1
+	 L3/P4 -> MT23108 H-7379 P1
+	 L4/P4 -> MT23108 H-7380 P1
+	 L5/P4 -> MT23108 H-7381 P1
+	 L6/P4 -> MT23108 H-7382 P1
+	 L7/P4 -> MT23108 H-7383 P1
+	 L8/P4 -> MT23108 H-7384 P1
+	 L9/P4 -> MT23108 H-7385 P1
+	 L10/P4 -> MT23108 H-7386 P1
+	 L11/P4 -> MT23108 H-7387 P1
+	 L12/P4 -> MT23108 H-7388 P1
+	 L1/P5 -> MT23108 H-7389 P1
+	 L2/P5 -> MT23108 H-7390 P1
+	 L3/P5 -> MT23108 H-7391 P1
+	 L4/P5 -> MT23108 H-7392 P1
+	 L5/P5 -> MT23108 H-7393 P1
+	 L6/P5 -> MT23108 H-7394 P1
+	 L7/P5 -> MT23108 H-7395 P1
+	 L8/P5 -> MT23108 H-7396 P1
+	 L9/P5 -> MT23108 H-7397 P1
+	 L10/P5 -> MT23108 H-7398 P1
+	 L11/P5 -> MT23108 H-7399 P1
+	 L12/P5 -> MT23108 H-7400 P1
+	 L1/P6 -> MT23108 H-7401 P1
+	 L2/P6 -> MT23108 H-7402 P1
+	 L3/P6 -> MT23108 H-7403 P1
+	 L4/P6 -> MT23108 H-7404 P1
+	 L5/P6 -> MT23108 H-7405 P1
+	 L6/P6 -> MT23108 H-7406 P1
+	 L7/P6 -> MT23108 H-7407 P1
+	 L8/P6 -> MT23108 H-7408 P1
+	 L9/P6 -> MT23108 H-7409 P1
+	 L10/P6 -> MT23108 H-7410 P1
+	 L11/P6 -> MT23108 H-7411 P1
+	 L12/P6 -> MT23108 H-7412 P1
+	 L1/P7 -> MT23108 H-7413 P1
+	 L2/P7 -> MT23108 H-7414 P1
+	 L3/P7 -> MT23108 H-7415 P1
+	 L4/P7 -> MT23108 H-7416 P1
+	 L5/P7 -> MT23108 H-7417 P1
+	 L6/P7 -> MT23108 H-7418 P1
+	 L7/P7 -> MT23108 H-7419 P1
+	 L8/P7 -> MT23108 H-7420 P1
+	 L9/P7 -> MT23108 H-7421 P1
+	 L10/P7 -> MT23108 H-7422 P1
+	 L11/P7 -> MT23108 H-7423 P1
+	 L12/P7 -> MT23108 H-7424 P1
+	 L1/P8 -> MT23108 H-7425 P1
+	 L2/P8 -> MT23108 H-7426 P1
+	 L3/P8 -> MT23108 H-7427 P1
+	 L4/P8 -> MT23108 H-7428 P1
+	 L5/P8 -> MT23108 H-7429 P1
+	 L6/P8 -> MT23108 H-7430 P1
+	 L7/P8 -> MT23108 H-7431 P1
+	 L8/P8 -> MT23108 H-7432 P1
+	 L9/P8 -> MT23108 H-7433 P1
+	 L10/P8 -> MT23108 H-7434 P1
+	 L11/P8 -> MT23108 H-7435 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P9
+	 L2/P9 -> MTS14400 SL2-2 L11/P9
+	 L3/P9 -> MTS14400 SL2-3 L11/P9
+	 L4/P9 -> MTS14400 SL2-4 L11/P9
+	 L5/P9 -> MTS14400 SL2-5 L11/P9
+	 L6/P9 -> MTS14400 SL2-6 L11/P9
+	 L7/P9 -> MTS14400 SL2-7 L11/P9
+	 L8/P9 -> MTS14400 SL2-8 L11/P9
+	 L9/P9 -> MTS14400 SL2-9 L11/P9
+	 L10/P9 -> MTS14400 SL2-10 L11/P9
+	 L11/P9 -> MTS14400 SL2-11 L11/P9
+	 L12/P9 -> MTS14400 SL2-12 L11/P9
+	 L1/P10 -> MTS14400 SL2-13 L11/P9
+	 L2/P10 -> MTS14400 SL2-14 L11/P9
+	 L3/P10 -> MTS14400 SL2-15 L11/P9
+	 L4/P10 -> MTS14400 SL2-16 L11/P9
+	 L5/P10 -> MTS14400 SL2-17 L11/P9
+	 L6/P10 -> MTS14400 SL2-18 L11/P9
+	 L7/P10 -> MTS14400 SL2-19 L11/P9
+	 L8/P10 -> MTS14400 SL2-20 L11/P9
+	 L9/P10 -> MTS14400 SL2-21 L11/P9
+	 L10/P10 -> MTS14400 SL2-22 L10/P9
+	 L11/P10 -> MTS14400 SL2-22 L11/P9
+	 L12/P10 -> MTS14400 SL2-23 L10/P9
+	 L1/P11 -> MTS14400 SL2-23 L11/P9
+	 L2/P11 -> MTS14400 SL2-24 L10/P9
+	 L3/P11 -> MTS14400 SL2-24 L11/P9
+	 L4/P11 -> MTS14400 SL2-25 L10/P9
+	 L5/P11 -> MTS14400 SL2-25 L11/P9
+	 L6/P11 -> MTS14400 SL2-26 L10/P9
+	 L7/P11 -> MTS14400 SL2-26 L11/P9
+	 L8/P11 -> MTS14400 SL2-27 L10/P9
+	 L9/P11 -> MTS14400 SL2-27 L11/P9
+	 L10/P11 -> MTS14400 SL2-28 L10/P9
+	 L11/P11 -> MTS14400 SL2-28 L11/P9
+	 L12/P11 -> MTS14400 SL2-29 L10/P9
+	 L1/P12 -> MTS14400 SL2-29 L11/P9
+	 L2/P12 -> MTS14400 SL2-30 L10/P9
+	 L3/P12 -> MTS14400 SL2-30 L11/P9
+	 L4/P12 -> MTS14400 SL2-31 L10/P9
+	 L5/P12 -> MTS14400 SL2-31 L11/P9
+	 L6/P12 -> MTS14400 SL2-32 L10/P9
+	 L7/P12 -> MTS14400 SL2-32 L11/P9
+	 L8/P12 -> MTS14400 SL2-33 L10/P9
+	 L9/P12 -> MTS14400 SL2-33 L11/P9
+	 L10/P12 -> MTS14400 SL2-34 L10/P9
+	 L11/P12 -> MTS14400 SL2-34 L11/P9
+	 L12/P12 -> MTS14400 SL2-35 L10/P9
+
+MTS14400 SL1-79
+	 L1/P1 -> MT23108 H-7436 P1
+	 L2/P1 -> MT23108 H-7437 P1
+	 L3/P1 -> MT23108 H-7438 P1
+	 L4/P1 -> MT23108 H-7439 P1
+	 L5/P1 -> MT23108 H-7440 P1
+	 L6/P1 -> MT23108 H-7441 P1
+	 L7/P1 -> MT23108 H-7442 P1
+	 L8/P1 -> MT23108 H-7443 P1
+	 L9/P1 -> MT23108 H-7444 P1
+	 L10/P1 -> MT23108 H-7445 P1
+	 L11/P1 -> MT23108 H-7446 P1
+	 L12/P1 -> MT23108 H-7447 P1
+	 L1/P2 -> MT23108 H-7448 P1
+	 L2/P2 -> MT23108 H-7449 P1
+	 L3/P2 -> MT23108 H-7450 P1
+	 L4/P2 -> MT23108 H-7451 P1
+	 L5/P2 -> MT23108 H-7452 P1
+	 L6/P2 -> MT23108 H-7453 P1
+	 L7/P2 -> MT23108 H-7454 P1
+	 L8/P2 -> MT23108 H-7455 P1
+	 L9/P2 -> MT23108 H-7456 P1
+	 L10/P2 -> MT23108 H-7457 P1
+	 L11/P2 -> MT23108 H-7458 P1
+	 L12/P2 -> MT23108 H-7459 P1
+	 L1/P3 -> MT23108 H-7460 P1
+	 L2/P3 -> MT23108 H-7461 P1
+	 L3/P3 -> MT23108 H-7462 P1
+	 L4/P3 -> MT23108 H-7463 P1
+	 L5/P3 -> MT23108 H-7464 P1
+	 L6/P3 -> MT23108 H-7465 P1
+	 L7/P3 -> MT23108 H-7466 P1
+	 L8/P3 -> MT23108 H-7467 P1
+	 L9/P3 -> MT23108 H-7468 P1
+	 L10/P3 -> MT23108 H-7469 P1
+	 L11/P3 -> MT23108 H-7470 P1
+	 L12/P3 -> MT23108 H-7471 P1
+	 L1/P4 -> MT23108 H-7472 P1
+	 L2/P4 -> MT23108 H-7473 P1
+	 L3/P4 -> MT23108 H-7474 P1
+	 L4/P4 -> MT23108 H-7475 P1
+	 L5/P4 -> MT23108 H-7476 P1
+	 L6/P4 -> MT23108 H-7477 P1
+	 L7/P4 -> MT23108 H-7478 P1
+	 L8/P4 -> MT23108 H-7479 P1
+	 L9/P4 -> MT23108 H-7480 P1
+	 L10/P4 -> MT23108 H-7481 P1
+	 L11/P4 -> MT23108 H-7482 P1
+	 L12/P4 -> MT23108 H-7483 P1
+	 L1/P5 -> MT23108 H-7484 P1
+	 L2/P5 -> MT23108 H-7485 P1
+	 L3/P5 -> MT23108 H-7486 P1
+	 L4/P5 -> MT23108 H-7487 P1
+	 L5/P5 -> MT23108 H-7488 P1
+	 L6/P5 -> MT23108 H-7489 P1
+	 L7/P5 -> MT23108 H-7490 P1
+	 L8/P5 -> MT23108 H-7491 P1
+	 L9/P5 -> MT23108 H-7492 P1
+	 L10/P5 -> MT23108 H-7493 P1
+	 L11/P5 -> MT23108 H-7494 P1
+	 L12/P5 -> MT23108 H-7495 P1
+	 L1/P6 -> MT23108 H-7496 P1
+	 L2/P6 -> MT23108 H-7497 P1
+	 L3/P6 -> MT23108 H-7498 P1
+	 L4/P6 -> MT23108 H-7499 P1
+	 L5/P6 -> MT23108 H-7500 P1
+	 L6/P6 -> MT23108 H-7501 P1
+	 L7/P6 -> MT23108 H-7502 P1
+	 L8/P6 -> MT23108 H-7503 P1
+	 L9/P6 -> MT23108 H-7504 P1
+	 L10/P6 -> MT23108 H-7505 P1
+	 L11/P6 -> MT23108 H-7506 P1
+	 L12/P6 -> MT23108 H-7507 P1
+	 L1/P7 -> MT23108 H-7508 P1
+	 L2/P7 -> MT23108 H-7509 P1
+	 L3/P7 -> MT23108 H-7510 P1
+	 L4/P7 -> MT23108 H-7511 P1
+	 L5/P7 -> MT23108 H-7512 P1
+	 L6/P7 -> MT23108 H-7513 P1
+	 L7/P7 -> MT23108 H-7514 P1
+	 L8/P7 -> MT23108 H-7515 P1
+	 L9/P7 -> MT23108 H-7516 P1
+	 L10/P7 -> MT23108 H-7517 P1
+	 L11/P7 -> MT23108 H-7518 P1
+	 L12/P7 -> MT23108 H-7519 P1
+	 L1/P8 -> MT23108 H-7520 P1
+	 L2/P8 -> MT23108 H-7521 P1
+	 L3/P8 -> MT23108 H-7522 P1
+	 L4/P8 -> MT23108 H-7523 P1
+	 L5/P8 -> MT23108 H-7524 P1
+	 L6/P8 -> MT23108 H-7525 P1
+	 L7/P8 -> MT23108 H-7526 P1
+	 L8/P8 -> MT23108 H-7527 P1
+	 L9/P8 -> MT23108 H-7528 P1
+	 L10/P8 -> MT23108 H-7529 P1
+	 L11/P8 -> MT23108 H-7530 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P9
+	 L2/P9 -> MTS14400 SL2-1 L1/P10
+	 L3/P9 -> MTS14400 SL2-2 L12/P9
+	 L4/P9 -> MTS14400 SL2-2 L1/P10
+	 L5/P9 -> MTS14400 SL2-3 L12/P9
+	 L6/P9 -> MTS14400 SL2-3 L1/P10
+	 L7/P9 -> MTS14400 SL2-4 L12/P9
+	 L8/P9 -> MTS14400 SL2-4 L1/P10
+	 L9/P9 -> MTS14400 SL2-5 L12/P9
+	 L10/P9 -> MTS14400 SL2-5 L1/P10
+	 L11/P9 -> MTS14400 SL2-6 L12/P9
+	 L12/P9 -> MTS14400 SL2-6 L1/P10
+	 L1/P10 -> MTS14400 SL2-7 L12/P9
+	 L2/P10 -> MTS14400 SL2-7 L1/P10
+	 L3/P10 -> MTS14400 SL2-8 L12/P9
+	 L4/P10 -> MTS14400 SL2-8 L1/P10
+	 L5/P10 -> MTS14400 SL2-9 L12/P9
+	 L6/P10 -> MTS14400 SL2-9 L1/P10
+	 L7/P10 -> MTS14400 SL2-10 L12/P9
+	 L8/P10 -> MTS14400 SL2-10 L1/P10
+	 L9/P10 -> MTS14400 SL2-11 L12/P9
+	 L10/P10 -> MTS14400 SL2-11 L1/P10
+	 L11/P10 -> MTS14400 SL2-12 L12/P9
+	 L12/P10 -> MTS14400 SL2-12 L1/P10
+	 L1/P11 -> MTS14400 SL2-13 L12/P9
+	 L2/P11 -> MTS14400 SL2-14 L12/P9
+	 L3/P11 -> MTS14400 SL2-15 L12/P9
+	 L4/P11 -> MTS14400 SL2-16 L12/P9
+	 L5/P11 -> MTS14400 SL2-17 L12/P9
+	 L6/P11 -> MTS14400 SL2-18 L12/P9
+	 L7/P11 -> MTS14400 SL2-19 L12/P9
+	 L8/P11 -> MTS14400 SL2-20 L12/P9
+	 L9/P11 -> MTS14400 SL2-21 L12/P9
+	 L10/P11 -> MTS14400 SL2-22 L12/P9
+	 L11/P11 -> MTS14400 SL2-23 L12/P9
+	 L12/P11 -> MTS14400 SL2-24 L12/P9
+	 L1/P12 -> MTS14400 SL2-25 L12/P9
+	 L2/P12 -> MTS14400 SL2-26 L12/P9
+	 L3/P12 -> MTS14400 SL2-27 L12/P9
+	 L4/P12 -> MTS14400 SL2-28 L12/P9
+	 L5/P12 -> MTS14400 SL2-29 L12/P9
+	 L6/P12 -> MTS14400 SL2-30 L12/P9
+	 L7/P12 -> MTS14400 SL2-31 L12/P9
+	 L8/P12 -> MTS14400 SL2-32 L12/P9
+	 L9/P12 -> MTS14400 SL2-33 L12/P9
+	 L10/P12 -> MTS14400 SL2-34 L12/P9
+	 L11/P12 -> MTS14400 SL2-35 L11/P9
+	 L12/P12 -> MTS14400 SL2-35 L12/P9
+
+MTS14400 SL1-80
+	 L1/P1 -> MT23108 H-7531 P1
+	 L2/P1 -> MT23108 H-7532 P1
+	 L3/P1 -> MT23108 H-7533 P1
+	 L4/P1 -> MT23108 H-7534 P1
+	 L5/P1 -> MT23108 H-7535 P1
+	 L6/P1 -> MT23108 H-7536 P1
+	 L7/P1 -> MT23108 H-7537 P1
+	 L8/P1 -> MT23108 H-7538 P1
+	 L9/P1 -> MT23108 H-7539 P1
+	 L10/P1 -> MT23108 H-7540 P1
+	 L11/P1 -> MT23108 H-7541 P1
+	 L12/P1 -> MT23108 H-7542 P1
+	 L1/P2 -> MT23108 H-7543 P1
+	 L2/P2 -> MT23108 H-7544 P1
+	 L3/P2 -> MT23108 H-7545 P1
+	 L4/P2 -> MT23108 H-7546 P1
+	 L5/P2 -> MT23108 H-7547 P1
+	 L6/P2 -> MT23108 H-7548 P1
+	 L7/P2 -> MT23108 H-7549 P1
+	 L8/P2 -> MT23108 H-7550 P1
+	 L9/P2 -> MT23108 H-7551 P1
+	 L10/P2 -> MT23108 H-7552 P1
+	 L11/P2 -> MT23108 H-7553 P1
+	 L12/P2 -> MT23108 H-7554 P1
+	 L1/P3 -> MT23108 H-7555 P1
+	 L2/P3 -> MT23108 H-7556 P1
+	 L3/P3 -> MT23108 H-7557 P1
+	 L4/P3 -> MT23108 H-7558 P1
+	 L5/P3 -> MT23108 H-7559 P1
+	 L6/P3 -> MT23108 H-7560 P1
+	 L7/P3 -> MT23108 H-7561 P1
+	 L8/P3 -> MT23108 H-7562 P1
+	 L9/P3 -> MT23108 H-7563 P1
+	 L10/P3 -> MT23108 H-7564 P1
+	 L11/P3 -> MT23108 H-7565 P1
+	 L12/P3 -> MT23108 H-7566 P1
+	 L1/P4 -> MT23108 H-7567 P1
+	 L2/P4 -> MT23108 H-7568 P1
+	 L3/P4 -> MT23108 H-7569 P1
+	 L4/P4 -> MT23108 H-7570 P1
+	 L5/P4 -> MT23108 H-7571 P1
+	 L6/P4 -> MT23108 H-7572 P1
+	 L7/P4 -> MT23108 H-7573 P1
+	 L8/P4 -> MT23108 H-7574 P1
+	 L9/P4 -> MT23108 H-7575 P1
+	 L10/P4 -> MT23108 H-7576 P1
+	 L11/P4 -> MT23108 H-7577 P1
+	 L12/P4 -> MT23108 H-7578 P1
+	 L1/P5 -> MT23108 H-7579 P1
+	 L2/P5 -> MT23108 H-7580 P1
+	 L3/P5 -> MT23108 H-7581 P1
+	 L4/P5 -> MT23108 H-7582 P1
+	 L5/P5 -> MT23108 H-7583 P1
+	 L6/P5 -> MT23108 H-7584 P1
+	 L7/P5 -> MT23108 H-7585 P1
+	 L8/P5 -> MT23108 H-7586 P1
+	 L9/P5 -> MT23108 H-7587 P1
+	 L10/P5 -> MT23108 H-7588 P1
+	 L11/P5 -> MT23108 H-7589 P1
+	 L12/P5 -> MT23108 H-7590 P1
+	 L1/P6 -> MT23108 H-7591 P1
+	 L2/P6 -> MT23108 H-7592 P1
+	 L3/P6 -> MT23108 H-7593 P1
+	 L4/P6 -> MT23108 H-7594 P1
+	 L5/P6 -> MT23108 H-7595 P1
+	 L6/P6 -> MT23108 H-7596 P1
+	 L7/P6 -> MT23108 H-7597 P1
+	 L8/P6 -> MT23108 H-7598 P1
+	 L9/P6 -> MT23108 H-7599 P1
+	 L10/P6 -> MT23108 H-7600 P1
+	 L11/P6 -> MT23108 H-7601 P1
+	 L12/P6 -> MT23108 H-7602 P1
+	 L1/P7 -> MT23108 H-7603 P1
+	 L2/P7 -> MT23108 H-7604 P1
+	 L3/P7 -> MT23108 H-7605 P1
+	 L4/P7 -> MT23108 H-7606 P1
+	 L5/P7 -> MT23108 H-7607 P1
+	 L6/P7 -> MT23108 H-7608 P1
+	 L7/P7 -> MT23108 H-7609 P1
+	 L8/P7 -> MT23108 H-7610 P1
+	 L9/P7 -> MT23108 H-7611 P1
+	 L10/P7 -> MT23108 H-7612 P1
+	 L11/P7 -> MT23108 H-7613 P1
+	 L12/P7 -> MT23108 H-7614 P1
+	 L1/P8 -> MT23108 H-7615 P1
+	 L2/P8 -> MT23108 H-7616 P1
+	 L3/P8 -> MT23108 H-7617 P1
+	 L4/P8 -> MT23108 H-7618 P1
+	 L5/P8 -> MT23108 H-7619 P1
+	 L6/P8 -> MT23108 H-7620 P1
+	 L7/P8 -> MT23108 H-7621 P1
+	 L8/P8 -> MT23108 H-7622 P1
+	 L9/P8 -> MT23108 H-7623 P1
+	 L10/P8 -> MT23108 H-7624 P1
+	 L11/P8 -> MT23108 H-7625 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P10
+	 L2/P9 -> MTS14400 SL2-2 L2/P10
+	 L3/P9 -> MTS14400 SL2-3 L2/P10
+	 L4/P9 -> MTS14400 SL2-4 L2/P10
+	 L5/P9 -> MTS14400 SL2-5 L2/P10
+	 L6/P9 -> MTS14400 SL2-6 L2/P10
+	 L7/P9 -> MTS14400 SL2-7 L2/P10
+	 L8/P9 -> MTS14400 SL2-8 L2/P10
+	 L9/P9 -> MTS14400 SL2-9 L2/P10
+	 L10/P9 -> MTS14400 SL2-10 L2/P10
+	 L11/P9 -> MTS14400 SL2-11 L2/P10
+	 L12/P9 -> MTS14400 SL2-12 L2/P10
+	 L1/P10 -> MTS14400 SL2-13 L1/P10
+	 L2/P10 -> MTS14400 SL2-13 L2/P10
+	 L3/P10 -> MTS14400 SL2-14 L1/P10
+	 L4/P10 -> MTS14400 SL2-14 L2/P10
+	 L5/P10 -> MTS14400 SL2-15 L1/P10
+	 L6/P10 -> MTS14400 SL2-15 L2/P10
+	 L7/P10 -> MTS14400 SL2-16 L1/P10
+	 L8/P10 -> MTS14400 SL2-16 L2/P10
+	 L9/P10 -> MTS14400 SL2-17 L1/P10
+	 L10/P10 -> MTS14400 SL2-17 L2/P10
+	 L11/P10 -> MTS14400 SL2-18 L1/P10
+	 L12/P10 -> MTS14400 SL2-18 L2/P10
+	 L1/P11 -> MTS14400 SL2-19 L1/P10
+	 L2/P11 -> MTS14400 SL2-19 L2/P10
+	 L3/P11 -> MTS14400 SL2-20 L1/P10
+	 L4/P11 -> MTS14400 SL2-20 L2/P10
+	 L5/P11 -> MTS14400 SL2-21 L1/P10
+	 L6/P11 -> MTS14400 SL2-21 L2/P10
+	 L7/P11 -> MTS14400 SL2-22 L1/P10
+	 L8/P11 -> MTS14400 SL2-22 L2/P10
+	 L9/P11 -> MTS14400 SL2-23 L1/P10
+	 L10/P11 -> MTS14400 SL2-23 L2/P10
+	 L11/P11 -> MTS14400 SL2-24 L1/P10
+	 L12/P11 -> MTS14400 SL2-24 L2/P10
+	 L1/P12 -> MTS14400 SL2-25 L1/P10
+	 L2/P12 -> MTS14400 SL2-25 L2/P10
+	 L3/P12 -> MTS14400 SL2-26 L1/P10
+	 L4/P12 -> MTS14400 SL2-27 L1/P10
+	 L5/P12 -> MTS14400 SL2-28 L1/P10
+	 L6/P12 -> MTS14400 SL2-29 L1/P10
+	 L7/P12 -> MTS14400 SL2-30 L1/P10
+	 L8/P12 -> MTS14400 SL2-31 L1/P10
+	 L9/P12 -> MTS14400 SL2-32 L1/P10
+	 L10/P12 -> MTS14400 SL2-33 L1/P10
+	 L11/P12 -> MTS14400 SL2-34 L1/P10
+	 L12/P12 -> MTS14400 SL2-35 L1/P10
+
+MTS14400 SL1-81
+	 L1/P1 -> MT23108 H-7626 P1
+	 L2/P1 -> MT23108 H-7627 P1
+	 L3/P1 -> MT23108 H-7628 P1
+	 L4/P1 -> MT23108 H-7629 P1
+	 L5/P1 -> MT23108 H-7630 P1
+	 L6/P1 -> MT23108 H-7631 P1
+	 L7/P1 -> MT23108 H-7632 P1
+	 L8/P1 -> MT23108 H-7633 P1
+	 L9/P1 -> MT23108 H-7634 P1
+	 L10/P1 -> MT23108 H-7635 P1
+	 L11/P1 -> MT23108 H-7636 P1
+	 L12/P1 -> MT23108 H-7637 P1
+	 L1/P2 -> MT23108 H-7638 P1
+	 L2/P2 -> MT23108 H-7639 P1
+	 L3/P2 -> MT23108 H-7640 P1
+	 L4/P2 -> MT23108 H-7641 P1
+	 L5/P2 -> MT23108 H-7642 P1
+	 L6/P2 -> MT23108 H-7643 P1
+	 L7/P2 -> MT23108 H-7644 P1
+	 L8/P2 -> MT23108 H-7645 P1
+	 L9/P2 -> MT23108 H-7646 P1
+	 L10/P2 -> MT23108 H-7647 P1
+	 L11/P2 -> MT23108 H-7648 P1
+	 L12/P2 -> MT23108 H-7649 P1
+	 L1/P3 -> MT23108 H-7650 P1
+	 L2/P3 -> MT23108 H-7651 P1
+	 L3/P3 -> MT23108 H-7652 P1
+	 L4/P3 -> MT23108 H-7653 P1
+	 L5/P3 -> MT23108 H-7654 P1
+	 L6/P3 -> MT23108 H-7655 P1
+	 L7/P3 -> MT23108 H-7656 P1
+	 L8/P3 -> MT23108 H-7657 P1
+	 L9/P3 -> MT23108 H-7658 P1
+	 L10/P3 -> MT23108 H-7659 P1
+	 L11/P3 -> MT23108 H-7660 P1
+	 L12/P3 -> MT23108 H-7661 P1
+	 L1/P4 -> MT23108 H-7662 P1
+	 L2/P4 -> MT23108 H-7663 P1
+	 L3/P4 -> MT23108 H-7664 P1
+	 L4/P4 -> MT23108 H-7665 P1
+	 L5/P4 -> MT23108 H-7666 P1
+	 L6/P4 -> MT23108 H-7667 P1
+	 L7/P4 -> MT23108 H-7668 P1
+	 L8/P4 -> MT23108 H-7669 P1
+	 L9/P4 -> MT23108 H-7670 P1
+	 L10/P4 -> MT23108 H-7671 P1
+	 L11/P4 -> MT23108 H-7672 P1
+	 L12/P4 -> MT23108 H-7673 P1
+	 L1/P5 -> MT23108 H-7674 P1
+	 L2/P5 -> MT23108 H-7675 P1
+	 L3/P5 -> MT23108 H-7676 P1
+	 L4/P5 -> MT23108 H-7677 P1
+	 L5/P5 -> MT23108 H-7678 P1
+	 L6/P5 -> MT23108 H-7679 P1
+	 L7/P5 -> MT23108 H-7680 P1
+	 L8/P5 -> MT23108 H-7681 P1
+	 L9/P5 -> MT23108 H-7682 P1
+	 L10/P5 -> MT23108 H-7683 P1
+	 L11/P5 -> MT23108 H-7684 P1
+	 L12/P5 -> MT23108 H-7685 P1
+	 L1/P6 -> MT23108 H-7686 P1
+	 L2/P6 -> MT23108 H-7687 P1
+	 L3/P6 -> MT23108 H-7688 P1
+	 L4/P6 -> MT23108 H-7689 P1
+	 L5/P6 -> MT23108 H-7690 P1
+	 L6/P6 -> MT23108 H-7691 P1
+	 L7/P6 -> MT23108 H-7692 P1
+	 L8/P6 -> MT23108 H-7693 P1
+	 L9/P6 -> MT23108 H-7694 P1
+	 L10/P6 -> MT23108 H-7695 P1
+	 L11/P6 -> MT23108 H-7696 P1
+	 L12/P6 -> MT23108 H-7697 P1
+	 L1/P7 -> MT23108 H-7698 P1
+	 L2/P7 -> MT23108 H-7699 P1
+	 L3/P7 -> MT23108 H-7700 P1
+	 L4/P7 -> MT23108 H-7701 P1
+	 L5/P7 -> MT23108 H-7702 P1
+	 L6/P7 -> MT23108 H-7703 P1
+	 L7/P7 -> MT23108 H-7704 P1
+	 L8/P7 -> MT23108 H-7705 P1
+	 L9/P7 -> MT23108 H-7706 P1
+	 L10/P7 -> MT23108 H-7707 P1
+	 L11/P7 -> MT23108 H-7708 P1
+	 L12/P7 -> MT23108 H-7709 P1
+	 L1/P8 -> MT23108 H-7710 P1
+	 L2/P8 -> MT23108 H-7711 P1
+	 L3/P8 -> MT23108 H-7712 P1
+	 L4/P8 -> MT23108 H-7713 P1
+	 L5/P8 -> MT23108 H-7714 P1
+	 L6/P8 -> MT23108 H-7715 P1
+	 L7/P8 -> MT23108 H-7716 P1
+	 L8/P8 -> MT23108 H-7717 P1
+	 L9/P8 -> MT23108 H-7718 P1
+	 L10/P8 -> MT23108 H-7719 P1
+	 L11/P8 -> MT23108 H-7720 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P10
+	 L2/P9 -> MTS14400 SL2-1 L4/P10
+	 L3/P9 -> MTS14400 SL2-2 L3/P10
+	 L4/P9 -> MTS14400 SL2-2 L4/P10
+	 L5/P9 -> MTS14400 SL2-3 L3/P10
+	 L6/P9 -> MTS14400 SL2-3 L4/P10
+	 L7/P9 -> MTS14400 SL2-4 L3/P10
+	 L8/P9 -> MTS14400 SL2-5 L3/P10
+	 L9/P9 -> MTS14400 SL2-6 L3/P10
+	 L10/P9 -> MTS14400 SL2-7 L3/P10
+	 L11/P9 -> MTS14400 SL2-8 L3/P10
+	 L12/P9 -> MTS14400 SL2-9 L3/P10
+	 L1/P10 -> MTS14400 SL2-10 L3/P10
+	 L2/P10 -> MTS14400 SL2-11 L3/P10
+	 L3/P10 -> MTS14400 SL2-12 L3/P10
+	 L4/P10 -> MTS14400 SL2-13 L3/P10
+	 L5/P10 -> MTS14400 SL2-14 L3/P10
+	 L6/P10 -> MTS14400 SL2-15 L3/P10
+	 L7/P10 -> MTS14400 SL2-16 L3/P10
+	 L8/P10 -> MTS14400 SL2-17 L3/P10
+	 L9/P10 -> MTS14400 SL2-18 L3/P10
+	 L10/P10 -> MTS14400 SL2-19 L3/P10
+	 L11/P10 -> MTS14400 SL2-20 L3/P10
+	 L12/P10 -> MTS14400 SL2-21 L3/P10
+	 L1/P11 -> MTS14400 SL2-22 L3/P10
+	 L2/P11 -> MTS14400 SL2-23 L3/P10
+	 L3/P11 -> MTS14400 SL2-24 L3/P10
+	 L4/P11 -> MTS14400 SL2-25 L3/P10
+	 L5/P11 -> MTS14400 SL2-26 L2/P10
+	 L6/P11 -> MTS14400 SL2-26 L3/P10
+	 L7/P11 -> MTS14400 SL2-27 L2/P10
+	 L8/P11 -> MTS14400 SL2-27 L3/P10
+	 L9/P11 -> MTS14400 SL2-28 L2/P10
+	 L10/P11 -> MTS14400 SL2-28 L3/P10
+	 L11/P11 -> MTS14400 SL2-29 L2/P10
+	 L12/P11 -> MTS14400 SL2-29 L3/P10
+	 L1/P12 -> MTS14400 SL2-30 L2/P10
+	 L2/P12 -> MTS14400 SL2-30 L3/P10
+	 L3/P12 -> MTS14400 SL2-31 L2/P10
+	 L4/P12 -> MTS14400 SL2-31 L3/P10
+	 L5/P12 -> MTS14400 SL2-32 L2/P10
+	 L6/P12 -> MTS14400 SL2-32 L3/P10
+	 L7/P12 -> MTS14400 SL2-33 L2/P10
+	 L8/P12 -> MTS14400 SL2-33 L3/P10
+	 L9/P12 -> MTS14400 SL2-34 L2/P10
+	 L10/P12 -> MTS14400 SL2-34 L3/P10
+	 L11/P12 -> MTS14400 SL2-35 L2/P10
+	 L12/P12 -> MTS14400 SL2-35 L3/P10
+
+MTS14400 SL1-82
+	 L1/P1 -> MT23108 H-7721 P1
+	 L2/P1 -> MT23108 H-7722 P1
+	 L3/P1 -> MT23108 H-7723 P1
+	 L4/P1 -> MT23108 H-7724 P1
+	 L5/P1 -> MT23108 H-7725 P1
+	 L6/P1 -> MT23108 H-7726 P1
+	 L7/P1 -> MT23108 H-7727 P1
+	 L8/P1 -> MT23108 H-7728 P1
+	 L9/P1 -> MT23108 H-7729 P1
+	 L10/P1 -> MT23108 H-7730 P1
+	 L11/P1 -> MT23108 H-7731 P1
+	 L12/P1 -> MT23108 H-7732 P1
+	 L1/P2 -> MT23108 H-7733 P1
+	 L2/P2 -> MT23108 H-7734 P1
+	 L3/P2 -> MT23108 H-7735 P1
+	 L4/P2 -> MT23108 H-7736 P1
+	 L5/P2 -> MT23108 H-7737 P1
+	 L6/P2 -> MT23108 H-7738 P1
+	 L7/P2 -> MT23108 H-7739 P1
+	 L8/P2 -> MT23108 H-7740 P1
+	 L9/P2 -> MT23108 H-7741 P1
+	 L10/P2 -> MT23108 H-7742 P1
+	 L11/P2 -> MT23108 H-7743 P1
+	 L12/P2 -> MT23108 H-7744 P1
+	 L1/P3 -> MT23108 H-7745 P1
+	 L2/P3 -> MT23108 H-7746 P1
+	 L3/P3 -> MT23108 H-7747 P1
+	 L4/P3 -> MT23108 H-7748 P1
+	 L5/P3 -> MT23108 H-7749 P1
+	 L6/P3 -> MT23108 H-7750 P1
+	 L7/P3 -> MT23108 H-7751 P1
+	 L8/P3 -> MT23108 H-7752 P1
+	 L9/P3 -> MT23108 H-7753 P1
+	 L10/P3 -> MT23108 H-7754 P1
+	 L11/P3 -> MT23108 H-7755 P1
+	 L12/P3 -> MT23108 H-7756 P1
+	 L1/P4 -> MT23108 H-7757 P1
+	 L2/P4 -> MT23108 H-7758 P1
+	 L3/P4 -> MT23108 H-7759 P1
+	 L4/P4 -> MT23108 H-7760 P1
+	 L5/P4 -> MT23108 H-7761 P1
+	 L6/P4 -> MT23108 H-7762 P1
+	 L7/P4 -> MT23108 H-7763 P1
+	 L8/P4 -> MT23108 H-7764 P1
+	 L9/P4 -> MT23108 H-7765 P1
+	 L10/P4 -> MT23108 H-7766 P1
+	 L11/P4 -> MT23108 H-7767 P1
+	 L12/P4 -> MT23108 H-7768 P1
+	 L1/P5 -> MT23108 H-7769 P1
+	 L2/P5 -> MT23108 H-7770 P1
+	 L3/P5 -> MT23108 H-7771 P1
+	 L4/P5 -> MT23108 H-7772 P1
+	 L5/P5 -> MT23108 H-7773 P1
+	 L6/P5 -> MT23108 H-7774 P1
+	 L7/P5 -> MT23108 H-7775 P1
+	 L8/P5 -> MT23108 H-7776 P1
+	 L9/P5 -> MT23108 H-7777 P1
+	 L10/P5 -> MT23108 H-7778 P1
+	 L11/P5 -> MT23108 H-7779 P1
+	 L12/P5 -> MT23108 H-7780 P1
+	 L1/P6 -> MT23108 H-7781 P1
+	 L2/P6 -> MT23108 H-7782 P1
+	 L3/P6 -> MT23108 H-7783 P1
+	 L4/P6 -> MT23108 H-7784 P1
+	 L5/P6 -> MT23108 H-7785 P1
+	 L6/P6 -> MT23108 H-7786 P1
+	 L7/P6 -> MT23108 H-7787 P1
+	 L8/P6 -> MT23108 H-7788 P1
+	 L9/P6 -> MT23108 H-7789 P1
+	 L10/P6 -> MT23108 H-7790 P1
+	 L11/P6 -> MT23108 H-7791 P1
+	 L12/P6 -> MT23108 H-7792 P1
+	 L1/P7 -> MT23108 H-7793 P1
+	 L2/P7 -> MT23108 H-7794 P1
+	 L3/P7 -> MT23108 H-7795 P1
+	 L4/P7 -> MT23108 H-7796 P1
+	 L5/P7 -> MT23108 H-7797 P1
+	 L6/P7 -> MT23108 H-7798 P1
+	 L7/P7 -> MT23108 H-7799 P1
+	 L8/P7 -> MT23108 H-7800 P1
+	 L9/P7 -> MT23108 H-7801 P1
+	 L10/P7 -> MT23108 H-7802 P1
+	 L11/P7 -> MT23108 H-7803 P1
+	 L12/P7 -> MT23108 H-7804 P1
+	 L1/P8 -> MT23108 H-7805 P1
+	 L2/P8 -> MT23108 H-7806 P1
+	 L3/P8 -> MT23108 H-7807 P1
+	 L4/P8 -> MT23108 H-7808 P1
+	 L5/P8 -> MT23108 H-7809 P1
+	 L6/P8 -> MT23108 H-7810 P1
+	 L7/P8 -> MT23108 H-7811 P1
+	 L8/P8 -> MT23108 H-7812 P1
+	 L9/P8 -> MT23108 H-7813 P1
+	 L10/P8 -> MT23108 H-7814 P1
+	 L11/P8 -> MT23108 H-7815 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P10
+	 L2/P9 -> MTS14400 SL2-2 L5/P10
+	 L3/P9 -> MTS14400 SL2-3 L5/P10
+	 L4/P9 -> MTS14400 SL2-4 L4/P10
+	 L5/P9 -> MTS14400 SL2-4 L5/P10
+	 L6/P9 -> MTS14400 SL2-5 L4/P10
+	 L7/P9 -> MTS14400 SL2-5 L5/P10
+	 L8/P9 -> MTS14400 SL2-6 L4/P10
+	 L9/P9 -> MTS14400 SL2-6 L5/P10
+	 L10/P9 -> MTS14400 SL2-7 L4/P10
+	 L11/P9 -> MTS14400 SL2-7 L5/P10
+	 L12/P9 -> MTS14400 SL2-8 L4/P10
+	 L1/P10 -> MTS14400 SL2-8 L5/P10
+	 L2/P10 -> MTS14400 SL2-9 L4/P10
+	 L3/P10 -> MTS14400 SL2-9 L5/P10
+	 L4/P10 -> MTS14400 SL2-10 L4/P10
+	 L5/P10 -> MTS14400 SL2-10 L5/P10
+	 L6/P10 -> MTS14400 SL2-11 L4/P10
+	 L7/P10 -> MTS14400 SL2-11 L5/P10
+	 L8/P10 -> MTS14400 SL2-12 L4/P10
+	 L9/P10 -> MTS14400 SL2-12 L5/P10
+	 L10/P10 -> MTS14400 SL2-13 L4/P10
+	 L11/P10 -> MTS14400 SL2-13 L5/P10
+	 L12/P10 -> MTS14400 SL2-14 L4/P10
+	 L1/P11 -> MTS14400 SL2-14 L5/P10
+	 L2/P11 -> MTS14400 SL2-15 L4/P10
+	 L3/P11 -> MTS14400 SL2-15 L5/P10
+	 L4/P11 -> MTS14400 SL2-16 L4/P10
+	 L5/P11 -> MTS14400 SL2-16 L5/P10
+	 L6/P11 -> MTS14400 SL2-17 L4/P10
+	 L7/P11 -> MTS14400 SL2-18 L4/P10
+	 L8/P11 -> MTS14400 SL2-19 L4/P10
+	 L9/P11 -> MTS14400 SL2-20 L4/P10
+	 L10/P11 -> MTS14400 SL2-21 L4/P10
+	 L11/P11 -> MTS14400 SL2-22 L4/P10
+	 L12/P11 -> MTS14400 SL2-23 L4/P10
+	 L1/P12 -> MTS14400 SL2-24 L4/P10
+	 L2/P12 -> MTS14400 SL2-25 L4/P10
+	 L3/P12 -> MTS14400 SL2-26 L4/P10
+	 L4/P12 -> MTS14400 SL2-27 L4/P10
+	 L5/P12 -> MTS14400 SL2-28 L4/P10
+	 L6/P12 -> MTS14400 SL2-29 L4/P10
+	 L7/P12 -> MTS14400 SL2-30 L4/P10
+	 L8/P12 -> MTS14400 SL2-31 L4/P10
+	 L9/P12 -> MTS14400 SL2-32 L4/P10
+	 L10/P12 -> MTS14400 SL2-33 L4/P10
+	 L11/P12 -> MTS14400 SL2-34 L4/P10
+	 L12/P12 -> MTS14400 SL2-35 L4/P10
+
+MTS14400 SL1-83
+	 L1/P1 -> MT23108 H-7816 P1
+	 L2/P1 -> MT23108 H-7817 P1
+	 L3/P1 -> MT23108 H-7818 P1
+	 L4/P1 -> MT23108 H-7819 P1
+	 L5/P1 -> MT23108 H-7820 P1
+	 L6/P1 -> MT23108 H-7821 P1
+	 L7/P1 -> MT23108 H-7822 P1
+	 L8/P1 -> MT23108 H-7823 P1
+	 L9/P1 -> MT23108 H-7824 P1
+	 L10/P1 -> MT23108 H-7825 P1
+	 L11/P1 -> MT23108 H-7826 P1
+	 L12/P1 -> MT23108 H-7827 P1
+	 L1/P2 -> MT23108 H-7828 P1
+	 L2/P2 -> MT23108 H-7829 P1
+	 L3/P2 -> MT23108 H-7830 P1
+	 L4/P2 -> MT23108 H-7831 P1
+	 L5/P2 -> MT23108 H-7832 P1
+	 L6/P2 -> MT23108 H-7833 P1
+	 L7/P2 -> MT23108 H-7834 P1
+	 L8/P2 -> MT23108 H-7835 P1
+	 L9/P2 -> MT23108 H-7836 P1
+	 L10/P2 -> MT23108 H-7837 P1
+	 L11/P2 -> MT23108 H-7838 P1
+	 L12/P2 -> MT23108 H-7839 P1
+	 L1/P3 -> MT23108 H-7840 P1
+	 L2/P3 -> MT23108 H-7841 P1
+	 L3/P3 -> MT23108 H-7842 P1
+	 L4/P3 -> MT23108 H-7843 P1
+	 L5/P3 -> MT23108 H-7844 P1
+	 L6/P3 -> MT23108 H-7845 P1
+	 L7/P3 -> MT23108 H-7846 P1
+	 L8/P3 -> MT23108 H-7847 P1
+	 L9/P3 -> MT23108 H-7848 P1
+	 L10/P3 -> MT23108 H-7849 P1
+	 L11/P3 -> MT23108 H-7850 P1
+	 L12/P3 -> MT23108 H-7851 P1
+	 L1/P4 -> MT23108 H-7852 P1
+	 L2/P4 -> MT23108 H-7853 P1
+	 L3/P4 -> MT23108 H-7854 P1
+	 L4/P4 -> MT23108 H-7855 P1
+	 L5/P4 -> MT23108 H-7856 P1
+	 L6/P4 -> MT23108 H-7857 P1
+	 L7/P4 -> MT23108 H-7858 P1
+	 L8/P4 -> MT23108 H-7859 P1
+	 L9/P4 -> MT23108 H-7860 P1
+	 L10/P4 -> MT23108 H-7861 P1
+	 L11/P4 -> MT23108 H-7862 P1
+	 L12/P4 -> MT23108 H-7863 P1
+	 L1/P5 -> MT23108 H-7864 P1
+	 L2/P5 -> MT23108 H-7865 P1
+	 L3/P5 -> MT23108 H-7866 P1
+	 L4/P5 -> MT23108 H-7867 P1
+	 L5/P5 -> MT23108 H-7868 P1
+	 L6/P5 -> MT23108 H-7869 P1
+	 L7/P5 -> MT23108 H-7870 P1
+	 L8/P5 -> MT23108 H-7871 P1
+	 L9/P5 -> MT23108 H-7872 P1
+	 L10/P5 -> MT23108 H-7873 P1
+	 L11/P5 -> MT23108 H-7874 P1
+	 L12/P5 -> MT23108 H-7875 P1
+	 L1/P6 -> MT23108 H-7876 P1
+	 L2/P6 -> MT23108 H-7877 P1
+	 L3/P6 -> MT23108 H-7878 P1
+	 L4/P6 -> MT23108 H-7879 P1
+	 L5/P6 -> MT23108 H-7880 P1
+	 L6/P6 -> MT23108 H-7881 P1
+	 L7/P6 -> MT23108 H-7882 P1
+	 L8/P6 -> MT23108 H-7883 P1
+	 L9/P6 -> MT23108 H-7884 P1
+	 L10/P6 -> MT23108 H-7885 P1
+	 L11/P6 -> MT23108 H-7886 P1
+	 L12/P6 -> MT23108 H-7887 P1
+	 L1/P7 -> MT23108 H-7888 P1
+	 L2/P7 -> MT23108 H-7889 P1
+	 L3/P7 -> MT23108 H-7890 P1
+	 L4/P7 -> MT23108 H-7891 P1
+	 L5/P7 -> MT23108 H-7892 P1
+	 L6/P7 -> MT23108 H-7893 P1
+	 L7/P7 -> MT23108 H-7894 P1
+	 L8/P7 -> MT23108 H-7895 P1
+	 L9/P7 -> MT23108 H-7896 P1
+	 L10/P7 -> MT23108 H-7897 P1
+	 L11/P7 -> MT23108 H-7898 P1
+	 L12/P7 -> MT23108 H-7899 P1
+	 L1/P8 -> MT23108 H-7900 P1
+	 L2/P8 -> MT23108 H-7901 P1
+	 L3/P8 -> MT23108 H-7902 P1
+	 L4/P8 -> MT23108 H-7903 P1
+	 L5/P8 -> MT23108 H-7904 P1
+	 L6/P8 -> MT23108 H-7905 P1
+	 L7/P8 -> MT23108 H-7906 P1
+	 L8/P8 -> MT23108 H-7907 P1
+	 L9/P8 -> MT23108 H-7908 P1
+	 L10/P8 -> MT23108 H-7909 P1
+	 L11/P8 -> MT23108 H-7910 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P10
+	 L2/P9 -> MTS14400 SL2-2 L6/P10
+	 L3/P9 -> MTS14400 SL2-3 L6/P10
+	 L4/P9 -> MTS14400 SL2-4 L6/P10
+	 L5/P9 -> MTS14400 SL2-5 L6/P10
+	 L6/P9 -> MTS14400 SL2-6 L6/P10
+	 L7/P9 -> MTS14400 SL2-7 L6/P10
+	 L8/P9 -> MTS14400 SL2-8 L6/P10
+	 L9/P9 -> MTS14400 SL2-9 L6/P10
+	 L10/P9 -> MTS14400 SL2-10 L6/P10
+	 L11/P9 -> MTS14400 SL2-11 L6/P10
+	 L12/P9 -> MTS14400 SL2-12 L6/P10
+	 L1/P10 -> MTS14400 SL2-13 L6/P10
+	 L2/P10 -> MTS14400 SL2-14 L6/P10
+	 L3/P10 -> MTS14400 SL2-15 L6/P10
+	 L4/P10 -> MTS14400 SL2-16 L6/P10
+	 L5/P10 -> MTS14400 SL2-17 L5/P10
+	 L6/P10 -> MTS14400 SL2-17 L6/P10
+	 L7/P10 -> MTS14400 SL2-18 L5/P10
+	 L8/P10 -> MTS14400 SL2-18 L6/P10
+	 L9/P10 -> MTS14400 SL2-19 L5/P10
+	 L10/P10 -> MTS14400 SL2-19 L6/P10
+	 L11/P10 -> MTS14400 SL2-20 L5/P10
+	 L12/P10 -> MTS14400 SL2-20 L6/P10
+	 L1/P11 -> MTS14400 SL2-21 L5/P10
+	 L2/P11 -> MTS14400 SL2-21 L6/P10
+	 L3/P11 -> MTS14400 SL2-22 L5/P10
+	 L4/P11 -> MTS14400 SL2-22 L6/P10
+	 L5/P11 -> MTS14400 SL2-23 L5/P10
+	 L6/P11 -> MTS14400 SL2-23 L6/P10
+	 L7/P11 -> MTS14400 SL2-24 L5/P10
+	 L8/P11 -> MTS14400 SL2-24 L6/P10
+	 L9/P11 -> MTS14400 SL2-25 L5/P10
+	 L10/P11 -> MTS14400 SL2-25 L6/P10
+	 L11/P11 -> MTS14400 SL2-26 L5/P10
+	 L12/P11 -> MTS14400 SL2-26 L6/P10
+	 L1/P12 -> MTS14400 SL2-27 L5/P10
+	 L2/P12 -> MTS14400 SL2-27 L6/P10
+	 L3/P12 -> MTS14400 SL2-28 L5/P10
+	 L4/P12 -> MTS14400 SL2-28 L6/P10
+	 L5/P12 -> MTS14400 SL2-29 L5/P10
+	 L6/P12 -> MTS14400 SL2-29 L6/P10
+	 L7/P12 -> MTS14400 SL2-30 L5/P10
+	 L8/P12 -> MTS14400 SL2-31 L5/P10
+	 L9/P12 -> MTS14400 SL2-32 L5/P10
+	 L10/P12 -> MTS14400 SL2-33 L5/P10
+	 L11/P12 -> MTS14400 SL2-34 L5/P10
+	 L12/P12 -> MTS14400 SL2-35 L5/P10
+
+MTS14400 SL1-84
+	 L1/P1 -> MT23108 H-7911 P1
+	 L2/P1 -> MT23108 H-7912 P1
+	 L3/P1 -> MT23108 H-7913 P1
+	 L4/P1 -> MT23108 H-7914 P1
+	 L5/P1 -> MT23108 H-7915 P1
+	 L6/P1 -> MT23108 H-7916 P1
+	 L7/P1 -> MT23108 H-7917 P1
+	 L8/P1 -> MT23108 H-7918 P1
+	 L9/P1 -> MT23108 H-7919 P1
+	 L10/P1 -> MT23108 H-7920 P1
+	 L11/P1 -> MT23108 H-7921 P1
+	 L12/P1 -> MT23108 H-7922 P1
+	 L1/P2 -> MT23108 H-7923 P1
+	 L2/P2 -> MT23108 H-7924 P1
+	 L3/P2 -> MT23108 H-7925 P1
+	 L4/P2 -> MT23108 H-7926 P1
+	 L5/P2 -> MT23108 H-7927 P1
+	 L6/P2 -> MT23108 H-7928 P1
+	 L7/P2 -> MT23108 H-7929 P1
+	 L8/P2 -> MT23108 H-7930 P1
+	 L9/P2 -> MT23108 H-7931 P1
+	 L10/P2 -> MT23108 H-7932 P1
+	 L11/P2 -> MT23108 H-7933 P1
+	 L12/P2 -> MT23108 H-7934 P1
+	 L1/P3 -> MT23108 H-7935 P1
+	 L2/P3 -> MT23108 H-7936 P1
+	 L3/P3 -> MT23108 H-7937 P1
+	 L4/P3 -> MT23108 H-7938 P1
+	 L5/P3 -> MT23108 H-7939 P1
+	 L6/P3 -> MT23108 H-7940 P1
+	 L7/P3 -> MT23108 H-7941 P1
+	 L8/P3 -> MT23108 H-7942 P1
+	 L9/P3 -> MT23108 H-7943 P1
+	 L10/P3 -> MT23108 H-7944 P1
+	 L11/P3 -> MT23108 H-7945 P1
+	 L12/P3 -> MT23108 H-7946 P1
+	 L1/P4 -> MT23108 H-7947 P1
+	 L2/P4 -> MT23108 H-7948 P1
+	 L3/P4 -> MT23108 H-7949 P1
+	 L4/P4 -> MT23108 H-7950 P1
+	 L5/P4 -> MT23108 H-7951 P1
+	 L6/P4 -> MT23108 H-7952 P1
+	 L7/P4 -> MT23108 H-7953 P1
+	 L8/P4 -> MT23108 H-7954 P1
+	 L9/P4 -> MT23108 H-7955 P1
+	 L10/P4 -> MT23108 H-7956 P1
+	 L11/P4 -> MT23108 H-7957 P1
+	 L12/P4 -> MT23108 H-7958 P1
+	 L1/P5 -> MT23108 H-7959 P1
+	 L2/P5 -> MT23108 H-7960 P1
+	 L3/P5 -> MT23108 H-7961 P1
+	 L4/P5 -> MT23108 H-7962 P1
+	 L5/P5 -> MT23108 H-7963 P1
+	 L6/P5 -> MT23108 H-7964 P1
+	 L7/P5 -> MT23108 H-7965 P1
+	 L8/P5 -> MT23108 H-7966 P1
+	 L9/P5 -> MT23108 H-7967 P1
+	 L10/P5 -> MT23108 H-7968 P1
+	 L11/P5 -> MT23108 H-7969 P1
+	 L12/P5 -> MT23108 H-7970 P1
+	 L1/P6 -> MT23108 H-7971 P1
+	 L2/P6 -> MT23108 H-7972 P1
+	 L3/P6 -> MT23108 H-7973 P1
+	 L4/P6 -> MT23108 H-7974 P1
+	 L5/P6 -> MT23108 H-7975 P1
+	 L6/P6 -> MT23108 H-7976 P1
+	 L7/P6 -> MT23108 H-7977 P1
+	 L8/P6 -> MT23108 H-7978 P1
+	 L9/P6 -> MT23108 H-7979 P1
+	 L10/P6 -> MT23108 H-7980 P1
+	 L11/P6 -> MT23108 H-7981 P1
+	 L12/P6 -> MT23108 H-7982 P1
+	 L1/P7 -> MT23108 H-7983 P1
+	 L2/P7 -> MT23108 H-7984 P1
+	 L3/P7 -> MT23108 H-7985 P1
+	 L4/P7 -> MT23108 H-7986 P1
+	 L5/P7 -> MT23108 H-7987 P1
+	 L6/P7 -> MT23108 H-7988 P1
+	 L7/P7 -> MT23108 H-7989 P1
+	 L8/P7 -> MT23108 H-7990 P1
+	 L9/P7 -> MT23108 H-7991 P1
+	 L10/P7 -> MT23108 H-7992 P1
+	 L11/P7 -> MT23108 H-7993 P1
+	 L12/P7 -> MT23108 H-7994 P1
+	 L1/P8 -> MT23108 H-7995 P1
+	 L2/P8 -> MT23108 H-7996 P1
+	 L3/P8 -> MT23108 H-7997 P1
+	 L4/P8 -> MT23108 H-7998 P1
+	 L5/P8 -> MT23108 H-7999 P1
+	 L6/P8 -> MT23108 H-8000 P1
+	 L7/P8 -> MT23108 H-8001 P1
+	 L8/P8 -> MT23108 H-8002 P1
+	 L9/P8 -> MT23108 H-8003 P1
+	 L10/P8 -> MT23108 H-8004 P1
+	 L11/P8 -> MT23108 H-8005 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P10
+	 L2/P9 -> MTS14400 SL2-1 L8/P10
+	 L3/P9 -> MTS14400 SL2-2 L7/P10
+	 L4/P9 -> MTS14400 SL2-2 L8/P10
+	 L5/P9 -> MTS14400 SL2-3 L7/P10
+	 L6/P9 -> MTS14400 SL2-3 L8/P10
+	 L7/P9 -> MTS14400 SL2-4 L7/P10
+	 L8/P9 -> MTS14400 SL2-4 L8/P10
+	 L9/P9 -> MTS14400 SL2-5 L7/P10
+	 L10/P9 -> MTS14400 SL2-5 L8/P10
+	 L11/P9 -> MTS14400 SL2-6 L7/P10
+	 L12/P9 -> MTS14400 SL2-6 L8/P10
+	 L1/P10 -> MTS14400 SL2-7 L7/P10
+	 L2/P10 -> MTS14400 SL2-7 L8/P10
+	 L3/P10 -> MTS14400 SL2-8 L7/P10
+	 L4/P10 -> MTS14400 SL2-9 L7/P10
+	 L5/P10 -> MTS14400 SL2-10 L7/P10
+	 L6/P10 -> MTS14400 SL2-11 L7/P10
+	 L7/P10 -> MTS14400 SL2-12 L7/P10
+	 L8/P10 -> MTS14400 SL2-13 L7/P10
+	 L9/P10 -> MTS14400 SL2-14 L7/P10
+	 L10/P10 -> MTS14400 SL2-15 L7/P10
+	 L11/P10 -> MTS14400 SL2-16 L7/P10
+	 L12/P10 -> MTS14400 SL2-17 L7/P10
+	 L1/P11 -> MTS14400 SL2-18 L7/P10
+	 L2/P11 -> MTS14400 SL2-19 L7/P10
+	 L3/P11 -> MTS14400 SL2-20 L7/P10
+	 L4/P11 -> MTS14400 SL2-21 L7/P10
+	 L5/P11 -> MTS14400 SL2-22 L7/P10
+	 L6/P11 -> MTS14400 SL2-23 L7/P10
+	 L7/P11 -> MTS14400 SL2-24 L7/P10
+	 L8/P11 -> MTS14400 SL2-25 L7/P10
+	 L9/P11 -> MTS14400 SL2-26 L7/P10
+	 L10/P11 -> MTS14400 SL2-27 L7/P10
+	 L11/P11 -> MTS14400 SL2-28 L7/P10
+	 L12/P11 -> MTS14400 SL2-29 L7/P10
+	 L1/P12 -> MTS14400 SL2-30 L6/P10
+	 L2/P12 -> MTS14400 SL2-30 L7/P10
+	 L3/P12 -> MTS14400 SL2-31 L6/P10
+	 L4/P12 -> MTS14400 SL2-31 L7/P10
+	 L5/P12 -> MTS14400 SL2-32 L6/P10
+	 L6/P12 -> MTS14400 SL2-32 L7/P10
+	 L7/P12 -> MTS14400 SL2-33 L6/P10
+	 L8/P12 -> MTS14400 SL2-33 L7/P10
+	 L9/P12 -> MTS14400 SL2-34 L6/P10
+	 L10/P12 -> MTS14400 SL2-34 L7/P10
+	 L11/P12 -> MTS14400 SL2-35 L6/P10
+	 L12/P12 -> MTS14400 SL2-35 L7/P10
+
+MTS14400 SL1-85
+	 L1/P1 -> MT23108 H-8006 P1
+	 L2/P1 -> MT23108 H-8007 P1
+	 L3/P1 -> MT23108 H-8008 P1
+	 L4/P1 -> MT23108 H-8009 P1
+	 L5/P1 -> MT23108 H-8010 P1
+	 L6/P1 -> MT23108 H-8011 P1
+	 L7/P1 -> MT23108 H-8012 P1
+	 L8/P1 -> MT23108 H-8013 P1
+	 L9/P1 -> MT23108 H-8014 P1
+	 L10/P1 -> MT23108 H-8015 P1
+	 L11/P1 -> MT23108 H-8016 P1
+	 L12/P1 -> MT23108 H-8017 P1
+	 L1/P2 -> MT23108 H-8018 P1
+	 L2/P2 -> MT23108 H-8019 P1
+	 L3/P2 -> MT23108 H-8020 P1
+	 L4/P2 -> MT23108 H-8021 P1
+	 L5/P2 -> MT23108 H-8022 P1
+	 L6/P2 -> MT23108 H-8023 P1
+	 L7/P2 -> MT23108 H-8024 P1
+	 L8/P2 -> MT23108 H-8025 P1
+	 L9/P2 -> MT23108 H-8026 P1
+	 L10/P2 -> MT23108 H-8027 P1
+	 L11/P2 -> MT23108 H-8028 P1
+	 L12/P2 -> MT23108 H-8029 P1
+	 L1/P3 -> MT23108 H-8030 P1
+	 L2/P3 -> MT23108 H-8031 P1
+	 L3/P3 -> MT23108 H-8032 P1
+	 L4/P3 -> MT23108 H-8033 P1
+	 L5/P3 -> MT23108 H-8034 P1
+	 L6/P3 -> MT23108 H-8035 P1
+	 L7/P3 -> MT23108 H-8036 P1
+	 L8/P3 -> MT23108 H-8037 P1
+	 L9/P3 -> MT23108 H-8038 P1
+	 L10/P3 -> MT23108 H-8039 P1
+	 L11/P3 -> MT23108 H-8040 P1
+	 L12/P3 -> MT23108 H-8041 P1
+	 L1/P4 -> MT23108 H-8042 P1
+	 L2/P4 -> MT23108 H-8043 P1
+	 L3/P4 -> MT23108 H-8044 P1
+	 L4/P4 -> MT23108 H-8045 P1
+	 L5/P4 -> MT23108 H-8046 P1
+	 L6/P4 -> MT23108 H-8047 P1
+	 L7/P4 -> MT23108 H-8048 P1
+	 L8/P4 -> MT23108 H-8049 P1
+	 L9/P4 -> MT23108 H-8050 P1
+	 L10/P4 -> MT23108 H-8051 P1
+	 L11/P4 -> MT23108 H-8052 P1
+	 L12/P4 -> MT23108 H-8053 P1
+	 L1/P5 -> MT23108 H-8054 P1
+	 L2/P5 -> MT23108 H-8055 P1
+	 L3/P5 -> MT23108 H-8056 P1
+	 L4/P5 -> MT23108 H-8057 P1
+	 L5/P5 -> MT23108 H-8058 P1
+	 L6/P5 -> MT23108 H-8059 P1
+	 L7/P5 -> MT23108 H-8060 P1
+	 L8/P5 -> MT23108 H-8061 P1
+	 L9/P5 -> MT23108 H-8062 P1
+	 L10/P5 -> MT23108 H-8063 P1
+	 L11/P5 -> MT23108 H-8064 P1
+	 L12/P5 -> MT23108 H-8065 P1
+	 L1/P6 -> MT23108 H-8066 P1
+	 L2/P6 -> MT23108 H-8067 P1
+	 L3/P6 -> MT23108 H-8068 P1
+	 L4/P6 -> MT23108 H-8069 P1
+	 L5/P6 -> MT23108 H-8070 P1
+	 L6/P6 -> MT23108 H-8071 P1
+	 L7/P6 -> MT23108 H-8072 P1
+	 L8/P6 -> MT23108 H-8073 P1
+	 L9/P6 -> MT23108 H-8074 P1
+	 L10/P6 -> MT23108 H-8075 P1
+	 L11/P6 -> MT23108 H-8076 P1
+	 L12/P6 -> MT23108 H-8077 P1
+	 L1/P7 -> MT23108 H-8078 P1
+	 L2/P7 -> MT23108 H-8079 P1
+	 L3/P7 -> MT23108 H-8080 P1
+	 L4/P7 -> MT23108 H-8081 P1
+	 L5/P7 -> MT23108 H-8082 P1
+	 L6/P7 -> MT23108 H-8083 P1
+	 L7/P7 -> MT23108 H-8084 P1
+	 L8/P7 -> MT23108 H-8085 P1
+	 L9/P7 -> MT23108 H-8086 P1
+	 L10/P7 -> MT23108 H-8087 P1
+	 L11/P7 -> MT23108 H-8088 P1
+	 L12/P7 -> MT23108 H-8089 P1
+	 L1/P8 -> MT23108 H-8090 P1
+	 L2/P8 -> MT23108 H-8091 P1
+	 L3/P8 -> MT23108 H-8092 P1
+	 L4/P8 -> MT23108 H-8093 P1
+	 L5/P8 -> MT23108 H-8094 P1
+	 L6/P8 -> MT23108 H-8095 P1
+	 L7/P8 -> MT23108 H-8096 P1
+	 L8/P8 -> MT23108 H-8097 P1
+	 L9/P8 -> MT23108 H-8098 P1
+	 L10/P8 -> MT23108 H-8099 P1
+	 L11/P8 -> MT23108 H-8100 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P10
+	 L2/P9 -> MTS14400 SL2-2 L9/P10
+	 L3/P9 -> MTS14400 SL2-3 L9/P10
+	 L4/P9 -> MTS14400 SL2-4 L9/P10
+	 L5/P9 -> MTS14400 SL2-5 L9/P10
+	 L6/P9 -> MTS14400 SL2-6 L9/P10
+	 L7/P9 -> MTS14400 SL2-7 L9/P10
+	 L8/P9 -> MTS14400 SL2-8 L8/P10
+	 L9/P9 -> MTS14400 SL2-8 L9/P10
+	 L10/P9 -> MTS14400 SL2-9 L8/P10
+	 L11/P9 -> MTS14400 SL2-9 L9/P10
+	 L12/P9 -> MTS14400 SL2-10 L8/P10
+	 L1/P10 -> MTS14400 SL2-10 L9/P10
+	 L2/P10 -> MTS14400 SL2-11 L8/P10
+	 L3/P10 -> MTS14400 SL2-11 L9/P10
+	 L4/P10 -> MTS14400 SL2-12 L8/P10
+	 L5/P10 -> MTS14400 SL2-12 L9/P10
+	 L6/P10 -> MTS14400 SL2-13 L8/P10
+	 L7/P10 -> MTS14400 SL2-13 L9/P10
+	 L8/P10 -> MTS14400 SL2-14 L8/P10
+	 L9/P10 -> MTS14400 SL2-14 L9/P10
+	 L10/P10 -> MTS14400 SL2-15 L8/P10
+	 L11/P10 -> MTS14400 SL2-15 L9/P10
+	 L12/P10 -> MTS14400 SL2-16 L8/P10
+	 L1/P11 -> MTS14400 SL2-16 L9/P10
+	 L2/P11 -> MTS14400 SL2-17 L8/P10
+	 L3/P11 -> MTS14400 SL2-17 L9/P10
+	 L4/P11 -> MTS14400 SL2-18 L8/P10
+	 L5/P11 -> MTS14400 SL2-18 L9/P10
+	 L6/P11 -> MTS14400 SL2-19 L8/P10
+	 L7/P11 -> MTS14400 SL2-19 L9/P10
+	 L8/P11 -> MTS14400 SL2-20 L8/P10
+	 L9/P11 -> MTS14400 SL2-20 L9/P10
+	 L10/P11 -> MTS14400 SL2-21 L8/P10
+	 L11/P11 -> MTS14400 SL2-22 L8/P10
+	 L12/P11 -> MTS14400 SL2-23 L8/P10
+	 L1/P12 -> MTS14400 SL2-24 L8/P10
+	 L2/P12 -> MTS14400 SL2-25 L8/P10
+	 L3/P12 -> MTS14400 SL2-26 L8/P10
+	 L4/P12 -> MTS14400 SL2-27 L8/P10
+	 L5/P12 -> MTS14400 SL2-28 L8/P10
+	 L6/P12 -> MTS14400 SL2-29 L8/P10
+	 L7/P12 -> MTS14400 SL2-30 L8/P10
+	 L8/P12 -> MTS14400 SL2-31 L8/P10
+	 L9/P12 -> MTS14400 SL2-32 L8/P10
+	 L10/P12 -> MTS14400 SL2-33 L8/P10
+	 L11/P12 -> MTS14400 SL2-34 L8/P10
+	 L12/P12 -> MTS14400 SL2-35 L8/P10
+
+MTS14400 SL1-86
+	 L1/P1 -> MT23108 H-8101 P1
+	 L2/P1 -> MT23108 H-8102 P1
+	 L3/P1 -> MT23108 H-8103 P1
+	 L4/P1 -> MT23108 H-8104 P1
+	 L5/P1 -> MT23108 H-8105 P1
+	 L6/P1 -> MT23108 H-8106 P1
+	 L7/P1 -> MT23108 H-8107 P1
+	 L8/P1 -> MT23108 H-8108 P1
+	 L9/P1 -> MT23108 H-8109 P1
+	 L10/P1 -> MT23108 H-8110 P1
+	 L11/P1 -> MT23108 H-8111 P1
+	 L12/P1 -> MT23108 H-8112 P1
+	 L1/P2 -> MT23108 H-8113 P1
+	 L2/P2 -> MT23108 H-8114 P1
+	 L3/P2 -> MT23108 H-8115 P1
+	 L4/P2 -> MT23108 H-8116 P1
+	 L5/P2 -> MT23108 H-8117 P1
+	 L6/P2 -> MT23108 H-8118 P1
+	 L7/P2 -> MT23108 H-8119 P1
+	 L8/P2 -> MT23108 H-8120 P1
+	 L9/P2 -> MT23108 H-8121 P1
+	 L10/P2 -> MT23108 H-8122 P1
+	 L11/P2 -> MT23108 H-8123 P1
+	 L12/P2 -> MT23108 H-8124 P1
+	 L1/P3 -> MT23108 H-8125 P1
+	 L2/P3 -> MT23108 H-8126 P1
+	 L3/P3 -> MT23108 H-8127 P1
+	 L4/P3 -> MT23108 H-8128 P1
+	 L5/P3 -> MT23108 H-8129 P1
+	 L6/P3 -> MT23108 H-8130 P1
+	 L7/P3 -> MT23108 H-8131 P1
+	 L8/P3 -> MT23108 H-8132 P1
+	 L9/P3 -> MT23108 H-8133 P1
+	 L10/P3 -> MT23108 H-8134 P1
+	 L11/P3 -> MT23108 H-8135 P1
+	 L12/P3 -> MT23108 H-8136 P1
+	 L1/P4 -> MT23108 H-8137 P1
+	 L2/P4 -> MT23108 H-8138 P1
+	 L3/P4 -> MT23108 H-8139 P1
+	 L4/P4 -> MT23108 H-8140 P1
+	 L5/P4 -> MT23108 H-8141 P1
+	 L6/P4 -> MT23108 H-8142 P1
+	 L7/P4 -> MT23108 H-8143 P1
+	 L8/P4 -> MT23108 H-8144 P1
+	 L9/P4 -> MT23108 H-8145 P1
+	 L10/P4 -> MT23108 H-8146 P1
+	 L11/P4 -> MT23108 H-8147 P1
+	 L12/P4 -> MT23108 H-8148 P1
+	 L1/P5 -> MT23108 H-8149 P1
+	 L2/P5 -> MT23108 H-8150 P1
+	 L3/P5 -> MT23108 H-8151 P1
+	 L4/P5 -> MT23108 H-8152 P1
+	 L5/P5 -> MT23108 H-8153 P1
+	 L6/P5 -> MT23108 H-8154 P1
+	 L7/P5 -> MT23108 H-8155 P1
+	 L8/P5 -> MT23108 H-8156 P1
+	 L9/P5 -> MT23108 H-8157 P1
+	 L10/P5 -> MT23108 H-8158 P1
+	 L11/P5 -> MT23108 H-8159 P1
+	 L12/P5 -> MT23108 H-8160 P1
+	 L1/P6 -> MT23108 H-8161 P1
+	 L2/P6 -> MT23108 H-8162 P1
+	 L3/P6 -> MT23108 H-8163 P1
+	 L4/P6 -> MT23108 H-8164 P1
+	 L5/P6 -> MT23108 H-8165 P1
+	 L6/P6 -> MT23108 H-8166 P1
+	 L7/P6 -> MT23108 H-8167 P1
+	 L8/P6 -> MT23108 H-8168 P1
+	 L9/P6 -> MT23108 H-8169 P1
+	 L10/P6 -> MT23108 H-8170 P1
+	 L11/P6 -> MT23108 H-8171 P1
+	 L12/P6 -> MT23108 H-8172 P1
+	 L1/P7 -> MT23108 H-8173 P1
+	 L2/P7 -> MT23108 H-8174 P1
+	 L3/P7 -> MT23108 H-8175 P1
+	 L4/P7 -> MT23108 H-8176 P1
+	 L5/P7 -> MT23108 H-8177 P1
+	 L6/P7 -> MT23108 H-8178 P1
+	 L7/P7 -> MT23108 H-8179 P1
+	 L8/P7 -> MT23108 H-8180 P1
+	 L9/P7 -> MT23108 H-8181 P1
+	 L10/P7 -> MT23108 H-8182 P1
+	 L11/P7 -> MT23108 H-8183 P1
+	 L12/P7 -> MT23108 H-8184 P1
+	 L1/P8 -> MT23108 H-8185 P1
+	 L2/P8 -> MT23108 H-8186 P1
+	 L3/P8 -> MT23108 H-8187 P1
+	 L4/P8 -> MT23108 H-8188 P1
+	 L5/P8 -> MT23108 H-8189 P1
+	 L6/P8 -> MT23108 H-8190 P1
+	 L7/P8 -> MT23108 H-8191 P1
+	 L8/P8 -> MT23108 H-8192 P1
+	 L9/P8 -> MT23108 H-8193 P1
+	 L10/P8 -> MT23108 H-8194 P1
+	 L11/P8 -> MT23108 H-8195 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P10
+	 L2/P9 -> MTS14400 SL2-2 L10/P10
+	 L3/P9 -> MTS14400 SL2-3 L10/P10
+	 L4/P9 -> MTS14400 SL2-4 L10/P10
+	 L5/P9 -> MTS14400 SL2-5 L10/P10
+	 L6/P9 -> MTS14400 SL2-6 L10/P10
+	 L7/P9 -> MTS14400 SL2-7 L10/P10
+	 L8/P9 -> MTS14400 SL2-8 L10/P10
+	 L9/P9 -> MTS14400 SL2-9 L10/P10
+	 L10/P9 -> MTS14400 SL2-10 L10/P10
+	 L11/P9 -> MTS14400 SL2-11 L10/P10
+	 L12/P9 -> MTS14400 SL2-12 L10/P10
+	 L1/P10 -> MTS14400 SL2-13 L10/P10
+	 L2/P10 -> MTS14400 SL2-14 L10/P10
+	 L3/P10 -> MTS14400 SL2-15 L10/P10
+	 L4/P10 -> MTS14400 SL2-16 L10/P10
+	 L5/P10 -> MTS14400 SL2-17 L10/P10
+	 L6/P10 -> MTS14400 SL2-18 L10/P10
+	 L7/P10 -> MTS14400 SL2-19 L10/P10
+	 L8/P10 -> MTS14400 SL2-20 L10/P10
+	 L9/P10 -> MTS14400 SL2-21 L9/P10
+	 L10/P10 -> MTS14400 SL2-21 L10/P10
+	 L11/P10 -> MTS14400 SL2-22 L9/P10
+	 L12/P10 -> MTS14400 SL2-22 L10/P10
+	 L1/P11 -> MTS14400 SL2-23 L9/P10
+	 L2/P11 -> MTS14400 SL2-23 L10/P10
+	 L3/P11 -> MTS14400 SL2-24 L9/P10
+	 L4/P11 -> MTS14400 SL2-24 L10/P10
+	 L5/P11 -> MTS14400 SL2-25 L9/P10
+	 L6/P11 -> MTS14400 SL2-25 L10/P10
+	 L7/P11 -> MTS14400 SL2-26 L9/P10
+	 L8/P11 -> MTS14400 SL2-26 L10/P10
+	 L9/P11 -> MTS14400 SL2-27 L9/P10
+	 L10/P11 -> MTS14400 SL2-27 L10/P10
+	 L11/P11 -> MTS14400 SL2-28 L9/P10
+	 L12/P11 -> MTS14400 SL2-28 L10/P10
+	 L1/P12 -> MTS14400 SL2-29 L9/P10
+	 L2/P12 -> MTS14400 SL2-29 L10/P10
+	 L3/P12 -> MTS14400 SL2-30 L9/P10
+	 L4/P12 -> MTS14400 SL2-30 L10/P10
+	 L5/P12 -> MTS14400 SL2-31 L9/P10
+	 L6/P12 -> MTS14400 SL2-31 L10/P10
+	 L7/P12 -> MTS14400 SL2-32 L9/P10
+	 L8/P12 -> MTS14400 SL2-32 L10/P10
+	 L9/P12 -> MTS14400 SL2-33 L9/P10
+	 L10/P12 -> MTS14400 SL2-33 L10/P10
+	 L11/P12 -> MTS14400 SL2-34 L9/P10
+	 L12/P12 -> MTS14400 SL2-35 L9/P10
+
+MTS14400 SL1-87
+	 L1/P1 -> MT23108 H-8196 P1
+	 L2/P1 -> MT23108 H-8197 P1
+	 L3/P1 -> MT23108 H-8198 P1
+	 L4/P1 -> MT23108 H-8199 P1
+	 L5/P1 -> MT23108 H-8200 P1
+	 L6/P1 -> MT23108 H-8201 P1
+	 L7/P1 -> MT23108 H-8202 P1
+	 L8/P1 -> MT23108 H-8203 P1
+	 L9/P1 -> MT23108 H-8204 P1
+	 L10/P1 -> MT23108 H-8205 P1
+	 L11/P1 -> MT23108 H-8206 P1
+	 L12/P1 -> MT23108 H-8207 P1
+	 L1/P2 -> MT23108 H-8208 P1
+	 L2/P2 -> MT23108 H-8209 P1
+	 L3/P2 -> MT23108 H-8210 P1
+	 L4/P2 -> MT23108 H-8211 P1
+	 L5/P2 -> MT23108 H-8212 P1
+	 L6/P2 -> MT23108 H-8213 P1
+	 L7/P2 -> MT23108 H-8214 P1
+	 L8/P2 -> MT23108 H-8215 P1
+	 L9/P2 -> MT23108 H-8216 P1
+	 L10/P2 -> MT23108 H-8217 P1
+	 L11/P2 -> MT23108 H-8218 P1
+	 L12/P2 -> MT23108 H-8219 P1
+	 L1/P3 -> MT23108 H-8220 P1
+	 L2/P3 -> MT23108 H-8221 P1
+	 L3/P3 -> MT23108 H-8222 P1
+	 L4/P3 -> MT23108 H-8223 P1
+	 L5/P3 -> MT23108 H-8224 P1
+	 L6/P3 -> MT23108 H-8225 P1
+	 L7/P3 -> MT23108 H-8226 P1
+	 L8/P3 -> MT23108 H-8227 P1
+	 L9/P3 -> MT23108 H-8228 P1
+	 L10/P3 -> MT23108 H-8229 P1
+	 L11/P3 -> MT23108 H-8230 P1
+	 L12/P3 -> MT23108 H-8231 P1
+	 L1/P4 -> MT23108 H-8232 P1
+	 L2/P4 -> MT23108 H-8233 P1
+	 L3/P4 -> MT23108 H-8234 P1
+	 L4/P4 -> MT23108 H-8235 P1
+	 L5/P4 -> MT23108 H-8236 P1
+	 L6/P4 -> MT23108 H-8237 P1
+	 L7/P4 -> MT23108 H-8238 P1
+	 L8/P4 -> MT23108 H-8239 P1
+	 L9/P4 -> MT23108 H-8240 P1
+	 L10/P4 -> MT23108 H-8241 P1
+	 L11/P4 -> MT23108 H-8242 P1
+	 L12/P4 -> MT23108 H-8243 P1
+	 L1/P5 -> MT23108 H-8244 P1
+	 L2/P5 -> MT23108 H-8245 P1
+	 L3/P5 -> MT23108 H-8246 P1
+	 L4/P5 -> MT23108 H-8247 P1
+	 L5/P5 -> MT23108 H-8248 P1
+	 L6/P5 -> MT23108 H-8249 P1
+	 L7/P5 -> MT23108 H-8250 P1
+	 L8/P5 -> MT23108 H-8251 P1
+	 L9/P5 -> MT23108 H-8252 P1
+	 L10/P5 -> MT23108 H-8253 P1
+	 L11/P5 -> MT23108 H-8254 P1
+	 L12/P5 -> MT23108 H-8255 P1
+	 L1/P6 -> MT23108 H-8256 P1
+	 L2/P6 -> MT23108 H-8257 P1
+	 L3/P6 -> MT23108 H-8258 P1
+	 L4/P6 -> MT23108 H-8259 P1
+	 L5/P6 -> MT23108 H-8260 P1
+	 L6/P6 -> MT23108 H-8261 P1
+	 L7/P6 -> MT23108 H-8262 P1
+	 L8/P6 -> MT23108 H-8263 P1
+	 L9/P6 -> MT23108 H-8264 P1
+	 L10/P6 -> MT23108 H-8265 P1
+	 L11/P6 -> MT23108 H-8266 P1
+	 L12/P6 -> MT23108 H-8267 P1
+	 L1/P7 -> MT23108 H-8268 P1
+	 L2/P7 -> MT23108 H-8269 P1
+	 L3/P7 -> MT23108 H-8270 P1
+	 L4/P7 -> MT23108 H-8271 P1
+	 L5/P7 -> MT23108 H-8272 P1
+	 L6/P7 -> MT23108 H-8273 P1
+	 L7/P7 -> MT23108 H-8274 P1
+	 L8/P7 -> MT23108 H-8275 P1
+	 L9/P7 -> MT23108 H-8276 P1
+	 L10/P7 -> MT23108 H-8277 P1
+	 L11/P7 -> MT23108 H-8278 P1
+	 L12/P7 -> MT23108 H-8279 P1
+	 L1/P8 -> MT23108 H-8280 P1
+	 L2/P8 -> MT23108 H-8281 P1
+	 L3/P8 -> MT23108 H-8282 P1
+	 L4/P8 -> MT23108 H-8283 P1
+	 L5/P8 -> MT23108 H-8284 P1
+	 L6/P8 -> MT23108 H-8285 P1
+	 L7/P8 -> MT23108 H-8286 P1
+	 L8/P8 -> MT23108 H-8287 P1
+	 L9/P8 -> MT23108 H-8288 P1
+	 L10/P8 -> MT23108 H-8289 P1
+	 L11/P8 -> MT23108 H-8290 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P10
+	 L2/P9 -> MTS14400 SL2-1 L12/P10
+	 L3/P9 -> MTS14400 SL2-2 L11/P10
+	 L4/P9 -> MTS14400 SL2-2 L12/P10
+	 L5/P9 -> MTS14400 SL2-3 L11/P10
+	 L6/P9 -> MTS14400 SL2-3 L12/P10
+	 L7/P9 -> MTS14400 SL2-4 L11/P10
+	 L8/P9 -> MTS14400 SL2-4 L12/P10
+	 L9/P9 -> MTS14400 SL2-5 L11/P10
+	 L10/P9 -> MTS14400 SL2-5 L12/P10
+	 L11/P9 -> MTS14400 SL2-6 L11/P10
+	 L12/P9 -> MTS14400 SL2-6 L12/P10
+	 L1/P10 -> MTS14400 SL2-7 L11/P10
+	 L2/P10 -> MTS14400 SL2-7 L12/P10
+	 L3/P10 -> MTS14400 SL2-8 L11/P10
+	 L4/P10 -> MTS14400 SL2-8 L12/P10
+	 L5/P10 -> MTS14400 SL2-9 L11/P10
+	 L6/P10 -> MTS14400 SL2-9 L12/P10
+	 L7/P10 -> MTS14400 SL2-10 L11/P10
+	 L8/P10 -> MTS14400 SL2-10 L12/P10
+	 L9/P10 -> MTS14400 SL2-11 L11/P10
+	 L10/P10 -> MTS14400 SL2-11 L12/P10
+	 L11/P10 -> MTS14400 SL2-12 L11/P10
+	 L12/P10 -> MTS14400 SL2-13 L11/P10
+	 L1/P11 -> MTS14400 SL2-14 L11/P10
+	 L2/P11 -> MTS14400 SL2-15 L11/P10
+	 L3/P11 -> MTS14400 SL2-16 L11/P10
+	 L4/P11 -> MTS14400 SL2-17 L11/P10
+	 L5/P11 -> MTS14400 SL2-18 L11/P10
+	 L6/P11 -> MTS14400 SL2-19 L11/P10
+	 L7/P11 -> MTS14400 SL2-20 L11/P10
+	 L8/P11 -> MTS14400 SL2-21 L11/P10
+	 L9/P11 -> MTS14400 SL2-22 L11/P10
+	 L10/P11 -> MTS14400 SL2-23 L11/P10
+	 L11/P11 -> MTS14400 SL2-24 L11/P10
+	 L12/P11 -> MTS14400 SL2-25 L11/P10
+	 L1/P12 -> MTS14400 SL2-26 L11/P10
+	 L2/P12 -> MTS14400 SL2-27 L11/P10
+	 L3/P12 -> MTS14400 SL2-28 L11/P10
+	 L4/P12 -> MTS14400 SL2-29 L11/P10
+	 L5/P12 -> MTS14400 SL2-30 L11/P10
+	 L6/P12 -> MTS14400 SL2-31 L11/P10
+	 L7/P12 -> MTS14400 SL2-32 L11/P10
+	 L8/P12 -> MTS14400 SL2-33 L11/P10
+	 L9/P12 -> MTS14400 SL2-34 L10/P10
+	 L10/P12 -> MTS14400 SL2-34 L11/P10
+	 L11/P12 -> MTS14400 SL2-35 L10/P10
+	 L12/P12 -> MTS14400 SL2-35 L11/P10
+
+MTS14400 SL1-88
+	 L1/P1 -> MT23108 H-8291 P1
+	 L2/P1 -> MT23108 H-8292 P1
+	 L3/P1 -> MT23108 H-8293 P1
+	 L4/P1 -> MT23108 H-8294 P1
+	 L5/P1 -> MT23108 H-8295 P1
+	 L6/P1 -> MT23108 H-8296 P1
+	 L7/P1 -> MT23108 H-8297 P1
+	 L8/P1 -> MT23108 H-8298 P1
+	 L9/P1 -> MT23108 H-8299 P1
+	 L10/P1 -> MT23108 H-8300 P1
+	 L11/P1 -> MT23108 H-8301 P1
+	 L12/P1 -> MT23108 H-8302 P1
+	 L1/P2 -> MT23108 H-8303 P1
+	 L2/P2 -> MT23108 H-8304 P1
+	 L3/P2 -> MT23108 H-8305 P1
+	 L4/P2 -> MT23108 H-8306 P1
+	 L5/P2 -> MT23108 H-8307 P1
+	 L6/P2 -> MT23108 H-8308 P1
+	 L7/P2 -> MT23108 H-8309 P1
+	 L8/P2 -> MT23108 H-8310 P1
+	 L9/P2 -> MT23108 H-8311 P1
+	 L10/P2 -> MT23108 H-8312 P1
+	 L11/P2 -> MT23108 H-8313 P1
+	 L12/P2 -> MT23108 H-8314 P1
+	 L1/P3 -> MT23108 H-8315 P1
+	 L2/P3 -> MT23108 H-8316 P1
+	 L3/P3 -> MT23108 H-8317 P1
+	 L4/P3 -> MT23108 H-8318 P1
+	 L5/P3 -> MT23108 H-8319 P1
+	 L6/P3 -> MT23108 H-8320 P1
+	 L7/P3 -> MT23108 H-8321 P1
+	 L8/P3 -> MT23108 H-8322 P1
+	 L9/P3 -> MT23108 H-8323 P1
+	 L10/P3 -> MT23108 H-8324 P1
+	 L11/P3 -> MT23108 H-8325 P1
+	 L12/P3 -> MT23108 H-8326 P1
+	 L1/P4 -> MT23108 H-8327 P1
+	 L2/P4 -> MT23108 H-8328 P1
+	 L3/P4 -> MT23108 H-8329 P1
+	 L4/P4 -> MT23108 H-8330 P1
+	 L5/P4 -> MT23108 H-8331 P1
+	 L6/P4 -> MT23108 H-8332 P1
+	 L7/P4 -> MT23108 H-8333 P1
+	 L8/P4 -> MT23108 H-8334 P1
+	 L9/P4 -> MT23108 H-8335 P1
+	 L10/P4 -> MT23108 H-8336 P1
+	 L11/P4 -> MT23108 H-8337 P1
+	 L12/P4 -> MT23108 H-8338 P1
+	 L1/P5 -> MT23108 H-8339 P1
+	 L2/P5 -> MT23108 H-8340 P1
+	 L3/P5 -> MT23108 H-8341 P1
+	 L4/P5 -> MT23108 H-8342 P1
+	 L5/P5 -> MT23108 H-8343 P1
+	 L6/P5 -> MT23108 H-8344 P1
+	 L7/P5 -> MT23108 H-8345 P1
+	 L8/P5 -> MT23108 H-8346 P1
+	 L9/P5 -> MT23108 H-8347 P1
+	 L10/P5 -> MT23108 H-8348 P1
+	 L11/P5 -> MT23108 H-8349 P1
+	 L12/P5 -> MT23108 H-8350 P1
+	 L1/P6 -> MT23108 H-8351 P1
+	 L2/P6 -> MT23108 H-8352 P1
+	 L3/P6 -> MT23108 H-8353 P1
+	 L4/P6 -> MT23108 H-8354 P1
+	 L5/P6 -> MT23108 H-8355 P1
+	 L6/P6 -> MT23108 H-8356 P1
+	 L7/P6 -> MT23108 H-8357 P1
+	 L8/P6 -> MT23108 H-8358 P1
+	 L9/P6 -> MT23108 H-8359 P1
+	 L10/P6 -> MT23108 H-8360 P1
+	 L11/P6 -> MT23108 H-8361 P1
+	 L12/P6 -> MT23108 H-8362 P1
+	 L1/P7 -> MT23108 H-8363 P1
+	 L2/P7 -> MT23108 H-8364 P1
+	 L3/P7 -> MT23108 H-8365 P1
+	 L4/P7 -> MT23108 H-8366 P1
+	 L5/P7 -> MT23108 H-8367 P1
+	 L6/P7 -> MT23108 H-8368 P1
+	 L7/P7 -> MT23108 H-8369 P1
+	 L8/P7 -> MT23108 H-8370 P1
+	 L9/P7 -> MT23108 H-8371 P1
+	 L10/P7 -> MT23108 H-8372 P1
+	 L11/P7 -> MT23108 H-8373 P1
+	 L12/P7 -> MT23108 H-8374 P1
+	 L1/P8 -> MT23108 H-8375 P1
+	 L2/P8 -> MT23108 H-8376 P1
+	 L3/P8 -> MT23108 H-8377 P1
+	 L4/P8 -> MT23108 H-8378 P1
+	 L5/P8 -> MT23108 H-8379 P1
+	 L6/P8 -> MT23108 H-8380 P1
+	 L7/P8 -> MT23108 H-8381 P1
+	 L8/P8 -> MT23108 H-8382 P1
+	 L9/P8 -> MT23108 H-8383 P1
+	 L10/P8 -> MT23108 H-8384 P1
+	 L11/P8 -> MT23108 H-8385 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P11
+	 L2/P9 -> MTS14400 SL2-2 L1/P11
+	 L3/P9 -> MTS14400 SL2-3 L1/P11
+	 L4/P9 -> MTS14400 SL2-4 L1/P11
+	 L5/P9 -> MTS14400 SL2-5 L1/P11
+	 L6/P9 -> MTS14400 SL2-6 L1/P11
+	 L7/P9 -> MTS14400 SL2-7 L1/P11
+	 L8/P9 -> MTS14400 SL2-8 L1/P11
+	 L9/P9 -> MTS14400 SL2-9 L1/P11
+	 L10/P9 -> MTS14400 SL2-10 L1/P11
+	 L11/P9 -> MTS14400 SL2-11 L1/P11
+	 L12/P9 -> MTS14400 SL2-12 L12/P10
+	 L1/P10 -> MTS14400 SL2-12 L1/P11
+	 L2/P10 -> MTS14400 SL2-13 L12/P10
+	 L3/P10 -> MTS14400 SL2-13 L1/P11
+	 L4/P10 -> MTS14400 SL2-14 L12/P10
+	 L5/P10 -> MTS14400 SL2-14 L1/P11
+	 L6/P10 -> MTS14400 SL2-15 L12/P10
+	 L7/P10 -> MTS14400 SL2-15 L1/P11
+	 L8/P10 -> MTS14400 SL2-16 L12/P10
+	 L9/P10 -> MTS14400 SL2-16 L1/P11
+	 L10/P10 -> MTS14400 SL2-17 L12/P10
+	 L11/P10 -> MTS14400 SL2-17 L1/P11
+	 L12/P10 -> MTS14400 SL2-18 L12/P10
+	 L1/P11 -> MTS14400 SL2-18 L1/P11
+	 L2/P11 -> MTS14400 SL2-19 L12/P10
+	 L3/P11 -> MTS14400 SL2-19 L1/P11
+	 L4/P11 -> MTS14400 SL2-20 L12/P10
+	 L5/P11 -> MTS14400 SL2-20 L1/P11
+	 L6/P11 -> MTS14400 SL2-21 L12/P10
+	 L7/P11 -> MTS14400 SL2-21 L1/P11
+	 L8/P11 -> MTS14400 SL2-22 L12/P10
+	 L9/P11 -> MTS14400 SL2-22 L1/P11
+	 L10/P11 -> MTS14400 SL2-23 L12/P10
+	 L11/P11 -> MTS14400 SL2-23 L1/P11
+	 L12/P11 -> MTS14400 SL2-24 L12/P10
+	 L1/P12 -> MTS14400 SL2-24 L1/P11
+	 L2/P12 -> MTS14400 SL2-25 L12/P10
+	 L3/P12 -> MTS14400 SL2-26 L12/P10
+	 L4/P12 -> MTS14400 SL2-27 L12/P10
+	 L5/P12 -> MTS14400 SL2-28 L12/P10
+	 L6/P12 -> MTS14400 SL2-29 L12/P10
+	 L7/P12 -> MTS14400 SL2-30 L12/P10
+	 L8/P12 -> MTS14400 SL2-31 L12/P10
+	 L9/P12 -> MTS14400 SL2-32 L12/P10
+	 L10/P12 -> MTS14400 SL2-33 L12/P10
+	 L11/P12 -> MTS14400 SL2-34 L12/P10
+	 L12/P12 -> MTS14400 SL2-35 L12/P10
+
+MTS14400 SL1-89
+	 L1/P1 -> MT23108 H-8386 P1
+	 L2/P1 -> MT23108 H-8387 P1
+	 L3/P1 -> MT23108 H-8388 P1
+	 L4/P1 -> MT23108 H-8389 P1
+	 L5/P1 -> MT23108 H-8390 P1
+	 L6/P1 -> MT23108 H-8391 P1
+	 L7/P1 -> MT23108 H-8392 P1
+	 L8/P1 -> MT23108 H-8393 P1
+	 L9/P1 -> MT23108 H-8394 P1
+	 L10/P1 -> MT23108 H-8395 P1
+	 L11/P1 -> MT23108 H-8396 P1
+	 L12/P1 -> MT23108 H-8397 P1
+	 L1/P2 -> MT23108 H-8398 P1
+	 L2/P2 -> MT23108 H-8399 P1
+	 L3/P2 -> MT23108 H-8400 P1
+	 L4/P2 -> MT23108 H-8401 P1
+	 L5/P2 -> MT23108 H-8402 P1
+	 L6/P2 -> MT23108 H-8403 P1
+	 L7/P2 -> MT23108 H-8404 P1
+	 L8/P2 -> MT23108 H-8405 P1
+	 L9/P2 -> MT23108 H-8406 P1
+	 L10/P2 -> MT23108 H-8407 P1
+	 L11/P2 -> MT23108 H-8408 P1
+	 L12/P2 -> MT23108 H-8409 P1
+	 L1/P3 -> MT23108 H-8410 P1
+	 L2/P3 -> MT23108 H-8411 P1
+	 L3/P3 -> MT23108 H-8412 P1
+	 L4/P3 -> MT23108 H-8413 P1
+	 L5/P3 -> MT23108 H-8414 P1
+	 L6/P3 -> MT23108 H-8415 P1
+	 L7/P3 -> MT23108 H-8416 P1
+	 L8/P3 -> MT23108 H-8417 P1
+	 L9/P3 -> MT23108 H-8418 P1
+	 L10/P3 -> MT23108 H-8419 P1
+	 L11/P3 -> MT23108 H-8420 P1
+	 L12/P3 -> MT23108 H-8421 P1
+	 L1/P4 -> MT23108 H-8422 P1
+	 L2/P4 -> MT23108 H-8423 P1
+	 L3/P4 -> MT23108 H-8424 P1
+	 L4/P4 -> MT23108 H-8425 P1
+	 L5/P4 -> MT23108 H-8426 P1
+	 L6/P4 -> MT23108 H-8427 P1
+	 L7/P4 -> MT23108 H-8428 P1
+	 L8/P4 -> MT23108 H-8429 P1
+	 L9/P4 -> MT23108 H-8430 P1
+	 L10/P4 -> MT23108 H-8431 P1
+	 L11/P4 -> MT23108 H-8432 P1
+	 L12/P4 -> MT23108 H-8433 P1
+	 L1/P5 -> MT23108 H-8434 P1
+	 L2/P5 -> MT23108 H-8435 P1
+	 L3/P5 -> MT23108 H-8436 P1
+	 L4/P5 -> MT23108 H-8437 P1
+	 L5/P5 -> MT23108 H-8438 P1
+	 L6/P5 -> MT23108 H-8439 P1
+	 L7/P5 -> MT23108 H-8440 P1
+	 L8/P5 -> MT23108 H-8441 P1
+	 L9/P5 -> MT23108 H-8442 P1
+	 L10/P5 -> MT23108 H-8443 P1
+	 L11/P5 -> MT23108 H-8444 P1
+	 L12/P5 -> MT23108 H-8445 P1
+	 L1/P6 -> MT23108 H-8446 P1
+	 L2/P6 -> MT23108 H-8447 P1
+	 L3/P6 -> MT23108 H-8448 P1
+	 L4/P6 -> MT23108 H-8449 P1
+	 L5/P6 -> MT23108 H-8450 P1
+	 L6/P6 -> MT23108 H-8451 P1
+	 L7/P6 -> MT23108 H-8452 P1
+	 L8/P6 -> MT23108 H-8453 P1
+	 L9/P6 -> MT23108 H-8454 P1
+	 L10/P6 -> MT23108 H-8455 P1
+	 L11/P6 -> MT23108 H-8456 P1
+	 L12/P6 -> MT23108 H-8457 P1
+	 L1/P7 -> MT23108 H-8458 P1
+	 L2/P7 -> MT23108 H-8459 P1
+	 L3/P7 -> MT23108 H-8460 P1
+	 L4/P7 -> MT23108 H-8461 P1
+	 L5/P7 -> MT23108 H-8462 P1
+	 L6/P7 -> MT23108 H-8463 P1
+	 L7/P7 -> MT23108 H-8464 P1
+	 L8/P7 -> MT23108 H-8465 P1
+	 L9/P7 -> MT23108 H-8466 P1
+	 L10/P7 -> MT23108 H-8467 P1
+	 L11/P7 -> MT23108 H-8468 P1
+	 L12/P7 -> MT23108 H-8469 P1
+	 L1/P8 -> MT23108 H-8470 P1
+	 L2/P8 -> MT23108 H-8471 P1
+	 L3/P8 -> MT23108 H-8472 P1
+	 L4/P8 -> MT23108 H-8473 P1
+	 L5/P8 -> MT23108 H-8474 P1
+	 L6/P8 -> MT23108 H-8475 P1
+	 L7/P8 -> MT23108 H-8476 P1
+	 L8/P8 -> MT23108 H-8477 P1
+	 L9/P8 -> MT23108 H-8478 P1
+	 L10/P8 -> MT23108 H-8479 P1
+	 L11/P8 -> MT23108 H-8480 P1
+	 L1/P9 -> MTS14400 SL2-1 L2/P11
+	 L2/P9 -> MTS14400 SL2-1 L3/P11
+	 L3/P9 -> MTS14400 SL2-2 L2/P11
+	 L4/P9 -> MTS14400 SL2-2 L3/P11
+	 L5/P9 -> MTS14400 SL2-3 L2/P11
+	 L6/P9 -> MTS14400 SL2-4 L2/P11
+	 L7/P9 -> MTS14400 SL2-5 L2/P11
+	 L8/P9 -> MTS14400 SL2-6 L2/P11
+	 L9/P9 -> MTS14400 SL2-7 L2/P11
+	 L10/P9 -> MTS14400 SL2-8 L2/P11
+	 L11/P9 -> MTS14400 SL2-9 L2/P11
+	 L12/P9 -> MTS14400 SL2-10 L2/P11
+	 L1/P10 -> MTS14400 SL2-11 L2/P11
+	 L2/P10 -> MTS14400 SL2-12 L2/P11
+	 L3/P10 -> MTS14400 SL2-13 L2/P11
+	 L4/P10 -> MTS14400 SL2-14 L2/P11
+	 L5/P10 -> MTS14400 SL2-15 L2/P11
+	 L6/P10 -> MTS14400 SL2-16 L2/P11
+	 L7/P10 -> MTS14400 SL2-17 L2/P11
+	 L8/P10 -> MTS14400 SL2-18 L2/P11
+	 L9/P10 -> MTS14400 SL2-19 L2/P11
+	 L10/P10 -> MTS14400 SL2-20 L2/P11
+	 L11/P10 -> MTS14400 SL2-21 L2/P11
+	 L12/P10 -> MTS14400 SL2-22 L2/P11
+	 L1/P11 -> MTS14400 SL2-23 L2/P11
+	 L2/P11 -> MTS14400 SL2-24 L2/P11
+	 L3/P11 -> MTS14400 SL2-25 L1/P11
+	 L4/P11 -> MTS14400 SL2-25 L2/P11
+	 L5/P11 -> MTS14400 SL2-26 L1/P11
+	 L6/P11 -> MTS14400 SL2-26 L2/P11
+	 L7/P11 -> MTS14400 SL2-27 L1/P11
+	 L8/P11 -> MTS14400 SL2-27 L2/P11
+	 L9/P11 -> MTS14400 SL2-28 L1/P11
+	 L10/P11 -> MTS14400 SL2-28 L2/P11
+	 L11/P11 -> MTS14400 SL2-29 L1/P11
+	 L12/P11 -> MTS14400 SL2-29 L2/P11
+	 L1/P12 -> MTS14400 SL2-30 L1/P11
+	 L2/P12 -> MTS14400 SL2-30 L2/P11
+	 L3/P12 -> MTS14400 SL2-31 L1/P11
+	 L4/P12 -> MTS14400 SL2-31 L2/P11
+	 L5/P12 -> MTS14400 SL2-32 L1/P11
+	 L6/P12 -> MTS14400 SL2-32 L2/P11
+	 L7/P12 -> MTS14400 SL2-33 L1/P11
+	 L8/P12 -> MTS14400 SL2-33 L2/P11
+	 L9/P12 -> MTS14400 SL2-34 L1/P11
+	 L10/P12 -> MTS14400 SL2-34 L2/P11
+	 L11/P12 -> MTS14400 SL2-35 L1/P11
+	 L12/P12 -> MTS14400 SL2-35 L2/P11
+
+MTS14400 SL1-90
+	 L1/P1 -> MT23108 H-8481 P1
+	 L2/P1 -> MT23108 H-8482 P1
+	 L3/P1 -> MT23108 H-8483 P1
+	 L4/P1 -> MT23108 H-8484 P1
+	 L5/P1 -> MT23108 H-8485 P1
+	 L6/P1 -> MT23108 H-8486 P1
+	 L7/P1 -> MT23108 H-8487 P1
+	 L8/P1 -> MT23108 H-8488 P1
+	 L9/P1 -> MT23108 H-8489 P1
+	 L10/P1 -> MT23108 H-8490 P1
+	 L11/P1 -> MT23108 H-8491 P1
+	 L12/P1 -> MT23108 H-8492 P1
+	 L1/P2 -> MT23108 H-8493 P1
+	 L2/P2 -> MT23108 H-8494 P1
+	 L3/P2 -> MT23108 H-8495 P1
+	 L4/P2 -> MT23108 H-8496 P1
+	 L5/P2 -> MT23108 H-8497 P1
+	 L6/P2 -> MT23108 H-8498 P1
+	 L7/P2 -> MT23108 H-8499 P1
+	 L8/P2 -> MT23108 H-8500 P1
+	 L9/P2 -> MT23108 H-8501 P1
+	 L10/P2 -> MT23108 H-8502 P1
+	 L11/P2 -> MT23108 H-8503 P1
+	 L12/P2 -> MT23108 H-8504 P1
+	 L1/P3 -> MT23108 H-8505 P1
+	 L2/P3 -> MT23108 H-8506 P1
+	 L3/P3 -> MT23108 H-8507 P1
+	 L4/P3 -> MT23108 H-8508 P1
+	 L5/P3 -> MT23108 H-8509 P1
+	 L6/P3 -> MT23108 H-8510 P1
+	 L7/P3 -> MT23108 H-8511 P1
+	 L8/P3 -> MT23108 H-8512 P1
+	 L9/P3 -> MT23108 H-8513 P1
+	 L10/P3 -> MT23108 H-8514 P1
+	 L11/P3 -> MT23108 H-8515 P1
+	 L12/P3 -> MT23108 H-8516 P1
+	 L1/P4 -> MT23108 H-8517 P1
+	 L2/P4 -> MT23108 H-8518 P1
+	 L3/P4 -> MT23108 H-8519 P1
+	 L4/P4 -> MT23108 H-8520 P1
+	 L5/P4 -> MT23108 H-8521 P1
+	 L6/P4 -> MT23108 H-8522 P1
+	 L7/P4 -> MT23108 H-8523 P1
+	 L8/P4 -> MT23108 H-8524 P1
+	 L9/P4 -> MT23108 H-8525 P1
+	 L10/P4 -> MT23108 H-8526 P1
+	 L11/P4 -> MT23108 H-8527 P1
+	 L12/P4 -> MT23108 H-8528 P1
+	 L1/P5 -> MT23108 H-8529 P1
+	 L2/P5 -> MT23108 H-8530 P1
+	 L3/P5 -> MT23108 H-8531 P1
+	 L4/P5 -> MT23108 H-8532 P1
+	 L5/P5 -> MT23108 H-8533 P1
+	 L6/P5 -> MT23108 H-8534 P1
+	 L7/P5 -> MT23108 H-8535 P1
+	 L8/P5 -> MT23108 H-8536 P1
+	 L9/P5 -> MT23108 H-8537 P1
+	 L10/P5 -> MT23108 H-8538 P1
+	 L11/P5 -> MT23108 H-8539 P1
+	 L12/P5 -> MT23108 H-8540 P1
+	 L1/P6 -> MT23108 H-8541 P1
+	 L2/P6 -> MT23108 H-8542 P1
+	 L3/P6 -> MT23108 H-8543 P1
+	 L4/P6 -> MT23108 H-8544 P1
+	 L5/P6 -> MT23108 H-8545 P1
+	 L6/P6 -> MT23108 H-8546 P1
+	 L7/P6 -> MT23108 H-8547 P1
+	 L8/P6 -> MT23108 H-8548 P1
+	 L9/P6 -> MT23108 H-8549 P1
+	 L10/P6 -> MT23108 H-8550 P1
+	 L11/P6 -> MT23108 H-8551 P1
+	 L12/P6 -> MT23108 H-8552 P1
+	 L1/P7 -> MT23108 H-8553 P1
+	 L2/P7 -> MT23108 H-8554 P1
+	 L3/P7 -> MT23108 H-8555 P1
+	 L4/P7 -> MT23108 H-8556 P1
+	 L5/P7 -> MT23108 H-8557 P1
+	 L6/P7 -> MT23108 H-8558 P1
+	 L7/P7 -> MT23108 H-8559 P1
+	 L8/P7 -> MT23108 H-8560 P1
+	 L9/P7 -> MT23108 H-8561 P1
+	 L10/P7 -> MT23108 H-8562 P1
+	 L11/P7 -> MT23108 H-8563 P1
+	 L12/P7 -> MT23108 H-8564 P1
+	 L1/P8 -> MT23108 H-8565 P1
+	 L2/P8 -> MT23108 H-8566 P1
+	 L3/P8 -> MT23108 H-8567 P1
+	 L4/P8 -> MT23108 H-8568 P1
+	 L5/P8 -> MT23108 H-8569 P1
+	 L6/P8 -> MT23108 H-8570 P1
+	 L7/P8 -> MT23108 H-8571 P1
+	 L8/P8 -> MT23108 H-8572 P1
+	 L9/P8 -> MT23108 H-8573 P1
+	 L10/P8 -> MT23108 H-8574 P1
+	 L11/P8 -> MT23108 H-8575 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P11
+	 L2/P9 -> MTS14400 SL2-2 L4/P11
+	 L3/P9 -> MTS14400 SL2-3 L3/P11
+	 L4/P9 -> MTS14400 SL2-3 L4/P11
+	 L5/P9 -> MTS14400 SL2-4 L3/P11
+	 L6/P9 -> MTS14400 SL2-4 L4/P11
+	 L7/P9 -> MTS14400 SL2-5 L3/P11
+	 L8/P9 -> MTS14400 SL2-5 L4/P11
+	 L9/P9 -> MTS14400 SL2-6 L3/P11
+	 L10/P9 -> MTS14400 SL2-6 L4/P11
+	 L11/P9 -> MTS14400 SL2-7 L3/P11
+	 L12/P9 -> MTS14400 SL2-7 L4/P11
+	 L1/P10 -> MTS14400 SL2-8 L3/P11
+	 L2/P10 -> MTS14400 SL2-8 L4/P11
+	 L3/P10 -> MTS14400 SL2-9 L3/P11
+	 L4/P10 -> MTS14400 SL2-9 L4/P11
+	 L5/P10 -> MTS14400 SL2-10 L3/P11
+	 L6/P10 -> MTS14400 SL2-10 L4/P11
+	 L7/P10 -> MTS14400 SL2-11 L3/P11
+	 L8/P10 -> MTS14400 SL2-11 L4/P11
+	 L9/P10 -> MTS14400 SL2-12 L3/P11
+	 L10/P10 -> MTS14400 SL2-12 L4/P11
+	 L11/P10 -> MTS14400 SL2-13 L3/P11
+	 L12/P10 -> MTS14400 SL2-13 L4/P11
+	 L1/P11 -> MTS14400 SL2-14 L3/P11
+	 L2/P11 -> MTS14400 SL2-14 L4/P11
+	 L3/P11 -> MTS14400 SL2-15 L3/P11
+	 L4/P11 -> MTS14400 SL2-15 L4/P11
+	 L5/P11 -> MTS14400 SL2-16 L3/P11
+	 L6/P11 -> MTS14400 SL2-17 L3/P11
+	 L7/P11 -> MTS14400 SL2-18 L3/P11
+	 L8/P11 -> MTS14400 SL2-19 L3/P11
+	 L9/P11 -> MTS14400 SL2-20 L3/P11
+	 L10/P11 -> MTS14400 SL2-21 L3/P11
+	 L11/P11 -> MTS14400 SL2-22 L3/P11
+	 L12/P11 -> MTS14400 SL2-23 L3/P11
+	 L1/P12 -> MTS14400 SL2-24 L3/P11
+	 L2/P12 -> MTS14400 SL2-25 L3/P11
+	 L3/P12 -> MTS14400 SL2-26 L3/P11
+	 L4/P12 -> MTS14400 SL2-27 L3/P11
+	 L5/P12 -> MTS14400 SL2-28 L3/P11
+	 L6/P12 -> MTS14400 SL2-29 L3/P11
+	 L7/P12 -> MTS14400 SL2-30 L3/P11
+	 L8/P12 -> MTS14400 SL2-31 L3/P11
+	 L9/P12 -> MTS14400 SL2-32 L3/P11
+	 L10/P12 -> MTS14400 SL2-33 L3/P11
+	 L11/P12 -> MTS14400 SL2-34 L3/P11
+	 L12/P12 -> MTS14400 SL2-35 L3/P11
+
+MTS14400 SL1-91
+	 L1/P1 -> MT23108 H-8576 P1
+	 L2/P1 -> MT23108 H-8577 P1
+	 L3/P1 -> MT23108 H-8578 P1
+	 L4/P1 -> MT23108 H-8579 P1
+	 L5/P1 -> MT23108 H-8580 P1
+	 L6/P1 -> MT23108 H-8581 P1
+	 L7/P1 -> MT23108 H-8582 P1
+	 L8/P1 -> MT23108 H-8583 P1
+	 L9/P1 -> MT23108 H-8584 P1
+	 L10/P1 -> MT23108 H-8585 P1
+	 L11/P1 -> MT23108 H-8586 P1
+	 L12/P1 -> MT23108 H-8587 P1
+	 L1/P2 -> MT23108 H-8588 P1
+	 L2/P2 -> MT23108 H-8589 P1
+	 L3/P2 -> MT23108 H-8590 P1
+	 L4/P2 -> MT23108 H-8591 P1
+	 L5/P2 -> MT23108 H-8592 P1
+	 L6/P2 -> MT23108 H-8593 P1
+	 L7/P2 -> MT23108 H-8594 P1
+	 L8/P2 -> MT23108 H-8595 P1
+	 L9/P2 -> MT23108 H-8596 P1
+	 L10/P2 -> MT23108 H-8597 P1
+	 L11/P2 -> MT23108 H-8598 P1
+	 L12/P2 -> MT23108 H-8599 P1
+	 L1/P3 -> MT23108 H-8600 P1
+	 L2/P3 -> MT23108 H-8601 P1
+	 L3/P3 -> MT23108 H-8602 P1
+	 L4/P3 -> MT23108 H-8603 P1
+	 L5/P3 -> MT23108 H-8604 P1
+	 L6/P3 -> MT23108 H-8605 P1
+	 L7/P3 -> MT23108 H-8606 P1
+	 L8/P3 -> MT23108 H-8607 P1
+	 L9/P3 -> MT23108 H-8608 P1
+	 L10/P3 -> MT23108 H-8609 P1
+	 L11/P3 -> MT23108 H-8610 P1
+	 L12/P3 -> MT23108 H-8611 P1
+	 L1/P4 -> MT23108 H-8612 P1
+	 L2/P4 -> MT23108 H-8613 P1
+	 L3/P4 -> MT23108 H-8614 P1
+	 L4/P4 -> MT23108 H-8615 P1
+	 L5/P4 -> MT23108 H-8616 P1
+	 L6/P4 -> MT23108 H-8617 P1
+	 L7/P4 -> MT23108 H-8618 P1
+	 L8/P4 -> MT23108 H-8619 P1
+	 L9/P4 -> MT23108 H-8620 P1
+	 L10/P4 -> MT23108 H-8621 P1
+	 L11/P4 -> MT23108 H-8622 P1
+	 L12/P4 -> MT23108 H-8623 P1
+	 L1/P5 -> MT23108 H-8624 P1
+	 L2/P5 -> MT23108 H-8625 P1
+	 L3/P5 -> MT23108 H-8626 P1
+	 L4/P5 -> MT23108 H-8627 P1
+	 L5/P5 -> MT23108 H-8628 P1
+	 L6/P5 -> MT23108 H-8629 P1
+	 L7/P5 -> MT23108 H-8630 P1
+	 L8/P5 -> MT23108 H-8631 P1
+	 L9/P5 -> MT23108 H-8632 P1
+	 L10/P5 -> MT23108 H-8633 P1
+	 L11/P5 -> MT23108 H-8634 P1
+	 L12/P5 -> MT23108 H-8635 P1
+	 L1/P6 -> MT23108 H-8636 P1
+	 L2/P6 -> MT23108 H-8637 P1
+	 L3/P6 -> MT23108 H-8638 P1
+	 L4/P6 -> MT23108 H-8639 P1
+	 L5/P6 -> MT23108 H-8640 P1
+	 L6/P6 -> MT23108 H-8641 P1
+	 L7/P6 -> MT23108 H-8642 P1
+	 L8/P6 -> MT23108 H-8643 P1
+	 L9/P6 -> MT23108 H-8644 P1
+	 L10/P6 -> MT23108 H-8645 P1
+	 L11/P6 -> MT23108 H-8646 P1
+	 L12/P6 -> MT23108 H-8647 P1
+	 L1/P7 -> MT23108 H-8648 P1
+	 L2/P7 -> MT23108 H-8649 P1
+	 L3/P7 -> MT23108 H-8650 P1
+	 L4/P7 -> MT23108 H-8651 P1
+	 L5/P7 -> MT23108 H-8652 P1
+	 L6/P7 -> MT23108 H-8653 P1
+	 L7/P7 -> MT23108 H-8654 P1
+	 L8/P7 -> MT23108 H-8655 P1
+	 L9/P7 -> MT23108 H-8656 P1
+	 L10/P7 -> MT23108 H-8657 P1
+	 L11/P7 -> MT23108 H-8658 P1
+	 L12/P7 -> MT23108 H-8659 P1
+	 L1/P8 -> MT23108 H-8660 P1
+	 L2/P8 -> MT23108 H-8661 P1
+	 L3/P8 -> MT23108 H-8662 P1
+	 L4/P8 -> MT23108 H-8663 P1
+	 L5/P8 -> MT23108 H-8664 P1
+	 L6/P8 -> MT23108 H-8665 P1
+	 L7/P8 -> MT23108 H-8666 P1
+	 L8/P8 -> MT23108 H-8667 P1
+	 L9/P8 -> MT23108 H-8668 P1
+	 L10/P8 -> MT23108 H-8669 P1
+	 L11/P8 -> MT23108 H-8670 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P11
+	 L2/P9 -> MTS14400 SL2-2 L5/P11
+	 L3/P9 -> MTS14400 SL2-3 L5/P11
+	 L4/P9 -> MTS14400 SL2-4 L5/P11
+	 L5/P9 -> MTS14400 SL2-5 L5/P11
+	 L6/P9 -> MTS14400 SL2-6 L5/P11
+	 L7/P9 -> MTS14400 SL2-7 L5/P11
+	 L8/P9 -> MTS14400 SL2-8 L5/P11
+	 L9/P9 -> MTS14400 SL2-9 L5/P11
+	 L10/P9 -> MTS14400 SL2-10 L5/P11
+	 L11/P9 -> MTS14400 SL2-11 L5/P11
+	 L12/P9 -> MTS14400 SL2-12 L5/P11
+	 L1/P10 -> MTS14400 SL2-13 L5/P11
+	 L2/P10 -> MTS14400 SL2-14 L5/P11
+	 L3/P10 -> MTS14400 SL2-15 L5/P11
+	 L4/P10 -> MTS14400 SL2-16 L4/P11
+	 L5/P10 -> MTS14400 SL2-16 L5/P11
+	 L6/P10 -> MTS14400 SL2-17 L4/P11
+	 L7/P10 -> MTS14400 SL2-17 L5/P11
+	 L8/P10 -> MTS14400 SL2-18 L4/P11
+	 L9/P10 -> MTS14400 SL2-18 L5/P11
+	 L10/P10 -> MTS14400 SL2-19 L4/P11
+	 L11/P10 -> MTS14400 SL2-19 L5/P11
+	 L12/P10 -> MTS14400 SL2-20 L4/P11
+	 L1/P11 -> MTS14400 SL2-20 L5/P11
+	 L2/P11 -> MTS14400 SL2-21 L4/P11
+	 L3/P11 -> MTS14400 SL2-21 L5/P11
+	 L4/P11 -> MTS14400 SL2-22 L4/P11
+	 L5/P11 -> MTS14400 SL2-22 L5/P11
+	 L6/P11 -> MTS14400 SL2-23 L4/P11
+	 L7/P11 -> MTS14400 SL2-23 L5/P11
+	 L8/P11 -> MTS14400 SL2-24 L4/P11
+	 L9/P11 -> MTS14400 SL2-24 L5/P11
+	 L10/P11 -> MTS14400 SL2-25 L4/P11
+	 L11/P11 -> MTS14400 SL2-25 L5/P11
+	 L12/P11 -> MTS14400 SL2-26 L4/P11
+	 L1/P12 -> MTS14400 SL2-26 L5/P11
+	 L2/P12 -> MTS14400 SL2-27 L4/P11
+	 L3/P12 -> MTS14400 SL2-27 L5/P11
+	 L4/P12 -> MTS14400 SL2-28 L4/P11
+	 L5/P12 -> MTS14400 SL2-28 L5/P11
+	 L6/P12 -> MTS14400 SL2-29 L4/P11
+	 L7/P12 -> MTS14400 SL2-30 L4/P11
+	 L8/P12 -> MTS14400 SL2-31 L4/P11
+	 L9/P12 -> MTS14400 SL2-32 L4/P11
+	 L10/P12 -> MTS14400 SL2-33 L4/P11
+	 L11/P12 -> MTS14400 SL2-34 L4/P11
+	 L12/P12 -> MTS14400 SL2-35 L4/P11
+
+MTS14400 SL1-92
+	 L1/P1 -> MT23108 H-8671 P1
+	 L2/P1 -> MT23108 H-8672 P1
+	 L3/P1 -> MT23108 H-8673 P1
+	 L4/P1 -> MT23108 H-8674 P1
+	 L5/P1 -> MT23108 H-8675 P1
+	 L6/P1 -> MT23108 H-8676 P1
+	 L7/P1 -> MT23108 H-8677 P1
+	 L8/P1 -> MT23108 H-8678 P1
+	 L9/P1 -> MT23108 H-8679 P1
+	 L10/P1 -> MT23108 H-8680 P1
+	 L11/P1 -> MT23108 H-8681 P1
+	 L12/P1 -> MT23108 H-8682 P1
+	 L1/P2 -> MT23108 H-8683 P1
+	 L2/P2 -> MT23108 H-8684 P1
+	 L3/P2 -> MT23108 H-8685 P1
+	 L4/P2 -> MT23108 H-8686 P1
+	 L5/P2 -> MT23108 H-8687 P1
+	 L6/P2 -> MT23108 H-8688 P1
+	 L7/P2 -> MT23108 H-8689 P1
+	 L8/P2 -> MT23108 H-8690 P1
+	 L9/P2 -> MT23108 H-8691 P1
+	 L10/P2 -> MT23108 H-8692 P1
+	 L11/P2 -> MT23108 H-8693 P1
+	 L12/P2 -> MT23108 H-8694 P1
+	 L1/P3 -> MT23108 H-8695 P1
+	 L2/P3 -> MT23108 H-8696 P1
+	 L3/P3 -> MT23108 H-8697 P1
+	 L4/P3 -> MT23108 H-8698 P1
+	 L5/P3 -> MT23108 H-8699 P1
+	 L6/P3 -> MT23108 H-8700 P1
+	 L7/P3 -> MT23108 H-8701 P1
+	 L8/P3 -> MT23108 H-8702 P1
+	 L9/P3 -> MT23108 H-8703 P1
+	 L10/P3 -> MT23108 H-8704 P1
+	 L11/P3 -> MT23108 H-8705 P1
+	 L12/P3 -> MT23108 H-8706 P1
+	 L1/P4 -> MT23108 H-8707 P1
+	 L2/P4 -> MT23108 H-8708 P1
+	 L3/P4 -> MT23108 H-8709 P1
+	 L4/P4 -> MT23108 H-8710 P1
+	 L5/P4 -> MT23108 H-8711 P1
+	 L6/P4 -> MT23108 H-8712 P1
+	 L7/P4 -> MT23108 H-8713 P1
+	 L8/P4 -> MT23108 H-8714 P1
+	 L9/P4 -> MT23108 H-8715 P1
+	 L10/P4 -> MT23108 H-8716 P1
+	 L11/P4 -> MT23108 H-8717 P1
+	 L12/P4 -> MT23108 H-8718 P1
+	 L1/P5 -> MT23108 H-8719 P1
+	 L2/P5 -> MT23108 H-8720 P1
+	 L3/P5 -> MT23108 H-8721 P1
+	 L4/P5 -> MT23108 H-8722 P1
+	 L5/P5 -> MT23108 H-8723 P1
+	 L6/P5 -> MT23108 H-8724 P1
+	 L7/P5 -> MT23108 H-8725 P1
+	 L8/P5 -> MT23108 H-8726 P1
+	 L9/P5 -> MT23108 H-8727 P1
+	 L10/P5 -> MT23108 H-8728 P1
+	 L11/P5 -> MT23108 H-8729 P1
+	 L12/P5 -> MT23108 H-8730 P1
+	 L1/P6 -> MT23108 H-8731 P1
+	 L2/P6 -> MT23108 H-8732 P1
+	 L3/P6 -> MT23108 H-8733 P1
+	 L4/P6 -> MT23108 H-8734 P1
+	 L5/P6 -> MT23108 H-8735 P1
+	 L6/P6 -> MT23108 H-8736 P1
+	 L7/P6 -> MT23108 H-8737 P1
+	 L8/P6 -> MT23108 H-8738 P1
+	 L9/P6 -> MT23108 H-8739 P1
+	 L10/P6 -> MT23108 H-8740 P1
+	 L11/P6 -> MT23108 H-8741 P1
+	 L12/P6 -> MT23108 H-8742 P1
+	 L1/P7 -> MT23108 H-8743 P1
+	 L2/P7 -> MT23108 H-8744 P1
+	 L3/P7 -> MT23108 H-8745 P1
+	 L4/P7 -> MT23108 H-8746 P1
+	 L5/P7 -> MT23108 H-8747 P1
+	 L6/P7 -> MT23108 H-8748 P1
+	 L7/P7 -> MT23108 H-8749 P1
+	 L8/P7 -> MT23108 H-8750 P1
+	 L9/P7 -> MT23108 H-8751 P1
+	 L10/P7 -> MT23108 H-8752 P1
+	 L11/P7 -> MT23108 H-8753 P1
+	 L12/P7 -> MT23108 H-8754 P1
+	 L1/P8 -> MT23108 H-8755 P1
+	 L2/P8 -> MT23108 H-8756 P1
+	 L3/P8 -> MT23108 H-8757 P1
+	 L4/P8 -> MT23108 H-8758 P1
+	 L5/P8 -> MT23108 H-8759 P1
+	 L6/P8 -> MT23108 H-8760 P1
+	 L7/P8 -> MT23108 H-8761 P1
+	 L8/P8 -> MT23108 H-8762 P1
+	 L9/P8 -> MT23108 H-8763 P1
+	 L10/P8 -> MT23108 H-8764 P1
+	 L11/P8 -> MT23108 H-8765 P1
+	 L1/P9 -> MTS14400 SL2-1 L6/P11
+	 L2/P9 -> MTS14400 SL2-1 L7/P11
+	 L3/P9 -> MTS14400 SL2-2 L6/P11
+	 L4/P9 -> MTS14400 SL2-2 L7/P11
+	 L5/P9 -> MTS14400 SL2-3 L6/P11
+	 L6/P9 -> MTS14400 SL2-3 L7/P11
+	 L7/P9 -> MTS14400 SL2-4 L6/P11
+	 L8/P9 -> MTS14400 SL2-4 L7/P11
+	 L9/P9 -> MTS14400 SL2-5 L6/P11
+	 L10/P9 -> MTS14400 SL2-5 L7/P11
+	 L11/P9 -> MTS14400 SL2-6 L6/P11
+	 L12/P9 -> MTS14400 SL2-6 L7/P11
+	 L1/P10 -> MTS14400 SL2-7 L6/P11
+	 L2/P10 -> MTS14400 SL2-8 L6/P11
+	 L3/P10 -> MTS14400 SL2-9 L6/P11
+	 L4/P10 -> MTS14400 SL2-10 L6/P11
+	 L5/P10 -> MTS14400 SL2-11 L6/P11
+	 L6/P10 -> MTS14400 SL2-12 L6/P11
+	 L7/P10 -> MTS14400 SL2-13 L6/P11
+	 L8/P10 -> MTS14400 SL2-14 L6/P11
+	 L9/P10 -> MTS14400 SL2-15 L6/P11
+	 L10/P10 -> MTS14400 SL2-16 L6/P11
+	 L11/P10 -> MTS14400 SL2-17 L6/P11
+	 L12/P10 -> MTS14400 SL2-18 L6/P11
+	 L1/P11 -> MTS14400 SL2-19 L6/P11
+	 L2/P11 -> MTS14400 SL2-20 L6/P11
+	 L3/P11 -> MTS14400 SL2-21 L6/P11
+	 L4/P11 -> MTS14400 SL2-22 L6/P11
+	 L5/P11 -> MTS14400 SL2-23 L6/P11
+	 L6/P11 -> MTS14400 SL2-24 L6/P11
+	 L7/P11 -> MTS14400 SL2-25 L6/P11
+	 L8/P11 -> MTS14400 SL2-26 L6/P11
+	 L9/P11 -> MTS14400 SL2-27 L6/P11
+	 L10/P11 -> MTS14400 SL2-28 L6/P11
+	 L11/P11 -> MTS14400 SL2-29 L5/P11
+	 L12/P11 -> MTS14400 SL2-29 L6/P11
+	 L1/P12 -> MTS14400 SL2-30 L5/P11
+	 L2/P12 -> MTS14400 SL2-30 L6/P11
+	 L3/P12 -> MTS14400 SL2-31 L5/P11
+	 L4/P12 -> MTS14400 SL2-31 L6/P11
+	 L5/P12 -> MTS14400 SL2-32 L5/P11
+	 L6/P12 -> MTS14400 SL2-32 L6/P11
+	 L7/P12 -> MTS14400 SL2-33 L5/P11
+	 L8/P12 -> MTS14400 SL2-33 L6/P11
+	 L9/P12 -> MTS14400 SL2-34 L5/P11
+	 L10/P12 -> MTS14400 SL2-34 L6/P11
+	 L11/P12 -> MTS14400 SL2-35 L5/P11
+	 L12/P12 -> MTS14400 SL2-35 L6/P11
+
+MTS14400 SL1-93
+	 L1/P1 -> MT23108 H-8766 P1
+	 L2/P1 -> MT23108 H-8767 P1
+	 L3/P1 -> MT23108 H-8768 P1
+	 L4/P1 -> MT23108 H-8769 P1
+	 L5/P1 -> MT23108 H-8770 P1
+	 L6/P1 -> MT23108 H-8771 P1
+	 L7/P1 -> MT23108 H-8772 P1
+	 L8/P1 -> MT23108 H-8773 P1
+	 L9/P1 -> MT23108 H-8774 P1
+	 L10/P1 -> MT23108 H-8775 P1
+	 L11/P1 -> MT23108 H-8776 P1
+	 L12/P1 -> MT23108 H-8777 P1
+	 L1/P2 -> MT23108 H-8778 P1
+	 L2/P2 -> MT23108 H-8779 P1
+	 L3/P2 -> MT23108 H-8780 P1
+	 L4/P2 -> MT23108 H-8781 P1
+	 L5/P2 -> MT23108 H-8782 P1
+	 L6/P2 -> MT23108 H-8783 P1
+	 L7/P2 -> MT23108 H-8784 P1
+	 L8/P2 -> MT23108 H-8785 P1
+	 L9/P2 -> MT23108 H-8786 P1
+	 L10/P2 -> MT23108 H-8787 P1
+	 L11/P2 -> MT23108 H-8788 P1
+	 L12/P2 -> MT23108 H-8789 P1
+	 L1/P3 -> MT23108 H-8790 P1
+	 L2/P3 -> MT23108 H-8791 P1
+	 L3/P3 -> MT23108 H-8792 P1
+	 L4/P3 -> MT23108 H-8793 P1
+	 L5/P3 -> MT23108 H-8794 P1
+	 L6/P3 -> MT23108 H-8795 P1
+	 L7/P3 -> MT23108 H-8796 P1
+	 L8/P3 -> MT23108 H-8797 P1
+	 L9/P3 -> MT23108 H-8798 P1
+	 L10/P3 -> MT23108 H-8799 P1
+	 L11/P3 -> MT23108 H-8800 P1
+	 L12/P3 -> MT23108 H-8801 P1
+	 L1/P4 -> MT23108 H-8802 P1
+	 L2/P4 -> MT23108 H-8803 P1
+	 L3/P4 -> MT23108 H-8804 P1
+	 L4/P4 -> MT23108 H-8805 P1
+	 L5/P4 -> MT23108 H-8806 P1
+	 L6/P4 -> MT23108 H-8807 P1
+	 L7/P4 -> MT23108 H-8808 P1
+	 L8/P4 -> MT23108 H-8809 P1
+	 L9/P4 -> MT23108 H-8810 P1
+	 L10/P4 -> MT23108 H-8811 P1
+	 L11/P4 -> MT23108 H-8812 P1
+	 L12/P4 -> MT23108 H-8813 P1
+	 L1/P5 -> MT23108 H-8814 P1
+	 L2/P5 -> MT23108 H-8815 P1
+	 L3/P5 -> MT23108 H-8816 P1
+	 L4/P5 -> MT23108 H-8817 P1
+	 L5/P5 -> MT23108 H-8818 P1
+	 L6/P5 -> MT23108 H-8819 P1
+	 L7/P5 -> MT23108 H-8820 P1
+	 L8/P5 -> MT23108 H-8821 P1
+	 L9/P5 -> MT23108 H-8822 P1
+	 L10/P5 -> MT23108 H-8823 P1
+	 L11/P5 -> MT23108 H-8824 P1
+	 L12/P5 -> MT23108 H-8825 P1
+	 L1/P6 -> MT23108 H-8826 P1
+	 L2/P6 -> MT23108 H-8827 P1
+	 L3/P6 -> MT23108 H-8828 P1
+	 L4/P6 -> MT23108 H-8829 P1
+	 L5/P6 -> MT23108 H-8830 P1
+	 L6/P6 -> MT23108 H-8831 P1
+	 L7/P6 -> MT23108 H-8832 P1
+	 L8/P6 -> MT23108 H-8833 P1
+	 L9/P6 -> MT23108 H-8834 P1
+	 L10/P6 -> MT23108 H-8835 P1
+	 L11/P6 -> MT23108 H-8836 P1
+	 L12/P6 -> MT23108 H-8837 P1
+	 L1/P7 -> MT23108 H-8838 P1
+	 L2/P7 -> MT23108 H-8839 P1
+	 L3/P7 -> MT23108 H-8840 P1
+	 L4/P7 -> MT23108 H-8841 P1
+	 L5/P7 -> MT23108 H-8842 P1
+	 L6/P7 -> MT23108 H-8843 P1
+	 L7/P7 -> MT23108 H-8844 P1
+	 L8/P7 -> MT23108 H-8845 P1
+	 L9/P7 -> MT23108 H-8846 P1
+	 L10/P7 -> MT23108 H-8847 P1
+	 L11/P7 -> MT23108 H-8848 P1
+	 L12/P7 -> MT23108 H-8849 P1
+	 L1/P8 -> MT23108 H-8850 P1
+	 L2/P8 -> MT23108 H-8851 P1
+	 L3/P8 -> MT23108 H-8852 P1
+	 L4/P8 -> MT23108 H-8853 P1
+	 L5/P8 -> MT23108 H-8854 P1
+	 L6/P8 -> MT23108 H-8855 P1
+	 L7/P8 -> MT23108 H-8856 P1
+	 L8/P8 -> MT23108 H-8857 P1
+	 L9/P8 -> MT23108 H-8858 P1
+	 L10/P8 -> MT23108 H-8859 P1
+	 L11/P8 -> MT23108 H-8860 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P11
+	 L2/P9 -> MTS14400 SL2-2 L8/P11
+	 L3/P9 -> MTS14400 SL2-3 L8/P11
+	 L4/P9 -> MTS14400 SL2-4 L8/P11
+	 L5/P9 -> MTS14400 SL2-5 L8/P11
+	 L6/P9 -> MTS14400 SL2-6 L8/P11
+	 L7/P9 -> MTS14400 SL2-7 L7/P11
+	 L8/P9 -> MTS14400 SL2-7 L8/P11
+	 L9/P9 -> MTS14400 SL2-8 L7/P11
+	 L10/P9 -> MTS14400 SL2-8 L8/P11
+	 L11/P9 -> MTS14400 SL2-9 L7/P11
+	 L12/P9 -> MTS14400 SL2-9 L8/P11
+	 L1/P10 -> MTS14400 SL2-10 L7/P11
+	 L2/P10 -> MTS14400 SL2-10 L8/P11
+	 L3/P10 -> MTS14400 SL2-11 L7/P11
+	 L4/P10 -> MTS14400 SL2-11 L8/P11
+	 L5/P10 -> MTS14400 SL2-12 L7/P11
+	 L6/P10 -> MTS14400 SL2-12 L8/P11
+	 L7/P10 -> MTS14400 SL2-13 L7/P11
+	 L8/P10 -> MTS14400 SL2-13 L8/P11
+	 L9/P10 -> MTS14400 SL2-14 L7/P11
+	 L10/P10 -> MTS14400 SL2-14 L8/P11
+	 L11/P10 -> MTS14400 SL2-15 L7/P11
+	 L12/P10 -> MTS14400 SL2-15 L8/P11
+	 L1/P11 -> MTS14400 SL2-16 L7/P11
+	 L2/P11 -> MTS14400 SL2-16 L8/P11
+	 L3/P11 -> MTS14400 SL2-17 L7/P11
+	 L4/P11 -> MTS14400 SL2-17 L8/P11
+	 L5/P11 -> MTS14400 SL2-18 L7/P11
+	 L6/P11 -> MTS14400 SL2-18 L8/P11
+	 L7/P11 -> MTS14400 SL2-19 L7/P11
+	 L8/P11 -> MTS14400 SL2-19 L8/P11
+	 L9/P11 -> MTS14400 SL2-20 L7/P11
+	 L10/P11 -> MTS14400 SL2-21 L7/P11
+	 L11/P11 -> MTS14400 SL2-22 L7/P11
+	 L12/P11 -> MTS14400 SL2-23 L7/P11
+	 L1/P12 -> MTS14400 SL2-24 L7/P11
+	 L2/P12 -> MTS14400 SL2-25 L7/P11
+	 L3/P12 -> MTS14400 SL2-26 L7/P11
+	 L4/P12 -> MTS14400 SL2-27 L7/P11
+	 L5/P12 -> MTS14400 SL2-28 L7/P11
+	 L6/P12 -> MTS14400 SL2-29 L7/P11
+	 L7/P12 -> MTS14400 SL2-30 L7/P11
+	 L8/P12 -> MTS14400 SL2-31 L7/P11
+	 L9/P12 -> MTS14400 SL2-32 L7/P11
+	 L10/P12 -> MTS14400 SL2-33 L7/P11
+	 L11/P12 -> MTS14400 SL2-34 L7/P11
+	 L12/P12 -> MTS14400 SL2-35 L7/P11
+
+MTS14400 SL1-94
+	 L1/P1 -> MT23108 H-8861 P1
+	 L2/P1 -> MT23108 H-8862 P1
+	 L3/P1 -> MT23108 H-8863 P1
+	 L4/P1 -> MT23108 H-8864 P1
+	 L5/P1 -> MT23108 H-8865 P1
+	 L6/P1 -> MT23108 H-8866 P1
+	 L7/P1 -> MT23108 H-8867 P1
+	 L8/P1 -> MT23108 H-8868 P1
+	 L9/P1 -> MT23108 H-8869 P1
+	 L10/P1 -> MT23108 H-8870 P1
+	 L11/P1 -> MT23108 H-8871 P1
+	 L12/P1 -> MT23108 H-8872 P1
+	 L1/P2 -> MT23108 H-8873 P1
+	 L2/P2 -> MT23108 H-8874 P1
+	 L3/P2 -> MT23108 H-8875 P1
+	 L4/P2 -> MT23108 H-8876 P1
+	 L5/P2 -> MT23108 H-8877 P1
+	 L6/P2 -> MT23108 H-8878 P1
+	 L7/P2 -> MT23108 H-8879 P1
+	 L8/P2 -> MT23108 H-8880 P1
+	 L9/P2 -> MT23108 H-8881 P1
+	 L10/P2 -> MT23108 H-8882 P1
+	 L11/P2 -> MT23108 H-8883 P1
+	 L12/P2 -> MT23108 H-8884 P1
+	 L1/P3 -> MT23108 H-8885 P1
+	 L2/P3 -> MT23108 H-8886 P1
+	 L3/P3 -> MT23108 H-8887 P1
+	 L4/P3 -> MT23108 H-8888 P1
+	 L5/P3 -> MT23108 H-8889 P1
+	 L6/P3 -> MT23108 H-8890 P1
+	 L7/P3 -> MT23108 H-8891 P1
+	 L8/P3 -> MT23108 H-8892 P1
+	 L9/P3 -> MT23108 H-8893 P1
+	 L10/P3 -> MT23108 H-8894 P1
+	 L11/P3 -> MT23108 H-8895 P1
+	 L12/P3 -> MT23108 H-8896 P1
+	 L1/P4 -> MT23108 H-8897 P1
+	 L2/P4 -> MT23108 H-8898 P1
+	 L3/P4 -> MT23108 H-8899 P1
+	 L4/P4 -> MT23108 H-8900 P1
+	 L5/P4 -> MT23108 H-8901 P1
+	 L6/P4 -> MT23108 H-8902 P1
+	 L7/P4 -> MT23108 H-8903 P1
+	 L8/P4 -> MT23108 H-8904 P1
+	 L9/P4 -> MT23108 H-8905 P1
+	 L10/P4 -> MT23108 H-8906 P1
+	 L11/P4 -> MT23108 H-8907 P1
+	 L12/P4 -> MT23108 H-8908 P1
+	 L1/P5 -> MT23108 H-8909 P1
+	 L2/P5 -> MT23108 H-8910 P1
+	 L3/P5 -> MT23108 H-8911 P1
+	 L4/P5 -> MT23108 H-8912 P1
+	 L5/P5 -> MT23108 H-8913 P1
+	 L6/P5 -> MT23108 H-8914 P1
+	 L7/P5 -> MT23108 H-8915 P1
+	 L8/P5 -> MT23108 H-8916 P1
+	 L9/P5 -> MT23108 H-8917 P1
+	 L10/P5 -> MT23108 H-8918 P1
+	 L11/P5 -> MT23108 H-8919 P1
+	 L12/P5 -> MT23108 H-8920 P1
+	 L1/P6 -> MT23108 H-8921 P1
+	 L2/P6 -> MT23108 H-8922 P1
+	 L3/P6 -> MT23108 H-8923 P1
+	 L4/P6 -> MT23108 H-8924 P1
+	 L5/P6 -> MT23108 H-8925 P1
+	 L6/P6 -> MT23108 H-8926 P1
+	 L7/P6 -> MT23108 H-8927 P1
+	 L8/P6 -> MT23108 H-8928 P1
+	 L9/P6 -> MT23108 H-8929 P1
+	 L10/P6 -> MT23108 H-8930 P1
+	 L11/P6 -> MT23108 H-8931 P1
+	 L12/P6 -> MT23108 H-8932 P1
+	 L1/P7 -> MT23108 H-8933 P1
+	 L2/P7 -> MT23108 H-8934 P1
+	 L3/P7 -> MT23108 H-8935 P1
+	 L4/P7 -> MT23108 H-8936 P1
+	 L5/P7 -> MT23108 H-8937 P1
+	 L6/P7 -> MT23108 H-8938 P1
+	 L7/P7 -> MT23108 H-8939 P1
+	 L8/P7 -> MT23108 H-8940 P1
+	 L9/P7 -> MT23108 H-8941 P1
+	 L10/P7 -> MT23108 H-8942 P1
+	 L11/P7 -> MT23108 H-8943 P1
+	 L12/P7 -> MT23108 H-8944 P1
+	 L1/P8 -> MT23108 H-8945 P1
+	 L2/P8 -> MT23108 H-8946 P1
+	 L3/P8 -> MT23108 H-8947 P1
+	 L4/P8 -> MT23108 H-8948 P1
+	 L5/P8 -> MT23108 H-8949 P1
+	 L6/P8 -> MT23108 H-8950 P1
+	 L7/P8 -> MT23108 H-8951 P1
+	 L8/P8 -> MT23108 H-8952 P1
+	 L9/P8 -> MT23108 H-8953 P1
+	 L10/P8 -> MT23108 H-8954 P1
+	 L11/P8 -> MT23108 H-8955 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P11
+	 L2/P9 -> MTS14400 SL2-2 L9/P11
+	 L3/P9 -> MTS14400 SL2-3 L9/P11
+	 L4/P9 -> MTS14400 SL2-4 L9/P11
+	 L5/P9 -> MTS14400 SL2-5 L9/P11
+	 L6/P9 -> MTS14400 SL2-6 L9/P11
+	 L7/P9 -> MTS14400 SL2-7 L9/P11
+	 L8/P9 -> MTS14400 SL2-8 L9/P11
+	 L9/P9 -> MTS14400 SL2-9 L9/P11
+	 L10/P9 -> MTS14400 SL2-10 L9/P11
+	 L11/P9 -> MTS14400 SL2-11 L9/P11
+	 L12/P9 -> MTS14400 SL2-12 L9/P11
+	 L1/P10 -> MTS14400 SL2-13 L9/P11
+	 L2/P10 -> MTS14400 SL2-14 L9/P11
+	 L3/P10 -> MTS14400 SL2-15 L9/P11
+	 L4/P10 -> MTS14400 SL2-16 L9/P11
+	 L5/P10 -> MTS14400 SL2-17 L9/P11
+	 L6/P10 -> MTS14400 SL2-18 L9/P11
+	 L7/P10 -> MTS14400 SL2-19 L9/P11
+	 L8/P10 -> MTS14400 SL2-20 L8/P11
+	 L9/P10 -> MTS14400 SL2-20 L9/P11
+	 L10/P10 -> MTS14400 SL2-21 L8/P11
+	 L11/P10 -> MTS14400 SL2-21 L9/P11
+	 L12/P10 -> MTS14400 SL2-22 L8/P11
+	 L1/P11 -> MTS14400 SL2-22 L9/P11
+	 L2/P11 -> MTS14400 SL2-23 L8/P11
+	 L3/P11 -> MTS14400 SL2-23 L9/P11
+	 L4/P11 -> MTS14400 SL2-24 L8/P11
+	 L5/P11 -> MTS14400 SL2-24 L9/P11
+	 L6/P11 -> MTS14400 SL2-25 L8/P11
+	 L7/P11 -> MTS14400 SL2-25 L9/P11
+	 L8/P11 -> MTS14400 SL2-26 L8/P11
+	 L9/P11 -> MTS14400 SL2-26 L9/P11
+	 L10/P11 -> MTS14400 SL2-27 L8/P11
+	 L11/P11 -> MTS14400 SL2-27 L9/P11
+	 L12/P11 -> MTS14400 SL2-28 L8/P11
+	 L1/P12 -> MTS14400 SL2-28 L9/P11
+	 L2/P12 -> MTS14400 SL2-29 L8/P11
+	 L3/P12 -> MTS14400 SL2-29 L9/P11
+	 L4/P12 -> MTS14400 SL2-30 L8/P11
+	 L5/P12 -> MTS14400 SL2-30 L9/P11
+	 L6/P12 -> MTS14400 SL2-31 L8/P11
+	 L7/P12 -> MTS14400 SL2-31 L9/P11
+	 L8/P12 -> MTS14400 SL2-32 L8/P11
+	 L9/P12 -> MTS14400 SL2-32 L9/P11
+	 L10/P12 -> MTS14400 SL2-33 L8/P11
+	 L11/P12 -> MTS14400 SL2-34 L8/P11
+	 L12/P12 -> MTS14400 SL2-35 L8/P11
+
+MTS14400 SL1-95
+	 L1/P1 -> MT23108 H-8956 P1
+	 L2/P1 -> MT23108 H-8957 P1
+	 L3/P1 -> MT23108 H-8958 P1
+	 L4/P1 -> MT23108 H-8959 P1
+	 L5/P1 -> MT23108 H-8960 P1
+	 L6/P1 -> MT23108 H-8961 P1
+	 L7/P1 -> MT23108 H-8962 P1
+	 L8/P1 -> MT23108 H-8963 P1
+	 L9/P1 -> MT23108 H-8964 P1
+	 L10/P1 -> MT23108 H-8965 P1
+	 L11/P1 -> MT23108 H-8966 P1
+	 L12/P1 -> MT23108 H-8967 P1
+	 L1/P2 -> MT23108 H-8968 P1
+	 L2/P2 -> MT23108 H-8969 P1
+	 L3/P2 -> MT23108 H-8970 P1
+	 L4/P2 -> MT23108 H-8971 P1
+	 L5/P2 -> MT23108 H-8972 P1
+	 L6/P2 -> MT23108 H-8973 P1
+	 L7/P2 -> MT23108 H-8974 P1
+	 L8/P2 -> MT23108 H-8975 P1
+	 L9/P2 -> MT23108 H-8976 P1
+	 L10/P2 -> MT23108 H-8977 P1
+	 L11/P2 -> MT23108 H-8978 P1
+	 L12/P2 -> MT23108 H-8979 P1
+	 L1/P3 -> MT23108 H-8980 P1
+	 L2/P3 -> MT23108 H-8981 P1
+	 L3/P3 -> MT23108 H-8982 P1
+	 L4/P3 -> MT23108 H-8983 P1
+	 L5/P3 -> MT23108 H-8984 P1
+	 L6/P3 -> MT23108 H-8985 P1
+	 L7/P3 -> MT23108 H-8986 P1
+	 L8/P3 -> MT23108 H-8987 P1
+	 L9/P3 -> MT23108 H-8988 P1
+	 L10/P3 -> MT23108 H-8989 P1
+	 L11/P3 -> MT23108 H-8990 P1
+	 L12/P3 -> MT23108 H-8991 P1
+	 L1/P4 -> MT23108 H-8992 P1
+	 L2/P4 -> MT23108 H-8993 P1
+	 L3/P4 -> MT23108 H-8994 P1
+	 L4/P4 -> MT23108 H-8995 P1
+	 L5/P4 -> MT23108 H-8996 P1
+	 L6/P4 -> MT23108 H-8997 P1
+	 L7/P4 -> MT23108 H-8998 P1
+	 L8/P4 -> MT23108 H-8999 P1
+	 L9/P4 -> MT23108 H-9000 P1
+	 L10/P4 -> MT23108 H-9001 P1
+	 L11/P4 -> MT23108 H-9002 P1
+	 L12/P4 -> MT23108 H-9003 P1
+	 L1/P5 -> MT23108 H-9004 P1
+	 L2/P5 -> MT23108 H-9005 P1
+	 L3/P5 -> MT23108 H-9006 P1
+	 L4/P5 -> MT23108 H-9007 P1
+	 L5/P5 -> MT23108 H-9008 P1
+	 L6/P5 -> MT23108 H-9009 P1
+	 L7/P5 -> MT23108 H-9010 P1
+	 L8/P5 -> MT23108 H-9011 P1
+	 L9/P5 -> MT23108 H-9012 P1
+	 L10/P5 -> MT23108 H-9013 P1
+	 L11/P5 -> MT23108 H-9014 P1
+	 L12/P5 -> MT23108 H-9015 P1
+	 L1/P6 -> MT23108 H-9016 P1
+	 L2/P6 -> MT23108 H-9017 P1
+	 L3/P6 -> MT23108 H-9018 P1
+	 L4/P6 -> MT23108 H-9019 P1
+	 L5/P6 -> MT23108 H-9020 P1
+	 L6/P6 -> MT23108 H-9021 P1
+	 L7/P6 -> MT23108 H-9022 P1
+	 L8/P6 -> MT23108 H-9023 P1
+	 L9/P6 -> MT23108 H-9024 P1
+	 L10/P6 -> MT23108 H-9025 P1
+	 L11/P6 -> MT23108 H-9026 P1
+	 L12/P6 -> MT23108 H-9027 P1
+	 L1/P7 -> MT23108 H-9028 P1
+	 L2/P7 -> MT23108 H-9029 P1
+	 L3/P7 -> MT23108 H-9030 P1
+	 L4/P7 -> MT23108 H-9031 P1
+	 L5/P7 -> MT23108 H-9032 P1
+	 L6/P7 -> MT23108 H-9033 P1
+	 L7/P7 -> MT23108 H-9034 P1
+	 L8/P7 -> MT23108 H-9035 P1
+	 L9/P7 -> MT23108 H-9036 P1
+	 L10/P7 -> MT23108 H-9037 P1
+	 L11/P7 -> MT23108 H-9038 P1
+	 L12/P7 -> MT23108 H-9039 P1
+	 L1/P8 -> MT23108 H-9040 P1
+	 L2/P8 -> MT23108 H-9041 P1
+	 L3/P8 -> MT23108 H-9042 P1
+	 L4/P8 -> MT23108 H-9043 P1
+	 L5/P8 -> MT23108 H-9044 P1
+	 L6/P8 -> MT23108 H-9045 P1
+	 L7/P8 -> MT23108 H-9046 P1
+	 L8/P8 -> MT23108 H-9047 P1
+	 L9/P8 -> MT23108 H-9048 P1
+	 L10/P8 -> MT23108 H-9049 P1
+	 L11/P8 -> MT23108 H-9050 P1
+	 L1/P9 -> MTS14400 SL2-1 L10/P11
+	 L2/P9 -> MTS14400 SL2-1 L11/P11
+	 L3/P9 -> MTS14400 SL2-2 L10/P11
+	 L4/P9 -> MTS14400 SL2-2 L11/P11
+	 L5/P9 -> MTS14400 SL2-3 L10/P11
+	 L6/P9 -> MTS14400 SL2-3 L11/P11
+	 L7/P9 -> MTS14400 SL2-4 L10/P11
+	 L8/P9 -> MTS14400 SL2-4 L11/P11
+	 L9/P9 -> MTS14400 SL2-5 L10/P11
+	 L10/P9 -> MTS14400 SL2-5 L11/P11
+	 L11/P9 -> MTS14400 SL2-6 L10/P11
+	 L12/P9 -> MTS14400 SL2-6 L11/P11
+	 L1/P10 -> MTS14400 SL2-7 L10/P11
+	 L2/P10 -> MTS14400 SL2-7 L11/P11
+	 L3/P10 -> MTS14400 SL2-8 L10/P11
+	 L4/P10 -> MTS14400 SL2-8 L11/P11
+	 L5/P10 -> MTS14400 SL2-9 L10/P11
+	 L6/P10 -> MTS14400 SL2-9 L11/P11
+	 L7/P10 -> MTS14400 SL2-10 L10/P11
+	 L8/P10 -> MTS14400 SL2-10 L11/P11
+	 L9/P10 -> MTS14400 SL2-11 L10/P11
+	 L10/P10 -> MTS14400 SL2-12 L10/P11
+	 L11/P10 -> MTS14400 SL2-13 L10/P11
+	 L12/P10 -> MTS14400 SL2-14 L10/P11
+	 L1/P11 -> MTS14400 SL2-15 L10/P11
+	 L2/P11 -> MTS14400 SL2-16 L10/P11
+	 L3/P11 -> MTS14400 SL2-17 L10/P11
+	 L4/P11 -> MTS14400 SL2-18 L10/P11
+	 L5/P11 -> MTS14400 SL2-19 L10/P11
+	 L6/P11 -> MTS14400 SL2-20 L10/P11
+	 L7/P11 -> MTS14400 SL2-21 L10/P11
+	 L8/P11 -> MTS14400 SL2-22 L10/P11
+	 L9/P11 -> MTS14400 SL2-23 L10/P11
+	 L10/P11 -> MTS14400 SL2-24 L10/P11
+	 L11/P11 -> MTS14400 SL2-25 L10/P11
+	 L12/P11 -> MTS14400 SL2-26 L10/P11
+	 L1/P12 -> MTS14400 SL2-27 L10/P11
+	 L2/P12 -> MTS14400 SL2-28 L10/P11
+	 L3/P12 -> MTS14400 SL2-29 L10/P11
+	 L4/P12 -> MTS14400 SL2-30 L10/P11
+	 L5/P12 -> MTS14400 SL2-31 L10/P11
+	 L6/P12 -> MTS14400 SL2-32 L10/P11
+	 L7/P12 -> MTS14400 SL2-33 L9/P11
+	 L8/P12 -> MTS14400 SL2-33 L10/P11
+	 L9/P12 -> MTS14400 SL2-34 L9/P11
+	 L10/P12 -> MTS14400 SL2-34 L10/P11
+	 L11/P12 -> MTS14400 SL2-35 L9/P11
+	 L12/P12 -> MTS14400 SL2-35 L10/P11
+
+MTS14400 SL1-96
+	 L1/P1 -> MT23108 H-9051 P1
+	 L2/P1 -> MT23108 H-9052 P1
+	 L3/P1 -> MT23108 H-9053 P1
+	 L4/P1 -> MT23108 H-9054 P1
+	 L5/P1 -> MT23108 H-9055 P1
+	 L6/P1 -> MT23108 H-9056 P1
+	 L7/P1 -> MT23108 H-9057 P1
+	 L8/P1 -> MT23108 H-9058 P1
+	 L9/P1 -> MT23108 H-9059 P1
+	 L10/P1 -> MT23108 H-9060 P1
+	 L11/P1 -> MT23108 H-9061 P1
+	 L12/P1 -> MT23108 H-9062 P1
+	 L1/P2 -> MT23108 H-9063 P1
+	 L2/P2 -> MT23108 H-9064 P1
+	 L3/P2 -> MT23108 H-9065 P1
+	 L4/P2 -> MT23108 H-9066 P1
+	 L5/P2 -> MT23108 H-9067 P1
+	 L6/P2 -> MT23108 H-9068 P1
+	 L7/P2 -> MT23108 H-9069 P1
+	 L8/P2 -> MT23108 H-9070 P1
+	 L9/P2 -> MT23108 H-9071 P1
+	 L10/P2 -> MT23108 H-9072 P1
+	 L11/P2 -> MT23108 H-9073 P1
+	 L12/P2 -> MT23108 H-9074 P1
+	 L1/P3 -> MT23108 H-9075 P1
+	 L2/P3 -> MT23108 H-9076 P1
+	 L3/P3 -> MT23108 H-9077 P1
+	 L4/P3 -> MT23108 H-9078 P1
+	 L5/P3 -> MT23108 H-9079 P1
+	 L6/P3 -> MT23108 H-9080 P1
+	 L7/P3 -> MT23108 H-9081 P1
+	 L8/P3 -> MT23108 H-9082 P1
+	 L9/P3 -> MT23108 H-9083 P1
+	 L10/P3 -> MT23108 H-9084 P1
+	 L11/P3 -> MT23108 H-9085 P1
+	 L12/P3 -> MT23108 H-9086 P1
+	 L1/P4 -> MT23108 H-9087 P1
+	 L2/P4 -> MT23108 H-9088 P1
+	 L3/P4 -> MT23108 H-9089 P1
+	 L4/P4 -> MT23108 H-9090 P1
+	 L5/P4 -> MT23108 H-9091 P1
+	 L6/P4 -> MT23108 H-9092 P1
+	 L7/P4 -> MT23108 H-9093 P1
+	 L8/P4 -> MT23108 H-9094 P1
+	 L9/P4 -> MT23108 H-9095 P1
+	 L10/P4 -> MT23108 H-9096 P1
+	 L11/P4 -> MT23108 H-9097 P1
+	 L12/P4 -> MT23108 H-9098 P1
+	 L1/P5 -> MT23108 H-9099 P1
+	 L2/P5 -> MT23108 H-9100 P1
+	 L3/P5 -> MT23108 H-9101 P1
+	 L4/P5 -> MT23108 H-9102 P1
+	 L5/P5 -> MT23108 H-9103 P1
+	 L6/P5 -> MT23108 H-9104 P1
+	 L7/P5 -> MT23108 H-9105 P1
+	 L8/P5 -> MT23108 H-9106 P1
+	 L9/P5 -> MT23108 H-9107 P1
+	 L10/P5 -> MT23108 H-9108 P1
+	 L11/P5 -> MT23108 H-9109 P1
+	 L12/P5 -> MT23108 H-9110 P1
+	 L1/P6 -> MT23108 H-9111 P1
+	 L2/P6 -> MT23108 H-9112 P1
+	 L3/P6 -> MT23108 H-9113 P1
+	 L4/P6 -> MT23108 H-9114 P1
+	 L5/P6 -> MT23108 H-9115 P1
+	 L6/P6 -> MT23108 H-9116 P1
+	 L7/P6 -> MT23108 H-9117 P1
+	 L8/P6 -> MT23108 H-9118 P1
+	 L9/P6 -> MT23108 H-9119 P1
+	 L10/P6 -> MT23108 H-9120 P1
+	 L11/P6 -> MT23108 H-9121 P1
+	 L12/P6 -> MT23108 H-9122 P1
+	 L1/P7 -> MT23108 H-9123 P1
+	 L2/P7 -> MT23108 H-9124 P1
+	 L3/P7 -> MT23108 H-9125 P1
+	 L4/P7 -> MT23108 H-9126 P1
+	 L5/P7 -> MT23108 H-9127 P1
+	 L6/P7 -> MT23108 H-9128 P1
+	 L7/P7 -> MT23108 H-9129 P1
+	 L8/P7 -> MT23108 H-9130 P1
+	 L9/P7 -> MT23108 H-9131 P1
+	 L10/P7 -> MT23108 H-9132 P1
+	 L11/P7 -> MT23108 H-9133 P1
+	 L12/P7 -> MT23108 H-9134 P1
+	 L1/P8 -> MT23108 H-9135 P1
+	 L2/P8 -> MT23108 H-9136 P1
+	 L3/P8 -> MT23108 H-9137 P1
+	 L4/P8 -> MT23108 H-9138 P1
+	 L5/P8 -> MT23108 H-9139 P1
+	 L6/P8 -> MT23108 H-9140 P1
+	 L7/P8 -> MT23108 H-9141 P1
+	 L8/P8 -> MT23108 H-9142 P1
+	 L9/P8 -> MT23108 H-9143 P1
+	 L10/P8 -> MT23108 H-9144 P1
+	 L11/P8 -> MT23108 H-9145 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P11
+	 L2/P9 -> MTS14400 SL2-2 L12/P11
+	 L3/P9 -> MTS14400 SL2-3 L12/P11
+	 L4/P9 -> MTS14400 SL2-4 L12/P11
+	 L5/P9 -> MTS14400 SL2-5 L12/P11
+	 L6/P9 -> MTS14400 SL2-6 L12/P11
+	 L7/P9 -> MTS14400 SL2-7 L12/P11
+	 L8/P9 -> MTS14400 SL2-8 L12/P11
+	 L9/P9 -> MTS14400 SL2-9 L12/P11
+	 L10/P9 -> MTS14400 SL2-10 L12/P11
+	 L11/P9 -> MTS14400 SL2-11 L11/P11
+	 L12/P9 -> MTS14400 SL2-11 L12/P11
+	 L1/P10 -> MTS14400 SL2-12 L11/P11
+	 L2/P10 -> MTS14400 SL2-12 L12/P11
+	 L3/P10 -> MTS14400 SL2-13 L11/P11
+	 L4/P10 -> MTS14400 SL2-13 L12/P11
+	 L5/P10 -> MTS14400 SL2-14 L11/P11
+	 L6/P10 -> MTS14400 SL2-14 L12/P11
+	 L7/P10 -> MTS14400 SL2-15 L11/P11
+	 L8/P10 -> MTS14400 SL2-15 L12/P11
+	 L9/P10 -> MTS14400 SL2-16 L11/P11
+	 L10/P10 -> MTS14400 SL2-16 L12/P11
+	 L11/P10 -> MTS14400 SL2-17 L11/P11
+	 L12/P10 -> MTS14400 SL2-17 L12/P11
+	 L1/P11 -> MTS14400 SL2-18 L11/P11
+	 L2/P11 -> MTS14400 SL2-18 L12/P11
+	 L3/P11 -> MTS14400 SL2-19 L11/P11
+	 L4/P11 -> MTS14400 SL2-19 L12/P11
+	 L5/P11 -> MTS14400 SL2-20 L11/P11
+	 L6/P11 -> MTS14400 SL2-20 L12/P11
+	 L7/P11 -> MTS14400 SL2-21 L11/P11
+	 L8/P11 -> MTS14400 SL2-21 L12/P11
+	 L9/P11 -> MTS14400 SL2-22 L11/P11
+	 L10/P11 -> MTS14400 SL2-22 L12/P11
+	 L11/P11 -> MTS14400 SL2-23 L11/P11
+	 L12/P11 -> MTS14400 SL2-23 L12/P11
+	 L1/P12 -> MTS14400 SL2-24 L11/P11
+	 L2/P12 -> MTS14400 SL2-25 L11/P11
+	 L3/P12 -> MTS14400 SL2-26 L11/P11
+	 L4/P12 -> MTS14400 SL2-27 L11/P11
+	 L5/P12 -> MTS14400 SL2-28 L11/P11
+	 L6/P12 -> MTS14400 SL2-29 L11/P11
+	 L7/P12 -> MTS14400 SL2-30 L11/P11
+	 L8/P12 -> MTS14400 SL2-31 L11/P11
+	 L9/P12 -> MTS14400 SL2-32 L11/P11
+	 L10/P12 -> MTS14400 SL2-33 L11/P11
+	 L11/P12 -> MTS14400 SL2-34 L11/P11
+	 L12/P12 -> MTS14400 SL2-35 L11/P11
+
+MTS14400 SL1-97
+	 L1/P1 -> MT23108 H-9146 P1
+	 L2/P1 -> MT23108 H-9147 P1
+	 L3/P1 -> MT23108 H-9148 P1
+	 L4/P1 -> MT23108 H-9149 P1
+	 L5/P1 -> MT23108 H-9150 P1
+	 L6/P1 -> MT23108 H-9151 P1
+	 L7/P1 -> MT23108 H-9152 P1
+	 L8/P1 -> MT23108 H-9153 P1
+	 L9/P1 -> MT23108 H-9154 P1
+	 L10/P1 -> MT23108 H-9155 P1
+	 L11/P1 -> MT23108 H-9156 P1
+	 L12/P1 -> MT23108 H-9157 P1
+	 L1/P2 -> MT23108 H-9158 P1
+	 L2/P2 -> MT23108 H-9159 P1
+	 L3/P2 -> MT23108 H-9160 P1
+	 L4/P2 -> MT23108 H-9161 P1
+	 L5/P2 -> MT23108 H-9162 P1
+	 L6/P2 -> MT23108 H-9163 P1
+	 L7/P2 -> MT23108 H-9164 P1
+	 L8/P2 -> MT23108 H-9165 P1
+	 L9/P2 -> MT23108 H-9166 P1
+	 L10/P2 -> MT23108 H-9167 P1
+	 L11/P2 -> MT23108 H-9168 P1
+	 L12/P2 -> MT23108 H-9169 P1
+	 L1/P3 -> MT23108 H-9170 P1
+	 L2/P3 -> MT23108 H-9171 P1
+	 L3/P3 -> MT23108 H-9172 P1
+	 L4/P3 -> MT23108 H-9173 P1
+	 L5/P3 -> MT23108 H-9174 P1
+	 L6/P3 -> MT23108 H-9175 P1
+	 L7/P3 -> MT23108 H-9176 P1
+	 L8/P3 -> MT23108 H-9177 P1
+	 L9/P3 -> MT23108 H-9178 P1
+	 L10/P3 -> MT23108 H-9179 P1
+	 L11/P3 -> MT23108 H-9180 P1
+	 L12/P3 -> MT23108 H-9181 P1
+	 L1/P4 -> MT23108 H-9182 P1
+	 L2/P4 -> MT23108 H-9183 P1
+	 L3/P4 -> MT23108 H-9184 P1
+	 L4/P4 -> MT23108 H-9185 P1
+	 L5/P4 -> MT23108 H-9186 P1
+	 L6/P4 -> MT23108 H-9187 P1
+	 L7/P4 -> MT23108 H-9188 P1
+	 L8/P4 -> MT23108 H-9189 P1
+	 L9/P4 -> MT23108 H-9190 P1
+	 L10/P4 -> MT23108 H-9191 P1
+	 L11/P4 -> MT23108 H-9192 P1
+	 L12/P4 -> MT23108 H-9193 P1
+	 L1/P5 -> MT23108 H-9194 P1
+	 L2/P5 -> MT23108 H-9195 P1
+	 L3/P5 -> MT23108 H-9196 P1
+	 L4/P5 -> MT23108 H-9197 P1
+	 L5/P5 -> MT23108 H-9198 P1
+	 L6/P5 -> MT23108 H-9199 P1
+	 L7/P5 -> MT23108 H-9200 P1
+	 L8/P5 -> MT23108 H-9201 P1
+	 L9/P5 -> MT23108 H-9202 P1
+	 L10/P5 -> MT23108 H-9203 P1
+	 L11/P5 -> MT23108 H-9204 P1
+	 L12/P5 -> MT23108 H-9205 P1
+	 L1/P6 -> MT23108 H-9206 P1
+	 L2/P6 -> MT23108 H-9207 P1
+	 L3/P6 -> MT23108 H-9208 P1
+	 L4/P6 -> MT23108 H-9209 P1
+	 L5/P6 -> MT23108 H-9210 P1
+	 L6/P6 -> MT23108 H-9211 P1
+	 L7/P6 -> MT23108 H-9212 P1
+	 L8/P6 -> MT23108 H-9213 P1
+	 L9/P6 -> MT23108 H-9214 P1
+	 L10/P6 -> MT23108 H-9215 P1
+	 L11/P6 -> MT23108 H-9216 P1
+	 L12/P6 -> MT23108 H-9217 P1
+	 L1/P7 -> MT23108 H-9218 P1
+	 L2/P7 -> MT23108 H-9219 P1
+	 L3/P7 -> MT23108 H-9220 P1
+	 L4/P7 -> MT23108 H-9221 P1
+	 L5/P7 -> MT23108 H-9222 P1
+	 L6/P7 -> MT23108 H-9223 P1
+	 L7/P7 -> MT23108 H-9224 P1
+	 L8/P7 -> MT23108 H-9225 P1
+	 L9/P7 -> MT23108 H-9226 P1
+	 L10/P7 -> MT23108 H-9227 P1
+	 L11/P7 -> MT23108 H-9228 P1
+	 L12/P7 -> MT23108 H-9229 P1
+	 L1/P8 -> MT23108 H-9230 P1
+	 L2/P8 -> MT23108 H-9231 P1
+	 L3/P8 -> MT23108 H-9232 P1
+	 L4/P8 -> MT23108 H-9233 P1
+	 L5/P8 -> MT23108 H-9234 P1
+	 L6/P8 -> MT23108 H-9235 P1
+	 L7/P8 -> MT23108 H-9236 P1
+	 L8/P8 -> MT23108 H-9237 P1
+	 L9/P8 -> MT23108 H-9238 P1
+	 L10/P8 -> MT23108 H-9239 P1
+	 L11/P8 -> MT23108 H-9240 P1
+	 L1/P9 -> MTS14400 SL2-1 L1/P12
+	 L2/P9 -> MTS14400 SL2-1 L2/P12
+	 L3/P9 -> MTS14400 SL2-2 L1/P12
+	 L4/P9 -> MTS14400 SL2-3 L1/P12
+	 L5/P9 -> MTS14400 SL2-4 L1/P12
+	 L6/P9 -> MTS14400 SL2-5 L1/P12
+	 L7/P9 -> MTS14400 SL2-6 L1/P12
+	 L8/P9 -> MTS14400 SL2-7 L1/P12
+	 L9/P9 -> MTS14400 SL2-8 L1/P12
+	 L10/P9 -> MTS14400 SL2-9 L1/P12
+	 L11/P9 -> MTS14400 SL2-10 L1/P12
+	 L12/P9 -> MTS14400 SL2-11 L1/P12
+	 L1/P10 -> MTS14400 SL2-12 L1/P12
+	 L2/P10 -> MTS14400 SL2-13 L1/P12
+	 L3/P10 -> MTS14400 SL2-14 L1/P12
+	 L4/P10 -> MTS14400 SL2-15 L1/P12
+	 L5/P10 -> MTS14400 SL2-16 L1/P12
+	 L6/P10 -> MTS14400 SL2-17 L1/P12
+	 L7/P10 -> MTS14400 SL2-18 L1/P12
+	 L8/P10 -> MTS14400 SL2-19 L1/P12
+	 L9/P10 -> MTS14400 SL2-20 L1/P12
+	 L10/P10 -> MTS14400 SL2-21 L1/P12
+	 L11/P10 -> MTS14400 SL2-22 L1/P12
+	 L12/P10 -> MTS14400 SL2-23 L1/P12
+	 L1/P11 -> MTS14400 SL2-24 L12/P11
+	 L2/P11 -> MTS14400 SL2-24 L1/P12
+	 L3/P11 -> MTS14400 SL2-25 L12/P11
+	 L4/P11 -> MTS14400 SL2-25 L1/P12
+	 L5/P11 -> MTS14400 SL2-26 L12/P11
+	 L6/P11 -> MTS14400 SL2-26 L1/P12
+	 L7/P11 -> MTS14400 SL2-27 L12/P11
+	 L8/P11 -> MTS14400 SL2-27 L1/P12
+	 L9/P11 -> MTS14400 SL2-28 L12/P11
+	 L10/P11 -> MTS14400 SL2-28 L1/P12
+	 L11/P11 -> MTS14400 SL2-29 L12/P11
+	 L12/P11 -> MTS14400 SL2-29 L1/P12
+	 L1/P12 -> MTS14400 SL2-30 L12/P11
+	 L2/P12 -> MTS14400 SL2-30 L1/P12
+	 L3/P12 -> MTS14400 SL2-31 L12/P11
+	 L4/P12 -> MTS14400 SL2-31 L1/P12
+	 L5/P12 -> MTS14400 SL2-32 L12/P11
+	 L6/P12 -> MTS14400 SL2-32 L1/P12
+	 L7/P12 -> MTS14400 SL2-33 L12/P11
+	 L8/P12 -> MTS14400 SL2-33 L1/P12
+	 L9/P12 -> MTS14400 SL2-34 L12/P11
+	 L10/P12 -> MTS14400 SL2-34 L1/P12
+	 L11/P12 -> MTS14400 SL2-35 L12/P11
+	 L12/P12 -> MTS14400 SL2-35 L1/P12
+
+MTS14400 SL1-98
+	 L1/P1 -> MT23108 H-9241 P1
+	 L2/P1 -> MT23108 H-9242 P1
+	 L3/P1 -> MT23108 H-9243 P1
+	 L4/P1 -> MT23108 H-9244 P1
+	 L5/P1 -> MT23108 H-9245 P1
+	 L6/P1 -> MT23108 H-9246 P1
+	 L7/P1 -> MT23108 H-9247 P1
+	 L8/P1 -> MT23108 H-9248 P1
+	 L9/P1 -> MT23108 H-9249 P1
+	 L10/P1 -> MT23108 H-9250 P1
+	 L11/P1 -> MT23108 H-9251 P1
+	 L12/P1 -> MT23108 H-9252 P1
+	 L1/P2 -> MT23108 H-9253 P1
+	 L2/P2 -> MT23108 H-9254 P1
+	 L3/P2 -> MT23108 H-9255 P1
+	 L4/P2 -> MT23108 H-9256 P1
+	 L5/P2 -> MT23108 H-9257 P1
+	 L6/P2 -> MT23108 H-9258 P1
+	 L7/P2 -> MT23108 H-9259 P1
+	 L8/P2 -> MT23108 H-9260 P1
+	 L9/P2 -> MT23108 H-9261 P1
+	 L10/P2 -> MT23108 H-9262 P1
+	 L11/P2 -> MT23108 H-9263 P1
+	 L12/P2 -> MT23108 H-9264 P1
+	 L1/P3 -> MT23108 H-9265 P1
+	 L2/P3 -> MT23108 H-9266 P1
+	 L3/P3 -> MT23108 H-9267 P1
+	 L4/P3 -> MT23108 H-9268 P1
+	 L5/P3 -> MT23108 H-9269 P1
+	 L6/P3 -> MT23108 H-9270 P1
+	 L7/P3 -> MT23108 H-9271 P1
+	 L8/P3 -> MT23108 H-9272 P1
+	 L9/P3 -> MT23108 H-9273 P1
+	 L10/P3 -> MT23108 H-9274 P1
+	 L11/P3 -> MT23108 H-9275 P1
+	 L12/P3 -> MT23108 H-9276 P1
+	 L1/P4 -> MT23108 H-9277 P1
+	 L2/P4 -> MT23108 H-9278 P1
+	 L3/P4 -> MT23108 H-9279 P1
+	 L4/P4 -> MT23108 H-9280 P1
+	 L5/P4 -> MT23108 H-9281 P1
+	 L6/P4 -> MT23108 H-9282 P1
+	 L7/P4 -> MT23108 H-9283 P1
+	 L8/P4 -> MT23108 H-9284 P1
+	 L9/P4 -> MT23108 H-9285 P1
+	 L10/P4 -> MT23108 H-9286 P1
+	 L11/P4 -> MT23108 H-9287 P1
+	 L12/P4 -> MT23108 H-9288 P1
+	 L1/P5 -> MT23108 H-9289 P1
+	 L2/P5 -> MT23108 H-9290 P1
+	 L3/P5 -> MT23108 H-9291 P1
+	 L4/P5 -> MT23108 H-9292 P1
+	 L5/P5 -> MT23108 H-9293 P1
+	 L6/P5 -> MT23108 H-9294 P1
+	 L7/P5 -> MT23108 H-9295 P1
+	 L8/P5 -> MT23108 H-9296 P1
+	 L9/P5 -> MT23108 H-9297 P1
+	 L10/P5 -> MT23108 H-9298 P1
+	 L11/P5 -> MT23108 H-9299 P1
+	 L12/P5 -> MT23108 H-9300 P1
+	 L1/P6 -> MT23108 H-9301 P1
+	 L2/P6 -> MT23108 H-9302 P1
+	 L3/P6 -> MT23108 H-9303 P1
+	 L4/P6 -> MT23108 H-9304 P1
+	 L5/P6 -> MT23108 H-9305 P1
+	 L6/P6 -> MT23108 H-9306 P1
+	 L7/P6 -> MT23108 H-9307 P1
+	 L8/P6 -> MT23108 H-9308 P1
+	 L9/P6 -> MT23108 H-9309 P1
+	 L10/P6 -> MT23108 H-9310 P1
+	 L11/P6 -> MT23108 H-9311 P1
+	 L12/P6 -> MT23108 H-9312 P1
+	 L1/P7 -> MT23108 H-9313 P1
+	 L2/P7 -> MT23108 H-9314 P1
+	 L3/P7 -> MT23108 H-9315 P1
+	 L4/P7 -> MT23108 H-9316 P1
+	 L5/P7 -> MT23108 H-9317 P1
+	 L6/P7 -> MT23108 H-9318 P1
+	 L7/P7 -> MT23108 H-9319 P1
+	 L8/P7 -> MT23108 H-9320 P1
+	 L9/P7 -> MT23108 H-9321 P1
+	 L10/P7 -> MT23108 H-9322 P1
+	 L11/P7 -> MT23108 H-9323 P1
+	 L12/P7 -> MT23108 H-9324 P1
+	 L1/P8 -> MT23108 H-9325 P1
+	 L2/P8 -> MT23108 H-9326 P1
+	 L3/P8 -> MT23108 H-9327 P1
+	 L4/P8 -> MT23108 H-9328 P1
+	 L5/P8 -> MT23108 H-9329 P1
+	 L6/P8 -> MT23108 H-9330 P1
+	 L7/P8 -> MT23108 H-9331 P1
+	 L8/P8 -> MT23108 H-9332 P1
+	 L9/P8 -> MT23108 H-9333 P1
+	 L10/P8 -> MT23108 H-9334 P1
+	 L11/P8 -> MT23108 H-9335 P1
+	 L1/P9 -> MTS14400 SL2-1 L3/P12
+	 L2/P9 -> MTS14400 SL2-2 L2/P12
+	 L3/P9 -> MTS14400 SL2-2 L3/P12
+	 L4/P9 -> MTS14400 SL2-3 L2/P12
+	 L5/P9 -> MTS14400 SL2-3 L3/P12
+	 L6/P9 -> MTS14400 SL2-4 L2/P12
+	 L7/P9 -> MTS14400 SL2-4 L3/P12
+	 L8/P9 -> MTS14400 SL2-5 L2/P12
+	 L9/P9 -> MTS14400 SL2-5 L3/P12
+	 L10/P9 -> MTS14400 SL2-6 L2/P12
+	 L11/P9 -> MTS14400 SL2-6 L3/P12
+	 L12/P9 -> MTS14400 SL2-7 L2/P12
+	 L1/P10 -> MTS14400 SL2-7 L3/P12
+	 L2/P10 -> MTS14400 SL2-8 L2/P12
+	 L3/P10 -> MTS14400 SL2-8 L3/P12
+	 L4/P10 -> MTS14400 SL2-9 L2/P12
+	 L5/P10 -> MTS14400 SL2-9 L3/P12
+	 L6/P10 -> MTS14400 SL2-10 L2/P12
+	 L7/P10 -> MTS14400 SL2-10 L3/P12
+	 L8/P10 -> MTS14400 SL2-11 L2/P12
+	 L9/P10 -> MTS14400 SL2-11 L3/P12
+	 L10/P10 -> MTS14400 SL2-12 L2/P12
+	 L11/P10 -> MTS14400 SL2-12 L3/P12
+	 L12/P10 -> MTS14400 SL2-13 L2/P12
+	 L1/P11 -> MTS14400 SL2-13 L3/P12
+	 L2/P11 -> MTS14400 SL2-14 L2/P12
+	 L3/P11 -> MTS14400 SL2-14 L3/P12
+	 L4/P11 -> MTS14400 SL2-15 L2/P12
+	 L5/P11 -> MTS14400 SL2-16 L2/P12
+	 L6/P11 -> MTS14400 SL2-17 L2/P12
+	 L7/P11 -> MTS14400 SL2-18 L2/P12
+	 L8/P11 -> MTS14400 SL2-19 L2/P12
+	 L9/P11 -> MTS14400 SL2-20 L2/P12
+	 L10/P11 -> MTS14400 SL2-21 L2/P12
+	 L11/P11 -> MTS14400 SL2-22 L2/P12
+	 L12/P11 -> MTS14400 SL2-23 L2/P12
+	 L1/P12 -> MTS14400 SL2-24 L2/P12
+	 L2/P12 -> MTS14400 SL2-25 L2/P12
+	 L3/P12 -> MTS14400 SL2-26 L2/P12
+	 L4/P12 -> MTS14400 SL2-27 L2/P12
+	 L5/P12 -> MTS14400 SL2-28 L2/P12
+	 L6/P12 -> MTS14400 SL2-29 L2/P12
+	 L7/P12 -> MTS14400 SL2-30 L2/P12
+	 L8/P12 -> MTS14400 SL2-31 L2/P12
+	 L9/P12 -> MTS14400 SL2-32 L2/P12
+	 L10/P12 -> MTS14400 SL2-33 L2/P12
+	 L11/P12 -> MTS14400 SL2-34 L2/P12
+	 L12/P12 -> MTS14400 SL2-35 L2/P12
+
+MTS14400 SL1-99
+	 L1/P1 -> MT23108 H-9336 P1
+	 L2/P1 -> MT23108 H-9337 P1
+	 L3/P1 -> MT23108 H-9338 P1
+	 L4/P1 -> MT23108 H-9339 P1
+	 L5/P1 -> MT23108 H-9340 P1
+	 L6/P1 -> MT23108 H-9341 P1
+	 L7/P1 -> MT23108 H-9342 P1
+	 L8/P1 -> MT23108 H-9343 P1
+	 L9/P1 -> MT23108 H-9344 P1
+	 L10/P1 -> MT23108 H-9345 P1
+	 L11/P1 -> MT23108 H-9346 P1
+	 L12/P1 -> MT23108 H-9347 P1
+	 L1/P2 -> MT23108 H-9348 P1
+	 L2/P2 -> MT23108 H-9349 P1
+	 L3/P2 -> MT23108 H-9350 P1
+	 L4/P2 -> MT23108 H-9351 P1
+	 L5/P2 -> MT23108 H-9352 P1
+	 L6/P2 -> MT23108 H-9353 P1
+	 L7/P2 -> MT23108 H-9354 P1
+	 L8/P2 -> MT23108 H-9355 P1
+	 L9/P2 -> MT23108 H-9356 P1
+	 L10/P2 -> MT23108 H-9357 P1
+	 L11/P2 -> MT23108 H-9358 P1
+	 L12/P2 -> MT23108 H-9359 P1
+	 L1/P3 -> MT23108 H-9360 P1
+	 L2/P3 -> MT23108 H-9361 P1
+	 L3/P3 -> MT23108 H-9362 P1
+	 L4/P3 -> MT23108 H-9363 P1
+	 L5/P3 -> MT23108 H-9364 P1
+	 L6/P3 -> MT23108 H-9365 P1
+	 L7/P3 -> MT23108 H-9366 P1
+	 L8/P3 -> MT23108 H-9367 P1
+	 L9/P3 -> MT23108 H-9368 P1
+	 L10/P3 -> MT23108 H-9369 P1
+	 L11/P3 -> MT23108 H-9370 P1
+	 L12/P3 -> MT23108 H-9371 P1
+	 L1/P4 -> MT23108 H-9372 P1
+	 L2/P4 -> MT23108 H-9373 P1
+	 L3/P4 -> MT23108 H-9374 P1
+	 L4/P4 -> MT23108 H-9375 P1
+	 L5/P4 -> MT23108 H-9376 P1
+	 L6/P4 -> MT23108 H-9377 P1
+	 L7/P4 -> MT23108 H-9378 P1
+	 L8/P4 -> MT23108 H-9379 P1
+	 L9/P4 -> MT23108 H-9380 P1
+	 L10/P4 -> MT23108 H-9381 P1
+	 L11/P4 -> MT23108 H-9382 P1
+	 L12/P4 -> MT23108 H-9383 P1
+	 L1/P5 -> MT23108 H-9384 P1
+	 L2/P5 -> MT23108 H-9385 P1
+	 L3/P5 -> MT23108 H-9386 P1
+	 L4/P5 -> MT23108 H-9387 P1
+	 L5/P5 -> MT23108 H-9388 P1
+	 L6/P5 -> MT23108 H-9389 P1
+	 L7/P5 -> MT23108 H-9390 P1
+	 L8/P5 -> MT23108 H-9391 P1
+	 L9/P5 -> MT23108 H-9392 P1
+	 L10/P5 -> MT23108 H-9393 P1
+	 L11/P5 -> MT23108 H-9394 P1
+	 L12/P5 -> MT23108 H-9395 P1
+	 L1/P6 -> MT23108 H-9396 P1
+	 L2/P6 -> MT23108 H-9397 P1
+	 L3/P6 -> MT23108 H-9398 P1
+	 L4/P6 -> MT23108 H-9399 P1
+	 L5/P6 -> MT23108 H-9400 P1
+	 L6/P6 -> MT23108 H-9401 P1
+	 L7/P6 -> MT23108 H-9402 P1
+	 L8/P6 -> MT23108 H-9403 P1
+	 L9/P6 -> MT23108 H-9404 P1
+	 L10/P6 -> MT23108 H-9405 P1
+	 L11/P6 -> MT23108 H-9406 P1
+	 L12/P6 -> MT23108 H-9407 P1
+	 L1/P7 -> MT23108 H-9408 P1
+	 L2/P7 -> MT23108 H-9409 P1
+	 L3/P7 -> MT23108 H-9410 P1
+	 L4/P7 -> MT23108 H-9411 P1
+	 L5/P7 -> MT23108 H-9412 P1
+	 L6/P7 -> MT23108 H-9413 P1
+	 L7/P7 -> MT23108 H-9414 P1
+	 L8/P7 -> MT23108 H-9415 P1
+	 L9/P7 -> MT23108 H-9416 P1
+	 L10/P7 -> MT23108 H-9417 P1
+	 L11/P7 -> MT23108 H-9418 P1
+	 L12/P7 -> MT23108 H-9419 P1
+	 L1/P8 -> MT23108 H-9420 P1
+	 L2/P8 -> MT23108 H-9421 P1
+	 L3/P8 -> MT23108 H-9422 P1
+	 L4/P8 -> MT23108 H-9423 P1
+	 L5/P8 -> MT23108 H-9424 P1
+	 L6/P8 -> MT23108 H-9425 P1
+	 L7/P8 -> MT23108 H-9426 P1
+	 L8/P8 -> MT23108 H-9427 P1
+	 L9/P8 -> MT23108 H-9428 P1
+	 L10/P8 -> MT23108 H-9429 P1
+	 L11/P8 -> MT23108 H-9430 P1
+	 L1/P9 -> MTS14400 SL2-1 L4/P12
+	 L2/P9 -> MTS14400 SL2-2 L4/P12
+	 L3/P9 -> MTS14400 SL2-3 L4/P12
+	 L4/P9 -> MTS14400 SL2-4 L4/P12
+	 L5/P9 -> MTS14400 SL2-5 L4/P12
+	 L6/P9 -> MTS14400 SL2-6 L4/P12
+	 L7/P9 -> MTS14400 SL2-7 L4/P12
+	 L8/P9 -> MTS14400 SL2-8 L4/P12
+	 L9/P9 -> MTS14400 SL2-9 L4/P12
+	 L10/P9 -> MTS14400 SL2-10 L4/P12
+	 L11/P9 -> MTS14400 SL2-11 L4/P12
+	 L12/P9 -> MTS14400 SL2-12 L4/P12
+	 L1/P10 -> MTS14400 SL2-13 L4/P12
+	 L2/P10 -> MTS14400 SL2-14 L4/P12
+	 L3/P10 -> MTS14400 SL2-15 L3/P12
+	 L4/P10 -> MTS14400 SL2-15 L4/P12
+	 L5/P10 -> MTS14400 SL2-16 L3/P12
+	 L6/P10 -> MTS14400 SL2-16 L4/P12
+	 L7/P10 -> MTS14400 SL2-17 L3/P12
+	 L8/P10 -> MTS14400 SL2-17 L4/P12
+	 L9/P10 -> MTS14400 SL2-18 L3/P12
+	 L10/P10 -> MTS14400 SL2-18 L4/P12
+	 L11/P10 -> MTS14400 SL2-19 L3/P12
+	 L12/P10 -> MTS14400 SL2-19 L4/P12
+	 L1/P11 -> MTS14400 SL2-20 L3/P12
+	 L2/P11 -> MTS14400 SL2-20 L4/P12
+	 L3/P11 -> MTS14400 SL2-21 L3/P12
+	 L4/P11 -> MTS14400 SL2-21 L4/P12
+	 L5/P11 -> MTS14400 SL2-22 L3/P12
+	 L6/P11 -> MTS14400 SL2-22 L4/P12
+	 L7/P11 -> MTS14400 SL2-23 L3/P12
+	 L8/P11 -> MTS14400 SL2-23 L4/P12
+	 L9/P11 -> MTS14400 SL2-24 L3/P12
+	 L10/P11 -> MTS14400 SL2-24 L4/P12
+	 L11/P11 -> MTS14400 SL2-25 L3/P12
+	 L12/P11 -> MTS14400 SL2-25 L4/P12
+	 L1/P12 -> MTS14400 SL2-26 L3/P12
+	 L2/P12 -> MTS14400 SL2-26 L4/P12
+	 L3/P12 -> MTS14400 SL2-27 L3/P12
+	 L4/P12 -> MTS14400 SL2-27 L4/P12
+	 L5/P12 -> MTS14400 SL2-28 L3/P12
+	 L6/P12 -> MTS14400 SL2-29 L3/P12
+	 L7/P12 -> MTS14400 SL2-30 L3/P12
+	 L8/P12 -> MTS14400 SL2-31 L3/P12
+	 L9/P12 -> MTS14400 SL2-32 L3/P12
+	 L10/P12 -> MTS14400 SL2-33 L3/P12
+	 L11/P12 -> MTS14400 SL2-34 L3/P12
+	 L12/P12 -> MTS14400 SL2-35 L3/P12
+
+MTS14400 SL1-100
+	 L1/P1 -> MT23108 H-9431 P1
+	 L2/P1 -> MT23108 H-9432 P1
+	 L3/P1 -> MT23108 H-9433 P1
+	 L4/P1 -> MT23108 H-9434 P1
+	 L5/P1 -> MT23108 H-9435 P1
+	 L6/P1 -> MT23108 H-9436 P1
+	 L7/P1 -> MT23108 H-9437 P1
+	 L8/P1 -> MT23108 H-9438 P1
+	 L9/P1 -> MT23108 H-9439 P1
+	 L10/P1 -> MT23108 H-9440 P1
+	 L11/P1 -> MT23108 H-9441 P1
+	 L12/P1 -> MT23108 H-9442 P1
+	 L1/P2 -> MT23108 H-9443 P1
+	 L2/P2 -> MT23108 H-9444 P1
+	 L3/P2 -> MT23108 H-9445 P1
+	 L4/P2 -> MT23108 H-9446 P1
+	 L5/P2 -> MT23108 H-9447 P1
+	 L6/P2 -> MT23108 H-9448 P1
+	 L7/P2 -> MT23108 H-9449 P1
+	 L8/P2 -> MT23108 H-9450 P1
+	 L9/P2 -> MT23108 H-9451 P1
+	 L10/P2 -> MT23108 H-9452 P1
+	 L11/P2 -> MT23108 H-9453 P1
+	 L12/P2 -> MT23108 H-9454 P1
+	 L1/P3 -> MT23108 H-9455 P1
+	 L2/P3 -> MT23108 H-9456 P1
+	 L3/P3 -> MT23108 H-9457 P1
+	 L4/P3 -> MT23108 H-9458 P1
+	 L5/P3 -> MT23108 H-9459 P1
+	 L6/P3 -> MT23108 H-9460 P1
+	 L7/P3 -> MT23108 H-9461 P1
+	 L8/P3 -> MT23108 H-9462 P1
+	 L9/P3 -> MT23108 H-9463 P1
+	 L10/P3 -> MT23108 H-9464 P1
+	 L11/P3 -> MT23108 H-9465 P1
+	 L12/P3 -> MT23108 H-9466 P1
+	 L1/P4 -> MT23108 H-9467 P1
+	 L2/P4 -> MT23108 H-9468 P1
+	 L3/P4 -> MT23108 H-9469 P1
+	 L4/P4 -> MT23108 H-9470 P1
+	 L5/P4 -> MT23108 H-9471 P1
+	 L6/P4 -> MT23108 H-9472 P1
+	 L7/P4 -> MT23108 H-9473 P1
+	 L8/P4 -> MT23108 H-9474 P1
+	 L9/P4 -> MT23108 H-9475 P1
+	 L10/P4 -> MT23108 H-9476 P1
+	 L11/P4 -> MT23108 H-9477 P1
+	 L12/P4 -> MT23108 H-9478 P1
+	 L1/P5 -> MT23108 H-9479 P1
+	 L2/P5 -> MT23108 H-9480 P1
+	 L3/P5 -> MT23108 H-9481 P1
+	 L4/P5 -> MT23108 H-9482 P1
+	 L5/P5 -> MT23108 H-9483 P1
+	 L6/P5 -> MT23108 H-9484 P1
+	 L7/P5 -> MT23108 H-9485 P1
+	 L8/P5 -> MT23108 H-9486 P1
+	 L9/P5 -> MT23108 H-9487 P1
+	 L10/P5 -> MT23108 H-9488 P1
+	 L11/P5 -> MT23108 H-9489 P1
+	 L12/P5 -> MT23108 H-9490 P1
+	 L1/P6 -> MT23108 H-9491 P1
+	 L2/P6 -> MT23108 H-9492 P1
+	 L3/P6 -> MT23108 H-9493 P1
+	 L4/P6 -> MT23108 H-9494 P1
+	 L5/P6 -> MT23108 H-9495 P1
+	 L6/P6 -> MT23108 H-9496 P1
+	 L7/P6 -> MT23108 H-9497 P1
+	 L8/P6 -> MT23108 H-9498 P1
+	 L9/P6 -> MT23108 H-9499 P1
+	 L10/P6 -> MT23108 H-9500 P1
+	 L11/P6 -> MT23108 H-9501 P1
+	 L12/P6 -> MT23108 H-9502 P1
+	 L1/P7 -> MT23108 H-9503 P1
+	 L2/P7 -> MT23108 H-9504 P1
+	 L3/P7 -> MT23108 H-9505 P1
+	 L4/P7 -> MT23108 H-9506 P1
+	 L5/P7 -> MT23108 H-9507 P1
+	 L6/P7 -> MT23108 H-9508 P1
+	 L7/P7 -> MT23108 H-9509 P1
+	 L8/P7 -> MT23108 H-9510 P1
+	 L9/P7 -> MT23108 H-9511 P1
+	 L10/P7 -> MT23108 H-9512 P1
+	 L11/P7 -> MT23108 H-9513 P1
+	 L12/P7 -> MT23108 H-9514 P1
+	 L1/P8 -> MT23108 H-9515 P1
+	 L2/P8 -> MT23108 H-9516 P1
+	 L3/P8 -> MT23108 H-9517 P1
+	 L4/P8 -> MT23108 H-9518 P1
+	 L5/P8 -> MT23108 H-9519 P1
+	 L6/P8 -> MT23108 H-9520 P1
+	 L7/P8 -> MT23108 H-9521 P1
+	 L8/P8 -> MT23108 H-9522 P1
+	 L9/P8 -> MT23108 H-9523 P1
+	 L10/P8 -> MT23108 H-9524 P1
+	 L11/P8 -> MT23108 H-9525 P1
+	 L1/P9 -> MTS14400 SL2-1 L5/P12
+	 L2/P9 -> MTS14400 SL2-1 L6/P12
+	 L3/P9 -> MTS14400 SL2-2 L5/P12
+	 L4/P9 -> MTS14400 SL2-2 L6/P12
+	 L5/P9 -> MTS14400 SL2-3 L5/P12
+	 L6/P9 -> MTS14400 SL2-3 L6/P12
+	 L7/P9 -> MTS14400 SL2-4 L5/P12
+	 L8/P9 -> MTS14400 SL2-4 L6/P12
+	 L9/P9 -> MTS14400 SL2-5 L5/P12
+	 L10/P9 -> MTS14400 SL2-5 L6/P12
+	 L11/P9 -> MTS14400 SL2-6 L5/P12
+	 L12/P9 -> MTS14400 SL2-7 L5/P12
+	 L1/P10 -> MTS14400 SL2-8 L5/P12
+	 L2/P10 -> MTS14400 SL2-9 L5/P12
+	 L3/P10 -> MTS14400 SL2-10 L5/P12
+	 L4/P10 -> MTS14400 SL2-11 L5/P12
+	 L5/P10 -> MTS14400 SL2-12 L5/P12
+	 L6/P10 -> MTS14400 SL2-13 L5/P12
+	 L7/P10 -> MTS14400 SL2-14 L5/P12
+	 L8/P10 -> MTS14400 SL2-15 L5/P12
+	 L9/P10 -> MTS14400 SL2-16 L5/P12
+	 L10/P10 -> MTS14400 SL2-17 L5/P12
+	 L11/P10 -> MTS14400 SL2-18 L5/P12
+	 L12/P10 -> MTS14400 SL2-19 L5/P12
+	 L1/P11 -> MTS14400 SL2-20 L5/P12
+	 L2/P11 -> MTS14400 SL2-21 L5/P12
+	 L3/P11 -> MTS14400 SL2-22 L5/P12
+	 L4/P11 -> MTS14400 SL2-23 L5/P12
+	 L5/P11 -> MTS14400 SL2-24 L5/P12
+	 L6/P11 -> MTS14400 SL2-25 L5/P12
+	 L7/P11 -> MTS14400 SL2-26 L5/P12
+	 L8/P11 -> MTS14400 SL2-27 L5/P12
+	 L9/P11 -> MTS14400 SL2-28 L4/P12
+	 L10/P11 -> MTS14400 SL2-28 L5/P12
+	 L11/P11 -> MTS14400 SL2-29 L4/P12
+	 L12/P11 -> MTS14400 SL2-29 L5/P12
+	 L1/P12 -> MTS14400 SL2-30 L4/P12
+	 L2/P12 -> MTS14400 SL2-30 L5/P12
+	 L3/P12 -> MTS14400 SL2-31 L4/P12
+	 L4/P12 -> MTS14400 SL2-31 L5/P12
+	 L5/P12 -> MTS14400 SL2-32 L4/P12
+	 L6/P12 -> MTS14400 SL2-32 L5/P12
+	 L7/P12 -> MTS14400 SL2-33 L4/P12
+	 L8/P12 -> MTS14400 SL2-33 L5/P12
+	 L9/P12 -> MTS14400 SL2-34 L4/P12
+	 L10/P12 -> MTS14400 SL2-34 L5/P12
+	 L11/P12 -> MTS14400 SL2-35 L4/P12
+	 L12/P12 -> MTS14400 SL2-35 L5/P12
+
+MTS14400 SL1-101
+	 L1/P1 -> MT23108 H-9526 P1
+	 L2/P1 -> MT23108 H-9527 P1
+	 L3/P1 -> MT23108 H-9528 P1
+	 L4/P1 -> MT23108 H-9529 P1
+	 L5/P1 -> MT23108 H-9530 P1
+	 L6/P1 -> MT23108 H-9531 P1
+	 L7/P1 -> MT23108 H-9532 P1
+	 L8/P1 -> MT23108 H-9533 P1
+	 L9/P1 -> MT23108 H-9534 P1
+	 L10/P1 -> MT23108 H-9535 P1
+	 L11/P1 -> MT23108 H-9536 P1
+	 L12/P1 -> MT23108 H-9537 P1
+	 L1/P2 -> MT23108 H-9538 P1
+	 L2/P2 -> MT23108 H-9539 P1
+	 L3/P2 -> MT23108 H-9540 P1
+	 L4/P2 -> MT23108 H-9541 P1
+	 L5/P2 -> MT23108 H-9542 P1
+	 L6/P2 -> MT23108 H-9543 P1
+	 L7/P2 -> MT23108 H-9544 P1
+	 L8/P2 -> MT23108 H-9545 P1
+	 L9/P2 -> MT23108 H-9546 P1
+	 L10/P2 -> MT23108 H-9547 P1
+	 L11/P2 -> MT23108 H-9548 P1
+	 L12/P2 -> MT23108 H-9549 P1
+	 L1/P3 -> MT23108 H-9550 P1
+	 L2/P3 -> MT23108 H-9551 P1
+	 L3/P3 -> MT23108 H-9552 P1
+	 L4/P3 -> MT23108 H-9553 P1
+	 L5/P3 -> MT23108 H-9554 P1
+	 L6/P3 -> MT23108 H-9555 P1
+	 L7/P3 -> MT23108 H-9556 P1
+	 L8/P3 -> MT23108 H-9557 P1
+	 L9/P3 -> MT23108 H-9558 P1
+	 L10/P3 -> MT23108 H-9559 P1
+	 L11/P3 -> MT23108 H-9560 P1
+	 L12/P3 -> MT23108 H-9561 P1
+	 L1/P4 -> MT23108 H-9562 P1
+	 L2/P4 -> MT23108 H-9563 P1
+	 L3/P4 -> MT23108 H-9564 P1
+	 L4/P4 -> MT23108 H-9565 P1
+	 L5/P4 -> MT23108 H-9566 P1
+	 L6/P4 -> MT23108 H-9567 P1
+	 L7/P4 -> MT23108 H-9568 P1
+	 L8/P4 -> MT23108 H-9569 P1
+	 L9/P4 -> MT23108 H-9570 P1
+	 L10/P4 -> MT23108 H-9571 P1
+	 L11/P4 -> MT23108 H-9572 P1
+	 L12/P4 -> MT23108 H-9573 P1
+	 L1/P5 -> MT23108 H-9574 P1
+	 L2/P5 -> MT23108 H-9575 P1
+	 L3/P5 -> MT23108 H-9576 P1
+	 L4/P5 -> MT23108 H-9577 P1
+	 L5/P5 -> MT23108 H-9578 P1
+	 L6/P5 -> MT23108 H-9579 P1
+	 L7/P5 -> MT23108 H-9580 P1
+	 L8/P5 -> MT23108 H-9581 P1
+	 L9/P5 -> MT23108 H-9582 P1
+	 L10/P5 -> MT23108 H-9583 P1
+	 L11/P5 -> MT23108 H-9584 P1
+	 L12/P5 -> MT23108 H-9585 P1
+	 L1/P6 -> MT23108 H-9586 P1
+	 L2/P6 -> MT23108 H-9587 P1
+	 L3/P6 -> MT23108 H-9588 P1
+	 L4/P6 -> MT23108 H-9589 P1
+	 L5/P6 -> MT23108 H-9590 P1
+	 L6/P6 -> MT23108 H-9591 P1
+	 L7/P6 -> MT23108 H-9592 P1
+	 L8/P6 -> MT23108 H-9593 P1
+	 L9/P6 -> MT23108 H-9594 P1
+	 L10/P6 -> MT23108 H-9595 P1
+	 L11/P6 -> MT23108 H-9596 P1
+	 L12/P6 -> MT23108 H-9597 P1
+	 L1/P7 -> MT23108 H-9598 P1
+	 L2/P7 -> MT23108 H-9599 P1
+	 L3/P7 -> MT23108 H-9600 P1
+	 L4/P7 -> MT23108 H-9601 P1
+	 L5/P7 -> MT23108 H-9602 P1
+	 L6/P7 -> MT23108 H-9603 P1
+	 L7/P7 -> MT23108 H-9604 P1
+	 L8/P7 -> MT23108 H-9605 P1
+	 L9/P7 -> MT23108 H-9606 P1
+	 L10/P7 -> MT23108 H-9607 P1
+	 L11/P7 -> MT23108 H-9608 P1
+	 L12/P7 -> MT23108 H-9609 P1
+	 L1/P8 -> MT23108 H-9610 P1
+	 L2/P8 -> MT23108 H-9611 P1
+	 L3/P8 -> MT23108 H-9612 P1
+	 L4/P8 -> MT23108 H-9613 P1
+	 L5/P8 -> MT23108 H-9614 P1
+	 L6/P8 -> MT23108 H-9615 P1
+	 L7/P8 -> MT23108 H-9616 P1
+	 L8/P8 -> MT23108 H-9617 P1
+	 L9/P8 -> MT23108 H-9618 P1
+	 L10/P8 -> MT23108 H-9619 P1
+	 L11/P8 -> MT23108 H-9620 P1
+	 L1/P9 -> MTS14400 SL2-1 L7/P12
+	 L2/P9 -> MTS14400 SL2-2 L7/P12
+	 L3/P9 -> MTS14400 SL2-3 L7/P12
+	 L4/P9 -> MTS14400 SL2-4 L7/P12
+	 L5/P9 -> MTS14400 SL2-5 L7/P12
+	 L6/P9 -> MTS14400 SL2-6 L6/P12
+	 L7/P9 -> MTS14400 SL2-6 L7/P12
+	 L8/P9 -> MTS14400 SL2-7 L6/P12
+	 L9/P9 -> MTS14400 SL2-7 L7/P12
+	 L10/P9 -> MTS14400 SL2-8 L6/P12
+	 L11/P9 -> MTS14400 SL2-8 L7/P12
+	 L12/P9 -> MTS14400 SL2-9 L6/P12
+	 L1/P10 -> MTS14400 SL2-9 L7/P12
+	 L2/P10 -> MTS14400 SL2-10 L6/P12
+	 L3/P10 -> MTS14400 SL2-10 L7/P12
+	 L4/P10 -> MTS14400 SL2-11 L6/P12
+	 L5/P10 -> MTS14400 SL2-11 L7/P12
+	 L6/P10 -> MTS14400 SL2-12 L6/P12
+	 L7/P10 -> MTS14400 SL2-12 L7/P12
+	 L8/P10 -> MTS14400 SL2-13 L6/P12
+	 L9/P10 -> MTS14400 SL2-13 L7/P12
+	 L10/P10 -> MTS14400 SL2-14 L6/P12
+	 L11/P10 -> MTS14400 SL2-14 L7/P12
+	 L12/P10 -> MTS14400 SL2-15 L6/P12
+	 L1/P11 -> MTS14400 SL2-15 L7/P12
+	 L2/P11 -> MTS14400 SL2-16 L6/P12
+	 L3/P11 -> MTS14400 SL2-16 L7/P12
+	 L4/P11 -> MTS14400 SL2-17 L6/P12
+	 L5/P11 -> MTS14400 SL2-17 L7/P12
+	 L6/P11 -> MTS14400 SL2-18 L6/P12
+	 L7/P11 -> MTS14400 SL2-18 L7/P12
+	 L8/P11 -> MTS14400 SL2-19 L6/P12
+	 L9/P11 -> MTS14400 SL2-20 L6/P12
+	 L10/P11 -> MTS14400 SL2-21 L6/P12
+	 L11/P11 -> MTS14400 SL2-22 L6/P12
+	 L12/P11 -> MTS14400 SL2-23 L6/P12
+	 L1/P12 -> MTS14400 SL2-24 L6/P12
+	 L2/P12 -> MTS14400 SL2-25 L6/P12
+	 L3/P12 -> MTS14400 SL2-26 L6/P12
+	 L4/P12 -> MTS14400 SL2-27 L6/P12
+	 L5/P12 -> MTS14400 SL2-28 L6/P12
+	 L6/P12 -> MTS14400 SL2-29 L6/P12
+	 L7/P12 -> MTS14400 SL2-30 L6/P12
+	 L8/P12 -> MTS14400 SL2-31 L6/P12
+	 L9/P12 -> MTS14400 SL2-32 L6/P12
+	 L10/P12 -> MTS14400 SL2-33 L6/P12
+	 L11/P12 -> MTS14400 SL2-34 L6/P12
+	 L12/P12 -> MTS14400 SL2-35 L6/P12
+
+MTS14400 SL1-102
+	 L1/P1 -> MT23108 H-9621 P1
+	 L2/P1 -> MT23108 H-9622 P1
+	 L3/P1 -> MT23108 H-9623 P1
+	 L4/P1 -> MT23108 H-9624 P1
+	 L5/P1 -> MT23108 H-9625 P1
+	 L6/P1 -> MT23108 H-9626 P1
+	 L7/P1 -> MT23108 H-9627 P1
+	 L8/P1 -> MT23108 H-9628 P1
+	 L9/P1 -> MT23108 H-9629 P1
+	 L10/P1 -> MT23108 H-9630 P1
+	 L11/P1 -> MT23108 H-9631 P1
+	 L12/P1 -> MT23108 H-9632 P1
+	 L1/P2 -> MT23108 H-9633 P1
+	 L2/P2 -> MT23108 H-9634 P1
+	 L3/P2 -> MT23108 H-9635 P1
+	 L4/P2 -> MT23108 H-9636 P1
+	 L5/P2 -> MT23108 H-9637 P1
+	 L6/P2 -> MT23108 H-9638 P1
+	 L7/P2 -> MT23108 H-9639 P1
+	 L8/P2 -> MT23108 H-9640 P1
+	 L9/P2 -> MT23108 H-9641 P1
+	 L10/P2 -> MT23108 H-9642 P1
+	 L11/P2 -> MT23108 H-9643 P1
+	 L12/P2 -> MT23108 H-9644 P1
+	 L1/P3 -> MT23108 H-9645 P1
+	 L2/P3 -> MT23108 H-9646 P1
+	 L3/P3 -> MT23108 H-9647 P1
+	 L4/P3 -> MT23108 H-9648 P1
+	 L5/P3 -> MT23108 H-9649 P1
+	 L6/P3 -> MT23108 H-9650 P1
+	 L7/P3 -> MT23108 H-9651 P1
+	 L8/P3 -> MT23108 H-9652 P1
+	 L9/P3 -> MT23108 H-9653 P1
+	 L10/P3 -> MT23108 H-9654 P1
+	 L11/P3 -> MT23108 H-9655 P1
+	 L12/P3 -> MT23108 H-9656 P1
+	 L1/P4 -> MT23108 H-9657 P1
+	 L2/P4 -> MT23108 H-9658 P1
+	 L3/P4 -> MT23108 H-9659 P1
+	 L4/P4 -> MT23108 H-9660 P1
+	 L5/P4 -> MT23108 H-9661 P1
+	 L6/P4 -> MT23108 H-9662 P1
+	 L7/P4 -> MT23108 H-9663 P1
+	 L8/P4 -> MT23108 H-9664 P1
+	 L9/P4 -> MT23108 H-9665 P1
+	 L10/P4 -> MT23108 H-9666 P1
+	 L11/P4 -> MT23108 H-9667 P1
+	 L12/P4 -> MT23108 H-9668 P1
+	 L1/P5 -> MT23108 H-9669 P1
+	 L2/P5 -> MT23108 H-9670 P1
+	 L3/P5 -> MT23108 H-9671 P1
+	 L4/P5 -> MT23108 H-9672 P1
+	 L5/P5 -> MT23108 H-9673 P1
+	 L6/P5 -> MT23108 H-9674 P1
+	 L7/P5 -> MT23108 H-9675 P1
+	 L8/P5 -> MT23108 H-9676 P1
+	 L9/P5 -> MT23108 H-9677 P1
+	 L10/P5 -> MT23108 H-9678 P1
+	 L11/P5 -> MT23108 H-9679 P1
+	 L12/P5 -> MT23108 H-9680 P1
+	 L1/P6 -> MT23108 H-9681 P1
+	 L2/P6 -> MT23108 H-9682 P1
+	 L3/P6 -> MT23108 H-9683 P1
+	 L4/P6 -> MT23108 H-9684 P1
+	 L5/P6 -> MT23108 H-9685 P1
+	 L6/P6 -> MT23108 H-9686 P1
+	 L7/P6 -> MT23108 H-9687 P1
+	 L8/P6 -> MT23108 H-9688 P1
+	 L9/P6 -> MT23108 H-9689 P1
+	 L10/P6 -> MT23108 H-9690 P1
+	 L11/P6 -> MT23108 H-9691 P1
+	 L12/P6 -> MT23108 H-9692 P1
+	 L1/P7 -> MT23108 H-9693 P1
+	 L2/P7 -> MT23108 H-9694 P1
+	 L3/P7 -> MT23108 H-9695 P1
+	 L4/P7 -> MT23108 H-9696 P1
+	 L5/P7 -> MT23108 H-9697 P1
+	 L6/P7 -> MT23108 H-9698 P1
+	 L7/P7 -> MT23108 H-9699 P1
+	 L8/P7 -> MT23108 H-9700 P1
+	 L9/P7 -> MT23108 H-9701 P1
+	 L10/P7 -> MT23108 H-9702 P1
+	 L11/P7 -> MT23108 H-9703 P1
+	 L12/P7 -> MT23108 H-9704 P1
+	 L1/P8 -> MT23108 H-9705 P1
+	 L2/P8 -> MT23108 H-9706 P1
+	 L3/P8 -> MT23108 H-9707 P1
+	 L4/P8 -> MT23108 H-9708 P1
+	 L5/P8 -> MT23108 H-9709 P1
+	 L6/P8 -> MT23108 H-9710 P1
+	 L7/P8 -> MT23108 H-9711 P1
+	 L8/P8 -> MT23108 H-9712 P1
+	 L9/P8 -> MT23108 H-9713 P1
+	 L10/P8 -> MT23108 H-9714 P1
+	 L11/P8 -> MT23108 H-9715 P1
+	 L1/P9 -> MTS14400 SL2-1 L8/P12
+	 L2/P9 -> MTS14400 SL2-2 L8/P12
+	 L3/P9 -> MTS14400 SL2-3 L8/P12
+	 L4/P9 -> MTS14400 SL2-4 L8/P12
+	 L5/P9 -> MTS14400 SL2-5 L8/P12
+	 L6/P9 -> MTS14400 SL2-6 L8/P12
+	 L7/P9 -> MTS14400 SL2-7 L8/P12
+	 L8/P9 -> MTS14400 SL2-8 L8/P12
+	 L9/P9 -> MTS14400 SL2-9 L8/P12
+	 L10/P9 -> MTS14400 SL2-10 L8/P12
+	 L11/P9 -> MTS14400 SL2-11 L8/P12
+	 L12/P9 -> MTS14400 SL2-12 L8/P12
+	 L1/P10 -> MTS14400 SL2-13 L8/P12
+	 L2/P10 -> MTS14400 SL2-14 L8/P12
+	 L3/P10 -> MTS14400 SL2-15 L8/P12
+	 L4/P10 -> MTS14400 SL2-16 L8/P12
+	 L5/P10 -> MTS14400 SL2-17 L8/P12
+	 L6/P10 -> MTS14400 SL2-18 L8/P12
+	 L7/P10 -> MTS14400 SL2-19 L7/P12
+	 L8/P10 -> MTS14400 SL2-19 L8/P12
+	 L9/P10 -> MTS14400 SL2-20 L7/P12
+	 L10/P10 -> MTS14400 SL2-20 L8/P12
+	 L11/P10 -> MTS14400 SL2-21 L7/P12
+	 L12/P10 -> MTS14400 SL2-21 L8/P12
+	 L1/P11 -> MTS14400 SL2-22 L7/P12
+	 L2/P11 -> MTS14400 SL2-22 L8/P12
+	 L3/P11 -> MTS14400 SL2-23 L7/P12
+	 L4/P11 -> MTS14400 SL2-23 L8/P12
+	 L5/P11 -> MTS14400 SL2-24 L7/P12
+	 L6/P11 -> MTS14400 SL2-24 L8/P12
+	 L7/P11 -> MTS14400 SL2-25 L7/P12
+	 L8/P11 -> MTS14400 SL2-25 L8/P12
+	 L9/P11 -> MTS14400 SL2-26 L7/P12
+	 L10/P11 -> MTS14400 SL2-26 L8/P12
+	 L11/P11 -> MTS14400 SL2-27 L7/P12
+	 L12/P11 -> MTS14400 SL2-27 L8/P12
+	 L1/P12 -> MTS14400 SL2-28 L7/P12
+	 L2/P12 -> MTS14400 SL2-28 L8/P12
+	 L3/P12 -> MTS14400 SL2-29 L7/P12
+	 L4/P12 -> MTS14400 SL2-29 L8/P12
+	 L5/P12 -> MTS14400 SL2-30 L7/P12
+	 L6/P12 -> MTS14400 SL2-30 L8/P12
+	 L7/P12 -> MTS14400 SL2-31 L7/P12
+	 L8/P12 -> MTS14400 SL2-31 L8/P12
+	 L9/P12 -> MTS14400 SL2-32 L7/P12
+	 L10/P12 -> MTS14400 SL2-33 L7/P12
+	 L11/P12 -> MTS14400 SL2-34 L7/P12
+	 L12/P12 -> MTS14400 SL2-35 L7/P12
+
+MTS14400 SL1-103
+	 L1/P1 -> MT23108 H-9716 P1
+	 L2/P1 -> MT23108 H-9717 P1
+	 L3/P1 -> MT23108 H-9718 P1
+	 L4/P1 -> MT23108 H-9719 P1
+	 L5/P1 -> MT23108 H-9720 P1
+	 L6/P1 -> MT23108 H-9721 P1
+	 L7/P1 -> MT23108 H-9722 P1
+	 L8/P1 -> MT23108 H-9723 P1
+	 L9/P1 -> MT23108 H-9724 P1
+	 L10/P1 -> MT23108 H-9725 P1
+	 L11/P1 -> MT23108 H-9726 P1
+	 L12/P1 -> MT23108 H-9727 P1
+	 L1/P2 -> MT23108 H-9728 P1
+	 L2/P2 -> MT23108 H-9729 P1
+	 L3/P2 -> MT23108 H-9730 P1
+	 L4/P2 -> MT23108 H-9731 P1
+	 L5/P2 -> MT23108 H-9732 P1
+	 L6/P2 -> MT23108 H-9733 P1
+	 L7/P2 -> MT23108 H-9734 P1
+	 L8/P2 -> MT23108 H-9735 P1
+	 L9/P2 -> MT23108 H-9736 P1
+	 L10/P2 -> MT23108 H-9737 P1
+	 L11/P2 -> MT23108 H-9738 P1
+	 L12/P2 -> MT23108 H-9739 P1
+	 L1/P3 -> MT23108 H-9740 P1
+	 L2/P3 -> MT23108 H-9741 P1
+	 L3/P3 -> MT23108 H-9742 P1
+	 L4/P3 -> MT23108 H-9743 P1
+	 L5/P3 -> MT23108 H-9744 P1
+	 L6/P3 -> MT23108 H-9745 P1
+	 L7/P3 -> MT23108 H-9746 P1
+	 L8/P3 -> MT23108 H-9747 P1
+	 L9/P3 -> MT23108 H-9748 P1
+	 L10/P3 -> MT23108 H-9749 P1
+	 L11/P3 -> MT23108 H-9750 P1
+	 L12/P3 -> MT23108 H-9751 P1
+	 L1/P4 -> MT23108 H-9752 P1
+	 L2/P4 -> MT23108 H-9753 P1
+	 L3/P4 -> MT23108 H-9754 P1
+	 L4/P4 -> MT23108 H-9755 P1
+	 L5/P4 -> MT23108 H-9756 P1
+	 L6/P4 -> MT23108 H-9757 P1
+	 L7/P4 -> MT23108 H-9758 P1
+	 L8/P4 -> MT23108 H-9759 P1
+	 L9/P4 -> MT23108 H-9760 P1
+	 L10/P4 -> MT23108 H-9761 P1
+	 L11/P4 -> MT23108 H-9762 P1
+	 L12/P4 -> MT23108 H-9763 P1
+	 L1/P5 -> MT23108 H-9764 P1
+	 L2/P5 -> MT23108 H-9765 P1
+	 L3/P5 -> MT23108 H-9766 P1
+	 L4/P5 -> MT23108 H-9767 P1
+	 L5/P5 -> MT23108 H-9768 P1
+	 L6/P5 -> MT23108 H-9769 P1
+	 L7/P5 -> MT23108 H-9770 P1
+	 L8/P5 -> MT23108 H-9771 P1
+	 L9/P5 -> MT23108 H-9772 P1
+	 L10/P5 -> MT23108 H-9773 P1
+	 L11/P5 -> MT23108 H-9774 P1
+	 L12/P5 -> MT23108 H-9775 P1
+	 L1/P6 -> MT23108 H-9776 P1
+	 L2/P6 -> MT23108 H-9777 P1
+	 L3/P6 -> MT23108 H-9778 P1
+	 L4/P6 -> MT23108 H-9779 P1
+	 L5/P6 -> MT23108 H-9780 P1
+	 L6/P6 -> MT23108 H-9781 P1
+	 L7/P6 -> MT23108 H-9782 P1
+	 L8/P6 -> MT23108 H-9783 P1
+	 L9/P6 -> MT23108 H-9784 P1
+	 L10/P6 -> MT23108 H-9785 P1
+	 L11/P6 -> MT23108 H-9786 P1
+	 L12/P6 -> MT23108 H-9787 P1
+	 L1/P7 -> MT23108 H-9788 P1
+	 L2/P7 -> MT23108 H-9789 P1
+	 L3/P7 -> MT23108 H-9790 P1
+	 L4/P7 -> MT23108 H-9791 P1
+	 L5/P7 -> MT23108 H-9792 P1
+	 L6/P7 -> MT23108 H-9793 P1
+	 L7/P7 -> MT23108 H-9794 P1
+	 L8/P7 -> MT23108 H-9795 P1
+	 L9/P7 -> MT23108 H-9796 P1
+	 L10/P7 -> MT23108 H-9797 P1
+	 L11/P7 -> MT23108 H-9798 P1
+	 L12/P7 -> MT23108 H-9799 P1
+	 L1/P8 -> MT23108 H-9800 P1
+	 L2/P8 -> MT23108 H-9801 P1
+	 L3/P8 -> MT23108 H-9802 P1
+	 L4/P8 -> MT23108 H-9803 P1
+	 L5/P8 -> MT23108 H-9804 P1
+	 L6/P8 -> MT23108 H-9805 P1
+	 L7/P8 -> MT23108 H-9806 P1
+	 L8/P8 -> MT23108 H-9807 P1
+	 L9/P8 -> MT23108 H-9808 P1
+	 L10/P8 -> MT23108 H-9809 P1
+	 L11/P8 -> MT23108 H-9810 P1
+	 L1/P9 -> MTS14400 SL2-1 L9/P12
+	 L2/P9 -> MTS14400 SL2-1 L10/P12
+	 L3/P9 -> MTS14400 SL2-2 L9/P12
+	 L4/P9 -> MTS14400 SL2-2 L10/P12
+	 L5/P9 -> MTS14400 SL2-3 L9/P12
+	 L6/P9 -> MTS14400 SL2-3 L10/P12
+	 L7/P9 -> MTS14400 SL2-4 L9/P12
+	 L8/P9 -> MTS14400 SL2-4 L10/P12
+	 L9/P9 -> MTS14400 SL2-5 L9/P12
+	 L10/P9 -> MTS14400 SL2-5 L10/P12
+	 L11/P9 -> MTS14400 SL2-6 L9/P12
+	 L12/P9 -> MTS14400 SL2-6 L10/P12
+	 L1/P10 -> MTS14400 SL2-7 L9/P12
+	 L2/P10 -> MTS14400 SL2-7 L10/P12
+	 L3/P10 -> MTS14400 SL2-8 L9/P12
+	 L4/P10 -> MTS14400 SL2-8 L10/P12
+	 L5/P10 -> MTS14400 SL2-9 L9/P12
+	 L6/P10 -> MTS14400 SL2-9 L10/P12
+	 L7/P10 -> MTS14400 SL2-10 L9/P12
+	 L8/P10 -> MTS14400 SL2-11 L9/P12
+	 L9/P10 -> MTS14400 SL2-12 L9/P12
+	 L10/P10 -> MTS14400 SL2-13 L9/P12
+	 L11/P10 -> MTS14400 SL2-14 L9/P12
+	 L12/P10 -> MTS14400 SL2-15 L9/P12
+	 L1/P11 -> MTS14400 SL2-16 L9/P12
+	 L2/P11 -> MTS14400 SL2-17 L9/P12
+	 L3/P11 -> MTS14400 SL2-18 L9/P12
+	 L4/P11 -> MTS14400 SL2-19 L9/P12
+	 L5/P11 -> MTS14400 SL2-20 L9/P12
+	 L6/P11 -> MTS14400 SL2-21 L9/P12
+	 L7/P11 -> MTS14400 SL2-22 L9/P12
+	 L8/P11 -> MTS14400 SL2-23 L9/P12
+	 L9/P11 -> MTS14400 SL2-24 L9/P12
+	 L10/P11 -> MTS14400 SL2-25 L9/P12
+	 L11/P11 -> MTS14400 SL2-26 L9/P12
+	 L12/P11 -> MTS14400 SL2-27 L9/P12
+	 L1/P12 -> MTS14400 SL2-28 L9/P12
+	 L2/P12 -> MTS14400 SL2-29 L9/P12
+	 L3/P12 -> MTS14400 SL2-30 L9/P12
+	 L4/P12 -> MTS14400 SL2-31 L9/P12
+	 L5/P12 -> MTS14400 SL2-32 L8/P12
+	 L6/P12 -> MTS14400 SL2-32 L9/P12
+	 L7/P12 -> MTS14400 SL2-33 L8/P12
+	 L8/P12 -> MTS14400 SL2-33 L9/P12
+	 L9/P12 -> MTS14400 SL2-34 L8/P12
+	 L10/P12 -> MTS14400 SL2-34 L9/P12
+	 L11/P12 -> MTS14400 SL2-35 L8/P12
+	 L12/P12 -> MTS14400 SL2-35 L9/P12
+
+MTS14400 SL1-104
+	 L1/P1 -> MT23108 H-9811 P1
+	 L2/P1 -> MT23108 H-9812 P1
+	 L3/P1 -> MT23108 H-9813 P1
+	 L4/P1 -> MT23108 H-9814 P1
+	 L5/P1 -> MT23108 H-9815 P1
+	 L6/P1 -> MT23108 H-9816 P1
+	 L7/P1 -> MT23108 H-9817 P1
+	 L8/P1 -> MT23108 H-9818 P1
+	 L9/P1 -> MT23108 H-9819 P1
+	 L10/P1 -> MT23108 H-9820 P1
+	 L11/P1 -> MT23108 H-9821 P1
+	 L12/P1 -> MT23108 H-9822 P1
+	 L1/P2 -> MT23108 H-9823 P1
+	 L2/P2 -> MT23108 H-9824 P1
+	 L3/P2 -> MT23108 H-9825 P1
+	 L4/P2 -> MT23108 H-9826 P1
+	 L5/P2 -> MT23108 H-9827 P1
+	 L6/P2 -> MT23108 H-9828 P1
+	 L7/P2 -> MT23108 H-9829 P1
+	 L8/P2 -> MT23108 H-9830 P1
+	 L9/P2 -> MT23108 H-9831 P1
+	 L10/P2 -> MT23108 H-9832 P1
+	 L11/P2 -> MT23108 H-9833 P1
+	 L12/P2 -> MT23108 H-9834 P1
+	 L1/P3 -> MT23108 H-9835 P1
+	 L2/P3 -> MT23108 H-9836 P1
+	 L3/P3 -> MT23108 H-9837 P1
+	 L4/P3 -> MT23108 H-9838 P1
+	 L5/P3 -> MT23108 H-9839 P1
+	 L6/P3 -> MT23108 H-9840 P1
+	 L7/P3 -> MT23108 H-9841 P1
+	 L8/P3 -> MT23108 H-9842 P1
+	 L9/P3 -> MT23108 H-9843 P1
+	 L10/P3 -> MT23108 H-9844 P1
+	 L11/P3 -> MT23108 H-9845 P1
+	 L12/P3 -> MT23108 H-9846 P1
+	 L1/P4 -> MT23108 H-9847 P1
+	 L2/P4 -> MT23108 H-9848 P1
+	 L3/P4 -> MT23108 H-9849 P1
+	 L4/P4 -> MT23108 H-9850 P1
+	 L5/P4 -> MT23108 H-9851 P1
+	 L6/P4 -> MT23108 H-9852 P1
+	 L7/P4 -> MT23108 H-9853 P1
+	 L8/P4 -> MT23108 H-9854 P1
+	 L9/P4 -> MT23108 H-9855 P1
+	 L10/P4 -> MT23108 H-9856 P1
+	 L11/P4 -> MT23108 H-9857 P1
+	 L12/P4 -> MT23108 H-9858 P1
+	 L1/P5 -> MT23108 H-9859 P1
+	 L2/P5 -> MT23108 H-9860 P1
+	 L3/P5 -> MT23108 H-9861 P1
+	 L4/P5 -> MT23108 H-9862 P1
+	 L5/P5 -> MT23108 H-9863 P1
+	 L6/P5 -> MT23108 H-9864 P1
+	 L7/P5 -> MT23108 H-9865 P1
+	 L8/P5 -> MT23108 H-9866 P1
+	 L9/P5 -> MT23108 H-9867 P1
+	 L10/P5 -> MT23108 H-9868 P1
+	 L11/P5 -> MT23108 H-9869 P1
+	 L12/P5 -> MT23108 H-9870 P1
+	 L1/P6 -> MT23108 H-9871 P1
+	 L2/P6 -> MT23108 H-9872 P1
+	 L3/P6 -> MT23108 H-9873 P1
+	 L4/P6 -> MT23108 H-9874 P1
+	 L5/P6 -> MT23108 H-9875 P1
+	 L6/P6 -> MT23108 H-9876 P1
+	 L7/P6 -> MT23108 H-9877 P1
+	 L8/P6 -> MT23108 H-9878 P1
+	 L9/P6 -> MT23108 H-9879 P1
+	 L10/P6 -> MT23108 H-9880 P1
+	 L11/P6 -> MT23108 H-9881 P1
+	 L12/P6 -> MT23108 H-9882 P1
+	 L1/P7 -> MT23108 H-9883 P1
+	 L2/P7 -> MT23108 H-9884 P1
+	 L3/P7 -> MT23108 H-9885 P1
+	 L4/P7 -> MT23108 H-9886 P1
+	 L5/P7 -> MT23108 H-9887 P1
+	 L6/P7 -> MT23108 H-9888 P1
+	 L7/P7 -> MT23108 H-9889 P1
+	 L8/P7 -> MT23108 H-9890 P1
+	 L9/P7 -> MT23108 H-9891 P1
+	 L10/P7 -> MT23108 H-9892 P1
+	 L11/P7 -> MT23108 H-9893 P1
+	 L12/P7 -> MT23108 H-9894 P1
+	 L1/P8 -> MT23108 H-9895 P1
+	 L2/P8 -> MT23108 H-9896 P1
+	 L3/P8 -> MT23108 H-9897 P1
+	 L4/P8 -> MT23108 H-9898 P1
+	 L5/P8 -> MT23108 H-9899 P1
+	 L6/P8 -> MT23108 H-9900 P1
+	 L7/P8 -> MT23108 H-9901 P1
+	 L8/P8 -> MT23108 H-9902 P1
+	 L9/P8 -> MT23108 H-9903 P1
+	 L10/P8 -> MT23108 H-9904 P1
+	 L11/P8 -> MT23108 H-9905 P1
+	 L1/P9 -> MTS14400 SL2-1 L11/P12
+	 L2/P9 -> MTS14400 SL2-2 L11/P12
+	 L3/P9 -> MTS14400 SL2-3 L11/P12
+	 L4/P9 -> MTS14400 SL2-4 L11/P12
+	 L5/P9 -> MTS14400 SL2-5 L11/P12
+	 L6/P9 -> MTS14400 SL2-6 L11/P12
+	 L7/P9 -> MTS14400 SL2-7 L11/P12
+	 L8/P9 -> MTS14400 SL2-8 L11/P12
+	 L9/P9 -> MTS14400 SL2-9 L11/P12
+	 L10/P9 -> MTS14400 SL2-10 L10/P12
+	 L11/P9 -> MTS14400 SL2-10 L11/P12
+	 L12/P9 -> MTS14400 SL2-11 L10/P12
+	 L1/P10 -> MTS14400 SL2-11 L11/P12
+	 L2/P10 -> MTS14400 SL2-12 L10/P12
+	 L3/P10 -> MTS14400 SL2-12 L11/P12
+	 L4/P10 -> MTS14400 SL2-13 L10/P12
+	 L5/P10 -> MTS14400 SL2-13 L11/P12
+	 L6/P10 -> MTS14400 SL2-14 L10/P12
+	 L7/P10 -> MTS14400 SL2-14 L11/P12
+	 L8/P10 -> MTS14400 SL2-15 L10/P12
+	 L9/P10 -> MTS14400 SL2-15 L11/P12
+	 L10/P10 -> MTS14400 SL2-16 L10/P12
+	 L11/P10 -> MTS14400 SL2-16 L11/P12
+	 L12/P10 -> MTS14400 SL2-17 L10/P12
+	 L1/P11 -> MTS14400 SL2-17 L11/P12
+	 L2/P11 -> MTS14400 SL2-18 L10/P12
+	 L3/P11 -> MTS14400 SL2-18 L11/P12
+	 L4/P11 -> MTS14400 SL2-19 L10/P12
+	 L5/P11 -> MTS14400 SL2-19 L11/P12
+	 L6/P11 -> MTS14400 SL2-20 L10/P12
+	 L7/P11 -> MTS14400 SL2-20 L11/P12
+	 L8/P11 -> MTS14400 SL2-21 L10/P12
+	 L9/P11 -> MTS14400 SL2-21 L11/P12
+	 L10/P11 -> MTS14400 SL2-22 L10/P12
+	 L11/P11 -> MTS14400 SL2-22 L11/P12
+	 L12/P11 -> MTS14400 SL2-23 L10/P12
+	 L1/P12 -> MTS14400 SL2-24 L10/P12
+	 L2/P12 -> MTS14400 SL2-25 L10/P12
+	 L3/P12 -> MTS14400 SL2-26 L10/P12
+	 L4/P12 -> MTS14400 SL2-27 L10/P12
+	 L5/P12 -> MTS14400 SL2-28 L10/P12
+	 L6/P12 -> MTS14400 SL2-29 L10/P12
+	 L7/P12 -> MTS14400 SL2-30 L10/P12
+	 L8/P12 -> MTS14400 SL2-31 L10/P12
+	 L9/P12 -> MTS14400 SL2-32 L10/P12
+	 L10/P12 -> MTS14400 SL2-33 L10/P12
+	 L11/P12 -> MTS14400 SL2-34 L10/P12
+	 L12/P12 -> MTS14400 SL2-35 L10/P12
+
+MTS14400 SL1-105
+	 L1/P1 -> MT23108 H-9906 P1
+	 L2/P1 -> MT23108 H-9907 P1
+	 L3/P1 -> MT23108 H-9908 P1
+	 L4/P1 -> MT23108 H-9909 P1
+	 L5/P1 -> MT23108 H-9910 P1
+	 L6/P1 -> MT23108 H-9911 P1
+	 L7/P1 -> MT23108 H-9912 P1
+	 L8/P1 -> MT23108 H-9913 P1
+	 L9/P1 -> MT23108 H-9914 P1
+	 L10/P1 -> MT23108 H-9915 P1
+	 L11/P1 -> MT23108 H-9916 P1
+	 L12/P1 -> MT23108 H-9917 P1
+	 L1/P2 -> MT23108 H-9918 P1
+	 L2/P2 -> MT23108 H-9919 P1
+	 L3/P2 -> MT23108 H-9920 P1
+	 L4/P2 -> MT23108 H-9921 P1
+	 L5/P2 -> MT23108 H-9922 P1
+	 L6/P2 -> MT23108 H-9923 P1
+	 L7/P2 -> MT23108 H-9924 P1
+	 L8/P2 -> MT23108 H-9925 P1
+	 L9/P2 -> MT23108 H-9926 P1
+	 L10/P2 -> MT23108 H-9927 P1
+	 L11/P2 -> MT23108 H-9928 P1
+	 L12/P2 -> MT23108 H-9929 P1
+	 L1/P3 -> MT23108 H-9930 P1
+	 L2/P3 -> MT23108 H-9931 P1
+	 L3/P3 -> MT23108 H-9932 P1
+	 L4/P3 -> MT23108 H-9933 P1
+	 L5/P3 -> MT23108 H-9934 P1
+	 L6/P3 -> MT23108 H-9935 P1
+	 L7/P3 -> MT23108 H-9936 P1
+	 L8/P3 -> MT23108 H-9937 P1
+	 L9/P3 -> MT23108 H-9938 P1
+	 L10/P3 -> MT23108 H-9939 P1
+	 L11/P3 -> MT23108 H-9940 P1
+	 L12/P3 -> MT23108 H-9941 P1
+	 L1/P4 -> MT23108 H-9942 P1
+	 L2/P4 -> MT23108 H-9943 P1
+	 L3/P4 -> MT23108 H-9944 P1
+	 L4/P4 -> MT23108 H-9945 P1
+	 L5/P4 -> MT23108 H-9946 P1
+	 L6/P4 -> MT23108 H-9947 P1
+	 L7/P4 -> MT23108 H-9948 P1
+	 L8/P4 -> MT23108 H-9949 P1
+	 L9/P4 -> MT23108 H-9950 P1
+	 L10/P4 -> MT23108 H-9951 P1
+	 L11/P4 -> MT23108 H-9952 P1
+	 L12/P4 -> MT23108 H-9953 P1
+	 L1/P5 -> MT23108 H-9954 P1
+	 L2/P5 -> MT23108 H-9955 P1
+	 L3/P5 -> MT23108 H-9956 P1
+	 L4/P5 -> MT23108 H-9957 P1
+	 L5/P5 -> MT23108 H-9958 P1
+	 L6/P5 -> MT23108 H-9959 P1
+	 L7/P5 -> MT23108 H-9960 P1
+	 L8/P5 -> MT23108 H-9961 P1
+	 L9/P5 -> MT23108 H-9962 P1
+	 L10/P5 -> MT23108 H-9963 P1
+	 L11/P5 -> MT23108 H-9964 P1
+	 L12/P5 -> MT23108 H-9965 P1
+	 L1/P6 -> MT23108 H-9966 P1
+	 L2/P6 -> MT23108 H-9967 P1
+	 L3/P6 -> MT23108 H-9968 P1
+	 L4/P6 -> MT23108 H-9969 P1
+	 L5/P6 -> MT23108 H-9970 P1
+	 L6/P6 -> MT23108 H-9971 P1
+	 L7/P6 -> MT23108 H-9972 P1
+	 L8/P6 -> MT23108 H-9973 P1
+	 L9/P6 -> MT23108 H-9974 P1
+	 L10/P6 -> MT23108 H-9975 P1
+	 L11/P6 -> MT23108 H-9976 P1
+	 L12/P6 -> MT23108 H-9977 P1
+	 L1/P7 -> MT23108 H-9978 P1
+	 L2/P7 -> MT23108 H-9979 P1
+	 L3/P7 -> MT23108 H-9980 P1
+	 L4/P7 -> MT23108 H-9981 P1
+	 L5/P7 -> MT23108 H-9982 P1
+	 L6/P7 -> MT23108 H-9983 P1
+	 L7/P7 -> MT23108 H-9984 P1
+	 L8/P7 -> MT23108 H-9985 P1
+	 L9/P7 -> MT23108 H-9986 P1
+	 L10/P7 -> MT23108 H-9987 P1
+	 L11/P7 -> MT23108 H-9988 P1
+	 L12/P7 -> MT23108 H-9989 P1
+	 L1/P8 -> MT23108 H-9990 P1
+	 L2/P8 -> MT23108 H-9991 P1
+	 L3/P8 -> MT23108 H-9992 P1
+	 L4/P8 -> MT23108 H-9993 P1
+	 L5/P8 -> MT23108 H-9994 P1
+	 L6/P8 -> MT23108 H-9995 P1
+	 L7/P8 -> MT23108 H-9996 P1
+	 L8/P8 -> MT23108 H-9997 P1
+	 L9/P8 -> MT23108 H-9998 P1
+	 L10/P8 -> MT23108 H-9999 P1
+	 L11/P8 -> MT23108 H-10000 P1
+	 L1/P9 -> MTS14400 SL2-1 L12/P12
+	 L2/P9 -> MTS14400 SL2-2 L12/P12
+	 L3/P9 -> MTS14400 SL2-3 L12/P12
+	 L4/P9 -> MTS14400 SL2-4 L12/P12
+	 L5/P9 -> MTS14400 SL2-5 L12/P12
+	 L6/P9 -> MTS14400 SL2-6 L12/P12
+	 L7/P9 -> MTS14400 SL2-7 L12/P12
+	 L8/P9 -> MTS14400 SL2-8 L12/P12
+	 L9/P9 -> MTS14400 SL2-9 L12/P12
+	 L10/P9 -> MTS14400 SL2-10 L12/P12
+	 L11/P9 -> MTS14400 SL2-11 L12/P12
+	 L12/P9 -> MTS14400 SL2-12 L12/P12
+	 L1/P10 -> MTS14400 SL2-13 L12/P12
+	 L2/P10 -> MTS14400 SL2-14 L12/P12
+	 L3/P10 -> MTS14400 SL2-15 L12/P12
+	 L4/P10 -> MTS14400 SL2-16 L12/P12
+	 L5/P10 -> MTS14400 SL2-17 L12/P12
+	 L6/P10 -> MTS14400 SL2-18 L12/P12
+	 L7/P10 -> MTS14400 SL2-19 L12/P12
+	 L8/P10 -> MTS14400 SL2-20 L12/P12
+	 L9/P10 -> MTS14400 SL2-21 L12/P12
+	 L10/P10 -> MTS14400 SL2-22 L12/P12
+	 L11/P10 -> MTS14400 SL2-23 L11/P12
+	 L12/P10 -> MTS14400 SL2-23 L12/P12
+	 L1/P11 -> MTS14400 SL2-24 L11/P12
+	 L2/P11 -> MTS14400 SL2-24 L12/P12
+	 L3/P11 -> MTS14400 SL2-25 L11/P12
+	 L4/P11 -> MTS14400 SL2-25 L12/P12
+	 L5/P11 -> MTS14400 SL2-26 L11/P12
+	 L6/P11 -> MTS14400 SL2-26 L12/P12
+	 L7/P11 -> MTS14400 SL2-27 L11/P12
+	 L8/P11 -> MTS14400 SL2-27 L12/P12
+	 L9/P11 -> MTS14400 SL2-28 L11/P12
+	 L10/P11 -> MTS14400 SL2-28 L12/P12
+	 L11/P11 -> MTS14400 SL2-29 L11/P12
+	 L12/P11 -> MTS14400 SL2-29 L12/P12
+	 L1/P12 -> MTS14400 SL2-30 L11/P12
+	 L2/P12 -> MTS14400 SL2-30 L12/P12
+	 L3/P12 -> MTS14400 SL2-31 L11/P12
+	 L4/P12 -> MTS14400 SL2-31 L12/P12
+	 L5/P12 -> MTS14400 SL2-32 L11/P12
+	 L6/P12 -> MTS14400 SL2-32 L12/P12
+	 L7/P12 -> MTS14400 SL2-33 L11/P12
+	 L8/P12 -> MTS14400 SL2-33 L12/P12
+	 L9/P12 -> MTS14400 SL2-34 L11/P12
+	 L10/P12 -> MTS14400 SL2-34 L12/P12
+	 L11/P12 -> MTS14400 SL2-35 L11/P12
+	 L12/P12 -> MTS14400 SL2-35 L12/P12
+
+MTS14400 SL2-1
+	 L1/P1 -> MTS14400 SL1-1 L1/P9
+	 L2/P1 -> MTS14400 SL1-1 L2/P9
+	 L3/P1 -> MTS14400 SL1-2 L1/P9
+	 L4/P1 -> MTS14400 SL1-3 L1/P9
+	 L5/P1 -> MTS14400 SL1-3 L2/P9
+	 L6/P1 -> MTS14400 SL1-4 L1/P9
+	 L7/P1 -> MTS14400 SL1-5 L1/P9
+	 L8/P1 -> MTS14400 SL1-6 L1/P9
+	 L9/P1 -> MTS14400 SL1-6 L2/P9
+	 L10/P1 -> MTS14400 SL1-7 L1/P9
+	 L11/P1 -> MTS14400 SL1-8 L1/P9
+	 L12/P1 -> MTS14400 SL1-9 L1/P9
+	 L1/P2 -> MTS14400 SL1-9 L2/P9
+	 L2/P2 -> MTS14400 SL1-10 L1/P9
+	 L3/P2 -> MTS14400 SL1-11 L1/P9
+	 L4/P2 -> MTS14400 SL1-11 L2/P9
+	 L5/P2 -> MTS14400 SL1-12 L1/P9
+	 L6/P2 -> MTS14400 SL1-13 L1/P9
+	 L7/P2 -> MTS14400 SL1-14 L1/P9
+	 L8/P2 -> MTS14400 SL1-14 L2/P9
+	 L9/P2 -> MTS14400 SL1-15 L1/P9
+	 L10/P2 -> MTS14400 SL1-16 L1/P9
+	 L11/P2 -> MTS14400 SL1-17 L1/P9
+	 L12/P2 -> MTS14400 SL1-17 L2/P9
+	 L1/P3 -> MTS14400 SL1-18 L1/P9
+	 L2/P3 -> MTS14400 SL1-19 L1/P9
+	 L3/P3 -> MTS14400 SL1-19 L2/P9
+	 L4/P3 -> MTS14400 SL1-20 L1/P9
+	 L5/P3 -> MTS14400 SL1-21 L1/P9
+	 L6/P3 -> MTS14400 SL1-22 L1/P9
+	 L7/P3 -> MTS14400 SL1-22 L2/P9
+	 L8/P3 -> MTS14400 SL1-23 L1/P9
+	 L9/P3 -> MTS14400 SL1-24 L1/P9
+	 L10/P3 -> MTS14400 SL1-25 L1/P9
+	 L11/P3 -> MTS14400 SL1-25 L2/P9
+	 L12/P3 -> MTS14400 SL1-26 L1/P9
+	 L1/P4 -> MTS14400 SL1-27 L1/P9
+	 L2/P4 -> MTS14400 SL1-27 L2/P9
+	 L3/P4 -> MTS14400 SL1-28 L1/P9
+	 L4/P4 -> MTS14400 SL1-29 L1/P9
+	 L5/P4 -> MTS14400 SL1-30 L1/P9
+	 L6/P4 -> MTS14400 SL1-30 L2/P9
+	 L7/P4 -> MTS14400 SL1-31 L1/P9
+	 L8/P4 -> MTS14400 SL1-32 L1/P9
+	 L9/P4 -> MTS14400 SL1-33 L1/P9
+	 L10/P4 -> MTS14400 SL1-33 L2/P9
+	 L11/P4 -> MTS14400 SL1-34 L1/P9
+	 L12/P4 -> MTS14400 SL1-35 L1/P9
+	 L1/P5 -> MTS14400 SL1-36 L1/P9
+	 L2/P5 -> MTS14400 SL1-36 L2/P9
+	 L3/P5 -> MTS14400 SL1-37 L1/P9
+	 L4/P5 -> MTS14400 SL1-38 L1/P9
+	 L5/P5 -> MTS14400 SL1-38 L2/P9
+	 L6/P5 -> MTS14400 SL1-39 L1/P9
+	 L7/P5 -> MTS14400 SL1-40 L1/P9
+	 L8/P5 -> MTS14400 SL1-41 L1/P9
+	 L9/P5 -> MTS14400 SL1-41 L2/P9
+	 L10/P5 -> MTS14400 SL1-42 L1/P9
+	 L11/P5 -> MTS14400 SL1-43 L1/P9
+	 L12/P5 -> MTS14400 SL1-44 L1/P9
+	 L1/P6 -> MTS14400 SL1-44 L2/P9
+	 L2/P6 -> MTS14400 SL1-45 L1/P9
+	 L3/P6 -> MTS14400 SL1-46 L1/P9
+	 L4/P6 -> MTS14400 SL1-46 L2/P9
+	 L5/P6 -> MTS14400 SL1-47 L1/P9
+	 L6/P6 -> MTS14400 SL1-48 L1/P9
+	 L7/P6 -> MTS14400 SL1-49 L1/P9
+	 L8/P6 -> MTS14400 SL1-49 L2/P9
+	 L9/P6 -> MTS14400 SL1-50 L1/P9
+	 L10/P6 -> MTS14400 SL1-51 L1/P9
+	 L11/P6 -> MTS14400 SL1-52 L1/P9
+	 L12/P6 -> MTS14400 SL1-52 L2/P9
+	 L1/P7 -> MTS14400 SL1-53 L1/P9
+	 L2/P7 -> MTS14400 SL1-54 L1/P9
+	 L3/P7 -> MTS14400 SL1-54 L2/P9
+	 L4/P7 -> MTS14400 SL1-55 L1/P9
+	 L5/P7 -> MTS14400 SL1-56 L1/P9
+	 L6/P7 -> MTS14400 SL1-57 L1/P9
+	 L7/P7 -> MTS14400 SL1-57 L2/P9
+	 L8/P7 -> MTS14400 SL1-58 L1/P9
+	 L9/P7 -> MTS14400 SL1-59 L1/P9
+	 L10/P7 -> MTS14400 SL1-60 L1/P9
+	 L11/P7 -> MTS14400 SL1-60 L2/P9
+	 L12/P7 -> MTS14400 SL1-61 L1/P9
+	 L1/P8 -> MTS14400 SL1-62 L1/P9
+	 L2/P8 -> MTS14400 SL1-62 L2/P9
+	 L3/P8 -> MTS14400 SL1-63 L1/P9
+	 L4/P8 -> MTS14400 SL1-64 L1/P9
+	 L5/P8 -> MTS14400 SL1-65 L1/P9
+	 L6/P8 -> MTS14400 SL1-65 L2/P9
+	 L7/P8 -> MTS14400 SL1-66 L1/P9
+	 L8/P8 -> MTS14400 SL1-67 L1/P9
+	 L9/P8 -> MTS14400 SL1-68 L1/P9
+	 L10/P8 -> MTS14400 SL1-68 L2/P9
+	 L11/P8 -> MTS14400 SL1-69 L1/P9
+	 L12/P8 -> MTS14400 SL1-70 L1/P9
+	 L1/P9 -> MTS14400 SL1-71 L1/P9
+	 L2/P9 -> MTS14400 SL1-71 L2/P9
+	 L3/P9 -> MTS14400 SL1-72 L1/P9
+	 L4/P9 -> MTS14400 SL1-73 L1/P9
+	 L5/P9 -> MTS14400 SL1-73 L2/P9
+	 L6/P9 -> MTS14400 SL1-74 L1/P9
+	 L7/P9 -> MTS14400 SL1-75 L1/P9
+	 L8/P9 -> MTS14400 SL1-76 L1/P9
+	 L9/P9 -> MTS14400 SL1-76 L2/P9
+	 L10/P9 -> MTS14400 SL1-77 L1/P9
+	 L11/P9 -> MTS14400 SL1-78 L1/P9
+	 L12/P9 -> MTS14400 SL1-79 L1/P9
+	 L1/P10 -> MTS14400 SL1-79 L2/P9
+	 L2/P10 -> MTS14400 SL1-80 L1/P9
+	 L3/P10 -> MTS14400 SL1-81 L1/P9
+	 L4/P10 -> MTS14400 SL1-81 L2/P9
+	 L5/P10 -> MTS14400 SL1-82 L1/P9
+	 L6/P10 -> MTS14400 SL1-83 L1/P9
+	 L7/P10 -> MTS14400 SL1-84 L1/P9
+	 L8/P10 -> MTS14400 SL1-84 L2/P9
+	 L9/P10 -> MTS14400 SL1-85 L1/P9
+	 L10/P10 -> MTS14400 SL1-86 L1/P9
+	 L11/P10 -> MTS14400 SL1-87 L1/P9
+	 L12/P10 -> MTS14400 SL1-87 L2/P9
+	 L1/P11 -> MTS14400 SL1-88 L1/P9
+	 L2/P11 -> MTS14400 SL1-89 L1/P9
+	 L3/P11 -> MTS14400 SL1-89 L2/P9
+	 L4/P11 -> MTS14400 SL1-90 L1/P9
+	 L5/P11 -> MTS14400 SL1-91 L1/P9
+	 L6/P11 -> MTS14400 SL1-92 L1/P9
+	 L7/P11 -> MTS14400 SL1-92 L2/P9
+	 L8/P11 -> MTS14400 SL1-93 L1/P9
+	 L9/P11 -> MTS14400 SL1-94 L1/P9
+	 L10/P11 -> MTS14400 SL1-95 L1/P9
+	 L11/P11 -> MTS14400 SL1-95 L2/P9
+	 L12/P11 -> MTS14400 SL1-96 L1/P9
+	 L1/P12 -> MTS14400 SL1-97 L1/P9
+	 L2/P12 -> MTS14400 SL1-97 L2/P9
+	 L3/P12 -> MTS14400 SL1-98 L1/P9
+	 L4/P12 -> MTS14400 SL1-99 L1/P9
+	 L5/P12 -> MTS14400 SL1-100 L1/P9
+	 L6/P12 -> MTS14400 SL1-100 L2/P9
+	 L7/P12 -> MTS14400 SL1-101 L1/P9
+	 L8/P12 -> MTS14400 SL1-102 L1/P9
+	 L9/P12 -> MTS14400 SL1-103 L1/P9
+	 L10/P12 -> MTS14400 SL1-103 L2/P9
+	 L11/P12 -> MTS14400 SL1-104 L1/P9
+	 L12/P12 -> MTS14400 SL1-105 L1/P9
+
+MTS14400 SL2-2
+	 L1/P1 -> MTS14400 SL1-1 L3/P9
+	 L2/P1 -> MTS14400 SL1-1 L4/P9
+	 L3/P1 -> MTS14400 SL1-2 L2/P9
+	 L4/P1 -> MTS14400 SL1-3 L3/P9
+	 L5/P1 -> MTS14400 SL1-3 L4/P9
+	 L6/P1 -> MTS14400 SL1-4 L2/P9
+	 L7/P1 -> MTS14400 SL1-5 L2/P9
+	 L8/P1 -> MTS14400 SL1-6 L3/P9
+	 L9/P1 -> MTS14400 SL1-6 L4/P9
+	 L10/P1 -> MTS14400 SL1-7 L2/P9
+	 L11/P1 -> MTS14400 SL1-8 L2/P9
+	 L12/P1 -> MTS14400 SL1-9 L3/P9
+	 L1/P2 -> MTS14400 SL1-9 L4/P9
+	 L2/P2 -> MTS14400 SL1-10 L2/P9
+	 L3/P2 -> MTS14400 SL1-11 L3/P9
+	 L4/P2 -> MTS14400 SL1-11 L4/P9
+	 L5/P2 -> MTS14400 SL1-12 L2/P9
+	 L6/P2 -> MTS14400 SL1-13 L2/P9
+	 L7/P2 -> MTS14400 SL1-14 L3/P9
+	 L8/P2 -> MTS14400 SL1-14 L4/P9
+	 L9/P2 -> MTS14400 SL1-15 L2/P9
+	 L10/P2 -> MTS14400 SL1-16 L2/P9
+	 L11/P2 -> MTS14400 SL1-17 L3/P9
+	 L12/P2 -> MTS14400 SL1-17 L4/P9
+	 L1/P3 -> MTS14400 SL1-18 L2/P9
+	 L2/P3 -> MTS14400 SL1-19 L3/P9
+	 L3/P3 -> MTS14400 SL1-19 L4/P9
+	 L4/P3 -> MTS14400 SL1-20 L2/P9
+	 L5/P3 -> MTS14400 SL1-21 L2/P9
+	 L6/P3 -> MTS14400 SL1-22 L3/P9
+	 L7/P3 -> MTS14400 SL1-22 L4/P9
+	 L8/P3 -> MTS14400 SL1-23 L2/P9
+	 L9/P3 -> MTS14400 SL1-24 L2/P9
+	 L10/P3 -> MTS14400 SL1-25 L3/P9
+	 L11/P3 -> MTS14400 SL1-25 L4/P9
+	 L12/P3 -> MTS14400 SL1-26 L2/P9
+	 L1/P4 -> MTS14400 SL1-27 L3/P9
+	 L2/P4 -> MTS14400 SL1-28 L2/P9
+	 L3/P4 -> MTS14400 SL1-28 L3/P9
+	 L4/P4 -> MTS14400 SL1-29 L2/P9
+	 L5/P4 -> MTS14400 SL1-30 L3/P9
+	 L6/P4 -> MTS14400 SL1-30 L4/P9
+	 L7/P4 -> MTS14400 SL1-31 L2/P9
+	 L8/P4 -> MTS14400 SL1-32 L2/P9
+	 L9/P4 -> MTS14400 SL1-33 L3/P9
+	 L10/P4 -> MTS14400 SL1-33 L4/P9
+	 L11/P4 -> MTS14400 SL1-34 L2/P9
+	 L12/P4 -> MTS14400 SL1-35 L2/P9
+	 L1/P5 -> MTS14400 SL1-36 L3/P9
+	 L2/P5 -> MTS14400 SL1-36 L4/P9
+	 L3/P5 -> MTS14400 SL1-37 L2/P9
+	 L4/P5 -> MTS14400 SL1-38 L3/P9
+	 L5/P5 -> MTS14400 SL1-38 L4/P9
+	 L6/P5 -> MTS14400 SL1-39 L2/P9
+	 L7/P5 -> MTS14400 SL1-40 L2/P9
+	 L8/P5 -> MTS14400 SL1-41 L3/P9
+	 L9/P5 -> MTS14400 SL1-41 L4/P9
+	 L10/P5 -> MTS14400 SL1-42 L2/P9
+	 L11/P5 -> MTS14400 SL1-43 L2/P9
+	 L12/P5 -> MTS14400 SL1-44 L3/P9
+	 L1/P6 -> MTS14400 SL1-44 L4/P9
+	 L2/P6 -> MTS14400 SL1-45 L2/P9
+	 L3/P6 -> MTS14400 SL1-46 L3/P9
+	 L4/P6 -> MTS14400 SL1-46 L4/P9
+	 L5/P6 -> MTS14400 SL1-47 L2/P9
+	 L6/P6 -> MTS14400 SL1-48 L2/P9
+	 L7/P6 -> MTS14400 SL1-49 L3/P9
+	 L8/P6 -> MTS14400 SL1-49 L4/P9
+	 L9/P6 -> MTS14400 SL1-50 L2/P9
+	 L10/P6 -> MTS14400 SL1-51 L2/P9
+	 L11/P6 -> MTS14400 SL1-52 L3/P9
+	 L12/P6 -> MTS14400 SL1-52 L4/P9
+	 L1/P7 -> MTS14400 SL1-53 L2/P9
+	 L2/P7 -> MTS14400 SL1-54 L3/P9
+	 L3/P7 -> MTS14400 SL1-54 L4/P9
+	 L4/P7 -> MTS14400 SL1-55 L2/P9
+	 L5/P7 -> MTS14400 SL1-56 L2/P9
+	 L6/P7 -> MTS14400 SL1-57 L3/P9
+	 L7/P7 -> MTS14400 SL1-57 L4/P9
+	 L8/P7 -> MTS14400 SL1-58 L2/P9
+	 L9/P7 -> MTS14400 SL1-59 L2/P9
+	 L10/P7 -> MTS14400 SL1-60 L3/P9
+	 L11/P7 -> MTS14400 SL1-60 L4/P9
+	 L12/P7 -> MTS14400 SL1-61 L2/P9
+	 L1/P8 -> MTS14400 SL1-62 L3/P9
+	 L2/P8 -> MTS14400 SL1-63 L2/P9
+	 L3/P8 -> MTS14400 SL1-63 L3/P9
+	 L4/P8 -> MTS14400 SL1-64 L2/P9
+	 L5/P8 -> MTS14400 SL1-65 L3/P9
+	 L6/P8 -> MTS14400 SL1-65 L4/P9
+	 L7/P8 -> MTS14400 SL1-66 L2/P9
+	 L8/P8 -> MTS14400 SL1-67 L2/P9
+	 L9/P8 -> MTS14400 SL1-68 L3/P9
+	 L10/P8 -> MTS14400 SL1-68 L4/P9
+	 L11/P8 -> MTS14400 SL1-69 L2/P9
+	 L12/P8 -> MTS14400 SL1-70 L2/P9
+	 L1/P9 -> MTS14400 SL1-71 L3/P9
+	 L2/P9 -> MTS14400 SL1-71 L4/P9
+	 L3/P9 -> MTS14400 SL1-72 L2/P9
+	 L4/P9 -> MTS14400 SL1-73 L3/P9
+	 L5/P9 -> MTS14400 SL1-73 L4/P9
+	 L6/P9 -> MTS14400 SL1-74 L2/P9
+	 L7/P9 -> MTS14400 SL1-75 L2/P9
+	 L8/P9 -> MTS14400 SL1-76 L3/P9
+	 L9/P9 -> MTS14400 SL1-76 L4/P9
+	 L10/P9 -> MTS14400 SL1-77 L2/P9
+	 L11/P9 -> MTS14400 SL1-78 L2/P9
+	 L12/P9 -> MTS14400 SL1-79 L3/P9
+	 L1/P10 -> MTS14400 SL1-79 L4/P9
+	 L2/P10 -> MTS14400 SL1-80 L2/P9
+	 L3/P10 -> MTS14400 SL1-81 L3/P9
+	 L4/P10 -> MTS14400 SL1-81 L4/P9
+	 L5/P10 -> MTS14400 SL1-82 L2/P9
+	 L6/P10 -> MTS14400 SL1-83 L2/P9
+	 L7/P10 -> MTS14400 SL1-84 L3/P9
+	 L8/P10 -> MTS14400 SL1-84 L4/P9
+	 L9/P10 -> MTS14400 SL1-85 L2/P9
+	 L10/P10 -> MTS14400 SL1-86 L2/P9
+	 L11/P10 -> MTS14400 SL1-87 L3/P9
+	 L12/P10 -> MTS14400 SL1-87 L4/P9
+	 L1/P11 -> MTS14400 SL1-88 L2/P9
+	 L2/P11 -> MTS14400 SL1-89 L3/P9
+	 L3/P11 -> MTS14400 SL1-89 L4/P9
+	 L4/P11 -> MTS14400 SL1-90 L2/P9
+	 L5/P11 -> MTS14400 SL1-91 L2/P9
+	 L6/P11 -> MTS14400 SL1-92 L3/P9
+	 L7/P11 -> MTS14400 SL1-92 L4/P9
+	 L8/P11 -> MTS14400 SL1-93 L2/P9
+	 L9/P11 -> MTS14400 SL1-94 L2/P9
+	 L10/P11 -> MTS14400 SL1-95 L3/P9
+	 L11/P11 -> MTS14400 SL1-95 L4/P9
+	 L12/P11 -> MTS14400 SL1-96 L2/P9
+	 L1/P12 -> MTS14400 SL1-97 L3/P9
+	 L2/P12 -> MTS14400 SL1-98 L2/P9
+	 L3/P12 -> MTS14400 SL1-98 L3/P9
+	 L4/P12 -> MTS14400 SL1-99 L2/P9
+	 L5/P12 -> MTS14400 SL1-100 L3/P9
+	 L6/P12 -> MTS14400 SL1-100 L4/P9
+	 L7/P12 -> MTS14400 SL1-101 L2/P9
+	 L8/P12 -> MTS14400 SL1-102 L2/P9
+	 L9/P12 -> MTS14400 SL1-103 L3/P9
+	 L10/P12 -> MTS14400 SL1-103 L4/P9
+	 L11/P12 -> MTS14400 SL1-104 L2/P9
+	 L12/P12 -> MTS14400 SL1-105 L2/P9
+
+MTS14400 SL2-3
+	 L1/P1 -> MTS14400 SL1-1 L5/P9
+	 L2/P1 -> MTS14400 SL1-1 L6/P9
+	 L3/P1 -> MTS14400 SL1-2 L3/P9
+	 L4/P1 -> MTS14400 SL1-3 L5/P9
+	 L5/P1 -> MTS14400 SL1-3 L6/P9
+	 L6/P1 -> MTS14400 SL1-4 L3/P9
+	 L7/P1 -> MTS14400 SL1-5 L3/P9
+	 L8/P1 -> MTS14400 SL1-6 L5/P9
+	 L9/P1 -> MTS14400 SL1-6 L6/P9
+	 L10/P1 -> MTS14400 SL1-7 L3/P9
+	 L11/P1 -> MTS14400 SL1-8 L3/P9
+	 L12/P1 -> MTS14400 SL1-9 L5/P9
+	 L1/P2 -> MTS14400 SL1-9 L6/P9
+	 L2/P2 -> MTS14400 SL1-10 L3/P9
+	 L3/P2 -> MTS14400 SL1-11 L5/P9
+	 L4/P2 -> MTS14400 SL1-11 L6/P9
+	 L5/P2 -> MTS14400 SL1-12 L3/P9
+	 L6/P2 -> MTS14400 SL1-13 L3/P9
+	 L7/P2 -> MTS14400 SL1-14 L5/P9
+	 L8/P2 -> MTS14400 SL1-14 L6/P9
+	 L9/P2 -> MTS14400 SL1-15 L3/P9
+	 L10/P2 -> MTS14400 SL1-16 L3/P9
+	 L11/P2 -> MTS14400 SL1-17 L5/P9
+	 L12/P2 -> MTS14400 SL1-17 L6/P9
+	 L1/P3 -> MTS14400 SL1-18 L3/P9
+	 L2/P3 -> MTS14400 SL1-19 L5/P9
+	 L3/P3 -> MTS14400 SL1-20 L3/P9
+	 L4/P3 -> MTS14400 SL1-20 L4/P9
+	 L5/P3 -> MTS14400 SL1-21 L3/P9
+	 L6/P3 -> MTS14400 SL1-22 L5/P9
+	 L7/P3 -> MTS14400 SL1-22 L6/P9
+	 L8/P3 -> MTS14400 SL1-23 L3/P9
+	 L9/P3 -> MTS14400 SL1-24 L3/P9
+	 L10/P3 -> MTS14400 SL1-25 L5/P9
+	 L11/P3 -> MTS14400 SL1-25 L6/P9
+	 L12/P3 -> MTS14400 SL1-26 L3/P9
+	 L1/P4 -> MTS14400 SL1-27 L4/P9
+	 L2/P4 -> MTS14400 SL1-28 L4/P9
+	 L3/P4 -> MTS14400 SL1-28 L5/P9
+	 L4/P4 -> MTS14400 SL1-29 L3/P9
+	 L5/P4 -> MTS14400 SL1-30 L5/P9
+	 L6/P4 -> MTS14400 SL1-30 L6/P9
+	 L7/P4 -> MTS14400 SL1-31 L3/P9
+	 L8/P4 -> MTS14400 SL1-32 L3/P9
+	 L9/P4 -> MTS14400 SL1-33 L5/P9
+	 L10/P4 -> MTS14400 SL1-33 L6/P9
+	 L11/P4 -> MTS14400 SL1-34 L3/P9
+	 L12/P4 -> MTS14400 SL1-35 L3/P9
+	 L1/P5 -> MTS14400 SL1-36 L5/P9
+	 L2/P5 -> MTS14400 SL1-36 L6/P9
+	 L3/P5 -> MTS14400 SL1-37 L3/P9
+	 L4/P5 -> MTS14400 SL1-38 L5/P9
+	 L5/P5 -> MTS14400 SL1-38 L6/P9
+	 L6/P5 -> MTS14400 SL1-39 L3/P9
+	 L7/P5 -> MTS14400 SL1-40 L3/P9
+	 L8/P5 -> MTS14400 SL1-41 L5/P9
+	 L9/P5 -> MTS14400 SL1-41 L6/P9
+	 L10/P5 -> MTS14400 SL1-42 L3/P9
+	 L11/P5 -> MTS14400 SL1-43 L3/P9
+	 L12/P5 -> MTS14400 SL1-44 L5/P9
+	 L1/P6 -> MTS14400 SL1-44 L6/P9
+	 L2/P6 -> MTS14400 SL1-45 L3/P9
+	 L3/P6 -> MTS14400 SL1-46 L5/P9
+	 L4/P6 -> MTS14400 SL1-46 L6/P9
+	 L5/P6 -> MTS14400 SL1-47 L3/P9
+	 L6/P6 -> MTS14400 SL1-48 L3/P9
+	 L7/P6 -> MTS14400 SL1-49 L5/P9
+	 L8/P6 -> MTS14400 SL1-49 L6/P9
+	 L9/P6 -> MTS14400 SL1-50 L3/P9
+	 L10/P6 -> MTS14400 SL1-51 L3/P9
+	 L11/P6 -> MTS14400 SL1-52 L5/P9
+	 L12/P6 -> MTS14400 SL1-52 L6/P9
+	 L1/P7 -> MTS14400 SL1-53 L3/P9
+	 L2/P7 -> MTS14400 SL1-54 L5/P9
+	 L3/P7 -> MTS14400 SL1-55 L3/P9
+	 L4/P7 -> MTS14400 SL1-55 L4/P9
+	 L5/P7 -> MTS14400 SL1-56 L3/P9
+	 L6/P7 -> MTS14400 SL1-57 L5/P9
+	 L7/P7 -> MTS14400 SL1-57 L6/P9
+	 L8/P7 -> MTS14400 SL1-58 L3/P9
+	 L9/P7 -> MTS14400 SL1-59 L3/P9
+	 L10/P7 -> MTS14400 SL1-60 L5/P9
+	 L11/P7 -> MTS14400 SL1-60 L6/P9
+	 L12/P7 -> MTS14400 SL1-61 L3/P9
+	 L1/P8 -> MTS14400 SL1-62 L4/P9
+	 L2/P8 -> MTS14400 SL1-63 L4/P9
+	 L3/P8 -> MTS14400 SL1-63 L5/P9
+	 L4/P8 -> MTS14400 SL1-64 L3/P9
+	 L5/P8 -> MTS14400 SL1-65 L5/P9
+	 L6/P8 -> MTS14400 SL1-65 L6/P9
+	 L7/P8 -> MTS14400 SL1-66 L3/P9
+	 L8/P8 -> MTS14400 SL1-67 L3/P9
+	 L9/P8 -> MTS14400 SL1-68 L5/P9
+	 L10/P8 -> MTS14400 SL1-68 L6/P9
+	 L11/P8 -> MTS14400 SL1-69 L3/P9
+	 L12/P8 -> MTS14400 SL1-70 L3/P9
+	 L1/P9 -> MTS14400 SL1-71 L5/P9
+	 L2/P9 -> MTS14400 SL1-71 L6/P9
+	 L3/P9 -> MTS14400 SL1-72 L3/P9
+	 L4/P9 -> MTS14400 SL1-73 L5/P9
+	 L5/P9 -> MTS14400 SL1-73 L6/P9
+	 L6/P9 -> MTS14400 SL1-74 L3/P9
+	 L7/P9 -> MTS14400 SL1-75 L3/P9
+	 L8/P9 -> MTS14400 SL1-76 L5/P9
+	 L9/P9 -> MTS14400 SL1-76 L6/P9
+	 L10/P9 -> MTS14400 SL1-77 L3/P9
+	 L11/P9 -> MTS14400 SL1-78 L3/P9
+	 L12/P9 -> MTS14400 SL1-79 L5/P9
+	 L1/P10 -> MTS14400 SL1-79 L6/P9
+	 L2/P10 -> MTS14400 SL1-80 L3/P9
+	 L3/P10 -> MTS14400 SL1-81 L5/P9
+	 L4/P10 -> MTS14400 SL1-81 L6/P9
+	 L5/P10 -> MTS14400 SL1-82 L3/P9
+	 L6/P10 -> MTS14400 SL1-83 L3/P9
+	 L7/P10 -> MTS14400 SL1-84 L5/P9
+	 L8/P10 -> MTS14400 SL1-84 L6/P9
+	 L9/P10 -> MTS14400 SL1-85 L3/P9
+	 L10/P10 -> MTS14400 SL1-86 L3/P9
+	 L11/P10 -> MTS14400 SL1-87 L5/P9
+	 L12/P10 -> MTS14400 SL1-87 L6/P9
+	 L1/P11 -> MTS14400 SL1-88 L3/P9
+	 L2/P11 -> MTS14400 SL1-89 L5/P9
+	 L3/P11 -> MTS14400 SL1-90 L3/P9
+	 L4/P11 -> MTS14400 SL1-90 L4/P9
+	 L5/P11 -> MTS14400 SL1-91 L3/P9
+	 L6/P11 -> MTS14400 SL1-92 L5/P9
+	 L7/P11 -> MTS14400 SL1-92 L6/P9
+	 L8/P11 -> MTS14400 SL1-93 L3/P9
+	 L9/P11 -> MTS14400 SL1-94 L3/P9
+	 L10/P11 -> MTS14400 SL1-95 L5/P9
+	 L11/P11 -> MTS14400 SL1-95 L6/P9
+	 L12/P11 -> MTS14400 SL1-96 L3/P9
+	 L1/P12 -> MTS14400 SL1-97 L4/P9
+	 L2/P12 -> MTS14400 SL1-98 L4/P9
+	 L3/P12 -> MTS14400 SL1-98 L5/P9
+	 L4/P12 -> MTS14400 SL1-99 L3/P9
+	 L5/P12 -> MTS14400 SL1-100 L5/P9
+	 L6/P12 -> MTS14400 SL1-100 L6/P9
+	 L7/P12 -> MTS14400 SL1-101 L3/P9
+	 L8/P12 -> MTS14400 SL1-102 L3/P9
+	 L9/P12 -> MTS14400 SL1-103 L5/P9
+	 L10/P12 -> MTS14400 SL1-103 L6/P9
+	 L11/P12 -> MTS14400 SL1-104 L3/P9
+	 L12/P12 -> MTS14400 SL1-105 L3/P9
+
+MTS14400 SL2-4
+	 L1/P1 -> MTS14400 SL1-1 L7/P9
+	 L2/P1 -> MTS14400 SL1-1 L8/P9
+	 L3/P1 -> MTS14400 SL1-2 L4/P9
+	 L4/P1 -> MTS14400 SL1-3 L7/P9
+	 L5/P1 -> MTS14400 SL1-3 L8/P9
+	 L6/P1 -> MTS14400 SL1-4 L4/P9
+	 L7/P1 -> MTS14400 SL1-5 L4/P9
+	 L8/P1 -> MTS14400 SL1-6 L7/P9
+	 L9/P1 -> MTS14400 SL1-6 L8/P9
+	 L10/P1 -> MTS14400 SL1-7 L4/P9
+	 L11/P1 -> MTS14400 SL1-8 L4/P9
+	 L12/P1 -> MTS14400 SL1-9 L7/P9
+	 L1/P2 -> MTS14400 SL1-9 L8/P9
+	 L2/P2 -> MTS14400 SL1-10 L4/P9
+	 L3/P2 -> MTS14400 SL1-11 L7/P9
+	 L4/P2 -> MTS14400 SL1-12 L4/P9
+	 L5/P2 -> MTS14400 SL1-12 L5/P9
+	 L6/P2 -> MTS14400 SL1-13 L4/P9
+	 L7/P2 -> MTS14400 SL1-14 L7/P9
+	 L8/P2 -> MTS14400 SL1-14 L8/P9
+	 L9/P2 -> MTS14400 SL1-15 L4/P9
+	 L10/P2 -> MTS14400 SL1-16 L4/P9
+	 L11/P2 -> MTS14400 SL1-17 L7/P9
+	 L12/P2 -> MTS14400 SL1-17 L8/P9
+	 L1/P3 -> MTS14400 SL1-18 L4/P9
+	 L2/P3 -> MTS14400 SL1-19 L6/P9
+	 L3/P3 -> MTS14400 SL1-20 L5/P9
+	 L4/P3 -> MTS14400 SL1-20 L6/P9
+	 L5/P3 -> MTS14400 SL1-21 L4/P9
+	 L6/P3 -> MTS14400 SL1-22 L7/P9
+	 L7/P3 -> MTS14400 SL1-22 L8/P9
+	 L8/P3 -> MTS14400 SL1-23 L4/P9
+	 L9/P3 -> MTS14400 SL1-24 L4/P9
+	 L10/P3 -> MTS14400 SL1-25 L7/P9
+	 L11/P3 -> MTS14400 SL1-25 L8/P9
+	 L12/P3 -> MTS14400 SL1-26 L4/P9
+	 L1/P4 -> MTS14400 SL1-27 L5/P9
+	 L2/P4 -> MTS14400 SL1-28 L6/P9
+	 L3/P4 -> MTS14400 SL1-28 L7/P9
+	 L4/P4 -> MTS14400 SL1-29 L4/P9
+	 L5/P4 -> MTS14400 SL1-30 L7/P9
+	 L6/P4 -> MTS14400 SL1-30 L8/P9
+	 L7/P4 -> MTS14400 SL1-31 L4/P9
+	 L8/P4 -> MTS14400 SL1-32 L4/P9
+	 L9/P4 -> MTS14400 SL1-33 L7/P9
+	 L10/P4 -> MTS14400 SL1-33 L8/P9
+	 L11/P4 -> MTS14400 SL1-34 L4/P9
+	 L12/P4 -> MTS14400 SL1-35 L4/P9
+	 L1/P5 -> MTS14400 SL1-36 L7/P9
+	 L2/P5 -> MTS14400 SL1-36 L8/P9
+	 L3/P5 -> MTS14400 SL1-37 L4/P9
+	 L4/P5 -> MTS14400 SL1-38 L7/P9
+	 L5/P5 -> MTS14400 SL1-38 L8/P9
+	 L6/P5 -> MTS14400 SL1-39 L4/P9
+	 L7/P5 -> MTS14400 SL1-40 L4/P9
+	 L8/P5 -> MTS14400 SL1-41 L7/P9
+	 L9/P5 -> MTS14400 SL1-41 L8/P9
+	 L10/P5 -> MTS14400 SL1-42 L4/P9
+	 L11/P5 -> MTS14400 SL1-43 L4/P9
+	 L12/P5 -> MTS14400 SL1-44 L7/P9
+	 L1/P6 -> MTS14400 SL1-44 L8/P9
+	 L2/P6 -> MTS14400 SL1-45 L4/P9
+	 L3/P6 -> MTS14400 SL1-46 L7/P9
+	 L4/P6 -> MTS14400 SL1-47 L4/P9
+	 L5/P6 -> MTS14400 SL1-47 L5/P9
+	 L6/P6 -> MTS14400 SL1-48 L4/P9
+	 L7/P6 -> MTS14400 SL1-49 L7/P9
+	 L8/P6 -> MTS14400 SL1-49 L8/P9
+	 L9/P6 -> MTS14400 SL1-50 L4/P9
+	 L10/P6 -> MTS14400 SL1-51 L4/P9
+	 L11/P6 -> MTS14400 SL1-52 L7/P9
+	 L12/P6 -> MTS14400 SL1-52 L8/P9
+	 L1/P7 -> MTS14400 SL1-53 L4/P9
+	 L2/P7 -> MTS14400 SL1-54 L6/P9
+	 L3/P7 -> MTS14400 SL1-55 L5/P9
+	 L4/P7 -> MTS14400 SL1-55 L6/P9
+	 L5/P7 -> MTS14400 SL1-56 L4/P9
+	 L6/P7 -> MTS14400 SL1-57 L7/P9
+	 L7/P7 -> MTS14400 SL1-57 L8/P9
+	 L8/P7 -> MTS14400 SL1-58 L4/P9
+	 L9/P7 -> MTS14400 SL1-59 L4/P9
+	 L10/P7 -> MTS14400 SL1-60 L7/P9
+	 L11/P7 -> MTS14400 SL1-60 L8/P9
+	 L12/P7 -> MTS14400 SL1-61 L4/P9
+	 L1/P8 -> MTS14400 SL1-62 L5/P9
+	 L2/P8 -> MTS14400 SL1-63 L6/P9
+	 L3/P8 -> MTS14400 SL1-63 L7/P9
+	 L4/P8 -> MTS14400 SL1-64 L4/P9
+	 L5/P8 -> MTS14400 SL1-65 L7/P9
+	 L6/P8 -> MTS14400 SL1-65 L8/P9
+	 L7/P8 -> MTS14400 SL1-66 L4/P9
+	 L8/P8 -> MTS14400 SL1-67 L4/P9
+	 L9/P8 -> MTS14400 SL1-68 L7/P9
+	 L10/P8 -> MTS14400 SL1-68 L8/P9
+	 L11/P8 -> MTS14400 SL1-69 L4/P9
+	 L12/P8 -> MTS14400 SL1-70 L4/P9
+	 L1/P9 -> MTS14400 SL1-71 L7/P9
+	 L2/P9 -> MTS14400 SL1-71 L8/P9
+	 L3/P9 -> MTS14400 SL1-72 L4/P9
+	 L4/P9 -> MTS14400 SL1-73 L7/P9
+	 L5/P9 -> MTS14400 SL1-73 L8/P9
+	 L6/P9 -> MTS14400 SL1-74 L4/P9
+	 L7/P9 -> MTS14400 SL1-75 L4/P9
+	 L8/P9 -> MTS14400 SL1-76 L7/P9
+	 L9/P9 -> MTS14400 SL1-76 L8/P9
+	 L10/P9 -> MTS14400 SL1-77 L4/P9
+	 L11/P9 -> MTS14400 SL1-78 L4/P9
+	 L12/P9 -> MTS14400 SL1-79 L7/P9
+	 L1/P10 -> MTS14400 SL1-79 L8/P9
+	 L2/P10 -> MTS14400 SL1-80 L4/P9
+	 L3/P10 -> MTS14400 SL1-81 L7/P9
+	 L4/P10 -> MTS14400 SL1-82 L4/P9
+	 L5/P10 -> MTS14400 SL1-82 L5/P9
+	 L6/P10 -> MTS14400 SL1-83 L4/P9
+	 L7/P10 -> MTS14400 SL1-84 L7/P9
+	 L8/P10 -> MTS14400 SL1-84 L8/P9
+	 L9/P10 -> MTS14400 SL1-85 L4/P9
+	 L10/P10 -> MTS14400 SL1-86 L4/P9
+	 L11/P10 -> MTS14400 SL1-87 L7/P9
+	 L12/P10 -> MTS14400 SL1-87 L8/P9
+	 L1/P11 -> MTS14400 SL1-88 L4/P9
+	 L2/P11 -> MTS14400 SL1-89 L6/P9
+	 L3/P11 -> MTS14400 SL1-90 L5/P9
+	 L4/P11 -> MTS14400 SL1-90 L6/P9
+	 L5/P11 -> MTS14400 SL1-91 L4/P9
+	 L6/P11 -> MTS14400 SL1-92 L7/P9
+	 L7/P11 -> MTS14400 SL1-92 L8/P9
+	 L8/P11 -> MTS14400 SL1-93 L4/P9
+	 L9/P11 -> MTS14400 SL1-94 L4/P9
+	 L10/P11 -> MTS14400 SL1-95 L7/P9
+	 L11/P11 -> MTS14400 SL1-95 L8/P9
+	 L12/P11 -> MTS14400 SL1-96 L4/P9
+	 L1/P12 -> MTS14400 SL1-97 L5/P9
+	 L2/P12 -> MTS14400 SL1-98 L6/P9
+	 L3/P12 -> MTS14400 SL1-98 L7/P9
+	 L4/P12 -> MTS14400 SL1-99 L4/P9
+	 L5/P12 -> MTS14400 SL1-100 L7/P9
+	 L6/P12 -> MTS14400 SL1-100 L8/P9
+	 L7/P12 -> MTS14400 SL1-101 L4/P9
+	 L8/P12 -> MTS14400 SL1-102 L4/P9
+	 L9/P12 -> MTS14400 SL1-103 L7/P9
+	 L10/P12 -> MTS14400 SL1-103 L8/P9
+	 L11/P12 -> MTS14400 SL1-104 L4/P9
+	 L12/P12 -> MTS14400 SL1-105 L4/P9
+
+MTS14400 SL2-5
+	 L1/P1 -> MTS14400 SL1-1 L9/P9
+	 L2/P1 -> MTS14400 SL1-1 L10/P9
+	 L3/P1 -> MTS14400 SL1-2 L5/P9
+	 L4/P1 -> MTS14400 SL1-3 L9/P9
+	 L5/P1 -> MTS14400 SL1-4 L5/P9
+	 L6/P1 -> MTS14400 SL1-4 L6/P9
+	 L7/P1 -> MTS14400 SL1-5 L5/P9
+	 L8/P1 -> MTS14400 SL1-6 L9/P9
+	 L9/P1 -> MTS14400 SL1-6 L10/P9
+	 L10/P1 -> MTS14400 SL1-7 L5/P9
+	 L11/P1 -> MTS14400 SL1-8 L5/P9
+	 L12/P1 -> MTS14400 SL1-9 L9/P9
+	 L1/P2 -> MTS14400 SL1-9 L10/P9
+	 L2/P2 -> MTS14400 SL1-10 L5/P9
+	 L3/P2 -> MTS14400 SL1-11 L8/P9
+	 L4/P2 -> MTS14400 SL1-12 L6/P9
+	 L5/P2 -> MTS14400 SL1-12 L7/P9
+	 L6/P2 -> MTS14400 SL1-13 L5/P9
+	 L7/P2 -> MTS14400 SL1-14 L9/P9
+	 L8/P2 -> MTS14400 SL1-14 L10/P9
+	 L9/P2 -> MTS14400 SL1-15 L5/P9
+	 L10/P2 -> MTS14400 SL1-16 L5/P9
+	 L11/P2 -> MTS14400 SL1-17 L9/P9
+	 L12/P2 -> MTS14400 SL1-17 L10/P9
+	 L1/P3 -> MTS14400 SL1-18 L5/P9
+	 L2/P3 -> MTS14400 SL1-19 L7/P9
+	 L3/P3 -> MTS14400 SL1-20 L7/P9
+	 L4/P3 -> MTS14400 SL1-20 L8/P9
+	 L5/P3 -> MTS14400 SL1-21 L5/P9
+	 L6/P3 -> MTS14400 SL1-22 L9/P9
+	 L7/P3 -> MTS14400 SL1-22 L10/P9
+	 L8/P3 -> MTS14400 SL1-23 L5/P9
+	 L9/P3 -> MTS14400 SL1-24 L5/P9
+	 L10/P3 -> MTS14400 SL1-25 L9/P9
+	 L11/P3 -> MTS14400 SL1-25 L10/P9
+	 L12/P3 -> MTS14400 SL1-26 L5/P9
+	 L1/P4 -> MTS14400 SL1-27 L6/P9
+	 L2/P4 -> MTS14400 SL1-28 L8/P9
+	 L3/P4 -> MTS14400 SL1-28 L9/P9
+	 L4/P4 -> MTS14400 SL1-29 L5/P9
+	 L5/P4 -> MTS14400 SL1-30 L9/P9
+	 L6/P4 -> MTS14400 SL1-30 L10/P9
+	 L7/P4 -> MTS14400 SL1-31 L5/P9
+	 L8/P4 -> MTS14400 SL1-32 L5/P9
+	 L9/P4 -> MTS14400 SL1-33 L9/P9
+	 L10/P4 -> MTS14400 SL1-33 L10/P9
+	 L11/P4 -> MTS14400 SL1-34 L5/P9
+	 L12/P4 -> MTS14400 SL1-35 L5/P9
+	 L1/P5 -> MTS14400 SL1-36 L9/P9
+	 L2/P5 -> MTS14400 SL1-36 L10/P9
+	 L3/P5 -> MTS14400 SL1-37 L5/P9
+	 L4/P5 -> MTS14400 SL1-38 L9/P9
+	 L5/P5 -> MTS14400 SL1-39 L5/P9
+	 L6/P5 -> MTS14400 SL1-39 L6/P9
+	 L7/P5 -> MTS14400 SL1-40 L5/P9
+	 L8/P5 -> MTS14400 SL1-41 L9/P9
+	 L9/P5 -> MTS14400 SL1-41 L10/P9
+	 L10/P5 -> MTS14400 SL1-42 L5/P9
+	 L11/P5 -> MTS14400 SL1-43 L5/P9
+	 L12/P5 -> MTS14400 SL1-44 L9/P9
+	 L1/P6 -> MTS14400 SL1-44 L10/P9
+	 L2/P6 -> MTS14400 SL1-45 L5/P9
+	 L3/P6 -> MTS14400 SL1-46 L8/P9
+	 L4/P6 -> MTS14400 SL1-47 L6/P9
+	 L5/P6 -> MTS14400 SL1-47 L7/P9
+	 L6/P6 -> MTS14400 SL1-48 L5/P9
+	 L7/P6 -> MTS14400 SL1-49 L9/P9
+	 L8/P6 -> MTS14400 SL1-49 L10/P9
+	 L9/P6 -> MTS14400 SL1-50 L5/P9
+	 L10/P6 -> MTS14400 SL1-51 L5/P9
+	 L11/P6 -> MTS14400 SL1-52 L9/P9
+	 L12/P6 -> MTS14400 SL1-52 L10/P9
+	 L1/P7 -> MTS14400 SL1-53 L5/P9
+	 L2/P7 -> MTS14400 SL1-54 L7/P9
+	 L3/P7 -> MTS14400 SL1-55 L7/P9
+	 L4/P7 -> MTS14400 SL1-55 L8/P9
+	 L5/P7 -> MTS14400 SL1-56 L5/P9
+	 L6/P7 -> MTS14400 SL1-57 L9/P9
+	 L7/P7 -> MTS14400 SL1-57 L10/P9
+	 L8/P7 -> MTS14400 SL1-58 L5/P9
+	 L9/P7 -> MTS14400 SL1-59 L5/P9
+	 L10/P7 -> MTS14400 SL1-60 L9/P9
+	 L11/P7 -> MTS14400 SL1-60 L10/P9
+	 L12/P7 -> MTS14400 SL1-61 L5/P9
+	 L1/P8 -> MTS14400 SL1-62 L6/P9
+	 L2/P8 -> MTS14400 SL1-63 L8/P9
+	 L3/P8 -> MTS14400 SL1-63 L9/P9
+	 L4/P8 -> MTS14400 SL1-64 L5/P9
+	 L5/P8 -> MTS14400 SL1-65 L9/P9
+	 L6/P8 -> MTS14400 SL1-65 L10/P9
+	 L7/P8 -> MTS14400 SL1-66 L5/P9
+	 L8/P8 -> MTS14400 SL1-67 L5/P9
+	 L9/P8 -> MTS14400 SL1-68 L9/P9
+	 L10/P8 -> MTS14400 SL1-68 L10/P9
+	 L11/P8 -> MTS14400 SL1-69 L5/P9
+	 L12/P8 -> MTS14400 SL1-70 L5/P9
+	 L1/P9 -> MTS14400 SL1-71 L9/P9
+	 L2/P9 -> MTS14400 SL1-71 L10/P9
+	 L3/P9 -> MTS14400 SL1-72 L5/P9
+	 L4/P9 -> MTS14400 SL1-73 L9/P9
+	 L5/P9 -> MTS14400 SL1-74 L5/P9
+	 L6/P9 -> MTS14400 SL1-74 L6/P9
+	 L7/P9 -> MTS14400 SL1-75 L5/P9
+	 L8/P9 -> MTS14400 SL1-76 L9/P9
+	 L9/P9 -> MTS14400 SL1-76 L10/P9
+	 L10/P9 -> MTS14400 SL1-77 L5/P9
+	 L11/P9 -> MTS14400 SL1-78 L5/P9
+	 L12/P9 -> MTS14400 SL1-79 L9/P9
+	 L1/P10 -> MTS14400 SL1-79 L10/P9
+	 L2/P10 -> MTS14400 SL1-80 L5/P9
+	 L3/P10 -> MTS14400 SL1-81 L8/P9
+	 L4/P10 -> MTS14400 SL1-82 L6/P9
+	 L5/P10 -> MTS14400 SL1-82 L7/P9
+	 L6/P10 -> MTS14400 SL1-83 L5/P9
+	 L7/P10 -> MTS14400 SL1-84 L9/P9
+	 L8/P10 -> MTS14400 SL1-84 L10/P9
+	 L9/P10 -> MTS14400 SL1-85 L5/P9
+	 L10/P10 -> MTS14400 SL1-86 L5/P9
+	 L11/P10 -> MTS14400 SL1-87 L9/P9
+	 L12/P10 -> MTS14400 SL1-87 L10/P9
+	 L1/P11 -> MTS14400 SL1-88 L5/P9
+	 L2/P11 -> MTS14400 SL1-89 L7/P9
+	 L3/P11 -> MTS14400 SL1-90 L7/P9
+	 L4/P11 -> MTS14400 SL1-90 L8/P9
+	 L5/P11 -> MTS14400 SL1-91 L5/P9
+	 L6/P11 -> MTS14400 SL1-92 L9/P9
+	 L7/P11 -> MTS14400 SL1-92 L10/P9
+	 L8/P11 -> MTS14400 SL1-93 L5/P9
+	 L9/P11 -> MTS14400 SL1-94 L5/P9
+	 L10/P11 -> MTS14400 SL1-95 L9/P9
+	 L11/P11 -> MTS14400 SL1-95 L10/P9
+	 L12/P11 -> MTS14400 SL1-96 L5/P9
+	 L1/P12 -> MTS14400 SL1-97 L6/P9
+	 L2/P12 -> MTS14400 SL1-98 L8/P9
+	 L3/P12 -> MTS14400 SL1-98 L9/P9
+	 L4/P12 -> MTS14400 SL1-99 L5/P9
+	 L5/P12 -> MTS14400 SL1-100 L9/P9
+	 L6/P12 -> MTS14400 SL1-100 L10/P9
+	 L7/P12 -> MTS14400 SL1-101 L5/P9
+	 L8/P12 -> MTS14400 SL1-102 L5/P9
+	 L9/P12 -> MTS14400 SL1-103 L9/P9
+	 L10/P12 -> MTS14400 SL1-103 L10/P9
+	 L11/P12 -> MTS14400 SL1-104 L5/P9
+	 L12/P12 -> MTS14400 SL1-105 L5/P9
+
+MTS14400 SL2-6
+	 L1/P1 -> MTS14400 SL1-1 L11/P9
+	 L2/P1 -> MTS14400 SL1-1 L12/P9
+	 L3/P1 -> MTS14400 SL1-2 L6/P9
+	 L4/P1 -> MTS14400 SL1-3 L10/P9
+	 L5/P1 -> MTS14400 SL1-4 L7/P9
+	 L6/P1 -> MTS14400 SL1-4 L8/P9
+	 L7/P1 -> MTS14400 SL1-5 L6/P9
+	 L8/P1 -> MTS14400 SL1-6 L11/P9
+	 L9/P1 -> MTS14400 SL1-6 L12/P9
+	 L10/P1 -> MTS14400 SL1-7 L6/P9
+	 L11/P1 -> MTS14400 SL1-8 L6/P9
+	 L12/P1 -> MTS14400 SL1-9 L11/P9
+	 L1/P2 -> MTS14400 SL1-9 L12/P9
+	 L2/P2 -> MTS14400 SL1-10 L6/P9
+	 L3/P2 -> MTS14400 SL1-11 L9/P9
+	 L4/P2 -> MTS14400 SL1-12 L8/P9
+	 L5/P2 -> MTS14400 SL1-12 L9/P9
+	 L6/P2 -> MTS14400 SL1-13 L6/P9
+	 L7/P2 -> MTS14400 SL1-14 L11/P9
+	 L8/P2 -> MTS14400 SL1-14 L12/P9
+	 L9/P2 -> MTS14400 SL1-15 L6/P9
+	 L10/P2 -> MTS14400 SL1-16 L6/P9
+	 L11/P2 -> MTS14400 SL1-17 L11/P9
+	 L12/P2 -> MTS14400 SL1-17 L12/P9
+	 L1/P3 -> MTS14400 SL1-18 L6/P9
+	 L2/P3 -> MTS14400 SL1-19 L8/P9
+	 L3/P3 -> MTS14400 SL1-20 L9/P9
+	 L4/P3 -> MTS14400 SL1-20 L10/P9
+	 L5/P3 -> MTS14400 SL1-21 L6/P9
+	 L6/P3 -> MTS14400 SL1-22 L11/P9
+	 L7/P3 -> MTS14400 SL1-22 L12/P9
+	 L8/P3 -> MTS14400 SL1-23 L6/P9
+	 L9/P3 -> MTS14400 SL1-24 L6/P9
+	 L10/P3 -> MTS14400 SL1-25 L11/P9
+	 L11/P3 -> MTS14400 SL1-25 L12/P9
+	 L12/P3 -> MTS14400 SL1-26 L6/P9
+	 L1/P4 -> MTS14400 SL1-27 L7/P9
+	 L2/P4 -> MTS14400 SL1-28 L10/P9
+	 L3/P4 -> MTS14400 SL1-28 L11/P9
+	 L4/P4 -> MTS14400 SL1-29 L6/P9
+	 L5/P4 -> MTS14400 SL1-30 L11/P9
+	 L6/P4 -> MTS14400 SL1-31 L6/P9
+	 L7/P4 -> MTS14400 SL1-31 L7/P9
+	 L8/P4 -> MTS14400 SL1-32 L6/P9
+	 L9/P4 -> MTS14400 SL1-33 L11/P9
+	 L10/P4 -> MTS14400 SL1-33 L12/P9
+	 L11/P4 -> MTS14400 SL1-34 L6/P9
+	 L12/P4 -> MTS14400 SL1-35 L6/P9
+	 L1/P5 -> MTS14400 SL1-36 L11/P9
+	 L2/P5 -> MTS14400 SL1-36 L12/P9
+	 L3/P5 -> MTS14400 SL1-37 L6/P9
+	 L4/P5 -> MTS14400 SL1-38 L10/P9
+	 L5/P5 -> MTS14400 SL1-39 L7/P9
+	 L6/P5 -> MTS14400 SL1-39 L8/P9
+	 L7/P5 -> MTS14400 SL1-40 L6/P9
+	 L8/P5 -> MTS14400 SL1-41 L11/P9
+	 L9/P5 -> MTS14400 SL1-41 L12/P9
+	 L10/P5 -> MTS14400 SL1-42 L6/P9
+	 L11/P5 -> MTS14400 SL1-43 L6/P9
+	 L12/P5 -> MTS14400 SL1-44 L11/P9
+	 L1/P6 -> MTS14400 SL1-44 L12/P9
+	 L2/P6 -> MTS14400 SL1-45 L6/P9
+	 L3/P6 -> MTS14400 SL1-46 L9/P9
+	 L4/P6 -> MTS14400 SL1-47 L8/P9
+	 L5/P6 -> MTS14400 SL1-47 L9/P9
+	 L6/P6 -> MTS14400 SL1-48 L6/P9
+	 L7/P6 -> MTS14400 SL1-49 L11/P9
+	 L8/P6 -> MTS14400 SL1-49 L12/P9
+	 L9/P6 -> MTS14400 SL1-50 L6/P9
+	 L10/P6 -> MTS14400 SL1-51 L6/P9
+	 L11/P6 -> MTS14400 SL1-52 L11/P9
+	 L12/P6 -> MTS14400 SL1-52 L12/P9
+	 L1/P7 -> MTS14400 SL1-53 L6/P9
+	 L2/P7 -> MTS14400 SL1-54 L8/P9
+	 L3/P7 -> MTS14400 SL1-55 L9/P9
+	 L4/P7 -> MTS14400 SL1-55 L10/P9
+	 L5/P7 -> MTS14400 SL1-56 L6/P9
+	 L6/P7 -> MTS14400 SL1-57 L11/P9
+	 L7/P7 -> MTS14400 SL1-57 L12/P9
+	 L8/P7 -> MTS14400 SL1-58 L6/P9
+	 L9/P7 -> MTS14400 SL1-59 L6/P9
+	 L10/P7 -> MTS14400 SL1-60 L11/P9
+	 L11/P7 -> MTS14400 SL1-60 L12/P9
+	 L12/P7 -> MTS14400 SL1-61 L6/P9
+	 L1/P8 -> MTS14400 SL1-62 L7/P9
+	 L2/P8 -> MTS14400 SL1-63 L10/P9
+	 L3/P8 -> MTS14400 SL1-63 L11/P9
+	 L4/P8 -> MTS14400 SL1-64 L6/P9
+	 L5/P8 -> MTS14400 SL1-65 L11/P9
+	 L6/P8 -> MTS14400 SL1-66 L6/P9
+	 L7/P8 -> MTS14400 SL1-66 L7/P9
+	 L8/P8 -> MTS14400 SL1-67 L6/P9
+	 L9/P8 -> MTS14400 SL1-68 L11/P9
+	 L10/P8 -> MTS14400 SL1-68 L12/P9
+	 L11/P8 -> MTS14400 SL1-69 L6/P9
+	 L12/P8 -> MTS14400 SL1-70 L6/P9
+	 L1/P9 -> MTS14400 SL1-71 L11/P9
+	 L2/P9 -> MTS14400 SL1-71 L12/P9
+	 L3/P9 -> MTS14400 SL1-72 L6/P9
+	 L4/P9 -> MTS14400 SL1-73 L10/P9
+	 L5/P9 -> MTS14400 SL1-74 L7/P9
+	 L6/P9 -> MTS14400 SL1-74 L8/P9
+	 L7/P9 -> MTS14400 SL1-75 L6/P9
+	 L8/P9 -> MTS14400 SL1-76 L11/P9
+	 L9/P9 -> MTS14400 SL1-76 L12/P9
+	 L10/P9 -> MTS14400 SL1-77 L6/P9
+	 L11/P9 -> MTS14400 SL1-78 L6/P9
+	 L12/P9 -> MTS14400 SL1-79 L11/P9
+	 L1/P10 -> MTS14400 SL1-79 L12/P9
+	 L2/P10 -> MTS14400 SL1-80 L6/P9
+	 L3/P10 -> MTS14400 SL1-81 L9/P9
+	 L4/P10 -> MTS14400 SL1-82 L8/P9
+	 L5/P10 -> MTS14400 SL1-82 L9/P9
+	 L6/P10 -> MTS14400 SL1-83 L6/P9
+	 L7/P10 -> MTS14400 SL1-84 L11/P9
+	 L8/P10 -> MTS14400 SL1-84 L12/P9
+	 L9/P10 -> MTS14400 SL1-85 L6/P9
+	 L10/P10 -> MTS14400 SL1-86 L6/P9
+	 L11/P10 -> MTS14400 SL1-87 L11/P9
+	 L12/P10 -> MTS14400 SL1-87 L12/P9
+	 L1/P11 -> MTS14400 SL1-88 L6/P9
+	 L2/P11 -> MTS14400 SL1-89 L8/P9
+	 L3/P11 -> MTS14400 SL1-90 L9/P9
+	 L4/P11 -> MTS14400 SL1-90 L10/P9
+	 L5/P11 -> MTS14400 SL1-91 L6/P9
+	 L6/P11 -> MTS14400 SL1-92 L11/P9
+	 L7/P11 -> MTS14400 SL1-92 L12/P9
+	 L8/P11 -> MTS14400 SL1-93 L6/P9
+	 L9/P11 -> MTS14400 SL1-94 L6/P9
+	 L10/P11 -> MTS14400 SL1-95 L11/P9
+	 L11/P11 -> MTS14400 SL1-95 L12/P9
+	 L12/P11 -> MTS14400 SL1-96 L6/P9
+	 L1/P12 -> MTS14400 SL1-97 L7/P9
+	 L2/P12 -> MTS14400 SL1-98 L10/P9
+	 L3/P12 -> MTS14400 SL1-98 L11/P9
+	 L4/P12 -> MTS14400 SL1-99 L6/P9
+	 L5/P12 -> MTS14400 SL1-100 L11/P9
+	 L6/P12 -> MTS14400 SL1-101 L6/P9
+	 L7/P12 -> MTS14400 SL1-101 L7/P9
+	 L8/P12 -> MTS14400 SL1-102 L6/P9
+	 L9/P12 -> MTS14400 SL1-103 L11/P9
+	 L10/P12 -> MTS14400 SL1-103 L12/P9
+	 L11/P12 -> MTS14400 SL1-104 L6/P9
+	 L12/P12 -> MTS14400 SL1-105 L6/P9
+
+MTS14400 SL2-7
+	 L1/P1 -> MTS14400 SL1-1 L1/P10
+	 L2/P1 -> MTS14400 SL1-1 L2/P10
+	 L3/P1 -> MTS14400 SL1-2 L7/P9
+	 L4/P1 -> MTS14400 SL1-3 L11/P9
+	 L5/P1 -> MTS14400 SL1-4 L9/P9
+	 L6/P1 -> MTS14400 SL1-4 L10/P9
+	 L7/P1 -> MTS14400 SL1-5 L7/P9
+	 L8/P1 -> MTS14400 SL1-6 L1/P10
+	 L9/P1 -> MTS14400 SL1-6 L2/P10
+	 L10/P1 -> MTS14400 SL1-7 L7/P9
+	 L11/P1 -> MTS14400 SL1-8 L7/P9
+	 L12/P1 -> MTS14400 SL1-9 L1/P10
+	 L1/P2 -> MTS14400 SL1-9 L2/P10
+	 L2/P2 -> MTS14400 SL1-10 L7/P9
+	 L3/P2 -> MTS14400 SL1-11 L10/P9
+	 L4/P2 -> MTS14400 SL1-12 L10/P9
+	 L5/P2 -> MTS14400 SL1-12 L11/P9
+	 L6/P2 -> MTS14400 SL1-13 L7/P9
+	 L7/P2 -> MTS14400 SL1-14 L1/P10
+	 L8/P2 -> MTS14400 SL1-14 L2/P10
+	 L9/P2 -> MTS14400 SL1-15 L7/P9
+	 L10/P2 -> MTS14400 SL1-16 L7/P9
+	 L11/P2 -> MTS14400 SL1-17 L1/P10
+	 L12/P2 -> MTS14400 SL1-17 L2/P10
+	 L1/P3 -> MTS14400 SL1-18 L7/P9
+	 L2/P3 -> MTS14400 SL1-19 L9/P9
+	 L3/P3 -> MTS14400 SL1-20 L11/P9
+	 L4/P3 -> MTS14400 SL1-20 L12/P9
+	 L5/P3 -> MTS14400 SL1-21 L7/P9
+	 L6/P3 -> MTS14400 SL1-22 L1/P10
+	 L7/P3 -> MTS14400 SL1-23 L7/P9
+	 L8/P3 -> MTS14400 SL1-23 L8/P9
+	 L9/P3 -> MTS14400 SL1-24 L7/P9
+	 L10/P3 -> MTS14400 SL1-25 L1/P10
+	 L11/P3 -> MTS14400 SL1-25 L2/P10
+	 L12/P3 -> MTS14400 SL1-26 L7/P9
+	 L1/P4 -> MTS14400 SL1-27 L8/P9
+	 L2/P4 -> MTS14400 SL1-28 L12/P9
+	 L3/P4 -> MTS14400 SL1-28 L1/P10
+	 L4/P4 -> MTS14400 SL1-29 L7/P9
+	 L5/P4 -> MTS14400 SL1-30 L12/P9
+	 L6/P4 -> MTS14400 SL1-31 L8/P9
+	 L7/P4 -> MTS14400 SL1-31 L9/P9
+	 L8/P4 -> MTS14400 SL1-32 L7/P9
+	 L9/P4 -> MTS14400 SL1-33 L1/P10
+	 L10/P4 -> MTS14400 SL1-33 L2/P10
+	 L11/P4 -> MTS14400 SL1-34 L7/P9
+	 L12/P4 -> MTS14400 SL1-35 L7/P9
+	 L1/P5 -> MTS14400 SL1-36 L1/P10
+	 L2/P5 -> MTS14400 SL1-36 L2/P10
+	 L3/P5 -> MTS14400 SL1-37 L7/P9
+	 L4/P5 -> MTS14400 SL1-38 L11/P9
+	 L5/P5 -> MTS14400 SL1-39 L9/P9
+	 L6/P5 -> MTS14400 SL1-39 L10/P9
+	 L7/P5 -> MTS14400 SL1-40 L7/P9
+	 L8/P5 -> MTS14400 SL1-41 L1/P10
+	 L9/P5 -> MTS14400 SL1-41 L2/P10
+	 L10/P5 -> MTS14400 SL1-42 L7/P9
+	 L11/P5 -> MTS14400 SL1-43 L7/P9
+	 L12/P5 -> MTS14400 SL1-44 L1/P10
+	 L1/P6 -> MTS14400 SL1-44 L2/P10
+	 L2/P6 -> MTS14400 SL1-45 L7/P9
+	 L3/P6 -> MTS14400 SL1-46 L10/P9
+	 L4/P6 -> MTS14400 SL1-47 L10/P9
+	 L5/P6 -> MTS14400 SL1-47 L11/P9
+	 L6/P6 -> MTS14400 SL1-48 L7/P9
+	 L7/P6 -> MTS14400 SL1-49 L1/P10
+	 L8/P6 -> MTS14400 SL1-49 L2/P10
+	 L9/P6 -> MTS14400 SL1-50 L7/P9
+	 L10/P6 -> MTS14400 SL1-51 L7/P9
+	 L11/P6 -> MTS14400 SL1-52 L1/P10
+	 L12/P6 -> MTS14400 SL1-52 L2/P10
+	 L1/P7 -> MTS14400 SL1-53 L7/P9
+	 L2/P7 -> MTS14400 SL1-54 L9/P9
+	 L3/P7 -> MTS14400 SL1-55 L11/P9
+	 L4/P7 -> MTS14400 SL1-55 L12/P9
+	 L5/P7 -> MTS14400 SL1-56 L7/P9
+	 L6/P7 -> MTS14400 SL1-57 L1/P10
+	 L7/P7 -> MTS14400 SL1-58 L7/P9
+	 L8/P7 -> MTS14400 SL1-58 L8/P9
+	 L9/P7 -> MTS14400 SL1-59 L7/P9
+	 L10/P7 -> MTS14400 SL1-60 L1/P10
+	 L11/P7 -> MTS14400 SL1-60 L2/P10
+	 L12/P7 -> MTS14400 SL1-61 L7/P9
+	 L1/P8 -> MTS14400 SL1-62 L8/P9
+	 L2/P8 -> MTS14400 SL1-63 L12/P9
+	 L3/P8 -> MTS14400 SL1-63 L1/P10
+	 L4/P8 -> MTS14400 SL1-64 L7/P9
+	 L5/P8 -> MTS14400 SL1-65 L12/P9
+	 L6/P8 -> MTS14400 SL1-66 L8/P9
+	 L7/P8 -> MTS14400 SL1-66 L9/P9
+	 L8/P8 -> MTS14400 SL1-67 L7/P9
+	 L9/P8 -> MTS14400 SL1-68 L1/P10
+	 L10/P8 -> MTS14400 SL1-68 L2/P10
+	 L11/P8 -> MTS14400 SL1-69 L7/P9
+	 L12/P8 -> MTS14400 SL1-70 L7/P9
+	 L1/P9 -> MTS14400 SL1-71 L1/P10
+	 L2/P9 -> MTS14400 SL1-71 L2/P10
+	 L3/P9 -> MTS14400 SL1-72 L7/P9
+	 L4/P9 -> MTS14400 SL1-73 L11/P9
+	 L5/P9 -> MTS14400 SL1-74 L9/P9
+	 L6/P9 -> MTS14400 SL1-74 L10/P9
+	 L7/P9 -> MTS14400 SL1-75 L7/P9
+	 L8/P9 -> MTS14400 SL1-76 L1/P10
+	 L9/P9 -> MTS14400 SL1-76 L2/P10
+	 L10/P9 -> MTS14400 SL1-77 L7/P9
+	 L11/P9 -> MTS14400 SL1-78 L7/P9
+	 L12/P9 -> MTS14400 SL1-79 L1/P10
+	 L1/P10 -> MTS14400 SL1-79 L2/P10
+	 L2/P10 -> MTS14400 SL1-80 L7/P9
+	 L3/P10 -> MTS14400 SL1-81 L10/P9
+	 L4/P10 -> MTS14400 SL1-82 L10/P9
+	 L5/P10 -> MTS14400 SL1-82 L11/P9
+	 L6/P10 -> MTS14400 SL1-83 L7/P9
+	 L7/P10 -> MTS14400 SL1-84 L1/P10
+	 L8/P10 -> MTS14400 SL1-84 L2/P10
+	 L9/P10 -> MTS14400 SL1-85 L7/P9
+	 L10/P10 -> MTS14400 SL1-86 L7/P9
+	 L11/P10 -> MTS14400 SL1-87 L1/P10
+	 L12/P10 -> MTS14400 SL1-87 L2/P10
+	 L1/P11 -> MTS14400 SL1-88 L7/P9
+	 L2/P11 -> MTS14400 SL1-89 L9/P9
+	 L3/P11 -> MTS14400 SL1-90 L11/P9
+	 L4/P11 -> MTS14400 SL1-90 L12/P9
+	 L5/P11 -> MTS14400 SL1-91 L7/P9
+	 L6/P11 -> MTS14400 SL1-92 L1/P10
+	 L7/P11 -> MTS14400 SL1-93 L7/P9
+	 L8/P11 -> MTS14400 SL1-93 L8/P9
+	 L9/P11 -> MTS14400 SL1-94 L7/P9
+	 L10/P11 -> MTS14400 SL1-95 L1/P10
+	 L11/P11 -> MTS14400 SL1-95 L2/P10
+	 L12/P11 -> MTS14400 SL1-96 L7/P9
+	 L1/P12 -> MTS14400 SL1-97 L8/P9
+	 L2/P12 -> MTS14400 SL1-98 L12/P9
+	 L3/P12 -> MTS14400 SL1-98 L1/P10
+	 L4/P12 -> MTS14400 SL1-99 L7/P9
+	 L5/P12 -> MTS14400 SL1-100 L12/P9
+	 L6/P12 -> MTS14400 SL1-101 L8/P9
+	 L7/P12 -> MTS14400 SL1-101 L9/P9
+	 L8/P12 -> MTS14400 SL1-102 L7/P9
+	 L9/P12 -> MTS14400 SL1-103 L1/P10
+	 L10/P12 -> MTS14400 SL1-103 L2/P10
+	 L11/P12 -> MTS14400 SL1-104 L7/P9
+	 L12/P12 -> MTS14400 SL1-105 L7/P9
+
+MTS14400 SL2-8
+	 L1/P1 -> MTS14400 SL1-1 L3/P10
+	 L2/P1 -> MTS14400 SL1-1 L4/P10
+	 L3/P1 -> MTS14400 SL1-2 L8/P9
+	 L4/P1 -> MTS14400 SL1-3 L12/P9
+	 L5/P1 -> MTS14400 SL1-4 L11/P9
+	 L6/P1 -> MTS14400 SL1-4 L12/P9
+	 L7/P1 -> MTS14400 SL1-5 L8/P9
+	 L8/P1 -> MTS14400 SL1-6 L3/P10
+	 L9/P1 -> MTS14400 SL1-6 L4/P10
+	 L10/P1 -> MTS14400 SL1-7 L8/P9
+	 L11/P1 -> MTS14400 SL1-8 L8/P9
+	 L12/P1 -> MTS14400 SL1-9 L3/P10
+	 L1/P2 -> MTS14400 SL1-9 L4/P10
+	 L2/P2 -> MTS14400 SL1-10 L8/P9
+	 L3/P2 -> MTS14400 SL1-11 L11/P9
+	 L4/P2 -> MTS14400 SL1-12 L12/P9
+	 L5/P2 -> MTS14400 SL1-12 L1/P10
+	 L6/P2 -> MTS14400 SL1-13 L8/P9
+	 L7/P2 -> MTS14400 SL1-14 L3/P10
+	 L8/P2 -> MTS14400 SL1-15 L8/P9
+	 L9/P2 -> MTS14400 SL1-15 L9/P9
+	 L10/P2 -> MTS14400 SL1-16 L8/P9
+	 L11/P2 -> MTS14400 SL1-17 L3/P10
+	 L12/P2 -> MTS14400 SL1-17 L4/P10
+	 L1/P3 -> MTS14400 SL1-18 L8/P9
+	 L2/P3 -> MTS14400 SL1-19 L10/P9
+	 L3/P3 -> MTS14400 SL1-20 L1/P10
+	 L4/P3 -> MTS14400 SL1-20 L2/P10
+	 L5/P3 -> MTS14400 SL1-21 L8/P9
+	 L6/P3 -> MTS14400 SL1-22 L2/P10
+	 L7/P3 -> MTS14400 SL1-23 L9/P9
+	 L8/P3 -> MTS14400 SL1-23 L10/P9
+	 L9/P3 -> MTS14400 SL1-24 L8/P9
+	 L10/P3 -> MTS14400 SL1-25 L3/P10
+	 L11/P3 -> MTS14400 SL1-25 L4/P10
+	 L12/P3 -> MTS14400 SL1-26 L8/P9
+	 L1/P4 -> MTS14400 SL1-27 L9/P9
+	 L2/P4 -> MTS14400 SL1-28 L2/P10
+	 L3/P4 -> MTS14400 SL1-28 L3/P10
+	 L4/P4 -> MTS14400 SL1-29 L8/P9
+	 L5/P4 -> MTS14400 SL1-30 L1/P10
+	 L6/P4 -> MTS14400 SL1-31 L10/P9
+	 L7/P4 -> MTS14400 SL1-31 L11/P9
+	 L8/P4 -> MTS14400 SL1-32 L8/P9
+	 L9/P4 -> MTS14400 SL1-33 L3/P10
+	 L10/P4 -> MTS14400 SL1-33 L4/P10
+	 L11/P4 -> MTS14400 SL1-34 L8/P9
+	 L12/P4 -> MTS14400 SL1-35 L8/P9
+	 L1/P5 -> MTS14400 SL1-36 L3/P10
+	 L2/P5 -> MTS14400 SL1-36 L4/P10
+	 L3/P5 -> MTS14400 SL1-37 L8/P9
+	 L4/P5 -> MTS14400 SL1-38 L12/P9
+	 L5/P5 -> MTS14400 SL1-39 L11/P9
+	 L6/P5 -> MTS14400 SL1-39 L12/P9
+	 L7/P5 -> MTS14400 SL1-40 L8/P9
+	 L8/P5 -> MTS14400 SL1-41 L3/P10
+	 L9/P5 -> MTS14400 SL1-41 L4/P10
+	 L10/P5 -> MTS14400 SL1-42 L8/P9
+	 L11/P5 -> MTS14400 SL1-43 L8/P9
+	 L12/P5 -> MTS14400 SL1-44 L3/P10
+	 L1/P6 -> MTS14400 SL1-44 L4/P10
+	 L2/P6 -> MTS14400 SL1-45 L8/P9
+	 L3/P6 -> MTS14400 SL1-46 L11/P9
+	 L4/P6 -> MTS14400 SL1-47 L12/P9
+	 L5/P6 -> MTS14400 SL1-47 L1/P10
+	 L6/P6 -> MTS14400 SL1-48 L8/P9
+	 L7/P6 -> MTS14400 SL1-49 L3/P10
+	 L8/P6 -> MTS14400 SL1-50 L8/P9
+	 L9/P6 -> MTS14400 SL1-50 L9/P9
+	 L10/P6 -> MTS14400 SL1-51 L8/P9
+	 L11/P6 -> MTS14400 SL1-52 L3/P10
+	 L12/P6 -> MTS14400 SL1-52 L4/P10
+	 L1/P7 -> MTS14400 SL1-53 L8/P9
+	 L2/P7 -> MTS14400 SL1-54 L10/P9
+	 L3/P7 -> MTS14400 SL1-55 L1/P10
+	 L4/P7 -> MTS14400 SL1-55 L2/P10
+	 L5/P7 -> MTS14400 SL1-56 L8/P9
+	 L6/P7 -> MTS14400 SL1-57 L2/P10
+	 L7/P7 -> MTS14400 SL1-58 L9/P9
+	 L8/P7 -> MTS14400 SL1-58 L10/P9
+	 L9/P7 -> MTS14400 SL1-59 L8/P9
+	 L10/P7 -> MTS14400 SL1-60 L3/P10
+	 L11/P7 -> MTS14400 SL1-60 L4/P10
+	 L12/P7 -> MTS14400 SL1-61 L8/P9
+	 L1/P8 -> MTS14400 SL1-62 L9/P9
+	 L2/P8 -> MTS14400 SL1-63 L2/P10
+	 L3/P8 -> MTS14400 SL1-63 L3/P10
+	 L4/P8 -> MTS14400 SL1-64 L8/P9
+	 L5/P8 -> MTS14400 SL1-65 L1/P10
+	 L6/P8 -> MTS14400 SL1-66 L10/P9
+	 L7/P8 -> MTS14400 SL1-66 L11/P9
+	 L8/P8 -> MTS14400 SL1-67 L8/P9
+	 L9/P8 -> MTS14400 SL1-68 L3/P10
+	 L10/P8 -> MTS14400 SL1-68 L4/P10
+	 L11/P8 -> MTS14400 SL1-69 L8/P9
+	 L12/P8 -> MTS14400 SL1-70 L8/P9
+	 L1/P9 -> MTS14400 SL1-71 L3/P10
+	 L2/P9 -> MTS14400 SL1-71 L4/P10
+	 L3/P9 -> MTS14400 SL1-72 L8/P9
+	 L4/P9 -> MTS14400 SL1-73 L12/P9
+	 L5/P9 -> MTS14400 SL1-74 L11/P9
+	 L6/P9 -> MTS14400 SL1-74 L12/P9
+	 L7/P9 -> MTS14400 SL1-75 L8/P9
+	 L8/P9 -> MTS14400 SL1-76 L3/P10
+	 L9/P9 -> MTS14400 SL1-76 L4/P10
+	 L10/P9 -> MTS14400 SL1-77 L8/P9
+	 L11/P9 -> MTS14400 SL1-78 L8/P9
+	 L12/P9 -> MTS14400 SL1-79 L3/P10
+	 L1/P10 -> MTS14400 SL1-79 L4/P10
+	 L2/P10 -> MTS14400 SL1-80 L8/P9
+	 L3/P10 -> MTS14400 SL1-81 L11/P9
+	 L4/P10 -> MTS14400 SL1-82 L12/P9
+	 L5/P10 -> MTS14400 SL1-82 L1/P10
+	 L6/P10 -> MTS14400 SL1-83 L8/P9
+	 L7/P10 -> MTS14400 SL1-84 L3/P10
+	 L8/P10 -> MTS14400 SL1-85 L8/P9
+	 L9/P10 -> MTS14400 SL1-85 L9/P9
+	 L10/P10 -> MTS14400 SL1-86 L8/P9
+	 L11/P10 -> MTS14400 SL1-87 L3/P10
+	 L12/P10 -> MTS14400 SL1-87 L4/P10
+	 L1/P11 -> MTS14400 SL1-88 L8/P9
+	 L2/P11 -> MTS14400 SL1-89 L10/P9
+	 L3/P11 -> MTS14400 SL1-90 L1/P10
+	 L4/P11 -> MTS14400 SL1-90 L2/P10
+	 L5/P11 -> MTS14400 SL1-91 L8/P9
+	 L6/P11 -> MTS14400 SL1-92 L2/P10
+	 L7/P11 -> MTS14400 SL1-93 L9/P9
+	 L8/P11 -> MTS14400 SL1-93 L10/P9
+	 L9/P11 -> MTS14400 SL1-94 L8/P9
+	 L10/P11 -> MTS14400 SL1-95 L3/P10
+	 L11/P11 -> MTS14400 SL1-95 L4/P10
+	 L12/P11 -> MTS14400 SL1-96 L8/P9
+	 L1/P12 -> MTS14400 SL1-97 L9/P9
+	 L2/P12 -> MTS14400 SL1-98 L2/P10
+	 L3/P12 -> MTS14400 SL1-98 L3/P10
+	 L4/P12 -> MTS14400 SL1-99 L8/P9
+	 L5/P12 -> MTS14400 SL1-100 L1/P10
+	 L6/P12 -> MTS14400 SL1-101 L10/P9
+	 L7/P12 -> MTS14400 SL1-101 L11/P9
+	 L8/P12 -> MTS14400 SL1-102 L8/P9
+	 L9/P12 -> MTS14400 SL1-103 L3/P10
+	 L10/P12 -> MTS14400 SL1-103 L4/P10
+	 L11/P12 -> MTS14400 SL1-104 L8/P9
+	 L12/P12 -> MTS14400 SL1-105 L8/P9
+
+MTS14400 SL2-9
+	 L1/P1 -> MTS14400 SL1-1 L5/P10
+	 L2/P1 -> MTS14400 SL1-1 L6/P10
+	 L3/P1 -> MTS14400 SL1-2 L9/P9
+	 L4/P1 -> MTS14400 SL1-3 L1/P10
+	 L5/P1 -> MTS14400 SL1-4 L1/P10
+	 L6/P1 -> MTS14400 SL1-4 L2/P10
+	 L7/P1 -> MTS14400 SL1-5 L9/P9
+	 L8/P1 -> MTS14400 SL1-6 L5/P10
+	 L9/P1 -> MTS14400 SL1-7 L9/P9
+	 L10/P1 -> MTS14400 SL1-7 L10/P9
+	 L11/P1 -> MTS14400 SL1-8 L9/P9
+	 L12/P1 -> MTS14400 SL1-9 L5/P10
+	 L1/P2 -> MTS14400 SL1-9 L6/P10
+	 L2/P2 -> MTS14400 SL1-10 L9/P9
+	 L3/P2 -> MTS14400 SL1-11 L12/P9
+	 L4/P2 -> MTS14400 SL1-12 L2/P10
+	 L5/P2 -> MTS14400 SL1-12 L3/P10
+	 L6/P2 -> MTS14400 SL1-13 L9/P9
+	 L7/P2 -> MTS14400 SL1-14 L4/P10
+	 L8/P2 -> MTS14400 SL1-15 L10/P9
+	 L9/P2 -> MTS14400 SL1-15 L11/P9
+	 L10/P2 -> MTS14400 SL1-16 L9/P9
+	 L11/P2 -> MTS14400 SL1-17 L5/P10
+	 L12/P2 -> MTS14400 SL1-17 L6/P10
+	 L1/P3 -> MTS14400 SL1-18 L9/P9
+	 L2/P3 -> MTS14400 SL1-19 L11/P9
+	 L3/P3 -> MTS14400 SL1-20 L3/P10
+	 L4/P3 -> MTS14400 SL1-20 L4/P10
+	 L5/P3 -> MTS14400 SL1-21 L9/P9
+	 L6/P3 -> MTS14400 SL1-22 L3/P10
+	 L7/P3 -> MTS14400 SL1-23 L11/P9
+	 L8/P3 -> MTS14400 SL1-23 L12/P9
+	 L9/P3 -> MTS14400 SL1-24 L9/P9
+	 L10/P3 -> MTS14400 SL1-25 L5/P10
+	 L11/P3 -> MTS14400 SL1-25 L6/P10
+	 L12/P3 -> MTS14400 SL1-26 L9/P9
+	 L1/P4 -> MTS14400 SL1-27 L10/P9
+	 L2/P4 -> MTS14400 SL1-28 L4/P10
+	 L3/P4 -> MTS14400 SL1-28 L5/P10
+	 L4/P4 -> MTS14400 SL1-29 L9/P9
+	 L5/P4 -> MTS14400 SL1-30 L2/P10
+	 L6/P4 -> MTS14400 SL1-31 L12/P9
+	 L7/P4 -> MTS14400 SL1-31 L1/P10
+	 L8/P4 -> MTS14400 SL1-32 L9/P9
+	 L9/P4 -> MTS14400 SL1-33 L5/P10
+	 L10/P4 -> MTS14400 SL1-33 L6/P10
+	 L11/P4 -> MTS14400 SL1-34 L9/P9
+	 L12/P4 -> MTS14400 SL1-35 L9/P9
+	 L1/P5 -> MTS14400 SL1-36 L5/P10
+	 L2/P5 -> MTS14400 SL1-36 L6/P10
+	 L3/P5 -> MTS14400 SL1-37 L9/P9
+	 L4/P5 -> MTS14400 SL1-38 L1/P10
+	 L5/P5 -> MTS14400 SL1-39 L1/P10
+	 L6/P5 -> MTS14400 SL1-39 L2/P10
+	 L7/P5 -> MTS14400 SL1-40 L9/P9
+	 L8/P5 -> MTS14400 SL1-41 L5/P10
+	 L9/P5 -> MTS14400 SL1-42 L9/P9
+	 L10/P5 -> MTS14400 SL1-42 L10/P9
+	 L11/P5 -> MTS14400 SL1-43 L9/P9
+	 L12/P5 -> MTS14400 SL1-44 L5/P10
+	 L1/P6 -> MTS14400 SL1-44 L6/P10
+	 L2/P6 -> MTS14400 SL1-45 L9/P9
+	 L3/P6 -> MTS14400 SL1-46 L12/P9
+	 L4/P6 -> MTS14400 SL1-47 L2/P10
+	 L5/P6 -> MTS14400 SL1-47 L3/P10
+	 L6/P6 -> MTS14400 SL1-48 L9/P9
+	 L7/P6 -> MTS14400 SL1-49 L4/P10
+	 L8/P6 -> MTS14400 SL1-50 L10/P9
+	 L9/P6 -> MTS14400 SL1-50 L11/P9
+	 L10/P6 -> MTS14400 SL1-51 L9/P9
+	 L11/P6 -> MTS14400 SL1-52 L5/P10
+	 L12/P6 -> MTS14400 SL1-52 L6/P10
+	 L1/P7 -> MTS14400 SL1-53 L9/P9
+	 L2/P7 -> MTS14400 SL1-54 L11/P9
+	 L3/P7 -> MTS14400 SL1-55 L3/P10
+	 L4/P7 -> MTS14400 SL1-55 L4/P10
+	 L5/P7 -> MTS14400 SL1-56 L9/P9
+	 L6/P7 -> MTS14400 SL1-57 L3/P10
+	 L7/P7 -> MTS14400 SL1-58 L11/P9
+	 L8/P7 -> MTS14400 SL1-58 L12/P9
+	 L9/P7 -> MTS14400 SL1-59 L9/P9
+	 L10/P7 -> MTS14400 SL1-60 L5/P10
+	 L11/P7 -> MTS14400 SL1-60 L6/P10
+	 L12/P7 -> MTS14400 SL1-61 L9/P9
+	 L1/P8 -> MTS14400 SL1-62 L10/P9
+	 L2/P8 -> MTS14400 SL1-63 L4/P10
+	 L3/P8 -> MTS14400 SL1-63 L5/P10
+	 L4/P8 -> MTS14400 SL1-64 L9/P9
+	 L5/P8 -> MTS14400 SL1-65 L2/P10
+	 L6/P8 -> MTS14400 SL1-66 L12/P9
+	 L7/P8 -> MTS14400 SL1-66 L1/P10
+	 L8/P8 -> MTS14400 SL1-67 L9/P9
+	 L9/P8 -> MTS14400 SL1-68 L5/P10
+	 L10/P8 -> MTS14400 SL1-68 L6/P10
+	 L11/P8 -> MTS14400 SL1-69 L9/P9
+	 L12/P8 -> MTS14400 SL1-70 L9/P9
+	 L1/P9 -> MTS14400 SL1-71 L5/P10
+	 L2/P9 -> MTS14400 SL1-71 L6/P10
+	 L3/P9 -> MTS14400 SL1-72 L9/P9
+	 L4/P9 -> MTS14400 SL1-73 L1/P10
+	 L5/P9 -> MTS14400 SL1-74 L1/P10
+	 L6/P9 -> MTS14400 SL1-74 L2/P10
+	 L7/P9 -> MTS14400 SL1-75 L9/P9
+	 L8/P9 -> MTS14400 SL1-76 L5/P10
+	 L9/P9 -> MTS14400 SL1-77 L9/P9
+	 L10/P9 -> MTS14400 SL1-77 L10/P9
+	 L11/P9 -> MTS14400 SL1-78 L9/P9
+	 L12/P9 -> MTS14400 SL1-79 L5/P10
+	 L1/P10 -> MTS14400 SL1-79 L6/P10
+	 L2/P10 -> MTS14400 SL1-80 L9/P9
+	 L3/P10 -> MTS14400 SL1-81 L12/P9
+	 L4/P10 -> MTS14400 SL1-82 L2/P10
+	 L5/P10 -> MTS14400 SL1-82 L3/P10
+	 L6/P10 -> MTS14400 SL1-83 L9/P9
+	 L7/P10 -> MTS14400 SL1-84 L4/P10
+	 L8/P10 -> MTS14400 SL1-85 L10/P9
+	 L9/P10 -> MTS14400 SL1-85 L11/P9
+	 L10/P10 -> MTS14400 SL1-86 L9/P9
+	 L11/P10 -> MTS14400 SL1-87 L5/P10
+	 L12/P10 -> MTS14400 SL1-87 L6/P10
+	 L1/P11 -> MTS14400 SL1-88 L9/P9
+	 L2/P11 -> MTS14400 SL1-89 L11/P9
+	 L3/P11 -> MTS14400 SL1-90 L3/P10
+	 L4/P11 -> MTS14400 SL1-90 L4/P10
+	 L5/P11 -> MTS14400 SL1-91 L9/P9
+	 L6/P11 -> MTS14400 SL1-92 L3/P10
+	 L7/P11 -> MTS14400 SL1-93 L11/P9
+	 L8/P11 -> MTS14400 SL1-93 L12/P9
+	 L9/P11 -> MTS14400 SL1-94 L9/P9
+	 L10/P11 -> MTS14400 SL1-95 L5/P10
+	 L11/P11 -> MTS14400 SL1-95 L6/P10
+	 L12/P11 -> MTS14400 SL1-96 L9/P9
+	 L1/P12 -> MTS14400 SL1-97 L10/P9
+	 L2/P12 -> MTS14400 SL1-98 L4/P10
+	 L3/P12 -> MTS14400 SL1-98 L5/P10
+	 L4/P12 -> MTS14400 SL1-99 L9/P9
+	 L5/P12 -> MTS14400 SL1-100 L2/P10
+	 L6/P12 -> MTS14400 SL1-101 L12/P9
+	 L7/P12 -> MTS14400 SL1-101 L1/P10
+	 L8/P12 -> MTS14400 SL1-102 L9/P9
+	 L9/P12 -> MTS14400 SL1-103 L5/P10
+	 L10/P12 -> MTS14400 SL1-103 L6/P10
+	 L11/P12 -> MTS14400 SL1-104 L9/P9
+	 L12/P12 -> MTS14400 SL1-105 L9/P9
+
+MTS14400 SL2-10
+	 L1/P1 -> MTS14400 SL1-1 L7/P10
+	 L2/P1 -> MTS14400 SL1-1 L8/P10
+	 L3/P1 -> MTS14400 SL1-2 L10/P9
+	 L4/P1 -> MTS14400 SL1-3 L2/P10
+	 L5/P1 -> MTS14400 SL1-4 L3/P10
+	 L6/P1 -> MTS14400 SL1-4 L4/P10
+	 L7/P1 -> MTS14400 SL1-5 L10/P9
+	 L8/P1 -> MTS14400 SL1-6 L6/P10
+	 L9/P1 -> MTS14400 SL1-7 L11/P9
+	 L10/P1 -> MTS14400 SL1-7 L12/P9
+	 L11/P1 -> MTS14400 SL1-8 L10/P9
+	 L12/P1 -> MTS14400 SL1-9 L7/P10
+	 L1/P2 -> MTS14400 SL1-9 L8/P10
+	 L2/P2 -> MTS14400 SL1-10 L10/P9
+	 L3/P2 -> MTS14400 SL1-11 L1/P10
+	 L4/P2 -> MTS14400 SL1-12 L4/P10
+	 L5/P2 -> MTS14400 SL1-12 L5/P10
+	 L6/P2 -> MTS14400 SL1-13 L10/P9
+	 L7/P2 -> MTS14400 SL1-14 L5/P10
+	 L8/P2 -> MTS14400 SL1-15 L12/P9
+	 L9/P2 -> MTS14400 SL1-15 L1/P10
+	 L10/P2 -> MTS14400 SL1-16 L10/P9
+	 L11/P2 -> MTS14400 SL1-17 L7/P10
+	 L12/P2 -> MTS14400 SL1-17 L8/P10
+	 L1/P3 -> MTS14400 SL1-18 L10/P9
+	 L2/P3 -> MTS14400 SL1-19 L12/P9
+	 L3/P3 -> MTS14400 SL1-20 L5/P10
+	 L4/P3 -> MTS14400 SL1-20 L6/P10
+	 L5/P3 -> MTS14400 SL1-21 L10/P9
+	 L6/P3 -> MTS14400 SL1-22 L4/P10
+	 L7/P3 -> MTS14400 SL1-23 L1/P10
+	 L8/P3 -> MTS14400 SL1-23 L2/P10
+	 L9/P3 -> MTS14400 SL1-24 L10/P9
+	 L10/P3 -> MTS14400 SL1-25 L7/P10
+	 L11/P3 -> MTS14400 SL1-25 L8/P10
+	 L12/P3 -> MTS14400 SL1-26 L10/P9
+	 L1/P4 -> MTS14400 SL1-27 L11/P9
+	 L2/P4 -> MTS14400 SL1-28 L6/P10
+	 L3/P4 -> MTS14400 SL1-28 L7/P10
+	 L4/P4 -> MTS14400 SL1-29 L10/P9
+	 L5/P4 -> MTS14400 SL1-30 L3/P10
+	 L6/P4 -> MTS14400 SL1-31 L2/P10
+	 L7/P4 -> MTS14400 SL1-31 L3/P10
+	 L8/P4 -> MTS14400 SL1-32 L10/P9
+	 L9/P4 -> MTS14400 SL1-33 L7/P10
+	 L10/P4 -> MTS14400 SL1-34 L10/P9
+	 L11/P4 -> MTS14400 SL1-34 L11/P9
+	 L12/P4 -> MTS14400 SL1-35 L10/P9
+	 L1/P5 -> MTS14400 SL1-36 L7/P10
+	 L2/P5 -> MTS14400 SL1-36 L8/P10
+	 L3/P5 -> MTS14400 SL1-37 L10/P9
+	 L4/P5 -> MTS14400 SL1-38 L2/P10
+	 L5/P5 -> MTS14400 SL1-39 L3/P10
+	 L6/P5 -> MTS14400 SL1-39 L4/P10
+	 L7/P5 -> MTS14400 SL1-40 L10/P9
+	 L8/P5 -> MTS14400 SL1-41 L6/P10
+	 L9/P5 -> MTS14400 SL1-42 L11/P9
+	 L10/P5 -> MTS14400 SL1-42 L12/P9
+	 L11/P5 -> MTS14400 SL1-43 L10/P9
+	 L12/P5 -> MTS14400 SL1-44 L7/P10
+	 L1/P6 -> MTS14400 SL1-44 L8/P10
+	 L2/P6 -> MTS14400 SL1-45 L10/P9
+	 L3/P6 -> MTS14400 SL1-46 L1/P10
+	 L4/P6 -> MTS14400 SL1-47 L4/P10
+	 L5/P6 -> MTS14400 SL1-47 L5/P10
+	 L6/P6 -> MTS14400 SL1-48 L10/P9
+	 L7/P6 -> MTS14400 SL1-49 L5/P10
+	 L8/P6 -> MTS14400 SL1-50 L12/P9
+	 L9/P6 -> MTS14400 SL1-50 L1/P10
+	 L10/P6 -> MTS14400 SL1-51 L10/P9
+	 L11/P6 -> MTS14400 SL1-52 L7/P10
+	 L12/P6 -> MTS14400 SL1-52 L8/P10
+	 L1/P7 -> MTS14400 SL1-53 L10/P9
+	 L2/P7 -> MTS14400 SL1-54 L12/P9
+	 L3/P7 -> MTS14400 SL1-55 L5/P10
+	 L4/P7 -> MTS14400 SL1-55 L6/P10
+	 L5/P7 -> MTS14400 SL1-56 L10/P9
+	 L6/P7 -> MTS14400 SL1-57 L4/P10
+	 L7/P7 -> MTS14400 SL1-58 L1/P10
+	 L8/P7 -> MTS14400 SL1-58 L2/P10
+	 L9/P7 -> MTS14400 SL1-59 L10/P9
+	 L10/P7 -> MTS14400 SL1-60 L7/P10
+	 L11/P7 -> MTS14400 SL1-60 L8/P10
+	 L12/P7 -> MTS14400 SL1-61 L10/P9
+	 L1/P8 -> MTS14400 SL1-62 L11/P9
+	 L2/P8 -> MTS14400 SL1-63 L6/P10
+	 L3/P8 -> MTS14400 SL1-63 L7/P10
+	 L4/P8 -> MTS14400 SL1-64 L10/P9
+	 L5/P8 -> MTS14400 SL1-65 L3/P10
+	 L6/P8 -> MTS14400 SL1-66 L2/P10
+	 L7/P8 -> MTS14400 SL1-66 L3/P10
+	 L8/P8 -> MTS14400 SL1-67 L10/P9
+	 L9/P8 -> MTS14400 SL1-68 L7/P10
+	 L10/P8 -> MTS14400 SL1-69 L10/P9
+	 L11/P8 -> MTS14400 SL1-69 L11/P9
+	 L12/P8 -> MTS14400 SL1-70 L10/P9
+	 L1/P9 -> MTS14400 SL1-71 L7/P10
+	 L2/P9 -> MTS14400 SL1-71 L8/P10
+	 L3/P9 -> MTS14400 SL1-72 L10/P9
+	 L4/P9 -> MTS14400 SL1-73 L2/P10
+	 L5/P9 -> MTS14400 SL1-74 L3/P10
+	 L6/P9 -> MTS14400 SL1-74 L4/P10
+	 L7/P9 -> MTS14400 SL1-75 L10/P9
+	 L8/P9 -> MTS14400 SL1-76 L6/P10
+	 L9/P9 -> MTS14400 SL1-77 L11/P9
+	 L10/P9 -> MTS14400 SL1-77 L12/P9
+	 L11/P9 -> MTS14400 SL1-78 L10/P9
+	 L12/P9 -> MTS14400 SL1-79 L7/P10
+	 L1/P10 -> MTS14400 SL1-79 L8/P10
+	 L2/P10 -> MTS14400 SL1-80 L10/P9
+	 L3/P10 -> MTS14400 SL1-81 L1/P10
+	 L4/P10 -> MTS14400 SL1-82 L4/P10
+	 L5/P10 -> MTS14400 SL1-82 L5/P10
+	 L6/P10 -> MTS14400 SL1-83 L10/P9
+	 L7/P10 -> MTS14400 SL1-84 L5/P10
+	 L8/P10 -> MTS14400 SL1-85 L12/P9
+	 L9/P10 -> MTS14400 SL1-85 L1/P10
+	 L10/P10 -> MTS14400 SL1-86 L10/P9
+	 L11/P10 -> MTS14400 SL1-87 L7/P10
+	 L12/P10 -> MTS14400 SL1-87 L8/P10
+	 L1/P11 -> MTS14400 SL1-88 L10/P9
+	 L2/P11 -> MTS14400 SL1-89 L12/P9
+	 L3/P11 -> MTS14400 SL1-90 L5/P10
+	 L4/P11 -> MTS14400 SL1-90 L6/P10
+	 L5/P11 -> MTS14400 SL1-91 L10/P9
+	 L6/P11 -> MTS14400 SL1-92 L4/P10
+	 L7/P11 -> MTS14400 SL1-93 L1/P10
+	 L8/P11 -> MTS14400 SL1-93 L2/P10
+	 L9/P11 -> MTS14400 SL1-94 L10/P9
+	 L10/P11 -> MTS14400 SL1-95 L7/P10
+	 L11/P11 -> MTS14400 SL1-95 L8/P10
+	 L12/P11 -> MTS14400 SL1-96 L10/P9
+	 L1/P12 -> MTS14400 SL1-97 L11/P9
+	 L2/P12 -> MTS14400 SL1-98 L6/P10
+	 L3/P12 -> MTS14400 SL1-98 L7/P10
+	 L4/P12 -> MTS14400 SL1-99 L10/P9
+	 L5/P12 -> MTS14400 SL1-100 L3/P10
+	 L6/P12 -> MTS14400 SL1-101 L2/P10
+	 L7/P12 -> MTS14400 SL1-101 L3/P10
+	 L8/P12 -> MTS14400 SL1-102 L10/P9
+	 L9/P12 -> MTS14400 SL1-103 L7/P10
+	 L10/P12 -> MTS14400 SL1-104 L10/P9
+	 L11/P12 -> MTS14400 SL1-104 L11/P9
+	 L12/P12 -> MTS14400 SL1-105 L10/P9
+
+MTS14400 SL2-11
+	 L1/P1 -> MTS14400 SL1-1 L9/P10
+	 L2/P1 -> MTS14400 SL1-1 L10/P10
+	 L3/P1 -> MTS14400 SL1-2 L11/P9
+	 L4/P1 -> MTS14400 SL1-3 L3/P10
+	 L5/P1 -> MTS14400 SL1-4 L5/P10
+	 L6/P1 -> MTS14400 SL1-4 L6/P10
+	 L7/P1 -> MTS14400 SL1-5 L11/P9
+	 L8/P1 -> MTS14400 SL1-6 L7/P10
+	 L9/P1 -> MTS14400 SL1-7 L1/P10
+	 L10/P1 -> MTS14400 SL1-7 L2/P10
+	 L11/P1 -> MTS14400 SL1-8 L11/P9
+	 L12/P1 -> MTS14400 SL1-9 L9/P10
+	 L1/P2 -> MTS14400 SL1-9 L10/P10
+	 L2/P2 -> MTS14400 SL1-10 L11/P9
+	 L3/P2 -> MTS14400 SL1-11 L2/P10
+	 L4/P2 -> MTS14400 SL1-12 L6/P10
+	 L5/P2 -> MTS14400 SL1-12 L7/P10
+	 L6/P2 -> MTS14400 SL1-13 L11/P9
+	 L7/P2 -> MTS14400 SL1-14 L6/P10
+	 L8/P2 -> MTS14400 SL1-15 L2/P10
+	 L9/P2 -> MTS14400 SL1-15 L3/P10
+	 L10/P2 -> MTS14400 SL1-16 L11/P9
+	 L11/P2 -> MTS14400 SL1-17 L9/P10
+	 L12/P2 -> MTS14400 SL1-17 L10/P10
+	 L1/P3 -> MTS14400 SL1-18 L11/P9
+	 L2/P3 -> MTS14400 SL1-19 L1/P10
+	 L3/P3 -> MTS14400 SL1-20 L7/P10
+	 L4/P3 -> MTS14400 SL1-20 L8/P10
+	 L5/P3 -> MTS14400 SL1-21 L11/P9
+	 L6/P3 -> MTS14400 SL1-22 L5/P10
+	 L7/P3 -> MTS14400 SL1-23 L3/P10
+	 L8/P3 -> MTS14400 SL1-23 L4/P10
+	 L9/P3 -> MTS14400 SL1-24 L11/P9
+	 L10/P3 -> MTS14400 SL1-25 L9/P10
+	 L11/P3 -> MTS14400 SL1-26 L11/P9
+	 L12/P3 -> MTS14400 SL1-26 L12/P9
+	 L1/P4 -> MTS14400 SL1-27 L12/P9
+	 L2/P4 -> MTS14400 SL1-28 L8/P10
+	 L3/P4 -> MTS14400 SL1-28 L9/P10
+	 L4/P4 -> MTS14400 SL1-29 L11/P9
+	 L5/P4 -> MTS14400 SL1-30 L4/P10
+	 L6/P4 -> MTS14400 SL1-31 L4/P10
+	 L7/P4 -> MTS14400 SL1-31 L5/P10
+	 L8/P4 -> MTS14400 SL1-32 L11/P9
+	 L9/P4 -> MTS14400 SL1-33 L8/P10
+	 L10/P4 -> MTS14400 SL1-34 L12/P9
+	 L11/P4 -> MTS14400 SL1-34 L1/P10
+	 L12/P4 -> MTS14400 SL1-35 L11/P9
+	 L1/P5 -> MTS14400 SL1-36 L9/P10
+	 L2/P5 -> MTS14400 SL1-36 L10/P10
+	 L3/P5 -> MTS14400 SL1-37 L11/P9
+	 L4/P5 -> MTS14400 SL1-38 L3/P10
+	 L5/P5 -> MTS14400 SL1-39 L5/P10
+	 L6/P5 -> MTS14400 SL1-39 L6/P10
+	 L7/P5 -> MTS14400 SL1-40 L11/P9
+	 L8/P5 -> MTS14400 SL1-41 L7/P10
+	 L9/P5 -> MTS14400 SL1-42 L1/P10
+	 L10/P5 -> MTS14400 SL1-42 L2/P10
+	 L11/P5 -> MTS14400 SL1-43 L11/P9
+	 L12/P5 -> MTS14400 SL1-44 L9/P10
+	 L1/P6 -> MTS14400 SL1-44 L10/P10
+	 L2/P6 -> MTS14400 SL1-45 L11/P9
+	 L3/P6 -> MTS14400 SL1-46 L2/P10
+	 L4/P6 -> MTS14400 SL1-47 L6/P10
+	 L5/P6 -> MTS14400 SL1-47 L7/P10
+	 L6/P6 -> MTS14400 SL1-48 L11/P9
+	 L7/P6 -> MTS14400 SL1-49 L6/P10
+	 L8/P6 -> MTS14400 SL1-50 L2/P10
+	 L9/P6 -> MTS14400 SL1-50 L3/P10
+	 L10/P6 -> MTS14400 SL1-51 L11/P9
+	 L11/P6 -> MTS14400 SL1-52 L9/P10
+	 L12/P6 -> MTS14400 SL1-52 L10/P10
+	 L1/P7 -> MTS14400 SL1-53 L11/P9
+	 L2/P7 -> MTS14400 SL1-54 L1/P10
+	 L3/P7 -> MTS14400 SL1-55 L7/P10
+	 L4/P7 -> MTS14400 SL1-55 L8/P10
+	 L5/P7 -> MTS14400 SL1-56 L11/P9
+	 L6/P7 -> MTS14400 SL1-57 L5/P10
+	 L7/P7 -> MTS14400 SL1-58 L3/P10
+	 L8/P7 -> MTS14400 SL1-58 L4/P10
+	 L9/P7 -> MTS14400 SL1-59 L11/P9
+	 L10/P7 -> MTS14400 SL1-60 L9/P10
+	 L11/P7 -> MTS14400 SL1-61 L11/P9
+	 L12/P7 -> MTS14400 SL1-61 L12/P9
+	 L1/P8 -> MTS14400 SL1-62 L12/P9
+	 L2/P8 -> MTS14400 SL1-63 L8/P10
+	 L3/P8 -> MTS14400 SL1-63 L9/P10
+	 L4/P8 -> MTS14400 SL1-64 L11/P9
+	 L5/P8 -> MTS14400 SL1-65 L4/P10
+	 L6/P8 -> MTS14400 SL1-66 L4/P10
+	 L7/P8 -> MTS14400 SL1-66 L5/P10
+	 L8/P8 -> MTS14400 SL1-67 L11/P9
+	 L9/P8 -> MTS14400 SL1-68 L8/P10
+	 L10/P8 -> MTS14400 SL1-69 L12/P9
+	 L11/P8 -> MTS14400 SL1-69 L1/P10
+	 L12/P8 -> MTS14400 SL1-70 L11/P9
+	 L1/P9 -> MTS14400 SL1-71 L9/P10
+	 L2/P9 -> MTS14400 SL1-71 L10/P10
+	 L3/P9 -> MTS14400 SL1-72 L11/P9
+	 L4/P9 -> MTS14400 SL1-73 L3/P10
+	 L5/P9 -> MTS14400 SL1-74 L5/P10
+	 L6/P9 -> MTS14400 SL1-74 L6/P10
+	 L7/P9 -> MTS14400 SL1-75 L11/P9
+	 L8/P9 -> MTS14400 SL1-76 L7/P10
+	 L9/P9 -> MTS14400 SL1-77 L1/P10
+	 L10/P9 -> MTS14400 SL1-77 L2/P10
+	 L11/P9 -> MTS14400 SL1-78 L11/P9
+	 L12/P9 -> MTS14400 SL1-79 L9/P10
+	 L1/P10 -> MTS14400 SL1-79 L10/P10
+	 L2/P10 -> MTS14400 SL1-80 L11/P9
+	 L3/P10 -> MTS14400 SL1-81 L2/P10
+	 L4/P10 -> MTS14400 SL1-82 L6/P10
+	 L5/P10 -> MTS14400 SL1-82 L7/P10
+	 L6/P10 -> MTS14400 SL1-83 L11/P9
+	 L7/P10 -> MTS14400 SL1-84 L6/P10
+	 L8/P10 -> MTS14400 SL1-85 L2/P10
+	 L9/P10 -> MTS14400 SL1-85 L3/P10
+	 L10/P10 -> MTS14400 SL1-86 L11/P9
+	 L11/P10 -> MTS14400 SL1-87 L9/P10
+	 L12/P10 -> MTS14400 SL1-87 L10/P10
+	 L1/P11 -> MTS14400 SL1-88 L11/P9
+	 L2/P11 -> MTS14400 SL1-89 L1/P10
+	 L3/P11 -> MTS14400 SL1-90 L7/P10
+	 L4/P11 -> MTS14400 SL1-90 L8/P10
+	 L5/P11 -> MTS14400 SL1-91 L11/P9
+	 L6/P11 -> MTS14400 SL1-92 L5/P10
+	 L7/P11 -> MTS14400 SL1-93 L3/P10
+	 L8/P11 -> MTS14400 SL1-93 L4/P10
+	 L9/P11 -> MTS14400 SL1-94 L11/P9
+	 L10/P11 -> MTS14400 SL1-95 L9/P10
+	 L11/P11 -> MTS14400 SL1-96 L11/P9
+	 L12/P11 -> MTS14400 SL1-96 L12/P9
+	 L1/P12 -> MTS14400 SL1-97 L12/P9
+	 L2/P12 -> MTS14400 SL1-98 L8/P10
+	 L3/P12 -> MTS14400 SL1-98 L9/P10
+	 L4/P12 -> MTS14400 SL1-99 L11/P9
+	 L5/P12 -> MTS14400 SL1-100 L4/P10
+	 L6/P12 -> MTS14400 SL1-101 L4/P10
+	 L7/P12 -> MTS14400 SL1-101 L5/P10
+	 L8/P12 -> MTS14400 SL1-102 L11/P9
+	 L9/P12 -> MTS14400 SL1-103 L8/P10
+	 L10/P12 -> MTS14400 SL1-104 L12/P9
+	 L11/P12 -> MTS14400 SL1-104 L1/P10
+	 L12/P12 -> MTS14400 SL1-105 L11/P9
+
+MTS14400 SL2-12
+	 L1/P1 -> MTS14400 SL1-1 L11/P10
+	 L2/P1 -> MTS14400 SL1-1 L12/P10
+	 L3/P1 -> MTS14400 SL1-2 L12/P9
+	 L4/P1 -> MTS14400 SL1-3 L4/P10
+	 L5/P1 -> MTS14400 SL1-4 L7/P10
+	 L6/P1 -> MTS14400 SL1-4 L8/P10
+	 L7/P1 -> MTS14400 SL1-5 L12/P9
+	 L8/P1 -> MTS14400 SL1-6 L8/P10
+	 L9/P1 -> MTS14400 SL1-7 L3/P10
+	 L10/P1 -> MTS14400 SL1-7 L4/P10
+	 L11/P1 -> MTS14400 SL1-8 L12/P9
+	 L12/P1 -> MTS14400 SL1-9 L11/P10
+	 L1/P2 -> MTS14400 SL1-9 L12/P10
+	 L2/P2 -> MTS14400 SL1-10 L12/P9
+	 L3/P2 -> MTS14400 SL1-11 L3/P10
+	 L4/P2 -> MTS14400 SL1-12 L8/P10
+	 L5/P2 -> MTS14400 SL1-12 L9/P10
+	 L6/P2 -> MTS14400 SL1-13 L12/P9
+	 L7/P2 -> MTS14400 SL1-14 L7/P10
+	 L8/P2 -> MTS14400 SL1-15 L4/P10
+	 L9/P2 -> MTS14400 SL1-15 L5/P10
+	 L10/P2 -> MTS14400 SL1-16 L12/P9
+	 L11/P2 -> MTS14400 SL1-17 L11/P10
+	 L12/P2 -> MTS14400 SL1-18 L12/P9
+	 L1/P3 -> MTS14400 SL1-18 L1/P10
+	 L2/P3 -> MTS14400 SL1-19 L2/P10
+	 L3/P3 -> MTS14400 SL1-20 L9/P10
+	 L4/P3 -> MTS14400 SL1-20 L10/P10
+	 L5/P3 -> MTS14400 SL1-21 L12/P9
+	 L6/P3 -> MTS14400 SL1-22 L6/P10
+	 L7/P3 -> MTS14400 SL1-23 L5/P10
+	 L8/P3 -> MTS14400 SL1-23 L6/P10
+	 L9/P3 -> MTS14400 SL1-24 L12/P9
+	 L10/P3 -> MTS14400 SL1-25 L10/P10
+	 L11/P3 -> MTS14400 SL1-26 L1/P10
+	 L12/P3 -> MTS14400 SL1-26 L2/P10
+	 L1/P4 -> MTS14400 SL1-27 L1/P10
+	 L2/P4 -> MTS14400 SL1-28 L10/P10
+	 L3/P4 -> MTS14400 SL1-28 L11/P10
+	 L4/P4 -> MTS14400 SL1-29 L12/P9
+	 L5/P4 -> MTS14400 SL1-30 L5/P10
+	 L6/P4 -> MTS14400 SL1-31 L6/P10
+	 L7/P4 -> MTS14400 SL1-31 L7/P10
+	 L8/P4 -> MTS14400 SL1-32 L12/P9
+	 L9/P4 -> MTS14400 SL1-33 L9/P10
+	 L10/P4 -> MTS14400 SL1-34 L2/P10
+	 L11/P4 -> MTS14400 SL1-34 L3/P10
+	 L12/P4 -> MTS14400 SL1-35 L12/P9
+	 L1/P5 -> MTS14400 SL1-36 L11/P10
+	 L2/P5 -> MTS14400 SL1-36 L12/P10
+	 L3/P5 -> MTS14400 SL1-37 L12/P9
+	 L4/P5 -> MTS14400 SL1-38 L4/P10
+	 L5/P5 -> MTS14400 SL1-39 L7/P10
+	 L6/P5 -> MTS14400 SL1-39 L8/P10
+	 L7/P5 -> MTS14400 SL1-40 L12/P9
+	 L8/P5 -> MTS14400 SL1-41 L8/P10
+	 L9/P5 -> MTS14400 SL1-42 L3/P10
+	 L10/P5 -> MTS14400 SL1-42 L4/P10
+	 L11/P5 -> MTS14400 SL1-43 L12/P9
+	 L12/P5 -> MTS14400 SL1-44 L11/P10
+	 L1/P6 -> MTS14400 SL1-44 L12/P10
+	 L2/P6 -> MTS14400 SL1-45 L12/P9
+	 L3/P6 -> MTS14400 SL1-46 L3/P10
+	 L4/P6 -> MTS14400 SL1-47 L8/P10
+	 L5/P6 -> MTS14400 SL1-47 L9/P10
+	 L6/P6 -> MTS14400 SL1-48 L12/P9
+	 L7/P6 -> MTS14400 SL1-49 L7/P10
+	 L8/P6 -> MTS14400 SL1-50 L4/P10
+	 L9/P6 -> MTS14400 SL1-50 L5/P10
+	 L10/P6 -> MTS14400 SL1-51 L12/P9
+	 L11/P6 -> MTS14400 SL1-52 L11/P10
+	 L12/P6 -> MTS14400 SL1-53 L12/P9
+	 L1/P7 -> MTS14400 SL1-53 L1/P10
+	 L2/P7 -> MTS14400 SL1-54 L2/P10
+	 L3/P7 -> MTS14400 SL1-55 L9/P10
+	 L4/P7 -> MTS14400 SL1-55 L10/P10
+	 L5/P7 -> MTS14400 SL1-56 L12/P9
+	 L6/P7 -> MTS14400 SL1-57 L6/P10
+	 L7/P7 -> MTS14400 SL1-58 L5/P10
+	 L8/P7 -> MTS14400 SL1-58 L6/P10
+	 L9/P7 -> MTS14400 SL1-59 L12/P9
+	 L10/P7 -> MTS14400 SL1-60 L10/P10
+	 L11/P7 -> MTS14400 SL1-61 L1/P10
+	 L12/P7 -> MTS14400 SL1-61 L2/P10
+	 L1/P8 -> MTS14400 SL1-62 L1/P10
+	 L2/P8 -> MTS14400 SL1-63 L10/P10
+	 L3/P8 -> MTS14400 SL1-63 L11/P10
+	 L4/P8 -> MTS14400 SL1-64 L12/P9
+	 L5/P8 -> MTS14400 SL1-65 L5/P10
+	 L6/P8 -> MTS14400 SL1-66 L6/P10
+	 L7/P8 -> MTS14400 SL1-66 L7/P10
+	 L8/P8 -> MTS14400 SL1-67 L12/P9
+	 L9/P8 -> MTS14400 SL1-68 L9/P10
+	 L10/P8 -> MTS14400 SL1-69 L2/P10
+	 L11/P8 -> MTS14400 SL1-69 L3/P10
+	 L12/P8 -> MTS14400 SL1-70 L12/P9
+	 L1/P9 -> MTS14400 SL1-71 L11/P10
+	 L2/P9 -> MTS14400 SL1-71 L12/P10
+	 L3/P9 -> MTS14400 SL1-72 L12/P9
+	 L4/P9 -> MTS14400 SL1-73 L4/P10
+	 L5/P9 -> MTS14400 SL1-74 L7/P10
+	 L6/P9 -> MTS14400 SL1-74 L8/P10
+	 L7/P9 -> MTS14400 SL1-75 L12/P9
+	 L8/P9 -> MTS14400 SL1-76 L8/P10
+	 L9/P9 -> MTS14400 SL1-77 L3/P10
+	 L10/P9 -> MTS14400 SL1-77 L4/P10
+	 L11/P9 -> MTS14400 SL1-78 L12/P9
+	 L12/P9 -> MTS14400 SL1-79 L11/P10
+	 L1/P10 -> MTS14400 SL1-79 L12/P10
+	 L2/P10 -> MTS14400 SL1-80 L12/P9
+	 L3/P10 -> MTS14400 SL1-81 L3/P10
+	 L4/P10 -> MTS14400 SL1-82 L8/P10
+	 L5/P10 -> MTS14400 SL1-82 L9/P10
+	 L6/P10 -> MTS14400 SL1-83 L12/P9
+	 L7/P10 -> MTS14400 SL1-84 L7/P10
+	 L8/P10 -> MTS14400 SL1-85 L4/P10
+	 L9/P10 -> MTS14400 SL1-85 L5/P10
+	 L10/P10 -> MTS14400 SL1-86 L12/P9
+	 L11/P10 -> MTS14400 SL1-87 L11/P10
+	 L12/P10 -> MTS14400 SL1-88 L12/P9
+	 L1/P11 -> MTS14400 SL1-88 L1/P10
+	 L2/P11 -> MTS14400 SL1-89 L2/P10
+	 L3/P11 -> MTS14400 SL1-90 L9/P10
+	 L4/P11 -> MTS14400 SL1-90 L10/P10
+	 L5/P11 -> MTS14400 SL1-91 L12/P9
+	 L6/P11 -> MTS14400 SL1-92 L6/P10
+	 L7/P11 -> MTS14400 SL1-93 L5/P10
+	 L8/P11 -> MTS14400 SL1-93 L6/P10
+	 L9/P11 -> MTS14400 SL1-94 L12/P9
+	 L10/P11 -> MTS14400 SL1-95 L10/P10
+	 L11/P11 -> MTS14400 SL1-96 L1/P10
+	 L12/P11 -> MTS14400 SL1-96 L2/P10
+	 L1/P12 -> MTS14400 SL1-97 L1/P10
+	 L2/P12 -> MTS14400 SL1-98 L10/P10
+	 L3/P12 -> MTS14400 SL1-98 L11/P10
+	 L4/P12 -> MTS14400 SL1-99 L12/P9
+	 L5/P12 -> MTS14400 SL1-100 L5/P10
+	 L6/P12 -> MTS14400 SL1-101 L6/P10
+	 L7/P12 -> MTS14400 SL1-101 L7/P10
+	 L8/P12 -> MTS14400 SL1-102 L12/P9
+	 L9/P12 -> MTS14400 SL1-103 L9/P10
+	 L10/P12 -> MTS14400 SL1-104 L2/P10
+	 L11/P12 -> MTS14400 SL1-104 L3/P10
+	 L12/P12 -> MTS14400 SL1-105 L12/P9
+
+MTS14400 SL2-13
+	 L1/P1 -> MTS14400 SL1-1 L1/P11
+	 L2/P1 -> MTS14400 SL1-1 L2/P11
+	 L3/P1 -> MTS14400 SL1-2 L1/P10
+	 L4/P1 -> MTS14400 SL1-3 L5/P10
+	 L5/P1 -> MTS14400 SL1-4 L9/P10
+	 L6/P1 -> MTS14400 SL1-4 L10/P10
+	 L7/P1 -> MTS14400 SL1-5 L1/P10
+	 L8/P1 -> MTS14400 SL1-6 L9/P10
+	 L9/P1 -> MTS14400 SL1-7 L5/P10
+	 L10/P1 -> MTS14400 SL1-7 L6/P10
+	 L11/P1 -> MTS14400 SL1-8 L1/P10
+	 L12/P1 -> MTS14400 SL1-9 L1/P11
+	 L1/P2 -> MTS14400 SL1-10 L1/P10
+	 L2/P2 -> MTS14400 SL1-10 L2/P10
+	 L3/P2 -> MTS14400 SL1-11 L4/P10
+	 L4/P2 -> MTS14400 SL1-12 L10/P10
+	 L5/P2 -> MTS14400 SL1-12 L11/P10
+	 L6/P2 -> MTS14400 SL1-13 L1/P10
+	 L7/P2 -> MTS14400 SL1-14 L8/P10
+	 L8/P2 -> MTS14400 SL1-15 L6/P10
+	 L9/P2 -> MTS14400 SL1-15 L7/P10
+	 L10/P2 -> MTS14400 SL1-16 L1/P10
+	 L11/P2 -> MTS14400 SL1-17 L12/P10
+	 L12/P2 -> MTS14400 SL1-18 L2/P10
+	 L1/P3 -> MTS14400 SL1-18 L3/P10
+	 L2/P3 -> MTS14400 SL1-19 L3/P10
+	 L3/P3 -> MTS14400 SL1-20 L11/P10
+	 L4/P3 -> MTS14400 SL1-20 L12/P10
+	 L5/P3 -> MTS14400 SL1-21 L1/P10
+	 L6/P3 -> MTS14400 SL1-22 L7/P10
+	 L7/P3 -> MTS14400 SL1-23 L7/P10
+	 L8/P3 -> MTS14400 SL1-23 L8/P10
+	 L9/P3 -> MTS14400 SL1-24 L1/P10
+	 L10/P3 -> MTS14400 SL1-25 L11/P10
+	 L11/P3 -> MTS14400 SL1-26 L3/P10
+	 L12/P3 -> MTS14400 SL1-26 L4/P10
+	 L1/P4 -> MTS14400 SL1-27 L2/P10
+	 L2/P4 -> MTS14400 SL1-28 L12/P10
+	 L3/P4 -> MTS14400 SL1-28 L1/P11
+	 L4/P4 -> MTS14400 SL1-29 L1/P10
+	 L5/P4 -> MTS14400 SL1-30 L6/P10
+	 L6/P4 -> MTS14400 SL1-31 L8/P10
+	 L7/P4 -> MTS14400 SL1-31 L9/P10
+	 L8/P4 -> MTS14400 SL1-32 L1/P10
+	 L9/P4 -> MTS14400 SL1-33 L10/P10
+	 L10/P4 -> MTS14400 SL1-34 L4/P10
+	 L11/P4 -> MTS14400 SL1-34 L5/P10
+	 L12/P4 -> MTS14400 SL1-35 L1/P10
+	 L1/P5 -> MTS14400 SL1-36 L1/P11
+	 L2/P5 -> MTS14400 SL1-36 L2/P11
+	 L3/P5 -> MTS14400 SL1-37 L1/P10
+	 L4/P5 -> MTS14400 SL1-38 L5/P10
+	 L5/P5 -> MTS14400 SL1-39 L9/P10
+	 L6/P5 -> MTS14400 SL1-39 L10/P10
+	 L7/P5 -> MTS14400 SL1-40 L1/P10
+	 L8/P5 -> MTS14400 SL1-41 L9/P10
+	 L9/P5 -> MTS14400 SL1-42 L5/P10
+	 L10/P5 -> MTS14400 SL1-42 L6/P10
+	 L11/P5 -> MTS14400 SL1-43 L1/P10
+	 L12/P5 -> MTS14400 SL1-44 L1/P11
+	 L1/P6 -> MTS14400 SL1-45 L1/P10
+	 L2/P6 -> MTS14400 SL1-45 L2/P10
+	 L3/P6 -> MTS14400 SL1-46 L4/P10
+	 L4/P6 -> MTS14400 SL1-47 L10/P10
+	 L5/P6 -> MTS14400 SL1-47 L11/P10
+	 L6/P6 -> MTS14400 SL1-48 L1/P10
+	 L7/P6 -> MTS14400 SL1-49 L8/P10
+	 L8/P6 -> MTS14400 SL1-50 L6/P10
+	 L9/P6 -> MTS14400 SL1-50 L7/P10
+	 L10/P6 -> MTS14400 SL1-51 L1/P10
+	 L11/P6 -> MTS14400 SL1-52 L12/P10
+	 L12/P6 -> MTS14400 SL1-53 L2/P10
+	 L1/P7 -> MTS14400 SL1-53 L3/P10
+	 L2/P7 -> MTS14400 SL1-54 L3/P10
+	 L3/P7 -> MTS14400 SL1-55 L11/P10
+	 L4/P7 -> MTS14400 SL1-55 L12/P10
+	 L5/P7 -> MTS14400 SL1-56 L1/P10
+	 L6/P7 -> MTS14400 SL1-57 L7/P10
+	 L7/P7 -> MTS14400 SL1-58 L7/P10
+	 L8/P7 -> MTS14400 SL1-58 L8/P10
+	 L9/P7 -> MTS14400 SL1-59 L1/P10
+	 L10/P7 -> MTS14400 SL1-60 L11/P10
+	 L11/P7 -> MTS14400 SL1-61 L3/P10
+	 L12/P7 -> MTS14400 SL1-61 L4/P10
+	 L1/P8 -> MTS14400 SL1-62 L2/P10
+	 L2/P8 -> MTS14400 SL1-63 L12/P10
+	 L3/P8 -> MTS14400 SL1-63 L1/P11
+	 L4/P8 -> MTS14400 SL1-64 L1/P10
+	 L5/P8 -> MTS14400 SL1-65 L6/P10
+	 L6/P8 -> MTS14400 SL1-66 L8/P10
+	 L7/P8 -> MTS14400 SL1-66 L9/P10
+	 L8/P8 -> MTS14400 SL1-67 L1/P10
+	 L9/P8 -> MTS14400 SL1-68 L10/P10
+	 L10/P8 -> MTS14400 SL1-69 L4/P10
+	 L11/P8 -> MTS14400 SL1-69 L5/P10
+	 L12/P8 -> MTS14400 SL1-70 L1/P10
+	 L1/P9 -> MTS14400 SL1-71 L1/P11
+	 L2/P9 -> MTS14400 SL1-71 L2/P11
+	 L3/P9 -> MTS14400 SL1-72 L1/P10
+	 L4/P9 -> MTS14400 SL1-73 L5/P10
+	 L5/P9 -> MTS14400 SL1-74 L9/P10
+	 L6/P9 -> MTS14400 SL1-74 L10/P10
+	 L7/P9 -> MTS14400 SL1-75 L1/P10
+	 L8/P9 -> MTS14400 SL1-76 L9/P10
+	 L9/P9 -> MTS14400 SL1-77 L5/P10
+	 L10/P9 -> MTS14400 SL1-77 L6/P10
+	 L11/P9 -> MTS14400 SL1-78 L1/P10
+	 L12/P9 -> MTS14400 SL1-79 L1/P11
+	 L1/P10 -> MTS14400 SL1-80 L1/P10
+	 L2/P10 -> MTS14400 SL1-80 L2/P10
+	 L3/P10 -> MTS14400 SL1-81 L4/P10
+	 L4/P10 -> MTS14400 SL1-82 L10/P10
+	 L5/P10 -> MTS14400 SL1-82 L11/P10
+	 L6/P10 -> MTS14400 SL1-83 L1/P10
+	 L7/P10 -> MTS14400 SL1-84 L8/P10
+	 L8/P10 -> MTS14400 SL1-85 L6/P10
+	 L9/P10 -> MTS14400 SL1-85 L7/P10
+	 L10/P10 -> MTS14400 SL1-86 L1/P10
+	 L11/P10 -> MTS14400 SL1-87 L12/P10
+	 L12/P10 -> MTS14400 SL1-88 L2/P10
+	 L1/P11 -> MTS14400 SL1-88 L3/P10
+	 L2/P11 -> MTS14400 SL1-89 L3/P10
+	 L3/P11 -> MTS14400 SL1-90 L11/P10
+	 L4/P11 -> MTS14400 SL1-90 L12/P10
+	 L5/P11 -> MTS14400 SL1-91 L1/P10
+	 L6/P11 -> MTS14400 SL1-92 L7/P10
+	 L7/P11 -> MTS14400 SL1-93 L7/P10
+	 L8/P11 -> MTS14400 SL1-93 L8/P10
+	 L9/P11 -> MTS14400 SL1-94 L1/P10
+	 L10/P11 -> MTS14400 SL1-95 L11/P10
+	 L11/P11 -> MTS14400 SL1-96 L3/P10
+	 L12/P11 -> MTS14400 SL1-96 L4/P10
+	 L1/P12 -> MTS14400 SL1-97 L2/P10
+	 L2/P12 -> MTS14400 SL1-98 L12/P10
+	 L3/P12 -> MTS14400 SL1-98 L1/P11
+	 L4/P12 -> MTS14400 SL1-99 L1/P10
+	 L5/P12 -> MTS14400 SL1-100 L6/P10
+	 L6/P12 -> MTS14400 SL1-101 L8/P10
+	 L7/P12 -> MTS14400 SL1-101 L9/P10
+	 L8/P12 -> MTS14400 SL1-102 L1/P10
+	 L9/P12 -> MTS14400 SL1-103 L10/P10
+	 L10/P12 -> MTS14400 SL1-104 L4/P10
+	 L11/P12 -> MTS14400 SL1-104 L5/P10
+	 L12/P12 -> MTS14400 SL1-105 L1/P10
+
+MTS14400 SL2-14
+	 L1/P1 -> MTS14400 SL1-1 L3/P11
+	 L2/P1 -> MTS14400 SL1-2 L2/P10
+	 L3/P1 -> MTS14400 SL1-2 L3/P10
+	 L4/P1 -> MTS14400 SL1-3 L6/P10
+	 L5/P1 -> MTS14400 SL1-4 L11/P10
+	 L6/P1 -> MTS14400 SL1-4 L12/P10
+	 L7/P1 -> MTS14400 SL1-5 L2/P10
+	 L8/P1 -> MTS14400 SL1-6 L10/P10
+	 L9/P1 -> MTS14400 SL1-7 L7/P10
+	 L10/P1 -> MTS14400 SL1-7 L8/P10
+	 L11/P1 -> MTS14400 SL1-8 L2/P10
+	 L12/P1 -> MTS14400 SL1-9 L2/P11
+	 L1/P2 -> MTS14400 SL1-10 L3/P10
+	 L2/P2 -> MTS14400 SL1-10 L4/P10
+	 L3/P2 -> MTS14400 SL1-11 L5/P10
+	 L4/P2 -> MTS14400 SL1-12 L12/P10
+	 L5/P2 -> MTS14400 SL1-12 L1/P11
+	 L6/P2 -> MTS14400 SL1-13 L2/P10
+	 L7/P2 -> MTS14400 SL1-14 L9/P10
+	 L8/P2 -> MTS14400 SL1-15 L8/P10
+	 L9/P2 -> MTS14400 SL1-15 L9/P10
+	 L10/P2 -> MTS14400 SL1-16 L2/P10
+	 L11/P2 -> MTS14400 SL1-17 L1/P11
+	 L12/P2 -> MTS14400 SL1-18 L4/P10
+	 L1/P3 -> MTS14400 SL1-18 L5/P10
+	 L2/P3 -> MTS14400 SL1-19 L4/P10
+	 L3/P3 -> MTS14400 SL1-20 L1/P11
+	 L4/P3 -> MTS14400 SL1-20 L2/P11
+	 L5/P3 -> MTS14400 SL1-21 L2/P10
+	 L6/P3 -> MTS14400 SL1-22 L8/P10
+	 L7/P3 -> MTS14400 SL1-23 L9/P10
+	 L8/P3 -> MTS14400 SL1-23 L10/P10
+	 L9/P3 -> MTS14400 SL1-24 L2/P10
+	 L10/P3 -> MTS14400 SL1-25 L12/P10
+	 L11/P3 -> MTS14400 SL1-26 L5/P10
+	 L12/P3 -> MTS14400 SL1-26 L6/P10
+	 L1/P4 -> MTS14400 SL1-27 L3/P10
+	 L2/P4 -> MTS14400 SL1-28 L2/P11
+	 L3/P4 -> MTS14400 SL1-28 L3/P11
+	 L4/P4 -> MTS14400 SL1-29 L2/P10
+	 L5/P4 -> MTS14400 SL1-30 L7/P10
+	 L6/P4 -> MTS14400 SL1-31 L10/P10
+	 L7/P4 -> MTS14400 SL1-31 L11/P10
+	 L8/P4 -> MTS14400 SL1-32 L2/P10
+	 L9/P4 -> MTS14400 SL1-33 L11/P10
+	 L10/P4 -> MTS14400 SL1-34 L6/P10
+	 L11/P4 -> MTS14400 SL1-34 L7/P10
+	 L12/P4 -> MTS14400 SL1-35 L2/P10
+	 L1/P5 -> MTS14400 SL1-36 L3/P11
+	 L2/P5 -> MTS14400 SL1-37 L2/P10
+	 L3/P5 -> MTS14400 SL1-37 L3/P10
+	 L4/P5 -> MTS14400 SL1-38 L6/P10
+	 L5/P5 -> MTS14400 SL1-39 L11/P10
+	 L6/P5 -> MTS14400 SL1-39 L12/P10
+	 L7/P5 -> MTS14400 SL1-40 L2/P10
+	 L8/P5 -> MTS14400 SL1-41 L10/P10
+	 L9/P5 -> MTS14400 SL1-42 L7/P10
+	 L10/P5 -> MTS14400 SL1-42 L8/P10
+	 L11/P5 -> MTS14400 SL1-43 L2/P10
+	 L12/P5 -> MTS14400 SL1-44 L2/P11
+	 L1/P6 -> MTS14400 SL1-45 L3/P10
+	 L2/P6 -> MTS14400 SL1-45 L4/P10
+	 L3/P6 -> MTS14400 SL1-46 L5/P10
+	 L4/P6 -> MTS14400 SL1-47 L12/P10
+	 L5/P6 -> MTS14400 SL1-47 L1/P11
+	 L6/P6 -> MTS14400 SL1-48 L2/P10
+	 L7/P6 -> MTS14400 SL1-49 L9/P10
+	 L8/P6 -> MTS14400 SL1-50 L8/P10
+	 L9/P6 -> MTS14400 SL1-50 L9/P10
+	 L10/P6 -> MTS14400 SL1-51 L2/P10
+	 L11/P6 -> MTS14400 SL1-52 L1/P11
+	 L12/P6 -> MTS14400 SL1-53 L4/P10
+	 L1/P7 -> MTS14400 SL1-53 L5/P10
+	 L2/P7 -> MTS14400 SL1-54 L4/P10
+	 L3/P7 -> MTS14400 SL1-55 L1/P11
+	 L4/P7 -> MTS14400 SL1-55 L2/P11
+	 L5/P7 -> MTS14400 SL1-56 L2/P10
+	 L6/P7 -> MTS14400 SL1-57 L8/P10
+	 L7/P7 -> MTS14400 SL1-58 L9/P10
+	 L8/P7 -> MTS14400 SL1-58 L10/P10
+	 L9/P7 -> MTS14400 SL1-59 L2/P10
+	 L10/P7 -> MTS14400 SL1-60 L12/P10
+	 L11/P7 -> MTS14400 SL1-61 L5/P10
+	 L12/P7 -> MTS14400 SL1-61 L6/P10
+	 L1/P8 -> MTS14400 SL1-62 L3/P10
+	 L2/P8 -> MTS14400 SL1-63 L2/P11
+	 L3/P8 -> MTS14400 SL1-63 L3/P11
+	 L4/P8 -> MTS14400 SL1-64 L2/P10
+	 L5/P8 -> MTS14400 SL1-65 L7/P10
+	 L6/P8 -> MTS14400 SL1-66 L10/P10
+	 L7/P8 -> MTS14400 SL1-66 L11/P10
+	 L8/P8 -> MTS14400 SL1-67 L2/P10
+	 L9/P8 -> MTS14400 SL1-68 L11/P10
+	 L10/P8 -> MTS14400 SL1-69 L6/P10
+	 L11/P8 -> MTS14400 SL1-69 L7/P10
+	 L12/P8 -> MTS14400 SL1-70 L2/P10
+	 L1/P9 -> MTS14400 SL1-71 L3/P11
+	 L2/P9 -> MTS14400 SL1-72 L2/P10
+	 L3/P9 -> MTS14400 SL1-72 L3/P10
+	 L4/P9 -> MTS14400 SL1-73 L6/P10
+	 L5/P9 -> MTS14400 SL1-74 L11/P10
+	 L6/P9 -> MTS14400 SL1-74 L12/P10
+	 L7/P9 -> MTS14400 SL1-75 L2/P10
+	 L8/P9 -> MTS14400 SL1-76 L10/P10
+	 L9/P9 -> MTS14400 SL1-77 L7/P10
+	 L10/P9 -> MTS14400 SL1-77 L8/P10
+	 L11/P9 -> MTS14400 SL1-78 L2/P10
+	 L12/P9 -> MTS14400 SL1-79 L2/P11
+	 L1/P10 -> MTS14400 SL1-80 L3/P10
+	 L2/P10 -> MTS14400 SL1-80 L4/P10
+	 L3/P10 -> MTS14400 SL1-81 L5/P10
+	 L4/P10 -> MTS14400 SL1-82 L12/P10
+	 L5/P10 -> MTS14400 SL1-82 L1/P11
+	 L6/P10 -> MTS14400 SL1-83 L2/P10
+	 L7/P10 -> MTS14400 SL1-84 L9/P10
+	 L8/P10 -> MTS14400 SL1-85 L8/P10
+	 L9/P10 -> MTS14400 SL1-85 L9/P10
+	 L10/P10 -> MTS14400 SL1-86 L2/P10
+	 L11/P10 -> MTS14400 SL1-87 L1/P11
+	 L12/P10 -> MTS14400 SL1-88 L4/P10
+	 L1/P11 -> MTS14400 SL1-88 L5/P10
+	 L2/P11 -> MTS14400 SL1-89 L4/P10
+	 L3/P11 -> MTS14400 SL1-90 L1/P11
+	 L4/P11 -> MTS14400 SL1-90 L2/P11
+	 L5/P11 -> MTS14400 SL1-91 L2/P10
+	 L6/P11 -> MTS14400 SL1-92 L8/P10
+	 L7/P11 -> MTS14400 SL1-93 L9/P10
+	 L8/P11 -> MTS14400 SL1-93 L10/P10
+	 L9/P11 -> MTS14400 SL1-94 L2/P10
+	 L10/P11 -> MTS14400 SL1-95 L12/P10
+	 L11/P11 -> MTS14400 SL1-96 L5/P10
+	 L12/P11 -> MTS14400 SL1-96 L6/P10
+	 L1/P12 -> MTS14400 SL1-97 L3/P10
+	 L2/P12 -> MTS14400 SL1-98 L2/P11
+	 L3/P12 -> MTS14400 SL1-98 L3/P11
+	 L4/P12 -> MTS14400 SL1-99 L2/P10
+	 L5/P12 -> MTS14400 SL1-100 L7/P10
+	 L6/P12 -> MTS14400 SL1-101 L10/P10
+	 L7/P12 -> MTS14400 SL1-101 L11/P10
+	 L8/P12 -> MTS14400 SL1-102 L2/P10
+	 L9/P12 -> MTS14400 SL1-103 L11/P10
+	 L10/P12 -> MTS14400 SL1-104 L6/P10
+	 L11/P12 -> MTS14400 SL1-104 L7/P10
+	 L12/P12 -> MTS14400 SL1-105 L2/P10
+
+MTS14400 SL2-15
+	 L1/P1 -> MTS14400 SL1-1 L4/P11
+	 L2/P1 -> MTS14400 SL1-2 L4/P10
+	 L3/P1 -> MTS14400 SL1-2 L5/P10
+	 L4/P1 -> MTS14400 SL1-3 L7/P10
+	 L5/P1 -> MTS14400 SL1-4 L1/P11
+	 L6/P1 -> MTS14400 SL1-4 L2/P11
+	 L7/P1 -> MTS14400 SL1-5 L3/P10
+	 L8/P1 -> MTS14400 SL1-6 L11/P10
+	 L9/P1 -> MTS14400 SL1-7 L9/P10
+	 L10/P1 -> MTS14400 SL1-7 L10/P10
+	 L11/P1 -> MTS14400 SL1-8 L3/P10
+	 L12/P1 -> MTS14400 SL1-9 L3/P11
+	 L1/P2 -> MTS14400 SL1-10 L5/P10
+	 L2/P2 -> MTS14400 SL1-10 L6/P10
+	 L3/P2 -> MTS14400 SL1-11 L6/P10
+	 L4/P2 -> MTS14400 SL1-12 L2/P11
+	 L5/P2 -> MTS14400 SL1-12 L3/P11
+	 L6/P2 -> MTS14400 SL1-13 L3/P10
+	 L7/P2 -> MTS14400 SL1-14 L10/P10
+	 L8/P2 -> MTS14400 SL1-15 L10/P10
+	 L9/P2 -> MTS14400 SL1-15 L11/P10
+	 L10/P2 -> MTS14400 SL1-16 L3/P10
+	 L11/P2 -> MTS14400 SL1-17 L2/P11
+	 L12/P2 -> MTS14400 SL1-18 L6/P10
+	 L1/P3 -> MTS14400 SL1-18 L7/P10
+	 L2/P3 -> MTS14400 SL1-19 L5/P10
+	 L3/P3 -> MTS14400 SL1-20 L3/P11
+	 L4/P3 -> MTS14400 SL1-20 L4/P11
+	 L5/P3 -> MTS14400 SL1-21 L3/P10
+	 L6/P3 -> MTS14400 SL1-22 L9/P10
+	 L7/P3 -> MTS14400 SL1-23 L11/P10
+	 L8/P3 -> MTS14400 SL1-23 L12/P10
+	 L9/P3 -> MTS14400 SL1-24 L3/P10
+	 L10/P3 -> MTS14400 SL1-25 L1/P11
+	 L11/P3 -> MTS14400 SL1-26 L7/P10
+	 L12/P3 -> MTS14400 SL1-26 L8/P10
+	 L1/P4 -> MTS14400 SL1-27 L4/P10
+	 L2/P4 -> MTS14400 SL1-28 L4/P11
+	 L3/P4 -> MTS14400 SL1-29 L3/P10
+	 L4/P4 -> MTS14400 SL1-29 L4/P10
+	 L5/P4 -> MTS14400 SL1-30 L8/P10
+	 L6/P4 -> MTS14400 SL1-31 L12/P10
+	 L7/P4 -> MTS14400 SL1-31 L1/P11
+	 L8/P4 -> MTS14400 SL1-32 L3/P10
+	 L9/P4 -> MTS14400 SL1-33 L12/P10
+	 L10/P4 -> MTS14400 SL1-34 L8/P10
+	 L11/P4 -> MTS14400 SL1-34 L9/P10
+	 L12/P4 -> MTS14400 SL1-35 L3/P10
+	 L1/P5 -> MTS14400 SL1-36 L4/P11
+	 L2/P5 -> MTS14400 SL1-37 L4/P10
+	 L3/P5 -> MTS14400 SL1-37 L5/P10
+	 L4/P5 -> MTS14400 SL1-38 L7/P10
+	 L5/P5 -> MTS14400 SL1-39 L1/P11
+	 L6/P5 -> MTS14400 SL1-39 L2/P11
+	 L7/P5 -> MTS14400 SL1-40 L3/P10
+	 L8/P5 -> MTS14400 SL1-41 L11/P10
+	 L9/P5 -> MTS14400 SL1-42 L9/P10
+	 L10/P5 -> MTS14400 SL1-42 L10/P10
+	 L11/P5 -> MTS14400 SL1-43 L3/P10
+	 L12/P5 -> MTS14400 SL1-44 L3/P11
+	 L1/P6 -> MTS14400 SL1-45 L5/P10
+	 L2/P6 -> MTS14400 SL1-45 L6/P10
+	 L3/P6 -> MTS14400 SL1-46 L6/P10
+	 L4/P6 -> MTS14400 SL1-47 L2/P11
+	 L5/P6 -> MTS14400 SL1-47 L3/P11
+	 L6/P6 -> MTS14400 SL1-48 L3/P10
+	 L7/P6 -> MTS14400 SL1-49 L10/P10
+	 L8/P6 -> MTS14400 SL1-50 L10/P10
+	 L9/P6 -> MTS14400 SL1-50 L11/P10
+	 L10/P6 -> MTS14400 SL1-51 L3/P10
+	 L11/P6 -> MTS14400 SL1-52 L2/P11
+	 L12/P6 -> MTS14400 SL1-53 L6/P10
+	 L1/P7 -> MTS14400 SL1-53 L7/P10
+	 L2/P7 -> MTS14400 SL1-54 L5/P10
+	 L3/P7 -> MTS14400 SL1-55 L3/P11
+	 L4/P7 -> MTS14400 SL1-55 L4/P11
+	 L5/P7 -> MTS14400 SL1-56 L3/P10
+	 L6/P7 -> MTS14400 SL1-57 L9/P10
+	 L7/P7 -> MTS14400 SL1-58 L11/P10
+	 L8/P7 -> MTS14400 SL1-58 L12/P10
+	 L9/P7 -> MTS14400 SL1-59 L3/P10
+	 L10/P7 -> MTS14400 SL1-60 L1/P11
+	 L11/P7 -> MTS14400 SL1-61 L7/P10
+	 L12/P7 -> MTS14400 SL1-61 L8/P10
+	 L1/P8 -> MTS14400 SL1-62 L4/P10
+	 L2/P8 -> MTS14400 SL1-63 L4/P11
+	 L3/P8 -> MTS14400 SL1-64 L3/P10
+	 L4/P8 -> MTS14400 SL1-64 L4/P10
+	 L5/P8 -> MTS14400 SL1-65 L8/P10
+	 L6/P8 -> MTS14400 SL1-66 L12/P10
+	 L7/P8 -> MTS14400 SL1-66 L1/P11
+	 L8/P8 -> MTS14400 SL1-67 L3/P10
+	 L9/P8 -> MTS14400 SL1-68 L12/P10
+	 L10/P8 -> MTS14400 SL1-69 L8/P10
+	 L11/P8 -> MTS14400 SL1-69 L9/P10
+	 L12/P8 -> MTS14400 SL1-70 L3/P10
+	 L1/P9 -> MTS14400 SL1-71 L4/P11
+	 L2/P9 -> MTS14400 SL1-72 L4/P10
+	 L3/P9 -> MTS14400 SL1-72 L5/P10
+	 L4/P9 -> MTS14400 SL1-73 L7/P10
+	 L5/P9 -> MTS14400 SL1-74 L1/P11
+	 L6/P9 -> MTS14400 SL1-74 L2/P11
+	 L7/P9 -> MTS14400 SL1-75 L3/P10
+	 L8/P9 -> MTS14400 SL1-76 L11/P10
+	 L9/P9 -> MTS14400 SL1-77 L9/P10
+	 L10/P9 -> MTS14400 SL1-77 L10/P10
+	 L11/P9 -> MTS14400 SL1-78 L3/P10
+	 L12/P9 -> MTS14400 SL1-79 L3/P11
+	 L1/P10 -> MTS14400 SL1-80 L5/P10
+	 L2/P10 -> MTS14400 SL1-80 L6/P10
+	 L3/P10 -> MTS14400 SL1-81 L6/P10
+	 L4/P10 -> MTS14400 SL1-82 L2/P11
+	 L5/P10 -> MTS14400 SL1-82 L3/P11
+	 L6/P10 -> MTS14400 SL1-83 L3/P10
+	 L7/P10 -> MTS14400 SL1-84 L10/P10
+	 L8/P10 -> MTS14400 SL1-85 L10/P10
+	 L9/P10 -> MTS14400 SL1-85 L11/P10
+	 L10/P10 -> MTS14400 SL1-86 L3/P10
+	 L11/P10 -> MTS14400 SL1-87 L2/P11
+	 L12/P10 -> MTS14400 SL1-88 L6/P10
+	 L1/P11 -> MTS14400 SL1-88 L7/P10
+	 L2/P11 -> MTS14400 SL1-89 L5/P10
+	 L3/P11 -> MTS14400 SL1-90 L3/P11
+	 L4/P11 -> MTS14400 SL1-90 L4/P11
+	 L5/P11 -> MTS14400 SL1-91 L3/P10
+	 L6/P11 -> MTS14400 SL1-92 L9/P10
+	 L7/P11 -> MTS14400 SL1-93 L11/P10
+	 L8/P11 -> MTS14400 SL1-93 L12/P10
+	 L9/P11 -> MTS14400 SL1-94 L3/P10
+	 L10/P11 -> MTS14400 SL1-95 L1/P11
+	 L11/P11 -> MTS14400 SL1-96 L7/P10
+	 L12/P11 -> MTS14400 SL1-96 L8/P10
+	 L1/P12 -> MTS14400 SL1-97 L4/P10
+	 L2/P12 -> MTS14400 SL1-98 L4/P11
+	 L3/P12 -> MTS14400 SL1-99 L3/P10
+	 L4/P12 -> MTS14400 SL1-99 L4/P10
+	 L5/P12 -> MTS14400 SL1-100 L8/P10
+	 L6/P12 -> MTS14400 SL1-101 L12/P10
+	 L7/P12 -> MTS14400 SL1-101 L1/P11
+	 L8/P12 -> MTS14400 SL1-102 L3/P10
+	 L9/P12 -> MTS14400 SL1-103 L12/P10
+	 L10/P12 -> MTS14400 SL1-104 L8/P10
+	 L11/P12 -> MTS14400 SL1-104 L9/P10
+	 L12/P12 -> MTS14400 SL1-105 L3/P10
+
+MTS14400 SL2-16
+	 L1/P1 -> MTS14400 SL1-1 L5/P11
+	 L2/P1 -> MTS14400 SL1-2 L6/P10
+	 L3/P1 -> MTS14400 SL1-2 L7/P10
+	 L4/P1 -> MTS14400 SL1-3 L8/P10
+	 L5/P1 -> MTS14400 SL1-4 L3/P11
+	 L6/P1 -> MTS14400 SL1-4 L4/P11
+	 L7/P1 -> MTS14400 SL1-5 L4/P10
+	 L8/P1 -> MTS14400 SL1-6 L12/P10
+	 L9/P1 -> MTS14400 SL1-7 L11/P10
+	 L10/P1 -> MTS14400 SL1-7 L12/P10
+	 L11/P1 -> MTS14400 SL1-8 L4/P10
+	 L12/P1 -> MTS14400 SL1-9 L4/P11
+	 L1/P2 -> MTS14400 SL1-10 L7/P10
+	 L2/P2 -> MTS14400 SL1-10 L8/P10
+	 L3/P2 -> MTS14400 SL1-11 L7/P10
+	 L4/P2 -> MTS14400 SL1-12 L4/P11
+	 L5/P2 -> MTS14400 SL1-12 L5/P11
+	 L6/P2 -> MTS14400 SL1-13 L4/P10
+	 L7/P2 -> MTS14400 SL1-14 L11/P10
+	 L8/P2 -> MTS14400 SL1-15 L12/P10
+	 L9/P2 -> MTS14400 SL1-15 L1/P11
+	 L10/P2 -> MTS14400 SL1-16 L4/P10
+	 L11/P2 -> MTS14400 SL1-17 L3/P11
+	 L12/P2 -> MTS14400 SL1-18 L8/P10
+	 L1/P3 -> MTS14400 SL1-18 L9/P10
+	 L2/P3 -> MTS14400 SL1-19 L6/P10
+	 L3/P3 -> MTS14400 SL1-20 L5/P11
+	 L4/P3 -> MTS14400 SL1-21 L4/P10
+	 L5/P3 -> MTS14400 SL1-21 L5/P10
+	 L6/P3 -> MTS14400 SL1-22 L10/P10
+	 L7/P3 -> MTS14400 SL1-23 L1/P11
+	 L8/P3 -> MTS14400 SL1-23 L2/P11
+	 L9/P3 -> MTS14400 SL1-24 L4/P10
+	 L10/P3 -> MTS14400 SL1-25 L2/P11
+	 L11/P3 -> MTS14400 SL1-26 L9/P10
+	 L12/P3 -> MTS14400 SL1-26 L10/P10
+	 L1/P4 -> MTS14400 SL1-27 L5/P10
+	 L2/P4 -> MTS14400 SL1-28 L5/P11
+	 L3/P4 -> MTS14400 SL1-29 L5/P10
+	 L4/P4 -> MTS14400 SL1-29 L6/P10
+	 L5/P4 -> MTS14400 SL1-30 L9/P10
+	 L6/P4 -> MTS14400 SL1-31 L2/P11
+	 L7/P4 -> MTS14400 SL1-31 L3/P11
+	 L8/P4 -> MTS14400 SL1-32 L4/P10
+	 L9/P4 -> MTS14400 SL1-33 L1/P11
+	 L10/P4 -> MTS14400 SL1-34 L10/P10
+	 L11/P4 -> MTS14400 SL1-34 L11/P10
+	 L12/P4 -> MTS14400 SL1-35 L4/P10
+	 L1/P5 -> MTS14400 SL1-36 L5/P11
+	 L2/P5 -> MTS14400 SL1-37 L6/P10
+	 L3/P5 -> MTS14400 SL1-37 L7/P10
+	 L4/P5 -> MTS14400 SL1-38 L8/P10
+	 L5/P5 -> MTS14400 SL1-39 L3/P11
+	 L6/P5 -> MTS14400 SL1-39 L4/P11
+	 L7/P5 -> MTS14400 SL1-40 L4/P10
+	 L8/P5 -> MTS14400 SL1-41 L12/P10
+	 L9/P5 -> MTS14400 SL1-42 L11/P10
+	 L10/P5 -> MTS14400 SL1-42 L12/P10
+	 L11/P5 -> MTS14400 SL1-43 L4/P10
+	 L12/P5 -> MTS14400 SL1-44 L4/P11
+	 L1/P6 -> MTS14400 SL1-45 L7/P10
+	 L2/P6 -> MTS14400 SL1-45 L8/P10
+	 L3/P6 -> MTS14400 SL1-46 L7/P10
+	 L4/P6 -> MTS14400 SL1-47 L4/P11
+	 L5/P6 -> MTS14400 SL1-47 L5/P11
+	 L6/P6 -> MTS14400 SL1-48 L4/P10
+	 L7/P6 -> MTS14400 SL1-49 L11/P10
+	 L8/P6 -> MTS14400 SL1-50 L12/P10
+	 L9/P6 -> MTS14400 SL1-50 L1/P11
+	 L10/P6 -> MTS14400 SL1-51 L4/P10
+	 L11/P6 -> MTS14400 SL1-52 L3/P11
+	 L12/P6 -> MTS14400 SL1-53 L8/P10
+	 L1/P7 -> MTS14400 SL1-53 L9/P10
+	 L2/P7 -> MTS14400 SL1-54 L6/P10
+	 L3/P7 -> MTS14400 SL1-55 L5/P11
+	 L4/P7 -> MTS14400 SL1-56 L4/P10
+	 L5/P7 -> MTS14400 SL1-56 L5/P10
+	 L6/P7 -> MTS14400 SL1-57 L10/P10
+	 L7/P7 -> MTS14400 SL1-58 L1/P11
+	 L8/P7 -> MTS14400 SL1-58 L2/P11
+	 L9/P7 -> MTS14400 SL1-59 L4/P10
+	 L10/P7 -> MTS14400 SL1-60 L2/P11
+	 L11/P7 -> MTS14400 SL1-61 L9/P10
+	 L12/P7 -> MTS14400 SL1-61 L10/P10
+	 L1/P8 -> MTS14400 SL1-62 L5/P10
+	 L2/P8 -> MTS14400 SL1-63 L5/P11
+	 L3/P8 -> MTS14400 SL1-64 L5/P10
+	 L4/P8 -> MTS14400 SL1-64 L6/P10
+	 L5/P8 -> MTS14400 SL1-65 L9/P10
+	 L6/P8 -> MTS14400 SL1-66 L2/P11
+	 L7/P8 -> MTS14400 SL1-66 L3/P11
+	 L8/P8 -> MTS14400 SL1-67 L4/P10
+	 L9/P8 -> MTS14400 SL1-68 L1/P11
+	 L10/P8 -> MTS14400 SL1-69 L10/P10
+	 L11/P8 -> MTS14400 SL1-69 L11/P10
+	 L12/P8 -> MTS14400 SL1-70 L4/P10
+	 L1/P9 -> MTS14400 SL1-71 L5/P11
+	 L2/P9 -> MTS14400 SL1-72 L6/P10
+	 L3/P9 -> MTS14400 SL1-72 L7/P10
+	 L4/P9 -> MTS14400 SL1-73 L8/P10
+	 L5/P9 -> MTS14400 SL1-74 L3/P11
+	 L6/P9 -> MTS14400 SL1-74 L4/P11
+	 L7/P9 -> MTS14400 SL1-75 L4/P10
+	 L8/P9 -> MTS14400 SL1-76 L12/P10
+	 L9/P9 -> MTS14400 SL1-77 L11/P10
+	 L10/P9 -> MTS14400 SL1-77 L12/P10
+	 L11/P9 -> MTS14400 SL1-78 L4/P10
+	 L12/P9 -> MTS14400 SL1-79 L4/P11
+	 L1/P10 -> MTS14400 SL1-80 L7/P10
+	 L2/P10 -> MTS14400 SL1-80 L8/P10
+	 L3/P10 -> MTS14400 SL1-81 L7/P10
+	 L4/P10 -> MTS14400 SL1-82 L4/P11
+	 L5/P10 -> MTS14400 SL1-82 L5/P11
+	 L6/P10 -> MTS14400 SL1-83 L4/P10
+	 L7/P10 -> MTS14400 SL1-84 L11/P10
+	 L8/P10 -> MTS14400 SL1-85 L12/P10
+	 L9/P10 -> MTS14400 SL1-85 L1/P11
+	 L10/P10 -> MTS14400 SL1-86 L4/P10
+	 L11/P10 -> MTS14400 SL1-87 L3/P11
+	 L12/P10 -> MTS14400 SL1-88 L8/P10
+	 L1/P11 -> MTS14400 SL1-88 L9/P10
+	 L2/P11 -> MTS14400 SL1-89 L6/P10
+	 L3/P11 -> MTS14400 SL1-90 L5/P11
+	 L4/P11 -> MTS14400 SL1-91 L4/P10
+	 L5/P11 -> MTS14400 SL1-91 L5/P10
+	 L6/P11 -> MTS14400 SL1-92 L10/P10
+	 L7/P11 -> MTS14400 SL1-93 L1/P11
+	 L8/P11 -> MTS14400 SL1-93 L2/P11
+	 L9/P11 -> MTS14400 SL1-94 L4/P10
+	 L10/P11 -> MTS14400 SL1-95 L2/P11
+	 L11/P11 -> MTS14400 SL1-96 L9/P10
+	 L12/P11 -> MTS14400 SL1-96 L10/P10
+	 L1/P12 -> MTS14400 SL1-97 L5/P10
+	 L2/P12 -> MTS14400 SL1-98 L5/P11
+	 L3/P12 -> MTS14400 SL1-99 L5/P10
+	 L4/P12 -> MTS14400 SL1-99 L6/P10
+	 L5/P12 -> MTS14400 SL1-100 L9/P10
+	 L6/P12 -> MTS14400 SL1-101 L2/P11
+	 L7/P12 -> MTS14400 SL1-101 L3/P11
+	 L8/P12 -> MTS14400 SL1-102 L4/P10
+	 L9/P12 -> MTS14400 SL1-103 L1/P11
+	 L10/P12 -> MTS14400 SL1-104 L10/P10
+	 L11/P12 -> MTS14400 SL1-104 L11/P10
+	 L12/P12 -> MTS14400 SL1-105 L4/P10
+
+MTS14400 SL2-17
+	 L1/P1 -> MTS14400 SL1-1 L6/P11
+	 L2/P1 -> MTS14400 SL1-2 L8/P10
+	 L3/P1 -> MTS14400 SL1-2 L9/P10
+	 L4/P1 -> MTS14400 SL1-3 L9/P10
+	 L5/P1 -> MTS14400 SL1-4 L5/P11
+	 L6/P1 -> MTS14400 SL1-4 L6/P11
+	 L7/P1 -> MTS14400 SL1-5 L5/P10
+	 L8/P1 -> MTS14400 SL1-6 L1/P11
+	 L9/P1 -> MTS14400 SL1-7 L1/P11
+	 L10/P1 -> MTS14400 SL1-7 L2/P11
+	 L11/P1 -> MTS14400 SL1-8 L5/P10
+	 L12/P1 -> MTS14400 SL1-9 L5/P11
+	 L1/P2 -> MTS14400 SL1-10 L9/P10
+	 L2/P2 -> MTS14400 SL1-10 L10/P10
+	 L3/P2 -> MTS14400 SL1-11 L8/P10
+	 L4/P2 -> MTS14400 SL1-12 L6/P11
+	 L5/P2 -> MTS14400 SL1-13 L5/P10
+	 L6/P2 -> MTS14400 SL1-13 L6/P10
+	 L7/P2 -> MTS14400 SL1-14 L12/P10
+	 L8/P2 -> MTS14400 SL1-15 L2/P11
+	 L9/P2 -> MTS14400 SL1-15 L3/P11
+	 L10/P2 -> MTS14400 SL1-16 L5/P10
+	 L11/P2 -> MTS14400 SL1-17 L4/P11
+	 L12/P2 -> MTS14400 SL1-18 L10/P10
+	 L1/P3 -> MTS14400 SL1-18 L11/P10
+	 L2/P3 -> MTS14400 SL1-19 L7/P10
+	 L3/P3 -> MTS14400 SL1-20 L6/P11
+	 L4/P3 -> MTS14400 SL1-21 L6/P10
+	 L5/P3 -> MTS14400 SL1-21 L7/P10
+	 L6/P3 -> MTS14400 SL1-22 L11/P10
+	 L7/P3 -> MTS14400 SL1-23 L3/P11
+	 L8/P3 -> MTS14400 SL1-23 L4/P11
+	 L9/P3 -> MTS14400 SL1-24 L5/P10
+	 L10/P3 -> MTS14400 SL1-25 L3/P11
+	 L11/P3 -> MTS14400 SL1-26 L11/P10
+	 L12/P3 -> MTS14400 SL1-26 L12/P10
+	 L1/P4 -> MTS14400 SL1-27 L6/P10
+	 L2/P4 -> MTS14400 SL1-28 L6/P11
+	 L3/P4 -> MTS14400 SL1-29 L7/P10
+	 L4/P4 -> MTS14400 SL1-29 L8/P10
+	 L5/P4 -> MTS14400 SL1-30 L10/P10
+	 L6/P4 -> MTS14400 SL1-31 L4/P11
+	 L7/P4 -> MTS14400 SL1-31 L5/P11
+	 L8/P4 -> MTS14400 SL1-32 L5/P10
+	 L9/P4 -> MTS14400 SL1-33 L2/P11
+	 L10/P4 -> MTS14400 SL1-34 L12/P10
+	 L11/P4 -> MTS14400 SL1-34 L1/P11
+	 L12/P4 -> MTS14400 SL1-35 L5/P10
+	 L1/P5 -> MTS14400 SL1-36 L6/P11
+	 L2/P5 -> MTS14400 SL1-37 L8/P10
+	 L3/P5 -> MTS14400 SL1-37 L9/P10
+	 L4/P5 -> MTS14400 SL1-38 L9/P10
+	 L5/P5 -> MTS14400 SL1-39 L5/P11
+	 L6/P5 -> MTS14400 SL1-39 L6/P11
+	 L7/P5 -> MTS14400 SL1-40 L5/P10
+	 L8/P5 -> MTS14400 SL1-41 L1/P11
+	 L9/P5 -> MTS14400 SL1-42 L1/P11
+	 L10/P5 -> MTS14400 SL1-42 L2/P11
+	 L11/P5 -> MTS14400 SL1-43 L5/P10
+	 L12/P5 -> MTS14400 SL1-44 L5/P11
+	 L1/P6 -> MTS14400 SL1-45 L9/P10
+	 L2/P6 -> MTS14400 SL1-45 L10/P10
+	 L3/P6 -> MTS14400 SL1-46 L8/P10
+	 L4/P6 -> MTS14400 SL1-47 L6/P11
+	 L5/P6 -> MTS14400 SL1-48 L5/P10
+	 L6/P6 -> MTS14400 SL1-48 L6/P10
+	 L7/P6 -> MTS14400 SL1-49 L12/P10
+	 L8/P6 -> MTS14400 SL1-50 L2/P11
+	 L9/P6 -> MTS14400 SL1-50 L3/P11
+	 L10/P6 -> MTS14400 SL1-51 L5/P10
+	 L11/P6 -> MTS14400 SL1-52 L4/P11
+	 L12/P6 -> MTS14400 SL1-53 L10/P10
+	 L1/P7 -> MTS14400 SL1-53 L11/P10
+	 L2/P7 -> MTS14400 SL1-54 L7/P10
+	 L3/P7 -> MTS14400 SL1-55 L6/P11
+	 L4/P7 -> MTS14400 SL1-56 L6/P10
+	 L5/P7 -> MTS14400 SL1-56 L7/P10
+	 L6/P7 -> MTS14400 SL1-57 L11/P10
+	 L7/P7 -> MTS14400 SL1-58 L3/P11
+	 L8/P7 -> MTS14400 SL1-58 L4/P11
+	 L9/P7 -> MTS14400 SL1-59 L5/P10
+	 L10/P7 -> MTS14400 SL1-60 L3/P11
+	 L11/P7 -> MTS14400 SL1-61 L11/P10
+	 L12/P7 -> MTS14400 SL1-61 L12/P10
+	 L1/P8 -> MTS14400 SL1-62 L6/P10
+	 L2/P8 -> MTS14400 SL1-63 L6/P11
+	 L3/P8 -> MTS14400 SL1-64 L7/P10
+	 L4/P8 -> MTS14400 SL1-64 L8/P10
+	 L5/P8 -> MTS14400 SL1-65 L10/P10
+	 L6/P8 -> MTS14400 SL1-66 L4/P11
+	 L7/P8 -> MTS14400 SL1-66 L5/P11
+	 L8/P8 -> MTS14400 SL1-67 L5/P10
+	 L9/P8 -> MTS14400 SL1-68 L2/P11
+	 L10/P8 -> MTS14400 SL1-69 L12/P10
+	 L11/P8 -> MTS14400 SL1-69 L1/P11
+	 L12/P8 -> MTS14400 SL1-70 L5/P10
+	 L1/P9 -> MTS14400 SL1-71 L6/P11
+	 L2/P9 -> MTS14400 SL1-72 L8/P10
+	 L3/P9 -> MTS14400 SL1-72 L9/P10
+	 L4/P9 -> MTS14400 SL1-73 L9/P10
+	 L5/P9 -> MTS14400 SL1-74 L5/P11
+	 L6/P9 -> MTS14400 SL1-74 L6/P11
+	 L7/P9 -> MTS14400 SL1-75 L5/P10
+	 L8/P9 -> MTS14400 SL1-76 L1/P11
+	 L9/P9 -> MTS14400 SL1-77 L1/P11
+	 L10/P9 -> MTS14400 SL1-77 L2/P11
+	 L11/P9 -> MTS14400 SL1-78 L5/P10
+	 L12/P9 -> MTS14400 SL1-79 L5/P11
+	 L1/P10 -> MTS14400 SL1-80 L9/P10
+	 L2/P10 -> MTS14400 SL1-80 L10/P10
+	 L3/P10 -> MTS14400 SL1-81 L8/P10
+	 L4/P10 -> MTS14400 SL1-82 L6/P11
+	 L5/P10 -> MTS14400 SL1-83 L5/P10
+	 L6/P10 -> MTS14400 SL1-83 L6/P10
+	 L7/P10 -> MTS14400 SL1-84 L12/P10
+	 L8/P10 -> MTS14400 SL1-85 L2/P11
+	 L9/P10 -> MTS14400 SL1-85 L3/P11
+	 L10/P10 -> MTS14400 SL1-86 L5/P10
+	 L11/P10 -> MTS14400 SL1-87 L4/P11
+	 L12/P10 -> MTS14400 SL1-88 L10/P10
+	 L1/P11 -> MTS14400 SL1-88 L11/P10
+	 L2/P11 -> MTS14400 SL1-89 L7/P10
+	 L3/P11 -> MTS14400 SL1-90 L6/P11
+	 L4/P11 -> MTS14400 SL1-91 L6/P10
+	 L5/P11 -> MTS14400 SL1-91 L7/P10
+	 L6/P11 -> MTS14400 SL1-92 L11/P10
+	 L7/P11 -> MTS14400 SL1-93 L3/P11
+	 L8/P11 -> MTS14400 SL1-93 L4/P11
+	 L9/P11 -> MTS14400 SL1-94 L5/P10
+	 L10/P11 -> MTS14400 SL1-95 L3/P11
+	 L11/P11 -> MTS14400 SL1-96 L11/P10
+	 L12/P11 -> MTS14400 SL1-96 L12/P10
+	 L1/P12 -> MTS14400 SL1-97 L6/P10
+	 L2/P12 -> MTS14400 SL1-98 L6/P11
+	 L3/P12 -> MTS14400 SL1-99 L7/P10
+	 L4/P12 -> MTS14400 SL1-99 L8/P10
+	 L5/P12 -> MTS14400 SL1-100 L10/P10
+	 L6/P12 -> MTS14400 SL1-101 L4/P11
+	 L7/P12 -> MTS14400 SL1-101 L5/P11
+	 L8/P12 -> MTS14400 SL1-102 L5/P10
+	 L9/P12 -> MTS14400 SL1-103 L2/P11
+	 L10/P12 -> MTS14400 SL1-104 L12/P10
+	 L11/P12 -> MTS14400 SL1-104 L1/P11
+	 L12/P12 -> MTS14400 SL1-105 L5/P10
+
+MTS14400 SL2-18
+	 L1/P1 -> MTS14400 SL1-1 L7/P11
+	 L2/P1 -> MTS14400 SL1-2 L10/P10
+	 L3/P1 -> MTS14400 SL1-2 L11/P10
+	 L4/P1 -> MTS14400 SL1-3 L10/P10
+	 L5/P1 -> MTS14400 SL1-4 L7/P11
+	 L6/P1 -> MTS14400 SL1-5 L6/P10
+	 L7/P1 -> MTS14400 SL1-5 L7/P10
+	 L8/P1 -> MTS14400 SL1-6 L2/P11
+	 L9/P1 -> MTS14400 SL1-7 L3/P11
+	 L10/P1 -> MTS14400 SL1-7 L4/P11
+	 L11/P1 -> MTS14400 SL1-8 L6/P10
+	 L12/P1 -> MTS14400 SL1-9 L6/P11
+	 L1/P2 -> MTS14400 SL1-10 L11/P10
+	 L2/P2 -> MTS14400 SL1-10 L12/P10
+	 L3/P2 -> MTS14400 SL1-11 L9/P10
+	 L4/P2 -> MTS14400 SL1-12 L7/P11
+	 L5/P2 -> MTS14400 SL1-13 L7/P10
+	 L6/P2 -> MTS14400 SL1-13 L8/P10
+	 L7/P2 -> MTS14400 SL1-14 L1/P11
+	 L8/P2 -> MTS14400 SL1-15 L4/P11
+	 L9/P2 -> MTS14400 SL1-15 L5/P11
+	 L10/P2 -> MTS14400 SL1-16 L6/P10
+	 L11/P2 -> MTS14400 SL1-17 L5/P11
+	 L12/P2 -> MTS14400 SL1-18 L12/P10
+	 L1/P3 -> MTS14400 SL1-18 L1/P11
+	 L2/P3 -> MTS14400 SL1-19 L8/P10
+	 L3/P3 -> MTS14400 SL1-20 L7/P11
+	 L4/P3 -> MTS14400 SL1-21 L8/P10
+	 L5/P3 -> MTS14400 SL1-21 L9/P10
+	 L6/P3 -> MTS14400 SL1-22 L12/P10
+	 L7/P3 -> MTS14400 SL1-23 L5/P11
+	 L8/P3 -> MTS14400 SL1-23 L6/P11
+	 L9/P3 -> MTS14400 SL1-24 L6/P10
+	 L10/P3 -> MTS14400 SL1-25 L4/P11
+	 L11/P3 -> MTS14400 SL1-26 L1/P11
+	 L12/P3 -> MTS14400 SL1-26 L2/P11
+	 L1/P4 -> MTS14400 SL1-27 L7/P10
+	 L2/P4 -> MTS14400 SL1-28 L7/P11
+	 L3/P4 -> MTS14400 SL1-29 L9/P10
+	 L4/P4 -> MTS14400 SL1-29 L10/P10
+	 L5/P4 -> MTS14400 SL1-30 L11/P10
+	 L6/P4 -> MTS14400 SL1-31 L6/P11
+	 L7/P4 -> MTS14400 SL1-31 L7/P11
+	 L8/P4 -> MTS14400 SL1-32 L6/P10
+	 L9/P4 -> MTS14400 SL1-33 L3/P11
+	 L10/P4 -> MTS14400 SL1-34 L2/P11
+	 L11/P4 -> MTS14400 SL1-34 L3/P11
+	 L12/P4 -> MTS14400 SL1-35 L6/P10
+	 L1/P5 -> MTS14400 SL1-36 L7/P11
+	 L2/P5 -> MTS14400 SL1-37 L10/P10
+	 L3/P5 -> MTS14400 SL1-37 L11/P10
+	 L4/P5 -> MTS14400 SL1-38 L10/P10
+	 L5/P5 -> MTS14400 SL1-39 L7/P11
+	 L6/P5 -> MTS14400 SL1-40 L6/P10
+	 L7/P5 -> MTS14400 SL1-40 L7/P10
+	 L8/P5 -> MTS14400 SL1-41 L2/P11
+	 L9/P5 -> MTS14400 SL1-42 L3/P11
+	 L10/P5 -> MTS14400 SL1-42 L4/P11
+	 L11/P5 -> MTS14400 SL1-43 L6/P10
+	 L12/P5 -> MTS14400 SL1-44 L6/P11
+	 L1/P6 -> MTS14400 SL1-45 L11/P10
+	 L2/P6 -> MTS14400 SL1-45 L12/P10
+	 L3/P6 -> MTS14400 SL1-46 L9/P10
+	 L4/P6 -> MTS14400 SL1-47 L7/P11
+	 L5/P6 -> MTS14400 SL1-48 L7/P10
+	 L6/P6 -> MTS14400 SL1-48 L8/P10
+	 L7/P6 -> MTS14400 SL1-49 L1/P11
+	 L8/P6 -> MTS14400 SL1-50 L4/P11
+	 L9/P6 -> MTS14400 SL1-50 L5/P11
+	 L10/P6 -> MTS14400 SL1-51 L6/P10
+	 L11/P6 -> MTS14400 SL1-52 L5/P11
+	 L12/P6 -> MTS14400 SL1-53 L12/P10
+	 L1/P7 -> MTS14400 SL1-53 L1/P11
+	 L2/P7 -> MTS14400 SL1-54 L8/P10
+	 L3/P7 -> MTS14400 SL1-55 L7/P11
+	 L4/P7 -> MTS14400 SL1-56 L8/P10
+	 L5/P7 -> MTS14400 SL1-56 L9/P10
+	 L6/P7 -> MTS14400 SL1-57 L12/P10
+	 L7/P7 -> MTS14400 SL1-58 L5/P11
+	 L8/P7 -> MTS14400 SL1-58 L6/P11
+	 L9/P7 -> MTS14400 SL1-59 L6/P10
+	 L10/P7 -> MTS14400 SL1-60 L4/P11
+	 L11/P7 -> MTS14400 SL1-61 L1/P11
+	 L12/P7 -> MTS14400 SL1-61 L2/P11
+	 L1/P8 -> MTS14400 SL1-62 L7/P10
+	 L2/P8 -> MTS14400 SL1-63 L7/P11
+	 L3/P8 -> MTS14400 SL1-64 L9/P10
+	 L4/P8 -> MTS14400 SL1-64 L10/P10
+	 L5/P8 -> MTS14400 SL1-65 L11/P10
+	 L6/P8 -> MTS14400 SL1-66 L6/P11
+	 L7/P8 -> MTS14400 SL1-66 L7/P11
+	 L8/P8 -> MTS14400 SL1-67 L6/P10
+	 L9/P8 -> MTS14400 SL1-68 L3/P11
+	 L10/P8 -> MTS14400 SL1-69 L2/P11
+	 L11/P8 -> MTS14400 SL1-69 L3/P11
+	 L12/P8 -> MTS14400 SL1-70 L6/P10
+	 L1/P9 -> MTS14400 SL1-71 L7/P11
+	 L2/P9 -> MTS14400 SL1-72 L10/P10
+	 L3/P9 -> MTS14400 SL1-72 L11/P10
+	 L4/P9 -> MTS14400 SL1-73 L10/P10
+	 L5/P9 -> MTS14400 SL1-74 L7/P11
+	 L6/P9 -> MTS14400 SL1-75 L6/P10
+	 L7/P9 -> MTS14400 SL1-75 L7/P10
+	 L8/P9 -> MTS14400 SL1-76 L2/P11
+	 L9/P9 -> MTS14400 SL1-77 L3/P11
+	 L10/P9 -> MTS14400 SL1-77 L4/P11
+	 L11/P9 -> MTS14400 SL1-78 L6/P10
+	 L12/P9 -> MTS14400 SL1-79 L6/P11
+	 L1/P10 -> MTS14400 SL1-80 L11/P10
+	 L2/P10 -> MTS14400 SL1-80 L12/P10
+	 L3/P10 -> MTS14400 SL1-81 L9/P10
+	 L4/P10 -> MTS14400 SL1-82 L7/P11
+	 L5/P10 -> MTS14400 SL1-83 L7/P10
+	 L6/P10 -> MTS14400 SL1-83 L8/P10
+	 L7/P10 -> MTS14400 SL1-84 L1/P11
+	 L8/P10 -> MTS14400 SL1-85 L4/P11
+	 L9/P10 -> MTS14400 SL1-85 L5/P11
+	 L10/P10 -> MTS14400 SL1-86 L6/P10
+	 L11/P10 -> MTS14400 SL1-87 L5/P11
+	 L12/P10 -> MTS14400 SL1-88 L12/P10
+	 L1/P11 -> MTS14400 SL1-88 L1/P11
+	 L2/P11 -> MTS14400 SL1-89 L8/P10
+	 L3/P11 -> MTS14400 SL1-90 L7/P11
+	 L4/P11 -> MTS14400 SL1-91 L8/P10
+	 L5/P11 -> MTS14400 SL1-91 L9/P10
+	 L6/P11 -> MTS14400 SL1-92 L12/P10
+	 L7/P11 -> MTS14400 SL1-93 L5/P11
+	 L8/P11 -> MTS14400 SL1-93 L6/P11
+	 L9/P11 -> MTS14400 SL1-94 L6/P10
+	 L10/P11 -> MTS14400 SL1-95 L4/P11
+	 L11/P11 -> MTS14400 SL1-96 L1/P11
+	 L12/P11 -> MTS14400 SL1-96 L2/P11
+	 L1/P12 -> MTS14400 SL1-97 L7/P10
+	 L2/P12 -> MTS14400 SL1-98 L7/P11
+	 L3/P12 -> MTS14400 SL1-99 L9/P10
+	 L4/P12 -> MTS14400 SL1-99 L10/P10
+	 L5/P12 -> MTS14400 SL1-100 L11/P10
+	 L6/P12 -> MTS14400 SL1-101 L6/P11
+	 L7/P12 -> MTS14400 SL1-101 L7/P11
+	 L8/P12 -> MTS14400 SL1-102 L6/P10
+	 L9/P12 -> MTS14400 SL1-103 L3/P11
+	 L10/P12 -> MTS14400 SL1-104 L2/P11
+	 L11/P12 -> MTS14400 SL1-104 L3/P11
+	 L12/P12 -> MTS14400 SL1-105 L6/P10
+
+MTS14400 SL2-19
+	 L1/P1 -> MTS14400 SL1-1 L8/P11
+	 L2/P1 -> MTS14400 SL1-2 L12/P10
+	 L3/P1 -> MTS14400 SL1-2 L1/P11
+	 L4/P1 -> MTS14400 SL1-3 L11/P10
+	 L5/P1 -> MTS14400 SL1-4 L8/P11
+	 L6/P1 -> MTS14400 SL1-5 L8/P10
+	 L7/P1 -> MTS14400 SL1-5 L9/P10
+	 L8/P1 -> MTS14400 SL1-6 L3/P11
+	 L9/P1 -> MTS14400 SL1-7 L5/P11
+	 L10/P1 -> MTS14400 SL1-7 L6/P11
+	 L11/P1 -> MTS14400 SL1-8 L7/P10
+	 L12/P1 -> MTS14400 SL1-9 L7/P11
+	 L1/P2 -> MTS14400 SL1-10 L1/P11
+	 L2/P2 -> MTS14400 SL1-10 L2/P11
+	 L3/P2 -> MTS14400 SL1-11 L10/P10
+	 L4/P2 -> MTS14400 SL1-12 L8/P11
+	 L5/P2 -> MTS14400 SL1-13 L9/P10
+	 L6/P2 -> MTS14400 SL1-13 L10/P10
+	 L7/P2 -> MTS14400 SL1-14 L2/P11
+	 L8/P2 -> MTS14400 SL1-15 L6/P11
+	 L9/P2 -> MTS14400 SL1-15 L7/P11
+	 L10/P2 -> MTS14400 SL1-16 L7/P10
+	 L11/P2 -> MTS14400 SL1-17 L6/P11
+	 L12/P2 -> MTS14400 SL1-18 L2/P11
+	 L1/P3 -> MTS14400 SL1-18 L3/P11
+	 L2/P3 -> MTS14400 SL1-19 L9/P10
+	 L3/P3 -> MTS14400 SL1-20 L8/P11
+	 L4/P3 -> MTS14400 SL1-21 L10/P10
+	 L5/P3 -> MTS14400 SL1-21 L11/P10
+	 L6/P3 -> MTS14400 SL1-22 L1/P11
+	 L7/P3 -> MTS14400 SL1-23 L7/P11
+	 L8/P3 -> MTS14400 SL1-23 L8/P11
+	 L9/P3 -> MTS14400 SL1-24 L7/P10
+	 L10/P3 -> MTS14400 SL1-25 L5/P11
+	 L11/P3 -> MTS14400 SL1-26 L3/P11
+	 L12/P3 -> MTS14400 SL1-26 L4/P11
+	 L1/P4 -> MTS14400 SL1-27 L8/P10
+	 L2/P4 -> MTS14400 SL1-28 L8/P11
+	 L3/P4 -> MTS14400 SL1-29 L11/P10
+	 L4/P4 -> MTS14400 SL1-29 L12/P10
+	 L5/P4 -> MTS14400 SL1-30 L12/P10
+	 L6/P4 -> MTS14400 SL1-31 L8/P11
+	 L7/P4 -> MTS14400 SL1-32 L7/P10
+	 L8/P4 -> MTS14400 SL1-32 L8/P10
+	 L9/P4 -> MTS14400 SL1-33 L4/P11
+	 L10/P4 -> MTS14400 SL1-34 L4/P11
+	 L11/P4 -> MTS14400 SL1-34 L5/P11
+	 L12/P4 -> MTS14400 SL1-35 L7/P10
+	 L1/P5 -> MTS14400 SL1-36 L8/P11
+	 L2/P5 -> MTS14400 SL1-37 L12/P10
+	 L3/P5 -> MTS14400 SL1-37 L1/P11
+	 L4/P5 -> MTS14400 SL1-38 L11/P10
+	 L5/P5 -> MTS14400 SL1-39 L8/P11
+	 L6/P5 -> MTS14400 SL1-40 L8/P10
+	 L7/P5 -> MTS14400 SL1-40 L9/P10
+	 L8/P5 -> MTS14400 SL1-41 L3/P11
+	 L9/P5 -> MTS14400 SL1-42 L5/P11
+	 L10/P5 -> MTS14400 SL1-42 L6/P11
+	 L11/P5 -> MTS14400 SL1-43 L7/P10
+	 L12/P5 -> MTS14400 SL1-44 L7/P11
+	 L1/P6 -> MTS14400 SL1-45 L1/P11
+	 L2/P6 -> MTS14400 SL1-45 L2/P11
+	 L3/P6 -> MTS14400 SL1-46 L10/P10
+	 L4/P6 -> MTS14400 SL1-47 L8/P11
+	 L5/P6 -> MTS14400 SL1-48 L9/P10
+	 L6/P6 -> MTS14400 SL1-48 L10/P10
+	 L7/P6 -> MTS14400 SL1-49 L2/P11
+	 L8/P6 -> MTS14400 SL1-50 L6/P11
+	 L9/P6 -> MTS14400 SL1-50 L7/P11
+	 L10/P6 -> MTS14400 SL1-51 L7/P10
+	 L11/P6 -> MTS14400 SL1-52 L6/P11
+	 L12/P6 -> MTS14400 SL1-53 L2/P11
+	 L1/P7 -> MTS14400 SL1-53 L3/P11
+	 L2/P7 -> MTS14400 SL1-54 L9/P10
+	 L3/P7 -> MTS14400 SL1-55 L8/P11
+	 L4/P7 -> MTS14400 SL1-56 L10/P10
+	 L5/P7 -> MTS14400 SL1-56 L11/P10
+	 L6/P7 -> MTS14400 SL1-57 L1/P11
+	 L7/P7 -> MTS14400 SL1-58 L7/P11
+	 L8/P7 -> MTS14400 SL1-58 L8/P11
+	 L9/P7 -> MTS14400 SL1-59 L7/P10
+	 L10/P7 -> MTS14400 SL1-60 L5/P11
+	 L11/P7 -> MTS14400 SL1-61 L3/P11
+	 L12/P7 -> MTS14400 SL1-61 L4/P11
+	 L1/P8 -> MTS14400 SL1-62 L8/P10
+	 L2/P8 -> MTS14400 SL1-63 L8/P11
+	 L3/P8 -> MTS14400 SL1-64 L11/P10
+	 L4/P8 -> MTS14400 SL1-64 L12/P10
+	 L5/P8 -> MTS14400 SL1-65 L12/P10
+	 L6/P8 -> MTS14400 SL1-66 L8/P11
+	 L7/P8 -> MTS14400 SL1-67 L7/P10
+	 L8/P8 -> MTS14400 SL1-67 L8/P10
+	 L9/P8 -> MTS14400 SL1-68 L4/P11
+	 L10/P8 -> MTS14400 SL1-69 L4/P11
+	 L11/P8 -> MTS14400 SL1-69 L5/P11
+	 L12/P8 -> MTS14400 SL1-70 L7/P10
+	 L1/P9 -> MTS14400 SL1-71 L8/P11
+	 L2/P9 -> MTS14400 SL1-72 L12/P10
+	 L3/P9 -> MTS14400 SL1-72 L1/P11
+	 L4/P9 -> MTS14400 SL1-73 L11/P10
+	 L5/P9 -> MTS14400 SL1-74 L8/P11
+	 L6/P9 -> MTS14400 SL1-75 L8/P10
+	 L7/P9 -> MTS14400 SL1-75 L9/P10
+	 L8/P9 -> MTS14400 SL1-76 L3/P11
+	 L9/P9 -> MTS14400 SL1-77 L5/P11
+	 L10/P9 -> MTS14400 SL1-77 L6/P11
+	 L11/P9 -> MTS14400 SL1-78 L7/P10
+	 L12/P9 -> MTS14400 SL1-79 L7/P11
+	 L1/P10 -> MTS14400 SL1-80 L1/P11
+	 L2/P10 -> MTS14400 SL1-80 L2/P11
+	 L3/P10 -> MTS14400 SL1-81 L10/P10
+	 L4/P10 -> MTS14400 SL1-82 L8/P11
+	 L5/P10 -> MTS14400 SL1-83 L9/P10
+	 L6/P10 -> MTS14400 SL1-83 L10/P10
+	 L7/P10 -> MTS14400 SL1-84 L2/P11
+	 L8/P10 -> MTS14400 SL1-85 L6/P11
+	 L9/P10 -> MTS14400 SL1-85 L7/P11
+	 L10/P10 -> MTS14400 SL1-86 L7/P10
+	 L11/P10 -> MTS14400 SL1-87 L6/P11
+	 L12/P10 -> MTS14400 SL1-88 L2/P11
+	 L1/P11 -> MTS14400 SL1-88 L3/P11
+	 L2/P11 -> MTS14400 SL1-89 L9/P10
+	 L3/P11 -> MTS14400 SL1-90 L8/P11
+	 L4/P11 -> MTS14400 SL1-91 L10/P10
+	 L5/P11 -> MTS14400 SL1-91 L11/P10
+	 L6/P11 -> MTS14400 SL1-92 L1/P11
+	 L7/P11 -> MTS14400 SL1-93 L7/P11
+	 L8/P11 -> MTS14400 SL1-93 L8/P11
+	 L9/P11 -> MTS14400 SL1-94 L7/P10
+	 L10/P11 -> MTS14400 SL1-95 L5/P11
+	 L11/P11 -> MTS14400 SL1-96 L3/P11
+	 L12/P11 -> MTS14400 SL1-96 L4/P11
+	 L1/P12 -> MTS14400 SL1-97 L8/P10
+	 L2/P12 -> MTS14400 SL1-98 L8/P11
+	 L3/P12 -> MTS14400 SL1-99 L11/P10
+	 L4/P12 -> MTS14400 SL1-99 L12/P10
+	 L5/P12 -> MTS14400 SL1-100 L12/P10
+	 L6/P12 -> MTS14400 SL1-101 L8/P11
+	 L7/P12 -> MTS14400 SL1-102 L7/P10
+	 L8/P12 -> MTS14400 SL1-102 L8/P10
+	 L9/P12 -> MTS14400 SL1-103 L4/P11
+	 L10/P12 -> MTS14400 SL1-104 L4/P11
+	 L11/P12 -> MTS14400 SL1-104 L5/P11
+	 L12/P12 -> MTS14400 SL1-105 L7/P10
+
+MTS14400 SL2-20
+	 L1/P1 -> MTS14400 SL1-1 L9/P11
+	 L2/P1 -> MTS14400 SL1-2 L2/P11
+	 L3/P1 -> MTS14400 SL1-2 L3/P11
+	 L4/P1 -> MTS14400 SL1-3 L12/P10
+	 L5/P1 -> MTS14400 SL1-4 L9/P11
+	 L6/P1 -> MTS14400 SL1-5 L10/P10
+	 L7/P1 -> MTS14400 SL1-5 L11/P10
+	 L8/P1 -> MTS14400 SL1-6 L4/P11
+	 L9/P1 -> MTS14400 SL1-7 L7/P11
+	 L10/P1 -> MTS14400 SL1-7 L8/P11
+	 L11/P1 -> MTS14400 SL1-8 L8/P10
+	 L12/P1 -> MTS14400 SL1-9 L8/P11
+	 L1/P2 -> MTS14400 SL1-10 L3/P11
+	 L2/P2 -> MTS14400 SL1-10 L4/P11
+	 L3/P2 -> MTS14400 SL1-11 L11/P10
+	 L4/P2 -> MTS14400 SL1-12 L9/P11
+	 L5/P2 -> MTS14400 SL1-13 L11/P10
+	 L6/P2 -> MTS14400 SL1-13 L12/P10
+	 L7/P2 -> MTS14400 SL1-14 L3/P11
+	 L8/P2 -> MTS14400 SL1-15 L8/P11
+	 L9/P2 -> MTS14400 SL1-15 L9/P11
+	 L10/P2 -> MTS14400 SL1-16 L8/P10
+	 L11/P2 -> MTS14400 SL1-17 L7/P11
+	 L12/P2 -> MTS14400 SL1-18 L4/P11
+	 L1/P3 -> MTS14400 SL1-18 L5/P11
+	 L2/P3 -> MTS14400 SL1-19 L10/P10
+	 L3/P3 -> MTS14400 SL1-20 L9/P11
+	 L4/P3 -> MTS14400 SL1-21 L12/P10
+	 L5/P3 -> MTS14400 SL1-21 L1/P11
+	 L6/P3 -> MTS14400 SL1-22 L2/P11
+	 L7/P3 -> MTS14400 SL1-23 L9/P11
+	 L8/P3 -> MTS14400 SL1-24 L8/P10
+	 L9/P3 -> MTS14400 SL1-24 L9/P10
+	 L10/P3 -> MTS14400 SL1-25 L6/P11
+	 L11/P3 -> MTS14400 SL1-26 L5/P11
+	 L12/P3 -> MTS14400 SL1-26 L6/P11
+	 L1/P4 -> MTS14400 SL1-27 L9/P10
+	 L2/P4 -> MTS14400 SL1-28 L9/P11
+	 L3/P4 -> MTS14400 SL1-29 L1/P11
+	 L4/P4 -> MTS14400 SL1-29 L2/P11
+	 L5/P4 -> MTS14400 SL1-30 L1/P11
+	 L6/P4 -> MTS14400 SL1-31 L9/P11
+	 L7/P4 -> MTS14400 SL1-32 L9/P10
+	 L8/P4 -> MTS14400 SL1-32 L10/P10
+	 L9/P4 -> MTS14400 SL1-33 L5/P11
+	 L10/P4 -> MTS14400 SL1-34 L6/P11
+	 L11/P4 -> MTS14400 SL1-34 L7/P11
+	 L12/P4 -> MTS14400 SL1-35 L8/P10
+	 L1/P5 -> MTS14400 SL1-36 L9/P11
+	 L2/P5 -> MTS14400 SL1-37 L2/P11
+	 L3/P5 -> MTS14400 SL1-37 L3/P11
+	 L4/P5 -> MTS14400 SL1-38 L12/P10
+	 L5/P5 -> MTS14400 SL1-39 L9/P11
+	 L6/P5 -> MTS14400 SL1-40 L10/P10
+	 L7/P5 -> MTS14400 SL1-40 L11/P10
+	 L8/P5 -> MTS14400 SL1-41 L4/P11
+	 L9/P5 -> MTS14400 SL1-42 L7/P11
+	 L10/P5 -> MTS14400 SL1-42 L8/P11
+	 L11/P5 -> MTS14400 SL1-43 L8/P10
+	 L12/P5 -> MTS14400 SL1-44 L8/P11
+	 L1/P6 -> MTS14400 SL1-45 L3/P11
+	 L2/P6 -> MTS14400 SL1-45 L4/P11
+	 L3/P6 -> MTS14400 SL1-46 L11/P10
+	 L4/P6 -> MTS14400 SL1-47 L9/P11
+	 L5/P6 -> MTS14400 SL1-48 L11/P10
+	 L6/P6 -> MTS14400 SL1-48 L12/P10
+	 L7/P6 -> MTS14400 SL1-49 L3/P11
+	 L8/P6 -> MTS14400 SL1-50 L8/P11
+	 L9/P6 -> MTS14400 SL1-50 L9/P11
+	 L10/P6 -> MTS14400 SL1-51 L8/P10
+	 L11/P6 -> MTS14400 SL1-52 L7/P11
+	 L12/P6 -> MTS14400 SL1-53 L4/P11
+	 L1/P7 -> MTS14400 SL1-53 L5/P11
+	 L2/P7 -> MTS14400 SL1-54 L10/P10
+	 L3/P7 -> MTS14400 SL1-55 L9/P11
+	 L4/P7 -> MTS14400 SL1-56 L12/P10
+	 L5/P7 -> MTS14400 SL1-56 L1/P11
+	 L6/P7 -> MTS14400 SL1-57 L2/P11
+	 L7/P7 -> MTS14400 SL1-58 L9/P11
+	 L8/P7 -> MTS14400 SL1-59 L8/P10
+	 L9/P7 -> MTS14400 SL1-59 L9/P10
+	 L10/P7 -> MTS14400 SL1-60 L6/P11
+	 L11/P7 -> MTS14400 SL1-61 L5/P11
+	 L12/P7 -> MTS14400 SL1-61 L6/P11
+	 L1/P8 -> MTS14400 SL1-62 L9/P10
+	 L2/P8 -> MTS14400 SL1-63 L9/P11
+	 L3/P8 -> MTS14400 SL1-64 L1/P11
+	 L4/P8 -> MTS14400 SL1-64 L2/P11
+	 L5/P8 -> MTS14400 SL1-65 L1/P11
+	 L6/P8 -> MTS14400 SL1-66 L9/P11
+	 L7/P8 -> MTS14400 SL1-67 L9/P10
+	 L8/P8 -> MTS14400 SL1-67 L10/P10
+	 L9/P8 -> MTS14400 SL1-68 L5/P11
+	 L10/P8 -> MTS14400 SL1-69 L6/P11
+	 L11/P8 -> MTS14400 SL1-69 L7/P11
+	 L12/P8 -> MTS14400 SL1-70 L8/P10
+	 L1/P9 -> MTS14400 SL1-71 L9/P11
+	 L2/P9 -> MTS14400 SL1-72 L2/P11
+	 L3/P9 -> MTS14400 SL1-72 L3/P11
+	 L4/P9 -> MTS14400 SL1-73 L12/P10
+	 L5/P9 -> MTS14400 SL1-74 L9/P11
+	 L6/P9 -> MTS14400 SL1-75 L10/P10
+	 L7/P9 -> MTS14400 SL1-75 L11/P10
+	 L8/P9 -> MTS14400 SL1-76 L4/P11
+	 L9/P9 -> MTS14400 SL1-77 L7/P11
+	 L10/P9 -> MTS14400 SL1-77 L8/P11
+	 L11/P9 -> MTS14400 SL1-78 L8/P10
+	 L12/P9 -> MTS14400 SL1-79 L8/P11
+	 L1/P10 -> MTS14400 SL1-80 L3/P11
+	 L2/P10 -> MTS14400 SL1-80 L4/P11
+	 L3/P10 -> MTS14400 SL1-81 L11/P10
+	 L4/P10 -> MTS14400 SL1-82 L9/P11
+	 L5/P10 -> MTS14400 SL1-83 L11/P10
+	 L6/P10 -> MTS14400 SL1-83 L12/P10
+	 L7/P10 -> MTS14400 SL1-84 L3/P11
+	 L8/P10 -> MTS14400 SL1-85 L8/P11
+	 L9/P10 -> MTS14400 SL1-85 L9/P11
+	 L10/P10 -> MTS14400 SL1-86 L8/P10
+	 L11/P10 -> MTS14400 SL1-87 L7/P11
+	 L12/P10 -> MTS14400 SL1-88 L4/P11
+	 L1/P11 -> MTS14400 SL1-88 L5/P11
+	 L2/P11 -> MTS14400 SL1-89 L10/P10
+	 L3/P11 -> MTS14400 SL1-90 L9/P11
+	 L4/P11 -> MTS14400 SL1-91 L12/P10
+	 L5/P11 -> MTS14400 SL1-91 L1/P11
+	 L6/P11 -> MTS14400 SL1-92 L2/P11
+	 L7/P11 -> MTS14400 SL1-93 L9/P11
+	 L8/P11 -> MTS14400 SL1-94 L8/P10
+	 L9/P11 -> MTS14400 SL1-94 L9/P10
+	 L10/P11 -> MTS14400 SL1-95 L6/P11
+	 L11/P11 -> MTS14400 SL1-96 L5/P11
+	 L12/P11 -> MTS14400 SL1-96 L6/P11
+	 L1/P12 -> MTS14400 SL1-97 L9/P10
+	 L2/P12 -> MTS14400 SL1-98 L9/P11
+	 L3/P12 -> MTS14400 SL1-99 L1/P11
+	 L4/P12 -> MTS14400 SL1-99 L2/P11
+	 L5/P12 -> MTS14400 SL1-100 L1/P11
+	 L6/P12 -> MTS14400 SL1-101 L9/P11
+	 L7/P12 -> MTS14400 SL1-102 L9/P10
+	 L8/P12 -> MTS14400 SL1-102 L10/P10
+	 L9/P12 -> MTS14400 SL1-103 L5/P11
+	 L10/P12 -> MTS14400 SL1-104 L6/P11
+	 L11/P12 -> MTS14400 SL1-104 L7/P11
+	 L12/P12 -> MTS14400 SL1-105 L8/P10
+
+MTS14400 SL2-21
+	 L1/P1 -> MTS14400 SL1-1 L10/P11
+	 L2/P1 -> MTS14400 SL1-2 L4/P11
+	 L3/P1 -> MTS14400 SL1-2 L5/P11
+	 L4/P1 -> MTS14400 SL1-3 L1/P11
+	 L5/P1 -> MTS14400 SL1-4 L10/P11
+	 L6/P1 -> MTS14400 SL1-5 L12/P10
+	 L7/P1 -> MTS14400 SL1-5 L1/P11
+	 L8/P1 -> MTS14400 SL1-6 L5/P11
+	 L9/P1 -> MTS14400 SL1-7 L9/P11
+	 L10/P1 -> MTS14400 SL1-7 L10/P11
+	 L11/P1 -> MTS14400 SL1-8 L9/P10
+	 L12/P1 -> MTS14400 SL1-9 L9/P11
+	 L1/P2 -> MTS14400 SL1-10 L5/P11
+	 L2/P2 -> MTS14400 SL1-10 L6/P11
+	 L3/P2 -> MTS14400 SL1-11 L12/P10
+	 L4/P2 -> MTS14400 SL1-12 L10/P11
+	 L5/P2 -> MTS14400 SL1-13 L1/P11
+	 L6/P2 -> MTS14400 SL1-13 L2/P11
+	 L7/P2 -> MTS14400 SL1-14 L4/P11
+	 L8/P2 -> MTS14400 SL1-15 L10/P11
+	 L9/P2 -> MTS14400 SL1-16 L9/P10
+	 L10/P2 -> MTS14400 SL1-16 L10/P10
+	 L11/P2 -> MTS14400 SL1-17 L8/P11
+	 L12/P2 -> MTS14400 SL1-18 L6/P11
+	 L1/P3 -> MTS14400 SL1-18 L7/P11
+	 L2/P3 -> MTS14400 SL1-19 L11/P10
+	 L3/P3 -> MTS14400 SL1-20 L10/P11
+	 L4/P3 -> MTS14400 SL1-21 L2/P11
+	 L5/P3 -> MTS14400 SL1-21 L3/P11
+	 L6/P3 -> MTS14400 SL1-22 L3/P11
+	 L7/P3 -> MTS14400 SL1-23 L10/P11
+	 L8/P3 -> MTS14400 SL1-24 L10/P10
+	 L9/P3 -> MTS14400 SL1-24 L11/P10
+	 L10/P3 -> MTS14400 SL1-25 L7/P11
+	 L11/P3 -> MTS14400 SL1-26 L7/P11
+	 L12/P3 -> MTS14400 SL1-26 L8/P11
+	 L1/P4 -> MTS14400 SL1-27 L10/P10
+	 L2/P4 -> MTS14400 SL1-28 L10/P11
+	 L3/P4 -> MTS14400 SL1-29 L3/P11
+	 L4/P4 -> MTS14400 SL1-29 L4/P11
+	 L5/P4 -> MTS14400 SL1-30 L2/P11
+	 L6/P4 -> MTS14400 SL1-31 L10/P11
+	 L7/P4 -> MTS14400 SL1-32 L11/P10
+	 L8/P4 -> MTS14400 SL1-32 L12/P10
+	 L9/P4 -> MTS14400 SL1-33 L6/P11
+	 L10/P4 -> MTS14400 SL1-34 L8/P11
+	 L11/P4 -> MTS14400 SL1-34 L9/P11
+	 L12/P4 -> MTS14400 SL1-35 L9/P10
+	 L1/P5 -> MTS14400 SL1-36 L10/P11
+	 L2/P5 -> MTS14400 SL1-37 L4/P11
+	 L3/P5 -> MTS14400 SL1-37 L5/P11
+	 L4/P5 -> MTS14400 SL1-38 L1/P11
+	 L5/P5 -> MTS14400 SL1-39 L10/P11
+	 L6/P5 -> MTS14400 SL1-40 L12/P10
+	 L7/P5 -> MTS14400 SL1-40 L1/P11
+	 L8/P5 -> MTS14400 SL1-41 L5/P11
+	 L9/P5 -> MTS14400 SL1-42 L9/P11
+	 L10/P5 -> MTS14400 SL1-42 L10/P11
+	 L11/P5 -> MTS14400 SL1-43 L9/P10
+	 L12/P5 -> MTS14400 SL1-44 L9/P11
+	 L1/P6 -> MTS14400 SL1-45 L5/P11
+	 L2/P6 -> MTS14400 SL1-45 L6/P11
+	 L3/P6 -> MTS14400 SL1-46 L12/P10
+	 L4/P6 -> MTS14400 SL1-47 L10/P11
+	 L5/P6 -> MTS14400 SL1-48 L1/P11
+	 L6/P6 -> MTS14400 SL1-48 L2/P11
+	 L7/P6 -> MTS14400 SL1-49 L4/P11
+	 L8/P6 -> MTS14400 SL1-50 L10/P11
+	 L9/P6 -> MTS14400 SL1-51 L9/P10
+	 L10/P6 -> MTS14400 SL1-51 L10/P10
+	 L11/P6 -> MTS14400 SL1-52 L8/P11
+	 L12/P6 -> MTS14400 SL1-53 L6/P11
+	 L1/P7 -> MTS14400 SL1-53 L7/P11
+	 L2/P7 -> MTS14400 SL1-54 L11/P10
+	 L3/P7 -> MTS14400 SL1-55 L10/P11
+	 L4/P7 -> MTS14400 SL1-56 L2/P11
+	 L5/P7 -> MTS14400 SL1-56 L3/P11
+	 L6/P7 -> MTS14400 SL1-57 L3/P11
+	 L7/P7 -> MTS14400 SL1-58 L10/P11
+	 L8/P7 -> MTS14400 SL1-59 L10/P10
+	 L9/P7 -> MTS14400 SL1-59 L11/P10
+	 L10/P7 -> MTS14400 SL1-60 L7/P11
+	 L11/P7 -> MTS14400 SL1-61 L7/P11
+	 L12/P7 -> MTS14400 SL1-61 L8/P11
+	 L1/P8 -> MTS14400 SL1-62 L10/P10
+	 L2/P8 -> MTS14400 SL1-63 L10/P11
+	 L3/P8 -> MTS14400 SL1-64 L3/P11
+	 L4/P8 -> MTS14400 SL1-64 L4/P11
+	 L5/P8 -> MTS14400 SL1-65 L2/P11
+	 L6/P8 -> MTS14400 SL1-66 L10/P11
+	 L7/P8 -> MTS14400 SL1-67 L11/P10
+	 L8/P8 -> MTS14400 SL1-67 L12/P10
+	 L9/P8 -> MTS14400 SL1-68 L6/P11
+	 L10/P8 -> MTS14400 SL1-69 L8/P11
+	 L11/P8 -> MTS14400 SL1-69 L9/P11
+	 L12/P8 -> MTS14400 SL1-70 L9/P10
+	 L1/P9 -> MTS14400 SL1-71 L10/P11
+	 L2/P9 -> MTS14400 SL1-72 L4/P11
+	 L3/P9 -> MTS14400 SL1-72 L5/P11
+	 L4/P9 -> MTS14400 SL1-73 L1/P11
+	 L5/P9 -> MTS14400 SL1-74 L10/P11
+	 L6/P9 -> MTS14400 SL1-75 L12/P10
+	 L7/P9 -> MTS14400 SL1-75 L1/P11
+	 L8/P9 -> MTS14400 SL1-76 L5/P11
+	 L9/P9 -> MTS14400 SL1-77 L9/P11
+	 L10/P9 -> MTS14400 SL1-77 L10/P11
+	 L11/P9 -> MTS14400 SL1-78 L9/P10
+	 L12/P9 -> MTS14400 SL1-79 L9/P11
+	 L1/P10 -> MTS14400 SL1-80 L5/P11
+	 L2/P10 -> MTS14400 SL1-80 L6/P11
+	 L3/P10 -> MTS14400 SL1-81 L12/P10
+	 L4/P10 -> MTS14400 SL1-82 L10/P11
+	 L5/P10 -> MTS14400 SL1-83 L1/P11
+	 L6/P10 -> MTS14400 SL1-83 L2/P11
+	 L7/P10 -> MTS14400 SL1-84 L4/P11
+	 L8/P10 -> MTS14400 SL1-85 L10/P11
+	 L9/P10 -> MTS14400 SL1-86 L9/P10
+	 L10/P10 -> MTS14400 SL1-86 L10/P10
+	 L11/P10 -> MTS14400 SL1-87 L8/P11
+	 L12/P10 -> MTS14400 SL1-88 L6/P11
+	 L1/P11 -> MTS14400 SL1-88 L7/P11
+	 L2/P11 -> MTS14400 SL1-89 L11/P10
+	 L3/P11 -> MTS14400 SL1-90 L10/P11
+	 L4/P11 -> MTS14400 SL1-91 L2/P11
+	 L5/P11 -> MTS14400 SL1-91 L3/P11
+	 L6/P11 -> MTS14400 SL1-92 L3/P11
+	 L7/P11 -> MTS14400 SL1-93 L10/P11
+	 L8/P11 -> MTS14400 SL1-94 L10/P10
+	 L9/P11 -> MTS14400 SL1-94 L11/P10
+	 L10/P11 -> MTS14400 SL1-95 L7/P11
+	 L11/P11 -> MTS14400 SL1-96 L7/P11
+	 L12/P11 -> MTS14400 SL1-96 L8/P11
+	 L1/P12 -> MTS14400 SL1-97 L10/P10
+	 L2/P12 -> MTS14400 SL1-98 L10/P11
+	 L3/P12 -> MTS14400 SL1-99 L3/P11
+	 L4/P12 -> MTS14400 SL1-99 L4/P11
+	 L5/P12 -> MTS14400 SL1-100 L2/P11
+	 L6/P12 -> MTS14400 SL1-101 L10/P11
+	 L7/P12 -> MTS14400 SL1-102 L11/P10
+	 L8/P12 -> MTS14400 SL1-102 L12/P10
+	 L9/P12 -> MTS14400 SL1-103 L6/P11
+	 L10/P12 -> MTS14400 SL1-104 L8/P11
+	 L11/P12 -> MTS14400 SL1-104 L9/P11
+	 L12/P12 -> MTS14400 SL1-105 L9/P10
+
+MTS14400 SL2-22
+	 L1/P1 -> MTS14400 SL1-1 L11/P11
+	 L2/P1 -> MTS14400 SL1-2 L6/P11
+	 L3/P1 -> MTS14400 SL1-2 L7/P11
+	 L4/P1 -> MTS14400 SL1-3 L2/P11
+	 L5/P1 -> MTS14400 SL1-4 L11/P11
+	 L6/P1 -> MTS14400 SL1-5 L2/P11
+	 L7/P1 -> MTS14400 SL1-5 L3/P11
+	 L8/P1 -> MTS14400 SL1-6 L6/P11
+	 L9/P1 -> MTS14400 SL1-7 L11/P11
+	 L10/P1 -> MTS14400 SL1-8 L10/P10
+	 L11/P1 -> MTS14400 SL1-8 L11/P10
+	 L12/P1 -> MTS14400 SL1-9 L10/P11
+	 L1/P2 -> MTS14400 SL1-10 L7/P11
+	 L2/P2 -> MTS14400 SL1-10 L8/P11
+	 L3/P2 -> MTS14400 SL1-11 L1/P11
+	 L4/P2 -> MTS14400 SL1-12 L11/P11
+	 L5/P2 -> MTS14400 SL1-13 L3/P11
+	 L6/P2 -> MTS14400 SL1-13 L4/P11
+	 L7/P2 -> MTS14400 SL1-14 L5/P11
+	 L8/P2 -> MTS14400 SL1-15 L11/P11
+	 L9/P2 -> MTS14400 SL1-16 L11/P10
+	 L10/P2 -> MTS14400 SL1-16 L12/P10
+	 L11/P2 -> MTS14400 SL1-17 L9/P11
+	 L12/P2 -> MTS14400 SL1-18 L8/P11
+	 L1/P3 -> MTS14400 SL1-18 L9/P11
+	 L2/P3 -> MTS14400 SL1-19 L12/P10
+	 L3/P3 -> MTS14400 SL1-20 L11/P11
+	 L4/P3 -> MTS14400 SL1-21 L4/P11
+	 L5/P3 -> MTS14400 SL1-21 L5/P11
+	 L6/P3 -> MTS14400 SL1-22 L4/P11
+	 L7/P3 -> MTS14400 SL1-23 L11/P11
+	 L8/P3 -> MTS14400 SL1-24 L12/P10
+	 L9/P3 -> MTS14400 SL1-24 L1/P11
+	 L10/P3 -> MTS14400 SL1-25 L8/P11
+	 L11/P3 -> MTS14400 SL1-26 L9/P11
+	 L12/P3 -> MTS14400 SL1-26 L10/P11
+	 L1/P4 -> MTS14400 SL1-27 L11/P10
+	 L2/P4 -> MTS14400 SL1-28 L11/P11
+	 L3/P4 -> MTS14400 SL1-29 L5/P11
+	 L4/P4 -> MTS14400 SL1-29 L6/P11
+	 L5/P4 -> MTS14400 SL1-30 L3/P11
+	 L6/P4 -> MTS14400 SL1-31 L11/P11
+	 L7/P4 -> MTS14400 SL1-32 L1/P11
+	 L8/P4 -> MTS14400 SL1-32 L2/P11
+	 L9/P4 -> MTS14400 SL1-33 L7/P11
+	 L10/P4 -> MTS14400 SL1-34 L10/P11
+	 L11/P4 -> MTS14400 SL1-34 L11/P11
+	 L12/P4 -> MTS14400 SL1-35 L10/P10
+	 L1/P5 -> MTS14400 SL1-36 L11/P11
+	 L2/P5 -> MTS14400 SL1-37 L6/P11
+	 L3/P5 -> MTS14400 SL1-37 L7/P11
+	 L4/P5 -> MTS14400 SL1-38 L2/P11
+	 L5/P5 -> MTS14400 SL1-39 L11/P11
+	 L6/P5 -> MTS14400 SL1-40 L2/P11
+	 L7/P5 -> MTS14400 SL1-40 L3/P11
+	 L8/P5 -> MTS14400 SL1-41 L6/P11
+	 L9/P5 -> MTS14400 SL1-42 L11/P11
+	 L10/P5 -> MTS14400 SL1-43 L10/P10
+	 L11/P5 -> MTS14400 SL1-43 L11/P10
+	 L12/P5 -> MTS14400 SL1-44 L10/P11
+	 L1/P6 -> MTS14400 SL1-45 L7/P11
+	 L2/P6 -> MTS14400 SL1-45 L8/P11
+	 L3/P6 -> MTS14400 SL1-46 L1/P11
+	 L4/P6 -> MTS14400 SL1-47 L11/P11
+	 L5/P6 -> MTS14400 SL1-48 L3/P11
+	 L6/P6 -> MTS14400 SL1-48 L4/P11
+	 L7/P6 -> MTS14400 SL1-49 L5/P11
+	 L8/P6 -> MTS14400 SL1-50 L11/P11
+	 L9/P6 -> MTS14400 SL1-51 L11/P10
+	 L10/P6 -> MTS14400 SL1-51 L12/P10
+	 L11/P6 -> MTS14400 SL1-52 L9/P11
+	 L12/P6 -> MTS14400 SL1-53 L8/P11
+	 L1/P7 -> MTS14400 SL1-53 L9/P11
+	 L2/P7 -> MTS14400 SL1-54 L12/P10
+	 L3/P7 -> MTS14400 SL1-55 L11/P11
+	 L4/P7 -> MTS14400 SL1-56 L4/P11
+	 L5/P7 -> MTS14400 SL1-56 L5/P11
+	 L6/P7 -> MTS14400 SL1-57 L4/P11
+	 L7/P7 -> MTS14400 SL1-58 L11/P11
+	 L8/P7 -> MTS14400 SL1-59 L12/P10
+	 L9/P7 -> MTS14400 SL1-59 L1/P11
+	 L10/P7 -> MTS14400 SL1-60 L8/P11
+	 L11/P7 -> MTS14400 SL1-61 L9/P11
+	 L12/P7 -> MTS14400 SL1-61 L10/P11
+	 L1/P8 -> MTS14400 SL1-62 L11/P10
+	 L2/P8 -> MTS14400 SL1-63 L11/P11
+	 L3/P8 -> MTS14400 SL1-64 L5/P11
+	 L4/P8 -> MTS14400 SL1-64 L6/P11
+	 L5/P8 -> MTS14400 SL1-65 L3/P11
+	 L6/P8 -> MTS14400 SL1-66 L11/P11
+	 L7/P8 -> MTS14400 SL1-67 L1/P11
+	 L8/P8 -> MTS14400 SL1-67 L2/P11
+	 L9/P8 -> MTS14400 SL1-68 L7/P11
+	 L10/P8 -> MTS14400 SL1-69 L10/P11
+	 L11/P8 -> MTS14400 SL1-69 L11/P11
+	 L12/P8 -> MTS14400 SL1-70 L10/P10
+	 L1/P9 -> MTS14400 SL1-71 L11/P11
+	 L2/P9 -> MTS14400 SL1-72 L6/P11
+	 L3/P9 -> MTS14400 SL1-72 L7/P11
+	 L4/P9 -> MTS14400 SL1-73 L2/P11
+	 L5/P9 -> MTS14400 SL1-74 L11/P11
+	 L6/P9 -> MTS14400 SL1-75 L2/P11
+	 L7/P9 -> MTS14400 SL1-75 L3/P11
+	 L8/P9 -> MTS14400 SL1-76 L6/P11
+	 L9/P9 -> MTS14400 SL1-77 L11/P11
+	 L10/P9 -> MTS14400 SL1-78 L10/P10
+	 L11/P9 -> MTS14400 SL1-78 L11/P10
+	 L12/P9 -> MTS14400 SL1-79 L10/P11
+	 L1/P10 -> MTS14400 SL1-80 L7/P11
+	 L2/P10 -> MTS14400 SL1-80 L8/P11
+	 L3/P10 -> MTS14400 SL1-81 L1/P11
+	 L4/P10 -> MTS14400 SL1-82 L11/P11
+	 L5/P10 -> MTS14400 SL1-83 L3/P11
+	 L6/P10 -> MTS14400 SL1-83 L4/P11
+	 L7/P10 -> MTS14400 SL1-84 L5/P11
+	 L8/P10 -> MTS14400 SL1-85 L11/P11
+	 L9/P10 -> MTS14400 SL1-86 L11/P10
+	 L10/P10 -> MTS14400 SL1-86 L12/P10
+	 L11/P10 -> MTS14400 SL1-87 L9/P11
+	 L12/P10 -> MTS14400 SL1-88 L8/P11
+	 L1/P11 -> MTS14400 SL1-88 L9/P11
+	 L2/P11 -> MTS14400 SL1-89 L12/P10
+	 L3/P11 -> MTS14400 SL1-90 L11/P11
+	 L4/P11 -> MTS14400 SL1-91 L4/P11
+	 L5/P11 -> MTS14400 SL1-91 L5/P11
+	 L6/P11 -> MTS14400 SL1-92 L4/P11
+	 L7/P11 -> MTS14400 SL1-93 L11/P11
+	 L8/P11 -> MTS14400 SL1-94 L12/P10
+	 L9/P11 -> MTS14400 SL1-94 L1/P11
+	 L10/P11 -> MTS14400 SL1-95 L8/P11
+	 L11/P11 -> MTS14400 SL1-96 L9/P11
+	 L12/P11 -> MTS14400 SL1-96 L10/P11
+	 L1/P12 -> MTS14400 SL1-97 L11/P10
+	 L2/P12 -> MTS14400 SL1-98 L11/P11
+	 L3/P12 -> MTS14400 SL1-99 L5/P11
+	 L4/P12 -> MTS14400 SL1-99 L6/P11
+	 L5/P12 -> MTS14400 SL1-100 L3/P11
+	 L6/P12 -> MTS14400 SL1-101 L11/P11
+	 L7/P12 -> MTS14400 SL1-102 L1/P11
+	 L8/P12 -> MTS14400 SL1-102 L2/P11
+	 L9/P12 -> MTS14400 SL1-103 L7/P11
+	 L10/P12 -> MTS14400 SL1-104 L10/P11
+	 L11/P12 -> MTS14400 SL1-104 L11/P11
+	 L12/P12 -> MTS14400 SL1-105 L10/P10
+
+MTS14400 SL2-23
+	 L1/P1 -> MTS14400 SL1-1 L12/P11
+	 L2/P1 -> MTS14400 SL1-2 L8/P11
+	 L3/P1 -> MTS14400 SL1-2 L9/P11
+	 L4/P1 -> MTS14400 SL1-3 L3/P11
+	 L5/P1 -> MTS14400 SL1-4 L12/P11
+	 L6/P1 -> MTS14400 SL1-5 L4/P11
+	 L7/P1 -> MTS14400 SL1-5 L5/P11
+	 L8/P1 -> MTS14400 SL1-6 L7/P11
+	 L9/P1 -> MTS14400 SL1-7 L12/P11
+	 L10/P1 -> MTS14400 SL1-8 L12/P10
+	 L11/P1 -> MTS14400 SL1-8 L1/P11
+	 L12/P1 -> MTS14400 SL1-9 L11/P11
+	 L1/P2 -> MTS14400 SL1-10 L9/P11
+	 L2/P2 -> MTS14400 SL1-10 L10/P11
+	 L3/P2 -> MTS14400 SL1-11 L2/P11
+	 L4/P2 -> MTS14400 SL1-12 L12/P11
+	 L5/P2 -> MTS14400 SL1-13 L5/P11
+	 L6/P2 -> MTS14400 SL1-13 L6/P11
+	 L7/P2 -> MTS14400 SL1-14 L6/P11
+	 L8/P2 -> MTS14400 SL1-15 L12/P11
+	 L9/P2 -> MTS14400 SL1-16 L1/P11
+	 L10/P2 -> MTS14400 SL1-16 L2/P11
+	 L11/P2 -> MTS14400 SL1-17 L10/P11
+	 L12/P2 -> MTS14400 SL1-18 L10/P11
+	 L1/P3 -> MTS14400 SL1-18 L11/P11
+	 L2/P3 -> MTS14400 SL1-19 L1/P11
+	 L3/P3 -> MTS14400 SL1-20 L12/P11
+	 L4/P3 -> MTS14400 SL1-21 L6/P11
+	 L5/P3 -> MTS14400 SL1-21 L7/P11
+	 L6/P3 -> MTS14400 SL1-22 L5/P11
+	 L7/P3 -> MTS14400 SL1-23 L12/P11
+	 L8/P3 -> MTS14400 SL1-24 L2/P11
+	 L9/P3 -> MTS14400 SL1-24 L3/P11
+	 L10/P3 -> MTS14400 SL1-25 L9/P11
+	 L11/P3 -> MTS14400 SL1-26 L11/P11
+	 L12/P3 -> MTS14400 SL1-26 L12/P11
+	 L1/P4 -> MTS14400 SL1-27 L12/P10
+	 L2/P4 -> MTS14400 SL1-28 L12/P11
+	 L3/P4 -> MTS14400 SL1-29 L7/P11
+	 L4/P4 -> MTS14400 SL1-29 L8/P11
+	 L5/P4 -> MTS14400 SL1-30 L4/P11
+	 L6/P4 -> MTS14400 SL1-31 L12/P11
+	 L7/P4 -> MTS14400 SL1-32 L3/P11
+	 L8/P4 -> MTS14400 SL1-32 L4/P11
+	 L9/P4 -> MTS14400 SL1-33 L8/P11
+	 L10/P4 -> MTS14400 SL1-34 L12/P11
+	 L11/P4 -> MTS14400 SL1-35 L11/P10
+	 L12/P4 -> MTS14400 SL1-35 L12/P10
+	 L1/P5 -> MTS14400 SL1-36 L12/P11
+	 L2/P5 -> MTS14400 SL1-37 L8/P11
+	 L3/P5 -> MTS14400 SL1-37 L9/P11
+	 L4/P5 -> MTS14400 SL1-38 L3/P11
+	 L5/P5 -> MTS14400 SL1-39 L12/P11
+	 L6/P5 -> MTS14400 SL1-40 L4/P11
+	 L7/P5 -> MTS14400 SL1-40 L5/P11
+	 L8/P5 -> MTS14400 SL1-41 L7/P11
+	 L9/P5 -> MTS14400 SL1-42 L12/P11
+	 L10/P5 -> MTS14400 SL1-43 L12/P10
+	 L11/P5 -> MTS14400 SL1-43 L1/P11
+	 L12/P5 -> MTS14400 SL1-44 L11/P11
+	 L1/P6 -> MTS14400 SL1-45 L9/P11
+	 L2/P6 -> MTS14400 SL1-45 L10/P11
+	 L3/P6 -> MTS14400 SL1-46 L2/P11
+	 L4/P6 -> MTS14400 SL1-47 L12/P11
+	 L5/P6 -> MTS14400 SL1-48 L5/P11
+	 L6/P6 -> MTS14400 SL1-48 L6/P11
+	 L7/P6 -> MTS14400 SL1-49 L6/P11
+	 L8/P6 -> MTS14400 SL1-50 L12/P11
+	 L9/P6 -> MTS14400 SL1-51 L1/P11
+	 L10/P6 -> MTS14400 SL1-51 L2/P11
+	 L11/P6 -> MTS14400 SL1-52 L10/P11
+	 L12/P6 -> MTS14400 SL1-53 L10/P11
+	 L1/P7 -> MTS14400 SL1-53 L11/P11
+	 L2/P7 -> MTS14400 SL1-54 L1/P11
+	 L3/P7 -> MTS14400 SL1-55 L12/P11
+	 L4/P7 -> MTS14400 SL1-56 L6/P11
+	 L5/P7 -> MTS14400 SL1-56 L7/P11
+	 L6/P7 -> MTS14400 SL1-57 L5/P11
+	 L7/P7 -> MTS14400 SL1-58 L12/P11
+	 L8/P7 -> MTS14400 SL1-59 L2/P11
+	 L9/P7 -> MTS14400 SL1-59 L3/P11
+	 L10/P7 -> MTS14400 SL1-60 L9/P11
+	 L11/P7 -> MTS14400 SL1-61 L11/P11
+	 L12/P7 -> MTS14400 SL1-61 L12/P11
+	 L1/P8 -> MTS14400 SL1-62 L12/P10
+	 L2/P8 -> MTS14400 SL1-63 L12/P11
+	 L3/P8 -> MTS14400 SL1-64 L7/P11
+	 L4/P8 -> MTS14400 SL1-64 L8/P11
+	 L5/P8 -> MTS14400 SL1-65 L4/P11
+	 L6/P8 -> MTS14400 SL1-66 L12/P11
+	 L7/P8 -> MTS14400 SL1-67 L3/P11
+	 L8/P8 -> MTS14400 SL1-67 L4/P11
+	 L9/P8 -> MTS14400 SL1-68 L8/P11
+	 L10/P8 -> MTS14400 SL1-69 L12/P11
+	 L11/P8 -> MTS14400 SL1-70 L11/P10
+	 L12/P8 -> MTS14400 SL1-70 L12/P10
+	 L1/P9 -> MTS14400 SL1-71 L12/P11
+	 L2/P9 -> MTS14400 SL1-72 L8/P11
+	 L3/P9 -> MTS14400 SL1-72 L9/P11
+	 L4/P9 -> MTS14400 SL1-73 L3/P11
+	 L5/P9 -> MTS14400 SL1-74 L12/P11
+	 L6/P9 -> MTS14400 SL1-75 L4/P11
+	 L7/P9 -> MTS14400 SL1-75 L5/P11
+	 L8/P9 -> MTS14400 SL1-76 L7/P11
+	 L9/P9 -> MTS14400 SL1-77 L12/P11
+	 L10/P9 -> MTS14400 SL1-78 L12/P10
+	 L11/P9 -> MTS14400 SL1-78 L1/P11
+	 L12/P9 -> MTS14400 SL1-79 L11/P11
+	 L1/P10 -> MTS14400 SL1-80 L9/P11
+	 L2/P10 -> MTS14400 SL1-80 L10/P11
+	 L3/P10 -> MTS14400 SL1-81 L2/P11
+	 L4/P10 -> MTS14400 SL1-82 L12/P11
+	 L5/P10 -> MTS14400 SL1-83 L5/P11
+	 L6/P10 -> MTS14400 SL1-83 L6/P11
+	 L7/P10 -> MTS14400 SL1-84 L6/P11
+	 L8/P10 -> MTS14400 SL1-85 L12/P11
+	 L9/P10 -> MTS14400 SL1-86 L1/P11
+	 L10/P10 -> MTS14400 SL1-86 L2/P11
+	 L11/P10 -> MTS14400 SL1-87 L10/P11
+	 L12/P10 -> MTS14400 SL1-88 L10/P11
+	 L1/P11 -> MTS14400 SL1-88 L11/P11
+	 L2/P11 -> MTS14400 SL1-89 L1/P11
+	 L3/P11 -> MTS14400 SL1-90 L12/P11
+	 L4/P11 -> MTS14400 SL1-91 L6/P11
+	 L5/P11 -> MTS14400 SL1-91 L7/P11
+	 L6/P11 -> MTS14400 SL1-92 L5/P11
+	 L7/P11 -> MTS14400 SL1-93 L12/P11
+	 L8/P11 -> MTS14400 SL1-94 L2/P11
+	 L9/P11 -> MTS14400 SL1-94 L3/P11
+	 L10/P11 -> MTS14400 SL1-95 L9/P11
+	 L11/P11 -> MTS14400 SL1-96 L11/P11
+	 L12/P11 -> MTS14400 SL1-96 L12/P11
+	 L1/P12 -> MTS14400 SL1-97 L12/P10
+	 L2/P12 -> MTS14400 SL1-98 L12/P11
+	 L3/P12 -> MTS14400 SL1-99 L7/P11
+	 L4/P12 -> MTS14400 SL1-99 L8/P11
+	 L5/P12 -> MTS14400 SL1-100 L4/P11
+	 L6/P12 -> MTS14400 SL1-101 L12/P11
+	 L7/P12 -> MTS14400 SL1-102 L3/P11
+	 L8/P12 -> MTS14400 SL1-102 L4/P11
+	 L9/P12 -> MTS14400 SL1-103 L8/P11
+	 L10/P12 -> MTS14400 SL1-104 L12/P11
+	 L11/P12 -> MTS14400 SL1-105 L11/P10
+	 L12/P12 -> MTS14400 SL1-105 L12/P10
+
+MTS14400 SL2-24
+	 L1/P1 -> MTS14400 SL1-1 L1/P12
+	 L2/P1 -> MTS14400 SL1-2 L10/P11
+	 L3/P1 -> MTS14400 SL1-2 L11/P11
+	 L4/P1 -> MTS14400 SL1-3 L4/P11
+	 L5/P1 -> MTS14400 SL1-4 L1/P12
+	 L6/P1 -> MTS14400 SL1-5 L6/P11
+	 L7/P1 -> MTS14400 SL1-5 L7/P11
+	 L8/P1 -> MTS14400 SL1-6 L8/P11
+	 L9/P1 -> MTS14400 SL1-7 L1/P12
+	 L10/P1 -> MTS14400 SL1-8 L2/P11
+	 L11/P1 -> MTS14400 SL1-8 L3/P11
+	 L12/P1 -> MTS14400 SL1-9 L12/P11
+	 L1/P2 -> MTS14400 SL1-10 L11/P11
+	 L2/P2 -> MTS14400 SL1-10 L12/P11
+	 L3/P2 -> MTS14400 SL1-11 L3/P11
+	 L4/P2 -> MTS14400 SL1-12 L1/P12
+	 L5/P2 -> MTS14400 SL1-13 L7/P11
+	 L6/P2 -> MTS14400 SL1-13 L8/P11
+	 L7/P2 -> MTS14400 SL1-14 L7/P11
+	 L8/P2 -> MTS14400 SL1-15 L1/P12
+	 L9/P2 -> MTS14400 SL1-16 L3/P11
+	 L10/P2 -> MTS14400 SL1-16 L4/P11
+	 L11/P2 -> MTS14400 SL1-17 L11/P11
+	 L12/P2 -> MTS14400 SL1-18 L12/P11
+	 L1/P3 -> MTS14400 SL1-18 L1/P12
+	 L2/P3 -> MTS14400 SL1-19 L2/P11
+	 L3/P3 -> MTS14400 SL1-20 L1/P12
+	 L4/P3 -> MTS14400 SL1-21 L8/P11
+	 L5/P3 -> MTS14400 SL1-21 L9/P11
+	 L6/P3 -> MTS14400 SL1-22 L6/P11
+	 L7/P3 -> MTS14400 SL1-23 L1/P12
+	 L8/P3 -> MTS14400 SL1-24 L4/P11
+	 L9/P3 -> MTS14400 SL1-24 L5/P11
+	 L10/P3 -> MTS14400 SL1-25 L10/P11
+	 L11/P3 -> MTS14400 SL1-26 L1/P12
+	 L12/P3 -> MTS14400 SL1-27 L1/P11
+	 L1/P4 -> MTS14400 SL1-27 L2/P11
+	 L2/P4 -> MTS14400 SL1-28 L1/P12
+	 L3/P4 -> MTS14400 SL1-29 L9/P11
+	 L4/P4 -> MTS14400 SL1-29 L10/P11
+	 L5/P4 -> MTS14400 SL1-30 L5/P11
+	 L6/P4 -> MTS14400 SL1-31 L1/P12
+	 L7/P4 -> MTS14400 SL1-32 L5/P11
+	 L8/P4 -> MTS14400 SL1-32 L6/P11
+	 L9/P4 -> MTS14400 SL1-33 L9/P11
+	 L10/P4 -> MTS14400 SL1-34 L1/P12
+	 L11/P4 -> MTS14400 SL1-35 L1/P11
+	 L12/P4 -> MTS14400 SL1-35 L2/P11
+	 L1/P5 -> MTS14400 SL1-36 L1/P12
+	 L2/P5 -> MTS14400 SL1-37 L10/P11
+	 L3/P5 -> MTS14400 SL1-37 L11/P11
+	 L4/P5 -> MTS14400 SL1-38 L4/P11
+	 L5/P5 -> MTS14400 SL1-39 L1/P12
+	 L6/P5 -> MTS14400 SL1-40 L6/P11
+	 L7/P5 -> MTS14400 SL1-40 L7/P11
+	 L8/P5 -> MTS14400 SL1-41 L8/P11
+	 L9/P5 -> MTS14400 SL1-42 L1/P12
+	 L10/P5 -> MTS14400 SL1-43 L2/P11
+	 L11/P5 -> MTS14400 SL1-43 L3/P11
+	 L12/P5 -> MTS14400 SL1-44 L12/P11
+	 L1/P6 -> MTS14400 SL1-45 L11/P11
+	 L2/P6 -> MTS14400 SL1-45 L12/P11
+	 L3/P6 -> MTS14400 SL1-46 L3/P11
+	 L4/P6 -> MTS14400 SL1-47 L1/P12
+	 L5/P6 -> MTS14400 SL1-48 L7/P11
+	 L6/P6 -> MTS14400 SL1-48 L8/P11
+	 L7/P6 -> MTS14400 SL1-49 L7/P11
+	 L8/P6 -> MTS14400 SL1-50 L1/P12
+	 L9/P6 -> MTS14400 SL1-51 L3/P11
+	 L10/P6 -> MTS14400 SL1-51 L4/P11
+	 L11/P6 -> MTS14400 SL1-52 L11/P11
+	 L12/P6 -> MTS14400 SL1-53 L12/P11
+	 L1/P7 -> MTS14400 SL1-53 L1/P12
+	 L2/P7 -> MTS14400 SL1-54 L2/P11
+	 L3/P7 -> MTS14400 SL1-55 L1/P12
+	 L4/P7 -> MTS14400 SL1-56 L8/P11
+	 L5/P7 -> MTS14400 SL1-56 L9/P11
+	 L6/P7 -> MTS14400 SL1-57 L6/P11
+	 L7/P7 -> MTS14400 SL1-58 L1/P12
+	 L8/P7 -> MTS14400 SL1-59 L4/P11
+	 L9/P7 -> MTS14400 SL1-59 L5/P11
+	 L10/P7 -> MTS14400 SL1-60 L10/P11
+	 L11/P7 -> MTS14400 SL1-61 L1/P12
+	 L12/P7 -> MTS14400 SL1-62 L1/P11
+	 L1/P8 -> MTS14400 SL1-62 L2/P11
+	 L2/P8 -> MTS14400 SL1-63 L1/P12
+	 L3/P8 -> MTS14400 SL1-64 L9/P11
+	 L4/P8 -> MTS14400 SL1-64 L10/P11
+	 L5/P8 -> MTS14400 SL1-65 L5/P11
+	 L6/P8 -> MTS14400 SL1-66 L1/P12
+	 L7/P8 -> MTS14400 SL1-67 L5/P11
+	 L8/P8 -> MTS14400 SL1-67 L6/P11
+	 L9/P8 -> MTS14400 SL1-68 L9/P11
+	 L10/P8 -> MTS14400 SL1-69 L1/P12
+	 L11/P8 -> MTS14400 SL1-70 L1/P11
+	 L12/P8 -> MTS14400 SL1-70 L2/P11
+	 L1/P9 -> MTS14400 SL1-71 L1/P12
+	 L2/P9 -> MTS14400 SL1-72 L10/P11
+	 L3/P9 -> MTS14400 SL1-72 L11/P11
+	 L4/P9 -> MTS14400 SL1-73 L4/P11
+	 L5/P9 -> MTS14400 SL1-74 L1/P12
+	 L6/P9 -> MTS14400 SL1-75 L6/P11
+	 L7/P9 -> MTS14400 SL1-75 L7/P11
+	 L8/P9 -> MTS14400 SL1-76 L8/P11
+	 L9/P9 -> MTS14400 SL1-77 L1/P12
+	 L10/P9 -> MTS14400 SL1-78 L2/P11
+	 L11/P9 -> MTS14400 SL1-78 L3/P11
+	 L12/P9 -> MTS14400 SL1-79 L12/P11
+	 L1/P10 -> MTS14400 SL1-80 L11/P11
+	 L2/P10 -> MTS14400 SL1-80 L12/P11
+	 L3/P10 -> MTS14400 SL1-81 L3/P11
+	 L4/P10 -> MTS14400 SL1-82 L1/P12
+	 L5/P10 -> MTS14400 SL1-83 L7/P11
+	 L6/P10 -> MTS14400 SL1-83 L8/P11
+	 L7/P10 -> MTS14400 SL1-84 L7/P11
+	 L8/P10 -> MTS14400 SL1-85 L1/P12
+	 L9/P10 -> MTS14400 SL1-86 L3/P11
+	 L10/P10 -> MTS14400 SL1-86 L4/P11
+	 L11/P10 -> MTS14400 SL1-87 L11/P11
+	 L12/P10 -> MTS14400 SL1-88 L12/P11
+	 L1/P11 -> MTS14400 SL1-88 L1/P12
+	 L2/P11 -> MTS14400 SL1-89 L2/P11
+	 L3/P11 -> MTS14400 SL1-90 L1/P12
+	 L4/P11 -> MTS14400 SL1-91 L8/P11
+	 L5/P11 -> MTS14400 SL1-91 L9/P11
+	 L6/P11 -> MTS14400 SL1-92 L6/P11
+	 L7/P11 -> MTS14400 SL1-93 L1/P12
+	 L8/P11 -> MTS14400 SL1-94 L4/P11
+	 L9/P11 -> MTS14400 SL1-94 L5/P11
+	 L10/P11 -> MTS14400 SL1-95 L10/P11
+	 L11/P11 -> MTS14400 SL1-96 L1/P12
+	 L12/P11 -> MTS14400 SL1-97 L1/P11
+	 L1/P12 -> MTS14400 SL1-97 L2/P11
+	 L2/P12 -> MTS14400 SL1-98 L1/P12
+	 L3/P12 -> MTS14400 SL1-99 L9/P11
+	 L4/P12 -> MTS14400 SL1-99 L10/P11
+	 L5/P12 -> MTS14400 SL1-100 L5/P11
+	 L6/P12 -> MTS14400 SL1-101 L1/P12
+	 L7/P12 -> MTS14400 SL1-102 L5/P11
+	 L8/P12 -> MTS14400 SL1-102 L6/P11
+	 L9/P12 -> MTS14400 SL1-103 L9/P11
+	 L10/P12 -> MTS14400 SL1-104 L1/P12
+	 L11/P12 -> MTS14400 SL1-105 L1/P11
+	 L12/P12 -> MTS14400 SL1-105 L2/P11
+
+MTS14400 SL2-25
+	 L1/P1 -> MTS14400 SL1-1 L2/P12
+	 L2/P1 -> MTS14400 SL1-2 L12/P11
+	 L3/P1 -> MTS14400 SL1-2 L1/P12
+	 L4/P1 -> MTS14400 SL1-3 L5/P11
+	 L5/P1 -> MTS14400 SL1-4 L2/P12
+	 L6/P1 -> MTS14400 SL1-5 L8/P11
+	 L7/P1 -> MTS14400 SL1-5 L9/P11
+	 L8/P1 -> MTS14400 SL1-6 L9/P11
+	 L9/P1 -> MTS14400 SL1-7 L2/P12
+	 L10/P1 -> MTS14400 SL1-8 L4/P11
+	 L11/P1 -> MTS14400 SL1-8 L5/P11
+	 L12/P1 -> MTS14400 SL1-9 L1/P12
+	 L1/P2 -> MTS14400 SL1-10 L1/P12
+	 L2/P2 -> MTS14400 SL1-10 L2/P12
+	 L3/P2 -> MTS14400 SL1-11 L4/P11
+	 L4/P2 -> MTS14400 SL1-12 L2/P12
+	 L5/P2 -> MTS14400 SL1-13 L9/P11
+	 L6/P2 -> MTS14400 SL1-13 L10/P11
+	 L7/P2 -> MTS14400 SL1-14 L8/P11
+	 L8/P2 -> MTS14400 SL1-15 L2/P12
+	 L9/P2 -> MTS14400 SL1-16 L5/P11
+	 L10/P2 -> MTS14400 SL1-16 L6/P11
+	 L11/P2 -> MTS14400 SL1-17 L12/P11
+	 L12/P2 -> MTS14400 SL1-18 L2/P12
+	 L1/P3 -> MTS14400 SL1-19 L3/P11
+	 L2/P3 -> MTS14400 SL1-19 L4/P11
+	 L3/P3 -> MTS14400 SL1-20 L2/P12
+	 L4/P3 -> MTS14400 SL1-21 L10/P11
+	 L5/P3 -> MTS14400 SL1-21 L11/P11
+	 L6/P3 -> MTS14400 SL1-22 L7/P11
+	 L7/P3 -> MTS14400 SL1-23 L2/P12
+	 L8/P3 -> MTS14400 SL1-24 L6/P11
+	 L9/P3 -> MTS14400 SL1-24 L7/P11
+	 L10/P3 -> MTS14400 SL1-25 L11/P11
+	 L11/P3 -> MTS14400 SL1-26 L2/P12
+	 L12/P3 -> MTS14400 SL1-27 L3/P11
+	 L1/P4 -> MTS14400 SL1-27 L4/P11
+	 L2/P4 -> MTS14400 SL1-28 L2/P12
+	 L3/P4 -> MTS14400 SL1-29 L11/P11
+	 L4/P4 -> MTS14400 SL1-29 L12/P11
+	 L5/P4 -> MTS14400 SL1-30 L6/P11
+	 L6/P4 -> MTS14400 SL1-31 L2/P12
+	 L7/P4 -> MTS14400 SL1-32 L7/P11
+	 L8/P4 -> MTS14400 SL1-32 L8/P11
+	 L9/P4 -> MTS14400 SL1-33 L10/P11
+	 L10/P4 -> MTS14400 SL1-34 L2/P12
+	 L11/P4 -> MTS14400 SL1-35 L3/P11
+	 L12/P4 -> MTS14400 SL1-35 L4/P11
+	 L1/P5 -> MTS14400 SL1-36 L2/P12
+	 L2/P5 -> MTS14400 SL1-37 L12/P11
+	 L3/P5 -> MTS14400 SL1-37 L1/P12
+	 L4/P5 -> MTS14400 SL1-38 L5/P11
+	 L5/P5 -> MTS14400 SL1-39 L2/P12
+	 L6/P5 -> MTS14400 SL1-40 L8/P11
+	 L7/P5 -> MTS14400 SL1-40 L9/P11
+	 L8/P5 -> MTS14400 SL1-41 L9/P11
+	 L9/P5 -> MTS14400 SL1-42 L2/P12
+	 L10/P5 -> MTS14400 SL1-43 L4/P11
+	 L11/P5 -> MTS14400 SL1-43 L5/P11
+	 L12/P5 -> MTS14400 SL1-44 L1/P12
+	 L1/P6 -> MTS14400 SL1-45 L1/P12
+	 L2/P6 -> MTS14400 SL1-45 L2/P12
+	 L3/P6 -> MTS14400 SL1-46 L4/P11
+	 L4/P6 -> MTS14400 SL1-47 L2/P12
+	 L5/P6 -> MTS14400 SL1-48 L9/P11
+	 L6/P6 -> MTS14400 SL1-48 L10/P11
+	 L7/P6 -> MTS14400 SL1-49 L8/P11
+	 L8/P6 -> MTS14400 SL1-50 L2/P12
+	 L9/P6 -> MTS14400 SL1-51 L5/P11
+	 L10/P6 -> MTS14400 SL1-51 L6/P11
+	 L11/P6 -> MTS14400 SL1-52 L12/P11
+	 L12/P6 -> MTS14400 SL1-53 L2/P12
+	 L1/P7 -> MTS14400 SL1-54 L3/P11
+	 L2/P7 -> MTS14400 SL1-54 L4/P11
+	 L3/P7 -> MTS14400 SL1-55 L2/P12
+	 L4/P7 -> MTS14400 SL1-56 L10/P11
+	 L5/P7 -> MTS14400 SL1-56 L11/P11
+	 L6/P7 -> MTS14400 SL1-57 L7/P11
+	 L7/P7 -> MTS14400 SL1-58 L2/P12
+	 L8/P7 -> MTS14400 SL1-59 L6/P11
+	 L9/P7 -> MTS14400 SL1-59 L7/P11
+	 L10/P7 -> MTS14400 SL1-60 L11/P11
+	 L11/P7 -> MTS14400 SL1-61 L2/P12
+	 L12/P7 -> MTS14400 SL1-62 L3/P11
+	 L1/P8 -> MTS14400 SL1-62 L4/P11
+	 L2/P8 -> MTS14400 SL1-63 L2/P12
+	 L3/P8 -> MTS14400 SL1-64 L11/P11
+	 L4/P8 -> MTS14400 SL1-64 L12/P11
+	 L5/P8 -> MTS14400 SL1-65 L6/P11
+	 L6/P8 -> MTS14400 SL1-66 L2/P12
+	 L7/P8 -> MTS14400 SL1-67 L7/P11
+	 L8/P8 -> MTS14400 SL1-67 L8/P11
+	 L9/P8 -> MTS14400 SL1-68 L10/P11
+	 L10/P8 -> MTS14400 SL1-69 L2/P12
+	 L11/P8 -> MTS14400 SL1-70 L3/P11
+	 L12/P8 -> MTS14400 SL1-70 L4/P11
+	 L1/P9 -> MTS14400 SL1-71 L2/P12
+	 L2/P9 -> MTS14400 SL1-72 L12/P11
+	 L3/P9 -> MTS14400 SL1-72 L1/P12
+	 L4/P9 -> MTS14400 SL1-73 L5/P11
+	 L5/P9 -> MTS14400 SL1-74 L2/P12
+	 L6/P9 -> MTS14400 SL1-75 L8/P11
+	 L7/P9 -> MTS14400 SL1-75 L9/P11
+	 L8/P9 -> MTS14400 SL1-76 L9/P11
+	 L9/P9 -> MTS14400 SL1-77 L2/P12
+	 L10/P9 -> MTS14400 SL1-78 L4/P11
+	 L11/P9 -> MTS14400 SL1-78 L5/P11
+	 L12/P9 -> MTS14400 SL1-79 L1/P12
+	 L1/P10 -> MTS14400 SL1-80 L1/P12
+	 L2/P10 -> MTS14400 SL1-80 L2/P12
+	 L3/P10 -> MTS14400 SL1-81 L4/P11
+	 L4/P10 -> MTS14400 SL1-82 L2/P12
+	 L5/P10 -> MTS14400 SL1-83 L9/P11
+	 L6/P10 -> MTS14400 SL1-83 L10/P11
+	 L7/P10 -> MTS14400 SL1-84 L8/P11
+	 L8/P10 -> MTS14400 SL1-85 L2/P12
+	 L9/P10 -> MTS14400 SL1-86 L5/P11
+	 L10/P10 -> MTS14400 SL1-86 L6/P11
+	 L11/P10 -> MTS14400 SL1-87 L12/P11
+	 L12/P10 -> MTS14400 SL1-88 L2/P12
+	 L1/P11 -> MTS14400 SL1-89 L3/P11
+	 L2/P11 -> MTS14400 SL1-89 L4/P11
+	 L3/P11 -> MTS14400 SL1-90 L2/P12
+	 L4/P11 -> MTS14400 SL1-91 L10/P11
+	 L5/P11 -> MTS14400 SL1-91 L11/P11
+	 L6/P11 -> MTS14400 SL1-92 L7/P11
+	 L7/P11 -> MTS14400 SL1-93 L2/P12
+	 L8/P11 -> MTS14400 SL1-94 L6/P11
+	 L9/P11 -> MTS14400 SL1-94 L7/P11
+	 L10/P11 -> MTS14400 SL1-95 L11/P11
+	 L11/P11 -> MTS14400 SL1-96 L2/P12
+	 L12/P11 -> MTS14400 SL1-97 L3/P11
+	 L1/P12 -> MTS14400 SL1-97 L4/P11
+	 L2/P12 -> MTS14400 SL1-98 L2/P12
+	 L3/P12 -> MTS14400 SL1-99 L11/P11
+	 L4/P12 -> MTS14400 SL1-99 L12/P11
+	 L5/P12 -> MTS14400 SL1-100 L6/P11
+	 L6/P12 -> MTS14400 SL1-101 L2/P12
+	 L7/P12 -> MTS14400 SL1-102 L7/P11
+	 L8/P12 -> MTS14400 SL1-102 L8/P11
+	 L9/P12 -> MTS14400 SL1-103 L10/P11
+	 L10/P12 -> MTS14400 SL1-104 L2/P12
+	 L11/P12 -> MTS14400 SL1-105 L3/P11
+	 L12/P12 -> MTS14400 SL1-105 L4/P11
+
+MTS14400 SL2-26
+	 L1/P1 -> MTS14400 SL1-1 L3/P12
+	 L2/P1 -> MTS14400 SL1-2 L2/P12
+	 L3/P1 -> MTS14400 SL1-2 L3/P12
+	 L4/P1 -> MTS14400 SL1-3 L6/P11
+	 L5/P1 -> MTS14400 SL1-4 L3/P12
+	 L6/P1 -> MTS14400 SL1-5 L10/P11
+	 L7/P1 -> MTS14400 SL1-5 L11/P11
+	 L8/P1 -> MTS14400 SL1-6 L10/P11
+	 L9/P1 -> MTS14400 SL1-7 L3/P12
+	 L10/P1 -> MTS14400 SL1-8 L6/P11
+	 L11/P1 -> MTS14400 SL1-8 L7/P11
+	 L12/P1 -> MTS14400 SL1-9 L2/P12
+	 L1/P2 -> MTS14400 SL1-10 L3/P12
+	 L2/P2 -> MTS14400 SL1-11 L5/P11
+	 L3/P2 -> MTS14400 SL1-11 L6/P11
+	 L4/P2 -> MTS14400 SL1-12 L3/P12
+	 L5/P2 -> MTS14400 SL1-13 L11/P11
+	 L6/P2 -> MTS14400 SL1-13 L12/P11
+	 L7/P2 -> MTS14400 SL1-14 L9/P11
+	 L8/P2 -> MTS14400 SL1-15 L3/P12
+	 L9/P2 -> MTS14400 SL1-16 L7/P11
+	 L10/P2 -> MTS14400 SL1-16 L8/P11
+	 L11/P2 -> MTS14400 SL1-17 L1/P12
+	 L12/P2 -> MTS14400 SL1-18 L3/P12
+	 L1/P3 -> MTS14400 SL1-19 L5/P11
+	 L2/P3 -> MTS14400 SL1-19 L6/P11
+	 L3/P3 -> MTS14400 SL1-20 L3/P12
+	 L4/P3 -> MTS14400 SL1-21 L12/P11
+	 L5/P3 -> MTS14400 SL1-21 L1/P12
+	 L6/P3 -> MTS14400 SL1-22 L8/P11
+	 L7/P3 -> MTS14400 SL1-23 L3/P12
+	 L8/P3 -> MTS14400 SL1-24 L8/P11
+	 L9/P3 -> MTS14400 SL1-24 L9/P11
+	 L10/P3 -> MTS14400 SL1-25 L12/P11
+	 L11/P3 -> MTS14400 SL1-26 L3/P12
+	 L12/P3 -> MTS14400 SL1-27 L5/P11
+	 L1/P4 -> MTS14400 SL1-27 L6/P11
+	 L2/P4 -> MTS14400 SL1-28 L3/P12
+	 L3/P4 -> MTS14400 SL1-29 L1/P12
+	 L4/P4 -> MTS14400 SL1-29 L2/P12
+	 L5/P4 -> MTS14400 SL1-30 L7/P11
+	 L6/P4 -> MTS14400 SL1-31 L3/P12
+	 L7/P4 -> MTS14400 SL1-32 L9/P11
+	 L8/P4 -> MTS14400 SL1-32 L10/P11
+	 L9/P4 -> MTS14400 SL1-33 L11/P11
+	 L10/P4 -> MTS14400 SL1-34 L3/P12
+	 L11/P4 -> MTS14400 SL1-35 L5/P11
+	 L12/P4 -> MTS14400 SL1-35 L6/P11
+	 L1/P5 -> MTS14400 SL1-36 L3/P12
+	 L2/P5 -> MTS14400 SL1-37 L2/P12
+	 L3/P5 -> MTS14400 SL1-37 L3/P12
+	 L4/P5 -> MTS14400 SL1-38 L6/P11
+	 L5/P5 -> MTS14400 SL1-39 L3/P12
+	 L6/P5 -> MTS14400 SL1-40 L10/P11
+	 L7/P5 -> MTS14400 SL1-40 L11/P11
+	 L8/P5 -> MTS14400 SL1-41 L10/P11
+	 L9/P5 -> MTS14400 SL1-42 L3/P12
+	 L10/P5 -> MTS14400 SL1-43 L6/P11
+	 L11/P5 -> MTS14400 SL1-43 L7/P11
+	 L12/P5 -> MTS14400 SL1-44 L2/P12
+	 L1/P6 -> MTS14400 SL1-45 L3/P12
+	 L2/P6 -> MTS14400 SL1-46 L5/P11
+	 L3/P6 -> MTS14400 SL1-46 L6/P11
+	 L4/P6 -> MTS14400 SL1-47 L3/P12
+	 L5/P6 -> MTS14400 SL1-48 L11/P11
+	 L6/P6 -> MTS14400 SL1-48 L12/P11
+	 L7/P6 -> MTS14400 SL1-49 L9/P11
+	 L8/P6 -> MTS14400 SL1-50 L3/P12
+	 L9/P6 -> MTS14400 SL1-51 L7/P11
+	 L10/P6 -> MTS14400 SL1-51 L8/P11
+	 L11/P6 -> MTS14400 SL1-52 L1/P12
+	 L12/P6 -> MTS14400 SL1-53 L3/P12
+	 L1/P7 -> MTS14400 SL1-54 L5/P11
+	 L2/P7 -> MTS14400 SL1-54 L6/P11
+	 L3/P7 -> MTS14400 SL1-55 L3/P12
+	 L4/P7 -> MTS14400 SL1-56 L12/P11
+	 L5/P7 -> MTS14400 SL1-56 L1/P12
+	 L6/P7 -> MTS14400 SL1-57 L8/P11
+	 L7/P7 -> MTS14400 SL1-58 L3/P12
+	 L8/P7 -> MTS14400 SL1-59 L8/P11
+	 L9/P7 -> MTS14400 SL1-59 L9/P11
+	 L10/P7 -> MTS14400 SL1-60 L12/P11
+	 L11/P7 -> MTS14400 SL1-61 L3/P12
+	 L12/P7 -> MTS14400 SL1-62 L5/P11
+	 L1/P8 -> MTS14400 SL1-62 L6/P11
+	 L2/P8 -> MTS14400 SL1-63 L3/P12
+	 L3/P8 -> MTS14400 SL1-64 L1/P12
+	 L4/P8 -> MTS14400 SL1-64 L2/P12
+	 L5/P8 -> MTS14400 SL1-65 L7/P11
+	 L6/P8 -> MTS14400 SL1-66 L3/P12
+	 L7/P8 -> MTS14400 SL1-67 L9/P11
+	 L8/P8 -> MTS14400 SL1-67 L10/P11
+	 L9/P8 -> MTS14400 SL1-68 L11/P11
+	 L10/P8 -> MTS14400 SL1-69 L3/P12
+	 L11/P8 -> MTS14400 SL1-70 L5/P11
+	 L12/P8 -> MTS14400 SL1-70 L6/P11
+	 L1/P9 -> MTS14400 SL1-71 L3/P12
+	 L2/P9 -> MTS14400 SL1-72 L2/P12
+	 L3/P9 -> MTS14400 SL1-72 L3/P12
+	 L4/P9 -> MTS14400 SL1-73 L6/P11
+	 L5/P9 -> MTS14400 SL1-74 L3/P12
+	 L6/P9 -> MTS14400 SL1-75 L10/P11
+	 L7/P9 -> MTS14400 SL1-75 L11/P11
+	 L8/P9 -> MTS14400 SL1-76 L10/P11
+	 L9/P9 -> MTS14400 SL1-77 L3/P12
+	 L10/P9 -> MTS14400 SL1-78 L6/P11
+	 L11/P9 -> MTS14400 SL1-78 L7/P11
+	 L12/P9 -> MTS14400 SL1-79 L2/P12
+	 L1/P10 -> MTS14400 SL1-80 L3/P12
+	 L2/P10 -> MTS14400 SL1-81 L5/P11
+	 L3/P10 -> MTS14400 SL1-81 L6/P11
+	 L4/P10 -> MTS14400 SL1-82 L3/P12
+	 L5/P10 -> MTS14400 SL1-83 L11/P11
+	 L6/P10 -> MTS14400 SL1-83 L12/P11
+	 L7/P10 -> MTS14400 SL1-84 L9/P11
+	 L8/P10 -> MTS14400 SL1-85 L3/P12
+	 L9/P10 -> MTS14400 SL1-86 L7/P11
+	 L10/P10 -> MTS14400 SL1-86 L8/P11
+	 L11/P10 -> MTS14400 SL1-87 L1/P12
+	 L12/P10 -> MTS14400 SL1-88 L3/P12
+	 L1/P11 -> MTS14400 SL1-89 L5/P11
+	 L2/P11 -> MTS14400 SL1-89 L6/P11
+	 L3/P11 -> MTS14400 SL1-90 L3/P12
+	 L4/P11 -> MTS14400 SL1-91 L12/P11
+	 L5/P11 -> MTS14400 SL1-91 L1/P12
+	 L6/P11 -> MTS14400 SL1-92 L8/P11
+	 L7/P11 -> MTS14400 SL1-93 L3/P12
+	 L8/P11 -> MTS14400 SL1-94 L8/P11
+	 L9/P11 -> MTS14400 SL1-94 L9/P11
+	 L10/P11 -> MTS14400 SL1-95 L12/P11
+	 L11/P11 -> MTS14400 SL1-96 L3/P12
+	 L12/P11 -> MTS14400 SL1-97 L5/P11
+	 L1/P12 -> MTS14400 SL1-97 L6/P11
+	 L2/P12 -> MTS14400 SL1-98 L3/P12
+	 L3/P12 -> MTS14400 SL1-99 L1/P12
+	 L4/P12 -> MTS14400 SL1-99 L2/P12
+	 L5/P12 -> MTS14400 SL1-100 L7/P11
+	 L6/P12 -> MTS14400 SL1-101 L3/P12
+	 L7/P12 -> MTS14400 SL1-102 L9/P11
+	 L8/P12 -> MTS14400 SL1-102 L10/P11
+	 L9/P12 -> MTS14400 SL1-103 L11/P11
+	 L10/P12 -> MTS14400 SL1-104 L3/P12
+	 L11/P12 -> MTS14400 SL1-105 L5/P11
+	 L12/P12 -> MTS14400 SL1-105 L6/P11
+
+MTS14400 SL2-27
+	 L1/P1 -> MTS14400 SL1-1 L4/P12
+	 L2/P1 -> MTS14400 SL1-2 L4/P12
+	 L3/P1 -> MTS14400 SL1-3 L7/P11
+	 L4/P1 -> MTS14400 SL1-3 L8/P11
+	 L5/P1 -> MTS14400 SL1-4 L4/P12
+	 L6/P1 -> MTS14400 SL1-5 L12/P11
+	 L7/P1 -> MTS14400 SL1-5 L1/P12
+	 L8/P1 -> MTS14400 SL1-6 L11/P11
+	 L9/P1 -> MTS14400 SL1-7 L4/P12
+	 L10/P1 -> MTS14400 SL1-8 L8/P11
+	 L11/P1 -> MTS14400 SL1-8 L9/P11
+	 L12/P1 -> MTS14400 SL1-9 L3/P12
+	 L1/P2 -> MTS14400 SL1-10 L4/P12
+	 L2/P2 -> MTS14400 SL1-11 L7/P11
+	 L3/P2 -> MTS14400 SL1-11 L8/P11
+	 L4/P2 -> MTS14400 SL1-12 L4/P12
+	 L5/P2 -> MTS14400 SL1-13 L1/P12
+	 L6/P2 -> MTS14400 SL1-13 L2/P12
+	 L7/P2 -> MTS14400 SL1-14 L10/P11
+	 L8/P2 -> MTS14400 SL1-15 L4/P12
+	 L9/P2 -> MTS14400 SL1-16 L9/P11
+	 L10/P2 -> MTS14400 SL1-16 L10/P11
+	 L11/P2 -> MTS14400 SL1-17 L2/P12
+	 L12/P2 -> MTS14400 SL1-18 L4/P12
+	 L1/P3 -> MTS14400 SL1-19 L7/P11
+	 L2/P3 -> MTS14400 SL1-19 L8/P11
+	 L3/P3 -> MTS14400 SL1-20 L4/P12
+	 L4/P3 -> MTS14400 SL1-21 L2/P12
+	 L5/P3 -> MTS14400 SL1-21 L3/P12
+	 L6/P3 -> MTS14400 SL1-22 L9/P11
+	 L7/P3 -> MTS14400 SL1-23 L4/P12
+	 L8/P3 -> MTS14400 SL1-24 L10/P11
+	 L9/P3 -> MTS14400 SL1-24 L11/P11
+	 L10/P3 -> MTS14400 SL1-25 L1/P12
+	 L11/P3 -> MTS14400 SL1-26 L4/P12
+	 L12/P3 -> MTS14400 SL1-27 L7/P11
+	 L1/P4 -> MTS14400 SL1-27 L8/P11
+	 L2/P4 -> MTS14400 SL1-28 L4/P12
+	 L3/P4 -> MTS14400 SL1-29 L3/P12
+	 L4/P4 -> MTS14400 SL1-29 L4/P12
+	 L5/P4 -> MTS14400 SL1-30 L8/P11
+	 L6/P4 -> MTS14400 SL1-31 L4/P12
+	 L7/P4 -> MTS14400 SL1-32 L11/P11
+	 L8/P4 -> MTS14400 SL1-32 L12/P11
+	 L9/P4 -> MTS14400 SL1-33 L12/P11
+	 L10/P4 -> MTS14400 SL1-34 L4/P12
+	 L11/P4 -> MTS14400 SL1-35 L7/P11
+	 L12/P4 -> MTS14400 SL1-35 L8/P11
+	 L1/P5 -> MTS14400 SL1-36 L4/P12
+	 L2/P5 -> MTS14400 SL1-37 L4/P12
+	 L3/P5 -> MTS14400 SL1-38 L7/P11
+	 L4/P5 -> MTS14400 SL1-38 L8/P11
+	 L5/P5 -> MTS14400 SL1-39 L4/P12
+	 L6/P5 -> MTS14400 SL1-40 L12/P11
+	 L7/P5 -> MTS14400 SL1-40 L1/P12
+	 L8/P5 -> MTS14400 SL1-41 L11/P11
+	 L9/P5 -> MTS14400 SL1-42 L4/P12
+	 L10/P5 -> MTS14400 SL1-43 L8/P11
+	 L11/P5 -> MTS14400 SL1-43 L9/P11
+	 L12/P5 -> MTS14400 SL1-44 L3/P12
+	 L1/P6 -> MTS14400 SL1-45 L4/P12
+	 L2/P6 -> MTS14400 SL1-46 L7/P11
+	 L3/P6 -> MTS14400 SL1-46 L8/P11
+	 L4/P6 -> MTS14400 SL1-47 L4/P12
+	 L5/P6 -> MTS14400 SL1-48 L1/P12
+	 L6/P6 -> MTS14400 SL1-48 L2/P12
+	 L7/P6 -> MTS14400 SL1-49 L10/P11
+	 L8/P6 -> MTS14400 SL1-50 L4/P12
+	 L9/P6 -> MTS14400 SL1-51 L9/P11
+	 L10/P6 -> MTS14400 SL1-51 L10/P11
+	 L11/P6 -> MTS14400 SL1-52 L2/P12
+	 L12/P6 -> MTS14400 SL1-53 L4/P12
+	 L1/P7 -> MTS14400 SL1-54 L7/P11
+	 L2/P7 -> MTS14400 SL1-54 L8/P11
+	 L3/P7 -> MTS14400 SL1-55 L4/P12
+	 L4/P7 -> MTS14400 SL1-56 L2/P12
+	 L5/P7 -> MTS14400 SL1-56 L3/P12
+	 L6/P7 -> MTS14400 SL1-57 L9/P11
+	 L7/P7 -> MTS14400 SL1-58 L4/P12
+	 L8/P7 -> MTS14400 SL1-59 L10/P11
+	 L9/P7 -> MTS14400 SL1-59 L11/P11
+	 L10/P7 -> MTS14400 SL1-60 L1/P12
+	 L11/P7 -> MTS14400 SL1-61 L4/P12
+	 L12/P7 -> MTS14400 SL1-62 L7/P11
+	 L1/P8 -> MTS14400 SL1-62 L8/P11
+	 L2/P8 -> MTS14400 SL1-63 L4/P12
+	 L3/P8 -> MTS14400 SL1-64 L3/P12
+	 L4/P8 -> MTS14400 SL1-64 L4/P12
+	 L5/P8 -> MTS14400 SL1-65 L8/P11
+	 L6/P8 -> MTS14400 SL1-66 L4/P12
+	 L7/P8 -> MTS14400 SL1-67 L11/P11
+	 L8/P8 -> MTS14400 SL1-67 L12/P11
+	 L9/P8 -> MTS14400 SL1-68 L12/P11
+	 L10/P8 -> MTS14400 SL1-69 L4/P12
+	 L11/P8 -> MTS14400 SL1-70 L7/P11
+	 L12/P8 -> MTS14400 SL1-70 L8/P11
+	 L1/P9 -> MTS14400 SL1-71 L4/P12
+	 L2/P9 -> MTS14400 SL1-72 L4/P12
+	 L3/P9 -> MTS14400 SL1-73 L7/P11
+	 L4/P9 -> MTS14400 SL1-73 L8/P11
+	 L5/P9 -> MTS14400 SL1-74 L4/P12
+	 L6/P9 -> MTS14400 SL1-75 L12/P11
+	 L7/P9 -> MTS14400 SL1-75 L1/P12
+	 L8/P9 -> MTS14400 SL1-76 L11/P11
+	 L9/P9 -> MTS14400 SL1-77 L4/P12
+	 L10/P9 -> MTS14400 SL1-78 L8/P11
+	 L11/P9 -> MTS14400 SL1-78 L9/P11
+	 L12/P9 -> MTS14400 SL1-79 L3/P12
+	 L1/P10 -> MTS14400 SL1-80 L4/P12
+	 L2/P10 -> MTS14400 SL1-81 L7/P11
+	 L3/P10 -> MTS14400 SL1-81 L8/P11
+	 L4/P10 -> MTS14400 SL1-82 L4/P12
+	 L5/P10 -> MTS14400 SL1-83 L1/P12
+	 L6/P10 -> MTS14400 SL1-83 L2/P12
+	 L7/P10 -> MTS14400 SL1-84 L10/P11
+	 L8/P10 -> MTS14400 SL1-85 L4/P12
+	 L9/P10 -> MTS14400 SL1-86 L9/P11
+	 L10/P10 -> MTS14400 SL1-86 L10/P11
+	 L11/P10 -> MTS14400 SL1-87 L2/P12
+	 L12/P10 -> MTS14400 SL1-88 L4/P12
+	 L1/P11 -> MTS14400 SL1-89 L7/P11
+	 L2/P11 -> MTS14400 SL1-89 L8/P11
+	 L3/P11 -> MTS14400 SL1-90 L4/P12
+	 L4/P11 -> MTS14400 SL1-91 L2/P12
+	 L5/P11 -> MTS14400 SL1-91 L3/P12
+	 L6/P11 -> MTS14400 SL1-92 L9/P11
+	 L7/P11 -> MTS14400 SL1-93 L4/P12
+	 L8/P11 -> MTS14400 SL1-94 L10/P11
+	 L9/P11 -> MTS14400 SL1-94 L11/P11
+	 L10/P11 -> MTS14400 SL1-95 L1/P12
+	 L11/P11 -> MTS14400 SL1-96 L4/P12
+	 L12/P11 -> MTS14400 SL1-97 L7/P11
+	 L1/P12 -> MTS14400 SL1-97 L8/P11
+	 L2/P12 -> MTS14400 SL1-98 L4/P12
+	 L3/P12 -> MTS14400 SL1-99 L3/P12
+	 L4/P12 -> MTS14400 SL1-99 L4/P12
+	 L5/P12 -> MTS14400 SL1-100 L8/P11
+	 L6/P12 -> MTS14400 SL1-101 L4/P12
+	 L7/P12 -> MTS14400 SL1-102 L11/P11
+	 L8/P12 -> MTS14400 SL1-102 L12/P11
+	 L9/P12 -> MTS14400 SL1-103 L12/P11
+	 L10/P12 -> MTS14400 SL1-104 L4/P12
+	 L11/P12 -> MTS14400 SL1-105 L7/P11
+	 L12/P12 -> MTS14400 SL1-105 L8/P11
+
+MTS14400 SL2-28
+	 L1/P1 -> MTS14400 SL1-1 L5/P12
+	 L2/P1 -> MTS14400 SL1-2 L5/P12
+	 L3/P1 -> MTS14400 SL1-3 L9/P11
+	 L4/P1 -> MTS14400 SL1-3 L10/P11
+	 L5/P1 -> MTS14400 SL1-4 L5/P12
+	 L6/P1 -> MTS14400 SL1-5 L2/P12
+	 L7/P1 -> MTS14400 SL1-5 L3/P12
+	 L8/P1 -> MTS14400 SL1-6 L12/P11
+	 L9/P1 -> MTS14400 SL1-7 L5/P12
+	 L10/P1 -> MTS14400 SL1-8 L10/P11
+	 L11/P1 -> MTS14400 SL1-8 L11/P11
+	 L12/P1 -> MTS14400 SL1-9 L4/P12
+	 L1/P2 -> MTS14400 SL1-10 L5/P12
+	 L2/P2 -> MTS14400 SL1-11 L9/P11
+	 L3/P2 -> MTS14400 SL1-11 L10/P11
+	 L4/P2 -> MTS14400 SL1-12 L5/P12
+	 L5/P2 -> MTS14400 SL1-13 L3/P12
+	 L6/P2 -> MTS14400 SL1-13 L4/P12
+	 L7/P2 -> MTS14400 SL1-14 L11/P11
+	 L8/P2 -> MTS14400 SL1-15 L5/P12
+	 L9/P2 -> MTS14400 SL1-16 L11/P11
+	 L10/P2 -> MTS14400 SL1-16 L12/P11
+	 L11/P2 -> MTS14400 SL1-17 L3/P12
+	 L12/P2 -> MTS14400 SL1-18 L5/P12
+	 L1/P3 -> MTS14400 SL1-19 L9/P11
+	 L2/P3 -> MTS14400 SL1-19 L10/P11
+	 L3/P3 -> MTS14400 SL1-20 L5/P12
+	 L4/P3 -> MTS14400 SL1-21 L4/P12
+	 L5/P3 -> MTS14400 SL1-21 L5/P12
+	 L6/P3 -> MTS14400 SL1-22 L10/P11
+	 L7/P3 -> MTS14400 SL1-23 L5/P12
+	 L8/P3 -> MTS14400 SL1-24 L12/P11
+	 L9/P3 -> MTS14400 SL1-24 L1/P12
+	 L10/P3 -> MTS14400 SL1-25 L2/P12
+	 L11/P3 -> MTS14400 SL1-26 L5/P12
+	 L12/P3 -> MTS14400 SL1-27 L9/P11
+	 L1/P4 -> MTS14400 SL1-27 L10/P11
+	 L2/P4 -> MTS14400 SL1-28 L5/P12
+	 L3/P4 -> MTS14400 SL1-29 L5/P12
+	 L4/P4 -> MTS14400 SL1-30 L9/P11
+	 L5/P4 -> MTS14400 SL1-30 L10/P11
+	 L6/P4 -> MTS14400 SL1-31 L5/P12
+	 L7/P4 -> MTS14400 SL1-32 L1/P12
+	 L8/P4 -> MTS14400 SL1-32 L2/P12
+	 L9/P4 -> MTS14400 SL1-33 L1/P12
+	 L10/P4 -> MTS14400 SL1-34 L5/P12
+	 L11/P4 -> MTS14400 SL1-35 L9/P11
+	 L12/P4 -> MTS14400 SL1-35 L10/P11
+	 L1/P5 -> MTS14400 SL1-36 L5/P12
+	 L2/P5 -> MTS14400 SL1-37 L5/P12
+	 L3/P5 -> MTS14400 SL1-38 L9/P11
+	 L4/P5 -> MTS14400 SL1-38 L10/P11
+	 L5/P5 -> MTS14400 SL1-39 L5/P12
+	 L6/P5 -> MTS14400 SL1-40 L2/P12
+	 L7/P5 -> MTS14400 SL1-40 L3/P12
+	 L8/P5 -> MTS14400 SL1-41 L12/P11
+	 L9/P5 -> MTS14400 SL1-42 L5/P12
+	 L10/P5 -> MTS14400 SL1-43 L10/P11
+	 L11/P5 -> MTS14400 SL1-43 L11/P11
+	 L12/P5 -> MTS14400 SL1-44 L4/P12
+	 L1/P6 -> MTS14400 SL1-45 L5/P12
+	 L2/P6 -> MTS14400 SL1-46 L9/P11
+	 L3/P6 -> MTS14400 SL1-46 L10/P11
+	 L4/P6 -> MTS14400 SL1-47 L5/P12
+	 L5/P6 -> MTS14400 SL1-48 L3/P12
+	 L6/P6 -> MTS14400 SL1-48 L4/P12
+	 L7/P6 -> MTS14400 SL1-49 L11/P11
+	 L8/P6 -> MTS14400 SL1-50 L5/P12
+	 L9/P6 -> MTS14400 SL1-51 L11/P11
+	 L10/P6 -> MTS14400 SL1-51 L12/P11
+	 L11/P6 -> MTS14400 SL1-52 L3/P12
+	 L12/P6 -> MTS14400 SL1-53 L5/P12
+	 L1/P7 -> MTS14400 SL1-54 L9/P11
+	 L2/P7 -> MTS14400 SL1-54 L10/P11
+	 L3/P7 -> MTS14400 SL1-55 L5/P12
+	 L4/P7 -> MTS14400 SL1-56 L4/P12
+	 L5/P7 -> MTS14400 SL1-56 L5/P12
+	 L6/P7 -> MTS14400 SL1-57 L10/P11
+	 L7/P7 -> MTS14400 SL1-58 L5/P12
+	 L8/P7 -> MTS14400 SL1-59 L12/P11
+	 L9/P7 -> MTS14400 SL1-59 L1/P12
+	 L10/P7 -> MTS14400 SL1-60 L2/P12
+	 L11/P7 -> MTS14400 SL1-61 L5/P12
+	 L12/P7 -> MTS14400 SL1-62 L9/P11
+	 L1/P8 -> MTS14400 SL1-62 L10/P11
+	 L2/P8 -> MTS14400 SL1-63 L5/P12
+	 L3/P8 -> MTS14400 SL1-64 L5/P12
+	 L4/P8 -> MTS14400 SL1-65 L9/P11
+	 L5/P8 -> MTS14400 SL1-65 L10/P11
+	 L6/P8 -> MTS14400 SL1-66 L5/P12
+	 L7/P8 -> MTS14400 SL1-67 L1/P12
+	 L8/P8 -> MTS14400 SL1-67 L2/P12
+	 L9/P8 -> MTS14400 SL1-68 L1/P12
+	 L10/P8 -> MTS14400 SL1-69 L5/P12
+	 L11/P8 -> MTS14400 SL1-70 L9/P11
+	 L12/P8 -> MTS14400 SL1-70 L10/P11
+	 L1/P9 -> MTS14400 SL1-71 L5/P12
+	 L2/P9 -> MTS14400 SL1-72 L5/P12
+	 L3/P9 -> MTS14400 SL1-73 L9/P11
+	 L4/P9 -> MTS14400 SL1-73 L10/P11
+	 L5/P9 -> MTS14400 SL1-74 L5/P12
+	 L6/P9 -> MTS14400 SL1-75 L2/P12
+	 L7/P9 -> MTS14400 SL1-75 L3/P12
+	 L8/P9 -> MTS14400 SL1-76 L12/P11
+	 L9/P9 -> MTS14400 SL1-77 L5/P12
+	 L10/P9 -> MTS14400 SL1-78 L10/P11
+	 L11/P9 -> MTS14400 SL1-78 L11/P11
+	 L12/P9 -> MTS14400 SL1-79 L4/P12
+	 L1/P10 -> MTS14400 SL1-80 L5/P12
+	 L2/P10 -> MTS14400 SL1-81 L9/P11
+	 L3/P10 -> MTS14400 SL1-81 L10/P11
+	 L4/P10 -> MTS14400 SL1-82 L5/P12
+	 L5/P10 -> MTS14400 SL1-83 L3/P12
+	 L6/P10 -> MTS14400 SL1-83 L4/P12
+	 L7/P10 -> MTS14400 SL1-84 L11/P11
+	 L8/P10 -> MTS14400 SL1-85 L5/P12
+	 L9/P10 -> MTS14400 SL1-86 L11/P11
+	 L10/P10 -> MTS14400 SL1-86 L12/P11
+	 L11/P10 -> MTS14400 SL1-87 L3/P12
+	 L12/P10 -> MTS14400 SL1-88 L5/P12
+	 L1/P11 -> MTS14400 SL1-89 L9/P11
+	 L2/P11 -> MTS14400 SL1-89 L10/P11
+	 L3/P11 -> MTS14400 SL1-90 L5/P12
+	 L4/P11 -> MTS14400 SL1-91 L4/P12
+	 L5/P11 -> MTS14400 SL1-91 L5/P12
+	 L6/P11 -> MTS14400 SL1-92 L10/P11
+	 L7/P11 -> MTS14400 SL1-93 L5/P12
+	 L8/P11 -> MTS14400 SL1-94 L12/P11
+	 L9/P11 -> MTS14400 SL1-94 L1/P12
+	 L10/P11 -> MTS14400 SL1-95 L2/P12
+	 L11/P11 -> MTS14400 SL1-96 L5/P12
+	 L12/P11 -> MTS14400 SL1-97 L9/P11
+	 L1/P12 -> MTS14400 SL1-97 L10/P11
+	 L2/P12 -> MTS14400 SL1-98 L5/P12
+	 L3/P12 -> MTS14400 SL1-99 L5/P12
+	 L4/P12 -> MTS14400 SL1-100 L9/P11
+	 L5/P12 -> MTS14400 SL1-100 L10/P11
+	 L6/P12 -> MTS14400 SL1-101 L5/P12
+	 L7/P12 -> MTS14400 SL1-102 L1/P12
+	 L8/P12 -> MTS14400 SL1-102 L2/P12
+	 L9/P12 -> MTS14400 SL1-103 L1/P12
+	 L10/P12 -> MTS14400 SL1-104 L5/P12
+	 L11/P12 -> MTS14400 SL1-105 L9/P11
+	 L12/P12 -> MTS14400 SL1-105 L10/P11
+
+MTS14400 SL2-29
+	 L1/P1 -> MTS14400 SL1-1 L6/P12
+	 L2/P1 -> MTS14400 SL1-2 L6/P12
+	 L3/P1 -> MTS14400 SL1-3 L11/P11
+	 L4/P1 -> MTS14400 SL1-3 L12/P11
+	 L5/P1 -> MTS14400 SL1-4 L6/P12
+	 L6/P1 -> MTS14400 SL1-5 L4/P12
+	 L7/P1 -> MTS14400 SL1-5 L5/P12
+	 L8/P1 -> MTS14400 SL1-6 L1/P12
+	 L9/P1 -> MTS14400 SL1-7 L6/P12
+	 L10/P1 -> MTS14400 SL1-8 L12/P11
+	 L11/P1 -> MTS14400 SL1-8 L1/P12
+	 L12/P1 -> MTS14400 SL1-9 L5/P12
+	 L1/P2 -> MTS14400 SL1-10 L6/P12
+	 L2/P2 -> MTS14400 SL1-11 L11/P11
+	 L3/P2 -> MTS14400 SL1-11 L12/P11
+	 L4/P2 -> MTS14400 SL1-12 L6/P12
+	 L5/P2 -> MTS14400 SL1-13 L5/P12
+	 L6/P2 -> MTS14400 SL1-13 L6/P12
+	 L7/P2 -> MTS14400 SL1-14 L12/P11
+	 L8/P2 -> MTS14400 SL1-15 L6/P12
+	 L9/P2 -> MTS14400 SL1-16 L1/P12
+	 L10/P2 -> MTS14400 SL1-16 L2/P12
+	 L11/P2 -> MTS14400 SL1-17 L4/P12
+	 L12/P2 -> MTS14400 SL1-18 L6/P12
+	 L1/P3 -> MTS14400 SL1-19 L11/P11
+	 L2/P3 -> MTS14400 SL1-19 L12/P11
+	 L3/P3 -> MTS14400 SL1-20 L6/P12
+	 L4/P3 -> MTS14400 SL1-21 L6/P12
+	 L5/P3 -> MTS14400 SL1-22 L11/P11
+	 L6/P3 -> MTS14400 SL1-22 L12/P11
+	 L7/P3 -> MTS14400 SL1-23 L6/P12
+	 L8/P3 -> MTS14400 SL1-24 L2/P12
+	 L9/P3 -> MTS14400 SL1-24 L3/P12
+	 L10/P3 -> MTS14400 SL1-25 L3/P12
+	 L11/P3 -> MTS14400 SL1-26 L6/P12
+	 L12/P3 -> MTS14400 SL1-27 L11/P11
+	 L1/P4 -> MTS14400 SL1-27 L12/P11
+	 L2/P4 -> MTS14400 SL1-28 L6/P12
+	 L3/P4 -> MTS14400 SL1-29 L6/P12
+	 L4/P4 -> MTS14400 SL1-30 L11/P11
+	 L5/P4 -> MTS14400 SL1-30 L12/P11
+	 L6/P4 -> MTS14400 SL1-31 L6/P12
+	 L7/P4 -> MTS14400 SL1-32 L3/P12
+	 L8/P4 -> MTS14400 SL1-32 L4/P12
+	 L9/P4 -> MTS14400 SL1-33 L2/P12
+	 L10/P4 -> MTS14400 SL1-34 L6/P12
+	 L11/P4 -> MTS14400 SL1-35 L11/P11
+	 L12/P4 -> MTS14400 SL1-35 L12/P11
+	 L1/P5 -> MTS14400 SL1-36 L6/P12
+	 L2/P5 -> MTS14400 SL1-37 L6/P12
+	 L3/P5 -> MTS14400 SL1-38 L11/P11
+	 L4/P5 -> MTS14400 SL1-38 L12/P11
+	 L5/P5 -> MTS14400 SL1-39 L6/P12
+	 L6/P5 -> MTS14400 SL1-40 L4/P12
+	 L7/P5 -> MTS14400 SL1-40 L5/P12
+	 L8/P5 -> MTS14400 SL1-41 L1/P12
+	 L9/P5 -> MTS14400 SL1-42 L6/P12
+	 L10/P5 -> MTS14400 SL1-43 L12/P11
+	 L11/P5 -> MTS14400 SL1-43 L1/P12
+	 L12/P5 -> MTS14400 SL1-44 L5/P12
+	 L1/P6 -> MTS14400 SL1-45 L6/P12
+	 L2/P6 -> MTS14400 SL1-46 L11/P11
+	 L3/P6 -> MTS14400 SL1-46 L12/P11
+	 L4/P6 -> MTS14400 SL1-47 L6/P12
+	 L5/P6 -> MTS14400 SL1-48 L5/P12
+	 L6/P6 -> MTS14400 SL1-48 L6/P12
+	 L7/P6 -> MTS14400 SL1-49 L12/P11
+	 L8/P6 -> MTS14400 SL1-50 L6/P12
+	 L9/P6 -> MTS14400 SL1-51 L1/P12
+	 L10/P6 -> MTS14400 SL1-51 L2/P12
+	 L11/P6 -> MTS14400 SL1-52 L4/P12
+	 L12/P6 -> MTS14400 SL1-53 L6/P12
+	 L1/P7 -> MTS14400 SL1-54 L11/P11
+	 L2/P7 -> MTS14400 SL1-54 L12/P11
+	 L3/P7 -> MTS14400 SL1-55 L6/P12
+	 L4/P7 -> MTS14400 SL1-56 L6/P12
+	 L5/P7 -> MTS14400 SL1-57 L11/P11
+	 L6/P7 -> MTS14400 SL1-57 L12/P11
+	 L7/P7 -> MTS14400 SL1-58 L6/P12
+	 L8/P7 -> MTS14400 SL1-59 L2/P12
+	 L9/P7 -> MTS14400 SL1-59 L3/P12
+	 L10/P7 -> MTS14400 SL1-60 L3/P12
+	 L11/P7 -> MTS14400 SL1-61 L6/P12
+	 L12/P7 -> MTS14400 SL1-62 L11/P11
+	 L1/P8 -> MTS14400 SL1-62 L12/P11
+	 L2/P8 -> MTS14400 SL1-63 L6/P12
+	 L3/P8 -> MTS14400 SL1-64 L6/P12
+	 L4/P8 -> MTS14400 SL1-65 L11/P11
+	 L5/P8 -> MTS14400 SL1-65 L12/P11
+	 L6/P8 -> MTS14400 SL1-66 L6/P12
+	 L7/P8 -> MTS14400 SL1-67 L3/P12
+	 L8/P8 -> MTS14400 SL1-67 L4/P12
+	 L9/P8 -> MTS14400 SL1-68 L2/P12
+	 L10/P8 -> MTS14400 SL1-69 L6/P12
+	 L11/P8 -> MTS14400 SL1-70 L11/P11
+	 L12/P8 -> MTS14400 SL1-70 L12/P11
+	 L1/P9 -> MTS14400 SL1-71 L6/P12
+	 L2/P9 -> MTS14400 SL1-72 L6/P12
+	 L3/P9 -> MTS14400 SL1-73 L11/P11
+	 L4/P9 -> MTS14400 SL1-73 L12/P11
+	 L5/P9 -> MTS14400 SL1-74 L6/P12
+	 L6/P9 -> MTS14400 SL1-75 L4/P12
+	 L7/P9 -> MTS14400 SL1-75 L5/P12
+	 L8/P9 -> MTS14400 SL1-76 L1/P12
+	 L9/P9 -> MTS14400 SL1-77 L6/P12
+	 L10/P9 -> MTS14400 SL1-78 L12/P11
+	 L11/P9 -> MTS14400 SL1-78 L1/P12
+	 L12/P9 -> MTS14400 SL1-79 L5/P12
+	 L1/P10 -> MTS14400 SL1-80 L6/P12
+	 L2/P10 -> MTS14400 SL1-81 L11/P11
+	 L3/P10 -> MTS14400 SL1-81 L12/P11
+	 L4/P10 -> MTS14400 SL1-82 L6/P12
+	 L5/P10 -> MTS14400 SL1-83 L5/P12
+	 L6/P10 -> MTS14400 SL1-83 L6/P12
+	 L7/P10 -> MTS14400 SL1-84 L12/P11
+	 L8/P10 -> MTS14400 SL1-85 L6/P12
+	 L9/P10 -> MTS14400 SL1-86 L1/P12
+	 L10/P10 -> MTS14400 SL1-86 L2/P12
+	 L11/P10 -> MTS14400 SL1-87 L4/P12
+	 L12/P10 -> MTS14400 SL1-88 L6/P12
+	 L1/P11 -> MTS14400 SL1-89 L11/P11
+	 L2/P11 -> MTS14400 SL1-89 L12/P11
+	 L3/P11 -> MTS14400 SL1-90 L6/P12
+	 L4/P11 -> MTS14400 SL1-91 L6/P12
+	 L5/P11 -> MTS14400 SL1-92 L11/P11
+	 L6/P11 -> MTS14400 SL1-92 L12/P11
+	 L7/P11 -> MTS14400 SL1-93 L6/P12
+	 L8/P11 -> MTS14400 SL1-94 L2/P12
+	 L9/P11 -> MTS14400 SL1-94 L3/P12
+	 L10/P11 -> MTS14400 SL1-95 L3/P12
+	 L11/P11 -> MTS14400 SL1-96 L6/P12
+	 L12/P11 -> MTS14400 SL1-97 L11/P11
+	 L1/P12 -> MTS14400 SL1-97 L12/P11
+	 L2/P12 -> MTS14400 SL1-98 L6/P12
+	 L3/P12 -> MTS14400 SL1-99 L6/P12
+	 L4/P12 -> MTS14400 SL1-100 L11/P11
+	 L5/P12 -> MTS14400 SL1-100 L12/P11
+	 L6/P12 -> MTS14400 SL1-101 L6/P12
+	 L7/P12 -> MTS14400 SL1-102 L3/P12
+	 L8/P12 -> MTS14400 SL1-102 L4/P12
+	 L9/P12 -> MTS14400 SL1-103 L2/P12
+	 L10/P12 -> MTS14400 SL1-104 L6/P12
+	 L11/P12 -> MTS14400 SL1-105 L11/P11
+	 L12/P12 -> MTS14400 SL1-105 L12/P11
+
+MTS14400 SL2-30
+	 L1/P1 -> MTS14400 SL1-1 L7/P12
+	 L2/P1 -> MTS14400 SL1-2 L7/P12
+	 L3/P1 -> MTS14400 SL1-3 L1/P12
+	 L4/P1 -> MTS14400 SL1-3 L2/P12
+	 L5/P1 -> MTS14400 SL1-4 L7/P12
+	 L6/P1 -> MTS14400 SL1-5 L6/P12
+	 L7/P1 -> MTS14400 SL1-5 L7/P12
+	 L8/P1 -> MTS14400 SL1-6 L2/P12
+	 L9/P1 -> MTS14400 SL1-7 L7/P12
+	 L10/P1 -> MTS14400 SL1-8 L2/P12
+	 L11/P1 -> MTS14400 SL1-8 L3/P12
+	 L12/P1 -> MTS14400 SL1-9 L6/P12
+	 L1/P2 -> MTS14400 SL1-10 L7/P12
+	 L2/P2 -> MTS14400 SL1-11 L1/P12
+	 L3/P2 -> MTS14400 SL1-11 L2/P12
+	 L4/P2 -> MTS14400 SL1-12 L7/P12
+	 L5/P2 -> MTS14400 SL1-13 L7/P12
+	 L6/P2 -> MTS14400 SL1-14 L1/P12
+	 L7/P2 -> MTS14400 SL1-14 L2/P12
+	 L8/P2 -> MTS14400 SL1-15 L7/P12
+	 L9/P2 -> MTS14400 SL1-16 L3/P12
+	 L10/P2 -> MTS14400 SL1-16 L4/P12
+	 L11/P2 -> MTS14400 SL1-17 L5/P12
+	 L12/P2 -> MTS14400 SL1-18 L7/P12
+	 L1/P3 -> MTS14400 SL1-19 L1/P12
+	 L2/P3 -> MTS14400 SL1-19 L2/P12
+	 L3/P3 -> MTS14400 SL1-20 L7/P12
+	 L4/P3 -> MTS14400 SL1-21 L7/P12
+	 L5/P3 -> MTS14400 SL1-22 L1/P12
+	 L6/P3 -> MTS14400 SL1-22 L2/P12
+	 L7/P3 -> MTS14400 SL1-23 L7/P12
+	 L8/P3 -> MTS14400 SL1-24 L4/P12
+	 L9/P3 -> MTS14400 SL1-24 L5/P12
+	 L10/P3 -> MTS14400 SL1-25 L4/P12
+	 L11/P3 -> MTS14400 SL1-26 L7/P12
+	 L12/P3 -> MTS14400 SL1-27 L1/P12
+	 L1/P4 -> MTS14400 SL1-27 L2/P12
+	 L2/P4 -> MTS14400 SL1-28 L7/P12
+	 L3/P4 -> MTS14400 SL1-29 L7/P12
+	 L4/P4 -> MTS14400 SL1-30 L1/P12
+	 L5/P4 -> MTS14400 SL1-30 L2/P12
+	 L6/P4 -> MTS14400 SL1-31 L7/P12
+	 L7/P4 -> MTS14400 SL1-32 L5/P12
+	 L8/P4 -> MTS14400 SL1-32 L6/P12
+	 L9/P4 -> MTS14400 SL1-33 L3/P12
+	 L10/P4 -> MTS14400 SL1-34 L7/P12
+	 L11/P4 -> MTS14400 SL1-35 L1/P12
+	 L12/P4 -> MTS14400 SL1-35 L2/P12
+	 L1/P5 -> MTS14400 SL1-36 L7/P12
+	 L2/P5 -> MTS14400 SL1-37 L7/P12
+	 L3/P5 -> MTS14400 SL1-38 L1/P12
+	 L4/P5 -> MTS14400 SL1-38 L2/P12
+	 L5/P5 -> MTS14400 SL1-39 L7/P12
+	 L6/P5 -> MTS14400 SL1-40 L6/P12
+	 L7/P5 -> MTS14400 SL1-40 L7/P12
+	 L8/P5 -> MTS14400 SL1-41 L2/P12
+	 L9/P5 -> MTS14400 SL1-42 L7/P12
+	 L10/P5 -> MTS14400 SL1-43 L2/P12
+	 L11/P5 -> MTS14400 SL1-43 L3/P12
+	 L12/P5 -> MTS14400 SL1-44 L6/P12
+	 L1/P6 -> MTS14400 SL1-45 L7/P12
+	 L2/P6 -> MTS14400 SL1-46 L1/P12
+	 L3/P6 -> MTS14400 SL1-46 L2/P12
+	 L4/P6 -> MTS14400 SL1-47 L7/P12
+	 L5/P6 -> MTS14400 SL1-48 L7/P12
+	 L6/P6 -> MTS14400 SL1-49 L1/P12
+	 L7/P6 -> MTS14400 SL1-49 L2/P12
+	 L8/P6 -> MTS14400 SL1-50 L7/P12
+	 L9/P6 -> MTS14400 SL1-51 L3/P12
+	 L10/P6 -> MTS14400 SL1-51 L4/P12
+	 L11/P6 -> MTS14400 SL1-52 L5/P12
+	 L12/P6 -> MTS14400 SL1-53 L7/P12
+	 L1/P7 -> MTS14400 SL1-54 L1/P12
+	 L2/P7 -> MTS14400 SL1-54 L2/P12
+	 L3/P7 -> MTS14400 SL1-55 L7/P12
+	 L4/P7 -> MTS14400 SL1-56 L7/P12
+	 L5/P7 -> MTS14400 SL1-57 L1/P12
+	 L6/P7 -> MTS14400 SL1-57 L2/P12
+	 L7/P7 -> MTS14400 SL1-58 L7/P12
+	 L8/P7 -> MTS14400 SL1-59 L4/P12
+	 L9/P7 -> MTS14400 SL1-59 L5/P12
+	 L10/P7 -> MTS14400 SL1-60 L4/P12
+	 L11/P7 -> MTS14400 SL1-61 L7/P12
+	 L12/P7 -> MTS14400 SL1-62 L1/P12
+	 L1/P8 -> MTS14400 SL1-62 L2/P12
+	 L2/P8 -> MTS14400 SL1-63 L7/P12
+	 L3/P8 -> MTS14400 SL1-64 L7/P12
+	 L4/P8 -> MTS14400 SL1-65 L1/P12
+	 L5/P8 -> MTS14400 SL1-65 L2/P12
+	 L6/P8 -> MTS14400 SL1-66 L7/P12
+	 L7/P8 -> MTS14400 SL1-67 L5/P12
+	 L8/P8 -> MTS14400 SL1-67 L6/P12
+	 L9/P8 -> MTS14400 SL1-68 L3/P12
+	 L10/P8 -> MTS14400 SL1-69 L7/P12
+	 L11/P8 -> MTS14400 SL1-70 L1/P12
+	 L12/P8 -> MTS14400 SL1-70 L2/P12
+	 L1/P9 -> MTS14400 SL1-71 L7/P12
+	 L2/P9 -> MTS14400 SL1-72 L7/P12
+	 L3/P9 -> MTS14400 SL1-73 L1/P12
+	 L4/P9 -> MTS14400 SL1-73 L2/P12
+	 L5/P9 -> MTS14400 SL1-74 L7/P12
+	 L6/P9 -> MTS14400 SL1-75 L6/P12
+	 L7/P9 -> MTS14400 SL1-75 L7/P12
+	 L8/P9 -> MTS14400 SL1-76 L2/P12
+	 L9/P9 -> MTS14400 SL1-77 L7/P12
+	 L10/P9 -> MTS14400 SL1-78 L2/P12
+	 L11/P9 -> MTS14400 SL1-78 L3/P12
+	 L12/P9 -> MTS14400 SL1-79 L6/P12
+	 L1/P10 -> MTS14400 SL1-80 L7/P12
+	 L2/P10 -> MTS14400 SL1-81 L1/P12
+	 L3/P10 -> MTS14400 SL1-81 L2/P12
+	 L4/P10 -> MTS14400 SL1-82 L7/P12
+	 L5/P10 -> MTS14400 SL1-83 L7/P12
+	 L6/P10 -> MTS14400 SL1-84 L1/P12
+	 L7/P10 -> MTS14400 SL1-84 L2/P12
+	 L8/P10 -> MTS14400 SL1-85 L7/P12
+	 L9/P10 -> MTS14400 SL1-86 L3/P12
+	 L10/P10 -> MTS14400 SL1-86 L4/P12
+	 L11/P10 -> MTS14400 SL1-87 L5/P12
+	 L12/P10 -> MTS14400 SL1-88 L7/P12
+	 L1/P11 -> MTS14400 SL1-89 L1/P12
+	 L2/P11 -> MTS14400 SL1-89 L2/P12
+	 L3/P11 -> MTS14400 SL1-90 L7/P12
+	 L4/P11 -> MTS14400 SL1-91 L7/P12
+	 L5/P11 -> MTS14400 SL1-92 L1/P12
+	 L6/P11 -> MTS14400 SL1-92 L2/P12
+	 L7/P11 -> MTS14400 SL1-93 L7/P12
+	 L8/P11 -> MTS14400 SL1-94 L4/P12
+	 L9/P11 -> MTS14400 SL1-94 L5/P12
+	 L10/P11 -> MTS14400 SL1-95 L4/P12
+	 L11/P11 -> MTS14400 SL1-96 L7/P12
+	 L12/P11 -> MTS14400 SL1-97 L1/P12
+	 L1/P12 -> MTS14400 SL1-97 L2/P12
+	 L2/P12 -> MTS14400 SL1-98 L7/P12
+	 L3/P12 -> MTS14400 SL1-99 L7/P12
+	 L4/P12 -> MTS14400 SL1-100 L1/P12
+	 L5/P12 -> MTS14400 SL1-100 L2/P12
+	 L6/P12 -> MTS14400 SL1-101 L7/P12
+	 L7/P12 -> MTS14400 SL1-102 L5/P12
+	 L8/P12 -> MTS14400 SL1-102 L6/P12
+	 L9/P12 -> MTS14400 SL1-103 L3/P12
+	 L10/P12 -> MTS14400 SL1-104 L7/P12
+	 L11/P12 -> MTS14400 SL1-105 L1/P12
+	 L12/P12 -> MTS14400 SL1-105 L2/P12
+
+MTS14400 SL2-31
+	 L1/P1 -> MTS14400 SL1-1 L8/P12
+	 L2/P1 -> MTS14400 SL1-2 L8/P12
+	 L3/P1 -> MTS14400 SL1-3 L3/P12
+	 L4/P1 -> MTS14400 SL1-3 L4/P12
+	 L5/P1 -> MTS14400 SL1-4 L8/P12
+	 L6/P1 -> MTS14400 SL1-5 L8/P12
+	 L7/P1 -> MTS14400 SL1-6 L3/P12
+	 L8/P1 -> MTS14400 SL1-6 L4/P12
+	 L9/P1 -> MTS14400 SL1-7 L8/P12
+	 L10/P1 -> MTS14400 SL1-8 L4/P12
+	 L11/P1 -> MTS14400 SL1-8 L5/P12
+	 L12/P1 -> MTS14400 SL1-9 L7/P12
+	 L1/P2 -> MTS14400 SL1-10 L8/P12
+	 L2/P2 -> MTS14400 SL1-11 L3/P12
+	 L3/P2 -> MTS14400 SL1-11 L4/P12
+	 L4/P2 -> MTS14400 SL1-12 L8/P12
+	 L5/P2 -> MTS14400 SL1-13 L8/P12
+	 L6/P2 -> MTS14400 SL1-14 L3/P12
+	 L7/P2 -> MTS14400 SL1-14 L4/P12
+	 L8/P2 -> MTS14400 SL1-15 L8/P12
+	 L9/P2 -> MTS14400 SL1-16 L5/P12
+	 L10/P2 -> MTS14400 SL1-16 L6/P12
+	 L11/P2 -> MTS14400 SL1-17 L6/P12
+	 L12/P2 -> MTS14400 SL1-18 L8/P12
+	 L1/P3 -> MTS14400 SL1-19 L3/P12
+	 L2/P3 -> MTS14400 SL1-19 L4/P12
+	 L3/P3 -> MTS14400 SL1-20 L8/P12
+	 L4/P3 -> MTS14400 SL1-21 L8/P12
+	 L5/P3 -> MTS14400 SL1-22 L3/P12
+	 L6/P3 -> MTS14400 SL1-22 L4/P12
+	 L7/P3 -> MTS14400 SL1-23 L8/P12
+	 L8/P3 -> MTS14400 SL1-24 L6/P12
+	 L9/P3 -> MTS14400 SL1-24 L7/P12
+	 L10/P3 -> MTS14400 SL1-25 L5/P12
+	 L11/P3 -> MTS14400 SL1-26 L8/P12
+	 L12/P3 -> MTS14400 SL1-27 L3/P12
+	 L1/P4 -> MTS14400 SL1-27 L4/P12
+	 L2/P4 -> MTS14400 SL1-28 L8/P12
+	 L3/P4 -> MTS14400 SL1-29 L8/P12
+	 L4/P4 -> MTS14400 SL1-30 L3/P12
+	 L5/P4 -> MTS14400 SL1-30 L4/P12
+	 L6/P4 -> MTS14400 SL1-31 L8/P12
+	 L7/P4 -> MTS14400 SL1-32 L7/P12
+	 L8/P4 -> MTS14400 SL1-32 L8/P12
+	 L9/P4 -> MTS14400 SL1-33 L4/P12
+	 L10/P4 -> MTS14400 SL1-34 L8/P12
+	 L11/P4 -> MTS14400 SL1-35 L3/P12
+	 L12/P4 -> MTS14400 SL1-35 L4/P12
+	 L1/P5 -> MTS14400 SL1-36 L8/P12
+	 L2/P5 -> MTS14400 SL1-37 L8/P12
+	 L3/P5 -> MTS14400 SL1-38 L3/P12
+	 L4/P5 -> MTS14400 SL1-38 L4/P12
+	 L5/P5 -> MTS14400 SL1-39 L8/P12
+	 L6/P5 -> MTS14400 SL1-40 L8/P12
+	 L7/P5 -> MTS14400 SL1-41 L3/P12
+	 L8/P5 -> MTS14400 SL1-41 L4/P12
+	 L9/P5 -> MTS14400 SL1-42 L8/P12
+	 L10/P5 -> MTS14400 SL1-43 L4/P12
+	 L11/P5 -> MTS14400 SL1-43 L5/P12
+	 L12/P5 -> MTS14400 SL1-44 L7/P12
+	 L1/P6 -> MTS14400 SL1-45 L8/P12
+	 L2/P6 -> MTS14400 SL1-46 L3/P12
+	 L3/P6 -> MTS14400 SL1-46 L4/P12
+	 L4/P6 -> MTS14400 SL1-47 L8/P12
+	 L5/P6 -> MTS14400 SL1-48 L8/P12
+	 L6/P6 -> MTS14400 SL1-49 L3/P12
+	 L7/P6 -> MTS14400 SL1-49 L4/P12
+	 L8/P6 -> MTS14400 SL1-50 L8/P12
+	 L9/P6 -> MTS14400 SL1-51 L5/P12
+	 L10/P6 -> MTS14400 SL1-51 L6/P12
+	 L11/P6 -> MTS14400 SL1-52 L6/P12
+	 L12/P6 -> MTS14400 SL1-53 L8/P12
+	 L1/P7 -> MTS14400 SL1-54 L3/P12
+	 L2/P7 -> MTS14400 SL1-54 L4/P12
+	 L3/P7 -> MTS14400 SL1-55 L8/P12
+	 L4/P7 -> MTS14400 SL1-56 L8/P12
+	 L5/P7 -> MTS14400 SL1-57 L3/P12
+	 L6/P7 -> MTS14400 SL1-57 L4/P12
+	 L7/P7 -> MTS14400 SL1-58 L8/P12
+	 L8/P7 -> MTS14400 SL1-59 L6/P12
+	 L9/P7 -> MTS14400 SL1-59 L7/P12
+	 L10/P7 -> MTS14400 SL1-60 L5/P12
+	 L11/P7 -> MTS14400 SL1-61 L8/P12
+	 L12/P7 -> MTS14400 SL1-62 L3/P12
+	 L1/P8 -> MTS14400 SL1-62 L4/P12
+	 L2/P8 -> MTS14400 SL1-63 L8/P12
+	 L3/P8 -> MTS14400 SL1-64 L8/P12
+	 L4/P8 -> MTS14400 SL1-65 L3/P12
+	 L5/P8 -> MTS14400 SL1-65 L4/P12
+	 L6/P8 -> MTS14400 SL1-66 L8/P12
+	 L7/P8 -> MTS14400 SL1-67 L7/P12
+	 L8/P8 -> MTS14400 SL1-67 L8/P12
+	 L9/P8 -> MTS14400 SL1-68 L4/P12
+	 L10/P8 -> MTS14400 SL1-69 L8/P12
+	 L11/P8 -> MTS14400 SL1-70 L3/P12
+	 L12/P8 -> MTS14400 SL1-70 L4/P12
+	 L1/P9 -> MTS14400 SL1-71 L8/P12
+	 L2/P9 -> MTS14400 SL1-72 L8/P12
+	 L3/P9 -> MTS14400 SL1-73 L3/P12
+	 L4/P9 -> MTS14400 SL1-73 L4/P12
+	 L5/P9 -> MTS14400 SL1-74 L8/P12
+	 L6/P9 -> MTS14400 SL1-75 L8/P12
+	 L7/P9 -> MTS14400 SL1-76 L3/P12
+	 L8/P9 -> MTS14400 SL1-76 L4/P12
+	 L9/P9 -> MTS14400 SL1-77 L8/P12
+	 L10/P9 -> MTS14400 SL1-78 L4/P12
+	 L11/P9 -> MTS14400 SL1-78 L5/P12
+	 L12/P9 -> MTS14400 SL1-79 L7/P12
+	 L1/P10 -> MTS14400 SL1-80 L8/P12
+	 L2/P10 -> MTS14400 SL1-81 L3/P12
+	 L3/P10 -> MTS14400 SL1-81 L4/P12
+	 L4/P10 -> MTS14400 SL1-82 L8/P12
+	 L5/P10 -> MTS14400 SL1-83 L8/P12
+	 L6/P10 -> MTS14400 SL1-84 L3/P12
+	 L7/P10 -> MTS14400 SL1-84 L4/P12
+	 L8/P10 -> MTS14400 SL1-85 L8/P12
+	 L9/P10 -> MTS14400 SL1-86 L5/P12
+	 L10/P10 -> MTS14400 SL1-86 L6/P12
+	 L11/P10 -> MTS14400 SL1-87 L6/P12
+	 L12/P10 -> MTS14400 SL1-88 L8/P12
+	 L1/P11 -> MTS14400 SL1-89 L3/P12
+	 L2/P11 -> MTS14400 SL1-89 L4/P12
+	 L3/P11 -> MTS14400 SL1-90 L8/P12
+	 L4/P11 -> MTS14400 SL1-91 L8/P12
+	 L5/P11 -> MTS14400 SL1-92 L3/P12
+	 L6/P11 -> MTS14400 SL1-92 L4/P12
+	 L7/P11 -> MTS14400 SL1-93 L8/P12
+	 L8/P11 -> MTS14400 SL1-94 L6/P12
+	 L9/P11 -> MTS14400 SL1-94 L7/P12
+	 L10/P11 -> MTS14400 SL1-95 L5/P12
+	 L11/P11 -> MTS14400 SL1-96 L8/P12
+	 L12/P11 -> MTS14400 SL1-97 L3/P12
+	 L1/P12 -> MTS14400 SL1-97 L4/P12
+	 L2/P12 -> MTS14400 SL1-98 L8/P12
+	 L3/P12 -> MTS14400 SL1-99 L8/P12
+	 L4/P12 -> MTS14400 SL1-100 L3/P12
+	 L5/P12 -> MTS14400 SL1-100 L4/P12
+	 L6/P12 -> MTS14400 SL1-101 L8/P12
+	 L7/P12 -> MTS14400 SL1-102 L7/P12
+	 L8/P12 -> MTS14400 SL1-102 L8/P12
+	 L9/P12 -> MTS14400 SL1-103 L4/P12
+	 L10/P12 -> MTS14400 SL1-104 L8/P12
+	 L11/P12 -> MTS14400 SL1-105 L3/P12
+	 L12/P12 -> MTS14400 SL1-105 L4/P12
+
+MTS14400 SL2-32
+	 L1/P1 -> MTS14400 SL1-1 L9/P12
+	 L2/P1 -> MTS14400 SL1-2 L9/P12
+	 L3/P1 -> MTS14400 SL1-3 L5/P12
+	 L4/P1 -> MTS14400 SL1-3 L6/P12
+	 L5/P1 -> MTS14400 SL1-4 L9/P12
+	 L6/P1 -> MTS14400 SL1-5 L9/P12
+	 L7/P1 -> MTS14400 SL1-6 L5/P12
+	 L8/P1 -> MTS14400 SL1-6 L6/P12
+	 L9/P1 -> MTS14400 SL1-7 L9/P12
+	 L10/P1 -> MTS14400 SL1-8 L6/P12
+	 L11/P1 -> MTS14400 SL1-8 L7/P12
+	 L12/P1 -> MTS14400 SL1-9 L8/P12
+	 L1/P2 -> MTS14400 SL1-10 L9/P12
+	 L2/P2 -> MTS14400 SL1-11 L5/P12
+	 L3/P2 -> MTS14400 SL1-11 L6/P12
+	 L4/P2 -> MTS14400 SL1-12 L9/P12
+	 L5/P2 -> MTS14400 SL1-13 L9/P12
+	 L6/P2 -> MTS14400 SL1-14 L5/P12
+	 L7/P2 -> MTS14400 SL1-14 L6/P12
+	 L8/P2 -> MTS14400 SL1-15 L9/P12
+	 L9/P2 -> MTS14400 SL1-16 L7/P12
+	 L10/P2 -> MTS14400 SL1-16 L8/P12
+	 L11/P2 -> MTS14400 SL1-17 L7/P12
+	 L12/P2 -> MTS14400 SL1-18 L9/P12
+	 L1/P3 -> MTS14400 SL1-19 L5/P12
+	 L2/P3 -> MTS14400 SL1-19 L6/P12
+	 L3/P3 -> MTS14400 SL1-20 L9/P12
+	 L4/P3 -> MTS14400 SL1-21 L9/P12
+	 L5/P3 -> MTS14400 SL1-22 L5/P12
+	 L6/P3 -> MTS14400 SL1-22 L6/P12
+	 L7/P3 -> MTS14400 SL1-23 L9/P12
+	 L8/P3 -> MTS14400 SL1-24 L8/P12
+	 L9/P3 -> MTS14400 SL1-24 L9/P12
+	 L10/P3 -> MTS14400 SL1-25 L6/P12
+	 L11/P3 -> MTS14400 SL1-26 L9/P12
+	 L12/P3 -> MTS14400 SL1-27 L5/P12
+	 L1/P4 -> MTS14400 SL1-27 L6/P12
+	 L2/P4 -> MTS14400 SL1-28 L9/P12
+	 L3/P4 -> MTS14400 SL1-29 L9/P12
+	 L4/P4 -> MTS14400 SL1-30 L5/P12
+	 L5/P4 -> MTS14400 SL1-30 L6/P12
+	 L6/P4 -> MTS14400 SL1-31 L9/P12
+	 L7/P4 -> MTS14400 SL1-32 L9/P12
+	 L8/P4 -> MTS14400 SL1-33 L5/P12
+	 L9/P4 -> MTS14400 SL1-33 L6/P12
+	 L10/P4 -> MTS14400 SL1-34 L9/P12
+	 L11/P4 -> MTS14400 SL1-35 L5/P12
+	 L12/P4 -> MTS14400 SL1-35 L6/P12
+	 L1/P5 -> MTS14400 SL1-36 L9/P12
+	 L2/P5 -> MTS14400 SL1-37 L9/P12
+	 L3/P5 -> MTS14400 SL1-38 L5/P12
+	 L4/P5 -> MTS14400 SL1-38 L6/P12
+	 L5/P5 -> MTS14400 SL1-39 L9/P12
+	 L6/P5 -> MTS14400 SL1-40 L9/P12
+	 L7/P5 -> MTS14400 SL1-41 L5/P12
+	 L8/P5 -> MTS14400 SL1-41 L6/P12
+	 L9/P5 -> MTS14400 SL1-42 L9/P12
+	 L10/P5 -> MTS14400 SL1-43 L6/P12
+	 L11/P5 -> MTS14400 SL1-43 L7/P12
+	 L12/P5 -> MTS14400 SL1-44 L8/P12
+	 L1/P6 -> MTS14400 SL1-45 L9/P12
+	 L2/P6 -> MTS14400 SL1-46 L5/P12
+	 L3/P6 -> MTS14400 SL1-46 L6/P12
+	 L4/P6 -> MTS14400 SL1-47 L9/P12
+	 L5/P6 -> MTS14400 SL1-48 L9/P12
+	 L6/P6 -> MTS14400 SL1-49 L5/P12
+	 L7/P6 -> MTS14400 SL1-49 L6/P12
+	 L8/P6 -> MTS14400 SL1-50 L9/P12
+	 L9/P6 -> MTS14400 SL1-51 L7/P12
+	 L10/P6 -> MTS14400 SL1-51 L8/P12
+	 L11/P6 -> MTS14400 SL1-52 L7/P12
+	 L12/P6 -> MTS14400 SL1-53 L9/P12
+	 L1/P7 -> MTS14400 SL1-54 L5/P12
+	 L2/P7 -> MTS14400 SL1-54 L6/P12
+	 L3/P7 -> MTS14400 SL1-55 L9/P12
+	 L4/P7 -> MTS14400 SL1-56 L9/P12
+	 L5/P7 -> MTS14400 SL1-57 L5/P12
+	 L6/P7 -> MTS14400 SL1-57 L6/P12
+	 L7/P7 -> MTS14400 SL1-58 L9/P12
+	 L8/P7 -> MTS14400 SL1-59 L8/P12
+	 L9/P7 -> MTS14400 SL1-59 L9/P12
+	 L10/P7 -> MTS14400 SL1-60 L6/P12
+	 L11/P7 -> MTS14400 SL1-61 L9/P12
+	 L12/P7 -> MTS14400 SL1-62 L5/P12
+	 L1/P8 -> MTS14400 SL1-62 L6/P12
+	 L2/P8 -> MTS14400 SL1-63 L9/P12
+	 L3/P8 -> MTS14400 SL1-64 L9/P12
+	 L4/P8 -> MTS14400 SL1-65 L5/P12
+	 L5/P8 -> MTS14400 SL1-65 L6/P12
+	 L6/P8 -> MTS14400 SL1-66 L9/P12
+	 L7/P8 -> MTS14400 SL1-67 L9/P12
+	 L8/P8 -> MTS14400 SL1-68 L5/P12
+	 L9/P8 -> MTS14400 SL1-68 L6/P12
+	 L10/P8 -> MTS14400 SL1-69 L9/P12
+	 L11/P8 -> MTS14400 SL1-70 L5/P12
+	 L12/P8 -> MTS14400 SL1-70 L6/P12
+	 L1/P9 -> MTS14400 SL1-71 L9/P12
+	 L2/P9 -> MTS14400 SL1-72 L9/P12
+	 L3/P9 -> MTS14400 SL1-73 L5/P12
+	 L4/P9 -> MTS14400 SL1-73 L6/P12
+	 L5/P9 -> MTS14400 SL1-74 L9/P12
+	 L6/P9 -> MTS14400 SL1-75 L9/P12
+	 L7/P9 -> MTS14400 SL1-76 L5/P12
+	 L8/P9 -> MTS14400 SL1-76 L6/P12
+	 L9/P9 -> MTS14400 SL1-77 L9/P12
+	 L10/P9 -> MTS14400 SL1-78 L6/P12
+	 L11/P9 -> MTS14400 SL1-78 L7/P12
+	 L12/P9 -> MTS14400 SL1-79 L8/P12
+	 L1/P10 -> MTS14400 SL1-80 L9/P12
+	 L2/P10 -> MTS14400 SL1-81 L5/P12
+	 L3/P10 -> MTS14400 SL1-81 L6/P12
+	 L4/P10 -> MTS14400 SL1-82 L9/P12
+	 L5/P10 -> MTS14400 SL1-83 L9/P12
+	 L6/P10 -> MTS14400 SL1-84 L5/P12
+	 L7/P10 -> MTS14400 SL1-84 L6/P12
+	 L8/P10 -> MTS14400 SL1-85 L9/P12
+	 L9/P10 -> MTS14400 SL1-86 L7/P12
+	 L10/P10 -> MTS14400 SL1-86 L8/P12
+	 L11/P10 -> MTS14400 SL1-87 L7/P12
+	 L12/P10 -> MTS14400 SL1-88 L9/P12
+	 L1/P11 -> MTS14400 SL1-89 L5/P12
+	 L2/P11 -> MTS14400 SL1-89 L6/P12
+	 L3/P11 -> MTS14400 SL1-90 L9/P12
+	 L4/P11 -> MTS14400 SL1-91 L9/P12
+	 L5/P11 -> MTS14400 SL1-92 L5/P12
+	 L6/P11 -> MTS14400 SL1-92 L6/P12
+	 L7/P11 -> MTS14400 SL1-93 L9/P12
+	 L8/P11 -> MTS14400 SL1-94 L8/P12
+	 L9/P11 -> MTS14400 SL1-94 L9/P12
+	 L10/P11 -> MTS14400 SL1-95 L6/P12
+	 L11/P11 -> MTS14400 SL1-96 L9/P12
+	 L12/P11 -> MTS14400 SL1-97 L5/P12
+	 L1/P12 -> MTS14400 SL1-97 L6/P12
+	 L2/P12 -> MTS14400 SL1-98 L9/P12
+	 L3/P12 -> MTS14400 SL1-99 L9/P12
+	 L4/P12 -> MTS14400 SL1-100 L5/P12
+	 L5/P12 -> MTS14400 SL1-100 L6/P12
+	 L6/P12 -> MTS14400 SL1-101 L9/P12
+	 L7/P12 -> MTS14400 SL1-102 L9/P12
+	 L8/P12 -> MTS14400 SL1-103 L5/P12
+	 L9/P12 -> MTS14400 SL1-103 L6/P12
+	 L10/P12 -> MTS14400 SL1-104 L9/P12
+	 L11/P12 -> MTS14400 SL1-105 L5/P12
+	 L12/P12 -> MTS14400 SL1-105 L6/P12
+
+MTS14400 SL2-33
+	 L1/P1 -> MTS14400 SL1-1 L10/P12
+	 L2/P1 -> MTS14400 SL1-2 L10/P12
+	 L3/P1 -> MTS14400 SL1-3 L7/P12
+	 L4/P1 -> MTS14400 SL1-3 L8/P12
+	 L5/P1 -> MTS14400 SL1-4 L10/P12
+	 L6/P1 -> MTS14400 SL1-5 L10/P12
+	 L7/P1 -> MTS14400 SL1-6 L7/P12
+	 L8/P1 -> MTS14400 SL1-6 L8/P12
+	 L9/P1 -> MTS14400 SL1-7 L10/P12
+	 L10/P1 -> MTS14400 SL1-8 L8/P12
+	 L11/P1 -> MTS14400 SL1-8 L9/P12
+	 L12/P1 -> MTS14400 SL1-9 L9/P12
+	 L1/P2 -> MTS14400 SL1-10 L10/P12
+	 L2/P2 -> MTS14400 SL1-11 L7/P12
+	 L3/P2 -> MTS14400 SL1-11 L8/P12
+	 L4/P2 -> MTS14400 SL1-12 L10/P12
+	 L5/P2 -> MTS14400 SL1-13 L10/P12
+	 L6/P2 -> MTS14400 SL1-14 L7/P12
+	 L7/P2 -> MTS14400 SL1-14 L8/P12
+	 L8/P2 -> MTS14400 SL1-15 L10/P12
+	 L9/P2 -> MTS14400 SL1-16 L9/P12
+	 L10/P2 -> MTS14400 SL1-16 L10/P12
+	 L11/P2 -> MTS14400 SL1-17 L8/P12
+	 L12/P2 -> MTS14400 SL1-18 L10/P12
+	 L1/P3 -> MTS14400 SL1-19 L7/P12
+	 L2/P3 -> MTS14400 SL1-19 L8/P12
+	 L3/P3 -> MTS14400 SL1-20 L10/P12
+	 L4/P3 -> MTS14400 SL1-21 L10/P12
+	 L5/P3 -> MTS14400 SL1-22 L7/P12
+	 L6/P3 -> MTS14400 SL1-22 L8/P12
+	 L7/P3 -> MTS14400 SL1-23 L10/P12
+	 L8/P3 -> MTS14400 SL1-24 L10/P12
+	 L9/P3 -> MTS14400 SL1-25 L7/P12
+	 L10/P3 -> MTS14400 SL1-25 L8/P12
+	 L11/P3 -> MTS14400 SL1-26 L10/P12
+	 L12/P3 -> MTS14400 SL1-27 L7/P12
+	 L1/P4 -> MTS14400 SL1-27 L8/P12
+	 L2/P4 -> MTS14400 SL1-28 L10/P12
+	 L3/P4 -> MTS14400 SL1-29 L10/P12
+	 L4/P4 -> MTS14400 SL1-30 L7/P12
+	 L5/P4 -> MTS14400 SL1-30 L8/P12
+	 L6/P4 -> MTS14400 SL1-31 L10/P12
+	 L7/P4 -> MTS14400 SL1-32 L10/P12
+	 L8/P4 -> MTS14400 SL1-33 L7/P12
+	 L9/P4 -> MTS14400 SL1-33 L8/P12
+	 L10/P4 -> MTS14400 SL1-34 L10/P12
+	 L11/P4 -> MTS14400 SL1-35 L7/P12
+	 L12/P4 -> MTS14400 SL1-35 L8/P12
+	 L1/P5 -> MTS14400 SL1-36 L10/P12
+	 L2/P5 -> MTS14400 SL1-37 L10/P12
+	 L3/P5 -> MTS14400 SL1-38 L7/P12
+	 L4/P5 -> MTS14400 SL1-38 L8/P12
+	 L5/P5 -> MTS14400 SL1-39 L10/P12
+	 L6/P5 -> MTS14400 SL1-40 L10/P12
+	 L7/P5 -> MTS14400 SL1-41 L7/P12
+	 L8/P5 -> MTS14400 SL1-41 L8/P12
+	 L9/P5 -> MTS14400 SL1-42 L10/P12
+	 L10/P5 -> MTS14400 SL1-43 L8/P12
+	 L11/P5 -> MTS14400 SL1-43 L9/P12
+	 L12/P5 -> MTS14400 SL1-44 L9/P12
+	 L1/P6 -> MTS14400 SL1-45 L10/P12
+	 L2/P6 -> MTS14400 SL1-46 L7/P12
+	 L3/P6 -> MTS14400 SL1-46 L8/P12
+	 L4/P6 -> MTS14400 SL1-47 L10/P12
+	 L5/P6 -> MTS14400 SL1-48 L10/P12
+	 L6/P6 -> MTS14400 SL1-49 L7/P12
+	 L7/P6 -> MTS14400 SL1-49 L8/P12
+	 L8/P6 -> MTS14400 SL1-50 L10/P12
+	 L9/P6 -> MTS14400 SL1-51 L9/P12
+	 L10/P6 -> MTS14400 SL1-51 L10/P12
+	 L11/P6 -> MTS14400 SL1-52 L8/P12
+	 L12/P6 -> MTS14400 SL1-53 L10/P12
+	 L1/P7 -> MTS14400 SL1-54 L7/P12
+	 L2/P7 -> MTS14400 SL1-54 L8/P12
+	 L3/P7 -> MTS14400 SL1-55 L10/P12
+	 L4/P7 -> MTS14400 SL1-56 L10/P12
+	 L5/P7 -> MTS14400 SL1-57 L7/P12
+	 L6/P7 -> MTS14400 SL1-57 L8/P12
+	 L7/P7 -> MTS14400 SL1-58 L10/P12
+	 L8/P7 -> MTS14400 SL1-59 L10/P12
+	 L9/P7 -> MTS14400 SL1-60 L7/P12
+	 L10/P7 -> MTS14400 SL1-60 L8/P12
+	 L11/P7 -> MTS14400 SL1-61 L10/P12
+	 L12/P7 -> MTS14400 SL1-62 L7/P12
+	 L1/P8 -> MTS14400 SL1-62 L8/P12
+	 L2/P8 -> MTS14400 SL1-63 L10/P12
+	 L3/P8 -> MTS14400 SL1-64 L10/P12
+	 L4/P8 -> MTS14400 SL1-65 L7/P12
+	 L5/P8 -> MTS14400 SL1-65 L8/P12
+	 L6/P8 -> MTS14400 SL1-66 L10/P12
+	 L7/P8 -> MTS14400 SL1-67 L10/P12
+	 L8/P8 -> MTS14400 SL1-68 L7/P12
+	 L9/P8 -> MTS14400 SL1-68 L8/P12
+	 L10/P8 -> MTS14400 SL1-69 L10/P12
+	 L11/P8 -> MTS14400 SL1-70 L7/P12
+	 L12/P8 -> MTS14400 SL1-70 L8/P12
+	 L1/P9 -> MTS14400 SL1-71 L10/P12
+	 L2/P9 -> MTS14400 SL1-72 L10/P12
+	 L3/P9 -> MTS14400 SL1-73 L7/P12
+	 L4/P9 -> MTS14400 SL1-73 L8/P12
+	 L5/P9 -> MTS14400 SL1-74 L10/P12
+	 L6/P9 -> MTS14400 SL1-75 L10/P12
+	 L7/P9 -> MTS14400 SL1-76 L7/P12
+	 L8/P9 -> MTS14400 SL1-76 L8/P12
+	 L9/P9 -> MTS14400 SL1-77 L10/P12
+	 L10/P9 -> MTS14400 SL1-78 L8/P12
+	 L11/P9 -> MTS14400 SL1-78 L9/P12
+	 L12/P9 -> MTS14400 SL1-79 L9/P12
+	 L1/P10 -> MTS14400 SL1-80 L10/P12
+	 L2/P10 -> MTS14400 SL1-81 L7/P12
+	 L3/P10 -> MTS14400 SL1-81 L8/P12
+	 L4/P10 -> MTS14400 SL1-82 L10/P12
+	 L5/P10 -> MTS14400 SL1-83 L10/P12
+	 L6/P10 -> MTS14400 SL1-84 L7/P12
+	 L7/P10 -> MTS14400 SL1-84 L8/P12
+	 L8/P10 -> MTS14400 SL1-85 L10/P12
+	 L9/P10 -> MTS14400 SL1-86 L9/P12
+	 L10/P10 -> MTS14400 SL1-86 L10/P12
+	 L11/P10 -> MTS14400 SL1-87 L8/P12
+	 L12/P10 -> MTS14400 SL1-88 L10/P12
+	 L1/P11 -> MTS14400 SL1-89 L7/P12
+	 L2/P11 -> MTS14400 SL1-89 L8/P12
+	 L3/P11 -> MTS14400 SL1-90 L10/P12
+	 L4/P11 -> MTS14400 SL1-91 L10/P12
+	 L5/P11 -> MTS14400 SL1-92 L7/P12
+	 L6/P11 -> MTS14400 SL1-92 L8/P12
+	 L7/P11 -> MTS14400 SL1-93 L10/P12
+	 L8/P11 -> MTS14400 SL1-94 L10/P12
+	 L9/P11 -> MTS14400 SL1-95 L7/P12
+	 L10/P11 -> MTS14400 SL1-95 L8/P12
+	 L11/P11 -> MTS14400 SL1-96 L10/P12
+	 L12/P11 -> MTS14400 SL1-97 L7/P12
+	 L1/P12 -> MTS14400 SL1-97 L8/P12
+	 L2/P12 -> MTS14400 SL1-98 L10/P12
+	 L3/P12 -> MTS14400 SL1-99 L10/P12
+	 L4/P12 -> MTS14400 SL1-100 L7/P12
+	 L5/P12 -> MTS14400 SL1-100 L8/P12
+	 L6/P12 -> MTS14400 SL1-101 L10/P12
+	 L7/P12 -> MTS14400 SL1-102 L10/P12
+	 L8/P12 -> MTS14400 SL1-103 L7/P12
+	 L9/P12 -> MTS14400 SL1-103 L8/P12
+	 L10/P12 -> MTS14400 SL1-104 L10/P12
+	 L11/P12 -> MTS14400 SL1-105 L7/P12
+	 L12/P12 -> MTS14400 SL1-105 L8/P12
+
+MTS14400 SL2-34
+	 L1/P1 -> MTS14400 SL1-1 L11/P12
+	 L2/P1 -> MTS14400 SL1-2 L11/P12
+	 L3/P1 -> MTS14400 SL1-3 L9/P12
+	 L4/P1 -> MTS14400 SL1-3 L10/P12
+	 L5/P1 -> MTS14400 SL1-4 L11/P12
+	 L6/P1 -> MTS14400 SL1-5 L11/P12
+	 L7/P1 -> MTS14400 SL1-6 L9/P12
+	 L8/P1 -> MTS14400 SL1-6 L10/P12
+	 L9/P1 -> MTS14400 SL1-7 L11/P12
+	 L10/P1 -> MTS14400 SL1-8 L10/P12
+	 L11/P1 -> MTS14400 SL1-8 L11/P12
+	 L12/P1 -> MTS14400 SL1-9 L10/P12
+	 L1/P2 -> MTS14400 SL1-10 L11/P12
+	 L2/P2 -> MTS14400 SL1-11 L9/P12
+	 L3/P2 -> MTS14400 SL1-11 L10/P12
+	 L4/P2 -> MTS14400 SL1-12 L11/P12
+	 L5/P2 -> MTS14400 SL1-13 L11/P12
+	 L6/P2 -> MTS14400 SL1-14 L9/P12
+	 L7/P2 -> MTS14400 SL1-14 L10/P12
+	 L8/P2 -> MTS14400 SL1-15 L11/P12
+	 L9/P2 -> MTS14400 SL1-16 L11/P12
+	 L10/P2 -> MTS14400 SL1-17 L9/P12
+	 L11/P2 -> MTS14400 SL1-17 L10/P12
+	 L12/P2 -> MTS14400 SL1-18 L11/P12
+	 L1/P3 -> MTS14400 SL1-19 L9/P12
+	 L2/P3 -> MTS14400 SL1-19 L10/P12
+	 L3/P3 -> MTS14400 SL1-20 L11/P12
+	 L4/P3 -> MTS14400 SL1-21 L11/P12
+	 L5/P3 -> MTS14400 SL1-22 L9/P12
+	 L6/P3 -> MTS14400 SL1-22 L10/P12
+	 L7/P3 -> MTS14400 SL1-23 L11/P12
+	 L8/P3 -> MTS14400 SL1-24 L11/P12
+	 L9/P3 -> MTS14400 SL1-25 L9/P12
+	 L10/P3 -> MTS14400 SL1-25 L10/P12
+	 L11/P3 -> MTS14400 SL1-26 L11/P12
+	 L12/P3 -> MTS14400 SL1-27 L9/P12
+	 L1/P4 -> MTS14400 SL1-27 L10/P12
+	 L2/P4 -> MTS14400 SL1-28 L11/P12
+	 L3/P4 -> MTS14400 SL1-29 L11/P12
+	 L4/P4 -> MTS14400 SL1-30 L9/P12
+	 L5/P4 -> MTS14400 SL1-30 L10/P12
+	 L6/P4 -> MTS14400 SL1-31 L11/P12
+	 L7/P4 -> MTS14400 SL1-32 L11/P12
+	 L8/P4 -> MTS14400 SL1-33 L9/P12
+	 L9/P4 -> MTS14400 SL1-33 L10/P12
+	 L10/P4 -> MTS14400 SL1-34 L11/P12
+	 L11/P4 -> MTS14400 SL1-35 L9/P12
+	 L12/P4 -> MTS14400 SL1-35 L10/P12
+	 L1/P5 -> MTS14400 SL1-36 L11/P12
+	 L2/P5 -> MTS14400 SL1-37 L11/P12
+	 L3/P5 -> MTS14400 SL1-38 L9/P12
+	 L4/P5 -> MTS14400 SL1-38 L10/P12
+	 L5/P5 -> MTS14400 SL1-39 L11/P12
+	 L6/P5 -> MTS14400 SL1-40 L11/P12
+	 L7/P5 -> MTS14400 SL1-41 L9/P12
+	 L8/P5 -> MTS14400 SL1-41 L10/P12
+	 L9/P5 -> MTS14400 SL1-42 L11/P12
+	 L10/P5 -> MTS14400 SL1-43 L10/P12
+	 L11/P5 -> MTS14400 SL1-43 L11/P12
+	 L12/P5 -> MTS14400 SL1-44 L10/P12
+	 L1/P6 -> MTS14400 SL1-45 L11/P12
+	 L2/P6 -> MTS14400 SL1-46 L9/P12
+	 L3/P6 -> MTS14400 SL1-46 L10/P12
+	 L4/P6 -> MTS14400 SL1-47 L11/P12
+	 L5/P6 -> MTS14400 SL1-48 L11/P12
+	 L6/P6 -> MTS14400 SL1-49 L9/P12
+	 L7/P6 -> MTS14400 SL1-49 L10/P12
+	 L8/P6 -> MTS14400 SL1-50 L11/P12
+	 L9/P6 -> MTS14400 SL1-51 L11/P12
+	 L10/P6 -> MTS14400 SL1-52 L9/P12
+	 L11/P6 -> MTS14400 SL1-52 L10/P12
+	 L12/P6 -> MTS14400 SL1-53 L11/P12
+	 L1/P7 -> MTS14400 SL1-54 L9/P12
+	 L2/P7 -> MTS14400 SL1-54 L10/P12
+	 L3/P7 -> MTS14400 SL1-55 L11/P12
+	 L4/P7 -> MTS14400 SL1-56 L11/P12
+	 L5/P7 -> MTS14400 SL1-57 L9/P12
+	 L6/P7 -> MTS14400 SL1-57 L10/P12
+	 L7/P7 -> MTS14400 SL1-58 L11/P12
+	 L8/P7 -> MTS14400 SL1-59 L11/P12
+	 L9/P7 -> MTS14400 SL1-60 L9/P12
+	 L10/P7 -> MTS14400 SL1-60 L10/P12
+	 L11/P7 -> MTS14400 SL1-61 L11/P12
+	 L12/P7 -> MTS14400 SL1-62 L9/P12
+	 L1/P8 -> MTS14400 SL1-62 L10/P12
+	 L2/P8 -> MTS14400 SL1-63 L11/P12
+	 L3/P8 -> MTS14400 SL1-64 L11/P12
+	 L4/P8 -> MTS14400 SL1-65 L9/P12
+	 L5/P8 -> MTS14400 SL1-65 L10/P12
+	 L6/P8 -> MTS14400 SL1-66 L11/P12
+	 L7/P8 -> MTS14400 SL1-67 L11/P12
+	 L8/P8 -> MTS14400 SL1-68 L9/P12
+	 L9/P8 -> MTS14400 SL1-68 L10/P12
+	 L10/P8 -> MTS14400 SL1-69 L11/P12
+	 L11/P8 -> MTS14400 SL1-70 L9/P12
+	 L12/P8 -> MTS14400 SL1-70 L10/P12
+	 L1/P9 -> MTS14400 SL1-71 L11/P12
+	 L2/P9 -> MTS14400 SL1-72 L11/P12
+	 L3/P9 -> MTS14400 SL1-73 L9/P12
+	 L4/P9 -> MTS14400 SL1-73 L10/P12
+	 L5/P9 -> MTS14400 SL1-74 L11/P12
+	 L6/P9 -> MTS14400 SL1-75 L11/P12
+	 L7/P9 -> MTS14400 SL1-76 L9/P12
+	 L8/P9 -> MTS14400 SL1-76 L10/P12
+	 L9/P9 -> MTS14400 SL1-77 L11/P12
+	 L10/P9 -> MTS14400 SL1-78 L10/P12
+	 L11/P9 -> MTS14400 SL1-78 L11/P12
+	 L12/P9 -> MTS14400 SL1-79 L10/P12
+	 L1/P10 -> MTS14400 SL1-80 L11/P12
+	 L2/P10 -> MTS14400 SL1-81 L9/P12
+	 L3/P10 -> MTS14400 SL1-81 L10/P12
+	 L4/P10 -> MTS14400 SL1-82 L11/P12
+	 L5/P10 -> MTS14400 SL1-83 L11/P12
+	 L6/P10 -> MTS14400 SL1-84 L9/P12
+	 L7/P10 -> MTS14400 SL1-84 L10/P12
+	 L8/P10 -> MTS14400 SL1-85 L11/P12
+	 L9/P10 -> MTS14400 SL1-86 L11/P12
+	 L10/P10 -> MTS14400 SL1-87 L9/P12
+	 L11/P10 -> MTS14400 SL1-87 L10/P12
+	 L12/P10 -> MTS14400 SL1-88 L11/P12
+	 L1/P11 -> MTS14400 SL1-89 L9/P12
+	 L2/P11 -> MTS14400 SL1-89 L10/P12
+	 L3/P11 -> MTS14400 SL1-90 L11/P12
+	 L4/P11 -> MTS14400 SL1-91 L11/P12
+	 L5/P11 -> MTS14400 SL1-92 L9/P12
+	 L6/P11 -> MTS14400 SL1-92 L10/P12
+	 L7/P11 -> MTS14400 SL1-93 L11/P12
+	 L8/P11 -> MTS14400 SL1-94 L11/P12
+	 L9/P11 -> MTS14400 SL1-95 L9/P12
+	 L10/P11 -> MTS14400 SL1-95 L10/P12
+	 L11/P11 -> MTS14400 SL1-96 L11/P12
+	 L12/P11 -> MTS14400 SL1-97 L9/P12
+	 L1/P12 -> MTS14400 SL1-97 L10/P12
+	 L2/P12 -> MTS14400 SL1-98 L11/P12
+	 L3/P12 -> MTS14400 SL1-99 L11/P12
+	 L4/P12 -> MTS14400 SL1-100 L9/P12
+	 L5/P12 -> MTS14400 SL1-100 L10/P12
+	 L6/P12 -> MTS14400 SL1-101 L11/P12
+	 L7/P12 -> MTS14400 SL1-102 L11/P12
+	 L8/P12 -> MTS14400 SL1-103 L9/P12
+	 L9/P12 -> MTS14400 SL1-103 L10/P12
+	 L10/P12 -> MTS14400 SL1-104 L11/P12
+	 L11/P12 -> MTS14400 SL1-105 L9/P12
+	 L12/P12 -> MTS14400 SL1-105 L10/P12
+
+MTS14400 SL2-35
+	 L1/P1 -> MTS14400 SL1-1 L12/P12
+	 L2/P1 -> MTS14400 SL1-2 L12/P12
+	 L3/P1 -> MTS14400 SL1-3 L11/P12
+	 L4/P1 -> MTS14400 SL1-3 L12/P12
+	 L5/P1 -> MTS14400 SL1-4 L12/P12
+	 L6/P1 -> MTS14400 SL1-5 L12/P12
+	 L7/P1 -> MTS14400 SL1-6 L11/P12
+	 L8/P1 -> MTS14400 SL1-6 L12/P12
+	 L9/P1 -> MTS14400 SL1-7 L12/P12
+	 L10/P1 -> MTS14400 SL1-8 L12/P12
+	 L11/P1 -> MTS14400 SL1-9 L11/P12
+	 L12/P1 -> MTS14400 SL1-9 L12/P12
+	 L1/P2 -> MTS14400 SL1-10 L12/P12
+	 L2/P2 -> MTS14400 SL1-11 L11/P12
+	 L3/P2 -> MTS14400 SL1-11 L12/P12
+	 L4/P2 -> MTS14400 SL1-12 L12/P12
+	 L5/P2 -> MTS14400 SL1-13 L12/P12
+	 L6/P2 -> MTS14400 SL1-14 L11/P12
+	 L7/P2 -> MTS14400 SL1-14 L12/P12
+	 L8/P2 -> MTS14400 SL1-15 L12/P12
+	 L9/P2 -> MTS14400 SL1-16 L12/P12
+	 L10/P2 -> MTS14400 SL1-17 L11/P12
+	 L11/P2 -> MTS14400 SL1-17 L12/P12
+	 L12/P2 -> MTS14400 SL1-18 L12/P12
+	 L1/P3 -> MTS14400 SL1-19 L11/P12
+	 L2/P3 -> MTS14400 SL1-19 L12/P12
+	 L3/P3 -> MTS14400 SL1-20 L12/P12
+	 L4/P3 -> MTS14400 SL1-21 L12/P12
+	 L5/P3 -> MTS14400 SL1-22 L11/P12
+	 L6/P3 -> MTS14400 SL1-22 L12/P12
+	 L7/P3 -> MTS14400 SL1-23 L12/P12
+	 L8/P3 -> MTS14400 SL1-24 L12/P12
+	 L9/P3 -> MTS14400 SL1-25 L11/P12
+	 L10/P3 -> MTS14400 SL1-25 L12/P12
+	 L11/P3 -> MTS14400 SL1-26 L12/P12
+	 L12/P3 -> MTS14400 SL1-27 L11/P12
+	 L1/P4 -> MTS14400 SL1-27 L12/P12
+	 L2/P4 -> MTS14400 SL1-28 L12/P12
+	 L3/P4 -> MTS14400 SL1-29 L12/P12
+	 L4/P4 -> MTS14400 SL1-30 L11/P12
+	 L5/P4 -> MTS14400 SL1-30 L12/P12
+	 L6/P4 -> MTS14400 SL1-31 L12/P12
+	 L7/P4 -> MTS14400 SL1-32 L12/P12
+	 L8/P4 -> MTS14400 SL1-33 L11/P12
+	 L9/P4 -> MTS14400 SL1-33 L12/P12
+	 L10/P4 -> MTS14400 SL1-34 L12/P12
+	 L11/P4 -> MTS14400 SL1-35 L11/P12
+	 L12/P4 -> MTS14400 SL1-35 L12/P12
+	 L1/P5 -> MTS14400 SL1-36 L12/P12
+	 L2/P5 -> MTS14400 SL1-37 L12/P12
+	 L3/P5 -> MTS14400 SL1-38 L11/P12
+	 L4/P5 -> MTS14400 SL1-38 L12/P12
+	 L5/P5 -> MTS14400 SL1-39 L12/P12
+	 L6/P5 -> MTS14400 SL1-40 L12/P12
+	 L7/P5 -> MTS14400 SL1-41 L11/P12
+	 L8/P5 -> MTS14400 SL1-41 L12/P12
+	 L9/P5 -> MTS14400 SL1-42 L12/P12
+	 L10/P5 -> MTS14400 SL1-43 L12/P12
+	 L11/P5 -> MTS14400 SL1-44 L11/P12
+	 L12/P5 -> MTS14400 SL1-44 L12/P12
+	 L1/P6 -> MTS14400 SL1-45 L12/P12
+	 L2/P6 -> MTS14400 SL1-46 L11/P12
+	 L3/P6 -> MTS14400 SL1-46 L12/P12
+	 L4/P6 -> MTS14400 SL1-47 L12/P12
+	 L5/P6 -> MTS14400 SL1-48 L12/P12
+	 L6/P6 -> MTS14400 SL1-49 L11/P12
+	 L7/P6 -> MTS14400 SL1-49 L12/P12
+	 L8/P6 -> MTS14400 SL1-50 L12/P12
+	 L9/P6 -> MTS14400 SL1-51 L12/P12
+	 L10/P6 -> MTS14400 SL1-52 L11/P12
+	 L11/P6 -> MTS14400 SL1-52 L12/P12
+	 L12/P6 -> MTS14400 SL1-53 L12/P12
+	 L1/P7 -> MTS14400 SL1-54 L11/P12
+	 L2/P7 -> MTS14400 SL1-54 L12/P12
+	 L3/P7 -> MTS14400 SL1-55 L12/P12
+	 L4/P7 -> MTS14400 SL1-56 L12/P12
+	 L5/P7 -> MTS14400 SL1-57 L11/P12
+	 L6/P7 -> MTS14400 SL1-57 L12/P12
+	 L7/P7 -> MTS14400 SL1-58 L12/P12
+	 L8/P7 -> MTS14400 SL1-59 L12/P12
+	 L9/P7 -> MTS14400 SL1-60 L11/P12
+	 L10/P7 -> MTS14400 SL1-60 L12/P12
+	 L11/P7 -> MTS14400 SL1-61 L12/P12
+	 L12/P7 -> MTS14400 SL1-62 L11/P12
+	 L1/P8 -> MTS14400 SL1-62 L12/P12
+	 L2/P8 -> MTS14400 SL1-63 L12/P12
+	 L3/P8 -> MTS14400 SL1-64 L12/P12
+	 L4/P8 -> MTS14400 SL1-65 L11/P12
+	 L5/P8 -> MTS14400 SL1-65 L12/P12
+	 L6/P8 -> MTS14400 SL1-66 L12/P12
+	 L7/P8 -> MTS14400 SL1-67 L12/P12
+	 L8/P8 -> MTS14400 SL1-68 L11/P12
+	 L9/P8 -> MTS14400 SL1-68 L12/P12
+	 L10/P8 -> MTS14400 SL1-69 L12/P12
+	 L11/P8 -> MTS14400 SL1-70 L11/P12
+	 L12/P8 -> MTS14400 SL1-70 L12/P12
+	 L1/P9 -> MTS14400 SL1-71 L12/P12
+	 L2/P9 -> MTS14400 SL1-72 L12/P12
+	 L3/P9 -> MTS14400 SL1-73 L11/P12
+	 L4/P9 -> MTS14400 SL1-73 L12/P12
+	 L5/P9 -> MTS14400 SL1-74 L12/P12
+	 L6/P9 -> MTS14400 SL1-75 L12/P12
+	 L7/P9 -> MTS14400 SL1-76 L11/P12
+	 L8/P9 -> MTS14400 SL1-76 L12/P12
+	 L9/P9 -> MTS14400 SL1-77 L12/P12
+	 L10/P9 -> MTS14400 SL1-78 L12/P12
+	 L11/P9 -> MTS14400 SL1-79 L11/P12
+	 L12/P9 -> MTS14400 SL1-79 L12/P12
+	 L1/P10 -> MTS14400 SL1-80 L12/P12
+	 L2/P10 -> MTS14400 SL1-81 L11/P12
+	 L3/P10 -> MTS14400 SL1-81 L12/P12
+	 L4/P10 -> MTS14400 SL1-82 L12/P12
+	 L5/P10 -> MTS14400 SL1-83 L12/P12
+	 L6/P10 -> MTS14400 SL1-84 L11/P12
+	 L7/P10 -> MTS14400 SL1-84 L12/P12
+	 L8/P10 -> MTS14400 SL1-85 L12/P12
+	 L9/P10 -> MTS14400 SL1-86 L12/P12
+	 L10/P10 -> MTS14400 SL1-87 L11/P12
+	 L11/P10 -> MTS14400 SL1-87 L12/P12
+	 L12/P10 -> MTS14400 SL1-88 L12/P12
+	 L1/P11 -> MTS14400 SL1-89 L11/P12
+	 L2/P11 -> MTS14400 SL1-89 L12/P12
+	 L3/P11 -> MTS14400 SL1-90 L12/P12
+	 L4/P11 -> MTS14400 SL1-91 L12/P12
+	 L5/P11 -> MTS14400 SL1-92 L11/P12
+	 L6/P11 -> MTS14400 SL1-92 L12/P12
+	 L7/P11 -> MTS14400 SL1-93 L12/P12
+	 L8/P11 -> MTS14400 SL1-94 L12/P12
+	 L9/P11 -> MTS14400 SL1-95 L11/P12
+	 L10/P11 -> MTS14400 SL1-95 L12/P12
+	 L11/P11 -> MTS14400 SL1-96 L12/P12
+	 L12/P11 -> MTS14400 SL1-97 L11/P12
+	 L1/P12 -> MTS14400 SL1-97 L12/P12
+	 L2/P12 -> MTS14400 SL1-98 L12/P12
+	 L3/P12 -> MTS14400 SL1-99 L12/P12
+	 L4/P12 -> MTS14400 SL1-100 L11/P12
+	 L5/P12 -> MTS14400 SL1-100 L12/P12
+	 L6/P12 -> MTS14400 SL1-101 L12/P12
+	 L7/P12 -> MTS14400 SL1-102 L12/P12
+	 L8/P12 -> MTS14400 SL1-103 L11/P12
+	 L9/P12 -> MTS14400 SL1-103 L12/P12
+	 L10/P12 -> MTS14400 SL1-104 L12/P12
+	 L11/P12 -> MTS14400 SL1-105 L11/P12
+	 L12/P12 -> MTS14400 SL1-105 L12/P12
diff --git a/ibmgtsim/tests/RhinoBased512Nodes.topo b/ibmgtsim/tests/RhinoBased512Nodes.topo
new file mode 100644
index 0000000..32b3605
--- /dev/null
+++ b/ibmgtsim/tests/RhinoBased512Nodes.topo
@@ -0,0 +1,1574 @@
+#---------------------------------------------------------------------
+#                     Mellanox Technologies LTD
+#                  Fat Tree Topology File Generator
+# ibtopogen: IBADM 0.0.5 , BUILD Developement(BLD_VER not defined) , CVS 1.18
+#
+# Fat Tree Specification:
+# Bandwidth Ratio ........ 1
+# Number of Hosts ........ 512
+# Number of Levels ....... 2
+# Number of Ports/Level .. 144 144
+#
+# Rack Config File ....... UNDEFINED
+#
+#---------------------------------------------------------------------
+
+MTS14400 SL1-1
+	 L1/P1 -8X-5G-> MT23108 H-1 P1
+	 L2/P1 -12X-> MT23108 H-2 P1
+	 L3/P1 -4X-> MT23108 H-3 P1
+	 L4/P1 -4X-> MT23108 H-4 P1
+	 L5/P1 -4X-> MT23108 H-5 P1
+	 L6/P1 -4X-> MT23108 H-6 P1
+	 L7/P1 -4X-> MT23108 H-7 P1
+	 L8/P1 -4X-> MT23108 H-8 P1
+	 L9/P1 -4X-> MT23108 H-9 P1
+	 L10/P1 -4X-> MT23108 H-10 P1
+	 L11/P1 -4X-> MT23108 H-11 P1
+	 L12/P1 -4X-> MT23108 H-12 P1
+	 L1/P2 -4X-> MT23108 H-13 P1
+	 L2/P2 -4X-> MT23108 H-14 P1
+	 L3/P2 -4X-> MT23108 H-15 P1
+	 L4/P2 -4X-> MT23108 H-16 P1
+	 L5/P2 -4X-> MT23108 H-17 P1
+	 L6/P2 -4X-> MT23108 H-18 P1
+	 L7/P2 -4X-> MT23108 H-19 P1
+	 L8/P2 -4X-> MT23108 H-20 P1
+	 L9/P2 -4X-> MT23108 H-21 P1
+	 L10/P2 -4X-> MT23108 H-22 P1
+	 L11/P2 -4X-> MT23108 H-23 P1
+	 L12/P2 -4X-> MT23108 H-24 P1
+	 L1/P3 -4X-> MT23108 H-25 P1
+	 L2/P3 -4X-> MT23108 H-26 P1
+	 L3/P3 -4X-> MT23108 H-27 P1
+	 L4/P3 -4X-> MT23108 H-28 P1
+	 L5/P3 -4X-> MT23108 H-29 P1
+	 L6/P3 -4X-> MT23108 H-30 P1
+	 L7/P3 -4X-> MT23108 H-31 P1
+	 L8/P3 -4X-> MT23108 H-32 P1
+	 L9/P3 -4X-> MT23108 H-33 P1
+	 L10/P3 -4X-> MT23108 H-34 P1
+	 L11/P3 -4X-> MT23108 H-35 P1
+	 L12/P3 -4X-> MT23108 H-36 P1
+	 L1/P4 -4X-> MT23108 H-37 P1
+	 L2/P4 -4X-> MT23108 H-38 P1
+	 L3/P4 -4X-> MT23108 H-39 P1
+	 L4/P4 -4X-> MT23108 H-40 P1
+	 L5/P4 -4X-> MT23108 H-41 P1
+	 L6/P4 -4X-> MT23108 H-42 P1
+	 L7/P4 -4X-> MT23108 H-43 P1
+	 L8/P4 -4X-> MT23108 H-44 P1
+	 L9/P4 -4X-> MT23108 H-45 P1
+	 L10/P4 -4X-> MT23108 H-46 P1
+	 L11/P4 -4X-> MT23108 H-47 P1
+	 L12/P4 -4X-> MT23108 H-48 P1
+	 L1/P5 -4X-> MT23108 H-49 P1
+	 L2/P5 -4X-> MT23108 H-50 P1
+	 L3/P5 -4X-> MT23108 H-51 P1
+	 L4/P5 -4X-> MT23108 H-52 P1
+	 L5/P5 -4X-> MT23108 H-53 P1
+	 L6/P5 -4X-> MT23108 H-54 P1
+	 L7/P5 -4X-> MT23108 H-55 P1
+	 L8/P5 -4X-> MT23108 H-56 P1
+	 L9/P5 -4X-> MT23108 H-57 P1
+	 L10/P5 -4X-> MT23108 H-58 P1
+	 L11/P5 -4X-> MT23108 H-59 P1
+	 L12/P5 -4X-> MT23108 H-60 P1
+	 L1/P6 -4X-> MT23108 H-61 P1
+	 L2/P6 -4X-> MT23108 H-62 P1
+	 L3/P6 -4X-> MT23108 H-63 P1
+	 L4/P6 -4X-> MT23108 H-64 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P1
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P1
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P1
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P1
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P1
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P1
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P1
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P1
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P1
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P1
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P1
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P1
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P2
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P2
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P2
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P2
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P1
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P1
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P1
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P1
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P1
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P1
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P1
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P1
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P1
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P1
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P1
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P1
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P2
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P2
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P2
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P2
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P1
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P1
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P1
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P1
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P1
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P1
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P1
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P1
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P1
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P1
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P1
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P1
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P2
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P2
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P2
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P2
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P1
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P1
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P1
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P1
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P1
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P1
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P1
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P1
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P1
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P1
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P1
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P1
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P2
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P2
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P2
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P2
+
+MTS14400 SL1-2
+	 L1/P1 -4X-> MT23108 H-65 P1
+	 L2/P1 -4X-> MT23108 H-66 P1
+	 L3/P1 -4X-> MT23108 H-67 P1
+	 L4/P1 -4X-> MT23108 H-68 P1
+	 L5/P1 -4X-> MT23108 H-69 P1
+	 L6/P1 -4X-> MT23108 H-70 P1
+	 L7/P1 -4X-> MT23108 H-71 P1
+	 L8/P1 -4X-> MT23108 H-72 P1
+	 L9/P1 -4X-> MT23108 H-73 P1
+	 L10/P1 -4X-> MT23108 H-74 P1
+	 L11/P1 -4X-> MT23108 H-75 P1
+	 L12/P1 -4X-> MT23108 H-76 P1
+	 L1/P2 -4X-> MT23108 H-77 P1
+	 L2/P2 -4X-> MT23108 H-78 P1
+	 L3/P2 -4X-> MT23108 H-79 P1
+	 L4/P2 -4X-> MT23108 H-80 P1
+	 L5/P2 -4X-> MT23108 H-81 P1
+	 L6/P2 -4X-> MT23108 H-82 P1
+	 L7/P2 -4X-> MT23108 H-83 P1
+	 L8/P2 -4X-> MT23108 H-84 P1
+	 L9/P2 -4X-> MT23108 H-85 P1
+	 L10/P2 -4X-> MT23108 H-86 P1
+	 L11/P2 -4X-> MT23108 H-87 P1
+	 L12/P2 -4X-> MT23108 H-88 P1
+	 L1/P3 -4X-> MT23108 H-89 P1
+	 L2/P3 -4X-> MT23108 H-90 P1
+	 L3/P3 -4X-> MT23108 H-91 P1
+	 L4/P3 -4X-> MT23108 H-92 P1
+	 L5/P3 -4X-> MT23108 H-93 P1
+	 L6/P3 -4X-> MT23108 H-94 P1
+	 L7/P3 -4X-> MT23108 H-95 P1
+	 L8/P3 -4X-> MT23108 H-96 P1
+	 L9/P3 -4X-> MT23108 H-97 P1
+	 L10/P3 -4X-> MT23108 H-98 P1
+	 L11/P3 -4X-> MT23108 H-99 P1
+	 L12/P3 -4X-> MT23108 H-100 P1
+	 L1/P4 -4X-> MT23108 H-101 P1
+	 L2/P4 -4X-> MT23108 H-102 P1
+	 L3/P4 -4X-> MT23108 H-103 P1
+	 L4/P4 -4X-> MT23108 H-104 P1
+	 L5/P4 -4X-> MT23108 H-105 P1
+	 L6/P4 -4X-> MT23108 H-106 P1
+	 L7/P4 -4X-> MT23108 H-107 P1
+	 L8/P4 -4X-> MT23108 H-108 P1
+	 L9/P4 -4X-> MT23108 H-109 P1
+	 L10/P4 -4X-> MT23108 H-110 P1
+	 L11/P4 -4X-> MT23108 H-111 P1
+	 L12/P4 -4X-> MT23108 H-112 P1
+	 L1/P5 -4X-> MT23108 H-113 P1
+	 L2/P5 -4X-> MT23108 H-114 P1
+	 L3/P5 -4X-> MT23108 H-115 P1
+	 L4/P5 -4X-> MT23108 H-116 P1
+	 L5/P5 -4X-> MT23108 H-117 P1
+	 L6/P5 -4X-> MT23108 H-118 P1
+	 L7/P5 -4X-> MT23108 H-119 P1
+	 L8/P5 -4X-> MT23108 H-120 P1
+	 L9/P5 -4X-> MT23108 H-121 P1
+	 L10/P5 -4X-> MT23108 H-122 P1
+	 L11/P5 -4X-> MT23108 H-123 P1
+	 L12/P5 -4X-> MT23108 H-124 P1
+	 L1/P6 -4X-> MT23108 H-125 P1
+	 L2/P6 -4X-> MT23108 H-126 P1
+	 L3/P6 -4X-> MT23108 H-127 P1
+	 L4/P6 -4X-> MT23108 H-128 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P2
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P2
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P2
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P2
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P2
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P2
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P2
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P2
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P3
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P3
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P3
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P3
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P3
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P3
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P3
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P3
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P2
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P2
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P2
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P2
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P2
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P2
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P2
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P2
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P3
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P3
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P3
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P3
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P3
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P3
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P3
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P3
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P2
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P2
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P2
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P2
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P2
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P2
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P2
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P2
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P3
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P3
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P3
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P3
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P3
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P3
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P3
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P3
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P2
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P2
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P2
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P2
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P2
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P2
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P2
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P2
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P3
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P3
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P3
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P3
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P3
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P3
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P3
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P3
+
+MTS14400 SL1-3
+	 L1/P1 -4X-> MT23108 H-129 P1
+	 L2/P1 -4X-> MT23108 H-130 P1
+	 L3/P1 -4X-> MT23108 H-131 P1
+	 L4/P1 -4X-> MT23108 H-132 P1
+	 L5/P1 -4X-> MT23108 H-133 P1
+	 L6/P1 -4X-> MT23108 H-134 P1
+	 L7/P1 -4X-> MT23108 H-135 P1
+	 L8/P1 -4X-> MT23108 H-136 P1
+	 L9/P1 -4X-> MT23108 H-137 P1
+	 L10/P1 -4X-> MT23108 H-138 P1
+	 L11/P1 -4X-> MT23108 H-139 P1
+	 L12/P1 -4X-> MT23108 H-140 P1
+	 L1/P2 -4X-> MT23108 H-141 P1
+	 L2/P2 -4X-> MT23108 H-142 P1
+	 L3/P2 -4X-> MT23108 H-143 P1
+	 L4/P2 -4X-> MT23108 H-144 P1
+	 L5/P2 -4X-> MT23108 H-145 P1
+	 L6/P2 -4X-> MT23108 H-146 P1
+	 L7/P2 -4X-> MT23108 H-147 P1
+	 L8/P2 -4X-> MT23108 H-148 P1
+	 L9/P2 -4X-> MT23108 H-149 P1
+	 L10/P2 -4X-> MT23108 H-150 P1
+	 L11/P2 -4X-> MT23108 H-151 P1
+	 L12/P2 -4X-> MT23108 H-152 P1
+	 L1/P3 -4X-> MT23108 H-153 P1
+	 L2/P3 -4X-> MT23108 H-154 P1
+	 L3/P3 -4X-> MT23108 H-155 P1
+	 L4/P3 -4X-> MT23108 H-156 P1
+	 L5/P3 -4X-> MT23108 H-157 P1
+	 L6/P3 -4X-> MT23108 H-158 P1
+	 L7/P3 -4X-> MT23108 H-159 P1
+	 L8/P3 -4X-> MT23108 H-160 P1
+	 L9/P3 -4X-> MT23108 H-161 P1
+	 L10/P3 -4X-> MT23108 H-162 P1
+	 L11/P3 -4X-> MT23108 H-163 P1
+	 L12/P3 -4X-> MT23108 H-164 P1
+	 L1/P4 -4X-> MT23108 H-165 P1
+	 L2/P4 -4X-> MT23108 H-166 P1
+	 L3/P4 -4X-> MT23108 H-167 P1
+	 L4/P4 -4X-> MT23108 H-168 P1
+	 L5/P4 -4X-> MT23108 H-169 P1
+	 L6/P4 -4X-> MT23108 H-170 P1
+	 L7/P4 -4X-> MT23108 H-171 P1
+	 L8/P4 -4X-> MT23108 H-172 P1
+	 L9/P4 -4X-> MT23108 H-173 P1
+	 L10/P4 -4X-> MT23108 H-174 P1
+	 L11/P4 -4X-> MT23108 H-175 P1
+	 L12/P4 -4X-> MT23108 H-176 P1
+	 L1/P5 -4X-> MT23108 H-177 P1
+	 L2/P5 -4X-> MT23108 H-178 P1
+	 L3/P5 -4X-> MT23108 H-179 P1
+	 L4/P5 -4X-> MT23108 H-180 P1
+	 L5/P5 -4X-> MT23108 H-181 P1
+	 L6/P5 -4X-> MT23108 H-182 P1
+	 L7/P5 -4X-> MT23108 H-183 P1
+	 L8/P5 -4X-> MT23108 H-184 P1
+	 L9/P5 -4X-> MT23108 H-185 P1
+	 L10/P5 -4X-> MT23108 H-186 P1
+	 L11/P5 -4X-> MT23108 H-187 P1
+	 L12/P5 -4X-> MT23108 H-188 P1
+	 L1/P6 -4X-> MT23108 H-189 P1
+	 L2/P6 -4X-> MT23108 H-190 P1
+	 L3/P6 -4X-> MT23108 H-191 P1
+	 L4/P6 -4X-> MT23108 H-192 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L9/P3
+	 L6/P6 -4X-> MTS14400 SL2-1 L10/P3
+	 L7/P6 -4X-> MTS14400 SL2-1 L11/P3
+	 L8/P6 -4X-> MTS14400 SL2-1 L12/P3
+	 L9/P6 -4X-> MTS14400 SL2-1 L1/P4
+	 L10/P6 -4X-> MTS14400 SL2-1 L2/P4
+	 L11/P6 -4X-> MTS14400 SL2-1 L3/P4
+	 L12/P6 -4X-> MTS14400 SL2-1 L4/P4
+	 L1/P7 -4X-> MTS14400 SL2-1 L5/P4
+	 L2/P7 -4X-> MTS14400 SL2-1 L6/P4
+	 L3/P7 -4X-> MTS14400 SL2-1 L7/P4
+	 L4/P7 -4X-> MTS14400 SL2-1 L8/P4
+	 L5/P7 -4X-> MTS14400 SL2-1 L9/P4
+	 L6/P7 -4X-> MTS14400 SL2-1 L10/P4
+	 L7/P7 -4X-> MTS14400 SL2-1 L11/P4
+	 L8/P7 -4X-> MTS14400 SL2-1 L12/P4
+	 L9/P7 -4X-> MTS14400 SL2-2 L9/P3
+	 L10/P7 -4X-> MTS14400 SL2-2 L10/P3
+	 L11/P7 -4X-> MTS14400 SL2-2 L11/P3
+	 L12/P7 -4X-> MTS14400 SL2-2 L12/P3
+	 L1/P8 -4X-> MTS14400 SL2-2 L1/P4
+	 L2/P8 -4X-> MTS14400 SL2-2 L2/P4
+	 L3/P8 -4X-> MTS14400 SL2-2 L3/P4
+	 L4/P8 -4X-> MTS14400 SL2-2 L4/P4
+	 L5/P8 -4X-> MTS14400 SL2-2 L5/P4
+	 L6/P8 -4X-> MTS14400 SL2-2 L6/P4
+	 L7/P8 -4X-> MTS14400 SL2-2 L7/P4
+	 L8/P8 -4X-> MTS14400 SL2-2 L8/P4
+	 L9/P8 -4X-> MTS14400 SL2-2 L9/P4
+	 L10/P8 -4X-> MTS14400 SL2-2 L10/P4
+	 L11/P8 -4X-> MTS14400 SL2-2 L11/P4
+	 L12/P8 -4X-> MTS14400 SL2-2 L12/P4
+	 L1/P9 -4X-> MTS14400 SL2-3 L9/P3
+	 L2/P9 -4X-> MTS14400 SL2-3 L10/P3
+	 L3/P9 -4X-> MTS14400 SL2-3 L11/P3
+	 L4/P9 -4X-> MTS14400 SL2-3 L12/P3
+	 L5/P9 -4X-> MTS14400 SL2-3 L1/P4
+	 L6/P9 -4X-> MTS14400 SL2-3 L2/P4
+	 L7/P9 -4X-> MTS14400 SL2-3 L3/P4
+	 L8/P9 -4X-> MTS14400 SL2-3 L4/P4
+	 L9/P9 -4X-> MTS14400 SL2-3 L5/P4
+	 L10/P9 -4X-> MTS14400 SL2-3 L6/P4
+	 L11/P9 -4X-> MTS14400 SL2-3 L7/P4
+	 L12/P9 -4X-> MTS14400 SL2-3 L8/P4
+	 L1/P10 -4X-> MTS14400 SL2-3 L9/P4
+	 L2/P10 -4X-> MTS14400 SL2-3 L10/P4
+	 L3/P10 -4X-> MTS14400 SL2-3 L11/P4
+	 L4/P10 -4X-> MTS14400 SL2-3 L12/P4
+	 L5/P10 -4X-> MTS14400 SL2-4 L9/P3
+	 L6/P10 -4X-> MTS14400 SL2-4 L10/P3
+	 L7/P10 -4X-> MTS14400 SL2-4 L11/P3
+	 L8/P10 -4X-> MTS14400 SL2-4 L12/P3
+	 L9/P10 -4X-> MTS14400 SL2-4 L1/P4
+	 L10/P10 -4X-> MTS14400 SL2-4 L2/P4
+	 L11/P10 -4X-> MTS14400 SL2-4 L3/P4
+	 L12/P10 -4X-> MTS14400 SL2-4 L4/P4
+	 L1/P11 -4X-> MTS14400 SL2-4 L5/P4
+	 L2/P11 -4X-> MTS14400 SL2-4 L6/P4
+	 L3/P11 -4X-> MTS14400 SL2-4 L7/P4
+	 L4/P11 -4X-> MTS14400 SL2-4 L8/P4
+	 L5/P11 -4X-> MTS14400 SL2-4 L9/P4
+	 L6/P11 -4X-> MTS14400 SL2-4 L10/P4
+	 L7/P11 -4X-> MTS14400 SL2-4 L11/P4
+	 L8/P11 -4X-> MTS14400 SL2-4 L12/P4
+
+MTS14400 SL1-4
+	 L1/P1 -4X-> MT23108 H-193 P1
+	 L2/P1 -4X-> MT23108 H-194 P1
+	 L3/P1 -4X-> MT23108 H-195 P1
+	 L4/P1 -4X-> MT23108 H-196 P1
+	 L5/P1 -4X-> MT23108 H-197 P1
+	 L6/P1 -4X-> MT23108 H-198 P1
+	 L7/P1 -4X-> MT23108 H-199 P1
+	 L8/P1 -4X-> MT23108 H-200 P1
+	 L9/P1 -4X-> MT23108 H-201 P1
+	 L10/P1 -4X-> MT23108 H-202 P1
+	 L11/P1 -4X-> MT23108 H-203 P1
+	 L12/P1 -4X-> MT23108 H-204 P1
+	 L1/P2 -4X-> MT23108 H-205 P1
+	 L2/P2 -4X-> MT23108 H-206 P1
+	 L3/P2 -4X-> MT23108 H-207 P1
+	 L4/P2 -4X-> MT23108 H-208 P1
+	 L5/P2 -4X-> MT23108 H-209 P1
+	 L6/P2 -4X-> MT23108 H-210 P1
+	 L7/P2 -4X-> MT23108 H-211 P1
+	 L8/P2 -4X-> MT23108 H-212 P1
+	 L9/P2 -4X-> MT23108 H-213 P1
+	 L10/P2 -4X-> MT23108 H-214 P1
+	 L11/P2 -4X-> MT23108 H-215 P1
+	 L12/P2 -4X-> MT23108 H-216 P1
+	 L1/P3 -4X-> MT23108 H-217 P1
+	 L2/P3 -4X-> MT23108 H-218 P1
+	 L3/P3 -4X-> MT23108 H-219 P1
+	 L4/P3 -4X-> MT23108 H-220 P1
+	 L5/P3 -4X-> MT23108 H-221 P1
+	 L6/P3 -4X-> MT23108 H-222 P1
+	 L7/P3 -4X-> MT23108 H-223 P1
+	 L8/P3 -4X-> MT23108 H-224 P1
+	 L9/P3 -4X-> MT23108 H-225 P1
+	 L10/P3 -4X-> MT23108 H-226 P1
+	 L11/P3 -4X-> MT23108 H-227 P1
+	 L12/P3 -4X-> MT23108 H-228 P1
+	 L1/P4 -4X-> MT23108 H-229 P1
+	 L2/P4 -4X-> MT23108 H-230 P1
+	 L3/P4 -4X-> MT23108 H-231 P1
+	 L4/P4 -4X-> MT23108 H-232 P1
+	 L5/P4 -4X-> MT23108 H-233 P1
+	 L6/P4 -4X-> MT23108 H-234 P1
+	 L7/P4 -4X-> MT23108 H-235 P1
+	 L8/P4 -4X-> MT23108 H-236 P1
+	 L9/P4 -4X-> MT23108 H-237 P1
+	 L10/P4 -4X-> MT23108 H-238 P1
+	 L11/P4 -4X-> MT23108 H-239 P1
+	 L12/P4 -4X-> MT23108 H-240 P1
+	 L1/P5 -4X-> MT23108 H-241 P1
+	 L2/P5 -4X-> MT23108 H-242 P1
+	 L3/P5 -4X-> MT23108 H-243 P1
+	 L4/P5 -4X-> MT23108 H-244 P1
+	 L5/P5 -4X-> MT23108 H-245 P1
+	 L6/P5 -4X-> MT23108 H-246 P1
+	 L7/P5 -4X-> MT23108 H-247 P1
+	 L8/P5 -4X-> MT23108 H-248 P1
+	 L9/P5 -4X-> MT23108 H-249 P1
+	 L10/P5 -4X-> MT23108 H-250 P1
+	 L11/P5 -4X-> MT23108 H-251 P1
+	 L12/P5 -4X-> MT23108 H-252 P1
+	 L1/P6 -4X-> MT23108 H-253 P1
+	 L2/P6 -4X-> MT23108 H-254 P1
+	 L3/P6 -4X-> MT23108 H-255 P1
+	 L4/P6 -4X-> MT23108 H-256 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P5
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P5
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P5
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P5
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P5
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P5
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P5
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P5
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P5
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P5
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P5
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P5
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P6
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P6
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P6
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P6
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P5
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P5
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P5
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P5
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P5
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P5
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P5
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P5
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P5
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P5
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P5
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P5
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P6
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P6
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P6
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P6
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P5
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P5
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P5
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P5
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P5
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P5
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P5
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P5
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P5
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P5
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P5
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P5
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P6
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P6
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P6
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P6
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P5
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P5
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P5
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P5
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P5
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P5
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P5
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P5
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P5
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P5
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P5
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P5
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P6
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P6
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P6
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P6
+
+MTS14400 SL1-5
+	 L1/P1 -4X-> MT23108 H-257 P1
+	 L2/P1 -4X-> MT23108 H-258 P1
+	 L3/P1 -4X-> MT23108 H-259 P1
+	 L4/P1 -4X-> MT23108 H-260 P1
+	 L5/P1 -4X-> MT23108 H-261 P1
+	 L6/P1 -4X-> MT23108 H-262 P1
+	 L7/P1 -4X-> MT23108 H-263 P1
+	 L8/P1 -4X-> MT23108 H-264 P1
+	 L9/P1 -4X-> MT23108 H-265 P1
+	 L10/P1 -4X-> MT23108 H-266 P1
+	 L11/P1 -4X-> MT23108 H-267 P1
+	 L12/P1 -4X-> MT23108 H-268 P1
+	 L1/P2 -4X-> MT23108 H-269 P1
+	 L2/P2 -4X-> MT23108 H-270 P1
+	 L3/P2 -4X-> MT23108 H-271 P1
+	 L4/P2 -4X-> MT23108 H-272 P1
+	 L5/P2 -4X-> MT23108 H-273 P1
+	 L6/P2 -4X-> MT23108 H-274 P1
+	 L7/P2 -4X-> MT23108 H-275 P1
+	 L8/P2 -4X-> MT23108 H-276 P1
+	 L9/P2 -4X-> MT23108 H-277 P1
+	 L10/P2 -4X-> MT23108 H-278 P1
+	 L11/P2 -4X-> MT23108 H-279 P1
+	 L12/P2 -4X-> MT23108 H-280 P1
+	 L1/P3 -4X-> MT23108 H-281 P1
+	 L2/P3 -4X-> MT23108 H-282 P1
+	 L3/P3 -4X-> MT23108 H-283 P1
+	 L4/P3 -4X-> MT23108 H-284 P1
+	 L5/P3 -4X-> MT23108 H-285 P1
+	 L6/P3 -4X-> MT23108 H-286 P1
+	 L7/P3 -4X-> MT23108 H-287 P1
+	 L8/P3 -4X-> MT23108 H-288 P1
+	 L9/P3 -4X-> MT23108 H-289 P1
+	 L10/P3 -4X-> MT23108 H-290 P1
+	 L11/P3 -4X-> MT23108 H-291 P1
+	 L12/P3 -4X-> MT23108 H-292 P1
+	 L1/P4 -4X-> MT23108 H-293 P1
+	 L2/P4 -4X-> MT23108 H-294 P1
+	 L3/P4 -4X-> MT23108 H-295 P1
+	 L4/P4 -4X-> MT23108 H-296 P1
+	 L5/P4 -4X-> MT23108 H-297 P1
+	 L6/P4 -4X-> MT23108 H-298 P1
+	 L7/P4 -4X-> MT23108 H-299 P1
+	 L8/P4 -4X-> MT23108 H-300 P1
+	 L9/P4 -4X-> MT23108 H-301 P1
+	 L10/P4 -4X-> MT23108 H-302 P1
+	 L11/P4 -4X-> MT23108 H-303 P1
+	 L12/P4 -4X-> MT23108 H-304 P1
+	 L1/P5 -4X-> MT23108 H-305 P1
+	 L2/P5 -4X-> MT23108 H-306 P1
+	 L3/P5 -4X-> MT23108 H-307 P1
+	 L4/P5 -4X-> MT23108 H-308 P1
+	 L5/P5 -4X-> MT23108 H-309 P1
+	 L6/P5 -4X-> MT23108 H-310 P1
+	 L7/P5 -4X-> MT23108 H-311 P1
+	 L8/P5 -4X-> MT23108 H-312 P1
+	 L9/P5 -4X-> MT23108 H-313 P1
+	 L10/P5 -4X-> MT23108 H-314 P1
+	 L11/P5 -4X-> MT23108 H-315 P1
+	 L12/P5 -4X-> MT23108 H-316 P1
+	 L1/P6 -4X-> MT23108 H-317 P1
+	 L2/P6 -4X-> MT23108 H-318 P1
+	 L3/P6 -4X-> MT23108 H-319 P1
+	 L4/P6 -4X-> MT23108 H-320 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P6
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P6
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P6
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P6
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P6
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P6
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P6
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P6
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P7
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P7
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P7
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P7
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P7
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P7
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P7
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P7
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P6
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P6
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P6
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P6
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P6
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P6
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P6
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P6
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P7
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P7
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P7
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P7
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P7
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P7
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P7
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P7
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P6
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P6
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P6
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P6
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P6
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P6
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P6
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P6
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P7
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P7
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P7
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P7
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P7
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P7
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P7
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P7
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P6
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P6
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P6
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P6
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P6
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P6
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P6
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P6
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P7
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P7
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P7
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P7
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P7
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P7
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P7
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P7
+
+MTS14400 SL1-6
+	 L1/P1 -4X-> MT23108 H-321 P1
+	 L2/P1 -4X-> MT23108 H-322 P1
+	 L3/P1 -4X-> MT23108 H-323 P1
+	 L4/P1 -4X-> MT23108 H-324 P1
+	 L5/P1 -4X-> MT23108 H-325 P1
+	 L6/P1 -4X-> MT23108 H-326 P1
+	 L7/P1 -4X-> MT23108 H-327 P1
+	 L8/P1 -4X-> MT23108 H-328 P1
+	 L9/P1 -4X-> MT23108 H-329 P1
+	 L10/P1 -4X-> MT23108 H-330 P1
+	 L11/P1 -4X-> MT23108 H-331 P1
+	 L12/P1 -4X-> MT23108 H-332 P1
+	 L1/P2 -4X-> MT23108 H-333 P1
+	 L2/P2 -4X-> MT23108 H-334 P1
+	 L3/P2 -4X-> MT23108 H-335 P1
+	 L4/P2 -4X-> MT23108 H-336 P1
+	 L5/P2 -4X-> MT23108 H-337 P1
+	 L6/P2 -4X-> MT23108 H-338 P1
+	 L7/P2 -4X-> MT23108 H-339 P1
+	 L8/P2 -4X-> MT23108 H-340 P1
+	 L9/P2 -4X-> MT23108 H-341 P1
+	 L10/P2 -4X-> MT23108 H-342 P1
+	 L11/P2 -4X-> MT23108 H-343 P1
+	 L12/P2 -4X-> MT23108 H-344 P1
+	 L1/P3 -4X-> MT23108 H-345 P1
+	 L2/P3 -4X-> MT23108 H-346 P1
+	 L3/P3 -4X-> MT23108 H-347 P1
+	 L4/P3 -4X-> MT23108 H-348 P1
+	 L5/P3 -4X-> MT23108 H-349 P1
+	 L6/P3 -4X-> MT23108 H-350 P1
+	 L7/P3 -4X-> MT23108 H-351 P1
+	 L8/P3 -4X-> MT23108 H-352 P1
+	 L9/P3 -4X-> MT23108 H-353 P1
+	 L10/P3 -4X-> MT23108 H-354 P1
+	 L11/P3 -4X-> MT23108 H-355 P1
+	 L12/P3 -4X-> MT23108 H-356 P1
+	 L1/P4 -4X-> MT23108 H-357 P1
+	 L2/P4 -4X-> MT23108 H-358 P1
+	 L3/P4 -4X-> MT23108 H-359 P1
+	 L4/P4 -4X-> MT23108 H-360 P1
+	 L5/P4 -4X-> MT23108 H-361 P1
+	 L6/P4 -4X-> MT23108 H-362 P1
+	 L7/P4 -4X-> MT23108 H-363 P1
+	 L8/P4 -4X-> MT23108 H-364 P1
+	 L9/P4 -4X-> MT23108 H-365 P1
+	 L10/P4 -4X-> MT23108 H-366 P1
+	 L11/P4 -4X-> MT23108 H-367 P1
+	 L12/P4 -4X-> MT23108 H-368 P1
+	 L1/P5 -4X-> MT23108 H-369 P1
+	 L2/P5 -4X-> MT23108 H-370 P1
+	 L3/P5 -4X-> MT23108 H-371 P1
+	 L4/P5 -4X-> MT23108 H-372 P1
+	 L5/P5 -4X-> MT23108 H-373 P1
+	 L6/P5 -4X-> MT23108 H-374 P1
+	 L7/P5 -4X-> MT23108 H-375 P1
+	 L8/P5 -4X-> MT23108 H-376 P1
+	 L9/P5 -4X-> MT23108 H-377 P1
+	 L10/P5 -4X-> MT23108 H-378 P1
+	 L11/P5 -4X-> MT23108 H-379 P1
+	 L12/P5 -4X-> MT23108 H-380 P1
+	 L1/P6 -4X-> MT23108 H-381 P1
+	 L2/P6 -4X-> MT23108 H-382 P1
+	 L3/P6 -4X-> MT23108 H-383 P1
+	 L4/P6 -4X-> MT23108 H-384 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L9/P7
+	 L6/P6 -4X-> MTS14400 SL2-1 L10/P7
+	 L7/P6 -4X-> MTS14400 SL2-1 L11/P7
+	 L8/P6 -4X-> MTS14400 SL2-1 L12/P7
+	 L9/P6 -4X-> MTS14400 SL2-1 L1/P8
+	 L10/P6 -4X-> MTS14400 SL2-1 L2/P8
+	 L11/P6 -4X-> MTS14400 SL2-1 L3/P8
+	 L12/P6 -4X-> MTS14400 SL2-1 L4/P8
+	 L1/P7 -4X-> MTS14400 SL2-1 L5/P8
+	 L2/P7 -4X-> MTS14400 SL2-1 L6/P8
+	 L3/P7 -4X-> MTS14400 SL2-1 L7/P8
+	 L4/P7 -4X-> MTS14400 SL2-1 L8/P8
+	 L5/P7 -4X-> MTS14400 SL2-1 L9/P8
+	 L6/P7 -4X-> MTS14400 SL2-1 L10/P8
+	 L7/P7 -4X-> MTS14400 SL2-1 L11/P8
+	 L8/P7 -4X-> MTS14400 SL2-1 L12/P8
+	 L9/P7 -4X-> MTS14400 SL2-2 L9/P7
+	 L10/P7 -4X-> MTS14400 SL2-2 L10/P7
+	 L11/P7 -4X-> MTS14400 SL2-2 L11/P7
+	 L12/P7 -4X-> MTS14400 SL2-2 L12/P7
+	 L1/P8 -4X-> MTS14400 SL2-2 L1/P8
+	 L2/P8 -4X-> MTS14400 SL2-2 L2/P8
+	 L3/P8 -4X-> MTS14400 SL2-2 L3/P8
+	 L4/P8 -4X-> MTS14400 SL2-2 L4/P8
+	 L5/P8 -4X-> MTS14400 SL2-2 L5/P8
+	 L6/P8 -4X-> MTS14400 SL2-2 L6/P8
+	 L7/P8 -4X-> MTS14400 SL2-2 L7/P8
+	 L8/P8 -4X-> MTS14400 SL2-2 L8/P8
+	 L9/P8 -4X-> MTS14400 SL2-2 L9/P8
+	 L10/P8 -4X-> MTS14400 SL2-2 L10/P8
+	 L11/P8 -4X-> MTS14400 SL2-2 L11/P8
+	 L12/P8 -4X-> MTS14400 SL2-2 L12/P8
+	 L1/P9 -4X-> MTS14400 SL2-3 L9/P7
+	 L2/P9 -4X-> MTS14400 SL2-3 L10/P7
+	 L3/P9 -4X-> MTS14400 SL2-3 L11/P7
+	 L4/P9 -4X-> MTS14400 SL2-3 L12/P7
+	 L5/P9 -4X-> MTS14400 SL2-3 L1/P8
+	 L6/P9 -4X-> MTS14400 SL2-3 L2/P8
+	 L7/P9 -4X-> MTS14400 SL2-3 L3/P8
+	 L8/P9 -4X-> MTS14400 SL2-3 L4/P8
+	 L9/P9 -4X-> MTS14400 SL2-3 L5/P8
+	 L10/P9 -4X-> MTS14400 SL2-3 L6/P8
+	 L11/P9 -4X-> MTS14400 SL2-3 L7/P8
+	 L12/P9 -4X-> MTS14400 SL2-3 L8/P8
+	 L1/P10 -4X-> MTS14400 SL2-3 L9/P8
+	 L2/P10 -4X-> MTS14400 SL2-3 L10/P8
+	 L3/P10 -4X-> MTS14400 SL2-3 L11/P8
+	 L4/P10 -4X-> MTS14400 SL2-3 L12/P8
+	 L5/P10 -4X-> MTS14400 SL2-4 L9/P7
+	 L6/P10 -4X-> MTS14400 SL2-4 L10/P7
+	 L7/P10 -4X-> MTS14400 SL2-4 L11/P7
+	 L8/P10 -4X-> MTS14400 SL2-4 L12/P7
+	 L9/P10 -4X-> MTS14400 SL2-4 L1/P8
+	 L10/P10 -4X-> MTS14400 SL2-4 L2/P8
+	 L11/P10 -4X-> MTS14400 SL2-4 L3/P8
+	 L12/P10 -4X-> MTS14400 SL2-4 L4/P8
+	 L1/P11 -4X-> MTS14400 SL2-4 L5/P8
+	 L2/P11 -4X-> MTS14400 SL2-4 L6/P8
+	 L3/P11 -4X-> MTS14400 SL2-4 L7/P8
+	 L4/P11 -4X-> MTS14400 SL2-4 L8/P8
+	 L5/P11 -4X-> MTS14400 SL2-4 L9/P8
+	 L6/P11 -4X-> MTS14400 SL2-4 L10/P8
+	 L7/P11 -4X-> MTS14400 SL2-4 L11/P8
+	 L8/P11 -4X-> MTS14400 SL2-4 L12/P8
+
+MTS14400 SL1-7
+	 L1/P1 -4X-> MT23108 H-385 P1
+	 L2/P1 -4X-> MT23108 H-386 P1
+	 L3/P1 -4X-> MT23108 H-387 P1
+	 L4/P1 -4X-> MT23108 H-388 P1
+	 L5/P1 -4X-> MT23108 H-389 P1
+	 L6/P1 -4X-> MT23108 H-390 P1
+	 L7/P1 -4X-> MT23108 H-391 P1
+	 L8/P1 -4X-> MT23108 H-392 P1
+	 L9/P1 -4X-> MT23108 H-393 P1
+	 L10/P1 -4X-> MT23108 H-394 P1
+	 L11/P1 -4X-> MT23108 H-395 P1
+	 L12/P1 -4X-> MT23108 H-396 P1
+	 L1/P2 -4X-> MT23108 H-397 P1
+	 L2/P2 -4X-> MT23108 H-398 P1
+	 L3/P2 -4X-> MT23108 H-399 P1
+	 L4/P2 -4X-> MT23108 H-400 P1
+	 L5/P2 -4X-> MT23108 H-401 P1
+	 L6/P2 -4X-> MT23108 H-402 P1
+	 L7/P2 -4X-> MT23108 H-403 P1
+	 L8/P2 -4X-> MT23108 H-404 P1
+	 L9/P2 -4X-> MT23108 H-405 P1
+	 L10/P2 -4X-> MT23108 H-406 P1
+	 L11/P2 -4X-> MT23108 H-407 P1
+	 L12/P2 -4X-> MT23108 H-408 P1
+	 L1/P3 -4X-> MT23108 H-409 P1
+	 L2/P3 -4X-> MT23108 H-410 P1
+	 L3/P3 -4X-> MT23108 H-411 P1
+	 L4/P3 -4X-> MT23108 H-412 P1
+	 L5/P3 -4X-> MT23108 H-413 P1
+	 L6/P3 -4X-> MT23108 H-414 P1
+	 L7/P3 -4X-> MT23108 H-415 P1
+	 L8/P3 -4X-> MT23108 H-416 P1
+	 L9/P3 -4X-> MT23108 H-417 P1
+	 L10/P3 -4X-> MT23108 H-418 P1
+	 L11/P3 -4X-> MT23108 H-419 P1
+	 L12/P3 -4X-> MT23108 H-420 P1
+	 L1/P4 -4X-> MT23108 H-421 P1
+	 L2/P4 -4X-> MT23108 H-422 P1
+	 L3/P4 -4X-> MT23108 H-423 P1
+	 L4/P4 -4X-> MT23108 H-424 P1
+	 L5/P4 -4X-> MT23108 H-425 P1
+	 L6/P4 -4X-> MT23108 H-426 P1
+	 L7/P4 -4X-> MT23108 H-427 P1
+	 L8/P4 -4X-> MT23108 H-428 P1
+	 L9/P4 -4X-> MT23108 H-429 P1
+	 L10/P4 -4X-> MT23108 H-430 P1
+	 L11/P4 -4X-> MT23108 H-431 P1
+	 L12/P4 -4X-> MT23108 H-432 P1
+	 L1/P5 -4X-> MT23108 H-433 P1
+	 L2/P5 -4X-> MT23108 H-434 P1
+	 L3/P5 -4X-> MT23108 H-435 P1
+	 L4/P5 -4X-> MT23108 H-436 P1
+	 L5/P5 -4X-> MT23108 H-437 P1
+	 L6/P5 -4X-> MT23108 H-438 P1
+	 L7/P5 -4X-> MT23108 H-439 P1
+	 L8/P5 -4X-> MT23108 H-440 P1
+	 L9/P5 -4X-> MT23108 H-441 P1
+	 L10/P5 -4X-> MT23108 H-442 P1
+	 L11/P5 -4X-> MT23108 H-443 P1
+	 L12/P5 -4X-> MT23108 H-444 P1
+	 L1/P6 -4X-> MT23108 H-445 P1
+	 L2/P6 -4X-> MT23108 H-446 P1
+	 L3/P6 -4X-> MT23108 H-447 P1
+	 L4/P6 -4X-> MT23108 H-448 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L1/P9
+	 L6/P6 -4X-> MTS14400 SL2-1 L2/P9
+	 L7/P6 -4X-> MTS14400 SL2-1 L3/P9
+	 L8/P6 -4X-> MTS14400 SL2-1 L4/P9
+	 L9/P6 -4X-> MTS14400 SL2-1 L5/P9
+	 L10/P6 -4X-> MTS14400 SL2-1 L6/P9
+	 L11/P6 -4X-> MTS14400 SL2-1 L7/P9
+	 L12/P6 -4X-> MTS14400 SL2-1 L8/P9
+	 L1/P7 -4X-> MTS14400 SL2-1 L9/P9
+	 L2/P7 -4X-> MTS14400 SL2-1 L10/P9
+	 L3/P7 -4X-> MTS14400 SL2-1 L11/P9
+	 L4/P7 -4X-> MTS14400 SL2-1 L12/P9
+	 L5/P7 -4X-> MTS14400 SL2-1 L1/P10
+	 L6/P7 -4X-> MTS14400 SL2-1 L2/P10
+	 L7/P7 -4X-> MTS14400 SL2-1 L3/P10
+	 L8/P7 -4X-> MTS14400 SL2-1 L4/P10
+	 L9/P7 -4X-> MTS14400 SL2-2 L1/P9
+	 L10/P7 -4X-> MTS14400 SL2-2 L2/P9
+	 L11/P7 -4X-> MTS14400 SL2-2 L3/P9
+	 L12/P7 -4X-> MTS14400 SL2-2 L4/P9
+	 L1/P8 -4X-> MTS14400 SL2-2 L5/P9
+	 L2/P8 -4X-> MTS14400 SL2-2 L6/P9
+	 L3/P8 -4X-> MTS14400 SL2-2 L7/P9
+	 L4/P8 -4X-> MTS14400 SL2-2 L8/P9
+	 L5/P8 -4X-> MTS14400 SL2-2 L9/P9
+	 L6/P8 -4X-> MTS14400 SL2-2 L10/P9
+	 L7/P8 -4X-> MTS14400 SL2-2 L11/P9
+	 L8/P8 -4X-> MTS14400 SL2-2 L12/P9
+	 L9/P8 -4X-> MTS14400 SL2-2 L1/P10
+	 L10/P8 -4X-> MTS14400 SL2-2 L2/P10
+	 L11/P8 -4X-> MTS14400 SL2-2 L3/P10
+	 L12/P8 -4X-> MTS14400 SL2-2 L4/P10
+	 L1/P9 -4X-> MTS14400 SL2-3 L1/P9
+	 L2/P9 -4X-> MTS14400 SL2-3 L2/P9
+	 L3/P9 -4X-> MTS14400 SL2-3 L3/P9
+	 L4/P9 -4X-> MTS14400 SL2-3 L4/P9
+	 L5/P9 -4X-> MTS14400 SL2-3 L5/P9
+	 L6/P9 -4X-> MTS14400 SL2-3 L6/P9
+	 L7/P9 -4X-> MTS14400 SL2-3 L7/P9
+	 L8/P9 -4X-> MTS14400 SL2-3 L8/P9
+	 L9/P9 -4X-> MTS14400 SL2-3 L9/P9
+	 L10/P9 -4X-> MTS14400 SL2-3 L10/P9
+	 L11/P9 -4X-> MTS14400 SL2-3 L11/P9
+	 L12/P9 -4X-> MTS14400 SL2-3 L12/P9
+	 L1/P10 -4X-> MTS14400 SL2-3 L1/P10
+	 L2/P10 -4X-> MTS14400 SL2-3 L2/P10
+	 L3/P10 -4X-> MTS14400 SL2-3 L3/P10
+	 L4/P10 -4X-> MTS14400 SL2-3 L4/P10
+	 L5/P10 -4X-> MTS14400 SL2-4 L1/P9
+	 L6/P10 -4X-> MTS14400 SL2-4 L2/P9
+	 L7/P10 -4X-> MTS14400 SL2-4 L3/P9
+	 L8/P10 -4X-> MTS14400 SL2-4 L4/P9
+	 L9/P10 -4X-> MTS14400 SL2-4 L5/P9
+	 L10/P10 -4X-> MTS14400 SL2-4 L6/P9
+	 L11/P10 -4X-> MTS14400 SL2-4 L7/P9
+	 L12/P10 -4X-> MTS14400 SL2-4 L8/P9
+	 L1/P11 -4X-> MTS14400 SL2-4 L9/P9
+	 L2/P11 -4X-> MTS14400 SL2-4 L10/P9
+	 L3/P11 -4X-> MTS14400 SL2-4 L11/P9
+	 L4/P11 -4X-> MTS14400 SL2-4 L12/P9
+	 L5/P11 -4X-> MTS14400 SL2-4 L1/P10
+	 L6/P11 -4X-> MTS14400 SL2-4 L2/P10
+	 L7/P11 -4X-> MTS14400 SL2-4 L3/P10
+	 L8/P11 -4X-> MTS14400 SL2-4 L4/P10
+
+MTS14400 SL1-8
+	 L1/P1 -4X-> MT23108 H-449 P1
+	 L2/P1 -4X-> MT23108 H-450 P1
+	 L3/P1 -4X-> MT23108 H-451 P1
+	 L4/P1 -4X-> MT23108 H-452 P1
+	 L5/P1 -4X-> MT23108 H-453 P1
+	 L6/P1 -4X-> MT23108 H-454 P1
+	 L7/P1 -4X-> MT23108 H-455 P1
+	 L8/P1 -4X-> MT23108 H-456 P1
+	 L9/P1 -4X-> MT23108 H-457 P1
+	 L10/P1 -4X-> MT23108 H-458 P1
+	 L11/P1 -4X-> MT23108 H-459 P1
+	 L12/P1 -4X-> MT23108 H-460 P1
+	 L1/P2 -4X-> MT23108 H-461 P1
+	 L2/P2 -4X-> MT23108 H-462 P1
+	 L3/P2 -4X-> MT23108 H-463 P1
+	 L4/P2 -4X-> MT23108 H-464 P1
+	 L5/P2 -4X-> MT23108 H-465 P1
+	 L6/P2 -4X-> MT23108 H-466 P1
+	 L7/P2 -4X-> MT23108 H-467 P1
+	 L8/P2 -4X-> MT23108 H-468 P1
+	 L9/P2 -4X-> MT23108 H-469 P1
+	 L10/P2 -4X-> MT23108 H-470 P1
+	 L11/P2 -4X-> MT23108 H-471 P1
+	 L12/P2 -4X-> MT23108 H-472 P1
+	 L1/P3 -4X-> MT23108 H-473 P1
+	 L2/P3 -4X-> MT23108 H-474 P1
+	 L3/P3 -4X-> MT23108 H-475 P1
+	 L4/P3 -4X-> MT23108 H-476 P1
+	 L5/P3 -4X-> MT23108 H-477 P1
+	 L6/P3 -4X-> MT23108 H-478 P1
+	 L7/P3 -4X-> MT23108 H-479 P1
+	 L8/P3 -4X-> MT23108 H-480 P1
+	 L9/P3 -4X-> MT23108 H-481 P1
+	 L10/P3 -4X-> MT23108 H-482 P1
+	 L11/P3 -4X-> MT23108 H-483 P1
+	 L12/P3 -4X-> MT23108 H-484 P1
+	 L1/P4 -4X-> MT23108 H-485 P1
+	 L2/P4 -4X-> MT23108 H-486 P1
+	 L3/P4 -4X-> MT23108 H-487 P1
+	 L4/P4 -4X-> MT23108 H-488 P1
+	 L5/P4 -4X-> MT23108 H-489 P1
+	 L6/P4 -4X-> MT23108 H-490 P1
+	 L7/P4 -4X-> MT23108 H-491 P1
+	 L8/P4 -4X-> MT23108 H-492 P1
+	 L9/P4 -4X-> MT23108 H-493 P1
+	 L10/P4 -4X-> MT23108 H-494 P1
+	 L11/P4 -4X-> MT23108 H-495 P1
+	 L12/P4 -4X-> MT23108 H-496 P1
+	 L1/P5 -4X-> MT23108 H-497 P1
+	 L2/P5 -4X-> MT23108 H-498 P1
+	 L3/P5 -4X-> MT23108 H-499 P1
+	 L4/P5 -4X-> MT23108 H-500 P1
+	 L5/P5 -4X-> MT23108 H-501 P1
+	 L6/P5 -4X-> MT23108 H-502 P1
+	 L7/P5 -4X-> MT23108 H-503 P1
+	 L8/P5 -4X-> MT23108 H-504 P1
+	 L9/P5 -4X-> MT23108 H-505 P1
+	 L10/P5 -4X-> MT23108 H-506 P1
+	 L11/P5 -4X-> MT23108 H-507 P1
+	 L12/P5 -4X-> MT23108 H-508 P1
+	 L1/P6 -4X-> MT23108 H-509 P1
+	 L2/P6 -4X-> MT23108 H-510 P1
+	 L3/P6 -4X-> MT23108 H-511 P1
+	 L4/P6 -4X-> MT23108 H-512 P1
+	 L5/P6 -4X-> MTS14400 SL2-1 L5/P10
+	 L6/P6 -4X-> MTS14400 SL2-1 L6/P10
+	 L7/P6 -4X-> MTS14400 SL2-1 L7/P10
+	 L8/P6 -4X-> MTS14400 SL2-1 L8/P10
+	 L9/P6 -4X-> MTS14400 SL2-1 L9/P10
+	 L10/P6 -4X-> MTS14400 SL2-1 L10/P10
+	 L11/P6 -4X-> MTS14400 SL2-1 L11/P10
+	 L12/P6 -4X-> MTS14400 SL2-1 L12/P10
+	 L1/P7 -4X-> MTS14400 SL2-1 L1/P11
+	 L2/P7 -4X-> MTS14400 SL2-1 L2/P11
+	 L3/P7 -4X-> MTS14400 SL2-1 L3/P11
+	 L4/P7 -4X-> MTS14400 SL2-1 L4/P11
+	 L5/P7 -4X-> MTS14400 SL2-1 L5/P11
+	 L6/P7 -4X-> MTS14400 SL2-1 L6/P11
+	 L7/P7 -4X-> MTS14400 SL2-1 L7/P11
+	 L8/P7 -4X-> MTS14400 SL2-1 L8/P11
+	 L9/P7 -4X-> MTS14400 SL2-2 L5/P10
+	 L10/P7 -4X-> MTS14400 SL2-2 L6/P10
+	 L11/P7 -4X-> MTS14400 SL2-2 L7/P10
+	 L12/P7 -4X-> MTS14400 SL2-2 L8/P10
+	 L1/P8 -4X-> MTS14400 SL2-2 L9/P10
+	 L2/P8 -4X-> MTS14400 SL2-2 L10/P10
+	 L3/P8 -4X-> MTS14400 SL2-2 L11/P10
+	 L4/P8 -4X-> MTS14400 SL2-2 L12/P10
+	 L5/P8 -4X-> MTS14400 SL2-2 L1/P11
+	 L6/P8 -4X-> MTS14400 SL2-2 L2/P11
+	 L7/P8 -4X-> MTS14400 SL2-2 L3/P11
+	 L8/P8 -4X-> MTS14400 SL2-2 L4/P11
+	 L9/P8 -4X-> MTS14400 SL2-2 L5/P11
+	 L10/P8 -4X-> MTS14400 SL2-2 L6/P11
+	 L11/P8 -4X-> MTS14400 SL2-2 L7/P11
+	 L12/P8 -4X-> MTS14400 SL2-2 L8/P11
+	 L1/P9 -4X-> MTS14400 SL2-3 L5/P10
+	 L2/P9 -4X-> MTS14400 SL2-3 L6/P10
+	 L3/P9 -4X-> MTS14400 SL2-3 L7/P10
+	 L4/P9 -4X-> MTS14400 SL2-3 L8/P10
+	 L5/P9 -4X-> MTS14400 SL2-3 L9/P10
+	 L6/P9 -4X-> MTS14400 SL2-3 L10/P10
+	 L7/P9 -4X-> MTS14400 SL2-3 L11/P10
+	 L8/P9 -4X-> MTS14400 SL2-3 L12/P10
+	 L9/P9 -4X-> MTS14400 SL2-3 L1/P11
+	 L10/P9 -4X-> MTS14400 SL2-3 L2/P11
+	 L11/P9 -4X-> MTS14400 SL2-3 L3/P11
+	 L12/P9 -4X-> MTS14400 SL2-3 L4/P11
+	 L1/P10 -4X-> MTS14400 SL2-3 L5/P11
+	 L2/P10 -4X-> MTS14400 SL2-3 L6/P11
+	 L3/P10 -4X-> MTS14400 SL2-3 L7/P11
+	 L4/P10 -4X-> MTS14400 SL2-3 L8/P11
+	 L5/P10 -4X-> MTS14400 SL2-4 L5/P10
+	 L6/P10 -4X-> MTS14400 SL2-4 L6/P10
+	 L7/P10 -4X-> MTS14400 SL2-4 L7/P10
+	 L8/P10 -4X-> MTS14400 SL2-4 L8/P10
+	 L9/P10 -4X-> MTS14400 SL2-4 L9/P10
+	 L10/P10 -4X-> MTS14400 SL2-4 L10/P10
+	 L11/P10 -4X-> MTS14400 SL2-4 L11/P10
+	 L12/P10 -4X-> MTS14400 SL2-4 L12/P10
+	 L1/P11 -4X-> MTS14400 SL2-4 L1/P11
+	 L2/P11 -4X-> MTS14400 SL2-4 L2/P11
+	 L3/P11 -4X-> MTS14400 SL2-4 L3/P11
+	 L4/P11 -4X-> MTS14400 SL2-4 L4/P11
+	 L5/P11 -4X-> MTS14400 SL2-4 L5/P11
+	 L6/P11 -4X-> MTS14400 SL2-4 L6/P11
+	 L7/P11 -4X-> MTS14400 SL2-4 L7/P11
+	 L8/P11 -4X-> MTS14400 SL2-4 L8/P11
+
+MTS14400 SL2-1
+	 L1/P1 -4X-> MTS14400 SL1-1 L5/P6
+	 L2/P1 -4X-> MTS14400 SL1-1 L6/P6
+	 L3/P1 -4X-> MTS14400 SL1-1 L7/P6
+	 L4/P1 -4X-> MTS14400 SL1-1 L8/P6
+	 L5/P1 -4X-> MTS14400 SL1-1 L9/P6
+	 L6/P1 -4X-> MTS14400 SL1-1 L10/P6
+	 L7/P1 -4X-> MTS14400 SL1-1 L11/P6
+	 L8/P1 -4X-> MTS14400 SL1-1 L12/P6
+	 L9/P1 -4X-> MTS14400 SL1-1 L1/P7
+	 L10/P1 -4X-> MTS14400 SL1-1 L2/P7
+	 L11/P1 -4X-> MTS14400 SL1-1 L3/P7
+	 L12/P1 -4X-> MTS14400 SL1-1 L4/P7
+	 L1/P2 -4X-> MTS14400 SL1-1 L5/P7
+	 L2/P2 -4X-> MTS14400 SL1-1 L6/P7
+	 L3/P2 -4X-> MTS14400 SL1-1 L7/P7
+	 L4/P2 -4X-> MTS14400 SL1-1 L8/P7
+	 L5/P2 -4X-> MTS14400 SL1-2 L5/P6
+	 L6/P2 -4X-> MTS14400 SL1-2 L6/P6
+	 L7/P2 -4X-> MTS14400 SL1-2 L7/P6
+	 L8/P2 -4X-> MTS14400 SL1-2 L8/P6
+	 L9/P2 -4X-> MTS14400 SL1-2 L9/P6
+	 L10/P2 -4X-> MTS14400 SL1-2 L10/P6
+	 L11/P2 -4X-> MTS14400 SL1-2 L11/P6
+	 L12/P2 -4X-> MTS14400 SL1-2 L12/P6
+	 L1/P3 -4X-> MTS14400 SL1-2 L1/P7
+	 L2/P3 -4X-> MTS14400 SL1-2 L2/P7
+	 L3/P3 -4X-> MTS14400 SL1-2 L3/P7
+	 L4/P3 -4X-> MTS14400 SL1-2 L4/P7
+	 L5/P3 -4X-> MTS14400 SL1-2 L5/P7
+	 L6/P3 -4X-> MTS14400 SL1-2 L6/P7
+	 L7/P3 -4X-> MTS14400 SL1-2 L7/P7
+	 L8/P3 -4X-> MTS14400 SL1-2 L8/P7
+	 L9/P3 -4X-> MTS14400 SL1-3 L5/P6
+	 L10/P3 -4X-> MTS14400 SL1-3 L6/P6
+	 L11/P3 -4X-> MTS14400 SL1-3 L7/P6
+	 L12/P3 -4X-> MTS14400 SL1-3 L8/P6
+	 L1/P4 -4X-> MTS14400 SL1-3 L9/P6
+	 L2/P4 -4X-> MTS14400 SL1-3 L10/P6
+	 L3/P4 -4X-> MTS14400 SL1-3 L11/P6
+	 L4/P4 -4X-> MTS14400 SL1-3 L12/P6
+	 L5/P4 -4X-> MTS14400 SL1-3 L1/P7
+	 L6/P4 -4X-> MTS14400 SL1-3 L2/P7
+	 L7/P4 -4X-> MTS14400 SL1-3 L3/P7
+	 L8/P4 -4X-> MTS14400 SL1-3 L4/P7
+	 L9/P4 -4X-> MTS14400 SL1-3 L5/P7
+	 L10/P4 -4X-> MTS14400 SL1-3 L6/P7
+	 L11/P4 -4X-> MTS14400 SL1-3 L7/P7
+	 L12/P4 -4X-> MTS14400 SL1-3 L8/P7
+	 L1/P5 -4X-> MTS14400 SL1-4 L5/P6
+	 L2/P5 -4X-> MTS14400 SL1-4 L6/P6
+	 L3/P5 -4X-> MTS14400 SL1-4 L7/P6
+	 L4/P5 -4X-> MTS14400 SL1-4 L8/P6
+	 L5/P5 -4X-> MTS14400 SL1-4 L9/P6
+	 L6/P5 -4X-> MTS14400 SL1-4 L10/P6
+	 L7/P5 -4X-> MTS14400 SL1-4 L11/P6
+	 L8/P5 -4X-> MTS14400 SL1-4 L12/P6
+	 L9/P5 -4X-> MTS14400 SL1-4 L1/P7
+	 L10/P5 -4X-> MTS14400 SL1-4 L2/P7
+	 L11/P5 -4X-> MTS14400 SL1-4 L3/P7
+	 L12/P5 -4X-> MTS14400 SL1-4 L4/P7
+	 L1/P6 -4X-> MTS14400 SL1-4 L5/P7
+	 L2/P6 -4X-> MTS14400 SL1-4 L6/P7
+	 L3/P6 -4X-> MTS14400 SL1-4 L7/P7
+	 L4/P6 -4X-> MTS14400 SL1-4 L8/P7
+	 L5/P6 -4X-> MTS14400 SL1-5 L5/P6
+	 L6/P6 -4X-> MTS14400 SL1-5 L6/P6
+	 L7/P6 -4X-> MTS14400 SL1-5 L7/P6
+	 L8/P6 -4X-> MTS14400 SL1-5 L8/P6
+	 L9/P6 -4X-> MTS14400 SL1-5 L9/P6
+	 L10/P6 -4X-> MTS14400 SL1-5 L10/P6
+	 L11/P6 -4X-> MTS14400 SL1-5 L11/P6
+	 L12/P6 -4X-> MTS14400 SL1-5 L12/P6
+	 L1/P7 -4X-> MTS14400 SL1-5 L1/P7
+	 L2/P7 -4X-> MTS14400 SL1-5 L2/P7
+	 L3/P7 -4X-> MTS14400 SL1-5 L3/P7
+	 L4/P7 -4X-> MTS14400 SL1-5 L4/P7
+	 L5/P7 -4X-> MTS14400 SL1-5 L5/P7
+	 L6/P7 -4X-> MTS14400 SL1-5 L6/P7
+	 L7/P7 -4X-> MTS14400 SL1-5 L7/P7
+	 L8/P7 -4X-> MTS14400 SL1-5 L8/P7
+	 L9/P7 -4X-> MTS14400 SL1-6 L5/P6
+	 L10/P7 -4X-> MTS14400 SL1-6 L6/P6
+	 L11/P7 -4X-> MTS14400 SL1-6 L7/P6
+	 L12/P7 -4X-> MTS14400 SL1-6 L8/P6
+	 L1/P8 -4X-> MTS14400 SL1-6 L9/P6
+	 L2/P8 -4X-> MTS14400 SL1-6 L10/P6
+	 L3/P8 -4X-> MTS14400 SL1-6 L11/P6
+	 L4/P8 -4X-> MTS14400 SL1-6 L12/P6
+	 L5/P8 -4X-> MTS14400 SL1-6 L1/P7
+	 L6/P8 -4X-> MTS14400 SL1-6 L2/P7
+	 L7/P8 -4X-> MTS14400 SL1-6 L3/P7
+	 L8/P8 -4X-> MTS14400 SL1-6 L4/P7
+	 L9/P8 -4X-> MTS14400 SL1-6 L5/P7
+	 L10/P8 -4X-> MTS14400 SL1-6 L6/P7
+	 L11/P8 -4X-> MTS14400 SL1-6 L7/P7
+	 L12/P8 -4X-> MTS14400 SL1-6 L8/P7
+	 L1/P9 -4X-> MTS14400 SL1-7 L5/P6
+	 L2/P9 -4X-> MTS14400 SL1-7 L6/P6
+	 L3/P9 -4X-> MTS14400 SL1-7 L7/P6
+	 L4/P9 -4X-> MTS14400 SL1-7 L8/P6
+	 L5/P9 -4X-> MTS14400 SL1-7 L9/P6
+	 L6/P9 -4X-> MTS14400 SL1-7 L10/P6
+	 L7/P9 -4X-> MTS14400 SL1-7 L11/P6
+	 L8/P9 -4X-> MTS14400 SL1-7 L12/P6
+	 L9/P9 -4X-> MTS14400 SL1-7 L1/P7
+	 L10/P9 -4X-> MTS14400 SL1-7 L2/P7
+	 L11/P9 -4X-> MTS14400 SL1-7 L3/P7
+	 L12/P9 -4X-> MTS14400 SL1-7 L4/P7
+	 L1/P10 -4X-> MTS14400 SL1-7 L5/P7
+	 L2/P10 -4X-> MTS14400 SL1-7 L6/P7
+	 L3/P10 -4X-> MTS14400 SL1-7 L7/P7
+	 L4/P10 -4X-> MTS14400 SL1-7 L8/P7
+	 L5/P10 -4X-> MTS14400 SL1-8 L5/P6
+	 L6/P10 -4X-> MTS14400 SL1-8 L6/P6
+	 L7/P10 -4X-> MTS14400 SL1-8 L7/P6
+	 L8/P10 -4X-> MTS14400 SL1-8 L8/P6
+	 L9/P10 -4X-> MTS14400 SL1-8 L9/P6
+	 L10/P10 -4X-> MTS14400 SL1-8 L10/P6
+	 L11/P10 -4X-> MTS14400 SL1-8 L11/P6
+	 L12/P10 -4X-> MTS14400 SL1-8 L12/P6
+	 L1/P11 -4X-> MTS14400 SL1-8 L1/P7
+	 L2/P11 -4X-> MTS14400 SL1-8 L2/P7
+	 L3/P11 -4X-> MTS14400 SL1-8 L3/P7
+	 L4/P11 -4X-> MTS14400 SL1-8 L4/P7
+	 L5/P11 -4X-> MTS14400 SL1-8 L5/P7
+	 L6/P11 -4X-> MTS14400 SL1-8 L6/P7
+	 L7/P11 -4X-> MTS14400 SL1-8 L7/P7
+	 L8/P11 -4X-> MTS14400 SL1-8 L8/P7
+
+MTS14400 SL2-2
+	 L1/P1 -4X-> MTS14400 SL1-1 L9/P7
+	 L2/P1 -4X-> MTS14400 SL1-1 L10/P7
+	 L3/P1 -4X-> MTS14400 SL1-1 L11/P7
+	 L4/P1 -4X-> MTS14400 SL1-1 L12/P7
+	 L5/P1 -4X-> MTS14400 SL1-1 L1/P8
+	 L6/P1 -4X-> MTS14400 SL1-1 L2/P8
+	 L7/P1 -4X-> MTS14400 SL1-1 L3/P8
+	 L8/P1 -4X-> MTS14400 SL1-1 L4/P8
+	 L9/P1 -4X-> MTS14400 SL1-1 L5/P8
+	 L10/P1 -4X-> MTS14400 SL1-1 L6/P8
+	 L11/P1 -4X-> MTS14400 SL1-1 L7/P8
+	 L12/P1 -4X-> MTS14400 SL1-1 L8/P8
+	 L1/P2 -4X-> MTS14400 SL1-1 L9/P8
+	 L2/P2 -4X-> MTS14400 SL1-1 L10/P8
+	 L3/P2 -4X-> MTS14400 SL1-1 L11/P8
+	 L4/P2 -4X-> MTS14400 SL1-1 L12/P8
+	 L5/P2 -4X-> MTS14400 SL1-2 L9/P7
+	 L6/P2 -4X-> MTS14400 SL1-2 L10/P7
+	 L7/P2 -4X-> MTS14400 SL1-2 L11/P7
+	 L8/P2 -4X-> MTS14400 SL1-2 L12/P7
+	 L9/P2 -4X-> MTS14400 SL1-2 L1/P8
+	 L10/P2 -4X-> MTS14400 SL1-2 L2/P8
+	 L11/P2 -4X-> MTS14400 SL1-2 L3/P8
+	 L12/P2 -4X-> MTS14400 SL1-2 L4/P8
+	 L1/P3 -4X-> MTS14400 SL1-2 L5/P8
+	 L2/P3 -4X-> MTS14400 SL1-2 L6/P8
+	 L3/P3 -4X-> MTS14400 SL1-2 L7/P8
+	 L4/P3 -4X-> MTS14400 SL1-2 L8/P8
+	 L5/P3 -4X-> MTS14400 SL1-2 L9/P8
+	 L6/P3 -4X-> MTS14400 SL1-2 L10/P8
+	 L7/P3 -4X-> MTS14400 SL1-2 L11/P8
+	 L8/P3 -4X-> MTS14400 SL1-2 L12/P8
+	 L9/P3 -4X-> MTS14400 SL1-3 L9/P7
+	 L10/P3 -4X-> MTS14400 SL1-3 L10/P7
+	 L11/P3 -4X-> MTS14400 SL1-3 L11/P7
+	 L12/P3 -4X-> MTS14400 SL1-3 L12/P7
+	 L1/P4 -4X-> MTS14400 SL1-3 L1/P8
+	 L2/P4 -4X-> MTS14400 SL1-3 L2/P8
+	 L3/P4 -4X-> MTS14400 SL1-3 L3/P8
+	 L4/P4 -4X-> MTS14400 SL1-3 L4/P8
+	 L5/P4 -4X-> MTS14400 SL1-3 L5/P8
+	 L6/P4 -4X-> MTS14400 SL1-3 L6/P8
+	 L7/P4 -4X-> MTS14400 SL1-3 L7/P8
+	 L8/P4 -4X-> MTS14400 SL1-3 L8/P8
+	 L9/P4 -4X-> MTS14400 SL1-3 L9/P8
+	 L10/P4 -4X-> MTS14400 SL1-3 L10/P8
+	 L11/P4 -4X-> MTS14400 SL1-3 L11/P8
+	 L12/P4 -4X-> MTS14400 SL1-3 L12/P8
+	 L1/P5 -4X-> MTS14400 SL1-4 L9/P7
+	 L2/P5 -4X-> MTS14400 SL1-4 L10/P7
+	 L3/P5 -4X-> MTS14400 SL1-4 L11/P7
+	 L4/P5 -4X-> MTS14400 SL1-4 L12/P7
+	 L5/P5 -4X-> MTS14400 SL1-4 L1/P8
+	 L6/P5 -4X-> MTS14400 SL1-4 L2/P8
+	 L7/P5 -4X-> MTS14400 SL1-4 L3/P8
+	 L8/P5 -4X-> MTS14400 SL1-4 L4/P8
+	 L9/P5 -4X-> MTS14400 SL1-4 L5/P8
+	 L10/P5 -4X-> MTS14400 SL1-4 L6/P8
+	 L11/P5 -4X-> MTS14400 SL1-4 L7/P8
+	 L12/P5 -4X-> MTS14400 SL1-4 L8/P8
+	 L1/P6 -4X-> MTS14400 SL1-4 L9/P8
+	 L2/P6 -4X-> MTS14400 SL1-4 L10/P8
+	 L3/P6 -4X-> MTS14400 SL1-4 L11/P8
+	 L4/P6 -4X-> MTS14400 SL1-4 L12/P8
+	 L5/P6 -4X-> MTS14400 SL1-5 L9/P7
+	 L6/P6 -4X-> MTS14400 SL1-5 L10/P7
+	 L7/P6 -4X-> MTS14400 SL1-5 L11/P7
+	 L8/P6 -4X-> MTS14400 SL1-5 L12/P7
+	 L9/P6 -4X-> MTS14400 SL1-5 L1/P8
+	 L10/P6 -4X-> MTS14400 SL1-5 L2/P8
+	 L11/P6 -4X-> MTS14400 SL1-5 L3/P8
+	 L12/P6 -4X-> MTS14400 SL1-5 L4/P8
+	 L1/P7 -4X-> MTS14400 SL1-5 L5/P8
+	 L2/P7 -4X-> MTS14400 SL1-5 L6/P8
+	 L3/P7 -4X-> MTS14400 SL1-5 L7/P8
+	 L4/P7 -4X-> MTS14400 SL1-5 L8/P8
+	 L5/P7 -4X-> MTS14400 SL1-5 L9/P8
+	 L6/P7 -4X-> MTS14400 SL1-5 L10/P8
+	 L7/P7 -4X-> MTS14400 SL1-5 L11/P8
+	 L8/P7 -4X-> MTS14400 SL1-5 L12/P8
+	 L9/P7 -4X-> MTS14400 SL1-6 L9/P7
+	 L10/P7 -4X-> MTS14400 SL1-6 L10/P7
+	 L11/P7 -4X-> MTS14400 SL1-6 L11/P7
+	 L12/P7 -4X-> MTS14400 SL1-6 L12/P7
+	 L1/P8 -4X-> MTS14400 SL1-6 L1/P8
+	 L2/P8 -4X-> MTS14400 SL1-6 L2/P8
+	 L3/P8 -4X-> MTS14400 SL1-6 L3/P8
+	 L4/P8 -4X-> MTS14400 SL1-6 L4/P8
+	 L5/P8 -4X-> MTS14400 SL1-6 L5/P8
+	 L6/P8 -4X-> MTS14400 SL1-6 L6/P8
+	 L7/P8 -4X-> MTS14400 SL1-6 L7/P8
+	 L8/P8 -4X-> MTS14400 SL1-6 L8/P8
+	 L9/P8 -4X-> MTS14400 SL1-6 L9/P8
+	 L10/P8 -4X-> MTS14400 SL1-6 L10/P8
+	 L11/P8 -4X-> MTS14400 SL1-6 L11/P8
+	 L12/P8 -4X-> MTS14400 SL1-6 L12/P8
+	 L1/P9 -4X-> MTS14400 SL1-7 L9/P7
+	 L2/P9 -4X-> MTS14400 SL1-7 L10/P7
+	 L3/P9 -4X-> MTS14400 SL1-7 L11/P7
+	 L4/P9 -4X-> MTS14400 SL1-7 L12/P7
+	 L5/P9 -4X-> MTS14400 SL1-7 L1/P8
+	 L6/P9 -4X-> MTS14400 SL1-7 L2/P8
+	 L7/P9 -4X-> MTS14400 SL1-7 L3/P8
+	 L8/P9 -4X-> MTS14400 SL1-7 L4/P8
+	 L9/P9 -4X-> MTS14400 SL1-7 L5/P8
+	 L10/P9 -4X-> MTS14400 SL1-7 L6/P8
+	 L11/P9 -4X-> MTS14400 SL1-7 L7/P8
+	 L12/P9 -4X-> MTS14400 SL1-7 L8/P8
+	 L1/P10 -4X-> MTS14400 SL1-7 L9/P8
+	 L2/P10 -4X-> MTS14400 SL1-7 L10/P8
+	 L3/P10 -4X-> MTS14400 SL1-7 L11/P8
+	 L4/P10 -4X-> MTS14400 SL1-7 L12/P8
+	 L5/P10 -4X-> MTS14400 SL1-8 L9/P7
+	 L6/P10 -4X-> MTS14400 SL1-8 L10/P7
+	 L7/P10 -4X-> MTS14400 SL1-8 L11/P7
+	 L8/P10 -4X-> MTS14400 SL1-8 L12/P7
+	 L9/P10 -4X-> MTS14400 SL1-8 L1/P8
+	 L10/P10 -4X-> MTS14400 SL1-8 L2/P8
+	 L11/P10 -4X-> MTS14400 SL1-8 L3/P8
+	 L12/P10 -4X-> MTS14400 SL1-8 L4/P8
+	 L1/P11 -4X-> MTS14400 SL1-8 L5/P8
+	 L2/P11 -4X-> MTS14400 SL1-8 L6/P8
+	 L3/P11 -4X-> MTS14400 SL1-8 L7/P8
+	 L4/P11 -4X-> MTS14400 SL1-8 L8/P8
+	 L5/P11 -4X-> MTS14400 SL1-8 L9/P8
+	 L6/P11 -4X-> MTS14400 SL1-8 L10/P8
+	 L7/P11 -4X-> MTS14400 SL1-8 L11/P8
+	 L8/P11 -4X-> MTS14400 SL1-8 L12/P8
+
+MTS14400 SL2-3
+	 L1/P1 -4X-> MTS14400 SL1-1 L1/P9
+	 L2/P1 -4X-> MTS14400 SL1-1 L2/P9
+	 L3/P1 -4X-> MTS14400 SL1-1 L3/P9
+	 L4/P1 -4X-> MTS14400 SL1-1 L4/P9
+	 L5/P1 -4X-> MTS14400 SL1-1 L5/P9
+	 L6/P1 -4X-> MTS14400 SL1-1 L6/P9
+	 L7/P1 -4X-> MTS14400 SL1-1 L7/P9
+	 L8/P1 -4X-> MTS14400 SL1-1 L8/P9
+	 L9/P1 -4X-> MTS14400 SL1-1 L9/P9
+	 L10/P1 -4X-> MTS14400 SL1-1 L10/P9
+	 L11/P1 -4X-> MTS14400 SL1-1 L11/P9
+	 L12/P1 -4X-> MTS14400 SL1-1 L12/P9
+	 L1/P2 -4X-> MTS14400 SL1-1 L1/P10
+	 L2/P2 -4X-> MTS14400 SL1-1 L2/P10
+	 L3/P2 -4X-> MTS14400 SL1-1 L3/P10
+	 L4/P2 -4X-> MTS14400 SL1-1 L4/P10
+	 L5/P2 -4X-> MTS14400 SL1-2 L1/P9
+	 L6/P2 -4X-> MTS14400 SL1-2 L2/P9
+	 L7/P2 -4X-> MTS14400 SL1-2 L3/P9
+	 L8/P2 -4X-> MTS14400 SL1-2 L4/P9
+	 L9/P2 -4X-> MTS14400 SL1-2 L5/P9
+	 L10/P2 -4X-> MTS14400 SL1-2 L6/P9
+	 L11/P2 -4X-> MTS14400 SL1-2 L7/P9
+	 L12/P2 -4X-> MTS14400 SL1-2 L8/P9
+	 L1/P3 -4X-> MTS14400 SL1-2 L9/P9
+	 L2/P3 -4X-> MTS14400 SL1-2 L10/P9
+	 L3/P3 -4X-> MTS14400 SL1-2 L11/P9
+	 L4/P3 -4X-> MTS14400 SL1-2 L12/P9
+	 L5/P3 -4X-> MTS14400 SL1-2 L1/P10
+	 L6/P3 -4X-> MTS14400 SL1-2 L2/P10
+	 L7/P3 -4X-> MTS14400 SL1-2 L3/P10
+	 L8/P3 -4X-> MTS14400 SL1-2 L4/P10
+	 L9/P3 -4X-> MTS14400 SL1-3 L1/P9
+	 L10/P3 -4X-> MTS14400 SL1-3 L2/P9
+	 L11/P3 -4X-> MTS14400 SL1-3 L3/P9
+	 L12/P3 -4X-> MTS14400 SL1-3 L4/P9
+	 L1/P4 -4X-> MTS14400 SL1-3 L5/P9
+	 L2/P4 -4X-> MTS14400 SL1-3 L6/P9
+	 L3/P4 -4X-> MTS14400 SL1-3 L7/P9
+	 L4/P4 -4X-> MTS14400 SL1-3 L8/P9
+	 L5/P4 -4X-> MTS14400 SL1-3 L9/P9
+	 L6/P4 -4X-> MTS14400 SL1-3 L10/P9
+	 L7/P4 -4X-> MTS14400 SL1-3 L11/P9
+	 L8/P4 -4X-> MTS14400 SL1-3 L12/P9
+	 L9/P4 -4X-> MTS14400 SL1-3 L1/P10
+	 L10/P4 -4X-> MTS14400 SL1-3 L2/P10
+	 L11/P4 -4X-> MTS14400 SL1-3 L3/P10
+	 L12/P4 -4X-> MTS14400 SL1-3 L4/P10
+	 L1/P5 -4X-> MTS14400 SL1-4 L1/P9
+	 L2/P5 -4X-> MTS14400 SL1-4 L2/P9
+	 L3/P5 -4X-> MTS14400 SL1-4 L3/P9
+	 L4/P5 -4X-> MTS14400 SL1-4 L4/P9
+	 L5/P5 -4X-> MTS14400 SL1-4 L5/P9
+	 L6/P5 -4X-> MTS14400 SL1-4 L6/P9
+	 L7/P5 -4X-> MTS14400 SL1-4 L7/P9
+	 L8/P5 -4X-> MTS14400 SL1-4 L8/P9
+	 L9/P5 -4X-> MTS14400 SL1-4 L9/P9
+	 L10/P5 -4X-> MTS14400 SL1-4 L10/P9
+	 L11/P5 -4X-> MTS14400 SL1-4 L11/P9
+	 L12/P5 -4X-> MTS14400 SL1-4 L12/P9
+	 L1/P6 -4X-> MTS14400 SL1-4 L1/P10
+	 L2/P6 -4X-> MTS14400 SL1-4 L2/P10
+	 L3/P6 -4X-> MTS14400 SL1-4 L3/P10
+	 L4/P6 -4X-> MTS14400 SL1-4 L4/P10
+	 L5/P6 -4X-> MTS14400 SL1-5 L1/P9
+	 L6/P6 -4X-> MTS14400 SL1-5 L2/P9
+	 L7/P6 -4X-> MTS14400 SL1-5 L3/P9
+	 L8/P6 -4X-> MTS14400 SL1-5 L4/P9
+	 L9/P6 -4X-> MTS14400 SL1-5 L5/P9
+	 L10/P6 -4X-> MTS14400 SL1-5 L6/P9
+	 L11/P6 -4X-> MTS14400 SL1-5 L7/P9
+	 L12/P6 -4X-> MTS14400 SL1-5 L8/P9
+	 L1/P7 -4X-> MTS14400 SL1-5 L9/P9
+	 L2/P7 -4X-> MTS14400 SL1-5 L10/P9
+	 L3/P7 -4X-> MTS14400 SL1-5 L11/P9
+	 L4/P7 -4X-> MTS14400 SL1-5 L12/P9
+	 L5/P7 -4X-> MTS14400 SL1-5 L1/P10
+	 L6/P7 -4X-> MTS14400 SL1-5 L2/P10
+	 L7/P7 -4X-> MTS14400 SL1-5 L3/P10
+	 L8/P7 -4X-> MTS14400 SL1-5 L4/P10
+	 L9/P7 -4X-> MTS14400 SL1-6 L1/P9
+	 L10/P7 -4X-> MTS14400 SL1-6 L2/P9
+	 L11/P7 -4X-> MTS14400 SL1-6 L3/P9
+	 L12/P7 -4X-> MTS14400 SL1-6 L4/P9
+	 L1/P8 -4X-> MTS14400 SL1-6 L5/P9
+	 L2/P8 -4X-> MTS14400 SL1-6 L6/P9
+	 L3/P8 -4X-> MTS14400 SL1-6 L7/P9
+	 L4/P8 -4X-> MTS14400 SL1-6 L8/P9
+	 L5/P8 -4X-> MTS14400 SL1-6 L9/P9
+	 L6/P8 -4X-> MTS14400 SL1-6 L10/P9
+	 L7/P8 -4X-> MTS14400 SL1-6 L11/P9
+	 L8/P8 -4X-> MTS14400 SL1-6 L12/P9
+	 L9/P8 -4X-> MTS14400 SL1-6 L1/P10
+	 L10/P8 -4X-> MTS14400 SL1-6 L2/P10
+	 L11/P8 -4X-> MTS14400 SL1-6 L3/P10
+	 L12/P8 -4X-> MTS14400 SL1-6 L4/P10
+	 L1/P9 -4X-> MTS14400 SL1-7 L1/P9
+	 L2/P9 -4X-> MTS14400 SL1-7 L2/P9
+	 L3/P9 -4X-> MTS14400 SL1-7 L3/P9
+	 L4/P9 -4X-> MTS14400 SL1-7 L4/P9
+	 L5/P9 -4X-> MTS14400 SL1-7 L5/P9
+	 L6/P9 -4X-> MTS14400 SL1-7 L6/P9
+	 L7/P9 -4X-> MTS14400 SL1-7 L7/P9
+	 L8/P9 -4X-> MTS14400 SL1-7 L8/P9
+	 L9/P9 -4X-> MTS14400 SL1-7 L9/P9
+	 L10/P9 -4X-> MTS14400 SL1-7 L10/P9
+	 L11/P9 -4X-> MTS14400 SL1-7 L11/P9
+	 L12/P9 -4X-> MTS14400 SL1-7 L12/P9
+	 L1/P10 -4X-> MTS14400 SL1-7 L1/P10
+	 L2/P10 -4X-> MTS14400 SL1-7 L2/P10
+	 L3/P10 -4X-> MTS14400 SL1-7 L3/P10
+	 L4/P10 -4X-> MTS14400 SL1-7 L4/P10
+	 L5/P10 -4X-> MTS14400 SL1-8 L1/P9
+	 L6/P10 -4X-> MTS14400 SL1-8 L2/P9
+	 L7/P10 -4X-> MTS14400 SL1-8 L3/P9
+	 L8/P10 -4X-> MTS14400 SL1-8 L4/P9
+	 L9/P10 -4X-> MTS14400 SL1-8 L5/P9
+	 L10/P10 -4X-> MTS14400 SL1-8 L6/P9
+	 L11/P10 -4X-> MTS14400 SL1-8 L7/P9
+	 L12/P10 -4X-> MTS14400 SL1-8 L8/P9
+	 L1/P11 -4X-> MTS14400 SL1-8 L9/P9
+	 L2/P11 -4X-> MTS14400 SL1-8 L10/P9
+	 L3/P11 -4X-> MTS14400 SL1-8 L11/P9
+	 L4/P11 -4X-> MTS14400 SL1-8 L12/P9
+	 L5/P11 -4X-> MTS14400 SL1-8 L1/P10
+	 L6/P11 -4X-> MTS14400 SL1-8 L2/P10
+	 L7/P11 -4X-> MTS14400 SL1-8 L3/P10
+	 L8/P11 -4X-> MTS14400 SL1-8 L4/P10
+
+MTS14400 SL2-4
+	 L1/P1 -4X-> MTS14400 SL1-1 L5/P10
+	 L2/P1 -4X-> MTS14400 SL1-1 L6/P10
+	 L3/P1 -4X-> MTS14400 SL1-1 L7/P10
+	 L4/P1 -4X-> MTS14400 SL1-1 L8/P10
+	 L5/P1 -4X-> MTS14400 SL1-1 L9/P10
+	 L6/P1 -4X-> MTS14400 SL1-1 L10/P10
+	 L7/P1 -4X-> MTS14400 SL1-1 L11/P10
+	 L8/P1 -4X-> MTS14400 SL1-1 L12/P10
+	 L9/P1 -4X-> MTS14400 SL1-1 L1/P11
+	 L10/P1 -4X-> MTS14400 SL1-1 L2/P11
+	 L11/P1 -4X-> MTS14400 SL1-1 L3/P11
+	 L12/P1 -4X-> MTS14400 SL1-1 L4/P11
+	 L1/P2 -4X-> MTS14400 SL1-1 L5/P11
+	 L2/P2 -4X-> MTS14400 SL1-1 L6/P11
+	 L3/P2 -4X-> MTS14400 SL1-1 L7/P11
+	 L4/P2 -4X-> MTS14400 SL1-1 L8/P11
+	 L5/P2 -4X-> MTS14400 SL1-2 L5/P10
+	 L6/P2 -4X-> MTS14400 SL1-2 L6/P10
+	 L7/P2 -4X-> MTS14400 SL1-2 L7/P10
+	 L8/P2 -4X-> MTS14400 SL1-2 L8/P10
+	 L9/P2 -4X-> MTS14400 SL1-2 L9/P10
+	 L10/P2 -4X-> MTS14400 SL1-2 L10/P10
+	 L11/P2 -4X-> MTS14400 SL1-2 L11/P10
+	 L12/P2 -4X-> MTS14400 SL1-2 L12/P10
+	 L1/P3 -4X-> MTS14400 SL1-2 L1/P11
+	 L2/P3 -4X-> MTS14400 SL1-2 L2/P11
+	 L3/P3 -4X-> MTS14400 SL1-2 L3/P11
+	 L4/P3 -4X-> MTS14400 SL1-2 L4/P11
+	 L5/P3 -4X-> MTS14400 SL1-2 L5/P11
+	 L6/P3 -4X-> MTS14400 SL1-2 L6/P11
+	 L7/P3 -4X-> MTS14400 SL1-2 L7/P11
+	 L8/P3 -4X-> MTS14400 SL1-2 L8/P11
+	 L9/P3 -4X-> MTS14400 SL1-3 L5/P10
+	 L10/P3 -4X-> MTS14400 SL1-3 L6/P10
+	 L11/P3 -4X-> MTS14400 SL1-3 L7/P10
+	 L12/P3 -4X-> MTS14400 SL1-3 L8/P10
+	 L1/P4 -4X-> MTS14400 SL1-3 L9/P10
+	 L2/P4 -4X-> MTS14400 SL1-3 L10/P10
+	 L3/P4 -4X-> MTS14400 SL1-3 L11/P10
+	 L4/P4 -4X-> MTS14400 SL1-3 L12/P10
+	 L5/P4 -4X-> MTS14400 SL1-3 L1/P11
+	 L6/P4 -4X-> MTS14400 SL1-3 L2/P11
+	 L7/P4 -4X-> MTS14400 SL1-3 L3/P11
+	 L8/P4 -4X-> MTS14400 SL1-3 L4/P11
+	 L9/P4 -4X-> MTS14400 SL1-3 L5/P11
+	 L10/P4 -4X-> MTS14400 SL1-3 L6/P11
+	 L11/P4 -4X-> MTS14400 SL1-3 L7/P11
+	 L12/P4 -4X-> MTS14400 SL1-3 L8/P11
+	 L1/P5 -4X-> MTS14400 SL1-4 L5/P10
+	 L2/P5 -4X-> MTS14400 SL1-4 L6/P10
+	 L3/P5 -4X-> MTS14400 SL1-4 L7/P10
+	 L4/P5 -4X-> MTS14400 SL1-4 L8/P10
+	 L5/P5 -4X-> MTS14400 SL1-4 L9/P10
+	 L6/P5 -4X-> MTS14400 SL1-4 L10/P10
+	 L7/P5 -4X-> MTS14400 SL1-4 L11/P10
+	 L8/P5 -4X-> MTS14400 SL1-4 L12/P10
+	 L9/P5 -4X-> MTS14400 SL1-4 L1/P11
+	 L10/P5 -4X-> MTS14400 SL1-4 L2/P11
+	 L11/P5 -4X-> MTS14400 SL1-4 L3/P11
+	 L12/P5 -4X-> MTS14400 SL1-4 L4/P11
+	 L1/P6 -4X-> MTS14400 SL1-4 L5/P11
+	 L2/P6 -4X-> MTS14400 SL1-4 L6/P11
+	 L3/P6 -4X-> MTS14400 SL1-4 L7/P11
+	 L4/P6 -4X-> MTS14400 SL1-4 L8/P11
+	 L5/P6 -4X-> MTS14400 SL1-5 L5/P10
+	 L6/P6 -4X-> MTS14400 SL1-5 L6/P10
+	 L7/P6 -4X-> MTS14400 SL1-5 L7/P10
+	 L8/P6 -4X-> MTS14400 SL1-5 L8/P10
+	 L9/P6 -4X-> MTS14400 SL1-5 L9/P10
+	 L10/P6 -4X-> MTS14400 SL1-5 L10/P10
+	 L11/P6 -4X-> MTS14400 SL1-5 L11/P10
+	 L12/P6 -4X-> MTS14400 SL1-5 L12/P10
+	 L1/P7 -4X-> MTS14400 SL1-5 L1/P11
+	 L2/P7 -4X-> MTS14400 SL1-5 L2/P11
+	 L3/P7 -4X-> MTS14400 SL1-5 L3/P11
+	 L4/P7 -4X-> MTS14400 SL1-5 L4/P11
+	 L5/P7 -4X-> MTS14400 SL1-5 L5/P11
+	 L6/P7 -4X-> MTS14400 SL1-5 L6/P11
+	 L7/P7 -4X-> MTS14400 SL1-5 L7/P11
+	 L8/P7 -4X-> MTS14400 SL1-5 L8/P11
+	 L9/P7 -4X-> MTS14400 SL1-6 L5/P10
+	 L10/P7 -4X-> MTS14400 SL1-6 L6/P10
+	 L11/P7 -4X-> MTS14400 SL1-6 L7/P10
+	 L12/P7 -4X-> MTS14400 SL1-6 L8/P10
+	 L1/P8 -4X-> MTS14400 SL1-6 L9/P10
+	 L2/P8 -4X-> MTS14400 SL1-6 L10/P10
+	 L3/P8 -4X-> MTS14400 SL1-6 L11/P10
+	 L4/P8 -4X-> MTS14400 SL1-6 L12/P10
+	 L5/P8 -4X-> MTS14400 SL1-6 L1/P11
+	 L6/P8 -4X-> MTS14400 SL1-6 L2/P11
+	 L7/P8 -4X-> MTS14400 SL1-6 L3/P11
+	 L8/P8 -4X-> MTS14400 SL1-6 L4/P11
+	 L9/P8 -4X-> MTS14400 SL1-6 L5/P11
+	 L10/P8 -4X-> MTS14400 SL1-6 L6/P11
+	 L11/P8 -4X-> MTS14400 SL1-6 L7/P11
+	 L12/P8 -4X-> MTS14400 SL1-6 L8/P11
+	 L1/P9 -4X-> MTS14400 SL1-7 L5/P10
+	 L2/P9 -4X-> MTS14400 SL1-7 L6/P10
+	 L3/P9 -4X-> MTS14400 SL1-7 L7/P10
+	 L4/P9 -4X-> MTS14400 SL1-7 L8/P10
+	 L5/P9 -4X-> MTS14400 SL1-7 L9/P10
+	 L6/P9 -4X-> MTS14400 SL1-7 L10/P10
+	 L7/P9 -4X-> MTS14400 SL1-7 L11/P10
+	 L8/P9 -4X-> MTS14400 SL1-7 L12/P10
+	 L9/P9 -4X-> MTS14400 SL1-7 L1/P11
+	 L10/P9 -4X-> MTS14400 SL1-7 L2/P11
+	 L11/P9 -4X-> MTS14400 SL1-7 L3/P11
+	 L12/P9 -4X-> MTS14400 SL1-7 L4/P11
+	 L1/P10 -4X-> MTS14400 SL1-7 L5/P11
+	 L2/P10 -4X-> MTS14400 SL1-7 L6/P11
+	 L3/P10 -4X-> MTS14400 SL1-7 L7/P11
+	 L4/P10 -4X-> MTS14400 SL1-7 L8/P11
+	 L5/P10 -4X-> MTS14400 SL1-8 L5/P10
+	 L6/P10 -4X-> MTS14400 SL1-8 L6/P10
+	 L7/P10 -4X-> MTS14400 SL1-8 L7/P10
+	 L8/P10 -4X-> MTS14400 SL1-8 L8/P10
+	 L9/P10 -4X-> MTS14400 SL1-8 L9/P10
+	 L10/P10 -4X-> MTS14400 SL1-8 L10/P10
+	 L11/P10 -4X-> MTS14400 SL1-8 L11/P10
+	 L12/P10 -4X-> MTS14400 SL1-8 L12/P10
+	 L1/P11 -4X-> MTS14400 SL1-8 L1/P11
+	 L2/P11 -4X-> MTS14400 SL1-8 L2/P11
+	 L3/P11 -4X-> MTS14400 SL1-8 L3/P11
+	 L4/P11 -4X-> MTS14400 SL1-8 L4/P11
+	 L5/P11 -4X-> MTS14400 SL1-8 L5/P11
+	 L6/P11 -4X-> MTS14400 SL1-8 L6/P11
+	 L7/P11 -4X-> MTS14400 SL1-8 L7/P11
+	 L8/P11 -4X-> MTS14400 SL1-8 L8/P11
diff --git a/ibmgtsim/tests/RhinoDDR.topo b/ibmgtsim/tests/RhinoDDR.topo
new file mode 100644
index 0000000..a9ae7fa
--- /dev/null
+++ b/ibmgtsim/tests/RhinoDDR.topo
@@ -0,0 +1,145 @@
+MTS14400-DDR SW
+  L1/P1 -> Cougar H-1 P1
+  L1/P2 -> Cougar H-2 P1
+  L1/P3 -> Cougar H-3 P1
+  L1/P4 -> Cougar H-4 P1
+  L1/P5 -> Cougar H-5 P1
+  L1/P6 -> Cougar H-6 P1
+  L1/P7 -> Cougar H-7 P1
+  L1/P8 -> Cougar H-8 P1
+  L1/P9 -> Cougar H-9 P1
+  L1/P10 -> Cougar H-10 P1
+  L1/P11 -> Cougar H-11 P1
+  L1/P12 -> Cougar H-12 P1
+  L2/P1 -> Cougar H-13 P1
+  L2/P2 -> Cougar H-14 P1
+  L2/P3 -> Cougar H-15 P1
+  L2/P4 -> Cougar H-16 P1
+  L2/P5 -> Cougar H-17 P1
+  L2/P6 -> Cougar H-18 P1
+  L2/P7 -> Cougar H-19 P1
+  L2/P8 -> Cougar H-20 P1
+  L2/P9 -> Cougar H-21 P1
+  L2/P10 -> Cougar H-22 P1
+  L2/P11 -> Cougar H-23 P1
+  L2/P12 -> Cougar H-24 P1
+  L3/P1 -> Cougar H-25 P1
+  L3/P2 -> Cougar H-26 P1
+  L3/P3 -> Cougar H-27 P1
+  L3/P4 -> Cougar H-28 P1
+  L3/P5 -> Cougar H-29 P1
+  L3/P6 -> Cougar H-30 P1
+  L3/P7 -> Cougar H-31 P1
+  L3/P8 -> Cougar H-32 P1
+  L3/P9 -> Cougar H-33 P1
+  L3/P10 -> Cougar H-34 P1
+  L3/P11 -> Cougar H-35 P1
+  L3/P12 -> Cougar H-36 P1
+  L4/P1 -> Cougar H-37 P1
+  L4/P2 -> Cougar H-38 P1
+  L4/P3 -> Cougar H-39 P1
+  L4/P4 -> Cougar H-40 P1
+  L4/P5 -> Cougar H-41 P1
+  L4/P6 -> Cougar H-42 P1
+  L4/P7 -> Cougar H-43 P1
+  L4/P8 -> Cougar H-44 P1
+  L4/P9 -> Cougar H-45 P1
+  L4/P10 -> Cougar H-46 P1
+  L4/P11 -> Cougar H-47 P1
+  L4/P12 -> Cougar H-48 P1
+  L5/P1 -> Cougar H-49 P1
+  L5/P2 -> Cougar H-50 P1
+  L5/P3 -> Cougar H-51 P1
+  L5/P4 -> Cougar H-52 P1
+  L5/P5 -> Cougar H-53 P1
+  L5/P6 -> Cougar H-54 P1
+  L5/P7 -> Cougar H-55 P1
+  L5/P8 -> Cougar H-56 P1
+  L5/P9 -> Cougar H-57 P1
+  L5/P10 -> Cougar H-58 P1
+  L5/P11 -> Cougar H-59 P1
+  L5/P12 -> Cougar H-60 P1
+  L6/P1 -> Cougar H-61 P1
+  L6/P2 -> Cougar H-62 P1
+  L6/P3 -> Cougar H-63 P1
+  L6/P4 -> Cougar H-64 P1
+  L6/P5 -> Cougar H-65 P1
+  L6/P6 -> Cougar H-66 P1
+  L6/P7 -> Cougar H-67 P1
+  L6/P8 -> Cougar H-68 P1
+  L6/P9 -> Cougar H-69 P1
+  L6/P10 -> Cougar H-70 P1
+  L6/P11 -> Cougar H-71 P1
+  L6/P12 -> Cougar H-72 P1
+  L7/P1 -> Cougar H-73 P1
+  L7/P2 -> Cougar H-74 P1
+  L7/P3 -> Cougar H-75 P1
+  L7/P4 -> Cougar H-76 P1
+  L7/P5 -> Cougar H-77 P1
+  L7/P6 -> Cougar H-78 P1
+  L7/P7 -> Cougar H-79 P1
+  L7/P8 -> Cougar H-80 P1
+  L7/P9 -> Cougar H-81 P1
+  L7/P10 -> Cougar H-82 P1
+  L7/P11 -> Cougar H-83 P1
+  L7/P12 -> Cougar H-84 P1
+  L8/P1 -> Cougar H-85 P1
+  L8/P2 -> Cougar H-86 P1
+  L8/P3 -> Cougar H-87 P1
+  L8/P4 -> Cougar H-88 P1
+  L8/P5 -> Cougar H-89 P1
+  L8/P6 -> Cougar H-90 P1
+  L8/P7 -> Cougar H-91 P1
+  L8/P8 -> Cougar H-92 P1
+  L8/P9 -> Cougar H-93 P1
+  L8/P10 -> Cougar H-94 P1
+  L8/P11 -> Cougar H-95 P1
+  L8/P12 -> Cougar H-96 P1
+  L9/P1 -> Cougar H-97 P1
+  L9/P2 -> Cougar H-98 P1
+  L9/P3 -> Cougar H-99 P1
+  L9/P4 -> Cougar H-100 P1
+  L9/P5 -> Cougar H-101 P1
+  L9/P6 -> Cougar H-102 P1
+  L9/P7 -> Cougar H-103 P1
+  L9/P8 -> Cougar H-104 P1
+  L9/P9 -> Cougar H-105 P1
+  L9/P10 -> Cougar H-106 P1
+  L9/P11 -> Cougar H-107 P1
+  L9/P12 -> Cougar H-108 P1
+  L10/P1 -> Cougar H-109 P1
+  L10/P2 -> Cougar H-110 P1
+  L10/P3 -> Cougar H-111 P1
+  L10/P4 -> Cougar H-112 P1
+  L10/P5 -> Cougar H-113 P1
+  L10/P6 -> Cougar H-114 P1
+  L10/P7 -> Cougar H-115 P1
+  L10/P8 -> Cougar H-116 P1
+  L10/P9 -> Cougar H-117 P1
+  L10/P10 -> Cougar H-118 P1
+  L10/P11 -> Cougar H-119 P1
+  L10/P12 -> Cougar H-120 P1
+  L11/P1 -> Cougar H-121 P1
+  L11/P2 -> Cougar H-122 P1
+  L11/P3 -> Cougar H-123 P1
+  L11/P4 -> Cougar H-124 P1
+  L11/P5 -> Cougar H-125 P1
+  L11/P6 -> Cougar H-126 P1
+  L11/P7 -> Cougar H-127 P1
+  L11/P8 -> Cougar H-128 P1
+  L11/P9 -> Cougar H-129 P1
+  L11/P10 -> Cougar H-130 P1
+  L11/P11 -> Cougar H-131 P1
+  L11/P12 -> Cougar H-132 P1
+  L12/P1 -> Cougar H-133 P1
+  L12/P2 -> Cougar H-134 P1
+  L12/P3 -> Cougar H-135 P1
+  L12/P4 -> Cougar H-136 P1
+  L12/P5 -> Cougar H-137 P1
+  L12/P6 -> Cougar H-138 P1
+  L12/P7 -> Cougar H-139 P1
+  L12/P8 -> Cougar H-140 P1
+  L12/P9 -> Cougar H-141 P1
+  L12/P10 -> Cougar H-142 P1
+  L12/P11 -> Cougar H-143 P1
+  L12/P12 -> Cougar H-144 P1
diff --git a/ibmgtsim/tests/RhinoReindeer1100.topo b/ibmgtsim/tests/RhinoReindeer1100.topo
new file mode 100644
index 0000000..66573bc
--- /dev/null
+++ b/ibmgtsim/tests/RhinoReindeer1100.topo
@@ -0,0 +1,1988 @@
+#---------------------------------------------------------------------
+#                     Mellanox Technologies LTD
+#                  Fat Tree Topology File Generator
+# Version: IBADM 1.6.1 , BUILD 20041223-1701 , CVS 1.1
+#
+# Fat Tree Specification:
+# Bandwidth Ratio ........ 3
+# Number of Hosts ........ 1100
+# Number of Levels ....... 2
+# Number of Ports/Level .. 24 144
+#
+# Rack Config File ....... UNDEFINED
+#
+#---------------------------------------------------------------------
+
+MTS2400 SL1-1
+	 P1 -> MT23108 H-1 P1
+	 P2 -> MT23108 H-2 P1
+	 P3 -> MT23108 H-3 P1
+	 P4 -> MT23108 H-4 P1
+	 P5 -> MT23108 H-5 P1
+	 P6 -> MT23108 H-6 P1
+	 P7 -> MT23108 H-7 P1
+	 P8 -> MT23108 H-8 P1
+	 P9 -> MT23108 H-9 P1
+	 P10 -> MT23108 H-10 P1
+	 P11 -> MT23108 H-11 P1
+	 P12 -> MT23108 H-12 P1
+	 P13 -> MT23108 H-13 P1
+	 P14 -> MT23108 H-14 P1
+	 P15 -> MT23108 H-15 P1
+	 P16 -> MT23108 H-16 P1
+	 P17 -> MT23108 H-17 P1
+	 P18 -> MT23108 H-18 P1
+	 P19 -> MTS14400 SL2-1 L1/P1
+	 P20 -> MTS14400 SL2-1 L2/P1
+	 P21 -> MTS14400 SL2-2 L1/P1
+	 P22 -> MTS14400 SL2-2 L2/P1
+	 P23 -> MTS14400 SL2-3 L1/P1
+	 P24 -> MTS14400 SL2-3 L2/P1
+
+MTS2400 SL1-2
+	 P1 -> MT23108 H-19 P1
+	 P2 -> MT23108 H-20 P1
+	 P3 -> MT23108 H-21 P1
+	 P4 -> MT23108 H-22 P1
+	 P5 -> MT23108 H-23 P1
+	 P6 -> MT23108 H-24 P1
+	 P7 -> MT23108 H-25 P1
+	 P8 -> MT23108 H-26 P1
+	 P9 -> MT23108 H-27 P1
+	 P10 -> MT23108 H-28 P1
+	 P11 -> MT23108 H-29 P1
+	 P12 -> MT23108 H-30 P1
+	 P13 -> MT23108 H-31 P1
+	 P14 -> MT23108 H-32 P1
+	 P15 -> MT23108 H-33 P1
+	 P16 -> MT23108 H-34 P1
+	 P17 -> MT23108 H-35 P1
+	 P18 -> MT23108 H-36 P1
+	 P19 -> MTS14400 SL2-1 L3/P1
+	 P20 -> MTS14400 SL2-1 L4/P1
+	 P21 -> MTS14400 SL2-2 L3/P1
+	 P22 -> MTS14400 SL2-2 L4/P1
+	 P23 -> MTS14400 SL2-3 L3/P1
+	 P24 -> MTS14400 SL2-3 L4/P1
+
+MTS2400 SL1-3
+	 P1 -> MT23108 H-37 P1
+	 P2 -> MT23108 H-38 P1
+	 P3 -> MT23108 H-39 P1
+	 P4 -> MT23108 H-40 P1
+	 P5 -> MT23108 H-41 P1
+	 P6 -> MT23108 H-42 P1
+	 P7 -> MT23108 H-43 P1
+	 P8 -> MT23108 H-44 P1
+	 P9 -> MT23108 H-45 P1
+	 P10 -> MT23108 H-46 P1
+	 P11 -> MT23108 H-47 P1
+	 P12 -> MT23108 H-48 P1
+	 P13 -> MT23108 H-49 P1
+	 P14 -> MT23108 H-50 P1
+	 P15 -> MT23108 H-51 P1
+	 P16 -> MT23108 H-52 P1
+	 P17 -> MT23108 H-53 P1
+	 P18 -> MT23108 H-54 P1
+	 P19 -> MTS14400 SL2-1 L5/P1
+	 P20 -> MTS14400 SL2-1 L6/P1
+	 P21 -> MTS14400 SL2-2 L5/P1
+	 P22 -> MTS14400 SL2-2 L6/P1
+	 P23 -> MTS14400 SL2-3 L5/P1
+	 P24 -> MTS14400 SL2-3 L6/P1
+
+MTS2400 SL1-4
+	 P1 -> MT23108 H-55 P1
+	 P2 -> MT23108 H-56 P1
+	 P3 -> MT23108 H-57 P1
+	 P4 -> MT23108 H-58 P1
+	 P5 -> MT23108 H-59 P1
+	 P6 -> MT23108 H-60 P1
+	 P7 -> MT23108 H-61 P1
+	 P8 -> MT23108 H-62 P1
+	 P9 -> MT23108 H-63 P1
+	 P10 -> MT23108 H-64 P1
+	 P11 -> MT23108 H-65 P1
+	 P12 -> MT23108 H-66 P1
+	 P13 -> MT23108 H-67 P1
+	 P14 -> MT23108 H-68 P1
+	 P15 -> MT23108 H-69 P1
+	 P16 -> MT23108 H-70 P1
+	 P17 -> MT23108 H-71 P1
+	 P18 -> MT23108 H-72 P1
+	 P19 -> MTS14400 SL2-1 L7/P1
+	 P20 -> MTS14400 SL2-1 L8/P1
+	 P21 -> MTS14400 SL2-2 L7/P1
+	 P22 -> MTS14400 SL2-2 L8/P1
+	 P23 -> MTS14400 SL2-3 L7/P1
+	 P24 -> MTS14400 SL2-3 L8/P1
+
+MTS2400 SL1-5
+	 P1 -> MT23108 H-73 P1
+	 P2 -> MT23108 H-74 P1
+	 P3 -> MT23108 H-75 P1
+	 P4 -> MT23108 H-76 P1
+	 P5 -> MT23108 H-77 P1
+	 P6 -> MT23108 H-78 P1
+	 P7 -> MT23108 H-79 P1
+	 P8 -> MT23108 H-80 P1
+	 P9 -> MT23108 H-81 P1
+	 P10 -> MT23108 H-82 P1
+	 P11 -> MT23108 H-83 P1
+	 P12 -> MT23108 H-84 P1
+	 P13 -> MT23108 H-85 P1
+	 P14 -> MT23108 H-86 P1
+	 P15 -> MT23108 H-87 P1
+	 P16 -> MT23108 H-88 P1
+	 P17 -> MT23108 H-89 P1
+	 P18 -> MT23108 H-90 P1
+	 P19 -> MTS14400 SL2-1 L9/P1
+	 P20 -> MTS14400 SL2-1 L10/P1
+	 P21 -> MTS14400 SL2-2 L9/P1
+	 P22 -> MTS14400 SL2-2 L10/P1
+	 P23 -> MTS14400 SL2-3 L9/P1
+	 P24 -> MTS14400 SL2-3 L10/P1
+
+MTS2400 SL1-6
+	 P1 -> MT23108 H-91 P1
+	 P2 -> MT23108 H-92 P1
+	 P3 -> MT23108 H-93 P1
+	 P4 -> MT23108 H-94 P1
+	 P5 -> MT23108 H-95 P1
+	 P6 -> MT23108 H-96 P1
+	 P7 -> MT23108 H-97 P1
+	 P8 -> MT23108 H-98 P1
+	 P9 -> MT23108 H-99 P1
+	 P10 -> MT23108 H-100 P1
+	 P11 -> MT23108 H-101 P1
+	 P12 -> MT23108 H-102 P1
+	 P13 -> MT23108 H-103 P1
+	 P14 -> MT23108 H-104 P1
+	 P15 -> MT23108 H-105 P1
+	 P16 -> MT23108 H-106 P1
+	 P17 -> MT23108 H-107 P1
+	 P18 -> MT23108 H-108 P1
+	 P19 -> MTS14400 SL2-1 L11/P1
+	 P20 -> MTS14400 SL2-1 L12/P1
+	 P21 -> MTS14400 SL2-2 L11/P1
+	 P22 -> MTS14400 SL2-2 L12/P1
+	 P23 -> MTS14400 SL2-3 L11/P1
+	 P24 -> MTS14400 SL2-3 L12/P1
+
+MTS2400 SL1-7
+	 P1 -> MT23108 H-109 P1
+	 P2 -> MT23108 H-110 P1
+	 P3 -> MT23108 H-111 P1
+	 P4 -> MT23108 H-112 P1
+	 P5 -> MT23108 H-113 P1
+	 P6 -> MT23108 H-114 P1
+	 P7 -> MT23108 H-115 P1
+	 P8 -> MT23108 H-116 P1
+	 P9 -> MT23108 H-117 P1
+	 P10 -> MT23108 H-118 P1
+	 P11 -> MT23108 H-119 P1
+	 P12 -> MT23108 H-120 P1
+	 P13 -> MT23108 H-121 P1
+	 P14 -> MT23108 H-122 P1
+	 P15 -> MT23108 H-123 P1
+	 P16 -> MT23108 H-124 P1
+	 P17 -> MT23108 H-125 P1
+	 P18 -> MT23108 H-126 P1
+	 P19 -> MTS14400 SL2-1 L1/P2
+	 P20 -> MTS14400 SL2-1 L2/P2
+	 P21 -> MTS14400 SL2-2 L1/P2
+	 P22 -> MTS14400 SL2-2 L2/P2
+	 P23 -> MTS14400 SL2-3 L1/P2
+	 P24 -> MTS14400 SL2-3 L2/P2
+
+MTS2400 SL1-8
+	 P1 -> MT23108 H-127 P1
+	 P2 -> MT23108 H-128 P1
+	 P3 -> MT23108 H-129 P1
+	 P4 -> MT23108 H-130 P1
+	 P5 -> MT23108 H-131 P1
+	 P6 -> MT23108 H-132 P1
+	 P7 -> MT23108 H-133 P1
+	 P8 -> MT23108 H-134 P1
+	 P9 -> MT23108 H-135 P1
+	 P10 -> MT23108 H-136 P1
+	 P11 -> MT23108 H-137 P1
+	 P12 -> MT23108 H-138 P1
+	 P13 -> MT23108 H-139 P1
+	 P14 -> MT23108 H-140 P1
+	 P15 -> MT23108 H-141 P1
+	 P16 -> MT23108 H-142 P1
+	 P17 -> MT23108 H-143 P1
+	 P18 -> MT23108 H-144 P1
+	 P19 -> MTS14400 SL2-1 L3/P2
+	 P20 -> MTS14400 SL2-1 L4/P2
+	 P21 -> MTS14400 SL2-2 L3/P2
+	 P22 -> MTS14400 SL2-2 L4/P2
+	 P23 -> MTS14400 SL2-3 L3/P2
+	 P24 -> MTS14400 SL2-3 L4/P2
+
+MTS2400 SL1-9
+	 P1 -> MT23108 H-145 P1
+	 P2 -> MT23108 H-146 P1
+	 P3 -> MT23108 H-147 P1
+	 P4 -> MT23108 H-148 P1
+	 P5 -> MT23108 H-149 P1
+	 P6 -> MT23108 H-150 P1
+	 P7 -> MT23108 H-151 P1
+	 P8 -> MT23108 H-152 P1
+	 P9 -> MT23108 H-153 P1
+	 P10 -> MT23108 H-154 P1
+	 P11 -> MT23108 H-155 P1
+	 P12 -> MT23108 H-156 P1
+	 P13 -> MT23108 H-157 P1
+	 P14 -> MT23108 H-158 P1
+	 P15 -> MT23108 H-159 P1
+	 P16 -> MT23108 H-160 P1
+	 P17 -> MT23108 H-161 P1
+	 P18 -> MT23108 H-162 P1
+	 P19 -> MTS14400 SL2-1 L5/P2
+	 P20 -> MTS14400 SL2-1 L6/P2
+	 P21 -> MTS14400 SL2-2 L5/P2
+	 P22 -> MTS14400 SL2-2 L6/P2
+	 P23 -> MTS14400 SL2-3 L5/P2
+	 P24 -> MTS14400 SL2-3 L6/P2
+
+MTS2400 SL1-10
+	 P1 -> MT23108 H-163 P1
+	 P2 -> MT23108 H-164 P1
+	 P3 -> MT23108 H-165 P1
+	 P4 -> MT23108 H-166 P1
+	 P5 -> MT23108 H-167 P1
+	 P6 -> MT23108 H-168 P1
+	 P7 -> MT23108 H-169 P1
+	 P8 -> MT23108 H-170 P1
+	 P9 -> MT23108 H-171 P1
+	 P10 -> MT23108 H-172 P1
+	 P11 -> MT23108 H-173 P1
+	 P12 -> MT23108 H-174 P1
+	 P13 -> MT23108 H-175 P1
+	 P14 -> MT23108 H-176 P1
+	 P15 -> MT23108 H-177 P1
+	 P16 -> MT23108 H-178 P1
+	 P17 -> MT23108 H-179 P1
+	 P18 -> MT23108 H-180 P1
+	 P19 -> MTS14400 SL2-1 L7/P2
+	 P20 -> MTS14400 SL2-1 L8/P2
+	 P21 -> MTS14400 SL2-2 L7/P2
+	 P22 -> MTS14400 SL2-2 L8/P2
+	 P23 -> MTS14400 SL2-3 L7/P2
+	 P24 -> MTS14400 SL2-3 L8/P2
+
+MTS2400 SL1-11
+	 P1 -> MT23108 H-181 P1
+	 P2 -> MT23108 H-182 P1
+	 P3 -> MT23108 H-183 P1
+	 P4 -> MT23108 H-184 P1
+	 P5 -> MT23108 H-185 P1
+	 P6 -> MT23108 H-186 P1
+	 P7 -> MT23108 H-187 P1
+	 P8 -> MT23108 H-188 P1
+	 P9 -> MT23108 H-189 P1
+	 P10 -> MT23108 H-190 P1
+	 P11 -> MT23108 H-191 P1
+	 P12 -> MT23108 H-192 P1
+	 P13 -> MT23108 H-193 P1
+	 P14 -> MT23108 H-194 P1
+	 P15 -> MT23108 H-195 P1
+	 P16 -> MT23108 H-196 P1
+	 P17 -> MT23108 H-197 P1
+	 P18 -> MT23108 H-198 P1
+	 P19 -> MTS14400 SL2-1 L9/P2
+	 P20 -> MTS14400 SL2-1 L10/P2
+	 P21 -> MTS14400 SL2-2 L9/P2
+	 P22 -> MTS14400 SL2-2 L10/P2
+	 P23 -> MTS14400 SL2-3 L9/P2
+	 P24 -> MTS14400 SL2-3 L10/P2
+
+MTS2400 SL1-12
+	 P1 -> MT23108 H-199 P1
+	 P2 -> MT23108 H-200 P1
+	 P3 -> MT23108 H-201 P1
+	 P4 -> MT23108 H-202 P1
+	 P5 -> MT23108 H-203 P1
+	 P6 -> MT23108 H-204 P1
+	 P7 -> MT23108 H-205 P1
+	 P8 -> MT23108 H-206 P1
+	 P9 -> MT23108 H-207 P1
+	 P10 -> MT23108 H-208 P1
+	 P11 -> MT23108 H-209 P1
+	 P12 -> MT23108 H-210 P1
+	 P13 -> MT23108 H-211 P1
+	 P14 -> MT23108 H-212 P1
+	 P15 -> MT23108 H-213 P1
+	 P16 -> MT23108 H-214 P1
+	 P17 -> MT23108 H-215 P1
+	 P18 -> MT23108 H-216 P1
+	 P19 -> MTS14400 SL2-1 L11/P2
+	 P20 -> MTS14400 SL2-1 L12/P2
+	 P21 -> MTS14400 SL2-2 L11/P2
+	 P22 -> MTS14400 SL2-2 L12/P2
+	 P23 -> MTS14400 SL2-3 L11/P2
+	 P24 -> MTS14400 SL2-3 L12/P2
+
+MTS2400 SL1-13
+	 P1 -> MT23108 H-217 P1
+	 P2 -> MT23108 H-218 P1
+	 P3 -> MT23108 H-219 P1
+	 P4 -> MT23108 H-220 P1
+	 P5 -> MT23108 H-221 P1
+	 P6 -> MT23108 H-222 P1
+	 P7 -> MT23108 H-223 P1
+	 P8 -> MT23108 H-224 P1
+	 P9 -> MT23108 H-225 P1
+	 P10 -> MT23108 H-226 P1
+	 P11 -> MT23108 H-227 P1
+	 P12 -> MT23108 H-228 P1
+	 P13 -> MT23108 H-229 P1
+	 P14 -> MT23108 H-230 P1
+	 P15 -> MT23108 H-231 P1
+	 P16 -> MT23108 H-232 P1
+	 P17 -> MT23108 H-233 P1
+	 P18 -> MT23108 H-234 P1
+	 P19 -> MTS14400 SL2-1 L1/P3
+	 P20 -> MTS14400 SL2-1 L2/P3
+	 P21 -> MTS14400 SL2-2 L1/P3
+	 P22 -> MTS14400 SL2-2 L2/P3
+	 P23 -> MTS14400 SL2-3 L1/P3
+	 P24 -> MTS14400 SL2-3 L2/P3
+
+MTS2400 SL1-14
+	 P1 -> MT23108 H-235 P1
+	 P2 -> MT23108 H-236 P1
+	 P3 -> MT23108 H-237 P1
+	 P4 -> MT23108 H-238 P1
+	 P5 -> MT23108 H-239 P1
+	 P6 -> MT23108 H-240 P1
+	 P7 -> MT23108 H-241 P1
+	 P8 -> MT23108 H-242 P1
+	 P9 -> MT23108 H-243 P1
+	 P10 -> MT23108 H-244 P1
+	 P11 -> MT23108 H-245 P1
+	 P12 -> MT23108 H-246 P1
+	 P13 -> MT23108 H-247 P1
+	 P14 -> MT23108 H-248 P1
+	 P15 -> MT23108 H-249 P1
+	 P16 -> MT23108 H-250 P1
+	 P17 -> MT23108 H-251 P1
+	 P18 -> MT23108 H-252 P1
+	 P19 -> MTS14400 SL2-1 L3/P3
+	 P20 -> MTS14400 SL2-1 L4/P3
+	 P21 -> MTS14400 SL2-2 L3/P3
+	 P22 -> MTS14400 SL2-2 L4/P3
+	 P23 -> MTS14400 SL2-3 L3/P3
+	 P24 -> MTS14400 SL2-3 L4/P3
+
+MTS2400 SL1-15
+	 P1 -> MT23108 H-253 P1
+	 P2 -> MT23108 H-254 P1
+	 P3 -> MT23108 H-255 P1
+	 P4 -> MT23108 H-256 P1
+	 P5 -> MT23108 H-257 P1
+	 P6 -> MT23108 H-258 P1
+	 P7 -> MT23108 H-259 P1
+	 P8 -> MT23108 H-260 P1
+	 P9 -> MT23108 H-261 P1
+	 P10 -> MT23108 H-262 P1
+	 P11 -> MT23108 H-263 P1
+	 P12 -> MT23108 H-264 P1
+	 P13 -> MT23108 H-265 P1
+	 P14 -> MT23108 H-266 P1
+	 P15 -> MT23108 H-267 P1
+	 P16 -> MT23108 H-268 P1
+	 P17 -> MT23108 H-269 P1
+	 P18 -> MT23108 H-270 P1
+	 P19 -> MTS14400 SL2-1 L5/P3
+	 P20 -> MTS14400 SL2-1 L6/P3
+	 P21 -> MTS14400 SL2-2 L5/P3
+	 P22 -> MTS14400 SL2-2 L6/P3
+	 P23 -> MTS14400 SL2-3 L5/P3
+	 P24 -> MTS14400 SL2-3 L6/P3
+
+MTS2400 SL1-16
+	 P1 -> MT23108 H-271 P1
+	 P2 -> MT23108 H-272 P1
+	 P3 -> MT23108 H-273 P1
+	 P4 -> MT23108 H-274 P1
+	 P5 -> MT23108 H-275 P1
+	 P6 -> MT23108 H-276 P1
+	 P7 -> MT23108 H-277 P1
+	 P8 -> MT23108 H-278 P1
+	 P9 -> MT23108 H-279 P1
+	 P10 -> MT23108 H-280 P1
+	 P11 -> MT23108 H-281 P1
+	 P12 -> MT23108 H-282 P1
+	 P13 -> MT23108 H-283 P1
+	 P14 -> MT23108 H-284 P1
+	 P15 -> MT23108 H-285 P1
+	 P16 -> MT23108 H-286 P1
+	 P17 -> MT23108 H-287 P1
+	 P18 -> MT23108 H-288 P1
+	 P19 -> MTS14400 SL2-1 L7/P3
+	 P20 -> MTS14400 SL2-1 L8/P3
+	 P21 -> MTS14400 SL2-2 L7/P3
+	 P22 -> MTS14400 SL2-2 L8/P3
+	 P23 -> MTS14400 SL2-3 L7/P3
+	 P24 -> MTS14400 SL2-3 L8/P3
+
+MTS2400 SL1-17
+	 P1 -> MT23108 H-289 P1
+	 P2 -> MT23108 H-290 P1
+	 P3 -> MT23108 H-291 P1
+	 P4 -> MT23108 H-292 P1
+	 P5 -> MT23108 H-293 P1
+	 P6 -> MT23108 H-294 P1
+	 P7 -> MT23108 H-295 P1
+	 P8 -> MT23108 H-296 P1
+	 P9 -> MT23108 H-297 P1
+	 P10 -> MT23108 H-298 P1
+	 P11 -> MT23108 H-299 P1
+	 P12 -> MT23108 H-300 P1
+	 P13 -> MT23108 H-301 P1
+	 P14 -> MT23108 H-302 P1
+	 P15 -> MT23108 H-303 P1
+	 P16 -> MT23108 H-304 P1
+	 P17 -> MT23108 H-305 P1
+	 P18 -> MT23108 H-306 P1
+	 P19 -> MTS14400 SL2-1 L9/P3
+	 P20 -> MTS14400 SL2-1 L10/P3
+	 P21 -> MTS14400 SL2-2 L9/P3
+	 P22 -> MTS14400 SL2-2 L10/P3
+	 P23 -> MTS14400 SL2-3 L9/P3
+	 P24 -> MTS14400 SL2-3 L10/P3
+
+MTS2400 SL1-18
+	 P1 -> MT23108 H-307 P1
+	 P2 -> MT23108 H-308 P1
+	 P3 -> MT23108 H-309 P1
+	 P4 -> MT23108 H-310 P1
+	 P5 -> MT23108 H-311 P1
+	 P6 -> MT23108 H-312 P1
+	 P7 -> MT23108 H-313 P1
+	 P8 -> MT23108 H-314 P1
+	 P9 -> MT23108 H-315 P1
+	 P10 -> MT23108 H-316 P1
+	 P11 -> MT23108 H-317 P1
+	 P12 -> MT23108 H-318 P1
+	 P13 -> MT23108 H-319 P1
+	 P14 -> MT23108 H-320 P1
+	 P15 -> MT23108 H-321 P1
+	 P16 -> MT23108 H-322 P1
+	 P17 -> MT23108 H-323 P1
+	 P18 -> MT23108 H-324 P1
+	 P19 -> MTS14400 SL2-1 L11/P3
+	 P20 -> MTS14400 SL2-1 L12/P3
+	 P21 -> MTS14400 SL2-2 L11/P3
+	 P22 -> MTS14400 SL2-2 L12/P3
+	 P23 -> MTS14400 SL2-3 L11/P3
+	 P24 -> MTS14400 SL2-3 L12/P3
+
+MTS2400 SL1-19
+	 P1 -> MT23108 H-325 P1
+	 P2 -> MT23108 H-326 P1
+	 P3 -> MT23108 H-327 P1
+	 P4 -> MT23108 H-328 P1
+	 P5 -> MT23108 H-329 P1
+	 P6 -> MT23108 H-330 P1
+	 P7 -> MT23108 H-331 P1
+	 P8 -> MT23108 H-332 P1
+	 P9 -> MT23108 H-333 P1
+	 P10 -> MT23108 H-334 P1
+	 P11 -> MT23108 H-335 P1
+	 P12 -> MT23108 H-336 P1
+	 P13 -> MT23108 H-337 P1
+	 P14 -> MT23108 H-338 P1
+	 P15 -> MT23108 H-339 P1
+	 P16 -> MT23108 H-340 P1
+	 P17 -> MT23108 H-341 P1
+	 P18 -> MT23108 H-342 P1
+	 P19 -> MTS14400 SL2-1 L1/P4
+	 P20 -> MTS14400 SL2-1 L2/P4
+	 P21 -> MTS14400 SL2-2 L1/P4
+	 P22 -> MTS14400 SL2-2 L2/P4
+	 P23 -> MTS14400 SL2-3 L1/P4
+	 P24 -> MTS14400 SL2-3 L2/P4
+
+MTS2400 SL1-20
+	 P1 -> MT23108 H-343 P1
+	 P2 -> MT23108 H-344 P1
+	 P3 -> MT23108 H-345 P1
+	 P4 -> MT23108 H-346 P1
+	 P5 -> MT23108 H-347 P1
+	 P6 -> MT23108 H-348 P1
+	 P7 -> MT23108 H-349 P1
+	 P8 -> MT23108 H-350 P1
+	 P9 -> MT23108 H-351 P1
+	 P10 -> MT23108 H-352 P1
+	 P11 -> MT23108 H-353 P1
+	 P12 -> MT23108 H-354 P1
+	 P13 -> MT23108 H-355 P1
+	 P14 -> MT23108 H-356 P1
+	 P15 -> MT23108 H-357 P1
+	 P16 -> MT23108 H-358 P1
+	 P17 -> MT23108 H-359 P1
+	 P18 -> MT23108 H-360 P1
+	 P19 -> MTS14400 SL2-1 L3/P4
+	 P20 -> MTS14400 SL2-1 L4/P4
+	 P21 -> MTS14400 SL2-2 L3/P4
+	 P22 -> MTS14400 SL2-2 L4/P4
+	 P23 -> MTS14400 SL2-3 L3/P4
+	 P24 -> MTS14400 SL2-3 L4/P4
+
+MTS2400 SL1-21
+	 P1 -> MT23108 H-361 P1
+	 P2 -> MT23108 H-362 P1
+	 P3 -> MT23108 H-363 P1
+	 P4 -> MT23108 H-364 P1
+	 P5 -> MT23108 H-365 P1
+	 P6 -> MT23108 H-366 P1
+	 P7 -> MT23108 H-367 P1
+	 P8 -> MT23108 H-368 P1
+	 P9 -> MT23108 H-369 P1
+	 P10 -> MT23108 H-370 P1
+	 P11 -> MT23108 H-371 P1
+	 P12 -> MT23108 H-372 P1
+	 P13 -> MT23108 H-373 P1
+	 P14 -> MT23108 H-374 P1
+	 P15 -> MT23108 H-375 P1
+	 P16 -> MT23108 H-376 P1
+	 P17 -> MT23108 H-377 P1
+	 P18 -> MT23108 H-378 P1
+	 P19 -> MTS14400 SL2-1 L5/P4
+	 P20 -> MTS14400 SL2-1 L6/P4
+	 P21 -> MTS14400 SL2-2 L5/P4
+	 P22 -> MTS14400 SL2-2 L6/P4
+	 P23 -> MTS14400 SL2-3 L5/P4
+	 P24 -> MTS14400 SL2-3 L6/P4
+
+MTS2400 SL1-22
+	 P1 -> MT23108 H-379 P1
+	 P2 -> MT23108 H-380 P1
+	 P3 -> MT23108 H-381 P1
+	 P4 -> MT23108 H-382 P1
+	 P5 -> MT23108 H-383 P1
+	 P6 -> MT23108 H-384 P1
+	 P7 -> MT23108 H-385 P1
+	 P8 -> MT23108 H-386 P1
+	 P9 -> MT23108 H-387 P1
+	 P10 -> MT23108 H-388 P1
+	 P11 -> MT23108 H-389 P1
+	 P12 -> MT23108 H-390 P1
+	 P13 -> MT23108 H-391 P1
+	 P14 -> MT23108 H-392 P1
+	 P15 -> MT23108 H-393 P1
+	 P16 -> MT23108 H-394 P1
+	 P17 -> MT23108 H-395 P1
+	 P18 -> MT23108 H-396 P1
+	 P19 -> MTS14400 SL2-1 L7/P4
+	 P20 -> MTS14400 SL2-1 L8/P4
+	 P21 -> MTS14400 SL2-2 L7/P4
+	 P22 -> MTS14400 SL2-2 L8/P4
+	 P23 -> MTS14400 SL2-3 L7/P4
+	 P24 -> MTS14400 SL2-3 L8/P4
+
+MTS2400 SL1-23
+	 P1 -> MT23108 H-397 P1
+	 P2 -> MT23108 H-398 P1
+	 P3 -> MT23108 H-399 P1
+	 P4 -> MT23108 H-400 P1
+	 P5 -> MT23108 H-401 P1
+	 P6 -> MT23108 H-402 P1
+	 P7 -> MT23108 H-403 P1
+	 P8 -> MT23108 H-404 P1
+	 P9 -> MT23108 H-405 P1
+	 P10 -> MT23108 H-406 P1
+	 P11 -> MT23108 H-407 P1
+	 P12 -> MT23108 H-408 P1
+	 P13 -> MT23108 H-409 P1
+	 P14 -> MT23108 H-410 P1
+	 P15 -> MT23108 H-411 P1
+	 P16 -> MT23108 H-412 P1
+	 P17 -> MT23108 H-413 P1
+	 P18 -> MT23108 H-414 P1
+	 P19 -> MTS14400 SL2-1 L9/P4
+	 P20 -> MTS14400 SL2-1 L10/P4
+	 P21 -> MTS14400 SL2-2 L9/P4
+	 P22 -> MTS14400 SL2-2 L10/P4
+	 P23 -> MTS14400 SL2-3 L9/P4
+	 P24 -> MTS14400 SL2-3 L10/P4
+
+MTS2400 SL1-24
+	 P1 -> MT23108 H-415 P1
+	 P2 -> MT23108 H-416 P1
+	 P3 -> MT23108 H-417 P1
+	 P4 -> MT23108 H-418 P1
+	 P5 -> MT23108 H-419 P1
+	 P6 -> MT23108 H-420 P1
+	 P7 -> MT23108 H-421 P1
+	 P8 -> MT23108 H-422 P1
+	 P9 -> MT23108 H-423 P1
+	 P10 -> MT23108 H-424 P1
+	 P11 -> MT23108 H-425 P1
+	 P12 -> MT23108 H-426 P1
+	 P13 -> MT23108 H-427 P1
+	 P14 -> MT23108 H-428 P1
+	 P15 -> MT23108 H-429 P1
+	 P16 -> MT23108 H-430 P1
+	 P17 -> MT23108 H-431 P1
+	 P18 -> MT23108 H-432 P1
+	 P19 -> MTS14400 SL2-1 L11/P4
+	 P20 -> MTS14400 SL2-1 L12/P4
+	 P21 -> MTS14400 SL2-2 L11/P4
+	 P22 -> MTS14400 SL2-2 L12/P4
+	 P23 -> MTS14400 SL2-3 L11/P4
+	 P24 -> MTS14400 SL2-3 L12/P4
+
+MTS2400 SL1-25
+	 P1 -> MT23108 H-433 P1
+	 P2 -> MT23108 H-434 P1
+	 P3 -> MT23108 H-435 P1
+	 P4 -> MT23108 H-436 P1
+	 P5 -> MT23108 H-437 P1
+	 P6 -> MT23108 H-438 P1
+	 P7 -> MT23108 H-439 P1
+	 P8 -> MT23108 H-440 P1
+	 P9 -> MT23108 H-441 P1
+	 P10 -> MT23108 H-442 P1
+	 P11 -> MT23108 H-443 P1
+	 P12 -> MT23108 H-444 P1
+	 P13 -> MT23108 H-445 P1
+	 P14 -> MT23108 H-446 P1
+	 P15 -> MT23108 H-447 P1
+	 P16 -> MT23108 H-448 P1
+	 P17 -> MT23108 H-449 P1
+	 P18 -> MT23108 H-450 P1
+	 P19 -> MTS14400 SL2-1 L1/P5
+	 P20 -> MTS14400 SL2-1 L2/P5
+	 P21 -> MTS14400 SL2-2 L1/P5
+	 P22 -> MTS14400 SL2-2 L2/P5
+	 P23 -> MTS14400 SL2-3 L1/P5
+	 P24 -> MTS14400 SL2-3 L2/P5
+
+MTS2400 SL1-26
+	 P1 -> MT23108 H-451 P1
+	 P2 -> MT23108 H-452 P1
+	 P3 -> MT23108 H-453 P1
+	 P4 -> MT23108 H-454 P1
+	 P5 -> MT23108 H-455 P1
+	 P6 -> MT23108 H-456 P1
+	 P7 -> MT23108 H-457 P1
+	 P8 -> MT23108 H-458 P1
+	 P9 -> MT23108 H-459 P1
+	 P10 -> MT23108 H-460 P1
+	 P11 -> MT23108 H-461 P1
+	 P12 -> MT23108 H-462 P1
+	 P13 -> MT23108 H-463 P1
+	 P14 -> MT23108 H-464 P1
+	 P15 -> MT23108 H-465 P1
+	 P16 -> MT23108 H-466 P1
+	 P17 -> MT23108 H-467 P1
+	 P18 -> MT23108 H-468 P1
+	 P19 -> MTS14400 SL2-1 L3/P5
+	 P20 -> MTS14400 SL2-1 L4/P5
+	 P21 -> MTS14400 SL2-2 L3/P5
+	 P22 -> MTS14400 SL2-2 L4/P5
+	 P23 -> MTS14400 SL2-3 L3/P5
+	 P24 -> MTS14400 SL2-3 L4/P5
+
+MTS2400 SL1-27
+	 P1 -> MT23108 H-469 P1
+	 P2 -> MT23108 H-470 P1
+	 P3 -> MT23108 H-471 P1
+	 P4 -> MT23108 H-472 P1
+	 P5 -> MT23108 H-473 P1
+	 P6 -> MT23108 H-474 P1
+	 P7 -> MT23108 H-475 P1
+	 P8 -> MT23108 H-476 P1
+	 P9 -> MT23108 H-477 P1
+	 P10 -> MT23108 H-478 P1
+	 P11 -> MT23108 H-479 P1
+	 P12 -> MT23108 H-480 P1
+	 P13 -> MT23108 H-481 P1
+	 P14 -> MT23108 H-482 P1
+	 P15 -> MT23108 H-483 P1
+	 P16 -> MT23108 H-484 P1
+	 P17 -> MT23108 H-485 P1
+	 P18 -> MT23108 H-486 P1
+	 P19 -> MTS14400 SL2-1 L5/P5
+	 P20 -> MTS14400 SL2-1 L6/P5
+	 P21 -> MTS14400 SL2-2 L5/P5
+	 P22 -> MTS14400 SL2-2 L6/P5
+	 P23 -> MTS14400 SL2-3 L5/P5
+	 P24 -> MTS14400 SL2-3 L6/P5
+
+MTS2400 SL1-28
+	 P1 -> MT23108 H-487 P1
+	 P2 -> MT23108 H-488 P1
+	 P3 -> MT23108 H-489 P1
+	 P4 -> MT23108 H-490 P1
+	 P5 -> MT23108 H-491 P1
+	 P6 -> MT23108 H-492 P1
+	 P7 -> MT23108 H-493 P1
+	 P8 -> MT23108 H-494 P1
+	 P9 -> MT23108 H-495 P1
+	 P10 -> MT23108 H-496 P1
+	 P11 -> MT23108 H-497 P1
+	 P12 -> MT23108 H-498 P1
+	 P13 -> MT23108 H-499 P1
+	 P14 -> MT23108 H-500 P1
+	 P15 -> MT23108 H-501 P1
+	 P16 -> MT23108 H-502 P1
+	 P17 -> MT23108 H-503 P1
+	 P18 -> MT23108 H-504 P1
+	 P19 -> MTS14400 SL2-1 L7/P5
+	 P20 -> MTS14400 SL2-1 L8/P5
+	 P21 -> MTS14400 SL2-2 L7/P5
+	 P22 -> MTS14400 SL2-2 L8/P5
+	 P23 -> MTS14400 SL2-3 L7/P5
+	 P24 -> MTS14400 SL2-3 L8/P5
+
+MTS2400 SL1-29
+	 P1 -> MT23108 H-505 P1
+	 P2 -> MT23108 H-506 P1
+	 P3 -> MT23108 H-507 P1
+	 P4 -> MT23108 H-508 P1
+	 P5 -> MT23108 H-509 P1
+	 P6 -> MT23108 H-510 P1
+	 P7 -> MT23108 H-511 P1
+	 P8 -> MT23108 H-512 P1
+	 P9 -> MT23108 H-513 P1
+	 P10 -> MT23108 H-514 P1
+	 P11 -> MT23108 H-515 P1
+	 P12 -> MT23108 H-516 P1
+	 P13 -> MT23108 H-517 P1
+	 P14 -> MT23108 H-518 P1
+	 P15 -> MT23108 H-519 P1
+	 P16 -> MT23108 H-520 P1
+	 P17 -> MT23108 H-521 P1
+	 P18 -> MT23108 H-522 P1
+	 P19 -> MTS14400 SL2-1 L9/P5
+	 P20 -> MTS14400 SL2-1 L10/P5
+	 P21 -> MTS14400 SL2-2 L9/P5
+	 P22 -> MTS14400 SL2-2 L10/P5
+	 P23 -> MTS14400 SL2-3 L9/P5
+	 P24 -> MTS14400 SL2-3 L10/P5
+
+MTS2400 SL1-30
+	 P1 -> MT23108 H-523 P1
+	 P2 -> MT23108 H-524 P1
+	 P3 -> MT23108 H-525 P1
+	 P4 -> MT23108 H-526 P1
+	 P5 -> MT23108 H-527 P1
+	 P6 -> MT23108 H-528 P1
+	 P7 -> MT23108 H-529 P1
+	 P8 -> MT23108 H-530 P1
+	 P9 -> MT23108 H-531 P1
+	 P10 -> MT23108 H-532 P1
+	 P11 -> MT23108 H-533 P1
+	 P12 -> MT23108 H-534 P1
+	 P13 -> MT23108 H-535 P1
+	 P14 -> MT23108 H-536 P1
+	 P15 -> MT23108 H-537 P1
+	 P16 -> MT23108 H-538 P1
+	 P17 -> MT23108 H-539 P1
+	 P18 -> MT23108 H-540 P1
+	 P19 -> MTS14400 SL2-1 L11/P5
+	 P20 -> MTS14400 SL2-1 L12/P5
+	 P21 -> MTS14400 SL2-2 L11/P5
+	 P22 -> MTS14400 SL2-2 L12/P5
+	 P23 -> MTS14400 SL2-3 L11/P5
+	 P24 -> MTS14400 SL2-3 L12/P5
+
+MTS2400 SL1-31
+	 P1 -> MT23108 H-541 P1
+	 P2 -> MT23108 H-542 P1
+	 P3 -> MT23108 H-543 P1
+	 P4 -> MT23108 H-544 P1
+	 P5 -> MT23108 H-545 P1
+	 P6 -> MT23108 H-546 P1
+	 P7 -> MT23108 H-547 P1
+	 P8 -> MT23108 H-548 P1
+	 P9 -> MT23108 H-549 P1
+	 P10 -> MT23108 H-550 P1
+	 P11 -> MT23108 H-551 P1
+	 P12 -> MT23108 H-552 P1
+	 P13 -> MT23108 H-553 P1
+	 P14 -> MT23108 H-554 P1
+	 P15 -> MT23108 H-555 P1
+	 P16 -> MT23108 H-556 P1
+	 P17 -> MT23108 H-557 P1
+	 P18 -> MT23108 H-558 P1
+	 P19 -> MTS14400 SL2-1 L1/P6
+	 P20 -> MTS14400 SL2-1 L2/P6
+	 P21 -> MTS14400 SL2-2 L1/P6
+	 P22 -> MTS14400 SL2-2 L2/P6
+	 P23 -> MTS14400 SL2-3 L1/P6
+	 P24 -> MTS14400 SL2-3 L2/P6
+
+MTS2400 SL1-32
+	 P1 -> MT23108 H-559 P1
+	 P2 -> MT23108 H-560 P1
+	 P3 -> MT23108 H-561 P1
+	 P4 -> MT23108 H-562 P1
+	 P5 -> MT23108 H-563 P1
+	 P6 -> MT23108 H-564 P1
+	 P7 -> MT23108 H-565 P1
+	 P8 -> MT23108 H-566 P1
+	 P9 -> MT23108 H-567 P1
+	 P10 -> MT23108 H-568 P1
+	 P11 -> MT23108 H-569 P1
+	 P12 -> MT23108 H-570 P1
+	 P13 -> MT23108 H-571 P1
+	 P14 -> MT23108 H-572 P1
+	 P15 -> MT23108 H-573 P1
+	 P16 -> MT23108 H-574 P1
+	 P17 -> MT23108 H-575 P1
+	 P18 -> MT23108 H-576 P1
+	 P19 -> MTS14400 SL2-1 L3/P6
+	 P20 -> MTS14400 SL2-1 L4/P6
+	 P21 -> MTS14400 SL2-2 L3/P6
+	 P22 -> MTS14400 SL2-2 L4/P6
+	 P23 -> MTS14400 SL2-3 L3/P6
+	 P24 -> MTS14400 SL2-3 L4/P6
+
+MTS2400 SL1-33
+	 P1 -> MT23108 H-577 P1
+	 P2 -> MT23108 H-578 P1
+	 P3 -> MT23108 H-579 P1
+	 P4 -> MT23108 H-580 P1
+	 P5 -> MT23108 H-581 P1
+	 P6 -> MT23108 H-582 P1
+	 P7 -> MT23108 H-583 P1
+	 P8 -> MT23108 H-584 P1
+	 P9 -> MT23108 H-585 P1
+	 P10 -> MT23108 H-586 P1
+	 P11 -> MT23108 H-587 P1
+	 P12 -> MT23108 H-588 P1
+	 P13 -> MT23108 H-589 P1
+	 P14 -> MT23108 H-590 P1
+	 P15 -> MT23108 H-591 P1
+	 P16 -> MT23108 H-592 P1
+	 P17 -> MT23108 H-593 P1
+	 P18 -> MT23108 H-594 P1
+	 P19 -> MTS14400 SL2-1 L5/P6
+	 P20 -> MTS14400 SL2-1 L6/P6
+	 P21 -> MTS14400 SL2-2 L5/P6
+	 P22 -> MTS14400 SL2-2 L6/P6
+	 P23 -> MTS14400 SL2-3 L5/P6
+	 P24 -> MTS14400 SL2-3 L6/P6
+
+MTS2400 SL1-34
+	 P1 -> MT23108 H-595 P1
+	 P2 -> MT23108 H-596 P1
+	 P3 -> MT23108 H-597 P1
+	 P4 -> MT23108 H-598 P1
+	 P5 -> MT23108 H-599 P1
+	 P6 -> MT23108 H-600 P1
+	 P7 -> MT23108 H-601 P1
+	 P8 -> MT23108 H-602 P1
+	 P9 -> MT23108 H-603 P1
+	 P10 -> MT23108 H-604 P1
+	 P11 -> MT23108 H-605 P1
+	 P12 -> MT23108 H-606 P1
+	 P13 -> MT23108 H-607 P1
+	 P14 -> MT23108 H-608 P1
+	 P15 -> MT23108 H-609 P1
+	 P16 -> MT23108 H-610 P1
+	 P17 -> MT23108 H-611 P1
+	 P18 -> MT23108 H-612 P1
+	 P19 -> MTS14400 SL2-1 L7/P6
+	 P20 -> MTS14400 SL2-1 L8/P6
+	 P21 -> MTS14400 SL2-2 L7/P6
+	 P22 -> MTS14400 SL2-2 L8/P6
+	 P23 -> MTS14400 SL2-3 L7/P6
+	 P24 -> MTS14400 SL2-3 L8/P6
+
+MTS2400 SL1-35
+	 P1 -> MT23108 H-613 P1
+	 P2 -> MT23108 H-614 P1
+	 P3 -> MT23108 H-615 P1
+	 P4 -> MT23108 H-616 P1
+	 P5 -> MT23108 H-617 P1
+	 P6 -> MT23108 H-618 P1
+	 P7 -> MT23108 H-619 P1
+	 P8 -> MT23108 H-620 P1
+	 P9 -> MT23108 H-621 P1
+	 P10 -> MT23108 H-622 P1
+	 P11 -> MT23108 H-623 P1
+	 P12 -> MT23108 H-624 P1
+	 P13 -> MT23108 H-625 P1
+	 P14 -> MT23108 H-626 P1
+	 P15 -> MT23108 H-627 P1
+	 P16 -> MT23108 H-628 P1
+	 P17 -> MT23108 H-629 P1
+	 P18 -> MT23108 H-630 P1
+	 P19 -> MTS14400 SL2-1 L9/P6
+	 P20 -> MTS14400 SL2-1 L10/P6
+	 P21 -> MTS14400 SL2-2 L9/P6
+	 P22 -> MTS14400 SL2-2 L10/P6
+	 P23 -> MTS14400 SL2-3 L9/P6
+	 P24 -> MTS14400 SL2-3 L10/P6
+
+MTS2400 SL1-36
+	 P1 -> MT23108 H-631 P1
+	 P2 -> MT23108 H-632 P1
+	 P3 -> MT23108 H-633 P1
+	 P4 -> MT23108 H-634 P1
+	 P5 -> MT23108 H-635 P1
+	 P6 -> MT23108 H-636 P1
+	 P7 -> MT23108 H-637 P1
+	 P8 -> MT23108 H-638 P1
+	 P9 -> MT23108 H-639 P1
+	 P10 -> MT23108 H-640 P1
+	 P11 -> MT23108 H-641 P1
+	 P12 -> MT23108 H-642 P1
+	 P13 -> MT23108 H-643 P1
+	 P14 -> MT23108 H-644 P1
+	 P15 -> MT23108 H-645 P1
+	 P16 -> MT23108 H-646 P1
+	 P17 -> MT23108 H-647 P1
+	 P18 -> MT23108 H-648 P1
+	 P19 -> MTS14400 SL2-1 L11/P6
+	 P20 -> MTS14400 SL2-1 L12/P6
+	 P21 -> MTS14400 SL2-2 L11/P6
+	 P22 -> MTS14400 SL2-2 L12/P6
+	 P23 -> MTS14400 SL2-3 L11/P6
+	 P24 -> MTS14400 SL2-3 L12/P6
+
+MTS2400 SL1-37
+	 P1 -> MT23108 H-649 P1
+	 P2 -> MT23108 H-650 P1
+	 P3 -> MT23108 H-651 P1
+	 P4 -> MT23108 H-652 P1
+	 P5 -> MT23108 H-653 P1
+	 P6 -> MT23108 H-654 P1
+	 P7 -> MT23108 H-655 P1
+	 P8 -> MT23108 H-656 P1
+	 P9 -> MT23108 H-657 P1
+	 P10 -> MT23108 H-658 P1
+	 P11 -> MT23108 H-659 P1
+	 P12 -> MT23108 H-660 P1
+	 P13 -> MT23108 H-661 P1
+	 P14 -> MT23108 H-662 P1
+	 P15 -> MT23108 H-663 P1
+	 P16 -> MT23108 H-664 P1
+	 P17 -> MT23108 H-665 P1
+	 P18 -> MT23108 H-666 P1
+	 P19 -> MTS14400 SL2-1 L1/P7
+	 P20 -> MTS14400 SL2-1 L2/P7
+	 P21 -> MTS14400 SL2-2 L1/P7
+	 P22 -> MTS14400 SL2-2 L2/P7
+	 P23 -> MTS14400 SL2-3 L1/P7
+	 P24 -> MTS14400 SL2-3 L2/P7
+
+MTS2400 SL1-38
+	 P1 -> MT23108 H-667 P1
+	 P2 -> MT23108 H-668 P1
+	 P3 -> MT23108 H-669 P1
+	 P4 -> MT23108 H-670 P1
+	 P5 -> MT23108 H-671 P1
+	 P6 -> MT23108 H-672 P1
+	 P7 -> MT23108 H-673 P1
+	 P8 -> MT23108 H-674 P1
+	 P9 -> MT23108 H-675 P1
+	 P10 -> MT23108 H-676 P1
+	 P11 -> MT23108 H-677 P1
+	 P12 -> MT23108 H-678 P1
+	 P13 -> MT23108 H-679 P1
+	 P14 -> MT23108 H-680 P1
+	 P15 -> MT23108 H-681 P1
+	 P16 -> MT23108 H-682 P1
+	 P17 -> MT23108 H-683 P1
+	 P18 -> MT23108 H-684 P1
+	 P19 -> MTS14400 SL2-1 L3/P7
+	 P20 -> MTS14400 SL2-1 L4/P7
+	 P21 -> MTS14400 SL2-2 L3/P7
+	 P22 -> MTS14400 SL2-2 L4/P7
+	 P23 -> MTS14400 SL2-3 L3/P7
+	 P24 -> MTS14400 SL2-3 L4/P7
+
+MTS2400 SL1-39
+	 P1 -> MT23108 H-685 P1
+	 P2 -> MT23108 H-686 P1
+	 P3 -> MT23108 H-687 P1
+	 P4 -> MT23108 H-688 P1
+	 P5 -> MT23108 H-689 P1
+	 P6 -> MT23108 H-690 P1
+	 P7 -> MT23108 H-691 P1
+	 P8 -> MT23108 H-692 P1
+	 P9 -> MT23108 H-693 P1
+	 P10 -> MT23108 H-694 P1
+	 P11 -> MT23108 H-695 P1
+	 P12 -> MT23108 H-696 P1
+	 P13 -> MT23108 H-697 P1
+	 P14 -> MT23108 H-698 P1
+	 P15 -> MT23108 H-699 P1
+	 P16 -> MT23108 H-700 P1
+	 P17 -> MT23108 H-701 P1
+	 P18 -> MT23108 H-702 P1
+	 P19 -> MTS14400 SL2-1 L5/P7
+	 P20 -> MTS14400 SL2-1 L6/P7
+	 P21 -> MTS14400 SL2-2 L5/P7
+	 P22 -> MTS14400 SL2-2 L6/P7
+	 P23 -> MTS14400 SL2-3 L5/P7
+	 P24 -> MTS14400 SL2-3 L6/P7
+
+MTS2400 SL1-40
+	 P1 -> MT23108 H-703 P1
+	 P2 -> MT23108 H-704 P1
+	 P3 -> MT23108 H-705 P1
+	 P4 -> MT23108 H-706 P1
+	 P5 -> MT23108 H-707 P1
+	 P6 -> MT23108 H-708 P1
+	 P7 -> MT23108 H-709 P1
+	 P8 -> MT23108 H-710 P1
+	 P9 -> MT23108 H-711 P1
+	 P10 -> MT23108 H-712 P1
+	 P11 -> MT23108 H-713 P1
+	 P12 -> MT23108 H-714 P1
+	 P13 -> MT23108 H-715 P1
+	 P14 -> MT23108 H-716 P1
+	 P15 -> MT23108 H-717 P1
+	 P16 -> MT23108 H-718 P1
+	 P17 -> MT23108 H-719 P1
+	 P18 -> MT23108 H-720 P1
+	 P19 -> MTS14400 SL2-1 L7/P7
+	 P20 -> MTS14400 SL2-1 L8/P7
+	 P21 -> MTS14400 SL2-2 L7/P7
+	 P22 -> MTS14400 SL2-2 L8/P7
+	 P23 -> MTS14400 SL2-3 L7/P7
+	 P24 -> MTS14400 SL2-3 L8/P7
+
+MTS2400 SL1-41
+	 P1 -> MT23108 H-721 P1
+	 P2 -> MT23108 H-722 P1
+	 P3 -> MT23108 H-723 P1
+	 P4 -> MT23108 H-724 P1
+	 P5 -> MT23108 H-725 P1
+	 P6 -> MT23108 H-726 P1
+	 P7 -> MT23108 H-727 P1
+	 P8 -> MT23108 H-728 P1
+	 P9 -> MT23108 H-729 P1
+	 P10 -> MT23108 H-730 P1
+	 P11 -> MT23108 H-731 P1
+	 P12 -> MT23108 H-732 P1
+	 P13 -> MT23108 H-733 P1
+	 P14 -> MT23108 H-734 P1
+	 P15 -> MT23108 H-735 P1
+	 P16 -> MT23108 H-736 P1
+	 P17 -> MT23108 H-737 P1
+	 P18 -> MT23108 H-738 P1
+	 P19 -> MTS14400 SL2-1 L9/P7
+	 P20 -> MTS14400 SL2-1 L10/P7
+	 P21 -> MTS14400 SL2-2 L9/P7
+	 P22 -> MTS14400 SL2-2 L10/P7
+	 P23 -> MTS14400 SL2-3 L9/P7
+	 P24 -> MTS14400 SL2-3 L10/P7
+
+MTS2400 SL1-42
+	 P1 -> MT23108 H-739 P1
+	 P2 -> MT23108 H-740 P1
+	 P3 -> MT23108 H-741 P1
+	 P4 -> MT23108 H-742 P1
+	 P5 -> MT23108 H-743 P1
+	 P6 -> MT23108 H-744 P1
+	 P7 -> MT23108 H-745 P1
+	 P8 -> MT23108 H-746 P1
+	 P9 -> MT23108 H-747 P1
+	 P10 -> MT23108 H-748 P1
+	 P11 -> MT23108 H-749 P1
+	 P12 -> MT23108 H-750 P1
+	 P13 -> MT23108 H-751 P1
+	 P14 -> MT23108 H-752 P1
+	 P15 -> MT23108 H-753 P1
+	 P16 -> MT23108 H-754 P1
+	 P17 -> MT23108 H-755 P1
+	 P18 -> MT23108 H-756 P1
+	 P19 -> MTS14400 SL2-1 L11/P7
+	 P20 -> MTS14400 SL2-1 L12/P7
+	 P21 -> MTS14400 SL2-2 L11/P7
+	 P22 -> MTS14400 SL2-2 L12/P7
+	 P23 -> MTS14400 SL2-3 L11/P7
+	 P24 -> MTS14400 SL2-3 L12/P7
+
+MTS2400 SL1-43
+	 P1 -> MT23108 H-757 P1
+	 P2 -> MT23108 H-758 P1
+	 P3 -> MT23108 H-759 P1
+	 P4 -> MT23108 H-760 P1
+	 P5 -> MT23108 H-761 P1
+	 P6 -> MT23108 H-762 P1
+	 P7 -> MT23108 H-763 P1
+	 P8 -> MT23108 H-764 P1
+	 P9 -> MT23108 H-765 P1
+	 P10 -> MT23108 H-766 P1
+	 P11 -> MT23108 H-767 P1
+	 P12 -> MT23108 H-768 P1
+	 P13 -> MT23108 H-769 P1
+	 P14 -> MT23108 H-770 P1
+	 P15 -> MT23108 H-771 P1
+	 P16 -> MT23108 H-772 P1
+	 P17 -> MT23108 H-773 P1
+	 P18 -> MT23108 H-774 P1
+	 P19 -> MTS14400 SL2-1 L1/P8
+	 P20 -> MTS14400 SL2-1 L2/P8
+	 P21 -> MTS14400 SL2-2 L1/P8
+	 P22 -> MTS14400 SL2-2 L2/P8
+	 P23 -> MTS14400 SL2-3 L1/P8
+	 P24 -> MTS14400 SL2-3 L2/P8
+
+MTS2400 SL1-44
+	 P1 -> MT23108 H-775 P1
+	 P2 -> MT23108 H-776 P1
+	 P3 -> MT23108 H-777 P1
+	 P4 -> MT23108 H-778 P1
+	 P5 -> MT23108 H-779 P1
+	 P6 -> MT23108 H-780 P1
+	 P7 -> MT23108 H-781 P1
+	 P8 -> MT23108 H-782 P1
+	 P9 -> MT23108 H-783 P1
+	 P10 -> MT23108 H-784 P1
+	 P11 -> MT23108 H-785 P1
+	 P12 -> MT23108 H-786 P1
+	 P13 -> MT23108 H-787 P1
+	 P14 -> MT23108 H-788 P1
+	 P15 -> MT23108 H-789 P1
+	 P16 -> MT23108 H-790 P1
+	 P17 -> MT23108 H-791 P1
+	 P18 -> MT23108 H-792 P1
+	 P19 -> MTS14400 SL2-1 L3/P8
+	 P20 -> MTS14400 SL2-1 L4/P8
+	 P21 -> MTS14400 SL2-2 L3/P8
+	 P22 -> MTS14400 SL2-2 L4/P8
+	 P23 -> MTS14400 SL2-3 L3/P8
+	 P24 -> MTS14400 SL2-3 L4/P8
+
+MTS2400 SL1-45
+	 P1 -> MT23108 H-793 P1
+	 P2 -> MT23108 H-794 P1
+	 P3 -> MT23108 H-795 P1
+	 P4 -> MT23108 H-796 P1
+	 P5 -> MT23108 H-797 P1
+	 P6 -> MT23108 H-798 P1
+	 P7 -> MT23108 H-799 P1
+	 P8 -> MT23108 H-800 P1
+	 P9 -> MT23108 H-801 P1
+	 P10 -> MT23108 H-802 P1
+	 P11 -> MT23108 H-803 P1
+	 P12 -> MT23108 H-804 P1
+	 P13 -> MT23108 H-805 P1
+	 P14 -> MT23108 H-806 P1
+	 P15 -> MT23108 H-807 P1
+	 P16 -> MT23108 H-808 P1
+	 P17 -> MT23108 H-809 P1
+	 P18 -> MT23108 H-810 P1
+	 P19 -> MTS14400 SL2-1 L5/P8
+	 P20 -> MTS14400 SL2-1 L6/P8
+	 P21 -> MTS14400 SL2-2 L5/P8
+	 P22 -> MTS14400 SL2-2 L6/P8
+	 P23 -> MTS14400 SL2-3 L5/P8
+	 P24 -> MTS14400 SL2-3 L6/P8
+
+MTS2400 SL1-46
+	 P1 -> MT23108 H-811 P1
+	 P2 -> MT23108 H-812 P1
+	 P3 -> MT23108 H-813 P1
+	 P4 -> MT23108 H-814 P1
+	 P5 -> MT23108 H-815 P1
+	 P6 -> MT23108 H-816 P1
+	 P7 -> MT23108 H-817 P1
+	 P8 -> MT23108 H-818 P1
+	 P9 -> MT23108 H-819 P1
+	 P10 -> MT23108 H-820 P1
+	 P11 -> MT23108 H-821 P1
+	 P12 -> MT23108 H-822 P1
+	 P13 -> MT23108 H-823 P1
+	 P14 -> MT23108 H-824 P1
+	 P15 -> MT23108 H-825 P1
+	 P16 -> MT23108 H-826 P1
+	 P17 -> MT23108 H-827 P1
+	 P18 -> MT23108 H-828 P1
+	 P19 -> MTS14400 SL2-1 L7/P8
+	 P20 -> MTS14400 SL2-1 L8/P8
+	 P21 -> MTS14400 SL2-2 L7/P8
+	 P22 -> MTS14400 SL2-2 L8/P8
+	 P23 -> MTS14400 SL2-3 L7/P8
+	 P24 -> MTS14400 SL2-3 L8/P8
+
+MTS2400 SL1-47
+	 P1 -> MT23108 H-829 P1
+	 P2 -> MT23108 H-830 P1
+	 P3 -> MT23108 H-831 P1
+	 P4 -> MT23108 H-832 P1
+	 P5 -> MT23108 H-833 P1
+	 P6 -> MT23108 H-834 P1
+	 P7 -> MT23108 H-835 P1
+	 P8 -> MT23108 H-836 P1
+	 P9 -> MT23108 H-837 P1
+	 P10 -> MT23108 H-838 P1
+	 P11 -> MT23108 H-839 P1
+	 P12 -> MT23108 H-840 P1
+	 P13 -> MT23108 H-841 P1
+	 P14 -> MT23108 H-842 P1
+	 P15 -> MT23108 H-843 P1
+	 P16 -> MT23108 H-844 P1
+	 P17 -> MT23108 H-845 P1
+	 P19 -> MTS14400 SL2-1 L9/P8
+	 P20 -> MTS14400 SL2-1 L10/P8
+	 P21 -> MTS14400 SL2-2 L9/P8
+	 P22 -> MTS14400 SL2-2 L10/P8
+	 P23 -> MTS14400 SL2-3 L9/P8
+	 P24 -> MTS14400 SL2-3 L10/P8
+
+MTS2400 SL1-48
+	 P1 -> MT23108 H-846 P1
+	 P2 -> MT23108 H-847 P1
+	 P3 -> MT23108 H-848 P1
+	 P4 -> MT23108 H-849 P1
+	 P5 -> MT23108 H-850 P1
+	 P6 -> MT23108 H-851 P1
+	 P7 -> MT23108 H-852 P1
+	 P8 -> MT23108 H-853 P1
+	 P9 -> MT23108 H-854 P1
+	 P10 -> MT23108 H-855 P1
+	 P11 -> MT23108 H-856 P1
+	 P12 -> MT23108 H-857 P1
+	 P13 -> MT23108 H-858 P1
+	 P14 -> MT23108 H-859 P1
+	 P15 -> MT23108 H-860 P1
+	 P16 -> MT23108 H-861 P1
+	 P17 -> MT23108 H-862 P1
+	 P19 -> MTS14400 SL2-1 L11/P8
+	 P20 -> MTS14400 SL2-1 L12/P8
+	 P21 -> MTS14400 SL2-2 L11/P8
+	 P22 -> MTS14400 SL2-2 L12/P8
+	 P23 -> MTS14400 SL2-3 L11/P8
+	 P24 -> MTS14400 SL2-3 L12/P8
+
+MTS2400 SL1-49
+	 P1 -> MT23108 H-863 P1
+	 P2 -> MT23108 H-864 P1
+	 P3 -> MT23108 H-865 P1
+	 P4 -> MT23108 H-866 P1
+	 P5 -> MT23108 H-867 P1
+	 P6 -> MT23108 H-868 P1
+	 P7 -> MT23108 H-869 P1
+	 P8 -> MT23108 H-870 P1
+	 P9 -> MT23108 H-871 P1
+	 P10 -> MT23108 H-872 P1
+	 P11 -> MT23108 H-873 P1
+	 P12 -> MT23108 H-874 P1
+	 P13 -> MT23108 H-875 P1
+	 P14 -> MT23108 H-876 P1
+	 P15 -> MT23108 H-877 P1
+	 P16 -> MT23108 H-878 P1
+	 P17 -> MT23108 H-879 P1
+	 P19 -> MTS14400 SL2-1 L1/P9
+	 P20 -> MTS14400 SL2-1 L2/P9
+	 P21 -> MTS14400 SL2-2 L1/P9
+	 P22 -> MTS14400 SL2-2 L2/P9
+	 P23 -> MTS14400 SL2-3 L1/P9
+	 P24 -> MTS14400 SL2-3 L2/P9
+
+MTS2400 SL1-50
+	 P1 -> MT23108 H-880 P1
+	 P2 -> MT23108 H-881 P1
+	 P3 -> MT23108 H-882 P1
+	 P4 -> MT23108 H-883 P1
+	 P5 -> MT23108 H-884 P1
+	 P6 -> MT23108 H-885 P1
+	 P7 -> MT23108 H-886 P1
+	 P8 -> MT23108 H-887 P1
+	 P9 -> MT23108 H-888 P1
+	 P10 -> MT23108 H-889 P1
+	 P11 -> MT23108 H-890 P1
+	 P12 -> MT23108 H-891 P1
+	 P13 -> MT23108 H-892 P1
+	 P14 -> MT23108 H-893 P1
+	 P15 -> MT23108 H-894 P1
+	 P16 -> MT23108 H-895 P1
+	 P17 -> MT23108 H-896 P1
+	 P19 -> MTS14400 SL2-1 L3/P9
+	 P20 -> MTS14400 SL2-1 L4/P9
+	 P21 -> MTS14400 SL2-2 L3/P9
+	 P22 -> MTS14400 SL2-2 L4/P9
+	 P23 -> MTS14400 SL2-3 L3/P9
+	 P24 -> MTS14400 SL2-3 L4/P9
+
+MTS2400 SL1-51
+	 P1 -> MT23108 H-897 P1
+	 P2 -> MT23108 H-898 P1
+	 P3 -> MT23108 H-899 P1
+	 P4 -> MT23108 H-900 P1
+	 P5 -> MT23108 H-901 P1
+	 P6 -> MT23108 H-902 P1
+	 P7 -> MT23108 H-903 P1
+	 P8 -> MT23108 H-904 P1
+	 P9 -> MT23108 H-905 P1
+	 P10 -> MT23108 H-906 P1
+	 P11 -> MT23108 H-907 P1
+	 P12 -> MT23108 H-908 P1
+	 P13 -> MT23108 H-909 P1
+	 P14 -> MT23108 H-910 P1
+	 P15 -> MT23108 H-911 P1
+	 P16 -> MT23108 H-912 P1
+	 P17 -> MT23108 H-913 P1
+	 P19 -> MTS14400 SL2-1 L5/P9
+	 P20 -> MTS14400 SL2-1 L6/P9
+	 P21 -> MTS14400 SL2-2 L5/P9
+	 P22 -> MTS14400 SL2-2 L6/P9
+	 P23 -> MTS14400 SL2-3 L5/P9
+	 P24 -> MTS14400 SL2-3 L6/P9
+
+MTS2400 SL1-52
+	 P1 -> MT23108 H-914 P1
+	 P2 -> MT23108 H-915 P1
+	 P3 -> MT23108 H-916 P1
+	 P4 -> MT23108 H-917 P1
+	 P5 -> MT23108 H-918 P1
+	 P6 -> MT23108 H-919 P1
+	 P7 -> MT23108 H-920 P1
+	 P8 -> MT23108 H-921 P1
+	 P9 -> MT23108 H-922 P1
+	 P10 -> MT23108 H-923 P1
+	 P11 -> MT23108 H-924 P1
+	 P12 -> MT23108 H-925 P1
+	 P13 -> MT23108 H-926 P1
+	 P14 -> MT23108 H-927 P1
+	 P15 -> MT23108 H-928 P1
+	 P16 -> MT23108 H-929 P1
+	 P17 -> MT23108 H-930 P1
+	 P19 -> MTS14400 SL2-1 L7/P9
+	 P20 -> MTS14400 SL2-1 L8/P9
+	 P21 -> MTS14400 SL2-2 L7/P9
+	 P22 -> MTS14400 SL2-2 L8/P9
+	 P23 -> MTS14400 SL2-3 L7/P9
+	 P24 -> MTS14400 SL2-3 L8/P9
+
+MTS2400 SL1-53
+	 P1 -> MT23108 H-931 P1
+	 P2 -> MT23108 H-932 P1
+	 P3 -> MT23108 H-933 P1
+	 P4 -> MT23108 H-934 P1
+	 P5 -> MT23108 H-935 P1
+	 P6 -> MT23108 H-936 P1
+	 P7 -> MT23108 H-937 P1
+	 P8 -> MT23108 H-938 P1
+	 P9 -> MT23108 H-939 P1
+	 P10 -> MT23108 H-940 P1
+	 P11 -> MT23108 H-941 P1
+	 P12 -> MT23108 H-942 P1
+	 P13 -> MT23108 H-943 P1
+	 P14 -> MT23108 H-944 P1
+	 P15 -> MT23108 H-945 P1
+	 P16 -> MT23108 H-946 P1
+	 P17 -> MT23108 H-947 P1
+	 P19 -> MTS14400 SL2-1 L9/P9
+	 P20 -> MTS14400 SL2-1 L10/P9
+	 P21 -> MTS14400 SL2-2 L9/P9
+	 P22 -> MTS14400 SL2-2 L10/P9
+	 P23 -> MTS14400 SL2-3 L9/P9
+	 P24 -> MTS14400 SL2-3 L10/P9
+
+MTS2400 SL1-54
+	 P1 -> MT23108 H-948 P1
+	 P2 -> MT23108 H-949 P1
+	 P3 -> MT23108 H-950 P1
+	 P4 -> MT23108 H-951 P1
+	 P5 -> MT23108 H-952 P1
+	 P6 -> MT23108 H-953 P1
+	 P7 -> MT23108 H-954 P1
+	 P8 -> MT23108 H-955 P1
+	 P9 -> MT23108 H-956 P1
+	 P10 -> MT23108 H-957 P1
+	 P11 -> MT23108 H-958 P1
+	 P12 -> MT23108 H-959 P1
+	 P13 -> MT23108 H-960 P1
+	 P14 -> MT23108 H-961 P1
+	 P15 -> MT23108 H-962 P1
+	 P16 -> MT23108 H-963 P1
+	 P17 -> MT23108 H-964 P1
+	 P19 -> MTS14400 SL2-1 L11/P9
+	 P20 -> MTS14400 SL2-1 L12/P9
+	 P21 -> MTS14400 SL2-2 L11/P9
+	 P22 -> MTS14400 SL2-2 L12/P9
+	 P23 -> MTS14400 SL2-3 L11/P9
+	 P24 -> MTS14400 SL2-3 L12/P9
+
+MTS2400 SL1-55
+	 P1 -> MT23108 H-965 P1
+	 P2 -> MT23108 H-966 P1
+	 P3 -> MT23108 H-967 P1
+	 P4 -> MT23108 H-968 P1
+	 P5 -> MT23108 H-969 P1
+	 P6 -> MT23108 H-970 P1
+	 P7 -> MT23108 H-971 P1
+	 P8 -> MT23108 H-972 P1
+	 P9 -> MT23108 H-973 P1
+	 P10 -> MT23108 H-974 P1
+	 P11 -> MT23108 H-975 P1
+	 P12 -> MT23108 H-976 P1
+	 P13 -> MT23108 H-977 P1
+	 P14 -> MT23108 H-978 P1
+	 P15 -> MT23108 H-979 P1
+	 P16 -> MT23108 H-980 P1
+	 P17 -> MT23108 H-981 P1
+	 P19 -> MTS14400 SL2-1 L1/P10
+	 P20 -> MTS14400 SL2-1 L2/P10
+	 P21 -> MTS14400 SL2-2 L1/P10
+	 P22 -> MTS14400 SL2-2 L2/P10
+	 P23 -> MTS14400 SL2-3 L1/P10
+	 P24 -> MTS14400 SL2-3 L2/P10
+
+MTS2400 SL1-56
+	 P1 -> MT23108 H-982 P1
+	 P2 -> MT23108 H-983 P1
+	 P3 -> MT23108 H-984 P1
+	 P4 -> MT23108 H-985 P1
+	 P5 -> MT23108 H-986 P1
+	 P6 -> MT23108 H-987 P1
+	 P7 -> MT23108 H-988 P1
+	 P8 -> MT23108 H-989 P1
+	 P9 -> MT23108 H-990 P1
+	 P10 -> MT23108 H-991 P1
+	 P11 -> MT23108 H-992 P1
+	 P12 -> MT23108 H-993 P1
+	 P13 -> MT23108 H-994 P1
+	 P14 -> MT23108 H-995 P1
+	 P15 -> MT23108 H-996 P1
+	 P16 -> MT23108 H-997 P1
+	 P17 -> MT23108 H-998 P1
+	 P19 -> MTS14400 SL2-1 L3/P10
+	 P20 -> MTS14400 SL2-1 L4/P10
+	 P21 -> MTS14400 SL2-2 L3/P10
+	 P22 -> MTS14400 SL2-2 L4/P10
+	 P23 -> MTS14400 SL2-3 L3/P10
+	 P24 -> MTS14400 SL2-3 L4/P10
+
+MTS2400 SL1-57
+	 P1 -> MT23108 H-999 P1
+	 P2 -> MT23108 H-1000 P1
+	 P3 -> MT23108 H-1001 P1
+	 P4 -> MT23108 H-1002 P1
+	 P5 -> MT23108 H-1003 P1
+	 P6 -> MT23108 H-1004 P1
+	 P7 -> MT23108 H-1005 P1
+	 P8 -> MT23108 H-1006 P1
+	 P9 -> MT23108 H-1007 P1
+	 P10 -> MT23108 H-1008 P1
+	 P11 -> MT23108 H-1009 P1
+	 P12 -> MT23108 H-1010 P1
+	 P13 -> MT23108 H-1011 P1
+	 P14 -> MT23108 H-1012 P1
+	 P15 -> MT23108 H-1013 P1
+	 P16 -> MT23108 H-1014 P1
+	 P17 -> MT23108 H-1015 P1
+	 P19 -> MTS14400 SL2-1 L5/P10
+	 P20 -> MTS14400 SL2-1 L6/P10
+	 P21 -> MTS14400 SL2-2 L5/P10
+	 P22 -> MTS14400 SL2-2 L6/P10
+	 P23 -> MTS14400 SL2-3 L5/P10
+	 P24 -> MTS14400 SL2-3 L6/P10
+
+MTS2400 SL1-58
+	 P1 -> MT23108 H-1016 P1
+	 P2 -> MT23108 H-1017 P1
+	 P3 -> MT23108 H-1018 P1
+	 P4 -> MT23108 H-1019 P1
+	 P5 -> MT23108 H-1020 P1
+	 P6 -> MT23108 H-1021 P1
+	 P7 -> MT23108 H-1022 P1
+	 P8 -> MT23108 H-1023 P1
+	 P9 -> MT23108 H-1024 P1
+	 P10 -> MT23108 H-1025 P1
+	 P11 -> MT23108 H-1026 P1
+	 P12 -> MT23108 H-1027 P1
+	 P13 -> MT23108 H-1028 P1
+	 P14 -> MT23108 H-1029 P1
+	 P15 -> MT23108 H-1030 P1
+	 P16 -> MT23108 H-1031 P1
+	 P17 -> MT23108 H-1032 P1
+	 P19 -> MTS14400 SL2-1 L7/P10
+	 P20 -> MTS14400 SL2-1 L8/P10
+	 P21 -> MTS14400 SL2-2 L7/P10
+	 P22 -> MTS14400 SL2-2 L8/P10
+	 P23 -> MTS14400 SL2-3 L7/P10
+	 P24 -> MTS14400 SL2-3 L8/P10
+
+MTS2400 SL1-59
+	 P1 -> MT23108 H-1033 P1
+	 P2 -> MT23108 H-1034 P1
+	 P3 -> MT23108 H-1035 P1
+	 P4 -> MT23108 H-1036 P1
+	 P5 -> MT23108 H-1037 P1
+	 P6 -> MT23108 H-1038 P1
+	 P7 -> MT23108 H-1039 P1
+	 P8 -> MT23108 H-1040 P1
+	 P9 -> MT23108 H-1041 P1
+	 P10 -> MT23108 H-1042 P1
+	 P11 -> MT23108 H-1043 P1
+	 P12 -> MT23108 H-1044 P1
+	 P13 -> MT23108 H-1045 P1
+	 P14 -> MT23108 H-1046 P1
+	 P15 -> MT23108 H-1047 P1
+	 P16 -> MT23108 H-1048 P1
+	 P17 -> MT23108 H-1049 P1
+	 P19 -> MTS14400 SL2-1 L9/P10
+	 P20 -> MTS14400 SL2-1 L10/P10
+	 P21 -> MTS14400 SL2-2 L9/P10
+	 P22 -> MTS14400 SL2-2 L10/P10
+	 P23 -> MTS14400 SL2-3 L9/P10
+	 P24 -> MTS14400 SL2-3 L10/P10
+
+MTS2400 SL1-60
+	 P1 -> MT23108 H-1050 P1
+	 P2 -> MT23108 H-1051 P1
+	 P3 -> MT23108 H-1052 P1
+	 P4 -> MT23108 H-1053 P1
+	 P5 -> MT23108 H-1054 P1
+	 P6 -> MT23108 H-1055 P1
+	 P7 -> MT23108 H-1056 P1
+	 P8 -> MT23108 H-1057 P1
+	 P9 -> MT23108 H-1058 P1
+	 P10 -> MT23108 H-1059 P1
+	 P11 -> MT23108 H-1060 P1
+	 P12 -> MT23108 H-1061 P1
+	 P13 -> MT23108 H-1062 P1
+	 P14 -> MT23108 H-1063 P1
+	 P15 -> MT23108 H-1064 P1
+	 P16 -> MT23108 H-1065 P1
+	 P17 -> MT23108 H-1066 P1
+	 P19 -> MTS14400 SL2-1 L11/P10
+	 P20 -> MTS14400 SL2-1 L12/P10
+	 P21 -> MTS14400 SL2-2 L11/P10
+	 P22 -> MTS14400 SL2-2 L12/P10
+	 P23 -> MTS14400 SL2-3 L11/P10
+	 P24 -> MTS14400 SL2-3 L12/P10
+
+MTS2400 SL1-61
+	 P1 -> MT23108 H-1067 P1
+	 P2 -> MT23108 H-1068 P1
+	 P3 -> MT23108 H-1069 P1
+	 P4 -> MT23108 H-1070 P1
+	 P5 -> MT23108 H-1071 P1
+	 P6 -> MT23108 H-1072 P1
+	 P7 -> MT23108 H-1073 P1
+	 P8 -> MT23108 H-1074 P1
+	 P9 -> MT23108 H-1075 P1
+	 P10 -> MT23108 H-1076 P1
+	 P11 -> MT23108 H-1077 P1
+	 P12 -> MT23108 H-1078 P1
+	 P13 -> MT23108 H-1079 P1
+	 P14 -> MT23108 H-1080 P1
+	 P15 -> MT23108 H-1081 P1
+	 P16 -> MT23108 H-1082 P1
+	 P17 -> MT23108 H-1083 P1
+	 P19 -> MTS14400 SL2-1 L1/P11
+	 P20 -> MTS14400 SL2-1 L2/P11
+	 P21 -> MTS14400 SL2-2 L1/P11
+	 P22 -> MTS14400 SL2-2 L2/P11
+	 P23 -> MTS14400 SL2-3 L1/P11
+	 P24 -> MTS14400 SL2-3 L2/P11
+
+MTS2400 SL1-62
+	 P1 -> MT23108 H-1084 P1
+	 P2 -> MT23108 H-1085 P1
+	 P3 -> MT23108 H-1086 P1
+	 P4 -> MT23108 H-1087 P1
+	 P5 -> MT23108 H-1088 P1
+	 P6 -> MT23108 H-1089 P1
+	 P7 -> MT23108 H-1090 P1
+	 P8 -> MT23108 H-1091 P1
+	 P9 -> MT23108 H-1092 P1
+	 P10 -> MT23108 H-1093 P1
+	 P11 -> MT23108 H-1094 P1
+	 P12 -> MT23108 H-1095 P1
+	 P13 -> MT23108 H-1096 P1
+	 P14 -> MT23108 H-1097 P1
+	 P15 -> MT23108 H-1098 P1
+	 P16 -> MT23108 H-1099 P1
+	 P17 -> MT23108 H-1100 P1
+	 P19 -> MTS14400 SL2-1 L3/P11
+	 P20 -> MTS14400 SL2-1 L4/P11
+	 P21 -> MTS14400 SL2-2 L3/P11
+	 P22 -> MTS14400 SL2-2 L4/P11
+	 P23 -> MTS14400 SL2-3 L3/P11
+	 P24 -> MTS14400 SL2-3 L4/P11
+
+MTS14400 SL2-1
+	 L1/P1 -> MTS2400 SL1-1 P19
+	 L2/P1 -> MTS2400 SL1-1 P20
+	 L3/P1 -> MTS2400 SL1-2 P19
+	 L4/P1 -> MTS2400 SL1-2 P20
+	 L5/P1 -> MTS2400 SL1-3 P19
+	 L6/P1 -> MTS2400 SL1-3 P20
+	 L7/P1 -> MTS2400 SL1-4 P19
+	 L8/P1 -> MTS2400 SL1-4 P20
+	 L9/P1 -> MTS2400 SL1-5 P19
+	 L10/P1 -> MTS2400 SL1-5 P20
+	 L11/P1 -> MTS2400 SL1-6 P19
+	 L12/P1 -> MTS2400 SL1-6 P20
+	 L1/P2 -> MTS2400 SL1-7 P19
+	 L2/P2 -> MTS2400 SL1-7 P20
+	 L3/P2 -> MTS2400 SL1-8 P19
+	 L4/P2 -> MTS2400 SL1-8 P20
+	 L5/P2 -> MTS2400 SL1-9 P19
+	 L6/P2 -> MTS2400 SL1-9 P20
+	 L7/P2 -> MTS2400 SL1-10 P19
+	 L8/P2 -> MTS2400 SL1-10 P20
+	 L9/P2 -> MTS2400 SL1-11 P19
+	 L10/P2 -> MTS2400 SL1-11 P20
+	 L11/P2 -> MTS2400 SL1-12 P19
+	 L12/P2 -> MTS2400 SL1-12 P20
+	 L1/P3 -> MTS2400 SL1-13 P19
+	 L2/P3 -> MTS2400 SL1-13 P20
+	 L3/P3 -> MTS2400 SL1-14 P19
+	 L4/P3 -> MTS2400 SL1-14 P20
+	 L5/P3 -> MTS2400 SL1-15 P19
+	 L6/P3 -> MTS2400 SL1-15 P20
+	 L7/P3 -> MTS2400 SL1-16 P19
+	 L8/P3 -> MTS2400 SL1-16 P20
+	 L9/P3 -> MTS2400 SL1-17 P19
+	 L10/P3 -> MTS2400 SL1-17 P20
+	 L11/P3 -> MTS2400 SL1-18 P19
+	 L12/P3 -> MTS2400 SL1-18 P20
+	 L1/P4 -> MTS2400 SL1-19 P19
+	 L2/P4 -> MTS2400 SL1-19 P20
+	 L3/P4 -> MTS2400 SL1-20 P19
+	 L4/P4 -> MTS2400 SL1-20 P20
+	 L5/P4 -> MTS2400 SL1-21 P19
+	 L6/P4 -> MTS2400 SL1-21 P20
+	 L7/P4 -> MTS2400 SL1-22 P19
+	 L8/P4 -> MTS2400 SL1-22 P20
+	 L9/P4 -> MTS2400 SL1-23 P19
+	 L10/P4 -> MTS2400 SL1-23 P20
+	 L11/P4 -> MTS2400 SL1-24 P19
+	 L12/P4 -> MTS2400 SL1-24 P20
+	 L1/P5 -> MTS2400 SL1-25 P19
+	 L2/P5 -> MTS2400 SL1-25 P20
+	 L3/P5 -> MTS2400 SL1-26 P19
+	 L4/P5 -> MTS2400 SL1-26 P20
+	 L5/P5 -> MTS2400 SL1-27 P19
+	 L6/P5 -> MTS2400 SL1-27 P20
+	 L7/P5 -> MTS2400 SL1-28 P19
+	 L8/P5 -> MTS2400 SL1-28 P20
+	 L9/P5 -> MTS2400 SL1-29 P19
+	 L10/P5 -> MTS2400 SL1-29 P20
+	 L11/P5 -> MTS2400 SL1-30 P19
+	 L12/P5 -> MTS2400 SL1-30 P20
+	 L1/P6 -> MTS2400 SL1-31 P19
+	 L2/P6 -> MTS2400 SL1-31 P20
+	 L3/P6 -> MTS2400 SL1-32 P19
+	 L4/P6 -> MTS2400 SL1-32 P20
+	 L5/P6 -> MTS2400 SL1-33 P19
+	 L6/P6 -> MTS2400 SL1-33 P20
+	 L7/P6 -> MTS2400 SL1-34 P19
+	 L8/P6 -> MTS2400 SL1-34 P20
+	 L9/P6 -> MTS2400 SL1-35 P19
+	 L10/P6 -> MTS2400 SL1-35 P20
+	 L11/P6 -> MTS2400 SL1-36 P19
+	 L12/P6 -> MTS2400 SL1-36 P20
+	 L1/P7 -> MTS2400 SL1-37 P19
+	 L2/P7 -> MTS2400 SL1-37 P20
+	 L3/P7 -> MTS2400 SL1-38 P19
+	 L4/P7 -> MTS2400 SL1-38 P20
+	 L5/P7 -> MTS2400 SL1-39 P19
+	 L6/P7 -> MTS2400 SL1-39 P20
+	 L7/P7 -> MTS2400 SL1-40 P19
+	 L8/P7 -> MTS2400 SL1-40 P20
+	 L9/P7 -> MTS2400 SL1-41 P19
+	 L10/P7 -> MTS2400 SL1-41 P20
+	 L11/P7 -> MTS2400 SL1-42 P19
+	 L12/P7 -> MTS2400 SL1-42 P20
+	 L1/P8 -> MTS2400 SL1-43 P19
+	 L2/P8 -> MTS2400 SL1-43 P20
+	 L3/P8 -> MTS2400 SL1-44 P19
+	 L4/P8 -> MTS2400 SL1-44 P20
+	 L5/P8 -> MTS2400 SL1-45 P19
+	 L6/P8 -> MTS2400 SL1-45 P20
+	 L7/P8 -> MTS2400 SL1-46 P19
+	 L8/P8 -> MTS2400 SL1-46 P20
+	 L9/P8 -> MTS2400 SL1-47 P19
+	 L10/P8 -> MTS2400 SL1-47 P20
+	 L11/P8 -> MTS2400 SL1-48 P19
+	 L12/P8 -> MTS2400 SL1-48 P20
+	 L1/P9 -> MTS2400 SL1-49 P19
+	 L2/P9 -> MTS2400 SL1-49 P20
+	 L3/P9 -> MTS2400 SL1-50 P19
+	 L4/P9 -> MTS2400 SL1-50 P20
+	 L5/P9 -> MTS2400 SL1-51 P19
+	 L6/P9 -> MTS2400 SL1-51 P20
+	 L7/P9 -> MTS2400 SL1-52 P19
+	 L8/P9 -> MTS2400 SL1-52 P20
+	 L9/P9 -> MTS2400 SL1-53 P19
+	 L10/P9 -> MTS2400 SL1-53 P20
+	 L11/P9 -> MTS2400 SL1-54 P19
+	 L12/P9 -> MTS2400 SL1-54 P20
+	 L1/P10 -> MTS2400 SL1-55 P19
+	 L2/P10 -> MTS2400 SL1-55 P20
+	 L3/P10 -> MTS2400 SL1-56 P19
+	 L4/P10 -> MTS2400 SL1-56 P20
+	 L5/P10 -> MTS2400 SL1-57 P19
+	 L6/P10 -> MTS2400 SL1-57 P20
+	 L7/P10 -> MTS2400 SL1-58 P19
+	 L8/P10 -> MTS2400 SL1-58 P20
+	 L9/P10 -> MTS2400 SL1-59 P19
+	 L10/P10 -> MTS2400 SL1-59 P20
+	 L11/P10 -> MTS2400 SL1-60 P19
+	 L12/P10 -> MTS2400 SL1-60 P20
+	 L1/P11 -> MTS2400 SL1-61 P19
+	 L2/P11 -> MTS2400 SL1-61 P20
+	 L3/P11 -> MTS2400 SL1-62 P19
+	 L4/P11 -> MTS2400 SL1-62 P20
+
+MTS14400 SL2-2
+	 L1/P1 -> MTS2400 SL1-1 P21
+	 L2/P1 -> MTS2400 SL1-1 P22
+	 L3/P1 -> MTS2400 SL1-2 P21
+	 L4/P1 -> MTS2400 SL1-2 P22
+	 L5/P1 -> MTS2400 SL1-3 P21
+	 L6/P1 -> MTS2400 SL1-3 P22
+	 L7/P1 -> MTS2400 SL1-4 P21
+	 L8/P1 -> MTS2400 SL1-4 P22
+	 L9/P1 -> MTS2400 SL1-5 P21
+	 L10/P1 -> MTS2400 SL1-5 P22
+	 L11/P1 -> MTS2400 SL1-6 P21
+	 L12/P1 -> MTS2400 SL1-6 P22
+	 L1/P2 -> MTS2400 SL1-7 P21
+	 L2/P2 -> MTS2400 SL1-7 P22
+	 L3/P2 -> MTS2400 SL1-8 P21
+	 L4/P2 -> MTS2400 SL1-8 P22
+	 L5/P2 -> MTS2400 SL1-9 P21
+	 L6/P2 -> MTS2400 SL1-9 P22
+	 L7/P2 -> MTS2400 SL1-10 P21
+	 L8/P2 -> MTS2400 SL1-10 P22
+	 L9/P2 -> MTS2400 SL1-11 P21
+	 L10/P2 -> MTS2400 SL1-11 P22
+	 L11/P2 -> MTS2400 SL1-12 P21
+	 L12/P2 -> MTS2400 SL1-12 P22
+	 L1/P3 -> MTS2400 SL1-13 P21
+	 L2/P3 -> MTS2400 SL1-13 P22
+	 L3/P3 -> MTS2400 SL1-14 P21
+	 L4/P3 -> MTS2400 SL1-14 P22
+	 L5/P3 -> MTS2400 SL1-15 P21
+	 L6/P3 -> MTS2400 SL1-15 P22
+	 L7/P3 -> MTS2400 SL1-16 P21
+	 L8/P3 -> MTS2400 SL1-16 P22
+	 L9/P3 -> MTS2400 SL1-17 P21
+	 L10/P3 -> MTS2400 SL1-17 P22
+	 L11/P3 -> MTS2400 SL1-18 P21
+	 L12/P3 -> MTS2400 SL1-18 P22
+	 L1/P4 -> MTS2400 SL1-19 P21
+	 L2/P4 -> MTS2400 SL1-19 P22
+	 L3/P4 -> MTS2400 SL1-20 P21
+	 L4/P4 -> MTS2400 SL1-20 P22
+	 L5/P4 -> MTS2400 SL1-21 P21
+	 L6/P4 -> MTS2400 SL1-21 P22
+	 L7/P4 -> MTS2400 SL1-22 P21
+	 L8/P4 -> MTS2400 SL1-22 P22
+	 L9/P4 -> MTS2400 SL1-23 P21
+	 L10/P4 -> MTS2400 SL1-23 P22
+	 L11/P4 -> MTS2400 SL1-24 P21
+	 L12/P4 -> MTS2400 SL1-24 P22
+	 L1/P5 -> MTS2400 SL1-25 P21
+	 L2/P5 -> MTS2400 SL1-25 P22
+	 L3/P5 -> MTS2400 SL1-26 P21
+	 L4/P5 -> MTS2400 SL1-26 P22
+	 L5/P5 -> MTS2400 SL1-27 P21
+	 L6/P5 -> MTS2400 SL1-27 P22
+	 L7/P5 -> MTS2400 SL1-28 P21
+	 L8/P5 -> MTS2400 SL1-28 P22
+	 L9/P5 -> MTS2400 SL1-29 P21
+	 L10/P5 -> MTS2400 SL1-29 P22
+	 L11/P5 -> MTS2400 SL1-30 P21
+	 L12/P5 -> MTS2400 SL1-30 P22
+	 L1/P6 -> MTS2400 SL1-31 P21
+	 L2/P6 -> MTS2400 SL1-31 P22
+	 L3/P6 -> MTS2400 SL1-32 P21
+	 L4/P6 -> MTS2400 SL1-32 P22
+	 L5/P6 -> MTS2400 SL1-33 P21
+	 L6/P6 -> MTS2400 SL1-33 P22
+	 L7/P6 -> MTS2400 SL1-34 P21
+	 L8/P6 -> MTS2400 SL1-34 P22
+	 L9/P6 -> MTS2400 SL1-35 P21
+	 L10/P6 -> MTS2400 SL1-35 P22
+	 L11/P6 -> MTS2400 SL1-36 P21
+	 L12/P6 -> MTS2400 SL1-36 P22
+	 L1/P7 -> MTS2400 SL1-37 P21
+	 L2/P7 -> MTS2400 SL1-37 P22
+	 L3/P7 -> MTS2400 SL1-38 P21
+	 L4/P7 -> MTS2400 SL1-38 P22
+	 L5/P7 -> MTS2400 SL1-39 P21
+	 L6/P7 -> MTS2400 SL1-39 P22
+	 L7/P7 -> MTS2400 SL1-40 P21
+	 L8/P7 -> MTS2400 SL1-40 P22
+	 L9/P7 -> MTS2400 SL1-41 P21
+	 L10/P7 -> MTS2400 SL1-41 P22
+	 L11/P7 -> MTS2400 SL1-42 P21
+	 L12/P7 -> MTS2400 SL1-42 P22
+	 L1/P8 -> MTS2400 SL1-43 P21
+	 L2/P8 -> MTS2400 SL1-43 P22
+	 L3/P8 -> MTS2400 SL1-44 P21
+	 L4/P8 -> MTS2400 SL1-44 P22
+	 L5/P8 -> MTS2400 SL1-45 P21
+	 L6/P8 -> MTS2400 SL1-45 P22
+	 L7/P8 -> MTS2400 SL1-46 P21
+	 L8/P8 -> MTS2400 SL1-46 P22
+	 L9/P8 -> MTS2400 SL1-47 P21
+	 L10/P8 -> MTS2400 SL1-47 P22
+	 L11/P8 -> MTS2400 SL1-48 P21
+	 L12/P8 -> MTS2400 SL1-48 P22
+	 L1/P9 -> MTS2400 SL1-49 P21
+	 L2/P9 -> MTS2400 SL1-49 P22
+	 L3/P9 -> MTS2400 SL1-50 P21
+	 L4/P9 -> MTS2400 SL1-50 P22
+	 L5/P9 -> MTS2400 SL1-51 P21
+	 L6/P9 -> MTS2400 SL1-51 P22
+	 L7/P9 -> MTS2400 SL1-52 P21
+	 L8/P9 -> MTS2400 SL1-52 P22
+	 L9/P9 -> MTS2400 SL1-53 P21
+	 L10/P9 -> MTS2400 SL1-53 P22
+	 L11/P9 -> MTS2400 SL1-54 P21
+	 L12/P9 -> MTS2400 SL1-54 P22
+	 L1/P10 -> MTS2400 SL1-55 P21
+	 L2/P10 -> MTS2400 SL1-55 P22
+	 L3/P10 -> MTS2400 SL1-56 P21
+	 L4/P10 -> MTS2400 SL1-56 P22
+	 L5/P10 -> MTS2400 SL1-57 P21
+	 L6/P10 -> MTS2400 SL1-57 P22
+	 L7/P10 -> MTS2400 SL1-58 P21
+	 L8/P10 -> MTS2400 SL1-58 P22
+	 L9/P10 -> MTS2400 SL1-59 P21
+	 L10/P10 -> MTS2400 SL1-59 P22
+	 L11/P10 -> MTS2400 SL1-60 P21
+	 L12/P10 -> MTS2400 SL1-60 P22
+	 L1/P11 -> MTS2400 SL1-61 P21
+	 L2/P11 -> MTS2400 SL1-61 P22
+	 L3/P11 -> MTS2400 SL1-62 P21
+	 L4/P11 -> MTS2400 SL1-62 P22
+
+MTS14400 SL2-3
+	 L1/P1 -> MTS2400 SL1-1 P23
+	 L2/P1 -> MTS2400 SL1-1 P24
+	 L3/P1 -> MTS2400 SL1-2 P23
+	 L4/P1 -> MTS2400 SL1-2 P24
+	 L5/P1 -> MTS2400 SL1-3 P23
+	 L6/P1 -> MTS2400 SL1-3 P24
+	 L7/P1 -> MTS2400 SL1-4 P23
+	 L8/P1 -> MTS2400 SL1-4 P24
+	 L9/P1 -> MTS2400 SL1-5 P23
+	 L10/P1 -> MTS2400 SL1-5 P24
+	 L11/P1 -> MTS2400 SL1-6 P23
+	 L12/P1 -> MTS2400 SL1-6 P24
+	 L1/P2 -> MTS2400 SL1-7 P23
+	 L2/P2 -> MTS2400 SL1-7 P24
+	 L3/P2 -> MTS2400 SL1-8 P23
+	 L4/P2 -> MTS2400 SL1-8 P24
+	 L5/P2 -> MTS2400 SL1-9 P23
+	 L6/P2 -> MTS2400 SL1-9 P24
+	 L7/P2 -> MTS2400 SL1-10 P23
+	 L8/P2 -> MTS2400 SL1-10 P24
+	 L9/P2 -> MTS2400 SL1-11 P23
+	 L10/P2 -> MTS2400 SL1-11 P24
+	 L11/P2 -> MTS2400 SL1-12 P23
+	 L12/P2 -> MTS2400 SL1-12 P24
+	 L1/P3 -> MTS2400 SL1-13 P23
+	 L2/P3 -> MTS2400 SL1-13 P24
+	 L3/P3 -> MTS2400 SL1-14 P23
+	 L4/P3 -> MTS2400 SL1-14 P24
+	 L5/P3 -> MTS2400 SL1-15 P23
+	 L6/P3 -> MTS2400 SL1-15 P24
+	 L7/P3 -> MTS2400 SL1-16 P23
+	 L8/P3 -> MTS2400 SL1-16 P24
+	 L9/P3 -> MTS2400 SL1-17 P23
+	 L10/P3 -> MTS2400 SL1-17 P24
+	 L11/P3 -> MTS2400 SL1-18 P23
+	 L12/P3 -> MTS2400 SL1-18 P24
+	 L1/P4 -> MTS2400 SL1-19 P23
+	 L2/P4 -> MTS2400 SL1-19 P24
+	 L3/P4 -> MTS2400 SL1-20 P23
+	 L4/P4 -> MTS2400 SL1-20 P24
+	 L5/P4 -> MTS2400 SL1-21 P23
+	 L6/P4 -> MTS2400 SL1-21 P24
+	 L7/P4 -> MTS2400 SL1-22 P23
+	 L8/P4 -> MTS2400 SL1-22 P24
+	 L9/P4 -> MTS2400 SL1-23 P23
+	 L10/P4 -> MTS2400 SL1-23 P24
+	 L11/P4 -> MTS2400 SL1-24 P23
+	 L12/P4 -> MTS2400 SL1-24 P24
+	 L1/P5 -> MTS2400 SL1-25 P23
+	 L2/P5 -> MTS2400 SL1-25 P24
+	 L3/P5 -> MTS2400 SL1-26 P23
+	 L4/P5 -> MTS2400 SL1-26 P24
+	 L5/P5 -> MTS2400 SL1-27 P23
+	 L6/P5 -> MTS2400 SL1-27 P24
+	 L7/P5 -> MTS2400 SL1-28 P23
+	 L8/P5 -> MTS2400 SL1-28 P24
+	 L9/P5 -> MTS2400 SL1-29 P23
+	 L10/P5 -> MTS2400 SL1-29 P24
+	 L11/P5 -> MTS2400 SL1-30 P23
+	 L12/P5 -> MTS2400 SL1-30 P24
+	 L1/P6 -> MTS2400 SL1-31 P23
+	 L2/P6 -> MTS2400 SL1-31 P24
+	 L3/P6 -> MTS2400 SL1-32 P23
+	 L4/P6 -> MTS2400 SL1-32 P24
+	 L5/P6 -> MTS2400 SL1-33 P23
+	 L6/P6 -> MTS2400 SL1-33 P24
+	 L7/P6 -> MTS2400 SL1-34 P23
+	 L8/P6 -> MTS2400 SL1-34 P24
+	 L9/P6 -> MTS2400 SL1-35 P23
+	 L10/P6 -> MTS2400 SL1-35 P24
+	 L11/P6 -> MTS2400 SL1-36 P23
+	 L12/P6 -> MTS2400 SL1-36 P24
+	 L1/P7 -> MTS2400 SL1-37 P23
+	 L2/P7 -> MTS2400 SL1-37 P24
+	 L3/P7 -> MTS2400 SL1-38 P23
+	 L4/P7 -> MTS2400 SL1-38 P24
+	 L5/P7 -> MTS2400 SL1-39 P23
+	 L6/P7 -> MTS2400 SL1-39 P24
+	 L7/P7 -> MTS2400 SL1-40 P23
+	 L8/P7 -> MTS2400 SL1-40 P24
+	 L9/P7 -> MTS2400 SL1-41 P23
+	 L10/P7 -> MTS2400 SL1-41 P24
+	 L11/P7 -> MTS2400 SL1-42 P23
+	 L12/P7 -> MTS2400 SL1-42 P24
+	 L1/P8 -> MTS2400 SL1-43 P23
+	 L2/P8 -> MTS2400 SL1-43 P24
+	 L3/P8 -> MTS2400 SL1-44 P23
+	 L4/P8 -> MTS2400 SL1-44 P24
+	 L5/P8 -> MTS2400 SL1-45 P23
+	 L6/P8 -> MTS2400 SL1-45 P24
+	 L7/P8 -> MTS2400 SL1-46 P23
+	 L8/P8 -> MTS2400 SL1-46 P24
+	 L9/P8 -> MTS2400 SL1-47 P23
+	 L10/P8 -> MTS2400 SL1-47 P24
+	 L11/P8 -> MTS2400 SL1-48 P23
+	 L12/P8 -> MTS2400 SL1-48 P24
+	 L1/P9 -> MTS2400 SL1-49 P23
+	 L2/P9 -> MTS2400 SL1-49 P24
+	 L3/P9 -> MTS2400 SL1-50 P23
+	 L4/P9 -> MTS2400 SL1-50 P24
+	 L5/P9 -> MTS2400 SL1-51 P23
+	 L6/P9 -> MTS2400 SL1-51 P24
+	 L7/P9 -> MTS2400 SL1-52 P23
+	 L8/P9 -> MTS2400 SL1-52 P24
+	 L9/P9 -> MTS2400 SL1-53 P23
+	 L10/P9 -> MTS2400 SL1-53 P24
+	 L11/P9 -> MTS2400 SL1-54 P23
+	 L12/P9 -> MTS2400 SL1-54 P24
+	 L1/P10 -> MTS2400 SL1-55 P23
+	 L2/P10 -> MTS2400 SL1-55 P24
+	 L3/P10 -> MTS2400 SL1-56 P23
+	 L4/P10 -> MTS2400 SL1-56 P24
+	 L5/P10 -> MTS2400 SL1-57 P23
+	 L6/P10 -> MTS2400 SL1-57 P24
+	 L7/P10 -> MTS2400 SL1-58 P23
+	 L8/P10 -> MTS2400 SL1-58 P24
+	 L9/P10 -> MTS2400 SL1-59 P23
+	 L10/P10 -> MTS2400 SL1-59 P24
+	 L11/P10 -> MTS2400 SL1-60 P23
+	 L12/P10 -> MTS2400 SL1-60 P24
+	 L1/P11 -> MTS2400 SL1-61 P23
+	 L2/P11 -> MTS2400 SL1-61 P24
+	 L3/P11 -> MTS2400 SL1-62 P23
+	 L4/P11 -> MTS2400 SL1-62 P24
diff --git a/ibmgtsim/tests/blend-4-ary-2-tree.topo b/ibmgtsim/tests/blend-4-ary-2-tree.topo
new file mode 100644
index 0000000..6cfd377
--- /dev/null
+++ b/ibmgtsim/tests/blend-4-ary-2-tree.topo
@@ -0,0 +1,40 @@
+MTS800 SW-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-1 P1
+   P6 -> MTS800 SW-1-1 P1
+   P7 -> MTS800 SW-2-1 P2
+   P8 -> MTS800 SW-3-1 P4
+
+MTS800 SW-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-1 P2
+   P6 -> MTS800 SW-1-1 P2
+   P7 -> MTS800 SW-2-1 P1
+   P8 -> MTS800 SW-3-1 P2
+
+MTS800 SW-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-1 P3
+   P6 -> MTS800 SW-1-1 P3
+   P7 -> MTS800 SW-2-1 P3
+   P8 -> MTS800 SW-3-1 P3
+
+MTS800 SW-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-1 P4
+   P6 -> MTS800 SW-1-1 P4
+   P7 -> MTS800 SW-2-1 P4
+   P8 -> MTS800 SW-3-1 P1
+
diff --git a/ibmgtsim/tests/discover.check.tcl b/ibmgtsim/tests/discover.check.tcl
new file mode 100644
index 0000000..58b6817
--- /dev/null
+++ b/ibmgtsim/tests/discover.check.tcl
@@ -0,0 +1,48 @@
+# This is the checker for for a simple 16 node test with opensm and osmtest
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -R updn -d2 -V -g $osmPortGuid ..."
+   set osmPid [exec $osmPath -R updn -d2 -V -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   after 5000
+
+   set ibdiagnetLog [file join $simDir ibdiagnet.log]
+   set cmd "ibdiagnet -o $simDir"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdiagnetLog"]} e]} {
+      puts "-E- ibdiagnet failed with status:$e"
+      return 0
+   }
+
+   # make sure directory is not remoevd
+   return 0
+}
diff --git a/ibmgtsim/tests/discover.sim.tcl b/ibmgtsim/tests/discover.sim.tcl
new file mode 100644
index 0000000..743b00a
--- /dev/null
+++ b/ibmgtsim/tests/discover.sim.tcl
@@ -0,0 +1,68 @@
+
+puts "Randomally picking 10 ports and assigning random drop rate on"
+
+proc setPortErrProfile {node portNum} {
+   # pick a random drop rate in the range 0 - 1 . The higher the number the more chances for
+   # drop.
+   set dropRate [rmRand]
+
+   # set the node drop rate
+   puts "-I- Setting drop rate:$dropRate on node:$node port:$portNum"
+   set portErrProf "-drop-rate-avg $dropRate -drop-rate-var 4"
+   IBMSNode_setPhyPortErrProfile sim$node $portNum $portErrProf
+}
+
+proc setNodePortErrProfile {node} {
+   # first deicde if the entire node is broken:
+   set allPorts [expr [rmRand] > 0.8]
+
+   if {$allPorts != 0} {
+      for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+         setPortErrProfile $node $pn
+      }
+   } else {
+      # pick a random port number
+      set portNum [expr int([rmRand]*[IBNode_numPorts_get $node])+1]
+      setPortErrProfile $node $portNum
+   }
+}
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNameNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      lappend nodeNameNOrderList [list [lindex $nodeNameNId 1] [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNameNOrder [lsort -index 1 -real $nodeNameNOrderList] {
+      lappend randNodes [lindex $nodeNameNOrder 0]
+   }
+   return $randNodes
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the nodes:
+set randNodes [getNodesByRandomOreder $fabric]
+set numNodes [llength $randNodes]
+
+###########################################
+set NumberOfBadPorts 4
+###########################################
+
+# now get the first NumberOfBadPorts Nodes for err profile ...
+set numNodesUsed 0
+set idx 0
+while {($numNodesUsed < $numNodes / 10) && ($numNodesUsed < $NumberOfBadPorts) && ($idx < $numNodes)} {
+   set node [lindex $randNodes $idx]
+   # ignore the root node:
+   if {[IBNode_name_get $node] != "H-1/U1"} {
+      setNodePortErrProfile $node
+      incr numNodesUsed
+   }
+   incr idx
+}
diff --git a/ibmgtsim/tests/duplicateGuid.sim.tcl b/ibmgtsim/tests/duplicateGuid.sim.tcl
new file mode 100644
index 0000000..def01ed
--- /dev/null
+++ b/ibmgtsim/tests/duplicateGuid.sim.tcl
@@ -0,0 +1,44 @@
+
+puts "Randomally Set Duplicated Port Guid (do not touch the SM port)"
+
+proc duplicatePortGuid {fromPort toPort } {
+   IBPort_guid_set $toPort [IBPort_guid_get $fromPort]
+}
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNameNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      lappend nodeNameNOrderList [list [lindex $nodeNameNId 1] [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNameNOrder [lsort -index 1 -real $nodeNameNOrderList] {
+      lappend randNodes [lindex $nodeNameNOrder 0]
+   }
+   return $randNodes
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the nodes:
+set randNodes [getNodesByRandomOreder $fabric]
+set numNodes [llength $randNodes]
+
+# now get the first N nodes for err profile ...
+set numNodesUsed 0
+set idx 0
+while {($numNodesUsed < $numNodes / 10) && ($numNodesUsed < 12) && ($idx < $numNodes)} {
+   set node [lindex $randNodes $idx]
+   # ignore the root node:
+   if {[IBNode_name_get $node] != "H-1/U1"} {
+      if {[IBNode_type_get $node] != 1} {
+         setNodePortErrProfile $node
+         incr numNodesUsed
+      }
+   }
+   incr idx
+}
diff --git a/ibmgtsim/tests/gnu-stallion-64.topo b/ibmgtsim/tests/gnu-stallion-64.topo
new file mode 100644
index 0000000..943e995
--- /dev/null
+++ b/ibmgtsim/tests/gnu-stallion-64.topo
@@ -0,0 +1,160 @@
+
+MTS800 SW-2-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> Gnu SW-1-0 M/P1
+   P6 -> Gnu SW-1-1 M/P1
+   P7 -> Gnu SW-1-2 M/P1
+   P8 -> Gnu SW-1-3 M/P1
+
+MTS800 SW-2-0-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> Gnu SW-1-0 M/P2
+   P6 -> Gnu SW-1-1 M/P2
+   P7 -> Gnu SW-1-2 M/P2
+   P8 -> Gnu SW-1-3 M/P2
+
+MTS800 SW-2-0-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> Gnu SW-1-0 M/P3
+   P6 -> Gnu SW-1-1 M/P3
+   P7 -> Gnu SW-1-2 M/P3
+   P8 -> Gnu SW-1-3 M/P3
+
+MTS800 SW-2-0-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> Gnu SW-1-0 M/P4
+   P6 -> Gnu SW-1-1 M/P4
+   P7 -> Gnu SW-1-2 M/P4
+   P8 -> Gnu SW-1-3 M/P4
+
+MTS800 SW-2-1-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> Gnu SW-1-0 M/P5
+   P6 -> Gnu SW-1-1 M/P5
+   P7 -> Gnu SW-1-2 M/P5
+   P8 -> Gnu SW-1-3 M/P5
+
+MTS800 SW-2-1-1
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> Gnu SW-1-0 M/P6
+   P6 -> Gnu SW-1-1 M/P6
+   P7 -> Gnu SW-1-2 M/P6
+   P8 -> Gnu SW-1-3 M/P6
+
+MTS800 SW-2-1-2
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> Gnu SW-1-0 M/P7
+   P6 -> Gnu SW-1-1 M/P7
+   P7 -> Gnu SW-1-2 M/P7
+   P8 -> Gnu SW-1-3 M/P7
+
+MTS800 SW-2-1-3
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> Gnu SW-1-0 M/P8
+   P6 -> Gnu SW-1-1 M/P8
+   P7 -> Gnu SW-1-2 M/P8
+   P8 -> Gnu SW-1-3 M/P8
+
+MTS800 SW-2-2-0
+   P1 -> Cougar H-33 P1
+   P2 -> Cougar H-34 P1
+   P3 -> Cougar H-35 P1
+   P4 -> Cougar H-36 P1
+   P5 -> Gnu SW-1-0 L1/P1
+   P6 -> Gnu SW-1-1 L1/P1
+   P7 -> Gnu SW-1-2 L1/P1
+   P8 -> Gnu SW-1-3 L1/P1
+
+MTS800 SW-2-2-1
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> Gnu SW-1-0 L1/P2
+   P6 -> Gnu SW-1-1 L1/P2
+   P7 -> Gnu SW-1-2 L1/P2
+   P8 -> Gnu SW-1-3 L1/P2
+
+MTS800 SW-2-2-2
+   P1 -> Cougar H-41 P1
+   P2 -> Cougar H-42 P1
+   P3 -> Cougar H-43 P1
+   P4 -> Cougar H-44 P1
+   P5 -> Gnu SW-1-0 L1/P3
+   P6 -> Gnu SW-1-1 L1/P3
+   P7 -> Gnu SW-1-2 L1/P3
+   P8 -> Gnu SW-1-3 L1/P3
+
+MTS800 SW-2-2-3
+   P1 -> Cougar H-45 P1
+   P2 -> Cougar H-46 P1
+   P3 -> Cougar H-47 P1
+   P4 -> Cougar H-48 P1
+   P5 -> Gnu SW-1-0 L1/P4
+   P6 -> Gnu SW-1-1 L1/P4
+   P7 -> Gnu SW-1-2 L1/P4
+   P8 -> Gnu SW-1-3 L1/P4
+
+MTS800 SW-2-3-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> Gnu SW-1-0 L2/P1
+   P6 -> Gnu SW-1-1 L2/P1
+   P7 -> Gnu SW-1-2 L2/P1
+   P8 -> Gnu SW-1-3 L2/P1
+
+MTS800 SW-2-3-1
+   P1 -> Cougar H-53 P1
+   P2 -> Cougar H-54 P1
+   P3 -> Cougar H-55 P1
+   P4 -> Cougar H-56 P1
+   P5 -> Gnu SW-1-0 L2/P2
+   P6 -> Gnu SW-1-1 L2/P2
+   P7 -> Gnu SW-1-2 L2/P2
+   P8 -> Gnu SW-1-3 L2/P2
+
+MTS800 SW-2-3-2
+   P1 -> Cougar H-57 P1
+   P2 -> Cougar H-58 P1
+   P3 -> Cougar H-59 P1
+   P4 -> Cougar H-60 P1
+   P5 -> Gnu SW-1-0 L2/P3
+   P6 -> Gnu SW-1-1 L2/P3
+   P7 -> Gnu SW-1-2 L2/P3
+   P8 -> Gnu SW-1-3 L2/P3
+
+MTS800 SW-2-3-3
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> Gnu SW-1-0 L2/P4
+   P6 -> Gnu SW-1-1 L2/P4
+   P7 -> Gnu SW-1-2 L2/P4
+   P8 -> Gnu SW-1-3 L2/P4
diff --git a/ibmgtsim/tests/half-4-ary-3-tree.topo b/ibmgtsim/tests/half-4-ary-3-tree.topo
new file mode 100644
index 0000000..ac37b69
--- /dev/null
+++ b/ibmgtsim/tests/half-4-ary-3-tree.topo
@@ -0,0 +1,128 @@
+MTS800 SW-0-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0-1 P1
+   P6 -> MTS800 SW-0-1-1 P1
+   P7 -> MTS800 SW-0-2-1 P1
+   P8 -> MTS800 SW-0-3-1 P1
+
+MTS800 SW-0-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0-1 P2
+   P6 -> MTS800 SW-0-1-1 P2
+   P7 -> MTS800 SW-0-2-1 P2
+   P8 -> MTS800 SW-0-3-1 P2
+
+MTS800 SW-0-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0-1 P3
+   P6 -> MTS800 SW-0-1-1 P3
+   P7 -> MTS800 SW-0-2-1 P3
+   P8 -> MTS800 SW-0-3-1 P3
+
+MTS800 SW-0-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0-1 P4
+   P6 -> MTS800 SW-0-1-1 P4
+   P7 -> MTS800 SW-0-2-1 P4
+   P8 -> MTS800 SW-0-3-1 P4
+
+MTS800 SW-1-0-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> MTS800 SW-1-0-1 P1
+   P6 -> MTS800 SW-1-1-1 P1
+   P7 -> MTS800 SW-1-2-1 P1
+   P8 -> MTS800 SW-1-3-1 P1
+
+MTS800 SW-1-1-0
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> MTS800 SW-1-0-1 P2
+   P6 -> MTS800 SW-1-1-1 P2
+   P7 -> MTS800 SW-1-2-1 P2
+   P8 -> MTS800 SW-1-3-1 P2
+
+MTS800 SW-1-2-0
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> MTS800 SW-1-0-1 P3
+   P6 -> MTS800 SW-1-1-1 P3
+   P7 -> MTS800 SW-1-2-1 P3
+   P8 -> MTS800 SW-1-3-1 P3
+
+MTS800 SW-1-3-0
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> MTS800 SW-1-0-1 P4
+   P6 -> MTS800 SW-1-1-1 P4
+   P7 -> MTS800 SW-1-2-1 P4
+   P8 -> MTS800 SW-1-3-1 P4
+
+MTS800 SW-0-0-1
+   P5 -> MTS800 SW-0-0-2 P1
+   P6 -> MTS800 SW-1-0-2 P1
+   P7 -> MTS800 SW-0-0-2 P3
+   P8 -> MTS800 SW-1-0-2 P3
+
+MTS800 SW-0-1-1
+   P5 -> MTS800 SW-0-1-2 P1
+   P6 -> MTS800 SW-1-1-2 P1
+   P7 -> MTS800 SW-0-1-2 P3
+   P8 -> MTS800 SW-1-1-2 P3
+
+MTS800 SW-0-2-1
+   P5 -> MTS800 SW-0-2-2 P1
+   P6 -> MTS800 SW-1-2-2 P1
+   P7 -> MTS800 SW-0-2-2 P3
+   P8 -> MTS800 SW-1-2-2 P3
+
+MTS800 SW-0-3-1
+   P5 -> MTS800 SW-0-3-2 P1
+   P6 -> MTS800 SW-1-3-2 P1
+   P7 -> MTS800 SW-0-3-2 P3
+   P8 -> MTS800 SW-1-3-2 P3
+
+MTS800 SW-1-0-1
+   P5 -> MTS800 SW-0-0-2 P2
+   P6 -> MTS800 SW-1-0-2 P2
+   P7 -> MTS800 SW-0-0-2 P4
+   P8 -> MTS800 SW-1-0-2 P4
+
+MTS800 SW-1-1-1
+   P5 -> MTS800 SW-0-1-2 P2
+   P6 -> MTS800 SW-1-1-2 P2
+   P7 -> MTS800 SW-0-1-2 P4
+   P8 -> MTS800 SW-1-1-2 P4
+
+MTS800 SW-1-2-1
+   P5 -> MTS800 SW-0-2-2 P2
+   P6 -> MTS800 SW-1-2-2 P2
+   P7 -> MTS800 SW-0-2-2 P4
+   P8 -> MTS800 SW-1-2-2 P4
+
+MTS800 SW-1-3-1
+   P5 -> MTS800 SW-0-3-2 P2
+   P6 -> MTS800 SW-1-3-2 P2
+   P7 -> MTS800 SW-0-3-2 P4
+   P8 -> MTS800 SW-1-3-2 P4
+
diff --git a/ibmgtsim/tests/ibdiag-drops.sim.tcl b/ibmgtsim/tests/ibdiag-drops.sim.tcl
new file mode 100644
index 0000000..5ffd941
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-drops.sim.tcl
@@ -0,0 +1,79 @@
+
+puts "Randomally picking some ports and assigning random drop rate on"
+
+proc setPortErrProfile {node portNum} {
+   # pick a random drop rate in the range 0 - 1 . The higher the number the more chances for
+   # drop.
+   set dropRate [expr [rmRand]*0.6 + 0.2]
+
+   # set the node drop rate
+   puts "-I- Setting drop rate:$dropRate on node:$node port:$portNum"
+   set portErrProf "-drop-rate-avg $dropRate -drop-rate-var 4"
+   IBMSNode_setPhyPortErrProfile sim$node $portNum $portErrProf
+}
+
+proc setNodePortErrProfile {node} {
+   # first deicde if the entire node is broken:
+   set allPorts [expr [rmRand] > 0.9]
+
+   if {$allPorts != 0} {
+      for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+         setPortErrProfile $node $pn
+      }
+   } else {
+      # pick a random port number
+      set portNum [expr int([rmRand]*[IBNode_numPorts_get $node])+1]
+      setPortErrProfile $node $portNum
+   }
+}
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNameNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      lappend nodeNameNOrderList [list [lindex $nodeNameNId 1] [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNameNOrder [lsort -index 1 -real $nodeNameNOrderList] {
+      lappend randNodes [lindex $nodeNameNOrder 0]
+   }
+   return $randNodes
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   return "-I- Nothing to be done post SM"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "-I- Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the nodes:
+set randNodes [getNodesByRandomOreder $fabric]
+set numNodes [llength $randNodes]
+
+###########################################
+set NumberOfBadPorts 4
+###########################################
+
+# now get the first NumberOfBadPorts Nodes for err profile ...
+set numNodesUsed 0
+set idx 0
+while {($numNodesUsed < $numNodes / 10) && ($numNodesUsed < $NumberOfBadPorts) && ($idx < $numNodes)} {
+   set node [lindex $randNodes $idx]
+   # ignore the root node:
+   if {[IBNode_name_get $node] != "H-1/U1"} {
+      setNodePortErrProfile $node
+      incr numNodesUsed
+   }
+   incr idx
+}
+
diff --git a/ibmgtsim/tests/ibdiag-dup-both-guids.sim.tcl b/ibmgtsim/tests/ibdiag-dup-both-guids.sim.tcl
new file mode 100644
index 0000000..4953558
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-dup-both-guids.sim.tcl
@@ -0,0 +1,127 @@
+
+puts "FLOW: duplicate some port guid"
+
+# duplicate the node guid from the source to the dest
+proc dupNodeGuid {fromNode toNode} {
+   global errorInfo
+   set newGuid [IBNode_guid_get $fromNode]
+   set toNodeName [IBNode_name_get $toNode]
+   set fromNodeName [IBNode_name_get $fromNode]
+   puts "-I- Overriding node:$toNodeName guid to $newGuid (dup of $fromNodeName)"
+
+   # IBDM ...
+   IBNode_guid_set $toNode $newGuid
+
+   # But we need to deal with the SIMNODE too:
+   set simNode "sim$toNode"
+   set ni [IBMSNode_getNodeInfo $simNode]
+   ib_node_info_t_node_guid_set $ni $newGuid
+}
+
+# duplicate the port guid from the source to the dest
+proc dupPortGuid {fromNodeNPort toNodeNPort} {
+
+   # IBDM has a limitation of not holding "end ports"
+   # instead only physical ports are available.
+   # So in case of a switch port (port num 0) we need to handle all physical ports
+   # instead...
+
+   # do we have a switch as the guid to duplicate?
+   set node [lindex $fromNodeNPort 0]
+   if {[lindex $fromNodeNPort 1] == 0} {
+      # just use the port 1 instead
+      set port [IBNode_getPort $node  1]
+      set fromPortName "[IBNode_name_get $node]/P0"
+   } else {
+      set port [IBNode_getPort $node [lindex $fromNodeNPort 1]]
+      set fromPortName [IBPort_getName $port]
+   }
+   set newGuid [IBPort_guid_get $port]
+
+   # do we have a switch port 0 as a target?
+   set node [lindex $toNodeNPort 0]
+   if {[lindex $toNodeNPort 1] == 0} {
+      set numPorts [IBNode_numPorts_get $node]
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            lappend targetPorts $port
+         }
+      }
+      set simNodeInfo [IBMSNode_getNodeInfo sim$node]
+      puts "-I- Overriding node:[IBNode_name_get $node] port guid to $newGuid (dup of $fromPortName)"
+      ib_node_info_t_port_guid_set $simNodeInfo $newGuid
+   } else {
+      set port [IBNode_getPort $node [lindex $toNodeNPort 1]]
+      set targetPorts $port
+   }
+
+   # do the copy
+   foreach port $targetPorts {
+      puts "-I- Overriding port:[IBPort_getName $port] guid to $newGuid (dup of $fromPortName)"
+      IBPort_guid_set $port $newGuid
+   }
+}
+
+# get a random order of all the fabric endports:
+# a list of {node port-num random}
+proc getEndPortsByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodePortNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # each node might be a switch (then take port 0)
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodePortNOrderList [list $node 0 [rmRand]]
+      } else {
+         # only connected ports please:
+         set numPorts [IBNode_numPorts_get $node]
+         for {set pn 1} {$pn <= $numPorts} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend nodePortNOrderList [list $node $pn [rmRand]]
+            }
+         }
+      }
+   }
+
+   set randNodes {}
+   foreach nodePortNRnd [lsort -index 2 -real $nodePortNOrderList] {
+      lappend randNodes [lrange $nodePortNRnd 0 1]
+   }
+   return $randNodes
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   return "-I- Nothing to be done post SM"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "-I- Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the end ports:
+set randEndPorts [getEndPortsByRandomOreder $fabric]
+set numEndPorts [llength $randEndPorts]
+
+set swaps [expr int([rmRand]*$numEndPorts)/5]
+set swaps 1
+for {set i 1} {$i <= $swaps } {incr i} {
+    set idx [expr ($i + int([rmRand]*$numEndPorts))%$numEndPorts]
+    set fromNodeNPort [lindex $randEndPorts $idx]
+    set clones [expr int([rmRand]*2)]
+    for {set j 1} {$j <= $clones} {incr j} {
+       set toNodeNPort [lindex $randEndPorts [expr ($idx+$j)%$numEndPorts]]
+       if {[catch {dupPortGuid $fromNodeNPort $toNodeNPort} e]} {
+          puts $errorInfo
+       }
+       dupNodeGuid [lindex $fromNodeNPort 0] [lindex $toNodeNPort 0]
+    }
+}
diff --git a/ibmgtsim/tests/ibdiag-dup-node-guid.sim.tcl b/ibmgtsim/tests/ibdiag-dup-node-guid.sim.tcl
new file mode 100644
index 0000000..022aa5b
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-dup-node-guid.sim.tcl
@@ -0,0 +1,59 @@
+
+puts "FLOW: duplicate some node guid"
+
+# duplicate the node guid from the source to the dest
+proc dupNodeGuid {fromNode toNode} {
+   global errorInfo
+   set newGuid [IBNode_guid_get $fromNode]
+   set toNodeName [IBNode_name_get $toNode]
+   set fromNodeName [IBNode_name_get $fromNode]
+   puts "-I- Overriding node:$toNodeName guid to $newGuid (dup of $fromNodeName)"
+
+   # IBDM ...
+   IBNode_guid_set $toNode $newGuid
+
+   # But we need to deal with the SIMNODE too:
+   set simNode "sim$toNode"
+   set ni [IBMSNode_getNodeInfo $simNode]
+   ib_node_info_t_node_guid_set $ni $newGuid
+}
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+      lappend nodeNOrderList [list $node [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNRnd [lsort -index 1 -real $nodeNOrderList] {
+      lappend randNodes [lindex $nodeNRnd 0]
+   }
+   return $randNodes
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   return "-I- Nothing to be done post SM"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "-I- Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the end ports:
+set randNodes [getNodesByRandomOreder $fabric]
+set numNodes [llength $randNodes]
+set idx [expr int([rmRand]*$numNodes)]
+
+set fromNode [lindex $randNodes $idx]
+set toNode [lindex $randNodes [expr $idx+1]]
+
+dupNodeGuid $fromNode $toNode
diff --git a/ibmgtsim/tests/ibdiag-dup-port-guid.sim.tcl b/ibmgtsim/tests/ibdiag-dup-port-guid.sim.tcl
new file mode 100644
index 0000000..5e48eb7
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-dup-port-guid.sim.tcl
@@ -0,0 +1,113 @@
+
+puts "FLOW: duplicate some port guid"
+
+# duplicate the port guid from the source to the dest
+proc dupPortGuid {fromNodeNPort toNodeNPort} {
+
+   # IBDM has a limitation of not holding "end ports"
+   # instead only physical ports are available.
+   # So in case of a switch port (port num 0) we need to handle all physical ports
+   # instead...
+
+   # do we have a switch as the guid to duplicate?
+   set node [lindex $fromNodeNPort 0]
+   if {[lindex $fromNodeNPort 1] == 0} {
+      # just use the port 1 instead
+      set port [IBNode_getPort $node  1]
+      set fromPortName "[IBNode_name_get $node]/P0"
+   } else {
+      set port [IBNode_getPort $node [lindex $fromNodeNPort 1]]
+      set fromPortName [IBPort_getName $port]
+   }
+   set newGuid [IBPort_guid_get $port]
+
+   # do we have a switch port 0 as a target?
+   set node [lindex $toNodeNPort 0]
+   if {[lindex $toNodeNPort 1] == 0} {
+      set numPorts [IBNode_numPorts_get $node]
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            lappend targetPorts $port
+         }
+      }
+      set simNodeInfo [IBMSNode_getNodeInfo sim$node]
+      puts "-I- Overriding node:[IBNode_name_get $node] port guid to $newGuid (dup of $fromPortName)"
+      ib_node_info_t_port_guid_set $simNodeInfo $newGuid
+   } else {
+      set port [IBNode_getPort $node [lindex $toNodeNPort 1]]
+      set targetPorts $port
+   }
+
+   # do the copy
+   foreach port $targetPorts {
+      puts "-I- Overriding port:[IBPort_getName $port] guid to $newGuid (dup of $fromPortName)"
+      IBPort_guid_set $port $newGuid
+   }
+}
+
+# get a random order of all the fabric endports:
+# a list of {node port-num random}
+proc getEndPortsByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodePortNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # each node might be a switch (then take port 0)
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodePortNOrderList [list $node 0 [rmRand]]
+      } else {
+         # only connected ports please:
+         set numPorts [IBNode_numPorts_get $node]
+         for {set pn 1} {$pn <= $numPorts} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend nodePortNOrderList [list $node $pn [rmRand]]
+            }
+         }
+      }
+   }
+
+   set randNodes {}
+   foreach nodePortNRnd [lsort -index 2 -real $nodePortNOrderList] {
+      lappend randNodes [lrange $nodePortNRnd 0 1]
+   }
+   return $randNodes
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   return "-I- Nothing to be done post SM"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "-I- Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the end ports:
+set randEndPorts [getEndPortsByRandomOreder $fabric]
+set numEndPorts [llength $randEndPorts]
+
+set swaps [expr int([rmRand]*$numEndPorts)/5]
+if {!$swaps} {set swaps 1}
+
+puts "Swapping $swaps PortGuis"
+for {set i 1} {$i <= $swaps } {incr i} {
+   set idx [expr ($i + int([rmRand]*$numEndPorts))%$numEndPorts]
+   set fromNodeNPort [lindex $randEndPorts $idx]
+   set clones [expr int([rmRand]*2)]
+   if {!$clones} {set clones 1}
+   puts "Swap #$i with #$clones clones"
+   for {set j 1} {$j <= $clones} {incr j} {
+      set toNodeNPort [lindex $randEndPorts [expr ($idx+$j)%$numEndPorts]]
+      if {[catch {dupPortGuid $fromNodeNPort $toNodeNPort} e]} {
+         puts $errorInfo
+      }
+   }
+}
diff --git a/ibmgtsim/tests/ibdiag-lid.sim.tcl b/ibmgtsim/tests/ibdiag-lid.sim.tcl
new file mode 100644
index 0000000..73f5bad
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-lid.sim.tcl
@@ -0,0 +1,75 @@
+
+puts "FLOW: have some bad lid assignments - either 0 or duplicated ..."
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+      lappend nodeNOrderList [list $node [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNRnd [lsort -index 1 -real $nodeNOrderList] {
+      lappend randNodes [lindex $nodeNRnd 0]
+   }
+   return $randNodes
+}
+
+# randomly select a bad lid assignment flow and do it:
+proc injectLidErrorOnNode {node} {
+   # first decide which error to inject:
+   set errTypes {zeroLid dupLid}
+   set errType [lindex $errTypes [expr int([rmRand]*[llength $errTypes])]]
+
+   switch $errType {
+      zeroLid {
+         set newLid 0
+      }
+      dupLid {
+         set newLid [expr int([rmRand]*[IBFabric_maxLid_get [IBNode_p_fabric_get $node]])]
+      }
+   }
+
+   set numPorts [IBNode_numPorts_get $node]
+   for {set pn 1} {$pn <= $numPorts} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+         set tmpNewLid [format 0x%04x $newLid]
+         puts "-I- Setting port:[IBPort_getName $port] lid to $tmpNewLid ($errType)"
+         set pi [IBMSNode_getPortInfo sim$node $pn]
+         ib_port_info_t_base_lid_set $pi $newLid
+      }
+   }
+   return 0
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   global errorInfo
+   set nodes [getNodesByRandomOreder $fabric]
+   set maxErrors [expr [llength $nodes] / 10]
+   set numErrosSet 0
+   if {[catch {
+      for {set i 0} {($i < 10) && ($i < $maxErrors)} {incr i} {
+         if {![injectLidErrorOnNode [lindex $nodes $i]]} {
+            incr numErrosSet
+         }
+      }
+   } e]} {
+      puts "-E- $e"
+      puts $errorInfo
+   }
+   return "-I- Set $numErrosSet LID errors"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibmgtsim/tests/ibdiag-mcast.sim.tcl b/ibmgtsim/tests/ibdiag-mcast.sim.tcl
new file mode 100644
index 0000000..cbfed6d
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-mcast.sim.tcl
@@ -0,0 +1,171 @@
+
+puts "FLOW: have some multicats groups with some partial connectivity too"
+
+# get a random order of all the fabric HCA endports:
+# a list of {node port-num random}
+proc getEndPortsByRandomOrder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set portNOrderLIst {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      if {[IBNode_type_get $node] != 1} {
+         # only connected ports please:
+         set numPorts [IBNode_numPorts_get $node]
+         for {set pn 1} {$pn <= $numPorts} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend portNOrderLIst [list $port [rmRand]]
+            }
+         }
+      }
+   }
+
+   set randPorts {}
+   foreach portNRnd [lsort -index 1 -real $portNOrderLIst] {
+      lappend randPorts [lrange $portNRnd 0 1]
+   }
+   return $randPorts
+}
+
+# get random list of switch nodes:
+proc getRandomSwitchNodesList {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # only switches please
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodeNOrderList [list $node [rmRand]]
+      }
+   }
+
+   set randNodes {}
+   foreach nodeNRnd [lsort -index 1 -real $nodeNOrderList] {
+      lappend randNodes [lindex $nodeNRnd 0]
+   }
+   return $randNodes
+}
+
+# send a single port join request
+proc sendJoinForPort {mgid port} {
+   puts "-I- Joining port $port"
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm $mgid
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask "0x00000000000130c7"
+
+   # send it assuming the SM_LID is always 1:
+   madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# scan the switches (randomly) for a MFT entry which is not zero
+# delete the first entry foudn and return
+proc removeMCastRouteEntry {fabric} {
+   set nodes [getRandomSwitchNodesList $fabric]
+
+   while {[llength $nodes]} {
+      set node [lindex $nodes 0]
+
+      set mftBlock [IBMSNode_getMFTBlock sim$node 0 0]
+      if {[llength $mftBlock] == 32} {
+         set idx [lsearch -regexp $mftBlock {0x0*[1-9a-fA-F]+0*}]
+         if {$idx >= 0} {
+            set done 1
+            set newMftBlock [lreplace $mftBlock $idx $idx 0x0000]
+            puts "-I- Replacing MFT block $node 0 0"
+            puts "    from:$mftBlock"
+            puts "    to:  $newMftBlock"
+            IBMSNode_setMFTBlock sim$node 0 0 $newMftBlock
+            return 0
+         }
+      }
+      set nodes [lrange $nodes 1 end]
+   }
+   return 1
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   global errorInfo
+   if {[catch {
+   puts "-I- Joining MGRPS and Disconnecting some MFT routes..."
+   set endPorts [getEndPortsByRandomOrder $fabric]
+
+   # now we need several mgrps:
+   set mgids {
+      0xff12401bffff0000:00000000ffffffff
+      0xff12401bffff0000:0000000000000001
+      0xff12401bffff0000:0000000000000002
+   }
+
+   # go one port at a time and join:
+   set idx 0
+   set nPorts 0
+   foreach port $endPorts {
+      set mgid [lindex $mgids $idx]
+      incr idx
+      incr nPorts
+      if {$idx > 2} {set idx 0}
+
+      set portName [IBPort_getName $port]
+      if {[catch {sendJoinForPort $mgid $port} e]} {
+         puts "-E- Fail to join $portName to $mgid : $e $errorInfo"
+      } else {
+         puts "-I- Port $portName joined $mgid"
+      }
+   }
+   } e]} {
+      puts "-E- $e"
+      puts $errorInfo
+   }
+   set nDisconencted 0
+
+   after 1000
+if {[catch {
+   # now go and delete some switch MC entries...
+   for {set i 0} {$i < 3} {incr i} {
+      # delete one entry
+      if {![removeMCastRouteEntry $fabric]} {
+         incr nDisconencted
+      }
+   }
+} e]} {
+puts $e
+puts $errorInfo
+}
+   return "-I- Joined $nPorts Disconnected $nDisconencted"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibmgtsim/tests/ibdiag-ucast.sim.tcl b/ibmgtsim/tests/ibdiag-ucast.sim.tcl
new file mode 100644
index 0000000..8231c96
--- /dev/null
+++ b/ibmgtsim/tests/ibdiag-ucast.sim.tcl
@@ -0,0 +1,80 @@
+
+puts "FLOW: set some unicast partial connectivity"
+
+# get random list of switch nodes:
+proc getRandomSwitchNodesList {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # only switches please
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodeNOrderList [list $node [rmRand]]
+      }
+   }
+
+   set randNodes {}
+   foreach nodeNRnd [lsort -index 1 -real $nodeNOrderList] {
+      lappend randNodes [lindex $nodeNRnd 0]
+   }
+   return $randNodes
+}
+
+# scan the switches (randomly) for a LFT entry which is not zero
+# delete one entry ...
+proc removeUCastRouteEntry {fabric} {
+   set nodes [getRandomSwitchNodesList $fabric]
+
+   while {[llength $nodes]} {
+      set node [lindex $nodes 0]
+      set nodeName [IBNode_name_get $node]
+      set lft [IBNode_LFT_get $node]
+
+      # convert to LID Port list
+      set lidPortList {}
+      for {set lid 0 } {$lid < [llength $lft]} {incr lid} {
+         set outPort [lindex $lft $lid]
+         if {($outPort != 0xff) && ($outPort != 0) } {
+            lappend lidPortList [list $lid $outPort]
+         }
+      }
+
+      # select a random entry
+      if {[llength $lidPortList]} {
+         set badLidIdx [expr int([rmRand]*[llength $lidPortList])]
+         set badLidNPort [lindex $lidPortList $badLidIdx]
+         set badLid [lindex $badLidNPort 0]
+         set wasPort [lindex $badLidNPort 1]
+         puts "-I- Deleting LFT on $nodeName lid:$badLid (was $wasPort)"
+         IBNode_setLFTPortForLid $node $badLid 0xff
+         return 0
+      }
+      set nodes [lrange $nodes 1 end]
+   }
+   return 1
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   global errorInfo
+   set nDisconencted 0
+   # now go and delete some switch MC entries...
+   for {set i 0} {$i < 3} {incr i} {
+      # delete one entry
+      if {![removeUCastRouteEntry $fabric]} {
+         incr nDisconencted
+      }
+   }
+   return "-I- Disconnected $nDisconencted LFT Entries"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
diff --git a/ibmgtsim/tests/ibdiagnet.check.tcl b/ibmgtsim/tests/ibdiagnet.check.tcl
new file mode 100644
index 0000000..5b2f8b1
--- /dev/null
+++ b/ibmgtsim/tests/ibdiagnet.check.tcl
@@ -0,0 +1,58 @@
+# This is the checker for that setup a network with OpenSM and then calls
+# the ibdiag on the full fabric
+# Intended to run with a set of sim flows - each causing some other errors
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -V -s 0 -g $osmPortGuid ..."
+   set osmPid [exec $osmPath -d2 -V -s 0 -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env simCtrlSock topologyFile
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   # Invoke a simulation flow specific checker:
+   puts $simCtrlSock "postSmSettings \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+
+   set ibdiagnetLog [file join $simDir ibdiagnet.stdout.log]
+   set cmd "ibdiagnet -v -r -o $simDir -t $topologyFile"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdiagnetLog"]} e]} {
+      puts "-E- ibdiagnet failed with error:$e"
+      return 1
+   }
+
+   # Invoke a simulation flow specific checker:
+   puts $simCtrlSock "verifyDiagRes \$fabric $ibdiagnetLog"
+   set res [gets $simCtrlSock]
+   puts "SIM: $res"
+   if {$res == 0} {return 0}
+
+   # make sure directory is not remoevd
+   return 1
+}
diff --git a/ibmgtsim/tests/init.test.tcl b/ibmgtsim/tests/init.test.tcl
new file mode 100644
index 0000000..11522c4
--- /dev/null
+++ b/ibmgtsim/tests/init.test.tcl
@@ -0,0 +1,53 @@
+MsgMgr setLogFile "/tmp/sim.log"
+MsgMgr setVerbLevel $MsgShowAll
+IBMgtSimulator init /home/eitan/SW/cvsroot/IBADM/ibdm/Clusters/RhinoBased512.topo 46517 5
+puts [IBMgtSimulator getFabric]
+IBMSNode_setPhyPortErrProfile simnode:1:SL2-4/spine2/U2 1  {-drop-rate-avg 5 -drop-rate-var 7}
+puts [IBMSNode_getPhyPortErrProfile simnode:1:SL2-4/spine2/U2 1]
+
+
+puts [IBMSNode_getPhyPortPMCounter simnode:1:SL2-4/spine2/U2 1 1]
+set mcm [madMcMemberRec]
+madMcMemberRec_send_set $mcm simnode:1:SL2-2/spine1/U2 1 1 0
+
+MsgMgr setLogFile "/tmp/sim.log"
+MsgMgr setVerbLevel $MsgShowAll
+IBMgtSimulator init /home/eitan/SW/cvsroot/IBADM/ibdm/Clusters/FullGnu.topo 46517 5
+source /home/eitan/SW/SVN/osm/branches/main2_0/osm/test/osmMulticastRoutingTest.sim.tcl
+
+sendJoinForPort port:1:H02/U1/2
+
+
+proc activateNodePorts {node} {
+   for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+      set port [IBNode_getPort $node $pn]
+      if {[IBPort_p_remotePort_get $port] != ""} {
+         set pi [IBMSNode_getPortInfo sim$node $pn]
+         ib_port_info_t_state_info1_set $pi 0x4
+      }
+   }
+}
+
+MsgMgr setLogFile "/tmp/sim.log"
+MsgMgr setVerbLevel $MsgShowAll
+IBMgtSimulator init /usr/share/ibmgtsim/Gnu16NodeOsmTest.topo 46517 1
+set f [IBMgtSimulator getFabric]
+set smNode [IBFabric_getNode $f H-1/U1]
+set smPort [IBNode_getPort $smNode 1]
+ibdmAssignLids $smPort
+ibdmOsmRoute $f
+foreach nodeNameNPtr [IBFabric_NodeByName_get $f] {
+   activateNodePorts [lindex $nodeNameNPtr 1]
+}
+
+MsgMgr setLogFile "/tmp/sim.log"
+MsgMgr setVerbLevel $MsgShowAll
+IBMgtSimulator init test.topo 46517 1
+set f [IBMgtSimulator getFabric]
+set smNode [IBFabric_getNode $f H-1/U1]
+set smPort [IBNode_getPort $smNode 1]
+set n IBFabric_getNode $f H-2/U1]
+set n  [IBFabric_getNode $f H-2/U1]
+set p [IBNode_getPort $n 1]
+IBNode_guid_set $n [IBNode_guid_get $smNode]
+IBPort_guid_set $p [IBPort_guid_get $smPort]
diff --git a/ibmgtsim/tests/merge-2-ary-4-tree.topo b/ibmgtsim/tests/merge-2-ary-4-tree.topo
new file mode 100644
index 0000000..5e35480
--- /dev/null
+++ b/ibmgtsim/tests/merge-2-ary-4-tree.topo
@@ -0,0 +1,112 @@
+MTS2400 SW-3-0-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> MTS2400 SW-2-0-0-0 P1
+   P4 -> MTS2400 SW-2-0-0-1 P1
+
+MTS2400 SW-3-0-0-1
+   P1 -> Cougar H-3 P1
+   P2 -> Cougar H-4 P1
+   P3 -> MTS2400 SW-2-0-0-0 P2
+   P4 -> MTS2400 SW-2-0-0-1 P2
+
+MTS2400 SW-3-0-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> MTS2400 SW-2-0-1-0 P1
+   P4 -> MTS2400 SW-2-0-1-1 P1
+
+MTS2400 SW-3-0-1-1
+   P1 -> Cougar H-7 P1
+   P2 -> Cougar H-8 P1
+   P3 -> MTS2400 SW-2-0-1-0 P2
+   P4 -> MTS2400 SW-2-0-1-1 P2
+
+MTS2400 SW-3-1-0-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> MTS2400 SW-2-1-0-0 P1
+   P4 -> MTS2400 SW-2-1-0-1 P1
+
+MTS2400 SW-3-1-0-1
+   P1 -> Cougar H-11 P1
+   P2 -> Cougar H-12 P1
+   P3 -> MTS2400 SW-2-1-0-0 P2
+   P4 -> MTS2400 SW-2-1-0-1 P2
+
+MTS2400 SW-3-1-1-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> MTS2400 SW-2-1-1-0 P1
+   P4 -> MTS2400 SW-2-1-1-1 P1
+
+MTS2400 SW-3-1-1-1
+   P1 -> Cougar H-15 P1
+   P2 -> Cougar H-16 P1
+   P3 -> MTS2400 SW-2-1-1-0 P2
+   P4 -> MTS2400 SW-2-1-1-1 P2
+
+MTS2400 SW-2-0-0-0
+   P3 -> MTS2400 SW-1-0-0-0 P1
+   P4 -> MTS2400 SW-1-0-1-0 P1
+
+MTS2400 SW-2-0-0-1
+   P3 -> MTS2400 SW-1-0-0-1 P1
+   P4 -> MTS2400 SW-1-0-1-1 P1
+
+MTS2400 SW-2-0-1-0
+   P3 -> MTS2400 SW-1-0-0-0 P2
+   P4 -> MTS2400 SW-1-0-1-0 P2
+
+MTS2400 SW-2-0-1-1
+   P3 -> MTS2400 SW-1-0-0-1 P2
+   P4 -> MTS2400 SW-1-0-1-1 P2
+
+MTS2400 SW-2-1-0-0
+   P3 -> MTS2400 SW-1-1-0-0 P1
+   P4 -> MTS2400 SW-1-1-1-0 P1
+
+MTS2400 SW-2-1-0-1
+   P3 -> MTS2400 SW-1-1-0-1 P1
+   P4 -> MTS2400 SW-1-1-1-1 P1
+
+MTS2400 SW-2-1-1-0
+   P3 -> MTS2400 SW-1-1-0-0 P2
+   P4 -> MTS2400 SW-1-1-1-0 P2
+
+MTS2400 SW-2-1-1-1
+   P3 -> MTS2400 SW-1-1-0-1 P2
+   P4 -> MTS2400 SW-1-1-1-1 P2
+
+MTS2400 SW-1-0-0-0
+   P3 -> MTS2400 SW-0-0-0-0 P1
+   P4 -> MTS2400 SW-0-0-0-0 P3
+
+MTS2400 SW-1-0-0-1
+   P3 -> MTS2400 SW-0-0-0-1 P1
+   P4 -> MTS2400 SW-0-0-0-1 P3
+
+MTS2400 SW-1-0-1-0
+   P3 -> MTS2400 SW-0-0-1-0 P1
+   P4 -> MTS2400 SW-0-0-1-0 P3
+
+MTS2400 SW-1-0-1-1
+   P3 -> MTS2400 SW-0-0-1-1 P1
+   P4 -> MTS2400 SW-0-0-1-1 P3
+
+MTS2400 SW-1-1-0-0
+   P3 -> MTS2400 SW-0-0-0-0 P2
+   P4 -> MTS2400 SW-0-0-0-0 P4
+
+MTS2400 SW-1-1-0-1
+   P3 -> MTS2400 SW-0-0-0-1 P2
+   P4 -> MTS2400 SW-0-0-0-1 P4
+
+MTS2400 SW-1-1-1-0
+   P3 -> MTS2400 SW-0-0-1-0 P2
+   P4 -> MTS2400 SW-0-0-1-0 P4
+
+MTS2400 SW-1-1-1-1
+   P3 -> MTS2400 SW-0-0-1-1 P2
+   P4 -> MTS2400 SW-0-0-1-1 P4
+
diff --git a/ibmgtsim/tests/merge-root-12-ary-2-tree.topo b/ibmgtsim/tests/merge-root-12-ary-2-tree.topo
new file mode 100644
index 0000000..b94f431
--- /dev/null
+++ b/ibmgtsim/tests/merge-root-12-ary-2-tree.topo
@@ -0,0 +1,312 @@
+MTS2400 SW-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> Cougar H-5 P1
+   P6 -> Cougar H-6 P1
+   P7 -> Cougar H-7 P1
+   P8 -> Cougar H-8 P1
+   P9 -> Cougar H-9 P1
+   P10 -> Cougar H-10 P1
+   P11 -> Cougar H-11 P1
+   P12 -> Cougar H-12 P1
+   P13 -> MTS2400 SW-0-1 P1
+   P14 -> MTS2400 SW-1-1 P1
+   P15 -> MTS2400 SW-2-1 P1
+   P16 -> MTS2400 SW-3-1 P1
+   P17 -> MTS2400 SW-4-1 P1
+   P18 -> MTS2400 SW-5-1 P1
+   P19 -> MTS2400 SW-6-1 P1
+   P20 -> MTS2400 SW-7-1 P1
+   P21 -> MTS2400 SW-8-1 P1
+   P22 -> MTS2400 SW-9-1 P1
+   P23 -> MTS2400 SW-10-1 P1
+   P24 -> MTS2400 SW-11-1 P1
+
+MTS2400 SW-1-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> Cougar H-17 P1
+   P6 -> Cougar H-18 P1
+   P7 -> Cougar H-19 P1
+   P8 -> Cougar H-20 P1
+   P9 -> Cougar H-21 P1
+   P10 -> Cougar H-22 P1
+   P11 -> Cougar H-23 P1
+   P12 -> Cougar H-24 P1
+   P13 -> MTS2400 SW-0-1 P2
+   P14 -> MTS2400 SW-1-1 P2
+   P15 -> MTS2400 SW-2-1 P2
+   P16 -> MTS2400 SW-3-1 P2
+   P17 -> MTS2400 SW-4-1 P2
+   P18 -> MTS2400 SW-5-1 P2
+   P19 -> MTS2400 SW-6-1 P2
+   P20 -> MTS2400 SW-7-1 P2
+   P21 -> MTS2400 SW-8-1 P2
+   P22 -> MTS2400 SW-9-1 P2
+   P23 -> MTS2400 SW-10-1 P2
+   P24 -> MTS2400 SW-11-1 P2
+
+MTS2400 SW-2-0
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> Cougar H-29 P1
+   P6 -> Cougar H-30 P1
+   P7 -> Cougar H-31 P1
+   P8 -> Cougar H-32 P1
+   P9 -> Cougar H-33 P1
+   P10 -> Cougar H-34 P1
+   P11 -> Cougar H-35 P1
+   P12 -> Cougar H-36 P1
+   P13 -> MTS2400 SW-0-1 P3
+   P14 -> MTS2400 SW-1-1 P3
+   P15 -> MTS2400 SW-2-1 P3
+   P16 -> MTS2400 SW-3-1 P3
+   P17 -> MTS2400 SW-4-1 P3
+   P18 -> MTS2400 SW-5-1 P3
+   P19 -> MTS2400 SW-6-1 P3
+   P20 -> MTS2400 SW-7-1 P3
+   P21 -> MTS2400 SW-8-1 P3
+   P22 -> MTS2400 SW-9-1 P3
+   P23 -> MTS2400 SW-10-1 P3
+   P24 -> MTS2400 SW-11-1 P3
+
+MTS2400 SW-3-0
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> Cougar H-41 P1
+   P6 -> Cougar H-42 P1
+   P7 -> Cougar H-43 P1
+   P8 -> Cougar H-44 P1
+   P9 -> Cougar H-45 P1
+   P10 -> Cougar H-46 P1
+   P11 -> Cougar H-47 P1
+   P12 -> Cougar H-48 P1
+   P13 -> MTS2400 SW-0-1 P4
+   P14 -> MTS2400 SW-1-1 P4
+   P15 -> MTS2400 SW-2-1 P4
+   P16 -> MTS2400 SW-3-1 P4
+   P17 -> MTS2400 SW-4-1 P4
+   P18 -> MTS2400 SW-5-1 P4
+   P19 -> MTS2400 SW-6-1 P4
+   P20 -> MTS2400 SW-7-1 P4
+   P21 -> MTS2400 SW-8-1 P4
+   P22 -> MTS2400 SW-9-1 P4
+   P23 -> MTS2400 SW-10-1 P4
+   P24 -> MTS2400 SW-11-1 P4
+
+MTS2400 SW-4-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> Cougar H-53 P1
+   P6 -> Cougar H-54 P1
+   P7 -> Cougar H-55 P1
+   P8 -> Cougar H-56 P1
+   P9 -> Cougar H-57 P1
+   P10 -> Cougar H-58 P1
+   P11 -> Cougar H-59 P1
+   P12 -> Cougar H-60 P1
+   P13 -> MTS2400 SW-0-1 P5
+   P14 -> MTS2400 SW-1-1 P5
+   P15 -> MTS2400 SW-2-1 P5
+   P16 -> MTS2400 SW-3-1 P5
+   P17 -> MTS2400 SW-4-1 P5
+   P18 -> MTS2400 SW-5-1 P5
+   P19 -> MTS2400 SW-6-1 P5
+   P20 -> MTS2400 SW-7-1 P5
+   P21 -> MTS2400 SW-8-1 P5
+   P22 -> MTS2400 SW-9-1 P5
+   P23 -> MTS2400 SW-10-1 P5
+   P24 -> MTS2400 SW-11-1 P5
+
+MTS2400 SW-5-0
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> Cougar H-65 P1
+   P6 -> Cougar H-66 P1
+   P7 -> Cougar H-67 P1
+   P8 -> Cougar H-68 P1
+   P9 -> Cougar H-69 P1
+   P10 -> Cougar H-70 P1
+   P11 -> Cougar H-71 P1
+   P12 -> Cougar H-72 P1
+   P13 -> MTS2400 SW-0-1 P6
+   P14 -> MTS2400 SW-1-1 P6
+   P15 -> MTS2400 SW-2-1 P6
+   P16 -> MTS2400 SW-3-1 P6
+   P17 -> MTS2400 SW-4-1 P6
+   P18 -> MTS2400 SW-5-1 P6
+   P19 -> MTS2400 SW-6-1 P6
+   P20 -> MTS2400 SW-7-1 P6
+   P21 -> MTS2400 SW-8-1 P6
+   P22 -> MTS2400 SW-9-1 P6
+   P23 -> MTS2400 SW-10-1 P6
+   P24 -> MTS2400 SW-11-1 P6
+
+MTS2400 SW-6-0
+   P1 -> Cougar H-73 P1
+   P2 -> Cougar H-74 P1
+   P3 -> Cougar H-75 P1
+   P4 -> Cougar H-76 P1
+   P5 -> Cougar H-77 P1
+   P6 -> Cougar H-78 P1
+   P7 -> Cougar H-79 P1
+   P8 -> Cougar H-80 P1
+   P9 -> Cougar H-81 P1
+   P10 -> Cougar H-82 P1
+   P11 -> Cougar H-83 P1
+   P12 -> Cougar H-84 P1
+   P13 -> MTS2400 SW-0-1 P7
+   P14 -> MTS2400 SW-1-1 P7
+   P15 -> MTS2400 SW-2-1 P7
+   P16 -> MTS2400 SW-3-1 P7
+   P17 -> MTS2400 SW-4-1 P7
+   P18 -> MTS2400 SW-5-1 P7
+   P19 -> MTS2400 SW-6-1 P7
+   P20 -> MTS2400 SW-7-1 P7
+   P21 -> MTS2400 SW-8-1 P7
+   P22 -> MTS2400 SW-9-1 P7
+   P23 -> MTS2400 SW-10-1 P7
+   P24 -> MTS2400 SW-11-1 P7
+
+MTS2400 SW-7-0
+   P1 -> Cougar H-85 P1
+   P2 -> Cougar H-86 P1
+   P3 -> Cougar H-87 P1
+   P4 -> Cougar H-88 P1
+   P5 -> Cougar H-89 P1
+   P6 -> Cougar H-90 P1
+   P7 -> Cougar H-91 P1
+   P8 -> Cougar H-92 P1
+   P9 -> Cougar H-93 P1
+   P10 -> Cougar H-94 P1
+   P11 -> Cougar H-95 P1
+   P12 -> Cougar H-96 P1
+   P13 -> MTS2400 SW-0-1 P8
+   P14 -> MTS2400 SW-1-1 P8
+   P15 -> MTS2400 SW-2-1 P8
+   P16 -> MTS2400 SW-3-1 P8
+   P17 -> MTS2400 SW-4-1 P8
+   P18 -> MTS2400 SW-5-1 P8
+   P19 -> MTS2400 SW-6-1 P8
+   P20 -> MTS2400 SW-7-1 P8
+   P21 -> MTS2400 SW-8-1 P8
+   P22 -> MTS2400 SW-9-1 P8
+   P23 -> MTS2400 SW-10-1 P8
+   P24 -> MTS2400 SW-11-1 P8
+
+MTS2400 SW-8-0
+   P1 -> Cougar H-97 P1
+   P2 -> Cougar H-98 P1
+   P3 -> Cougar H-99 P1
+   P4 -> Cougar H-100 P1
+   P5 -> Cougar H-101 P1
+   P6 -> Cougar H-102 P1
+   P7 -> Cougar H-103 P1
+   P8 -> Cougar H-104 P1
+   P9 -> Cougar H-105 P1
+   P10 -> Cougar H-106 P1
+   P11 -> Cougar H-107 P1
+   P12 -> Cougar H-108 P1
+   P13 -> MTS2400 SW-0-1 P9
+   P14 -> MTS2400 SW-1-1 P9
+   P15 -> MTS2400 SW-2-1 P9
+   P16 -> MTS2400 SW-3-1 P9
+   P17 -> MTS2400 SW-4-1 P9
+   P18 -> MTS2400 SW-5-1 P9
+   P19 -> MTS2400 SW-6-1 P9
+   P20 -> MTS2400 SW-7-1 P9
+   P21 -> MTS2400 SW-8-1 P9
+   P22 -> MTS2400 SW-9-1 P9
+   P23 -> MTS2400 SW-10-1 P9
+   P24 -> MTS2400 SW-11-1 P9
+
+MTS2400 SW-9-0
+   P1 -> Cougar H-109 P1
+   P2 -> Cougar H-110 P1
+   P3 -> Cougar H-111 P1
+   P4 -> Cougar H-112 P1
+   P5 -> Cougar H-113 P1
+   P6 -> Cougar H-114 P1
+   P7 -> Cougar H-115 P1
+   P8 -> Cougar H-116 P1
+   P9 -> Cougar H-117 P1
+   P10 -> Cougar H-118 P1
+   P11 -> Cougar H-119 P1
+   P12 -> Cougar H-120 P1
+   P13 -> MTS2400 SW-0-1 P10
+   P14 -> MTS2400 SW-1-1 P10
+   P15 -> MTS2400 SW-2-1 P10
+   P16 -> MTS2400 SW-3-1 P10
+   P17 -> MTS2400 SW-4-1 P10
+   P18 -> MTS2400 SW-5-1 P10
+   P19 -> MTS2400 SW-6-1 P10
+   P20 -> MTS2400 SW-7-1 P10
+   P21 -> MTS2400 SW-8-1 P10
+   P22 -> MTS2400 SW-9-1 P10
+   P23 -> MTS2400 SW-10-1 P10
+   P24 -> MTS2400 SW-11-1 P10
+
+MTS2400 SW-10-0
+   P1 -> Cougar H-121 P1
+   P2 -> Cougar H-122 P1
+   P3 -> Cougar H-123 P1
+   P4 -> Cougar H-124 P1
+   P5 -> Cougar H-125 P1
+   P6 -> Cougar H-126 P1
+   P7 -> Cougar H-127 P1
+   P8 -> Cougar H-128 P1
+   P9 -> Cougar H-129 P1
+   P10 -> Cougar H-130 P1
+   P11 -> Cougar H-131 P1
+   P12 -> Cougar H-132 P1
+   P13 -> MTS2400 SW-0-1 P11
+   P14 -> MTS2400 SW-1-1 P11
+   P15 -> MTS2400 SW-2-1 P11
+   P16 -> MTS2400 SW-3-1 P11
+   P17 -> MTS2400 SW-4-1 P11
+   P18 -> MTS2400 SW-5-1 P11
+   P19 -> MTS2400 SW-6-1 P11
+   P20 -> MTS2400 SW-7-1 P11
+   P21 -> MTS2400 SW-8-1 P11
+   P22 -> MTS2400 SW-9-1 P11
+   P23 -> MTS2400 SW-10-1 P11
+   P24 -> MTS2400 SW-11-1 P11
+
+MTS2400 SW-11-0
+   P1 -> Cougar H-133 P1
+   P2 -> Cougar H-134 P1
+   P3 -> Cougar H-135 P1
+   P4 -> Cougar H-136 P1
+   P5 -> Cougar H-137 P1
+   P6 -> Cougar H-138 P1
+   P7 -> Cougar H-139 P1
+   P8 -> Cougar H-140 P1
+   P9 -> Cougar H-141 P1
+   P10 -> Cougar H-142 P1
+   P11 -> Cougar H-143 P1
+   P12 -> Cougar H-144 P1
+   P13 -> MTS2400 SW-0-1 P12
+   P14 -> MTS2400 SW-1-1 P12
+   P15 -> MTS2400 SW-2-1 P12
+   P16 -> MTS2400 SW-3-1 P12
+   P17 -> MTS2400 SW-4-1 P12
+   P18 -> MTS2400 SW-5-1 P12
+   P19 -> MTS2400 SW-6-1 P12
+   P20 -> MTS2400 SW-7-1 P12
+   P21 -> MTS2400 SW-8-1 P12
+   P22 -> MTS2400 SW-9-1 P12
+   P23 -> MTS2400 SW-10-1 P12
+   P24 -> MTS2400 SW-11-1 P12
+
diff --git a/ibmgtsim/tests/merge-root-4-ary-3-tree.topo b/ibmgtsim/tests/merge-root-4-ary-3-tree.topo
new file mode 100644
index 0000000..78bdf85
--- /dev/null
+++ b/ibmgtsim/tests/merge-root-4-ary-3-tree.topo
@@ -0,0 +1,256 @@
+MTS800 SW-0-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-0-1 P1
+   P6 -> MTS800 SW-0-1-1 P1
+   P7 -> MTS800 SW-0-2-1 P1
+   P8 -> MTS800 SW-0-3-1 P1
+
+MTS800 SW-0-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-0-1 P2
+   P6 -> MTS800 SW-0-1-1 P2
+   P7 -> MTS800 SW-0-2-1 P2
+   P8 -> MTS800 SW-0-3-1 P2
+
+MTS800 SW-0-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-0-1 P3
+   P6 -> MTS800 SW-0-1-1 P3
+   P7 -> MTS800 SW-0-2-1 P3
+   P8 -> MTS800 SW-0-3-1 P3
+
+MTS800 SW-0-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-0-1 P4
+   P6 -> MTS800 SW-0-1-1 P4
+   P7 -> MTS800 SW-0-2-1 P4
+   P8 -> MTS800 SW-0-3-1 P4
+
+MTS800 SW-1-0-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> MTS800 SW-1-0-1 P1
+   P6 -> MTS800 SW-1-1-1 P1
+   P7 -> MTS800 SW-1-2-1 P1
+   P8 -> MTS800 SW-1-3-1 P1
+
+MTS800 SW-1-1-0
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> MTS800 SW-1-0-1 P2
+   P6 -> MTS800 SW-1-1-1 P2
+   P7 -> MTS800 SW-1-2-1 P2
+   P8 -> MTS800 SW-1-3-1 P2
+
+MTS800 SW-1-2-0
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> MTS800 SW-1-0-1 P3
+   P6 -> MTS800 SW-1-1-1 P3
+   P7 -> MTS800 SW-1-2-1 P3
+   P8 -> MTS800 SW-1-3-1 P3
+
+MTS800 SW-1-3-0
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> MTS800 SW-1-0-1 P4
+   P6 -> MTS800 SW-1-1-1 P4
+   P7 -> MTS800 SW-1-2-1 P4
+   P8 -> MTS800 SW-1-3-1 P4
+
+MTS800 SW-2-0-0
+   P1 -> Cougar H-33 P1
+   P2 -> Cougar H-34 P1
+   P3 -> Cougar H-35 P1
+   P4 -> Cougar H-36 P1
+   P5 -> MTS800 SW-2-0-1 P1
+   P6 -> MTS800 SW-2-1-1 P1
+   P7 -> MTS800 SW-2-2-1 P1
+   P8 -> MTS800 SW-2-3-1 P1
+
+MTS800 SW-2-1-0
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> MTS800 SW-2-0-1 P2
+   P6 -> MTS800 SW-2-1-1 P2
+   P7 -> MTS800 SW-2-2-1 P2
+   P8 -> MTS800 SW-2-3-1 P2
+
+MTS800 SW-2-2-0
+   P1 -> Cougar H-41 P1
+   P2 -> Cougar H-42 P1
+   P3 -> Cougar H-43 P1
+   P4 -> Cougar H-44 P1
+   P5 -> MTS800 SW-2-0-1 P3
+   P6 -> MTS800 SW-2-1-1 P3
+   P7 -> MTS800 SW-2-2-1 P3
+   P8 -> MTS800 SW-2-3-1 P3
+
+MTS800 SW-2-3-0
+   P1 -> Cougar H-45 P1
+   P2 -> Cougar H-46 P1
+   P3 -> Cougar H-47 P1
+   P4 -> Cougar H-48 P1
+   P5 -> MTS800 SW-2-0-1 P4
+   P6 -> MTS800 SW-2-1-1 P4
+   P7 -> MTS800 SW-2-2-1 P4
+   P8 -> MTS800 SW-2-3-1 P4
+
+MTS800 SW-3-0-0
+   P1 -> Cougar H-49 P1
+   P2 -> Cougar H-50 P1
+   P3 -> Cougar H-51 P1
+   P4 -> Cougar H-52 P1
+   P5 -> MTS800 SW-3-0-1 P1
+   P6 -> MTS800 SW-3-1-1 P1
+   P7 -> MTS800 SW-3-2-1 P1
+   P8 -> MTS800 SW-3-3-1 P1
+
+MTS800 SW-3-1-0
+   P1 -> Cougar H-53 P1
+   P2 -> Cougar H-54 P1
+   P3 -> Cougar H-55 P1
+   P4 -> Cougar H-56 P1
+   P5 -> MTS800 SW-3-0-1 P2
+   P6 -> MTS800 SW-3-1-1 P2
+   P7 -> MTS800 SW-3-2-1 P2
+   P8 -> MTS800 SW-3-3-1 P2
+
+MTS800 SW-3-2-0
+   P1 -> Cougar H-57 P1
+   P2 -> Cougar H-58 P1
+   P3 -> Cougar H-59 P1
+   P4 -> Cougar H-60 P1
+   P5 -> MTS800 SW-3-0-1 P3
+   P6 -> MTS800 SW-3-1-1 P3
+   P7 -> MTS800 SW-3-2-1 P3
+   P8 -> MTS800 SW-3-3-1 P3
+
+MTS800 SW-3-3-0
+   P1 -> Cougar H-61 P1
+   P2 -> Cougar H-62 P1
+   P3 -> Cougar H-63 P1
+   P4 -> Cougar H-64 P1
+   P5 -> MTS800 SW-3-0-1 P4
+   P6 -> MTS800 SW-3-1-1 P4
+   P7 -> MTS800 SW-3-2-1 P4
+   P8 -> MTS800 SW-3-3-1 P4
+
+MTS800 SW-0-0-1
+   P5 -> MTS800 SW-0-0-2 P1
+   P6 -> MTS800 SW-0-0-2 P5
+   P7 -> MTS800 SW-2-0-2 P1
+   P8 -> MTS800 SW-2-0-2 P5
+
+MTS800 SW-0-1-1
+   P5 -> MTS800 SW-0-1-2 P1
+   P6 -> MTS800 SW-0-1-2 P5
+   P7 -> MTS800 SW-2-1-2 P1
+   P8 -> MTS800 SW-2-1-2 P5
+
+MTS800 SW-0-2-1
+   P5 -> MTS800 SW-0-2-2 P1
+   P6 -> MTS800 SW-0-2-2 P5
+   P7 -> MTS800 SW-2-2-2 P1
+   P8 -> MTS800 SW-2-2-2 P5
+
+MTS800 SW-0-3-1
+   P5 -> MTS800 SW-0-3-2 P1
+   P6 -> MTS800 SW-0-3-2 P5
+   P7 -> MTS800 SW-2-3-2 P1
+   P8 -> MTS800 SW-2-3-2 P5
+
+MTS800 SW-1-0-1
+   P5 -> MTS800 SW-0-0-2 P2
+   P6 -> MTS800 SW-0-0-2 P6
+   P7 -> MTS800 SW-2-0-2 P2
+   P8 -> MTS800 SW-2-0-2 P6
+
+MTS800 SW-1-1-1
+   P5 -> MTS800 SW-0-1-2 P2
+   P6 -> MTS800 SW-0-1-2 P6
+   P7 -> MTS800 SW-2-1-2 P2
+   P8 -> MTS800 SW-2-1-2 P6
+
+MTS800 SW-1-2-1
+   P5 -> MTS800 SW-0-2-2 P2
+   P6 -> MTS800 SW-0-2-2 P6
+   P7 -> MTS800 SW-2-2-2 P2
+   P8 -> MTS800 SW-2-2-2 P6
+
+MTS800 SW-1-3-1
+   P5 -> MTS800 SW-0-3-2 P2
+   P6 -> MTS800 SW-0-3-2 P6
+   P7 -> MTS800 SW-2-3-2 P2
+   P8 -> MTS800 SW-2-3-2 P6
+
+MTS800 SW-2-0-1
+   P5 -> MTS800 SW-0-0-2 P3
+   P6 -> MTS800 SW-0-0-2 P7
+   P7 -> MTS800 SW-2-0-2 P3
+   P8 -> MTS800 SW-2-0-2 P7
+
+MTS800 SW-2-1-1
+   P5 -> MTS800 SW-0-1-2 P3
+   P6 -> MTS800 SW-0-1-2 P7
+   P7 -> MTS800 SW-2-1-2 P3
+   P8 -> MTS800 SW-2-1-2 P7
+
+MTS800 SW-2-2-1
+   P5 -> MTS800 SW-0-2-2 P3
+   P6 -> MTS800 SW-0-2-2 P7
+   P7 -> MTS800 SW-2-2-2 P3
+   P8 -> MTS800 SW-2-2-2 P7
+
+MTS800 SW-2-3-1
+   P5 -> MTS800 SW-0-3-2 P3
+   P6 -> MTS800 SW-0-3-2 P7
+   P7 -> MTS800 SW-2-3-2 P3
+   P8 -> MTS800 SW-2-3-2 P7
+
+MTS800 SW-3-0-1
+   P5 -> MTS800 SW-0-0-2 P4
+   P6 -> MTS800 SW-0-0-2 P8
+   P7 -> MTS800 SW-2-0-2 P4
+   P8 -> MTS800 SW-2-0-2 P8
+
+MTS800 SW-3-1-1
+   P5 -> MTS800 SW-0-1-2 P4
+   P6 -> MTS800 SW-0-1-2 P8
+   P7 -> MTS800 SW-2-1-2 P4
+   P8 -> MTS800 SW-2-1-2 P8
+
+MTS800 SW-3-2-1
+   P5 -> MTS800 SW-0-2-2 P4
+   P6 -> MTS800 SW-0-2-2 P8
+   P7 -> MTS800 SW-2-2-2 P4
+   P8 -> MTS800 SW-2-2-2 P8
+
+MTS800 SW-3-3-1
+   P5 -> MTS800 SW-0-3-2 P4
+   P6 -> MTS800 SW-0-3-2 P8
+   P7 -> MTS800 SW-2-3-2 P4
+   P8 -> MTS800 SW-2-3-2 P8
+
diff --git a/ibmgtsim/tests/merge-roots-4-ary-2-tree.topo b/ibmgtsim/tests/merge-roots-4-ary-2-tree.topo
new file mode 100644
index 0000000..5ac5aec
--- /dev/null
+++ b/ibmgtsim/tests/merge-roots-4-ary-2-tree.topo
@@ -0,0 +1,40 @@
+MTS800 SW-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-1 P1
+   P6 -> MTS800 SW-0-1 P5
+   P7 -> MTS800 SW-2-1 P1
+   P8 -> MTS800 SW-2-1 P5
+
+MTS800 SW-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-1 P2
+   P6 -> MTS800 SW-0-1 P6
+   P7 -> MTS800 SW-2-1 P2
+   P8 -> MTS800 SW-2-1 P6
+
+MTS800 SW-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-1 P3
+   P6 -> MTS800 SW-0-1 P7
+   P7 -> MTS800 SW-2-1 P3
+   P8 -> MTS800 SW-2-1 P7
+
+MTS800 SW-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-1 P4
+   P6 -> MTS800 SW-0-1 P8
+   P7 -> MTS800 SW-2-1 P4
+   P8 -> MTS800 SW-2-1 P8
+
diff --git a/ibmgtsim/tests/merge-roots-reorder-4-ary-2-tree.topo b/ibmgtsim/tests/merge-roots-reorder-4-ary-2-tree.topo
new file mode 100644
index 0000000..e33aec1
--- /dev/null
+++ b/ibmgtsim/tests/merge-roots-reorder-4-ary-2-tree.topo
@@ -0,0 +1,40 @@
+MTS800 SW-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-0-1 P1
+   P6 -> MTS800 SW-0-1 P2
+   P7 -> MTS800 SW-2-1 P1
+   P8 -> MTS800 SW-2-1 P2
+
+MTS800 SW-1-0
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-0-1 P3
+   P6 -> MTS800 SW-0-1 P4
+   P7 -> MTS800 SW-2-1 P3
+   P8 -> MTS800 SW-2-1 P4
+
+MTS800 SW-2-0
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-0-1 P5
+   P6 -> MTS800 SW-0-1 P6
+   P7 -> MTS800 SW-2-1 P5
+   P8 -> MTS800 SW-2-1 P6
+
+MTS800 SW-3-0
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-0-1 P7
+   P6 -> MTS800 SW-0-1 P8
+   P7 -> MTS800 SW-2-1 P7
+   P8 -> MTS800 SW-2-1 P8
+
diff --git a/ibmgtsim/tests/osm-dup-local-port-guid.sim.tcl b/ibmgtsim/tests/osm-dup-local-port-guid.sim.tcl
new file mode 100644
index 0000000..8a0f209
--- /dev/null
+++ b/ibmgtsim/tests/osm-dup-local-port-guid.sim.tcl
@@ -0,0 +1,127 @@
+
+puts "FLOW: duplicate some port guid"
+
+# duplicate the port guid from the source to the dest
+proc dupPortGuid {fromNodeNPort toNodeNPort} {
+
+   # IBDM has a limitation of not holding "end ports"
+   # instead only physical ports are available.
+   # So in case of a switch port (port num 0) we need to handle all physical ports
+   # instead...
+
+   # do we have a switch as the guid to duplicate?
+   set node [lindex $fromNodeNPort 0]
+   if {[lindex $fromNodeNPort 1] == 0} {
+      # just use the port 1 instead
+      set port [IBNode_getPort $node  1]
+      set fromPortName "[IBNode_name_get $node]/P0"
+   } else {
+      set port [IBNode_getPort $node [lindex $fromNodeNPort 1]]
+      set fromPortName [IBPort_getName $port]
+   }
+   set newGuid [IBPort_guid_get $port]
+
+   # do we have a switch port 0 as a target?
+   set node [lindex $toNodeNPort 0]
+   if {[lindex $toNodeNPort 1] == 0} {
+      set numPorts [IBNode_numPorts_get $node]
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            lappend targetPorts $port
+         }
+      }
+   } else {
+      set port [IBNode_getPort $node [lindex $toNodeNPort 1]]
+      set targetPorts $port
+   }
+
+   # do the copy
+   foreach port $targetPorts {
+      puts "-I- Overriding port:[IBPort_getName $port] guid to $newGuid (dup of $fromPortName)"
+      IBPort_guid_set $port $newGuid
+   }
+}
+
+# get a random order of all the fabric endports:
+# a list of {node port-num random}
+proc getEndPortsByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodePortNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+      set nodeName [lindex $nodeNameNId 0]
+      # each node might be a switch (then take port 0)
+      if {[IBNode_type_get $node] != 1} {
+         # only connected ports please:
+         set numPorts [IBNode_numPorts_get $node]
+         for {set pn 1} {$pn <= $numPorts} {incr pn} {
+            # not the local node please on port 1
+            if {$nodeName == "H-1/U1" && $pn == 1} { continue }
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend nodePortNOrderList [list $node $pn [rmRand]]
+            }
+         }
+      }
+   }
+
+   set randNodes {}
+   foreach nodePortNRnd [lsort -index 2 -real $nodePortNOrderList] {
+      lappend randNodes [lrange $nodePortNRnd 0 1]
+   }
+   return $randNodes
+}
+
+# set the change bit on one of the switches:
+proc setOneSwitchChangeBit {fabric} {
+   global DISCONNECTED_NODES
+
+   set allNodes [IBFabric_NodeByName_get $fabric]
+
+   foreach nameNNode $allNodes {
+      set node [lindex $nameNNode 1]
+      if {[IBNode_type_get $node] == 1} {
+         if {![info exists DISCONNECTED_NODES($node)]} {
+            set swi [IBMSNode_getSwitchInfo sim$node]
+            set lifeState [ib_switch_info_t_life_state_get $swi]
+            set lifeState [expr ($lifeState & 0xf8) | 4 ]
+            ib_switch_info_t_life_state_set $swi $lifeState
+            puts "-I- Set change bit on switch:$node"
+            return "-I- Set change bit on switch:$node"
+         }
+      }
+   }
+   return "-E- Fail to set any change bit. Could not find a switch"
+}
+
+# every 2 seconds cause switch change bit to be set
+proc causeHeavySweeps {fabric} {
+   setOneSwitchChangeBit $fabric
+   after 2000 "causeHeavySweeps $fabric"
+}
+
+# setup post SM run changes:
+proc postSmSettings {fabric} {
+   return "-I- Nothing to be done post SM"
+}
+
+# make sure ibdiagnet reported the bad links
+proc verifyDiagRes {fabric logFile} {
+   return "-I- Could not figure out if OK yet"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the end ports:
+set randEndPorts [getEndPortsByRandomOreder $fabric]
+set smNode [IBFabric_getNode $fabric "H-1/U1"]
+set fromNodeNPort [list $smNode 1]
+set toNodeNPort [lindex $randEndPorts 0]
+
+dupPortGuid $fromNodeNPort $toNodeNPort
+
+causeHeavySweeps $fabric
+
diff --git a/ibmgtsim/tests/osm-join-leave.check.tcl b/ibmgtsim/tests/osm-join-leave.check.tcl
new file mode 100644
index 0000000..e9efde6
--- /dev/null
+++ b/ibmgtsim/tests/osm-join-leave.check.tcl
@@ -0,0 +1,76 @@
+# This checker will wait for OpenSM subnet up and then Try to Join from all
+# ports randomally. Then it will wait a few seconds and call ibdmchk. The ibdmchk
+# log is then parsed to make sure all ports are part of the multicast group C000
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -g $osmPortGuid  ..."
+   set osmPid [exec $osmPath -d2 -V -f $osmLog -g $osmPortGuid -R updn -t 1000  > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+   # randomly join and leave port
+   puts $simCtrlSock "randomJoinLeavePorts fabric:1 1"
+   set isOk [gets $simCtrlSock]
+   puts "-I- SIM: randomJoinLeavePorts returned: $isOk"
+
+   # now join them all
+   puts $simCtrlSock "randomJoinAllHCAPorts fabric:1 10"
+   set  numHcasJoined [gets $simCtrlSock]
+   puts "-I- Joined $numHcasJoined HCAs"
+
+   # wait for a while :
+   after 60000
+
+   set ibdmchkLog [file join $simDir ibdmchk.log]
+   set subnetFile [file join $simDir opensm-subnet.lst]
+   set fdbsFile [file join $simDir opensm.fdbs]
+   set mcfdbsFile [file join $simDir opensm.mcfdbs]
+   set cmd "ibdmchk -s $subnetFile -f $fdbsFile -m $mcfdbsFile"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdmchkLog"]} e]} {
+      puts "-E- ibdmchk failed"
+      return 1
+   }
+
+   # make sure all HCAs are now joined:
+   set res [exec grep "Multicast Group:0xC000 has:" $ibdmchkLog]
+   if {![regexp {Multicast Group:0xC000 has:[0-9]+ switches and:([0-9]+) HCAs} $res d1 hcas]} {
+      puts "-E- Fail to parse the Multicast registration ports:$res"
+      return 1
+   }
+
+   if {$numHcasJoined != $hcas} {
+      puts "-E- Not all HCAs are registered. Expected:$numHcasJoined got:$hcas"
+      return 1
+   } else {
+      puts "-I- All $hcas are registered for group 0xC000"
+   }
+
+   return 0
+}
diff --git a/ibmgtsim/tests/osm-join-leave.sim.tcl b/ibmgtsim/tests/osm-join-leave.sim.tcl
new file mode 100644
index 0000000..5f77e40
--- /dev/null
+++ b/ibmgtsim/tests/osm-join-leave.sim.tcl
@@ -0,0 +1,141 @@
+puts "Running Simulation flow for Muticast Routing test"
+
+puts "Randomally Joining all the Fabric Ports with random delays"
+
+# send a single port join request
+proc sendJoinLeavForPort {port {isLeave 0}} {
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm 0xff12401bffff0000:00000000ffffffff
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it assuming the SM_LID is always 1:
+   if {$isLeave} {
+      puts "-I- Leaving port $port"
+      madMcMemberRec_send_del $mcm sim$node $portNum 1 $compMask
+   } else {
+      puts "-I- Joining port $port"
+      madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+   }
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# randomize join for all of the fabric HCA ports:
+proc randomJoinAllHCAPorts {fabric maxDelay_ms} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numHcasJoined 0
+
+   # Now do the joins - waiting random time between them:
+   foreach portNOrder $orederedPorts {
+      set port [lindex $portNOrder 0]
+
+      if {![sendJoinLeavForPort $port]} {
+         incr numHcasJoined
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return $numHcasJoined
+}
+
+# randomly select ports and then join or delete them
+# do that 10 times the number of ports and return:
+proc randomJoinLeavePorts {fabric maxDelay_ms} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numPorts [llength $orederedPorts]
+
+   # we use 1 to flag leaving
+   set isLeave 1
+
+   for {set i 0} {$i < 100*$numPorts} {incr i} {
+      set portIdx [expr int([rmRand] * $numPorts)]
+      set portNOrder [lindex $orederedPorts $portIdx]
+      set port [lindex $portNOrder 0]
+
+      if {[rmRand] > 0.5} {
+         sendJoinLeavForPort $port $isLeave
+      } else {
+         sendJoinLeavForPort $port
+      }
+
+      if {0} {
+         # do we need to leave or join?
+         if {![info exists JOINED_PORTS($port)]} {
+            set JOINED_PORTS($port) 0
+         }
+
+         set JOINED_PORTS($port)
+         if {$JOINED_PORTS($port)} {
+            sendJoinLeavForPort $port $isLeave
+            set JOINED_PORTS($port) 0
+         } else {
+            sendJoinLeavForPort $port
+            set JOINED_PORTS($port) 1
+         }
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return 0
+}
diff --git a/ibmgtsim/tests/osmLidAssignment.check.tcl b/ibmgtsim/tests/osmLidAssignment.check.tcl
new file mode 100644
index 0000000..7e1fcb8
--- /dev/null
+++ b/ibmgtsim/tests/osmLidAssignment.check.tcl
@@ -0,0 +1,147 @@
+# This is the checker for the semi static lid assignment feature:
+
+# A. the sim code should generate the cache file once the simulator is up.
+# it should randomize:
+# 1. some guids should not have a lid
+# 2. some guids should share a lid
+# 3. some extra guids should be there
+
+# B. Wait for OpenSM SUBNET UP
+#
+# C. The simulator code should randomally do the following (several of each)
+# 1. Zero some port lids
+# 2. Copy some port lids to other ports
+# 3. Invent some new lids to some ports
+# 4. Turn some node ports down - disconect (all ports of the node)
+#
+# D. The simulator shoudl send a trap or set a switch change bit
+#
+# E. Wait for heavy sweep.
+#
+# F. The simulator code should verify that the lids match what it expects:
+#    Note that the nodes that did have a non overlapping lid in the file
+#    must have it. The rest of the ports should have valid lid values.
+#
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global lmc
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   set lmc 1
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # randomize lids
+   puts $simCtrlSock "assignLegalLids \$fabric $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # randomize lid failures:
+   puts $simCtrlSock "setLidAssignmentErrors  \$fabric $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # randomize guid2lid file:
+   set env(OSM_CACHE_DIR) $simDir/
+   puts $simCtrlSock "writeGuid2LidFile $simDir/guid2lid $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   file copy $simDir/guid2lid $simDir/guid2lid.orig
+
+   set osmCmd "$osmPath -l $lmc -d2 -V -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global lmc
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   # check for lid validity:
+   puts $simCtrlSock "checkLidValues \$fabric $lmc"
+   set res [gets $simCtrlSock]
+   puts "SIM: Number of check errors:$res"
+   if {$res != 0} {
+      return $res
+   }
+
+   # we try several iterations of changes:
+   for {set i 1} {$i < 5} {incr i} {
+      # connect the disconnected
+      puts $simCtrlSock "connectAllDisconnected \$fabric"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # refresh the lid database and start the POST_SUBNET_UP mode
+      puts $simCtrlSock "updateAssignedLids \$fabric"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # randomize lid failures:
+      puts $simCtrlSock "setLidAssignmentErrors \$fabric $lmc"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # inject a change bit
+      puts "-I- Injecting change bit"
+      puts $simCtrlSock "setOneSwitchChangeBit \$fabric"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # wait for sweep to end or exit
+      puts "-I- Waiting for subnet up"
+      set ignorePrev 1
+      if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000 $ignorePrev]} {
+         return 1
+      }
+
+      # wait 30 seconds
+      after 30000
+
+      # inject a change bit
+      puts "-I- Injecting change bit"
+      puts $simCtrlSock "setOneSwitchChangeBit \$fabric"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # wait for sweep to end or exit
+      puts "-I- Waiting for subnet up"
+      set ignorePrev 1
+      if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000 $ignorePrev]} {
+         return 1
+      }
+
+      # wait 3 seconds
+      after 3000
+
+      # check for lid validity:
+      puts "-I- Checking LID Validity"
+      puts $simCtrlSock "checkLidValues \$fabric $lmc"
+      set res [gets $simCtrlSock]
+      puts "SIM: Number of check errors:$res"
+      if {$res != 0} {
+         return $res
+      }
+   }
+
+   return 0
+}
diff --git a/ibmgtsim/tests/osmLidAssignment.sim.tcl b/ibmgtsim/tests/osmLidAssignment.sim.tcl
new file mode 100644
index 0000000..fb1e801
--- /dev/null
+++ b/ibmgtsim/tests/osmLidAssignment.sim.tcl
@@ -0,0 +1,749 @@
+# TEST FLOW FOR STATIC LID ASSIGNMENT:
+#
+# 5. Generate file:
+#    a. extra guids
+#    b. missing guids
+#    c. collision (2 guids same lid)
+#    e. miss aligned
+#    f. out of range lids
+#    d. use 1 a,b,c
+# 6. Build list of good mapping. keep extra guids used lids.
+# 6.5 randomize fabric lids:
+#    a. lid is pre-assigned correctly
+#    b. lid is pre-assigned incorrectly
+#       1. no other node use that lid
+#       2. some other nodes use it
+#       3. lid is un-assigned
+#   c. for unknown guids:
+#      1. collision
+#      2. unassigned
+#      3. ussigned unique
+# 7. Run SM
+# 8. Check :
+#     a. all good assignments are met.
+#     b. all others are valid (aligned, not overlapping, keep as much
+#        as possible)
+#     c. no extending of lid range if holes.
+# 9. validate new file.
+# 10. Randomize
+#      a. nodes diassper appear
+#      b. reset the lid
+#      c. new lid uniq
+#      d. new lid colide.
+#
+########################################################################
+#
+# IMPLEMENTATION:
+#
+# 0. Prepare the fabric:
+#    a. assign random lids - not colliding LMC aligned.
+#       Keep some empty ranges. - Init the "good" map lists.
+#
+# 1. randomize lid errors
+#    * not assigned
+#    * colide with other ports
+#    * mis-aligned lids
+#    * modify and single
+#    * modify and collide
+#
+# 2. Disconnect some nodes (all ports that connects to the fabric)
+#    when disconnecting leaf switches mark the HCA lids as BAD
+#
+# 3. Create guid2lid file:
+#    a. invent extra guids
+#    b. skip some existing guids
+#    c. on top of collisions from the fabric add some extra collision
+#    d. out of range lids
+#    e. bad formatted guids
+#    f. bad formatted lids
+#
+# 4. Generate lists of :
+#    a. bad lids - those who have been hacked and are not expected to
+#       be assigned by the SM.
+#    b. unknown lids: those who are not accessible by the SM and also
+#       do not have persistance data. To be ignored by the following sweeps.
+#
+# 5. Run the SM
+#
+# 6. Check:
+#    a. all lids that should retain their value did so
+#    b. all other lids are assigned correctly:
+#       1. aligned correctly
+#       2. using free ranges in the lid space
+#       3. validate the new guid2lid file
+#
+# 7. Randomize lid changes:
+#    a. zero some port lids
+#    b. collide some port lids
+#    c. invent some new lids
+#
+#  8. Inject sweep - set switch info change bit
+#
+#  9. wait for sweep.
+#
+# 10. goto 6
+#
+########################################################################
+
+# obtain the list of addressible ports of the fabric:
+# since the IBDM does not support port 0 (all port are really physp)
+# we need to provide back the list of node/portNum pairs
+proc getAddressiblePorts {fabric} {
+   set nodePortNumPairs {}
+
+   # go over all nodes
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # switches has only one port - port 0
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodePortNumPairs [list $node 0]
+      } else {
+         set pMin 1
+         set pMax [IBNode_numPorts_get $node]
+         for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {$port == ""} {continue}
+
+            # if the port is not connected ignore it:
+            if {[IBPort_p_remotePort_get $port] != ""} {
+               lappend nodePortNumPairs [list $node $pn]
+            }
+         }
+      }
+   }
+   return $nodePortNumPairs
+}
+
+# assign a specify port lid:
+proc assignPortLid {node portNum lid} {
+   global PORT_LID LID_PORTS BAD_LIDS
+   global POST_SUBNET_UP
+
+   # HACK we can not trust the Fabric PortByLid anymore...
+
+   # first we set the IBDM port lid
+   if {$portNum == 0} {
+      set pMin 1
+      set pMax [IBNode_numPorts_get $node]
+      for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            IBPort_base_lid_set $port $lid
+         }
+      }
+   } else {
+      set port [IBNode_getPort $node $portNum]
+      if {$port != ""} {
+         IBPort_base_lid_set $port $lid
+      }
+   }
+   set pi [IBMSNode_getPortInfo sim$node $portNum]
+   set prevLid [ib_port_info_t_base_lid_get $pi]
+
+   if {$lid == $prevLid} {return 0}
+
+   ib_port_info_t_base_lid_set $pi $lid
+
+   # if case the SM was previously run we do not want any
+   # effect of the PORT_LID.. tables
+   if {$POST_SUBNET_UP} {return}
+
+   # track it:
+   set key "$node $portNum"
+   if {[info exists LID_PORTS($prevLid)]} {
+      set idx [lsearch $LID_PORTS($prevLid) $key]
+      if {$idx >= 0} {
+         set LID_PORTS($prevLid) [lreplace $LID_PORTS($prevLid) $idx $idx]
+         if {[llength $LID_PORTS($prevLid)] < 2} {
+            if {[info exists BAD_LIDS($prevLid)]} {
+               unset BAD_LIDS($prevLid)
+            }
+         }
+      }
+   }
+
+   set PORT_LID($key) $lid
+   if {![info exists LID_PORTS($lid)]} {
+      set LID_PORTS($lid) "{$key}"
+   } else {
+      if {[lsearch $LID_PORTS($lid) $key] < 0} {
+         lappend LID_PORTS($lid) $key
+         if {[llength $LID_PORTS($lid)] > 1} {
+            set BAD_LIDS($lid) 1
+         }
+      }
+   }
+}
+
+# Assign legal lids
+proc assignLegalLids {fabric lmc} {
+   global POST_SUBNET_UP
+
+   # mark that we are only in initial lid assignment
+   # the SM was not run yet.
+   set  POST_SUBNET_UP 0
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+   set lidStep [expr 1 << $lmc]
+
+   # init all port to contigious lids
+   # every 15 lids skip some.
+   set lid $lidStep
+
+   # go over al the ports in the fabric and set their lids
+   foreach nodePortNum $addrNodePortNumPairs {
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+      assignPortLid $node $pn $lid
+
+      if {$lid % ($lidStep *15) == 0} {
+         set newLid [expr $lid + $lidStep * 5]
+         puts [format "-I- Skipping some lids 0x%04x -> 0x%04x" $lid $newLid]
+         set lid $newLid
+      } else {
+         incr lid $lidStep
+      }
+
+   }
+   return "-I- Set all port lids"
+}
+
+# after first OpenSM run we need to be able to get the assigned
+# lids
+proc updateAssignedLids {fabric} {
+   global PORT_LID LID_PORTS BAD_LIDS POST_SUBNET_UP
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+   foreach nodePortNum $addrNodePortNumPairs {
+
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set lid [ib_port_info_t_base_lid_get $pi]
+
+      assignPortLid $node $pn $lid
+   }
+
+   # flag the fact that from now any change in lids
+   # is not going to affect the PORT_LID...
+   set POST_SUBNET_UP 1
+
+   set numLids [llength [array names LID_PORTS]]
+   set numBad  [llength [array names BAD_LIDS]]
+   return "-I- Updated $numLids lids $numBad are bad"
+}
+
+# randomaly select one of the numbers provided in the given sequence
+proc getRandomNumOfSequence {seq} {
+   set idx [expr int([rmRand]*[llength $seq])]
+   return [lindex $seq $idx]
+}
+
+# get a free lid value by randomizing it and avoiding used ones
+proc getFreeLid {lmc} {
+   global LID_PORTS
+   set lid 0
+   while {$lid == 0} {
+      set lid [expr int( [array size LID_PORTS] * 3 * [rmRand])]
+      set lid [expr ($lid >> $lmc) << $lmc]
+      if {[info exists LID_PORTS($lid)]} {set lid 0}
+   }
+   return $lid
+}
+
+# get a used lid
+proc getUsedLid {} {
+   global LID_PORTS
+   return [getRandomNumOfSequence [array names LID_PORTS]]
+}
+
+proc setNodePortsState {node state} {
+   global DISCONNECTED_NODES
+   # simply go over all ports of the node excluding port 0 and
+   # set the link logic state on the port info to DOWN
+   for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set speed_state [ib_port_info_t_state_info1_get $pi]
+      ib_port_info_t_state_info1_set $pi [expr $speed_state & 0xf0 | $state]
+
+      # try remote side:
+      set port [IBNode_getPort $node $pn]
+      if {$port != ""} {
+         set remPort [IBPort_p_remotePort_get $port]
+         if {$remPort != ""} {
+            set remPn [IBPort_num_get $remPort]
+            set remNode [IBPort_p_node_get $remPort]
+            set remPortGuid [IBPort_guid_get $remPort]
+            set pi [IBMSNode_getPortInfo sim$remNode $remPn]
+            set speed_state [ib_port_info_t_state_info1_get $pi]
+            ib_port_info_t_state_info1_set $pi \
+               [expr $speed_state & 0xf0 | $state]
+            # if the remote port is of an HCA we need to mark it too as
+            # BAD or clean it out:
+            if {[IBNode_type_get $remNode] != 1} {
+               if {$state == 1} {
+                  # disconnected
+                  puts "-I- Disconnecting node:$remNode guid:$remPortGuid"
+                  set DISCONNECTED_NODES($remNode) 1
+               } else {
+                  # connected
+                  puts "-I- Connecting node:$remNode guid:$remPortGuid"
+                  catch {unset DISCONNECTED_NODES($node)}
+               }
+            }
+         }
+      }
+   }
+}
+
+# disconnect a node from the fabric bu setting all physical ports
+# state to DOWN
+proc disconnectNode {node} {
+   global DISCONNECTED_NODES
+   setNodePortsState $node 1
+   set DISCONNECTED_NODES($node) 1
+}
+
+# disconnect a node from the fabric bu setting all physical ports
+# state to DOWN
+proc connectNode {node} {
+   global DISCONNECTED_NODES
+   setNodePortsState $node 2
+   if {[info exists DISCONNECTED_NODES($node)]} {
+      unset DISCONNECTED_NODES($node)
+   }
+}
+
+# randomize lid assignment errors:
+# 1. not assigned
+# 2. colide with other ports
+# 3. mis-aligned lids
+# 4. modify and single
+# 5. modify and collide
+#
+proc setLidAssignmentErrors {fabric lmc} {
+   global PORT_LID BAD_LIDS
+   global DISCONNECTED_NODES
+
+   # we simply go over all ports again randomize errors
+   # then inject them acordingly
+
+   set randProfile {
+      OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
+      NotAssigned NotAssigned
+      MisAligned MisAligned
+      ModifiedCollide ModifiedCollide
+      ModifiedNotCollide ModifiedNotCollide
+      DisconnectPort
+   }
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+   set lidStep [expr 1 << $lmc]
+   set numBadLids 0
+   set numDisc 0
+   # go over al the ports in the fabric and set their lids
+   foreach nodePortNum $addrNodePortNumPairs {
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+
+      if {$pn != 0} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set guid [IBPort_guid_get $port]
+      } else {
+         set guid [IBNode_guid_get $node]
+      }
+
+      set badLidCode [getRandomNumOfSequence $randProfile]
+
+      switch $badLidCode {
+         NotAssigned {
+            puts "-I- Nulling node:$node guid:$guid port:$pn"
+            assignPortLid $node $pn 0
+            incr numBadLids
+         }
+         MisAligned {
+            if {($lmc > 0) && ($pn != 0)} {
+               puts "-I- Mis-align node:$node guid:$guid port:$pn"
+               set badLid [expr $PORT_LID($node $pn) + 1]
+               assignPortLid $node $pn $badLid
+               # this is the only case where we need to
+               # mark bad lids explicitly as the assignmemnt thinks it is ok
+               set BAD_LIDS($badLid) 1
+               incr numBadLids
+            }
+         }
+         ModifiedCollide {
+            set badLid [getUsedLid]
+            puts [format \
+                     "-I- Colliding node:$node guid:$guid port:$pn on lid:0x%04x" \
+                     $badLid]
+            assignPortLid $node $pn $badLid
+            incr numBadLids
+         }
+         ModifiedNotCollide {
+            set badLid [getFreeLid $lmc]
+            puts [format "-I- Changing node:$node guid:$guid port:$pn to free lid:0x%04x" $badLid]
+            assignPortLid $node $pn $badLid
+            incr numBadLids
+         }
+         DisconnectPort {
+            # never do more then 4 disconnects to avoid disconnecting
+            # half subnet ...
+            if {[array size DISCONNECTED_NODES] > 4} {
+               continue
+            }
+
+            # avoid disconnect of the SM node.
+            # HACK: SM is assumed to always run on H-1/U1
+            set smNode [IBFabric_getNode $fabric "H-1/U1"]
+            set smPort [IBNode_getPort $smNode 1]
+            set smRemPort [IBPort_p_remotePort_get $smPort]
+            set smRemNode [IBPort_p_node_get $smRemPort]
+
+            if {($smNode != $node) && ($smRemNode != $node)} {
+               puts "-I- Disconnecting node:$node guid:$guid"
+               disconnectNode $node
+               incr numDisc
+            }
+         }
+      }
+   }
+   # every node/port
+   set res "-I- Created $numBadLids lid modifications, disconnected $numDisc nodes"
+   puts "$res"
+   return $res
+}
+
+# 3. Create guid2lid file:
+#    a. invent extra guids
+#    b. skip some existing guids
+#    c. on top of collisions from the fabric add some extra collision
+#    d. out of range lids
+#    e. bad formatted guids
+#    f. bad formatted lids
+#
+# we also track all lids that can not be known to the SM
+# since their node is disconnected and the persistancy is hacked
+proc writeGuid2LidFile {fileName lmc} {
+   global PORT_LID BAD_LID BAD_GUIDS
+   global SM_UNKNOWN_LIDS DISCONNECTED_NODES
+
+   if {[catch {set f [open $fileName w]} e]} {
+      puts "-E- $e"
+      exit 1
+   }
+
+   set randProfile {
+      OK OK OK OK OK OK OK OK OK
+      OK OK OK OK ExtraGuid
+      OK OK OK OK Skip
+      OK OK OK OK ExtraGuidCollision
+      OK OK OK OK LidZero
+      OK OK OK OK LidOutOfRange
+      OK OK OK OK NoLid
+      OK OK OK OK GarbadgeGuid
+      OK OK OK OK OK OK OK OK OK
+   }
+
+   set numMods 0
+
+   # go over all PORT_LID
+   foreach nodeNPort [array names PORT_LID] {
+      set node [lindex $nodeNPort 0]
+      set pn   [lindex $nodeNPort 1]
+
+      if {$pn != 0} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set guid [IBPort_guid_get $port]
+         set maxLidOffset [expr (1 << $lmc) - 1]
+      } else {
+         set guid [IBNode_guid_get $node]
+         set maxLidOffset 0
+      }
+
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set lid [ib_port_info_t_base_lid_get $pi]
+      set lidMax [expr $lid + $maxLidOffset]
+
+      # randomize what we want to do with it:
+      set hackCode [getRandomNumOfSequence $randProfile]
+      switch $hackCode {
+         OK {
+            puts $f "$guid $lid $lidMax\n"
+         }
+         ExtraGuid {
+            puts $f "$guid $lid $lidMax\n"
+            set extraGuid [string replace $guid 4 5 "8"]
+            set extraLid [getFreeLid $lmc]
+            set extraLidMax  [expr $extraLid + $maxLidOffset]
+            puts $f "$extraGuid $extraLid \n"
+            puts [format "-I- Added extra guid:$extraGuid lid:0x%04x,0x%04x" \
+                     $extraLid $extraLidMax]
+            incr numMods
+         }
+         ExtraGuidCollision {
+            puts $f "$guid $lid $lidMax\n"
+            set extraGuid [string replace $guid 4 5 "8"]
+            puts $f "$extraGuid $lid $lidMax\n"
+            puts [format "-I- Added colliding guid:$extraGuid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            set BAD_LIDS($lid) 1
+            set BAD_GUIDS($guid) 1
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         Skip {
+            puts [format "-I- Skipped guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         LidZero {
+            puts $f "$guid 0 0\n"
+            puts [format "-I- LidZero guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         LidOutOfRange {
+            puts $f "$guid 0xc001 0xc002\n"
+            puts [format "-I- OutOfRange guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         NoLid {
+            puts $f "$guid \n"
+            puts [format "-I- NoLids guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         GarbadgeGuid {
+            puts $f "blablablabla $lid $lidMax\n"
+            puts [format "-I- GarbadgeGuid guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+      }
+   }
+   close $f
+   puts "-I- injected $numMods modifications to guid2lid file"
+   puts "-I- total num lids which will be unknown to the SM:[llength [array names SM_UNKNOWN_LIDS]]"
+   return "-I- injected $numMods modifications to guid2lid file"
+}
+
+# connect back all disconnected
+proc connectAllDisconnected {fabric} {
+   global DISCONNECTED_NODES
+
+   set numConn 0
+   foreach node [array names DISCONNECTED_NODES] {
+      puts "-I- Re-Conneting $node"
+      connectNode $node
+      incr numConn
+   }
+   return "-I- Reconencted $numConn nodes"
+}
+
+# start from the SM node and BFS through non disconnected nodes
+# tracking visited nodes into: BFS_FROM_SM_VISITED(node)
+proc bfsConnectedFromSM {fabric} {
+   global BFS_FROM_SM_VISITED DISCONNECTED_NODES
+
+   # HACK: SM is assumed to always run on H-1/U1
+   set smNode [IBFabric_getNode $fabric "H-1/U1"]
+   set smPort [IBNode_getPort $smNode 1]
+
+   if {[info exists BFS_FROM_SM_VISITED]} {
+      unset BFS_FROM_SM_VISITED
+   }
+
+   set BFS_FROM_SM_VISITED($smNode) 1
+
+   set remPort [IBPort_p_remotePort_get $smPort]
+   set remNode [IBPort_p_node_get $remPort]
+
+   set nodesQueue $remNode
+
+   while {[llength $nodesQueue]} {
+      set node [lindex $nodesQueue 0]
+      set nodesQueue [lrange $nodesQueue 1 end]
+
+      if {[info exists BFS_FROM_SM_VISITED($node)]} {continue}
+      set BFS_FROM_SM_VISITED($node) 1
+
+      if {[info exists DISCONNECTED_NODES($node)]} {continue}
+      set numPorts [IBNode_numPorts_get $node]
+      for {set pn 1} {$pn <= $numPorts} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+
+         if {$port == ""} {continue}
+
+         set remPort [IBPort_p_remotePort_get $port]
+         if {$remPort == ""} {continue}
+
+         set remNode [IBPort_p_node_get $remPort]
+         if {![info exists BFS_FROM_SM_VISITED($remNode)]} {
+            lappend nodesQueue $remNode
+         }
+      }
+   }
+   set numTraversed [llength [array names BFS_FROM_SM_VISITED]]
+   puts "-I- Found $numTraversed nodes traversing from SM through connected nodes"
+   foreach nodeNName [IBFabric_NodeByName_get $fabric] {
+      set name [lindex $nodeNName 0]
+      set node [lindex $nodeNName 1]
+      if {![info exists BFS_FROM_SM_VISITED($node)]} {
+         puts "-I- Unreachable node:$name"
+      }
+   }
+}
+
+# check that all the ports that have a valid lid
+# still holds this value
+proc checkLidValues {fabric lmc} {
+   global PORT_LID LID_PORTS BAD_LIDS BAD_GUIDS
+   global DISCONNECTED_NODES SM_UNKNOWN_LIDS
+   global BFS_FROM_SM_VISITED
+
+   # get all addressable nodes
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+
+   # avoid checking disconnected nodes:
+   bfsConnectedFromSM $fabric
+
+   set numPorts 0
+   set numErrs 0
+   foreach nodePortNumPair $addrNodePortNumPairs {
+      set node [lindex $nodePortNumPair 0]
+      set pn   [lindex $nodePortNumPair 1]
+      set key "$node $pn"
+
+      if {$pn == 0} {
+         set guid [IBNode_guid_get $node]
+      } else {
+         set port [IBNode_getPort $node $pn]
+         set guid [IBPort_guid_get $port]
+      }
+
+      # ignore nodes that are disconnected:
+      if {[info exists DISCONNECTED_NODES($node)]} {continue}
+
+      # check if the node is not masked by other disconnected nodes
+      if {![info exists BFS_FROM_SM_VISITED($node)]} {
+         puts "-I- Node [IBNode_name_get $node] is not accessible due to other disconnectes"
+         continue
+      }
+
+      # ignore marked bad guids:
+      if {[info exists BAD_GUIDS($guid)]} {continue}
+
+      # check what was the target lid:
+      if {![info exists PORT_LID($key)]} {
+         puts "-W- Somehow we do not have a lid assigned to $key"
+         continue
+      }
+
+      set lid $PORT_LID($key)
+
+      # ignore lids that are unknown to the SM
+      if {[info exists SM_UNKNOWN_LIDS($lid)]} {continue}
+
+      # check if this lid is not marked "bad" - i.e. distorted somehow:
+      if {[info exists BAD_LIDS($lid)]} {continue}
+
+      # now go get the actual lid:
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set actLid [ib_port_info_t_base_lid_get $pi]
+
+      incr numPorts
+
+      if {($lid != 0) && ($lid != $actLid)} {
+         puts [format "-E- On Port:$key Guid:$guid Expected lid:0x%04x != 0x%04x" \
+                  $lid $actLid]
+         incr numErrs
+      }
+   }
+   if {$numErrs} {
+      puts "-E- Got $numErrs missmatches in lid assignment out of $numPorts ports"
+   } else {
+      puts "-I- scanned $numPorts ports with no error"
+   }
+
+   return $numErrs
+}
+
+# set the change bit on the switch accross from the SM
+proc setOneSwitchChangeBit {fabric} {
+	global IB_SW_NODE
+
+   # HACK: SM is assumed to always run on H-1/U1
+   set smNode [IBFabric_getNode $fabric "H-1/U1"]
+	if {$smNode == ""} {
+		return "-E- Fail to find SM node H-1/U1"
+	}
+
+   set smPort [IBNode_getPort $smNode 1]
+	if {$smPort == ""} {
+		return "-E- Fail to find SM Port H-1/U1/P1"
+	}
+
+   set remPort [IBPort_p_remotePort_get $smPort]
+	if {$remPort  == ""} {
+		return "-E- Fail to find SM Port H-1/U1/P1 remote port"
+	}
+
+   set node [IBPort_p_node_get $remPort]
+	if {[IBNode_type_get $node] != $IB_SW_NODE} {
+		return "-E- Fail to find SM Port H-1/U1/P1 remote node is not a switch!"
+	}
+
+	set swi [IBMSNode_getSwitchInfo sim$node]
+	set lifeState [ib_switch_info_t_life_state_get $swi]
+	set lifeState [expr ($lifeState & 0xf8) | 4 ]
+	ib_switch_info_t_life_state_set $swi $lifeState
+	puts "-I- Set change bit on switch:$node"
+	return "-I- Set change bit on switch:$node"
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+
+# IBMgtSimulator init /home/eitan/CLUSTERS/Galactic.topo 42514 1
+# source /home/eitan/SW/SVN/osm/branches/main2_0/osm/test/osmLidAssignment.sim.tcl
+# assignPortLid node:1:SWL2/spine1/U3 0 99
+#  checkLidValues $fabric 1
+# set swi [IBMSNode_getSwitchInfo sim$node]
+# set n simnode:1:SWL2/spine1/U3
+# set x [IBMSNode_getPKeyTblB $n 0 0]
+#
+
diff --git a/ibmgtsim/tests/osmMulticast.sim.tcl b/ibmgtsim/tests/osmMulticast.sim.tcl
new file mode 100644
index 0000000..8e475db
--- /dev/null
+++ b/ibmgtsim/tests/osmMulticast.sim.tcl
@@ -0,0 +1,99 @@
+#
+# The multicast testing flow:
+#
+# Randomly inject various types of requests and verify the resulting
+# database by query and routing:
+#
+# The possible randomizations:
+# 1. Operation: join/leave
+# 2. By MLID/MGID/ZeroMGID
+# 3. Existing or not given (MLID/MGID)
+# 4. Comp Mask - Good (matching op) Bad (randomly select partial components)
+# 5. Component Values - Matching or not
+# 6. Request on behalf of another port (proxy join/leave)
+# 7. Partition common to grp and requestor or not
+# 8. Partition common to proxy or not
+#
+puts "Running Simulation flow for Muticast test"
+
+# send a single port join request
+proc sendJoinForPort {port} {
+   puts "-I- Joining port $port"
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm 0xff12401bffff0000:00000000ffffffff
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it assuming the SM_LID is always 1:
+   madMcMemberRec_send_set $mcm sim$node $portNum 1 $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# randomize join for all of the fabric HCA ports:
+proc randomJoinAllHCAPorts {fabric maxDelay_ms} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numHcasJoined 0
+
+   # Now do the joins - waiting random time between them:
+   foreach portNOrder $orederedPorts {
+      set port [lindex $portNOrder 0]
+
+      if {![sendJoinForPort $port]} {
+         incr numHcasJoined
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return $numHcasJoined
+}
diff --git a/ibmgtsim/tests/osmMulticastRoutingTest.check.tcl b/ibmgtsim/tests/osmMulticastRoutingTest.check.tcl
new file mode 100644
index 0000000..84920a9
--- /dev/null
+++ b/ibmgtsim/tests/osmMulticastRoutingTest.check.tcl
@@ -0,0 +1,69 @@
+# This checker will wait for OpenSM subnet up and then Try to Join from all
+# ports randomally. Then it will wait a few seconds and call ibdmchk. The ibdmchk
+# log is then parsed to make sure all ports are part of the multicast group C000
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -g $osmPortGuid  ..."
+   set osmPid [exec $osmPath -d2 -V -f $osmLog -g $osmPortGuid -R updn > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+   # start the join requests:
+   puts $simCtrlSock "randomJoinAllHCAPorts fabric:1 10"
+   set  numHcasJoined [gets $simCtrlSock]
+   puts "-I- Joined $numHcasJoined HCAs"
+
+   # wait for a while :
+   after 10000
+
+   set ibdmchkLog [file join $simDir ibdmchk.log]
+   set subnetFile [file join $simDir opensm-subnet.lst]
+   set fdbsFile [file join $simDir opensm.fdbs]
+   set mcfdbsFile [file join $simDir opensm.mcfdbs]
+   set cmd "ibdmchk -s $subnetFile -f $fdbsFile -m $mcfdbsFile"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdmchkLog"]} e]} {
+      puts "-E- ibdmchk failed"
+      return 1
+   }
+
+   # make sure all HCAs are now joined:
+   set res [exec grep "Multicast Group:0xC000 has:" $ibdmchkLog]
+   if {![regexp {Multicast Group:0xC000 has:[0-9]+ switches and:([0-9]+) HCAs} $res d1 hcas]} {
+      puts "-E- Fail to parse the Multicast registration ports:$res"
+      return 1
+   }
+
+   if {$numHcasJoined != $hcas} {
+      puts "-E- Not all HCAs are registered. Expected:$numHcasJoined got:$hcas"
+      return 1
+   }
+
+   return 0
+}
diff --git a/ibmgtsim/tests/osmMulticastRoutingTest.sim.tcl b/ibmgtsim/tests/osmMulticastRoutingTest.sim.tcl
new file mode 100644
index 0000000..5294229
--- /dev/null
+++ b/ibmgtsim/tests/osmMulticastRoutingTest.sim.tcl
@@ -0,0 +1,92 @@
+puts "Running Simulation flow for Muticast Routing test"
+
+puts "Randomally Joining all the Fabric Ports with random delays"
+
+# send a single port join request
+proc sendJoinForPort {port smLid} {
+   puts "-I- Joining port $port"
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm 0xff12401bffff0000:00000000ffffffff
+
+   # we must provide our own port gid
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+   # send it
+   madMcMemberRec_send_set $mcm sim$node $portNum $smLid $compMask
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# randomize join for all of the fabric HCA ports:
+proc randomJoinAllHCAPorts {fabric maxDelay_ms} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numHcasJoined 0
+
+   # get the SM LID
+   # HACK: Assumes the SM node is H-1/U1 Port 1
+   set smNode [IBFabric_getNode $fabric "H-1/U1"]
+   set smPort [IBNode_getPort $smNode 1]
+   set smPortInfo [IBMSNode_getPortInfo sim$smNode 1]
+   set smLid [ib_port_info_t_base_lid_get $smPortInfo]
+
+   # Now do the joins - waiting random time between them:
+   foreach portNOrder $orederedPorts {
+      set port [lindex $portNOrder 0]
+
+      if {![sendJoinForPort $port $smLid]} {
+         incr numHcasJoined
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return $numHcasJoined
+}
diff --git a/ibmgtsim/tests/osmStability.check.tcl b/ibmgtsim/tests/osmStability.check.tcl
new file mode 100644
index 0000000..90adc74
--- /dev/null
+++ b/ibmgtsim/tests/osmStability.check.tcl
@@ -0,0 +1,50 @@
+# This is the checker for for a simple 16 node test with opensm and osmtest
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -R updn -V -g $osmPortGuid ..."
+   set osmPid [exec $osmPath -R updn -d2 -V -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 1000sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   after 5000
+
+   set ibdmchkLog [file join $simDir ibdmchk.log]
+   set subnetFile [file join $simDir opensm-subnet.lst]
+   set fdbsFile [file join $simDir opensm.fdbs]
+   set mcfdbsFile [file join $simDir opensm.mcfdbs]
+   set cmd "ibdmchk -s $subnetFile -f $fdbsFile -m $mcfdbsFile"
+
+   puts "-I- Invoking $cmd "
+   if {[catch {set res [eval "exec $cmd > $ibdmchkLog"]} e]} {
+      puts "-E- ibdmchk failed"
+      return 1
+   }
+   # make sure directory is not remoevd
+   return 0
+}
diff --git a/ibmgtsim/tests/osmStability.sim.tcl b/ibmgtsim/tests/osmStability.sim.tcl
new file mode 100644
index 0000000..930d32f
--- /dev/null
+++ b/ibmgtsim/tests/osmStability.sim.tcl
@@ -0,0 +1,76 @@
+
+puts "Randomally picking 10 ports and assigning random drop rate on"
+########################################################################
+#
+#  Inject Random Multicast Requests
+#
+
+########################################################################
+#
+# Set Random Bad Links
+proc setNodePortErrProfile {node} {
+   # pick a random port number - but make sure you picked a connected one
+   set done 0
+   set cnt 0
+   while {!$done && ($cnt < 100) } {
+      set portNum [expr int([rmRand]*[IBNode_numPorts_get $node])+1]
+      set port [IBNode_getPort $node $portNum]
+      if {$port != ""} {
+         if {[IBPort_p_remotePort_get $port] != ""} {
+             set done 1
+         }
+      }
+      incr cnt
+   }
+   if {!$done} {
+      puts "-E- Fail to get connected port for node $node"
+      return
+   }
+
+   # pick a random drop rate in the range 0 - 1 . The higher the number
+   # the more chances for drop.
+   set dropRate [rmRand]
+
+   # set the node drop rate
+   puts "-I- Setting drop rate:$dropRate on node:$node port:$portNum"
+   set portErrProf "-drop-rate-avg $dropRate -drop-rate-var 4"
+   IBMSNode_setPhyPortErrProfile sim$node $portNum $portErrProf
+}
+
+# get a random order of all the fabric nodes:
+proc getNodesByRandomOreder {fabric} {
+   # get number of nodes:
+   set nodesByName [IBFabric_NodeByName_get $fabric]
+
+   set nodeNameNOrderList {}
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      lappend nodeNameNOrderList [list [lindex $nodeNameNId 1] [rmRand]]
+   }
+
+   set randNodes {}
+   foreach nodeNameNOrder [lsort -index 1 -real $nodeNameNOrderList] {
+      lappend randNodes [lindex $nodeNameNOrder 0]
+   }
+   return $randNodes
+}
+
+set fabric [IBMgtSimulator getFabric]
+
+# get a random order of the nodes:
+set randNodes [getNodesByRandomOreder $fabric]
+set numNodes [llength $randNodes]
+
+# now get the first N nodes for err profile ...
+set numNodesUsed 0
+set idx 0
+while {($numNodesUsed < $numNodes / 10) && ($numNodesUsed < 12) && ($idx < $numNodes)} {
+   set node [lindex $randNodes $idx]
+   # ignore the root node:
+   if {[IBNode_name_get $node] != "H-1/U1"} {
+      if {[IBNode_type_get $node] != 1} {
+         setNodePortErrProfile $node
+         incr numNodesUsed
+      }
+   }
+   incr idx
+}
diff --git a/ibmgtsim/tests/osmStress.check.tcl b/ibmgtsim/tests/osmStress.check.tcl
new file mode 100755
index 0000000..2c741cb
--- /dev/null
+++ b/ibmgtsim/tests/osmStress.check.tcl
@@ -0,0 +1,229 @@
+# This is the checker for the semi static lid assignment feature:
+
+# A. the sim code should generate the cache file once the simulator is up.
+# it should randomize:
+# 1. some guids should not have a lid
+# 2. some guids should share a lid
+# 3. some extra guids should be there
+
+# B. Wait for OpenSM SUBNET UP
+#
+# C. The simulator code should randomally do the following (several of each)
+# 1. Zero some port lids
+# 2. Copy some port lids to other ports
+# 3. Invent some new lids to some ports
+# 4. Turn some node ports down - disconect (all ports of the node)
+#
+# D. The simulator shoudl send a trap or set a switch change bit
+#
+# E. Wait for heavy sweep.
+#
+# F. The simulator code should verify that the lids match what it expects:
+#    Note that the nodes that did have a non overlapping lid in the file
+#    must have it. The rest of the ports should have valid lid values.
+#
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global lmc
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   set lmc 0
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # randomize lids
+   puts $simCtrlSock "assignLegalLids \$fabric $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # Disconnect ports
+   puts $simCtrlSock "setPortsDisconnected  \$fabric $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # randomize guid2lid file:
+   set env(OSM_CACHE_DIR) $simDir/
+   puts $simCtrlSock "writeGuid2LidFile $simDir/guid2lid $lmc"
+   puts "SIM: [gets $simCtrlSock]"
+
+   file copy $simDir/guid2lid $simDir/guid2lid.orig
+
+   set osmCmd "$osmPath -d2 -l $lmc -V -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results: make sure we got a "SUBNET UP"
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock
+   global lmc
+   global topologyFile
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Waiting max time of 100sec...."
+
+   if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+      return 1
+   }
+
+   # update node proc file
+   puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+   set res [gets $simCtrlSock]
+   puts "SIM: Updated H-1 proc file:$res"
+
+   # check for lid validity:
+   puts $simCtrlSock "checkLidValues \$fabric $lmc"
+   set res [gets $simCtrlSock]
+   puts "SIM: Number of LID check errors:$res"
+   if {$res != 0} {
+      return $res
+   }
+
+   # we try several iterations of changes:
+   for {set i 1} {$i < 2} {incr i} {
+      # connect the disconnected
+      puts $simCtrlSock "connectAllDisconnected \$fabric 1"
+      puts "SIM: [gets $simCtrlSock]"
+
+      # refresh the lid database and start the POST_SUBNET_UP mode
+      puts $simCtrlSock "updateAssignedLids \$fabric"
+      puts "SIM: [gets $simCtrlSock]"
+
+      for {set j 1} {$j < 10} {incr j} {
+         # Disconnect ports
+         puts $simCtrlSock "setPortsDisconnected \$fabric $lmc"
+         puts "SIM: [gets $simCtrlSock]"
+         # connect the disconnected
+         puts $simCtrlSock "connectAllDisconnected \$fabric 1"
+         puts "SIM: [gets $simCtrlSock]"
+      }
+
+      # wait for sweep to end or exit
+      if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+         return 1
+      }
+      puts $simCtrlSock "updateProcFSForNode \$fabric $simDir H-1/U1 H-1/U1 1"
+      set res [gets $simCtrlSock]
+      puts "SIM: Updated H-1 proc file:$res"
+
+      # wait 3 seconds
+      after 3000
+
+      # check for lid validity:
+      puts $simCtrlSock "checkLidValues \$fabric $lmc"
+      set res [gets $simCtrlSock]
+      puts "SIM: Number of LID check errors:$res"
+      if {$res != 0} {
+         return $res
+      }
+
+		# sending event forwarding notification requests...
+      puts "-I- Sending event forwarding notification requests"
+      puts $simCtrlSock "randomRegisterFormInformInfo fabric:1"
+      set  returnVal [gets $simCtrlSock]
+      puts "SIM: -I- $returnVal"
+
+      # start Random Flow:
+      set iterations 240
+      puts "-I- Starting the random stress flow with $iterations..."
+      puts $simCtrlSock "RunRandomStressFlow fabric:1 $iterations"
+      set  returnVal [gets $simCtrlSock]
+      puts "SIM: -I- $returnVal"
+
+      # At the end, connect all the ports back
+      puts "-I- Connecting all disconnected ..."
+      puts $simCtrlSock "connectAllDisconnected \$fabric 1"
+      set  returnVal [gets $simCtrlSock]
+      puts "SIM: $returnVal"
+
+      # wait for sweep to end or exit
+      puts "-I- if we did connect some we need to wait for them"
+      if {"-I- Reconnected 0 nodes" != $returnVal} {
+         if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+            return 1
+         }
+      }
+
+      # and yet another light sweep
+      after 20000
+
+      #At the end, join all to the multicast group
+      puts "-I- Joining all Ports ..."
+      set joinAllHCAs 1
+      set interJoinDelay_ms 1
+      puts $simCtrlSock "randomJoinAllHCAPorts fabric:1 $interJoinDelay_ms $joinAllHCAs"
+      set  numHcasJoined [gets $simCtrlSock]
+      puts "SIM: -I- Joined $numHcasJoined HCAs"
+
+      # force a sweep:
+      puts "-I- Forcing a sweep..."
+      puts $simCtrlSock "setOneSwitchChangeBit \$fabric"
+      set  returnVal [gets $simCtrlSock]
+      puts "SIM: $returnVal"
+
+      # wait for sweep to end or exit
+      if {[osmWaitForUpOrDeadWithTimeout $osmLog 1000000]} {
+         return 1
+      }
+
+      # wait ~200msec per joining port - to enable the SM to complete connecting them
+		after [expr $numHcasJoined * 200]
+
+      # use ibdiagnet instead of relying on opensm reports...
+      if {0} {
+         set ibdmchkLog [file join $simDir ibdmchk.log]
+         set subnetFile [file join $simDir opensm-subnet.lst]
+         set fdbsFile [file join $simDir opensm.fdbs]
+         set mcfdbsFile [file join $simDir opensm.mcfdbs]
+         set cmd "ibdmchk -s $subnetFile -f $fdbsFile -m $mcfdbsFile"
+
+         puts "-I- Invoking $cmd "
+         if {[catch {set res [eval "exec $cmd > $ibdmchkLog"]} e]} {
+            puts "-E- ibdmchk failed"
+            puts "-I- Result value $res"
+            puts "-I- Error: $e"
+            return 1
+         }
+      }
+
+      set cmd "ibdiagnet -v -r -t $topologyFile -o $simDir"
+      set ibdiagnetLog [file join $simDir ibdiagnet.stdout.log]
+      puts "-I- Invoking $cmd "
+      if {[catch {set res [eval "exec $cmd >& $ibdiagnetLog"]} e]} {
+         puts "-E- ibdiagnet failed"
+         puts "-I- Result value $res"
+         puts "-I- Error: $e"
+			return 1
+      }
+
+      # make sure all HCAs are now joined:
+      set res [exec grep "Multicast Group:0xC000 has:" $ibdiagnetLog]
+      if {![regexp {Multicast Group:0xC000 has:[0-9]+ switches and:([0-9]+) HCAs} $res d1 hcas]} {
+         puts "-E- Fail to parse the Multicast registration ports:$res"
+         return 1
+      }
+
+      if {$numHcasJoined != $hcas} {
+         puts "-E- Not all HCAs are registered. Expected:$numHcasJoined got:$hcas"
+         return 1
+      }
+   }
+
+   return 0
+}
diff --git a/ibmgtsim/tests/osmStress.sim.tcl b/ibmgtsim/tests/osmStress.sim.tcl
new file mode 100755
index 0000000..4c5f97a
--- /dev/null
+++ b/ibmgtsim/tests/osmStress.sim.tcl
@@ -0,0 +1,1005 @@
+# TEST FLOW FOR OPENSM STRESS TESTING
+#
+#
+########################################################################
+#
+# IMPLEMENTATION:
+#
+#
+########################################################################
+
+# Returns randomly 0 or 1
+proc notToDo {} {
+    return [expr [rmRand] > 0.5]
+}
+
+# set the change bit on one of the switches:
+# TEMPORARY - need to add traps instead
+proc setOneSwitchChangeBit {fabric} {
+   set allNodes [IBFabric_NodeByName_get $fabric]
+   foreach nameNNode $allNodes {
+      set node [lindex $nameNNode 1]
+      #if Switch
+      if {[IBNode_type_get $node] == 1} {
+         set swi [IBMSNode_getSwitchInfo sim$node]
+         set lifeState [ib_switch_info_t_life_state_get $swi]
+         set lifeState [expr ($lifeState & 0xf8) | 4 ]
+         ib_switch_info_t_life_state_set $swi $lifeState
+         puts "-I- Set change bit on switch:$node"
+         return "-I- Set change bit on switch:$node"
+      }
+   }
+   return "-E- Fail to set any change bit. Could not find a switch"
+}
+
+# obtain the list of addressible ports of the fabric:
+# since the IBDM does not support port 0 (all port are really physp)
+# we need to provide back the list of node/portNum pairs
+proc getAddressiblePorts {fabric} {
+   set nodePortNumPairs {}
+
+   # go over all nodes
+   foreach nodeNameNId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameNId 1]
+
+      # switches has only one port - port 0
+      if {[IBNode_type_get $node] == 1} {
+         lappend nodePortNumPairs [list $node 0]
+      } else {
+         set pMin 1
+         set pMax [IBNode_numPorts_get $node]
+         for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {$port == ""} {continue}
+
+            # if the port is not connected ignore it:
+            if {[IBPort_p_remotePort_get $port] != ""} {
+               lappend nodePortNumPairs [list $node $pn]
+            }
+         }
+      }
+   }
+   return $nodePortNumPairs
+}
+
+# assign a specify port lid:
+proc assignPortLid {node portNum lid} {
+   global PORT_LID LID_PORTS BAD_LIDS
+   global POST_SUBNET_UP
+
+   # HACK we can not trust the Fabric PortByLid anymore...
+
+   # first we set the IBDM port lid
+   if {$portNum == 0} {
+      set pMin 1
+      set pMax [IBNode_numPorts_get $node]
+      for {set pn $pMin} {$pn <= $pMax} {incr pn} {
+         set port [IBNode_getPort $node $pn]
+         if {$port != ""} {
+            IBPort_base_lid_set $port $lid
+         }
+      }
+   } else {
+      set port [IBNode_getPort $node $portNum]
+      if {$port != ""} {
+         IBPort_base_lid_set $port $lid
+      }
+   }
+   set pi [IBMSNode_getPortInfo sim$node $portNum]
+   set prevLid [ib_port_info_t_base_lid_get $pi]
+
+   if {$lid == $prevLid} {return 0}
+
+   ib_port_info_t_base_lid_set $pi $lid
+
+   # if case the SM was previously run we do not want any
+   # effect of the PORT_LID.. tables
+   if {$POST_SUBNET_UP} {return}
+
+   # track it:
+   set key "$node $portNum"
+   if {[info exists LID_PORTS($prevLid)]} {
+      set idx [lsearch $LID_PORTS($prevLid) $key]
+      if {$idx >= 0} {
+         set LID_PORTS($prevLid) [lreplace $LID_PORTS($prevLid) $idx $idx]
+         if {[llength $LID_PORTS($prevLid)] < 2} {
+            if {[info exists BAD_LIDS($prevLid)]} {
+               unset BAD_LIDS($prevLid)
+            }
+         }
+      }
+   }
+
+   set PORT_LID($key) $lid
+   if {![info exists LID_PORTS($lid)]} {
+      set LID_PORTS($lid) "{$key}"
+   } else {
+      if {[lsearch $LID_PORTS($lid) $key] < 0} {
+         lappend LID_PORTS($lid) $key
+         if {[llength $LID_PORTS($lid)] > 1} {
+            set BAD_LIDS($lid) 1
+         }
+      }
+   }
+}
+
+# Assign legal lids
+proc assignLegalLids {fabric lmc} {
+   global POST_SUBNET_UP
+
+   # mark that we are only in initial lid assignment
+   # the SM was not run yet.
+   set  POST_SUBNET_UP 0
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+   set lidStep [expr 1 << $lmc]
+
+   # init all port to contigious lids
+   # every 15 lids skip some.
+   set lid $lidStep
+
+   # go over al the ports in the fabric and set their lids
+   foreach nodePortNum $addrNodePortNumPairs {
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+      assignPortLid $node $pn $lid
+
+      if {$lid % ($lidStep *15) == 0} {
+         set newLid [expr $lid + $lidStep * 5]
+         puts [format "-I- Skipping some lids 0x%04x -> 0x%04x" $lid $newLid]
+         set lid $newLid
+      } else {
+         incr lid $lidStep
+      }
+
+   }
+   return "-I- Set all port lids"
+}
+
+# after first OpenSM run we need to be able to get the assigned
+# lids
+proc updateAssignedLids {fabric} {
+   global PORT_LID LID_PORTS BAD_LIDS POST_SUBNET_UP
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+   foreach nodePortNum $addrNodePortNumPairs {
+
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set lid [ib_port_info_t_base_lid_get $pi]
+
+      assignPortLid $node $pn $lid
+   }
+
+   # flag the fact that from now any change in lids
+   # is not going to affect the PORT_LID...
+   set POST_SUBNET_UP 1
+
+   set numLids [llength [array names LID_PORTS]]
+   set numBad  [llength [array names BAD_LIDS]]
+   return "-I- Updated $numLids lids $numBad are bad"
+}
+
+# randomaly select one of the numbers provided in the given sequence
+proc getRandomNumOfSequence {seq} {
+   set idx [expr int([rmRand]*[llength $seq])]
+   return [lindex $seq $idx]
+}
+
+# get a free lid value by randomizing it and avoiding used ones
+proc getFreeLid {lmc} {
+   global LID_PORTS
+   set lid 0
+   while {$lid == 0} {
+      set lid [expr int( [array size LID_PORTS] * 3 * [rmRand])]
+      set lid [expr ($lid >> $lmc) << $lmc]
+      if {[info exists LID_PORTS($lid)]} {set lid 0}
+   }
+   return $lid
+}
+
+# get a used lid
+proc getUsedLid {} {
+   global LID_PORTS
+   return [getRandomNumOfSequence [array names LID_PORTS]]
+}
+
+proc setNodePortsState {node state} {
+   global DISCONNECTED_NODES
+
+   set name [IBNode_name_get $node]
+   # simply go over all ports of the node excluding port 0 and
+   # set the link logic state on the port info to $state
+   for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+
+      set port [IBNode_getPort $node $pn]
+      if {$port != ""} {
+         set guid [IBPort_guid_get $port]
+         set remPort [IBPort_p_remotePort_get $port]
+         if {$remPort != ""} {
+
+				# Make sure the remote port is not the SM port
+				# HACK: rely on SM to be running on H-1/U1 ..
+				if {($pn == 1) && ([IBNode_name_get [IBPort_p_node_get $remPort]] == "H-1/U1")} {
+					puts "-I- Disconnecting node:$name guid:$guid SKIPPING port:$pn connected to the SM"
+					continue
+				}
+
+            # handle the local port
+            if {$state == 1} {
+               # disconnected
+               puts "-I- Disconnecting node:$name guid:$guid port:$pn"
+               set DISCONNECTED_NODES($node) 1
+            } else {
+               # connected
+               puts "-I- Connecting node:$name guid:$guid port:$pn"
+               catch {unset DISCONNECTED_NODES($node)}
+            }
+            # do the actual job (including traps and change bits...)
+            IBMSNode_setLinkStatus sim$node $pn $state
+
+
+            set remPn [IBPort_num_get $remPort]
+            set remNode [IBPort_p_node_get $remPort]
+            set remPortGuid [IBPort_guid_get $remPort]
+            set remName [IBNode_name_get $remNode]
+            # if the remote port is of an HCA we need to mark it too as
+            # BAD or clean it out:
+            if {[IBNode_type_get $remNode] != 1} {
+               if {$state == 1} {
+                  # disconnected
+                  puts "-I- Disconnecting node:$remName guid:$remPortGuid port:$remPn"
+                  set DISCONNECTED_NODES($remNode) 1
+               } else {
+                  # connected
+                  puts "-I- Connecting node:$remName guid:$remPortGuid port:$remPn"
+                  catch {unset DISCONNECTED_NODES($remNode)}
+               }
+            }
+            # always take the action to the remote port too:
+            IBMSNode_setLinkStatus sim$remNode $remPn $state
+         }
+      }
+   }
+}
+
+# disconnect a node from the fabric by setting physical port
+# state to DOWN
+proc disconnectNode {node} {
+   global DISCONNECTED_NODES
+   setNodePortsState $node 1
+   set DISCONNECTED_NODES($node) 1
+}
+
+# Connect a node of the fabric by setting physical port
+# state to INIT
+proc connectNode {node} {
+   global DISCONNECTED_NODES
+   setNodePortsState $node 2
+   if {[info exists DISCONNECTED_NODES($node)]} {
+      unset DISCONNECTED_NODES($node)
+   }
+}
+
+proc setPortsDisconnected {fabric lmc} {
+   global PORT_LID BAD_LIDS
+   global DISCONNECTED_NODES
+
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+
+   # never do more then 1/5 of the HCAs disconnects to avoid disconnecting
+   # half subnet ...
+   set maxDisconnects [expr int([llength $addrNodePortNumPairs] / 5.0)]
+
+   set numDisc 0
+   # go over all the ports in the fabric and set their lids
+   foreach nodePortNum $addrNodePortNumPairs {
+      set node [lindex $nodePortNum 0]
+      set pn   [lindex $nodePortNum 1]
+
+      if {$pn != 0} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set guid [IBPort_guid_get $port]
+      } else {
+         set guid [IBNode_guid_get $node]
+      }
+
+      #Randomly do the disconnection
+      if {[notToDo]} {
+          continue
+      }
+
+      if {[array size DISCONNECTED_NODES] > $maxDisconnects} {
+         continue
+      }
+
+      # avoid disconnect of the SM node.
+      set smNode [IBFabric_getNode $fabric "H-1/U1"]
+      set smPort [IBNode_getPort $smNode 1]
+      set smRemPort [IBPort_p_remotePort_get $smPort]
+      set smRemNode [IBPort_p_node_get $smRemPort]
+
+      if {($smNode != $node) && ($smRemNode != $node)} {
+          puts "-I- Disconnecting node:$node guid:$guid"
+          disconnectNode $node
+          incr numDisc
+      }
+   }
+   # every node/port
+   set res "-I- Disconnected $numDisc nodes (total [array size DISCONNECTED_NODES])"
+   puts "$res"
+   return $res
+}
+
+proc writeGuid2LidFile {fileName lmc} {
+   global PORT_LID BAD_LID BAD_GUIDS
+   global SM_UNKNOWN_LIDS DISCONNECTED_NODES
+
+   if {[catch {set f [open $fileName w]} e]} {
+      puts "-E- $e"
+      exit 1
+   }
+
+   set randProfile {
+      OK OK OK OK OK OK OK OK OK
+      OK OK OK OK ExtraGuid
+      OK OK OK OK Skip
+      OK OK OK OK ExtraGuidCollision
+      OK OK OK OK LidZero
+      OK OK OK OK LidOutOfRange
+      OK OK OK OK NoLid
+      OK OK OK OK GarbadgeGuid
+      OK OK OK OK OK OK OK OK OK
+   }
+
+   set numMods 0
+
+   # go over all PORT_LID
+   foreach nodeNPort [array names PORT_LID] {
+      set node [lindex $nodeNPort 0]
+      set pn   [lindex $nodeNPort 1]
+
+      if {$pn != 0} {
+         set port [IBNode_getPort $node $pn]
+         if {$port == ""} {continue}
+         set guid [IBPort_guid_get $port]
+         set maxLidOffset [expr (1 << $lmc) - 1]
+      } else {
+         set guid [IBNode_guid_get $node]
+         set maxLidOffset 0
+      }
+
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set lid [ib_port_info_t_base_lid_get $pi]
+      set lidMax [expr $lid + $maxLidOffset]
+
+      # randomize what we want to do with it:
+      set hackCode [getRandomNumOfSequence $randProfile]
+      switch $hackCode {
+         OK {
+            puts $f "$guid $lid $lidMax\n"
+         }
+         ExtraGuid {
+            puts $f "$guid $lid $lidMax\n"
+            set extraGuid [string replace $guid 4 5 "8"]
+            set extraLid [getFreeLid $lmc]
+            set extraLidMax  [expr $extraLid + $maxLidOffset]
+            puts $f "$extraGuid $extraLid \n"
+            puts [format "-I- Added extra guid:$extraGuid lid:0x%04x,0x%04x" \
+                     $extraLid $extraLidMax]
+            incr numMods
+         }
+         ExtraGuidCollision {
+            puts $f "$guid $lid $lidMax\n"
+            set extraGuid [string replace $guid 4 5 "8"]
+            puts $f "$extraGuid $lid $lidMax\n"
+            puts [format "-I- Added colliding guid:$extraGuid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            set BAD_LIDS($lid) 1
+            set BAD_GUIDS($guid) 1
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         Skip {
+            puts [format "-I- Skipped guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         LidZero {
+            puts $f "$guid 0 0\n"
+            puts [format "-I- LidZero guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         LidOutOfRange {
+            puts $f "$guid 0xc001 0xc002\n"
+            puts [format "-I- OutOfRange guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         NoLid {
+            puts $f "$guid \n"
+            puts [format "-I- NoLids guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+         GarbadgeGuid {
+            puts $f "blablablabla $lid $lidMax\n"
+            puts [format "-I- GarbadgeGuid guid:$guid lid:0x%04x,0x%04x" \
+                     $lid $lidMax]
+            # if the node is disconnected and we create invalid guid2lid
+            # the SM will never know about that lid
+            if {[info exists DISCONNECTED_NODES($node)]} {
+               set SM_UNKNOWN_LIDS($lid) 1
+            }
+            incr numMods
+         }
+      }
+   }
+   close $f
+   puts "-I- injected $numMods modifications to guid2lid file"
+   puts "-I- total num lids which will be unknown to the SM:[llength [array names SM_UNKNOWN_LIDS]]"
+   return "-I- injected $numMods modifications to guid2lid file"
+}
+
+
+# connect back all disconnected
+# Only if isAll==1 connect all back, else connect randomly
+proc connectAllDisconnected {fabric isAll} {
+   global DISCONNECTED_NODES
+
+   set numConn 0
+   foreach node [array names DISCONNECTED_NODES] {
+      if { ($isAll == 0) && [notToDo]} { continue }
+
+      puts "-I- Re-Conneting $node"
+      connectNode $node
+      incr numConn
+   }
+   return "-I- Reconnected $numConn nodes"
+}
+
+# check that all the ports that have a valid lid
+# still holds this value
+proc checkLidValues {fabric lmc} {
+   global PORT_LID LID_PORTS BAD_LIDS BAD_GUIDS
+   global DISCONNECTED_NODES SM_UNKNOWN_LIDS
+
+   # get all addressable nodes
+   set addrNodePortNumPairs [getAddressiblePorts $fabric]
+
+   set numPorts 0
+   set numErrs 0
+   foreach nodePortNumPair $addrNodePortNumPairs {
+      set node [lindex $nodePortNumPair 0]
+      set pn   [lindex $nodePortNumPair 1]
+      set key "$node $pn"
+
+      if {$pn == 0} {
+         set guid [IBNode_guid_get $node]
+      } else {
+         set port [IBNode_getPort $node $pn]
+         set guid [IBPort_guid_get $port]
+      }
+
+      # ignore nodes that are disconnected:
+      if {[info exists DISCONNECTED_NODES($node)]} {continue}
+
+      # ignore marked bad guids:
+      if {[info exists BAD_GUIDS($guid)]} {continue}
+
+      # check what was the target lid:
+      if {![info exists PORT_LID($key)]} {
+         puts "-W- Somehow we do not have a lid assigned to $key"
+         continue
+      }
+
+      set lid $PORT_LID($key)
+
+      # ignore lids that are unknown to the SM
+      if {[info exists SM_UNKNOWN_LIDS($lid)]} {continue}
+
+      # check if this lid is not marked "bad" - i.e. distorted somehow:
+      if {[info exists BAD_LIDS($lid)]} {continue}
+
+      # now go get the actual lid:
+      set pi [IBMSNode_getPortInfo sim$node $pn]
+      set actLid [ib_port_info_t_base_lid_get $pi]
+
+      incr numPorts
+
+      if {($lid != 0) && ($lid != $actLid)} {
+         puts [format "-E- On Port:$key Guid:$guid Expected lid:0x%04x != 0x%04x" \
+                  $lid $actLid]
+         incr numErrs
+      }
+   }
+   if {$numErrs} {
+      puts "-E- Got $numErrs missmatches in lid assignment out of $numPorts ports"
+   } else {
+      puts "-I- scanned $numPorts ports with no error"
+   }
+   return $numErrs
+}
+
+# set the change bit on one of the switches:
+proc setOneSwitchChangeBit {fabric} {
+   global DISCONNECTED_NODES
+
+   set allNodes [IBFabric_NodeByName_get $fabric]
+
+   foreach nameNNode $allNodes {
+      set node [lindex $nameNNode 1]
+      if {[IBNode_type_get $node] == 1} {
+         if {![info exists DISCONNECTED_NODES($node)]} {
+            set swi [IBMSNode_getSwitchInfo sim$node]
+            set lifeState [ib_switch_info_t_life_state_get $swi]
+            set lifeState [expr ($lifeState & 0xf8) | 4 ]
+            ib_switch_info_t_life_state_set $swi $lifeState
+            puts "-I- Set change bit on switch:$node"
+            return "-I- Set change bit on switch:$node"
+         }
+      }
+   }
+   return "-E- Fail to set any change bit. Could not find a switch"
+}
+
+# send a single port join request
+proc sendJoinLeaveForPort {fabric port isLeave} {
+
+   # allocate a new mc member record:
+   set mcm [new_madMcMemberRec]
+
+   # join the IPoIB broadcast gid:
+   madMcMemberRec_mgid_set $mcm 0xff12401bffff0000:00000000ffffffff
+
+   # we must provide our own port gid
+   set portGuid [IBPort_guid_get $port]
+   madMcMemberRec_port_gid_set $mcm \
+      "0xfe80000000000000:[string range $portGuid 2 end]"
+
+   # must require full membership:
+   madMcMemberRec_scope_state_set $mcm 0x1
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include the mgid, port gid and join state:
+   set compMask [format "0x%X" [expr (1<<16) | 3]]
+
+
+   #getting the SM lid
+   #From ibmgtsim.guids.txt get the GUID of H-1/P1
+   #From guid2lid file get the lid of the GUID
+   set n [IBFabric_getNode $fabric "H-1/U1"]
+   set p [IBNode_getPort $n 1]
+   set guid [IBPort_guid_get $p]
+   set pi [IBMSNode_getPortInfo sim$n 1]
+   set lid [ib_port_info_t_base_lid_get $pi]
+
+   # send it to the SM_LID:
+   if {$isLeave} {
+      puts "-I- Leaving port $node $portNum $portGuid"
+      madMcMemberRec_send_del $mcm sim$node $portNum $lid $compMask
+   } else {
+      puts "-I- Joining port $node $portNum $portGuid"
+      madMcMemberRec_send_set $mcm sim$node $portNum $lid $compMask
+   }
+
+
+   # deallocate
+   delete_madMcMemberRec $mcm
+
+   return 0
+}
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# randomize join for all of the fabric HCA ports:
+# if isAll==1 join all, else join randomly
+proc randomJoinAllHCAPorts {fabric maxDelay_ms isAll} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   puts "-I- Total of [llength $hcaPorts] HCA ports"
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numHcasJoined 0
+
+   # Now do the joins - waiting random time between them:
+   foreach portNOrder $orederedPorts {
+      if {($isAll == 0) && [notToDo]} {continue}
+
+      set port [lindex $portNOrder 0]
+
+      if {![sendJoinLeaveForPort $fabric $port 0]} {
+         incr numHcasJoined
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return $numHcasJoined
+}
+
+# randomize join for all of the fabric HCA ports:
+# Please note that NOT all the ports are leaving -
+# each port is by random leaving or staying the same
+proc randomLeaveAllHCAPorts {fabric maxDelay_ms} {
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+   set numHcasLeft 0
+
+   # Now do the joins - waiting random time between them:
+   foreach portNOrder $orederedPorts {
+
+      if {[notToDo]} {
+          continue
+      }
+
+
+      set port [lindex $portNOrder 0]
+
+      if {![sendJoinLeaveForPort $fabric $port 1]} {
+         incr numHcasLeft
+      }
+
+      after [expr int([rmRand]*$maxDelay_ms)]
+   }
+   return $numHcasLeft
+}
+
+# register some of the nodes to receive some
+# reports.
+proc randomRegisterFormInformInfo {fabric} {
+	global IB_INFORM_INFO_COMP_TRAP_NUM IB_INFORM_INFO_COMP_GID
+	global IB_INFORM_INFO_COMP_LID_END
+	global IB_INFORM_INFO_COMP_LID_BEGIN
+
+	set joinTypes {ByTrap ByGid ByLid ByLidRange All All All All All}
+
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+	# HACK assume SM is H-1/U1
+   set smNode [IBFabric_getNode $fabric "H-1/U1"]
+   set smPort [IBNode_getPort $smNode 1]
+   set smPortInfo [IBMSNode_getPortInfo sim$smNode 1]
+   set smLid [ib_port_info_t_base_lid_get $smPortInfo]
+
+	foreach port $hcaPorts {
+		# we skip most of them
+		if {[rmRand] > 0.66} {continue}
+
+		madGenericInform i
+
+		if {[rmRand] > 0.5} {
+			i configure -subscribe 1
+			set mode subscribing
+		} else {
+			i configure -subscribe 0
+			set mode clearing
+		}
+
+		set portName [IBPort_getName $port]
+		set node [IBPort_p_node_get $port]
+		set portNum [IBPort_num_get $port]
+
+		set joinType [getRandomNumOfSequence $joinTypes]
+
+		switch $joinType {
+			ByTrap {
+				set trapNum [getRandomNumOfSequence {128 144 64 65 66 67}]
+				i configure -trap_num $trapNum
+				set compMask $IB_INFORM_INFO_COMP_TRAP_NUM
+				puts "-I- $mode InformInfo for $portName by trap num:$trapNum"
+			}
+			ByGid {
+				set otherPort [getRandomNumOfSequence $hcaPorts]
+				set gid "0xfe80000000000000:[string range [IBPort_guid_get $otherPort] 2 end]"
+				i configure -gid $gid
+				set compMask $IB_INFORM_INFO_COMP_GID
+				puts "-I- $mode InformInfo for $portName by GID:$gid"
+			}
+			ByLid {
+				set otherPort [getRandomNumOfSequence $hcaPorts]
+				set fromLid [IBPort_base_lid_get $otherPort]
+				set compMask $IB_INFORM_INFO_COMP_LID_BEGIN
+				puts "-I- $mode InformInfo for $portName by LID:$fromLid"
+			}
+			ByLidRange {
+				set otherPort [getRandomNumOfSequence $hcaPorts]
+				set fromLid [IBPort_base_lid_get $otherPort]
+				set toLid [expr $fromLid + int([rmRand]*10)]
+				set compMask [expr $IB_INFORM_INFO_COMP_LID_BEGIN | $IB_INFORM_INFO_COMP_LID_END]
+				puts "-I- $mode InformInfo for $portName by LID Range:$fromLid - $toLid"
+			}
+			All {
+				puts "-I- $mode InformInfo for $portName to match all events"
+				set compMask 0
+			}
+		}
+
+		i send_set sim$node $portNum $smLid $compMask
+
+		rename i ""
+	}
+	return 0
+}
+
+# send a path record request
+# port1 - source
+# port2 - destination
+# port3 - requestor
+proc sendPathRecordRequest {fabric port1 port2 port3} {
+   puts "-I- Sending Path Record SRC=$port1 DST=$port2 Requstor:$port3"
+   # allocate a new path record:
+   set pam [new_madPathRec]
+
+   #getting the SM lid
+   #From ibmgtsim.guids.txt get the GUID of H-1/P1
+   #From guid2lid file get the lid of the GUID
+   set n [IBFabric_getNode $fabric "H-1/U1"]
+   set p [IBNode_getPort $n 1]
+   set guidSM \
+      "0xfe80000000000000:[string range [IBPort_guid_get $p] 2 end]"
+   set pi [IBMSNode_getPortInfo sim$n 1]
+   set lid [ib_port_info_t_base_lid_get $pi]
+
+   # update the path record mad:
+   # provide our own port gid as the source gid
+   madPathRec_dgid_set $pam \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port1] 2 end]"
+   madPathRec_sgid_set $pam \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port2] 2 end]"
+   madPathRec_num_path_set $pam 1
+   madPathRec_qos_class_sl_set $pam 0x8
+   madPathRec_mtu_set $pam 4
+   madPathRec_rate_set $pam 2
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port3]
+   set node [IBPort_p_node_get $port3]
+
+   # we need the comp_mask to include all the above (see 15.2.5.16)
+   # 3 SGID
+   # 12 NumbPath
+   # 15 SL
+   # 16,17 MTU
+   # 18,19 RATE
+   set compMask \
+     [format "0x%X" [expr (1<<19) | (1<<18) | (1<<17) | (1<<16) | (1<<15) | (1<<12) | (1<<3) | (1<<2)]]
+
+   # send it to the SM_LID:
+   madPathRec_send_get $pam sim$node $portNum $lid $compMask
+
+   # deallocate
+   delete_madPathRec $pam
+
+   return 0
+}
+
+# send a service record request
+proc sendServiceRecordRequest {fabric port} {
+   puts "-I- Sending Service Record request"
+   # allocate a new path record:
+   set pam [new_madServiceRec]
+
+   # update the path record mad:
+   # provide our own port gid as the source gid
+   madServiceRec_sgid_set $pam \
+      "0xfe80000000000000:[string range [IBPort_guid_get $port] 2 end]"
+   madServiceRec_num_path_set $pam 1
+   madServiceRec_sl_set $pam 0x8
+   madServiceRec_mtu_set $pam 4
+   madServiceRec_rate_set $pam 2
+
+   # we need port number and sim node for the mad send:
+   set portNum [IBPort_num_get $port]
+   set node [IBPort_p_node_get $port]
+
+   # we need the comp_mask to include all the above (see 15.2.5.16)
+   # 3 SGID
+   # 12 NumbPath
+   # 15 SL
+   # 16,17 MTU
+   # 18,19 RATE
+   set compMask \
+     [format "0x%X" [expr (1<<19) | (1<<18) | (1<<17) | (1<<16) | (1<<15) | (1<<12) | (1<<3)]]
+
+
+   #getting the SM lid
+   #From ibmgtsim.guids.txt get the GUID of H-1/P1
+   #From guid2lid file get the lid of the GUID
+   set n [IBFabric_getNode $fabric "H-1/U1"]
+   set p [IBNode_getPort $n 1]
+   set guid [IBPort_guid_get $p]
+   set pi [IBMSNode_getPortInfo sim$n 1]
+   set lid [ib_port_info_t_base_lid_get $pi]
+
+   # send it to the SM_LID:
+   madServiceRec_send_set $pam sim$node $portNum $lid $compMask
+
+   # deallocate
+   delete_madServiceRec $pam
+
+   return 0
+}
+
+# the returned list is used to select random actions to perform
+proc InitRandomActionsList {} {
+   set actList {
+      CONNECT
+      DISCONNECT
+      JOIN
+      LEAVE
+      PATH-QUERY
+		INFORM
+   }
+   return $actList
+}
+
+proc DisconnectRandomPorts {fabric} {
+    setPortsDisconnected $fabric 0
+}
+
+proc ConnectRandomPorts {fabric} {
+    connectAllDisconnected $fabric 0
+}
+
+# send a random number of patch record requests from any HCA to any other
+proc SendRandomPathRecordRequests {fabric} {
+
+   # get all HCA ports:
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   # set a random order:
+   set orederedPorts {}
+   foreach port $hcaPorts {
+      lappend orederedPorts [list $port [rmRand]]
+   }
+
+   set numQueries [expr int([rmRand]*[llength $hcaPorts])]
+   puts "-I- SendRandomPathRecordRequests randomizing $numQueries requests"
+
+   # sort:
+   set orederedPorts [lsort -index 1 -real $orederedPorts]
+
+   for {set i 0} {$i < $numQueries} {incr i} {
+      set portNOrder1 [getRandomNumOfSequence $orederedPorts]
+      set portNOrder2 [getRandomNumOfSequence $orederedPorts]
+      set portNOrder3 [getRandomNumOfSequence $orederedPorts]
+      set port1 [lindex $portNOrder1 0]
+      set port2 [lindex $portNOrder2 0]
+      set port3 [lindex $portNOrder2 0]
+
+      # Now send the request - waiting random time between them:
+      after [expr int([rmRand]*10)]
+      set retval [sendPathRecordRequest $fabric $port1 $port2 $port3]
+   }
+   puts "-I- SendRandomPathRecordRequests finished"
+   return $numQueries
+}
+
+proc SendMulticastJoinMad {fabric} {
+    randomJoinAllHCAPorts $fabric 10 0
+}
+
+proc SendMulticastLeaveMad {fabric} {
+    randomLeaveAllHCAPorts $fabric 10
+}
+
+proc RunRandomStressFlow {fabric iterations} {
+
+    puts "-I- INVOKING RANDOM FLOW for $iterations iterations"
+    set actionsList [InitRandomActionsList]
+
+    foreach action $actionsList {
+       set RUN_ACTIONS($action) 0
+    }
+
+    #Do random steps
+    for {set i 0} {$i < $iterations} {incr i} {
+
+        set action [getRandomNumOfSequence $actionsList]
+        incr RUN_ACTIONS($action)
+        puts "-I- Performing Action: $action"
+
+        #Disconnect ports
+        switch $action {
+           DISCONNECT { DisconnectRandomPorts $fabric  }
+           CONNECT    { ConnectRandomPorts $fabric     }
+           JOIN       { SendMulticastJoinMad $fabric   }
+           LEAVE      { SendMulticastLeaveMad $fabric  }
+           PATH-QUERY { SendRandomPathRecordRequests $fabric }
+			  INFORM     { randomRegisterFormInformInfo $fabric }
+           default    {
+              puts "-E- Ignroing unknown action $action"
+           }
+        }
+    }
+
+    set actionsRun ""
+    foreach action [array names RUN_ACTIONS] {
+       append actionsRun "$action:$RUN_ACTIONS($action) "
+    }
+    if {$actionsRun == ""} {
+       set actionsRun "No random actions run!!!"
+    }
+
+    return $actionsRun
+}
+
+set fabric [IBMgtSimulator getFabric]
+set ACTION_ARRAY {}
+
+# IBMgtSimulator init /home/eitan/CLUSTERS/Galactic.topo 42514 1
+# source /home/eitan/SW/SVN/osm/branches/main2_0/osm/test/osmLidAssignment.sim.tcl
+# assignPortLid node:1:SWL2/spine1/U3 0 99
+#  checkLidValues $fabric 1
+# set swi [IBMSNode_getSwitchInfo sim$node]
+# set n simnode:1:SWL2/spine1/U3
+# set x [IBMSNode_getPKeyTblB $n 0 0]
+#
+
diff --git a/ibmgtsim/tests/osm_no_quit.check.tcl b/ibmgtsim/tests/osm_no_quit.check.tcl
new file mode 100644
index 0000000..0daf060
--- /dev/null
+++ b/ibmgtsim/tests/osm_no_quit.check.tcl
@@ -0,0 +1,41 @@
+# This is the checker for for running opensm and do not exit ever
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+   puts "-I- Starting: $osmPath -g $osmPortGuid  ..."
+   set osmPid [exec $osmPath -d2 -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   set osmTestPath      [file join [file dirname $osmPath] osmtest]
+   set osmTestLog       [file join $simDir osmtest.log]
+   set osmTestStdOutLog [file join $simDir osmtest.stdout.log]
+   set osmTestInventory [file join $simDir osmtest.dat]
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+   puts "-I- Looping forever ..."
+   while {1} {
+      after 10000
+   }
+}
diff --git a/ibmgtsim/tests/osm_no_quit.sim.tcl b/ibmgtsim/tests/osm_no_quit.sim.tcl
new file mode 100644
index 0000000..b84677f
--- /dev/null
+++ b/ibmgtsim/tests/osm_no_quit.sim.tcl
@@ -0,0 +1 @@
+puts "Running Simulation Flow - OpenSM does not quit"
diff --git a/ibmgtsim/tests/part-4-ary-3-tree.topo b/ibmgtsim/tests/part-4-ary-3-tree.topo
new file mode 100644
index 0000000..8688e81
--- /dev/null
+++ b/ibmgtsim/tests/part-4-ary-3-tree.topo
@@ -0,0 +1,193 @@
+MTS800 SW-2-0-0
+   P1 -> Cougar H-1 P1
+   P2 -> Cougar H-2 P1
+   P3 -> Cougar H-3 P1
+   P4 -> Cougar H-4 P1
+   P5 -> MTS800 SW-1-0-0 P1
+   P6 -> MTS800 SW-1-0-1 P1
+   P7 -> MTS800 SW-1-0-2 P1
+   P8 -> MTS800 SW-1-0-3 P1
+
+MTS800 SW-2-0-1
+   P1 -> Cougar H-5 P1
+   P2 -> Cougar H-6 P1
+   P3 -> Cougar H-7 P1
+   P4 -> Cougar H-8 P1
+   P5 -> MTS800 SW-1-0-0 P2
+   P6 -> MTS800 SW-1-0-1 P2
+   P7 -> MTS800 SW-1-0-2 P2
+   P8 -> MTS800 SW-1-0-3 P2
+
+MTS800 SW-2-0-2
+   P1 -> Cougar H-9 P1
+   P2 -> Cougar H-10 P1
+   P3 -> Cougar H-11 P1
+   P4 -> Cougar H-12 P1
+   P5 -> MTS800 SW-1-0-0 P3
+   P6 -> MTS800 SW-1-0-1 P3
+   P7 -> MTS800 SW-1-0-2 P3
+   P8 -> MTS800 SW-1-0-3 P3
+
+MTS800 SW-2-0-3
+   P1 -> Cougar H-13 P1
+   P2 -> Cougar H-14 P1
+   P3 -> Cougar H-15 P1
+   P4 -> Cougar H-16 P1
+   P5 -> MTS800 SW-1-0-0 P4
+   P6 -> MTS800 SW-1-0-1 P4
+   P7 -> MTS800 SW-1-0-2 P4
+   P8 -> MTS800 SW-1-0-3 P4
+
+MTS800 SW-2-1-0
+   P1 -> Cougar H-17 P1
+   P2 -> Cougar H-18 P1
+   P3 -> Cougar H-19 P1
+   P4 -> Cougar H-20 P1
+   P5 -> MTS800 SW-1-1-0 P1
+   P6 -> MTS800 SW-1-1-1 P1
+   P7 -> MTS800 SW-1-1-2 P1
+   P8 -> MTS800 SW-1-1-3 P1
+
+MTS800 SW-2-1-1
+   P1 -> Cougar H-21 P1
+   P2 -> Cougar H-22 P1
+   P3 -> Cougar H-23 P1
+   P4 -> Cougar H-24 P1
+   P5 -> MTS800 SW-1-1-0 P2
+   P6 -> MTS800 SW-1-1-1 P2
+   P7 -> MTS800 SW-1-1-2 P2
+   P8 -> MTS800 SW-1-1-3 P2
+
+MTS800 SW-2-1-2
+   P1 -> Cougar H-25 P1
+   P2 -> Cougar H-26 P1
+   P3 -> Cougar H-27 P1
+   P4 -> Cougar H-28 P1
+   P5 -> MTS800 SW-1-1-0 P3
+   P6 -> MTS800 SW-1-1-1 P3
+   P7 -> MTS800 SW-1-1-2 P3
+   P8 -> MTS800 SW-1-1-3 P3
+
+MTS800 SW-2-1-3
+   P1 -> Cougar H-29 P1
+   P2 -> Cougar H-30 P1
+   P3 -> Cougar H-31 P1
+   P4 -> Cougar H-32 P1
+   P5 -> MTS800 SW-1-1-0 P4
+   P6 -> MTS800 SW-1-1-1 P4
+   P7 -> MTS800 SW-1-1-2 P4
+   P8 -> MTS800 SW-1-1-3 P4
+
+MTS800 SW-2-2-0
+   P1 -> Cougar H-33 P1
+   P2 -> Cougar H-34 P1
+   P3 -> Cougar H-35 P1
+   P4 -> Cougar H-36 P1
+   P5 -> MTS800 SW-1-2-0 P1
+   P6 -> MTS800 SW-1-2-1 P1
+   P7 -> MTS800 SW-1-2-2 P1
+   P8 -> MTS800 SW-1-2-3 P1
+
+MTS800 SW-2-2-1
+   P1 -> Cougar H-37 P1
+   P2 -> Cougar H-38 P1
+   P3 -> Cougar H-39 P1
+   P4 -> Cougar H-40 P1
+   P5 -> MTS800 SW-1-2-0 P2
+   P6 -> MTS800 SW-1-2-1 P2
+   P7 -> MTS800 SW-1-2-2 P2
+   P8 -> MTS800 SW-1-2-3 P2
+
+MTS800 SW-2-2-2
+   P1 -> Cougar H-41 P1
+   P2 -> Cougar H-42 P1
+   P3 -> Cougar H-43 P1
+   P4 -> Cougar H-44 P1
+   P5 -> MTS800 SW-1-2-0 P3
+   P6 -> MTS800 SW-1-2-1 P3
+   P7 -> MTS800 SW-1-2-2 P3
+   P8 -> MTS800 SW-1-2-3 P3
+
+MTS800 SW-2-2-3
+   P1 -> Cougar H-45 P1
+   P2 -> Cougar H-46 P1
+   P3 -> Cougar H-47 P1
+   P4 -> Cougar H-48 P1
+   P5 -> MTS800 SW-1-2-0 P4
+   P6 -> MTS800 SW-1-2-1 P4
+   P7 -> MTS800 SW-1-2-2 P4
+   P8 -> MTS800 SW-1-2-3 P4
+
+MTS800 SW-1-0-0
+   P5 -> MTS800 SW-0-0-0 P1
+   P6 -> MTS800 SW-0-1-0 P1
+   P7 -> MTS800 SW-0-2-0 P1
+   P8 -> MTS800 SW-0-3-0 P1
+
+MTS800 SW-1-0-1
+   P5 -> MTS800 SW-0-0-1 P1
+   P6 -> MTS800 SW-0-1-1 P1
+   P7 -> MTS800 SW-0-2-1 P1
+   P8 -> MTS800 SW-0-3-1 P1
+
+MTS800 SW-1-0-2
+   P5 -> MTS800 SW-0-0-2 P1
+   P6 -> MTS800 SW-0-1-2 P1
+   P7 -> MTS800 SW-0-2-2 P1
+   P8 -> MTS800 SW-0-3-2 P1
+
+MTS800 SW-1-0-3
+   P5 -> MTS800 SW-0-0-3 P1
+   P6 -> MTS800 SW-0-1-3 P1
+   P7 -> MTS800 SW-0-2-3 P1
+   P8 -> MTS800 SW-0-3-3 P1
+
+MTS800 SW-1-1-0
+   P5 -> MTS800 SW-0-0-0 P2
+   P6 -> MTS800 SW-0-1-0 P2
+   P7 -> MTS800 SW-0-2-0 P2
+   P8 -> MTS800 SW-0-3-0 P2
+
+MTS800 SW-1-1-1
+   P5 -> MTS800 SW-0-0-1 P2
+   P6 -> MTS800 SW-0-1-1 P2
+   P7 -> MTS800 SW-0-2-1 P2
+   P8 -> MTS800 SW-0-3-1 P2
+
+MTS800 SW-1-1-2
+   P5 -> MTS800 SW-0-0-2 P2
+   P6 -> MTS800 SW-0-1-2 P2
+   P7 -> MTS800 SW-0-2-2 P2
+   P8 -> MTS800 SW-0-3-2 P2
+
+MTS800 SW-1-1-3
+   P5 -> MTS800 SW-0-0-3 P2
+   P6 -> MTS800 SW-0-1-3 P2
+   P7 -> MTS800 SW-0-2-3 P2
+   P8 -> MTS800 SW-0-3-3 P2
+
+MTS800 SW-1-2-0
+   P5 -> MTS800 SW-0-0-0 P3
+   P6 -> MTS800 SW-0-1-0 P3
+   P7 -> MTS800 SW-0-2-0 P3
+   P8 -> MTS800 SW-0-3-0 P3
+
+MTS800 SW-1-2-1
+   P5 -> MTS800 SW-0-0-1 P3
+   P6 -> MTS800 SW-0-1-1 P3
+   P7 -> MTS800 SW-0-2-1 P3
+   P8 -> MTS800 SW-0-3-1 P3
+
+MTS800 SW-1-2-2
+   P5 -> MTS800 SW-0-0-2 P3
+   P6 -> MTS800 SW-0-1-2 P3
+   P7 -> MTS800 SW-0-2-2 P3
+   P8 -> MTS800 SW-0-3-2 P3
+
+MTS800 SW-1-2-3
+   P5 -> MTS800 SW-0-0-3 P3
+   P6 -> MTS800 SW-0-1-3 P3
+   P7 -> MTS800 SW-0-2-3 P3
+   P8 -> MTS800 SW-0-3-3 P3
+
+
diff --git a/ibmgtsim/tests/pkey.check.tcl b/ibmgtsim/tests/pkey.check.tcl
new file mode 100644
index 0000000..7083808
--- /dev/null
+++ b/ibmgtsim/tests/pkey.check.tcl
@@ -0,0 +1,372 @@
+# This is the checker for for a simple 16 node test with opensm and osmtest
+
+proc parseNodePortGroup {simDir} {
+   set f [open [file join $simDir "port_pkey_groups.txt"] r]
+   set res {}
+   while {[gets $f sLine] >= 0} {
+      lappend res $sLine
+   }
+   close $f
+   puts "-I- Defined [llength $res] ports"
+   return $res
+}
+
+# given the node port group defined by the sim flow
+# setup the partitions policy file for the SM
+proc setupPartitionPolicyFile {fileName} {
+   global nodePortGroupList
+	for {set g 1} {$g <= 3} {incr g} {
+		set GROUP_PKEYS($g) ""
+	}
+   set f [open $fileName w]
+
+   # no need for default partition
+   # puts $f "Default=0x7fff ,ipoib : ALL, SELF=full ;"
+
+   # loop on the tree groups collecting their member guids and printing them out
+   foreach p {1 2 3} {
+      set guids {}
+      foreach png $nodePortGroupList {
+         # png = { name num grp guid pkey }
+         set grp [lindex $png 2]
+         if {$grp == $p} {
+            lappend guids [lindex $png 3]
+            set GROUP_PKEYS($grp) [lindex $png 4]
+         } elseif {$grp == 3} {
+            # group 3 ports are members of both other groups
+            lappend guids [lindex $png 3]
+         }
+      }
+
+      puts $f "G$p=$GROUP_PKEYS($p) :"
+      set lastGuid [lindex $guids end]
+      foreach g $guids {
+         if {$p != 3} {
+            puts -nonewline $f "   $g=full"
+         } else {
+            puts -nonewline $f "   $g"
+         }
+         if {$lastGuid == $g} {
+            puts $f ";"
+         } else {
+            puts $f ","
+         }
+      }
+      puts $f " "
+   }
+
+   close $f
+}
+
+# validate osmtest.dat versus the list of node port group
+# group 1 must only have info regarding nodes of group1
+# group 2 is similar
+# group 3 see all others
+#
+# HACK: we currently only count the number of nodes/ports/path records
+# and not use the full GUID based check.
+proc validateInventoryVsGroup {simDir group nodePortGroupList} {
+
+   # count the number of ports we have in each group:
+   set GUIDS(1) {}
+   set GUIDS(2) {}
+   set GUIDS(3) {}
+
+   foreach npg $nodePortGroupList {
+      set g [lindex $npg 2]
+      set guid [lindex $npg 3]
+      lappend GUIDS($g) $guid
+      set GUID_GRP($guid) $g
+   }
+
+   set cnt1 [llength $GUIDS(1)]
+   set cnt2 [llength $GUIDS(2)]
+   set cnt3 [llength $GUIDS(3)]
+   switch $group {
+      1 {
+         foreach g $GUIDS(1) {set REQUIRED($g) 0}
+         foreach g $GUIDS(3) {set REQUIRED($g) 0}
+         foreach g $GUIDS(2) {set DISALLOWED($g) 2}
+			set expected [expr ($cnt1 + $cnt3)*($cnt1 + $cnt3)]
+      }
+      2 {
+         foreach g $GUIDS(2) {set REQUIRED($g) 0}
+         foreach g $GUIDS(3) {set REQUIRED($g) 0}
+         foreach g $GUIDS(1) {set DISALLOWED($g) 1}
+			set expected [expr ($cnt2 + $cnt3)*($cnt2 + $cnt3)]
+      }
+      3 {
+         foreach g $GUIDS(1) {set REQUIRED($g) 0}
+         foreach g $GUIDS(2) {set REQUIRED($g) 0}
+         foreach g $GUIDS(3) {set REQUIRED($g) 0}
+			set expected [expr \
+								  $cnt3*($cnt1 + $cnt2 + $cnt3) + \
+								  $cnt1*($cnt1 + $cnt3) + \
+								  $cnt2*($cnt2 + $cnt3) ]
+      }
+   }
+
+   puts "-I- Expecting:$expected paths (membership is: 1=$cnt1 2=$cnt2 3=$cnt3 )"
+
+   # parse the inventory:
+   set fn [file join $simDir osmtest.dat]
+   set f [open $fn r]
+   set lineNum 0
+   set errCnt 0
+   set state none
+   while {[gets $f sLine] >= 0} {
+      incr lineNum
+      if {$state == "none"} {
+         if {[lindex $sLine 0] == "DEFINE_NODE"} {
+            set state node
+         } elseif {[lindex $sLine 0] == "DEFINE_PORT"} {
+            set state port
+         } elseif {[lindex $sLine 0] == "DEFINE_PATH"} {
+            set state path
+         }
+      } elseif {$state == "node"} {
+         set field [lindex $sLine 0]
+         # we only care about guid line and lid
+         if {$field == "port_guid"} {
+            set guid [lindex $sLine 1]
+            set GUID_BY_LID($lid) $guid
+
+            # now we can check if the guid is expected or not
+            if {[info exist DISALLOWED($guid)]} {
+               puts "-E- Got disallowed guid:$guid of group $DISALLOWED($guid)"
+               incr errCnt
+            } else {
+               # we might require it so mark ...
+               if {[info exist REQUIRED($guid)]} {
+                  incr REQUIRED($guid)
+               }
+            }
+         } elseif {$field == "lid"} {
+            set lid [lindex $sLine 1]
+         } elseif {$field == "END"} {
+            set state none
+         }
+      } elseif {$state == "port"} {
+         # we only care about lid line
+         set field [lindex $sLine 0]
+         if {$field == "base_lid"} {
+            set lid [lindex $sLine 1]
+            # ignore lid 0x0 on physp of switches...
+            if {$lid != "0x0"} {
+               set guid $GUID_BY_LID($lid)
+
+               # now we can check if the guid is expected or not
+               if {[info exist DISALLOWED($guid)]} {
+                  puts "-E- Got disallowed guid:$guid of group $DISALLOWED($guid)"
+                  incr errCnt
+               } else {
+                  # we might require it so mark ...
+                  if {[info exist REQUIRED($guid)]} {
+                     incr REQUIRED($guid)
+                  }
+               }
+            }
+         } elseif {$field == "END"} {
+            set state none
+         }
+      } elseif {$state == "path"} {
+         # we need to check both sides of the path
+         set field [lindex $sLine 0]
+         if {$field == "sgid"} {
+            set sguid [lindex $sLine 2]
+            if {[info exist DISALLOWED($sguid)]} {
+               puts "-E- Got disallowed path from guid:$sguid of group $DISALLOWED($sguid)"
+               incr errCnt
+            } else {
+
+               # the path is allowed only if the ends are allowed to
+               # see wach other - catch cases where they are not:
+               if {[info exist GUID_GRP($sguid)] &&
+                   [info exist GUID_GRP($dguid)] &&
+                   ((($GUID_GRP($sguid) == 1) && ($GUID_GRP($dguid) == 2)) ||
+                    (($GUID_GRP($sguid) == 2) && ($GUID_GRP($dguid) == 1)))} {
+                  incr errCnt
+                  puts "-E- Got path from guid:$sguid to guid:$dguid"
+                  incr errCnt
+               } else {
+                  # track paths:
+                  set k "$sguid $dguid"
+                  set PATHS($k) 1
+               }
+            }
+         } elseif {$field == "dgid"} {
+            set dguid [lindex $sLine 2]
+            if {[info exist DISALLOWED($dguid)]} {
+               puts "-E- Got disallowed path to guid:$dguid of group $DISALLOWED($dguid)"
+               incr errCnt
+            }
+         } elseif {$field == "END"} {
+            set state none
+         }
+      }
+   }
+   close $f
+   foreach sguid [array names REQUIRED] {
+      if {$REQUIRED($sguid) != 2} {
+         puts "-E- Missing port or node for guid $sguid"
+         incr errCnt
+      }
+
+      foreach dguid [array names REQUIRED] {
+         # it is not enough for the ports to be visible - they need
+         # to see each other so can not be one from 1 and other from 2...
+         if {($GUID_GRP($sguid) == 1) && ($GUID_GRP($dguid) == 2)} continue
+         if {($GUID_GRP($sguid) == 2) && ($GUID_GRP($dguid) == 1)} continue
+
+         set k "$sguid $dguid"
+         if {![info exist PATHS($k)]} {
+            puts "-E- Missing path $k"
+            incr errCnt
+         }
+      }
+   }
+
+   puts "-I- Obtained: [llength [array names PATHS]] paths for group:$group"
+   return $errCnt
+}
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   global simCtrlSock
+   global env
+   global nodePortGroupList
+
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   fconfigure $simCtrlSock -blocking 1 -buffering line
+
+   # randomize pkey tables
+   puts $simCtrlSock "setAllHcaPortsPKeyTable \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+   puts $simCtrlSock "dumpHcaPKeyGroupFile $simDir"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # parse the node/port/pkey_group file from the sim dir:
+   set nodePortGroupList [parseNodePortGroup $simDir]
+
+   # Prepare the nodes partitions data
+   set partitionPolicyFile  [file join $simDir partitions.policy]
+   setupPartitionPolicyFile $partitionPolicyFile
+
+   # start the SM
+   set valgrind "/usr/bin/valgrind --tool=memcheck"
+   set osmCmd "$osmPath -P$partitionPolicyFile -D 0x3 -d2 -t 8000 -f $osmLog -g $osmPortGuid"
+   puts "-I- Starting: $osmCmd"
+   set osmPid [eval "exec $osmCmd > $osmStdOutLog &"]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   return $osmPid
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+   global env
+   global simCtrlSock osmPid
+   global nodePortGroupList
+
+   set osmTestPath      [file join [file dirname $osmPath] osmtest]
+   set osmTestLog       [file join $simDir osmtest.log]
+   set osmTestStdOutLog [file join $simDir osmtest.stdout.log]
+   set osmTestInventory [file join $simDir osmtest.dat]
+
+   # wait for the SM up or dead
+   set osmLog [file join $simDir osm.log]
+   if {[osmWaitForUpOrDead $osmLog]} {
+      return 1
+   }
+
+   # randomly sellect several nodes and create inventory by running osmtest
+   # on them - then check only valid entries were reported
+   for {set i 0 } {$i < 5} {incr i} {
+
+      # decide which will be the node name we will use
+      set r [expr int([rmRand]*[llength $nodePortGroupList])]
+      set nodeNPortNGroup [lindex $nodePortGroupList $r]
+      set nodeName [lindex $nodeNPortNGroup 0]
+      set portNum  [lindex $nodeNPortNGroup 1]
+      set group    [lindex $nodeNPortNGroup 2]
+      set portGuid [makeProcFSForNode $simDir $nodeName $portNum 1]
+      set env(IBMGTSIM_NODE) $nodeName
+
+      puts "-I- Invoking osmtest from node:$nodeName port:$portNum"
+
+      set osmTestCmd1 "$osmTestPath -t 8000 -g $portGuid -l $osmTestLog -f c -i $osmTestInventory"
+      puts "-I- Invoking: $osmTestCmd1 ..."
+
+      # HACK: we currently ignore osmtest craches on exit flow:
+      catch {set res [eval "exec $osmTestCmd1 >& $osmTestStdOutLog"]}
+
+      if {[catch {exec grep "OSMTEST: TEST \"Create Inventory\" PASS" $osmTestStdOutLog}]} {
+         puts "-E- osmtest Create Inventory failed"
+         return 1
+      }
+
+      if {[validateInventoryVsGroup $simDir $group $nodePortGroupList]} {
+			puts $simCtrlSock "dumpPKeyTables \$fabric"
+			puts "SIM: [gets $simCtrlSock]"
+         return 1
+      }
+   }
+
+   ###### Verifing the pkey manager behaviour ################
+
+   # Remove the default pkey from the HCA ports (except the SM)
+	# HACK: for now the SM does not refresh PKey tables no matter what...
+	if {0} {
+		puts $simCtrlSock "removeDefaultPKeyFromTableForHcaPorts \$fabric"
+		puts "SIM: [gets $simCtrlSock]"
+	}
+
+	# Verify all pkeys are in correct place:
+   puts "-I- Calling simulator to verify all defined indexie are correct"
+   puts $simCtrlSock "verifyCorrectPKeyIndexForAllHcaPorts \$fabric"
+   set res [gets $simCtrlSock]
+   puts "SIM: $res"
+
+   if {$res != 0} {
+      puts "-E- $res ports have miss-placed pkeys"
+		return 1
+   }
+
+   #Inject a changebit - to force heavy sweep
+   puts $simCtrlSock "setOneSwitchChangeBit \$fabric"
+   puts "SIM: [gets $simCtrlSock]"
+
+   # wait for sweep to end or exit
+   if {[osmWaitForUpOrDead $osmLog 1]} {
+      return 1
+   }
+
+   # wait 3 seconds
+   after 1000
+
+   #Verify that the default port is in the PKey table of all ports
+   puts "-I- Calling simulator to verify all HCA ports have either 0x7fff or 0xffff"
+   puts $simCtrlSock "verifyDefaultPKeyForAllHcaPorts \$fabric"
+   set res [gets $simCtrlSock]
+   puts "SIM: $res"
+
+   if {$res == 0} {
+      puts "-I- Pkey check flow completed successfuly"
+   } else {
+      puts "-E- Pkey check flow failed"
+   }
+
+   return $res
+}
diff --git a/ibmgtsim/tests/pkey.sim.tcl b/ibmgtsim/tests/pkey.sim.tcl
new file mode 100644
index 0000000..0f90696
--- /dev/null
+++ b/ibmgtsim/tests/pkey.sim.tcl
@@ -0,0 +1,395 @@
+puts "Running Simulation flow for PKey test"
+
+# Randomally assign PKey tables of 3 types:
+# Group 1 : .. 0x81
+# Group 2 : ........ 0x82 ...
+# Group 3 : ... 0x82 ... 0x81 ...
+#
+# So osmtest run from nodes of group1 should only see group1
+# Group2 should only see group 2 and group 3 should see all.
+
+# to prevent the case where randomized pkeys match (on ports
+# from different group we only randomize partial membership
+# pkeys (while the group pkeys are full)
+
+# In order to prevent cases where partial Pkey matches Full Pkey
+# we further split the space:
+# Partials are: 0x1000 - 0x7fff
+# Full are    : 0x8000 - 0x8fff
+proc getPartialMemberPkey {} {
+   return [format 0x%04x [expr int([rmRand] * 0x6fff) + 0x1000]]
+}
+
+proc getFullMemberPkey {} {
+   return [format 0x%04x [expr int([rmRand] * 0xffe) + 0x8001]]
+}
+
+# produce a random PKey containing the given pkeys
+proc getPartialMemberPkeysWithGivenPkey {numPkeys pkeys} {
+
+   # randomally select indexes for the given pkeys:
+   # fill in the result list of pkeys with random ones,
+   # also select an index for each of the given pkeys and
+   # replace the random pkey with the given one
+
+
+   # flat pkey list (no blocks)
+   set res {}
+
+   # init both lists
+   for {set i 0} {$i < $numPkeys - [llength $pkeys] } {incr i} {
+      lappend res [getPartialMemberPkey]
+   }
+
+   # select where to insert the given pkeys
+   for {set i 0} {$i < [llength $pkeys]} {incr i} {
+      set pkeyIdx [expr int([rmRand] * $numPkeys)]
+      set res [linsert $res $pkeyIdx [lindex $pkeys $i]]
+   }
+
+   # making sure:
+   for {set i 0} {$i < [llength $pkeys]} {incr i} {
+      set pk [lindex $pkeys $i]
+      set idx [lsearch $res $pk]
+      if {($idx < 0) || ($idx > $numPkeys)} {
+         puts "-E- fail to find $pk in $res idx=$idx i=$i num=$numPkeys"
+         exit 1
+      }
+   }
+   puts "-I- got random pkeys:$res"
+   # making sure:
+   for {set i 0} {$i < [llength $pkeys]} {incr i} {
+      set pk [lindex $pkeys $i]
+      set idx [lsearch $res $pk]
+      if {$idx < 0 || $idx > $numPkeys} {
+         puts "-E- fail to find $pk in $res"
+         exit 1
+      }
+   }
+   puts "-I- got random pkeys:$res"
+   return $res
+}
+
+# get a flat list of pkeys and partition into blocks:
+proc getPkeyBlocks {pkeys} {
+   set blocks {}
+   set extra {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0}
+
+   set nKeys [llength $pkeys]
+   while {$nKeys} {
+      if {$nKeys < 32} {
+         append pkeys " [lrange $extra 0 [expr 32 - $nKeys - 1]]"
+      }
+      lappend blocks [lrange $pkeys 0 31]
+      set pkeys [lrange $pkeys 32 end]
+      set nKeys [llength $pkeys]
+   }
+   return $blocks
+}
+
+# find all active HCA ports
+proc getAllActiveHCAPorts {fabric} {
+   set hcaPorts {}
+
+   # go over all nodes:
+   foreach nodeNameId [IBFabric_NodeByName_get $fabric] {
+      set node [lindex $nodeNameId 1]
+
+      # we do care about non switches only
+      if {[IBNode_type_get $node] != 1} {
+         # go over all ports:
+         for {set pn 1} {$pn <= [IBNode_numPorts_get $node]} {incr pn} {
+            set port [IBNode_getPort $node $pn]
+            if {($port != "") && ([IBPort_p_remotePort_get $port] != "")} {
+               lappend hcaPorts $port
+            }
+         }
+      }
+   }
+   return $hcaPorts
+}
+
+# prepare the three PKey groups G1 G2 abd G3
+# then randomly set the active HCA ports PKey tables
+# Note that the H-1/P1 has to have a slightly different PKey table
+# with 0xffff such that all nodes can query the SA:
+# we track the assignments in the arrays:
+# PORT_PKEY_GROUP(port) -> group
+# PORT_GROUP_PKEY_IDX(port) -> index of pkey (if set or -1)
+proc setAllHcaPortsPKeyTable {fabric} {
+   global PORT_PKEY_GROUP PORT_GROUP_PKEY_IDX
+   global GROUP_PKEY
+
+   # while setting pkeys, make sure that they are not equal
+   set pkey1 [getFullMemberPkey]
+   set pkey2 $pkey1
+   while {$pkey2 == $pkey1} {
+      set pkey2 [getFullMemberPkey]
+   }
+   set pkey3 [getPartialMemberPkey]
+
+   set G1 [list $pkey1 $pkey3]
+   set G2 [list $pkey2 $pkey3]
+   set G3 [list $pkey1 $pkey2 $pkey3]
+
+   set GROUP_PKEY(1) $pkey1
+   set GROUP_PKEY(2) $pkey2
+   set GROUP_PKEY(3) $pkey3
+
+   puts "-I- Group1 Pkeys:$G1"
+   puts "-I- Group2 Pkeys:$G2"
+   puts "-I- Group3 Pkeys:$G3"
+
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      # the H-1/P1 has a special treatment:
+      set node [IBPort_p_node_get $port]
+      if {[IBNode_name_get $node] == "H-1/U1"} {
+         set group [list 0xffff $pkey1 $pkey2]
+         set PORT_PKEY_GROUP($port) 3
+			set pkey $pkey3
+      } else {
+         # randomly select a group for this port:
+         set r [expr int([rmRand] * 3) + 1]
+         set PORT_PKEY_GROUP($port) $r
+         switch $r {
+            1 {set group $G1; set pkey $pkey1}
+            2 {set group $G2; set pkey $pkey2}
+            3 {set group $G3; set pkey $pkey3}
+            default {
+               puts "-E- How come we got $r ?"
+            }
+         }
+      }
+
+      # we need to decide how we setup the pkeys on that port:
+      set nPkeys [expr 3 + int([rmRand]*48)]
+
+      # we also need to decide if we actually setup the partition ourselves
+      # or leave it for the SM
+      set r [rmRand]
+      if {$r < 0.333} {
+         puts "-I- Set incorrect group for $node port:$portNum"
+         if {$group == $G1} {
+            set group $G2
+         } elseif {$group == $G2} {
+            set group $G3
+         } elseif {$group == $G3} {
+            set group $G1
+         }
+      } elseif {$r < 0.66} {
+         puts "-I- Set common group for $node port:$portNum"
+         set group $G3
+      } else {
+         # use the correct group
+         puts "-I- Set correct group for $node port:$portNum"
+      }
+
+      set pkeys [getPartialMemberPkeysWithGivenPkey $nPkeys $group]
+      set blocks [getPkeyBlocks $pkeys]
+
+		# we track the pkey index of the assigned pkey (or -1)
+		set PORT_GROUP_PKEY_IDX($port) [lsearch $pkeys $pkey]
+
+      set blockNum 0
+      foreach block $blocks {
+         # now set the PKey tables
+         puts "-I- PKey set $node port:$portNum block:$blockNum to:$block"
+         IBMSNode_setPKeyTblBlock sim$node $portNum $blockNum $block
+         incr blockNum
+      }
+   }
+   # all HCA active ports
+   return "Set PKeys on [array size PORT_PKEY_GROUP] ports"
+}
+
+
+# Remove 0x7fff or 0xffff from the PKey table for all HCA ports - except the SM
+proc removeDefaultPKeyFromTableForHcaPorts {fabric} {
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      # the H-1/P1 has a special treatment:
+      set node [IBPort_p_node_get $port]
+      if {[IBNode_name_get $node] == "H-1/U1"} {
+         #Do nothing - do not remove the default PKey
+      } else {
+         set ni [IBMSNode_getNodeInfo sim$node]
+         set partcap [ib_node_info_t_partition_cap_get $ni]
+         for {set blockNum 0 } {$blockNum < $partcap/32} {incr blockNum} {
+            set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockNum]
+            puts "-I- PKey get $node port:$portNum block:$blockNum to:$block"
+            #updating the block
+            for {set i 0 } {$i < 32} {incr i} {
+               if {[lindex $block $i] == 0x7fff || \
+                      [lindex $block $i] == 0xffff} {
+                  set block [lreplace $block $i $i 0]
+                  puts "-I- Removing 0x7fff or 0xffff from the PKeyTableBlock"
+               }
+            }
+            IBMSNode_setPKeyTblBlock sim$node $portNum $blockNum $block
+            puts "-I- Default PKey set for $node port:$portNum block:$blockNum to:$block"
+         }
+      }
+   }
+   # all HCA active ports
+   return "Remove Default PKey from HCA ports"
+}
+
+# Verify correct PKey index is used
+proc verifyCorrectPKeyIndexForAllHcaPorts {fabric} {
+   global PORT_PKEY_GROUP PORT_GROUP_PKEY_IDX GROUP_PKEY
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+	set anyErr 0
+
+
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+      set ni [IBMSNode_getNodeInfo sim$node]
+      set partcap [ib_node_info_t_partition_cap_get $ni]
+		set grp  $PORT_PKEY_GROUP($port)
+		set pkey $GROUP_PKEY($grp)
+
+		set pkey_idx $PORT_GROUP_PKEY_IDX($port)
+		if {$pkey_idx == -1} {
+			puts "-I- Ignoring non-definitive port [IBPort_getName $port]"
+			continue
+		}
+
+		set blockIdx [expr $pkey_idx / 32]
+		set idx [expr $pkey_idx % 32]
+
+		if {$blockIdx >= $partcap/32} {
+			puts "-E- [IBPort_getName $port] Required block $blockIdx is too high for partition cap $partcap"
+			incr anyErr
+		}
+
+		set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockIdx]
+		set bPkey [lindex $block $idx]
+		if {$bPkey != $pkey} {
+         puts "-E- [IBPort_getName $port] block:$blockIdx idx:$idx pkey:$bPkey does match required:$pkey "
+			puts "    pkeys:$block"
+         incr anyErr
+      } else {
+         puts "-I- [IBPort_getName $port] found pkey:$pkey at block:$blockIdx idx:$idx "
+		}
+   }
+   # all HCA active ports
+   return $anyErr
+}
+
+# Verify that 0x7fff or 0xffff is in the PKey table for all HCA ports
+proc verifyDefaultPKeyForAllHcaPorts {fabric} {
+   global PORT_PKEY_GROUP
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+      set ni [IBMSNode_getNodeInfo sim$node]
+      set partcap [ib_node_info_t_partition_cap_get $ni]
+      set hasDefaultPKey 0
+      for {set blockNum 0 } {$blockNum < $partcap/32} {incr blockNum} {
+         set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockNum]
+         puts "-I- [IBPort_getName $port] block:$blockNum pkeys:$block"
+         #Verifying Default PKey in the block
+         for {set i 0 } {$i < 32} {incr i} {
+            if {[lindex $block $i] == 0x7fff || \
+                   [lindex $block $i] == 0xffff } {
+               set hasDefaultPKey 1
+               break
+            }
+         }
+         if {$hasDefaultPKey == 1} {
+            break
+         }
+      }
+      if {$hasDefaultPKey == 0} {
+         puts "-E- Default PKey not found for $node port:$portNum"
+         return 1
+      }
+   }
+   # all HCA active ports
+   return 0
+}
+
+# dump out the current set of pkey tables:
+proc dumpPKeyTables {fabric} {
+	set f [open "pkeys.txt" w]
+   set hcaPorts [getAllActiveHCAPorts $fabric]
+   foreach port $hcaPorts {
+      set portNum [IBPort_num_get $port]
+      set node [IBPort_p_node_get $port]
+		set name [IBPort_getName $port]
+      set ni [IBMSNode_getNodeInfo sim$node]
+      set partcap [ib_node_info_t_partition_cap_get $ni]
+		puts $f "PORT: $name  PartCap:$partcap"
+      for {set blockNum 0 } {$blockNum < $partcap/32} {incr blockNum} {
+         set block [IBMSNode_getPKeyTblBlock sim$node $portNum $blockNum]
+         puts $f "BLOCK:$blockNum pkeys:$block"
+		}
+		puts " "
+	}
+	close $f
+	return "Dumped pkeys into:pkeys.txt"
+}
+
+# set the change bit on one of the switches:
+proc setOneSwitchChangeBit {fabric} {
+   set allNodes [IBFabric_NodeByName_get $fabric]
+   foreach nameNNode $allNodes {
+      set node [lindex $nameNNode 1]
+      #if Switch
+      if {[IBNode_type_get $node] == 1} {
+			set numPorts [IBNode_numPorts_get $node]
+			for {set pn 1} {$pn <= $numPorts} {incr pn} {
+				set pi [IBMSNode_getPortInfo sim$node $pn]
+				set old [ib_port_info_t_state_info1_get $pi]
+				set new [expr ($old & 0xf0) | 0x2]
+				ib_port_info_t_state_info1_set $pi $new
+			}
+
+         set swi [IBMSNode_getSwitchInfo sim$node]
+         set lifeState [ib_switch_info_t_life_state_get $swi]
+         set lifeState [expr ($lifeState & 0xf8) | 4 ]
+         ib_switch_info_t_life_state_set $swi $lifeState
+         puts "-I- Set change bit on switch:$node"
+         return "-I- Set change bit and INIT all ports on switch:$node"
+      }
+   }
+   return "-E- Fail to set any change bit. Could not find a switch"
+}
+
+# Validate the inventory generated from a particular node
+# matches the partition. Return number of errors. 0 is OK.
+proc validateOsmTestInventory {queryNode fileName} {
+   global PORT_PKEY_GROUP
+}
+
+# Dump out the HCA ports and their groups:
+proc dumpHcaPKeyGroupFile {simDir} {
+   global PORT_PKEY_GROUP
+   global GROUP_PKEY
+	global PORT_GROUP_PKEY_IDX
+
+   set fn [file join $simDir "port_pkey_groups.txt"]
+   set f [open $fn w]
+
+   foreach port [array names PORT_PKEY_GROUP] {
+      set node [IBPort_p_node_get $port]
+      set sys  [IBNode_p_system_get $node]
+      set num  [IBPort_num_get $port]
+      set name [IBSystem_name_get $sys]
+      set guid [IBPort_guid_get $port]
+      set grp  $PORT_PKEY_GROUP($port)
+      set pkey $GROUP_PKEY($grp)
+		set idx  $PORT_GROUP_PKEY_IDX($port)
+      puts $f "$name $num $grp $guid $pkey"
+   }
+   close $f
+   return "Dumpped Group info into:$fn"
+}
+
+set fabric [IBMgtSimulator getFabric]
diff --git a/ibmgtsim/utils/IBMgtSim b/ibmgtsim/utils/IBMgtSim
new file mode 100644
index 0000000..0ab02cf
--- /dev/null
+++ b/ibmgtsim/utils/IBMgtSim
@@ -0,0 +1,471 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+   exec ibmssh "$0" "$@"
+
+#--
+# Copyright (c) 2004 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.
+#
+#############################################################################
+# Id ..........$Id$
+# Revision.....$Revision: 1.6 $
+# Date.........$Date: 2005/06/22 06:13:51 $
+# Author.......$Author: eitan $
+#EOH#########################################################################
+
+set ToolUsage {[-h] [-V mod-verb-pair-list] [-l log-file] [-p server-port] [-w num-threads] [-f flow-tcl-file] [-s seed] -t topology}
+
+set ToolUsage "Usage: $argv0 $ToolUsage"
+
+set version "1.0"
+
+proc Usage {} {
+   global ToolUsage
+
+   puts "$ToolUsage"
+}
+
+##############################################################################
+
+proc Help {} {
+   global ToolUsage
+   global version
+
+   puts "
+        Infiniband Management Simulator
+       ---------------------------------
+
+ $ToolUsage
+
+ Simulates the Fabric as defined by the given topology file and
+ start a server to handle MAD requests from clients like OpenSM.
+
+ Command Line Arguments (required):
+   -t topology = a topology file describing the fabric.
+
+ Command Line Options:
+   -s seed = the seed to be used for random number generation.
+   -f flow-tcl-file = a tcl file to be sourced after the fabric is setup.
+   -l log-file = set the log file of the simulator (default is /tmp/ibsim.log)
+   -p server-port = set the port number the server attaches to (default 46517)
+   -w num-threads = the number of threads processing the mads
+   -V <module-verbosity-pair-list> = Provides a fine grain control over
+      the log file verbosity. Given list of pairs of simulator software
+      module names and their verbosity levels - every module is separatly
+      controlled. The first value (missing module name) is controlling the
+      default verbosity for all un-explicitly set modules.
+      Current Verbosity Levels:            Software Modules:
+      MsgShowFatal  = 0x01;                client, server
+      MsgShowError  = 0x02;                dispatcher, node, sma
+      MsgShowWarning= 0x04;                simnode, lftMad, mftMad,
+      MsgShowInfo   = 0x08;                sl2VlMad, vlArbMad, pKeyMad,
+      MsgShowVerbose= 0x10;                portInfoMad
+      MsgShowContext= 0x20;
+      MsgShowSource = 0x40;
+      MsgShowTime   = 0x80;
+      MsgShowModule = 0x100;
+      MsgShowMads   = 0x200;
+      MsgShowFrames = 0x400;
+      MsgShowAll    = 0xffff;
+      MsgDefault    = 0x62f;
+
+     Examples -V flag values might be:
+     -V 0xffff = Full verbosity on all modules
+     -V '0x3 server 0x6f2 sma 0xffff' = Only fatal and error for all modules
+        full verbosity for the SMA module and default verbosity for the Server
+        module.
+
+   -h - help.
+
+$version
+
+  "
+}
+
+##############################################################################
+#
+# Get a TS port guid string of the format 0000:ffff:1111:2222
+#
+proc getPortGuidStr {guid} {
+   set guidRex \
+      "0x(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})"
+   if {![regexp $guidRex $guid d1 n1 n2 n3 n4]} {
+      error "Bad guid format:$guid"
+   }
+   return "$n1:$n2:$n3:$n4"
+}
+
+##############################################################################
+#
+# Update Node Information file for the given node
+#
+proc updateProcFSForNode {fabric simDir nodeName smNodeName smPortNum} {
+   # obtain the node
+   set node [IBFabric_getNode $fabric $nodeName]
+   if {$node == ""} {
+      puts "-E- Fail to find node $nodeName"
+      return 1
+   }
+
+   if {[IBNode_type_get $node] == 1} {
+      puts "-E- Can not create proc file for switch node:$nodeName"
+      return 1
+   }
+
+   # obtain the SM port
+   set smNode [IBFabric_getNode $fabric $smNodeName]
+   if {$smNode == ""} {
+      puts "-E- Fail to find SM node $smNodeName"
+      return 1
+   }
+
+   set smPort [IBNode_getPort $smNode $smPortNum]
+   if {$smPort == ""} {
+      puts "-E- Fail to find SM node $smNodeName port $smPortNum"
+      return 1
+   }
+
+   if {![regexp {^([^/]+)/U([0-9]+)$} $nodeName d1 sysName caNum]} {
+      puts "-E- Node name too complex $nodeName"
+      return 1
+   }
+
+   set caName "ca$caNum"
+   set ng [IBNode_guid_get $node]
+   set nodeGuidStr [getPortGuidStr $ng]
+   set smLid [IBPort_base_lid_get $smPort]
+
+   # Create the node dir
+   file mkdir [file join $simDir $sysName $caName]
+
+   # Node Info
+   set of [open [file join $simDir $sysName $caName info] w]
+   puts $of "name:          InfiniHost0
+provider:      tavor
+node GUID:     $nodeGuidStr
+ports:         2
+vendor ID:     0x2c9
+device ID:     0x5a44
+HW revision:   0xa1
+FW revision:   0x300020002
+"
+   close $of
+
+   # do the ports:
+   foreach pn {1 2} {
+      set port [IBNode_getPort $node $pn]
+      if {$pn != ""} {
+         set pg [IBPort_guid_get $port]
+
+         # the port guid we need should look like 0000:0000:0000:0000
+         set portGuidStr [getPortGuidStr $pg]
+         set lid [IBPort_base_lid_get $port]
+
+         # Port1
+         file mkdir [file join $simDir $sysName $caName port$pn]
+
+         # port info
+         set of [open [file join $simDir $sysName $caName port$pn info] w]
+         puts $of "state:         ACTIVE
+LID:           [format 0x%04x $lid]
+LMC:           0x0000
+SM LID:        [format 0x%04x $smLid]
+SM SL:         0x0000
+Capabilities:  IsTrapSupported
+               IsAutomaticMigrationSupported
+               IsSLMappingSupported
+               IsLEDInfoSupported
+               IsSystemImageGUIDSupported
+               IsVendorClassSupported
+               IsCapabilityMaskNoticeSupported
+"
+
+         close $of
+
+         set of [open [file join $simDir $sysName $caName port$pn pkey_table] w]
+         puts $of {[  0] ffff}
+         close $of
+
+         set of [open [file join $simDir $sysName $caName port$pn gid_table] w]
+         puts $of "\[  0\] fe80:0000:0000:0000:$portGuidStr"
+         close $of
+      }
+   }
+   return 0
+}
+
+##############################################################################
+#
+# Start Control Server = allowing TCL evaluation in the simulator shell.
+#
+
+# Procedure called whenever a new connection is made by a client.
+proc on_connect {newsock clientAddress clientPort} {
+   global endOfVwait
+
+   puts "-I- Connecting: $newsock $clientAddress $clientPort"
+   fconfigure $newsock -blocking 0 -buffering line
+   fileevent $newsock readable [list handleInput $newsock]
+}
+
+# Procedure called whenever input arrives on a connection.
+proc handleInput {f} {
+   global endOfVwait
+   global errorInfo
+   if {[eof $f]} {
+      fileevent $f readable {}
+      close $f
+      return
+   }
+
+   set i [read $f]
+   puts -nonewline $i
+   if {[catch {set res [uplevel $i]} e]} {
+      puts "-E- $e"
+      set res "error: $errorInfo"
+   }
+   puts $f $res
+}
+
+proc startControlServer {} {
+   global env
+   set fn [file join $env(IBMGTSIM_DIR) ibmgtsim.ctrl.server]
+
+   if {[catch {set f [open $fn "w"]} e]} {
+      puts "-E- $e"
+      return 1
+   }
+
+   # invent a port
+   set num [expr int(rand()*(65535-1024)+1024)]
+   set counter 0
+   while {[catch {socket -server on_connect $num}]} {
+      set num [expr int(rand()*(65535-1024)+1024)]
+      incr counter
+      if {$counter > 10 } {
+         puts "can't create a server"
+         close $f
+         return 1
+      }
+   }
+   set hostName [info hostname]
+   puts "-I- Started server: $hostName port:$num"
+   puts $f "$hostName $num"
+   close $f
+}
+
+##############################################################################
+#
+# Get Opt
+#
+set optind 0
+
+proc getopt { argslist optstring optret argret } {
+   global optind optindc
+   upvar $optret retvar
+   upvar $argret optarg
+
+   # default settings for a normal return
+   set optarg ""
+   set retvar ""
+   set retval 0
+
+   # check if we are in a single char mode or support long
+   # option string
+   if {[string match "* *" $optstring]} {
+      set longOptMode 1
+   } else {
+      set longOptMode 0
+   }
+
+   # check if we're past the end of the args list
+   if { $optind < [ llength $argslist ] } then {
+
+      # if we got -- or an option that doesn't begin with -, return (skipping
+      # the --).  otherwise process the option arg.
+      switch -glob -- [ set arg [ lindex $argslist $optind ]] {
+         "--" {
+            incr optind
+         }
+
+         "-*" {
+            # opt needs to return the name of the option
+            regexp -- {-([^:]+):?} $arg d1 opt
+            incr optind
+
+            if {$longOptMode} {
+               # options are defined as words optionaly containing ":"
+               if { [ lsearch -regexp $optstring "^$opt:?\$" ] >= 0 } then {
+                  set retvar $opt
+                  set retval 1
+                  if { [ lsearch -regexp $optstring "^$opt:\$" ] >= 0 } then {
+                     if { $optind < [ llength $argslist ] } then {
+                        set optarg [lindex $argslist $optind]
+                        incr optind
+                     } else {
+                        set optarg "Option requires an argument -- $opt"
+                        set retvar $optarg
+                        set retval -1
+                     }
+                  }
+               } else {
+                  set optarg "Illegal option -- $opt"
+                  set retvar $optarg
+                  set retval -1
+               }
+            } else {
+               # traditional single char options
+               if { [ string match "*$opt*" $optstring ] } then {
+                  set retvar $opt
+                  set retval 1
+                  if { [ string match "*$opt:*" $optstring ] } then {
+                     if { $optind < [ llength $argslist ] } then {
+                        set optarg [lindex $argslist $optind]
+                        incr optind
+                     } else {
+                        set optarg "Option requires an argument -- $opt"
+                        set retvar $optarg
+                        set retval -1
+                     }
+                  }
+               } else {
+                  set optarg "Illegal option -- $opt"
+                  set retvar $optarg
+                  set retval -1
+               }
+            }
+         }
+      }
+   }
+   return $retval
+}
+
+##############################################################################
+#
+# MAIN FLOW:
+#
+
+set moduleVerbosityList {top 0xA7}
+set logFileName /tmp/ibsim.log
+set numWorkerThreads 1
+set serverPortNum 46517
+set simulationFlowFile ""
+set topologyFile ""
+set randomSeed [expr int(rand() * 100000)]
+
+while { [ set err [ getopt $argv "hvV:l:p:w:f:t:s:" opt arg ]] } {
+   if { $err < 0 } then {
+      Usage
+      exit 2
+   } else {
+      switch -exact $opt {
+         h {Help; exit 0}
+         v {puts "";puts $version; puts ""; exit 0}
+         V {
+            set moduleVerbosityList "top $arg"
+         }
+         p {set serverPortNum $arg}
+         l {set logFileName $arg}
+         w {set numWorkerThreads $arg}
+         f {set simulationFlowFile $arg}
+         t {set topologyFile $arg}
+         s {set randomSeed $arg}
+         default {
+            puts "-E- Unsupported option:$opt"
+            puts $ToolUsage
+            exit 1
+         }
+      }
+   }
+}
+
+# make sure we got a topology:
+if {$topologyFile == ""} {
+   puts "-E- Missing mandatory flag -t. Topology file was not defined."
+   Usage
+   exit
+}
+
+# handle extra args
+set left_args [ lrange $argv $optind end ]
+if {[llength $left_args]} {
+   puts "-E- illegal parameter(s) used : $left_args"
+   Usage
+   exit 1
+}
+
+# We can start ...
+MsgMgr setLogFile $logFileName
+
+puts "-I- Using random seed:$randomSeed"
+rmSeed $randomSeed
+
+# Handle Module Verbosity:
+foreach {mod verb} $moduleVerbosityList {
+   # check if second item is a number
+   if {[catch {format %x $verb}]} {
+      puts "-E- Provided verbosity:$verb for module: $mod is not a number."
+   } else {
+      if {$mod == "top"} {
+         MsgMgr setVerbLevel $verb
+      } else {
+         MsgMgr setVerbLevel $verb $mod
+      }
+   }
+}
+
+# Init the simulator
+if {[catch {IBMgtSimulator init $topologyFile $serverPortNum $numWorkerThreads} e]} {
+   puts "-E- Fail to initialize the simulator:$e"
+   exit
+}
+
+set fabric [IBMgtSimulator getFabric]
+puts "-I- Init fabric: $fabric"
+# start the control server:
+startControlServer
+
+puts "-I- Ready to serve"
+
+# Source any code that might be provided
+if {$simulationFlowFile != ""} {
+   if {[catch {source $simulationFlowFile} e]} {
+      puts "-E- Error loading $simulationFlowFile"
+      puts "    $e"
+      exit
+   }
+}
+
+set done 0
+catch {vwait done}
+while {!$done} {
+   after 30000
+}
+
diff --git a/ibmgtsim/utils/LICENSE.txt b/ibmgtsim/utils/LICENSE.txt
new file mode 100644
index 0000000..d20061e
--- /dev/null
+++ b/ibmgtsim/utils/LICENSE.txt
@@ -0,0 +1,32 @@
+
+ Copyright (c) 2004 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/ibmgtsim/utils/Makefile.am b/ibmgtsim/utils/Makefile.am
new file mode 100644
index 0000000..fbe51ab
--- /dev/null
+++ b/ibmgtsim/utils/Makefile.am
@@ -0,0 +1,39 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+# We only want to distriute these files
+bin_SCRIPTS = mkSimNodeDir IBMgtSim RunSimTest
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = mkSimNodeDir IBMgtSim RunSimTest fixSwigWrapper
diff --git a/ibmgtsim/utils/Makefile.in b/ibmgtsim/utils/Makefile.in
new file mode 100644
index 0000000..1df3998
--- /dev/null
+++ b/ibmgtsim/utils/Makefile.in
@@ -0,0 +1,406 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = utils
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ibdm.m4 \
+	$(top_srcdir)/config/osm.m4 $(top_srcdir)/config/swig.m4 \
+	$(top_srcdir)/config/tcl.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG_FALSE = @DEBUG_FALSE@
+DEBUG_TRUE = @DEBUG_TRUE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+HAS_SWIG_FALSE = @HAS_SWIG_FALSE@
+HAS_SWIG_TRUE = @HAS_SWIG_TRUE@
+IBDM_REF_IS_USED_FALSE = @IBDM_REF_IS_USED_FALSE@
+IBDM_REF_IS_USED_TRUE = @IBDM_REF_IS_USED_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OSM_BUILD = @OSM_BUILD@
+OSM_BUILD_OPENIB_FALSE = @OSM_BUILD_OPENIB_FALSE@
+OSM_BUILD_OPENIB_TRUE = @OSM_BUILD_OPENIB_TRUE@
+OSM_CFLAGS = @OSM_CFLAGS@
+OSM_LDFLAGS = @OSM_LDFLAGS@
+OSM_VENDOR = @OSM_VENDOR@
+OSM_VENDOR_MTL_FALSE = @OSM_VENDOR_MTL_FALSE@
+OSM_VENDOR_MTL_TRUE = @OSM_VENDOR_MTL_TRUE@
+OSM_VENDOR_SIM_FALSE = @OSM_VENDOR_SIM_FALSE@
+OSM_VENDOR_SIM_TRUE = @OSM_VENDOR_SIM_TRUE@
+OSM_VENDOR_TS_FALSE = @OSM_VENDOR_TS_FALSE@
+OSM_VENDOR_TS_TRUE = @OSM_VENDOR_TS_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SWIG = @SWIG@
+SWIG_LIB = @SWIG_LIB@
+TCLSH = @TCLSH@
+TCL_CPPFLAGS = @TCL_CPPFLAGS@
+TCL_DEFS = @TCL_DEFS@
+TCL_LIBS = @TCL_LIBS@
+TCL_PREFIX = @TCL_PREFIX@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+with_ibdm = @with_ibdm@
+with_osm = @with_osm@
+
+# We only want to distriute these files
+bin_SCRIPTS = mkSimNodeDir IBMgtSim RunSimTest
+
+# The only way to add to the dist is using this one...
+EXTRA_DIST = mkSimNodeDir IBMgtSim RunSimTest fixSwigWrapper
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  utils/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  utils/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binSCRIPTS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binSCRIPTS install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-binSCRIPTS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ibmgtsim/utils/RunSimTest b/ibmgtsim/utils/RunSimTest
new file mode 100755
index 0000000..13798ad
--- /dev/null
+++ b/ibmgtsim/utils/RunSimTest
@@ -0,0 +1,844 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+exec ibmssh "$0" "$@"
+
+#--
+# Copyright (c) 2004 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.
+#
+#############################################################################
+# Id ..........$Id$
+# Revision.....$Revision: 1.11 $
+# Date.........$Date: 2005/07/05 07:07:37 $
+# Author.......$Author: eitan $
+#EOH#########################################################################
+
+set ToolUsage {[-h] [-o osm-path][-f flow-file][-c checker-file] -t topology [-n osm-node-name][-p osm-port-num][-s seed][-V verbosity-list]}
+
+set ToolUsage "Usage: $argv0 $ToolUsage"
+
+set version "1.0"
+
+proc Usage {} {
+	global ToolUsage
+
+	puts "$ToolUsage"
+}
+
+##############################################################################
+
+proc Help {} {
+	global ToolUsage
+	global version
+
+	puts "
+         Tests over the Simulator
+        --------------------------
+
+  $ToolUsage
+
+  The test flow starts the simulator and runs the the given test flow
+  on top of it. Then it runs the test flow. The default test flow starts
+  OpenSM and wait for Subnet-Up event. User given flow can make use of the
+  provided facilities for starting OpenSM and tracking it events.
+
+  Command Line Arguments (required):
+    -t topology = a topology file describing the fabric.
+
+  Command Line Options:
+   -f flow-file = a tcl file sourced by the sim after the fabric is setup.
+      See following discussion about the provided API and global variables
+      that are available for the flow.
+   -c checker-file = a tcl file defining when osm completed and what
+      checks are requierd to validate it's outputs. The procedure named
+      'checker' is invoked by the test flow to start the checking flow.
+      (the default flow waits for OpenSM to complete setup the fabric and
+      run ibdmchk).
+
+   -o osm-path = Full path to OpenSM (/usr/mellanox/osm-sim/bin/opensm).
+   -n osm-node = Topology file node name the SM runs on (default H-1/U1).
+   -p port-num = Port number the SM attaches to (default 1).
+   -s seed = random seed to be used.
+   -V verbosity-list = module verbosity list. The first should be the global
+      verbosity. See IBMgtSim for full list of modules.
+      Examples:
+       -V 0xffff = Full verbosity on all modules
+       -V '\"0x3 server 0x6f2 sma 0xffff\"' = Only fatal and error
+           for all modules full verbosity for the SMA module and default
+           verbosity for the Server module.
+
+   -h - help.
+
+
+  Provided and Required Flow file API:
+  ------------------------------------
+
+  Several utilities are provided by this main test running utility:
+
+  1. startOsmLogAnalyzer <osmLogFileName>
+     starts a tracker and analyzer of the OpenSM log file provided.
+     The tracker will invoke callbacks registered in the global variable:
+     osmLogCallbacks(<osmLogFileName>)
+
+  2. waitForOsmEvent <eventsVarName> <lastEventLogLenVarName> <osmLogFileName>
+     This is a
+
+ $version
+
+	"
+}
+
+##############################################################################
+#
+# OpenSM log file analyzer
+#
+# Continuously monitor the OpenSM log file and generate a log of all the
+# events reported in the log file.
+#
+# On any event - it scans through the list of callbacks to be invoked
+# and calls them acordingly. The list of callabcks is in osmLogCallbacks(logFile)
+#
+# The log of all events is accumulated in the global list:
+# osmEventLog(logFile)
+#
+# The format of the event log list entry is:
+# <eventType> <time> <full line>
+#
+# <eventType> = SubnetUp, Standby, ERR, ErrorsInInitialization, ReportNoice, ....
+# <time> = the local time in tracker.
+# <full line> = the complete log file line.
+#
+
+proc startOsmLogAnalyzer {logFileName} {
+   global osmEventLog osmTrackerPipes osmSubProcessIds
+
+   # clear the log
+   set osmEventLog($logFileName) {}
+
+   # Open Up the OpenSM Log file
+   set logFile [open "| tail -F $logFileName" r+]
+   lappend osmTrackerPipes $logFile
+   lappend osmSubProcessIds [pid $logFile]
+
+   fconfigure $logFile -buffering none -blocking 0
+   fileevent $logFile readable [list osmLogAnalyzerEvent $logFile $logFileName]
+}
+
+proc osmLogAnalyzerEvent {logFile logFileName} {
+   global osmEventLog osmLogCallbacks
+
+   if {[eof $logFile]} {
+      puts "-I- EOF on OpenSM Pipe"
+      fileevent $logFile readable {}
+      close $logFile
+      return
+   }
+
+   # actually read and analyze
+   while {[gets $logFile sLine] >= 0} {
+      set event ""
+      if {[regexp -- {-[>] SUBNET UP} $sLine]} {
+         set event SubnetUp
+         set data {}
+      } elseif {[regexp { ERR } $sLine]} {
+         set event ERR
+         set data $sLine
+      } elseif {[regexp {STANDBY} $sLine]} {
+         set event STANDBY
+         set data {}
+      }
+
+      if {$event != ""} {
+         puts "-I- OpenSM Event:$event $data"
+         lappend osmEventLog($logFileName) [list $event [clock seconds] $sLine]
+
+         if {[info exists osmLogCallbacks($logFileName)]} {
+            foreach cb $osmLogCallbacks($logFileName) {
+               if {[catch {eval "$cb"} e]} {
+                  puts $errorInfo
+               }
+            }
+         }
+      }
+   }
+}
+
+proc waitForOsmEvent {eventsVarName lastEventLogLenVarName logFile} {
+   global osmEventLog osmLogCallbacks
+
+   upvar #0 $lastEventLogLenVarName lastEventLogLen
+   upvar #0 $eventsVarName events
+
+   if {[llength $osmEventLog($logFile)] > $lastEventLogLen} {
+      set prevLen $lastEventLogLen
+      set lastEventLogLen [llength $osmEventLog($logFile)]
+      puts "-I- New [expr $lastEventLogLen - $prevLen] events of $logFile"
+      set events [lrange $osmEventLog($logFile) $prevLen end]
+      return
+   }
+   puts "-I- No new event or $logFile"
+   set events {}
+   return
+}
+
+# wait for the SM with the given log to be either dead or in subnet up
+proc osmWaitForUpOrDead {osmLog {ignorePrev 0}} {
+   global osmUpOrDeadEvents osmUpOrDeadLogLen
+   global osmLogCallbacks
+
+   # wait for OpenSM to complete setting up the fabric
+   if {![info exists osmUpOrDeadLogLen] || $ignorePrev} {
+		set osmUpOrDeadLogLen 0
+		set osmUpOrDeadEvents {}
+	}
+
+   set osmLogCallbacks($osmLog) \
+      "{waitForOsmEvent osmUpOrDeadEvents osmUpOrDeadLogLen $osmLog}"
+
+   puts "-I- Waiting for OpenSM subnet up ..."
+   set done 0
+   while {$done == 0} {
+      foreach event $osmUpOrDeadEvents {
+         if {[lindex $event 0] == "exit"} {
+            set exitCode 1
+            set done 1
+         } elseif {[lindex $event 0] == "SubnetUp"} {
+            set done 1
+            set exitCode 0
+         }
+      }
+		set osmUpOrDeadEvents {}
+		if {$done != 0} {return $exitCode}
+      vwait osmUpOrDeadEvents
+   }
+   return $exitCode
+}
+
+# wait for the SM with the given log to be either dead or in subnet up
+# also support
+proc osmWaitForUpOrDeadWithTimeout {osmLog timeout_ms {ignorePrev 0}} {
+   global osmUpOrDeadEvents osmUpOrDeadLogLen
+   global osmLogCallbacks
+
+   # wait for OpenSM to complete setting up the fabric
+   if {![info exists osmUpOrDeadLogLen] || $ignorePrev} {
+		set osmUpOrDeadLogLen 0
+		set osmUpOrDeadEvents {}
+	}
+
+   set osmLogCallbacks($osmLog) \
+      "{waitForOsmEvent osmUpOrDeadEvents osmUpOrDeadLogLen $osmLog}"
+
+   after $timeout_ms [list set osmUpOrDeadEvents {timeout 0 {}}]
+   puts "-I- Waiting for OpenSM subnet up ..."
+   set done 0
+   while {$done == 0} {
+      vwait osmUpOrDeadEvents
+      foreach event $osmUpOrDeadEvents {
+         if {[lindex $event 0] == "exit"} {
+				puts "-E- OpenSM exit event"
+            set exitCode 1
+            set done 1
+         } elseif {[lindex $event 0] == "timeout"} {
+				puts "-E- Exiting on timeout after $timeout_ms msec"
+            set exitCode 1
+            set done 1
+         } elseif {[lindex $event 0] == "SubnetUp"} {
+            set done 1
+            set exitCode 0
+         }
+      }
+   }
+   return $exitCode
+}
+
+proc osmTrackProcess {osmPId logFile} {
+   global osmEventLog osmLogCallbacks
+
+   # wait for OpenSM to exit
+   set isAlive 0
+   catch {set isAlive [exec ps -p $osmPId | wc -l]}
+   if {$isAlive < 2}  {
+
+      puts "-I- OpenSM with log:$logFile died"
+
+      lappend osmEventLog($logFile) [list exit [clock seconds] none]
+
+      if {[info exists osmLogCallbacks($logFile)]} {
+         foreach cb $osmLogCallbacks($logFile) {
+            eval $cb
+         }
+      }
+   } else {
+      after 1200 [list osmTrackProcess $osmPId $logFile]
+   }
+}
+
+##############################################################################
+#
+# Start up the test applications
+# This is the default flow that will start OpenSM only in 0x43 verbosity
+# Return a list of process ids it started (to be killed on exit)
+#
+proc runner {simDir osmPath osmPortGuid} {
+   set osmStdOutLog [file join $simDir osm.stdout.log]
+   set osmLog [file join $simDir osm.log]
+
+   puts "-I- Starting: $osmPath -D 0x43 -g $osmPortGuid  ..."
+   set osmPId [exec $osmPath -D 0x43 -f $osmLog -g $osmPortGuid > $osmStdOutLog &]
+
+   # start a tracker on the log file and process:
+   startOsmLogAnalyzer $osmLog
+
+   after 1000 [list osmTrackProcess $osmPId $osmLog]
+
+   return $osmPId
+}
+
+##############################################################################
+#
+# Check for the test results
+# Return the exit code
+proc checker {simDir osmPath osmPortGuid} {
+
+   set ibdmchkLog [file join $simDir ibdmchk.log]
+
+   set osmLog [file join $simDir osm.log]
+   set exitCode [osmWaitForUpOrDead $osmLog]
+   set subnetFile [file join $simDir subnet.lst]
+   set fdbsFile [file join $simDir osm.fdbs]
+   set mcfdbsFile [file join $simDir osm.mcfdbs]
+   set cmd "ibdmchk -s $subnetFile -f $fdbsFile -m $mcfdbsFile"
+   if {$exitCode == 0} {
+      if {[catch {set res [eval "exec $cmd > $ibdmchkLog"]} e]} {
+         puts $e
+         set exitCode 1
+      } else {
+         puts "-I- ibdmchk completed successfuly"
+         set exitCode 0
+      }
+   }
+   return $exitCode
+}
+
+##############################################################################
+#
+# Exit the test flow killing OpenSM and the Simulator
+#
+proc exitTestFlow {pidList simPipeId exitCode} {
+   global simDir tmpDir
+   global simCtrlSock osmTrackerPipes
+
+   puts "-I- Closing SIM ... "
+   catch {
+      puts $simCtrlSock "puts {exiting from remote}"
+      puts $simCtrlSock "exit"
+   }
+
+   puts "-I- Closing Sub Processes ... "
+   foreach pId $pidList {
+      catch {exec kill -9 $pId}
+   }
+
+   catch {
+      set subProcesses [exec ps --ppid [pid] -o pid]
+      foreach p $subProcesses {
+         catch {exec kill $p}
+      }
+    }
+
+   after 5000
+   puts "-I- Closing Pipes ..."
+   foreach logPipe [array names osmTrackerPipes] {
+      catch {fileevent $logPipe readable {}; close $logPipe}
+   }
+
+   puts "-I- Status = $exitCode"
+   if {$exitCode == 0} {
+      exec rm -rf $simDir
+   } else {
+      puts "-I- Simulation dir left intact:$simDir"
+   }
+   exit $exitCode
+}
+
+##############################################################################
+#
+# Wait for the simulator to report it is ready to serve
+#
+proc waitForSimReady {pipeId} {
+   while {[gets $pipeId sLine] >= 0} {
+      if {$sLine == "-I- Ready to serve"} {
+         puts "-I- Simulator Ready"
+         return 1
+      }
+   }
+   error "Simulator died"
+}
+
+##############################################################################
+#
+# Connect to the simulator control server
+#
+# define the global simCtrlSock
+proc connToSimControlServer {simDir} {
+   global simCtrlSock
+   set simCtrlFile [file join $simDir ibmgtsim.ctrl.server]
+   if {![file readable $simCtrlFile]} {
+      error "-E- No control server file found"
+   }
+
+   set f [open $simCtrlFile r]
+   gets $f sLine
+   if {[llength $sLine] != 2} {
+      error "-E- Bad format for $simCtrlFile got:$sLine"
+   }
+   close $f
+
+   set srvHost [lindex $sLine 0]
+   set srvPort [lindex $sLine 1]
+
+   puts "-I- Connecting to the simulator control server:$srvHost port:$srvPort "
+   set simCtrlSock [socket $srvHost $srvPort]
+   puts "-I- Connected to the simulator control server"
+   fconfigure $simCtrlSock -buffering line -blocking 1
+
+   return $simCtrlSock
+}
+
+##############################################################################
+#
+# Obtain the first node info
+#
+proc getSMNodeInfo {simDir nodeName} {
+   global getSMNodeInfo_DB
+
+   if {![info exists getSMNodeInfo_DB]} {
+      # open up the ibmgtsim.guids.txt
+      set f [open [file join $simDir ibmgtsim.guids.txt]]
+      set lineNum 0
+      set autoLid 0
+      while {[gets $f sLine] >= 0 } {
+         incr lineNum
+         if {[regexp {^NODE\s+(\S+)/U[0-9]\s+(\S+)} $sLine d1 n ng]} {
+            set getSMNodeInfo_DB($n) $ng
+         } elseif {[regexp {^PORT\s+(\S+)/P([0-9]+)\s+(\S+)} $sLine d1 n p pg]} {
+            set getSMNodeInfo_DB($n/P$p) [list $pg [incr autoLid]]
+         }
+      }
+      close $f
+
+      puts "-I- Defined [llength [array names getSMNodeInfo_DB]] guids"
+   }
+
+   # first look for the node name:
+   if {![info exists getSMNodeInfo_DB($nodeName)]} {
+      error "Fail to find any info about node:$nodeName"
+   }
+
+   # return the node guid
+   set res $getSMNodeInfo_DB($nodeName)
+
+   # followed by each port guid and lid:
+   foreach portName [lsort [array names getSMNodeInfo_DB $nodeName/P*]] {
+      lappend res $getSMNodeInfo_DB($portName)
+   }
+   return $res
+}
+
+##############################################################################
+#
+# Get a TS port guid string of the format 0000:ffff:1111:2222
+#
+proc getPortGuidStr {guid} {
+   set guidRex \
+      "0x(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})(\[0-9a-fA-F\]{4})"
+   if {![regexp $guidRex $guid d1 n1 n2 n3 n4]} {
+      error "Bad guid format:$guid"
+   }
+   return "$n1:$n2:$n3:$n4"
+}
+
+##############################################################################
+#
+# Make a proc file system for the given node. Return the port GUID
+#
+proc makeProcFSForNode {simDir nodeName {portNum 0} {portLid 0}} {
+   set thePortGuid 0
+   set nodeData [getSMNodeInfo $simDir $nodeName]
+
+   puts "-I- Node $nodeName data: $nodeData"
+
+   set ng [lindex $nodeData 0]
+   set nodeGuidStr [getPortGuidStr $ng]
+
+   # we use the index into the nodeData...
+   if {$portNum == 0} {
+      set portNum 1
+   }
+
+   # double check :
+   if {[llength $nodeData] < 2} {
+      error "expected 2 ports definition for HCA $nodeData"
+   }
+
+   # Create the node dir
+   file mkdir [file join $simDir $nodeName ca1]
+
+   # Node Info
+   set of [open [file join $simDir $nodeName ca1 info] w]
+   puts $of "name:          InfiniHost0
+provider:      tavor
+node GUID:     $nodeGuidStr
+ports:         2
+vendor ID:     0x2c9
+device ID:     0x5a44
+HW revision:   0xa1
+FW revision:   0x300020002
+"
+   close $of
+
+   # do the ports:
+   foreach portIdx {1 2} {
+      set portData [lindex $nodeData $portIdx]
+      set pg [lindex $portData 0]
+
+      # the port guid we need should look like 0000:0000:0000:0000
+      set portGuidStr [getPortGuidStr $pg]
+
+      set lid [lindex $portData 1]
+
+      # use the given lid for the port
+      if {$portNum == $portIdx} {
+         set thePortGuid $pg
+
+         if {$portLid != 0} {
+            set lid $portLid
+         }
+      }
+
+      # Port1
+      file mkdir [file join $simDir $nodeName ca1 port$portIdx]
+
+      # port info
+      set of [open [file join $simDir $nodeName ca1 port$portIdx info] w]
+      puts $of "state:         INIT
+LID:           [format 0x%04x $lid]
+LMC:           0x0000
+SM LID:        0x0001
+SM SL:         0x0000
+Capabilities:  IsTrapSupported
+               IsAutomaticMigrationSupported
+               IsSLMappingSupported
+               IsLEDInfoSupported
+               IsSystemImageGUIDSupported
+               IsVendorClassSupported
+               IsCapabilityMaskNoticeSupported
+"
+
+      close $of
+
+      set of [open [file join $simDir $nodeName ca1 port$portIdx pkey_table] w]
+      puts $of {[  0] ffff}
+      close $of
+
+      set of [open [file join $simDir $nodeName ca1 port$portIdx gid_table] w]
+      puts $of "\[  0\] fe80:0000:0000:0000:$portGuidStr"
+      close $of
+   }
+   return $thePortGuid
+}
+
+##############################################################################
+#
+# Get LD_PRELOAD to overcome /lib/tls issues
+#
+
+proc getLibAltPath {libName} {
+   if {[file isdirectory /lib64]} {
+      set res [lindex [glob /lib64/$libName*] 0]
+   } else {
+      set res [lindex [glob /lib/$libName*] 0]
+   }
+
+   return $res
+}
+
+# Return either an empty string or the LD_PRELOAD to perform
+proc getLdPreloadCmd {} {
+   set res ""
+   if {[file isdirectory /lib/tls] ||[file isdirectory /lib64/tls]} {
+      append res "[getLibAltPath libpthread.so]:"
+      append res "[getLibAltPath libc.so]:"
+      append res "[getLibAltPath libm.so]:"
+      append res "[getLibAltPath librt.so]"
+      puts "-I- Required Preload: $res"
+   }
+
+   return $res
+}
+
+# return the absolute file name for the given file or error and exit if the
+# file does not exists or is not readable
+proc getAbsoluteFileName {fileName} {
+   if {![file exists $fileName]} {
+      puts "-E- Given file:$fileName does not exist"
+      exit 1
+   }
+   if {![file readable $fileName]} {
+      puts "-E- Given file:$fileName is not readable"
+      exit 1
+   }
+   return [file normalize $fileName]
+}
+
+##############################################################################
+#
+# Get Opt
+#
+set optind 0
+
+proc getopt { argslist optstring optret argret } {
+	global optind optindc
+	upvar $optret retvar
+	upvar $argret optarg
+
+	# default settings for a normal return
+	set optarg ""
+	set retvar ""
+	set retval 0
+
+	# check if we are in a single char mode or support long
+	# option string
+	if {[string match "* *" $optstring]} {
+		set longOptMode 1
+	} else {
+		set longOptMode 0
+	}
+
+	# check if we're past the end of the args list
+	if { $optind < [ llength $argslist ] } then {
+
+		# if we got -- or an option that doesn't begin with -, return (skipping
+		# the --).  otherwise process the option arg.
+		switch -glob -- [ set arg [ lindex $argslist $optind ]] {
+			"--" {
+				incr optind
+			}
+
+			"-*" {
+				# opt needs to return the name of the option
+				regexp -- {-([^:]+):?} $arg d1 opt
+				incr optind
+
+				if {$longOptMode} {
+					# options are defined as words optionaly containing ":"
+					if { [ lsearch -regexp $optstring "^$opt:?\$" ] >= 0 } then {
+						set retvar $opt
+						set retval 1
+						if { [ lsearch -regexp $optstring "^$opt:\$" ] >= 0 } then {
+							if { $optind < [ llength $argslist ] } then {
+								set optarg [lindex $argslist $optind]
+								incr optind
+							} else {
+								set optarg "Option requires an argument -- $opt"
+								set retvar $optarg
+								set retval -1
+							}
+						}
+					} else {
+						set optarg "Illegal option -- $opt"
+						set retvar $optarg
+						set retval -1
+					}
+				} else {
+					# traditional single char options
+					if { [ string match "*$opt*" $optstring ] } then {
+						set retvar $opt
+						set retval 1
+						if { [ string match "*$opt:*" $optstring ] } then {
+							if { $optind < [ llength $argslist ] } then {
+								set optarg [lindex $argslist $optind]
+								incr optind
+							} else {
+								set optarg "Option requires an argument -- $opt"
+								set retvar $optarg
+								set retval -1
+							}
+						}
+					} else {
+						set optarg "Illegal option -- $opt"
+						set retvar $optarg
+						set retval -1
+					}
+				}
+			}
+		}
+	}
+	return $retval
+}
+
+##############################################################################
+#
+# MAIN FLOW:
+#
+
+set pid [pid]
+
+set simulationFlowFile ""
+set checkerFlowFile ""
+set topologyFile ""
+set osmPath /usr/mellanox/osm-sim/bin/opensm
+# default verbosity show: time, context, fatal and error
+set moduleVerbosityList 0xA3
+set osmPortNum 1
+set osmNodeName "H-1"
+set osmSubProcessIds {}
+set randomSeed [expr int(rand() * 100000)]
+
+while { [ set err [ getopt $argv "hvV:o:f:c:t:n:p:s:" opt arg ]] } {
+	if { $err < 0 } then {
+		Usage
+		exit 2
+	} else {
+		switch -exact $opt {
+			h {Help; exit 0}
+			v {puts "";puts $version; puts ""; exit 0}
+			o {set osmPath $arg}
+			f {set simulationFlowFile [getAbsoluteFileName $arg]}
+			c {set checkerFlowFile  [getAbsoluteFileName $arg]}
+         n {set osmNodeName $arg}
+         p {set osmPortNum $arg}
+			t {set topologyFile [getAbsoluteFileName $arg]}
+         s {set randomSeed $arg}
+			V {set moduleVerbosityList $arg }
+         default {
+            puts "-E- Unsupported option:$opt"
+            puts $ToolUsage
+            exit 1
+         }
+		}
+	}
+}
+
+# make sure we got a topology:
+if {$topologyFile == ""} {
+   puts "-E- Missing mandatory flag -t. Topology file was not defined."
+   Usage
+   exit
+}
+
+# handle extra args
+set left_args [ lrange $argv $optind end ]
+if {[llength $left_args]} {
+    puts "-E- illegal parameter(s) used : $left_args"
+    Usage
+    exit 1
+}
+
+puts "-I- Using random seed:$randomSeed"
+rmSeed $randomSeed
+
+# track opened pipes
+set osmTrackerPipes {}
+
+# define tmp directory to use:
+set tmpDir /tmp
+
+# Define the temporary directory:
+set simDir [file join $tmpDir ibmgtsim.$pid]
+puts "-I- Simulation directory is: $simDir"
+set env(IBMGTSIM_DIR) $simDir/
+set env(OSM_CACHE_DIR) $simDir/
+set env(OSM_TMP_DIR) $simDir/
+file mkdir $simDir
+cd $simDir
+
+# We also want to verify the correct osmvendor is selected
+set env(LD_LIBRARY_PATH) \
+    "[file join [file dirname [file dirname $osmPath]] lib]"
+
+# if provided a flow file use it
+if {$checkerFlowFile != ""} {
+   source $checkerFlowFile
+}
+
+set simLog [file join $simDir sim.log]
+set simStdOutLog [file join $simDir sim.stdout.log]
+
+if {[catch {
+   # Start the Simulator
+   if {$simulationFlowFile != ""} {
+      set cmd "IBMgtSim -s $randomSeed -V $moduleVerbosityList -t $topologyFile -f $simulationFlowFile -l $simLog"
+   } else {
+      set cmd "IBMgtSim -s $randomSeed -V $moduleVerbosityList -t $topologyFile -l $simLog"
+   }
+   puts "-I- Calling $cmd"
+   eval "exec $cmd > $simStdOutLog &"
+
+   set sim [open "|tail -F $simStdOutLog" r+]
+   lappend osmSubProcessIds [pid $sim]
+
+   # wait for the simulator to report it is ready to serve
+   waitForSimReady $sim
+
+   # connect to the server
+   connToSimControlServer $simDir
+
+   fconfigure $sim -buffering line -blocking 0
+
+   # make the node files for the OpenSM Node:
+   set osmPortGuid [makeProcFSForNode $simDir $osmNodeName $osmPortNum 1]
+
+   # set the node name for OpenSM
+   set env(IBMGTSIM_NODE) $osmNodeName
+
+   # start OpenSM
+   set osmPid [runner $simDir $osmPath $osmPortGuid]
+   lappend osmSubProcessIds $osmPid
+
+   # run the checker
+   set exitCode [checker $simDir $osmPath $osmPortGuid]
+
+   # exit everything
+   exitTestFlow $osmSubProcessIds $sim $exitCode
+} e]} {
+   puts "$e"
+   if {[info exists sim]} {
+      close $sim
+   }
+   puts "-E- $errorInfo"
+
+   exitTestFlow $osmSubProcessIds $sim 2
+
+   exit 1
+}
+
+
diff --git a/ibmgtsim/utils/fixSwigWrapper b/ibmgtsim/utils/fixSwigWrapper
new file mode 100755
index 0000000..af7ec48
--- /dev/null
+++ b/ibmgtsim/utils/fixSwigWrapper
@@ -0,0 +1,216 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+  exec tclsh "$0" "$@"
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
+
+proc Usage {} {
+	global argv0
+	puts "Usage: $argv0 \[-r <prompt>\] \[-g\] \[-s\] \[-p\] -o <out-file>"
+}
+
+proc Help {} {
+	puts "\nfixSwigWrapper : Applies extended behaviour to a swig_wrap.c\n"
+	Usage
+	puts "\nArguments:"
+	puts "-o out-file : The name of the out file\n"
+	puts "\nOptions:"
+	puts "-r prompt : add readline support using the given prompt"
+	puts "-g : Cleanup SWIG_GetPointerObj"
+	puts "-s : Cleanup SWIG_SetPointerObj"
+	puts "-p : Cleanup SWIG_MakePtr\n\n"
+	exit 1
+}
+
+# basically this code filters out the two swig functions:
+# SWIG_GetPointerObj
+# SWIG_SetPointerObj
+# from the given file and also adds one line just before the last
+# return statement
+
+proc LoadFile {fn} {
+	# open the file
+	if {[catch {set f [open $fn "r"]} e]} {
+		error "-E- LoadFile: $e"
+	}
+
+	while {[gets $f sLine] >= 0} {
+	        lappend linesList "$sLine"
+	}
+	close $f
+	set res "[join $linesList \n]"
+	puts stderr "-I- Loaded file: $fn with:[string length $res] chars"
+
+	return $res
+}
+
+proc remTrailingBlanks {code} {
+	regsub -line -all {[ 	]+$} $code {} code
+	return $code
+}
+
+
+# remove the given proc from the file
+proc remProc {code procName procRetType} {
+
+	# find the idx of the start of the procedure
+	if {! [regexp -indices -line "SWIGSTATIC\[\\s\n\]*$procRetType\[\\s\n\]*$procName" \
+				 $code sidx]} {
+		error "-E- Fail to find proc:$procName"
+	}
+
+	# assume the end of the procedure has a nice indented \}
+	if {! [regexp -start [lindex $sidx 0] -indices "\n\}" $code eidx]} {
+		error "-E- Fail to find proc:$procName end"
+	}
+
+	return [string replace $code [lindex $sidx 0] [lindex $eidx 1]]
+}
+
+proc addAtLastReturn {code text} {
+	# find the last "return TCL_OK"
+	set idx [string last {return TCL_OK} $code]
+	if {$idx <= 0} {
+		error "-E- Fail to find last return"
+	}
+
+	return [string replace $code $idx $idx $text]
+}
+
+
+# MAIN
+
+set removeGetObj 0
+set removeSetObj 0
+set removeMakePtr 0
+set userPrompt 0
+set removeTrailingBlanks 1
+set outFileName ""
+
+# parse command line args
+while {[llength $argv]} {
+	set sw [lindex $argv 0]
+	set argv [lrange $argv 1 end]
+
+	switch -- $sw {
+		-r {
+			if {![llength $argv]} {
+				puts "-E- Expected prompt value after -r"
+				Usage
+				exit 1
+			}
+			set userPrompt [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-o {
+			if {![llength $argv]} {
+				puts "-E- Expected file name value after -o"
+				Usage
+				exit 1
+			}
+			set outFileName [lindex $argv 0]
+			set argv [lrange $argv 1 end]
+		}
+		-g { set removeGetObj 1}
+		-s { set removeSetObj 1}
+		-p { set removeMakePtr 1}
+		-h {
+			Help
+		}
+		default {
+			puts "-E- Unexpected argument: $sw"
+			Usage
+			exit 1
+		}
+	}
+}
+
+set readlineCode "
+   if (Tcl_PkgRequire(interp,\"tclreadline\",0,0) != NULL) \{
+     Tcl_Eval(interp,
+				  \"if \{\$tcl_interactive\} \{namespace eval tclreadline \{proc prompt1 \{\} \{return \\\"$userPrompt >\\\"\} \}; ::tclreadline::Loop $userPrompt.log \}\"
+     );
+   \}
+"
+
+if {[catch {set swigCode [LoadFile swig_wrap.c]} e]} {
+	puts "$e"
+	exit 3
+}
+
+if {$removeGetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_GetPointerObj "char \\*"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeTrailingBlanks} {
+	if {[catch {set swigCode [remTrailingBlanks $swigCode]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeSetObj} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_SetPointerObj "void"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$removeMakePtr} {
+	if {[catch {set swigCode [remProc $swigCode SWIG_MakePtr "int"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$userPrompt != 0} {
+	if {[catch {set swigCode [addAtLastReturn $swigCode "${readlineCode}r"]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+}
+
+if {$outFileName != 0} {
+	if {[catch {set f [open $outFileName w]} e]} {
+		puts "-E- $e"
+		exit 1
+	}
+	puts $f $swigCode
+	close $f
+} else {
+	puts $swigCode
+}
diff --git a/ibmgtsim/utils/fprogbar.sh b/ibmgtsim/utils/fprogbar.sh
new file mode 100755
index 0000000..7805ff0
--- /dev/null
+++ b/ibmgtsim/utils/fprogbar.sh
@@ -0,0 +1,69 @@
+#!/bin/bash
+# fprogbar: File PROGress BAR
+#   This script output a progress bar in the terminal width which monitors
+#   file size relative to final expected size.
+#   This may be used to provide a progress bar by applying to build output
+#   log file (when final size of the log file is approx. known)
+#   If a process ID is given, the fprogbar will terminate only when the
+#   given process ID is gone from the active processes list.
+#
+# Note: It is recommended to provide final size which is a bit less than
+#       expected size, since this size is the termination point
+
+function usage()
+{
+  echo "usage: fprogbar <filename> <final size in bytes> [<process ID to sync with>]"
+  exit 1
+}
+
+# Get filename and expected size
+if [ $# -lt 2 ] ; then
+  usage
+fi
+file=$1
+shift
+final_sz=$1
+shift
+if [ $# -eq 1 ]; then
+  pid2track=$1
+else
+  pid2track=1
+fi
+
+# prepare progress bar of style [        ] to be [+++     ]
+echo -n "[]"
+let num_of_dots=`tput cols`-12
+#for (( i= 0 ; i < $num_of_dots ;  )) ; do echo -n -e '\267' ; let i++ ;done
+#echo -n -e \]'\r'\[
+let bytes_per_dot=$final_sz/$num_of_dots
+let cur_bars=0
+let percent=0
+
+# Update dots until final size is reached
+while ((1)); do
+  lead_proc_cnt=`ps -eo "%p" | awk '$1 == '$pid2track' {print}' | wc -l`
+  current_sz=`ls -l $file | awk '{print $5}'`
+  let req_bars=$current_sz/$bytes_per_dot
+  if [ $req_bars -ge $num_of_dots ]; then
+    let req_bars=$num_of_dots
+  fi
+  for ((  ; $cur_bars < $req_bars ; )); do
+    let percent=($current_sz*100)/$final_sz
+    printf "\b+] %3d%%\b\b\b\b\b" $percent
+    let cur_bars++
+  done
+
+  # Check if reached expected file size
+  if [ \( $cur_bars -eq $num_of_dots \) -o \( $percent -ge 100 \)  ]; then
+    echo " 100%"
+    exit 0
+  fi
+
+  if [ $lead_proc_cnt -eq 0 ]; then
+    # probably some failure - but could be that expected file size is not updated
+    echo " 100%"
+    exit 2
+  fi
+
+ usleep 200000
+done
diff --git a/ibmgtsim/utils/h2cpp.awk b/ibmgtsim/utils/h2cpp.awk
new file mode 100644
index 0000000..5c8d27f
--- /dev/null
+++ b/ibmgtsim/utils/h2cpp.awk
@@ -0,0 +1,56 @@
+#!/bin/awk -f
+{
+  if (h == 0) {
+    print;
+  }
+}
+/[\#]--/{
+  h = 1;
+  print "*/";
+}
+/^class/{
+  if (h) {
+    print "\n\n\n";
+    print "//////////////////////////////////////////////////////////////";
+    print "//";
+    print "// CLASS ", $2;
+    print "//";
+
+    if (comment != "") {
+      print comment;
+    }
+    c = $2;
+    p = 0;
+  }
+}
+/[^\}];/{
+  if (p && h) {
+    if (comment != "") {
+      print comment;
+    }
+
+    for (f = 1; f <= NF; f++) {
+      if (f == 2) {
+        printf("%s::%s ",c,$f);
+      } else {
+        printf("%s ",$f);
+      }
+    }
+    print " ";
+  }
+}
+/\/[\*]/{
+  m = 1;
+  comment = "";
+}
+{
+  if (m && p && h) {
+    comment = comment "\n" $0;
+  }
+}
+/[\*]\// {
+  m = 0;
+}
+/public/{
+  p = 1;
+}
diff --git a/ibmgtsim/utils/header.c b/ibmgtsim/utils/header.c
new file mode 100644
index 0000000..6aff0c3
--- /dev/null
+++ b/ibmgtsim/utils/header.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2004 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.
+ *
+ * $Id$
+ */
diff --git a/ibmgtsim/utils/header.sh b/ibmgtsim/utils/header.sh
new file mode 100644
index 0000000..e329021
--- /dev/null
+++ b/ibmgtsim/utils/header.sh
@@ -0,0 +1,33 @@
+#--
+# Copyright (c) 2004 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.
+#
+# $Id$
+#--
diff --git a/ibmgtsim/utils/install.sh b/ibmgtsim/utils/install.sh
new file mode 100755
index 0000000..1d892d5
--- /dev/null
+++ b/ibmgtsim/utils/install.sh
@@ -0,0 +1,184 @@
+#!/bin/bash
+#
+# 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 at
+# <http://www.fsf.org/copyleft/gpl.html>, or the OpenIB.org BSD
+# license, available in the LICENSE.TXT file accompanying this
+# software.  These details are also available at
+# <http://openib.org/license.html>.
+#
+# 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.
+# Copyright (c) 2004 Mellanox Technologies Ltd.  All rights reserved.
+#
+
+# pointing to the dir where this install script resides
+PACKAGE_ORIG_DIR=`cd ${0%*/*};pwd`
+
+# we modify the srcs so we need to
+PACKAGE_DIR=/tmp/ibmgtsim_install_tmp
+if [ -d $PACKAGE_DIR ]; then
+    rm -rf $PACKAGE_DIR
+fi
+mkdir -p $PACKAGE_DIR
+
+# copy over the original dir
+cp -ap $PACKAGE_ORIG_DIR/* $PACKAGE_DIR/
+
+# go there
+cd $PACKAGE_DIR
+
+########################################################################
+#
+# FUNCTIONS:
+#
+
+#Report: if config failed
+function config_failed() {
+	echo "Config failed ! (see $CFGLOG for details)"
+	exit 1
+}
+
+#Report: if make failed
+function make_failed() {
+	echo "Make failed ! (see $MAKELOG for details)"
+	exit 1
+}
+
+########################################################################
+
+# Initialize default before parsing parameters
+PREFIX=/usr
+NO_BAR=0
+
+# parse parameters
+while [ "$1" ]; do
+#  echo "Current parsed param is : $1"
+  case $1 in
+    "--prefix")
+          PREFIX=$2
+          shift
+          ;;
+    "--with-ibdm")
+          IBDM_PREFIX=$2
+          shift
+          ;;
+    "--with-tclsh")
+          TCLSH=$2
+          shift
+          ;;
+    "--with-osm")
+          OSM_PREFIX=$2
+          shift
+          ;;
+    "--batch")
+          NO_BAR=1
+          ;;
+    *)
+     echo "Usage: $0 [--prefix <dir>][--with-osm <dir>][--with-ibdm <dir>][--with-tclsh <path>][--batch]"
+     echo ""
+     echo "Options:"
+     echo "   --prefix <dir> : place bin/lib/include into <dir>"
+     echo "   --with-osm <dir> : use this OpenSM installation dir"
+     echo "   --with-ibdm <dir>: use this IBDM installation dir"
+     echo "   --with-tclsh <path>: use this tclsh executable (should be linked with g++)"
+     echo "   --batch option : do not use progress bar"
+     exit 1
+  esac
+  shift
+done
+
+tar_file=ibmgtsim-1.0.tar.gz
+
+cd $PACKAGE_DIR
+if test ! -f $tar_file; then
+    echo " Fail to find matching tar file for the current platform:$tar_file"
+    exit 1
+fi
+
+tar -zxf $tar_file
+find . -exec touch {} \;
+
+CFGLOG=/tmp/IBMGTSIM.config.log.$$
+rm -f /tmp/IBMGTSIM.config.log.* 2&>1 > /dev/null
+echo "configuration as `date`." >| $CFGLOG
+echo "configuration log file:" >| $CFGLOG
+
+MAKELOG=/tmp/IBMGTSIM.make.log.$$
+rm -f /tmp/IBMGTSIM.make.log.* 2&>1 > /dev/null
+echo "IBMGTSIM installation at `date`." >| $MAKELOG
+echo "make log file:" >| $MAKELOG
+
+echo IBMGTSIM installation script
+echo Copyright \(C\) June 2005, Mellanox Technologies Ltd. ALL RIGHTS RESERVED.
+echo Use of software subject to the terms and conditions detailed in the
+echo file \"LICENSE.txt\".
+echo " "
+
+IBMGTSIMHOME=/usr/mellanox/ibmgtsim
+mkdir -p $IBMGTSIMHOME
+cp ${PACKAGE_DIR}/BUILD_ID ${IBMGTSIMHOME}/BUILD_ID
+cp ${PACKAGE_DIR}/uninstall.sh ${IBMGTSIMHOME}/
+cp ${PACKAGE_DIR}/LICENSE.txt ${IBMGTSIMHOME}/
+
+echo ""
+echo ""
+echo "This installation installs the IBMgtSim components into $PREFIX"
+
+echo " Removing possible previous installations ..."
+$PACKAGE_ORIG_DIR/uninstall.sh 2>&1 > /dev/null
+
+cd $IBMGTSIMHOME
+export PATH=$PATH:${PACKAGE_DIR}
+echo " Configuring $IBMGTSIMHOME directory ..."
+cfg="${PACKAGE_DIR}/ibmgtsim-1.0/configure --prefix=${PREFIX} --enable-debug"
+if test ! -z $OSM_PREFIX; then
+    cfg="$cfg --with-osm=$OSM_PREFIX"
+fi
+if test ! -z $IBDM_PREFIX; then
+    cfg="$cfg --with-ibdm=$IBDM_PREFIX"
+fi
+
+if test -z $TCLSH; then
+ # prefer the local tcl installation if available:
+ local_tclsh=/mswg/projects/ibadm/BINS/`uname -m`/bin/tclsh8.4
+ if test -f $local_tclsh; then
+     echo " Using tclsh from:$local_tclsh"
+     cfg="$cfg --with-tclsh=$local_tclsh"
+ fi
+else
+ echo " Using tclsh from:$TCLSH"
+ cfg="$cfg --with-tclsh=$TCLSH"
+fi
+
+eval $cfg >> $CFGLOG 2>&1 &
+config_pid=$!
+wait $config_pid >/dev/null 2>&1
+if [ $? != 0 ]; then config_failed ; fi
+
+echo " Building all packages (this will take a few minutes) ... "
+make install>> $MAKELOG 2>&1 &
+make_pid=$!
+
+EXPECTED_MAKEINSTALLLOG_SIZE=18562
+if [ "$NO_BAR" == "0" ] ; then
+	$PACKAGE_DIR/fprogbar.sh $MAKELOG $EXPECTED_MAKEINSTALLLOG_SIZE $make_pid
+fi
+
+wait $make_pid >/dev/null 2>&1
+if [ $? != 0 ]; then make_failed ; fi
+echo " Executables were placed in : $PREFIX/bin"
+
+# cleanup
+rm -rf $PACKAGE_DIR
+
+echo IBMgtSim installation done.
+echo "  "
+exit 0
diff --git a/ibmgtsim/utils/mkSimNodeDir b/ibmgtsim/utils/mkSimNodeDir
new file mode 100755
index 0000000..dcab4b3
--- /dev/null
+++ b/ibmgtsim/utils/mkSimNodeDir
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+usage="$0 -n node-name [-g sim-guids-file]"
+function help () {
+cat <<EOF
+$usage
+
+This utility build the /proc like file tree for the given node
+based on the guids dump file produced by the simulator.
+
+Options:
+-n node-name = the node name to create the files for.
+-g sim-guids-file = dump file to use. default is ./ibmgtsim.guids.txt
+
+LIMITATIONS:
+Only HCAs are supported.
+Single HCA per guid.
+
+EOF
+exit 0
+}
+
+guids_file=ibmgtsim.guids.txt
+
+while getopts ":n:gh" options; do
+  case $options in
+    n ) node_name=$OPTARG;;
+    g ) guids_file=$OPTARG;;
+    h ) help;;
+    \? ) echo $usage
+         exit 1;;
+    * ) echo $usage
+        exit 1;;
+  esac
+done
+
+if test -z $node_name; then
+    echo "You must specify a node name using the -n option."
+    exit 1
+fi
+
+# find the node by name in the guids file:
+nodeGuid=`awk '/NODE *'$node_name'\/U1/{print $3}' $guids_file`
+if test -z $nodeGuid; then
+    echo "Fail to find node:$node_name in $guids_file"
+    exit 1
+fi
+port1Guid=`awk '/PORT *'$node_name'\/P1/{print $3}' $guids_file`
+port2Guid=`awk '/PORT *'$node_name'\/P2/{print $3}' $guids_file`
+
+ng=`echo $nodeGuid | sed -e 's/0x//' -e 's/\(....\)\(....\)\(....\)\(....\)/\1:\2:\3:\4/'`
+pg1=`echo $port1Guid | sed -e 's/0x//' -e 's/\(....\)\(....\)\(....\)\(....\)/\1:\2:\3:\4/'`
+pg2=`echo $port2Guid | sed -e 's/0x//' -e 's/\(....\)\(....\)\(....\)\(....\)/\1:\2:\3:\4/'`
+
+echo "$node_name GUIDS: Node=$ng Port1=$pg1 Port2=$pg2"
+
+# Create the node dir
+mkdir -p $node_name/ca1
+
+# Node Info
+cat <<EOF > $node_name/ca1/info
+name:          InfiniHost0
+provider:      tavor
+node GUID:     $ng
+ports:         2
+vendor ID:     0x2c9
+device ID:     0x5a44
+HW revision:   0xa1
+FW revision:   0x300020002
+EOF
+
+# Port1
+mkdir -p $node_name/ca1/port1
+
+# port info
+cat <<EOF > $node_name/ca1/port1/info
+state:         INIT
+LID:           0x0000
+LMC:           0x0000
+SM LID:        0x0001
+SM SL:         0x0000
+Capabilities:  IsTrapSupported
+               IsAutomaticMigrationSupported
+               IsSLMappingSupported
+               IsLEDInfoSupported
+               IsSystemImageGUIDSupported
+               IsVendorClassSupported
+               IsCapabilityMaskNoticeSupported
+EOF
+
+# pkey
+cat <<EOF > $node_name/ca1/port1/pkey_table
+[  0] ffff
+EOF
+
+# gids
+cat <<EOF > $node_name/ca1/port1/gid_table
+[  0] fe80:0000:0000:0000:$pg1
+EOF
+
+# Port2
+mkdir -p $node_name/ca1/port2
+
+# port info
+cat <<EOF > $node_name/ca1/port2/info
+state:         INIT
+LID:           0x0000
+LMC:           0x0000
+SM LID:        0x0001
+SM SL:         0x0000
+Capabilities:  IsTrapSupported
+               IsAutomaticMigrationSupported
+               IsSLMappingSupported
+               IsLEDInfoSupported
+               IsSystemImageGUIDSupported
+               IsVendorClassSupported
+               IsCapabilityMaskNoticeSupported
+EOF
+
+# pkey
+cat <<EOF > $node_name/ca1/port2/pkey_table
+[  0] ffff
+EOF
+
+# gids
+cat <<EOF > $node_name/ca1/port2/gid_table
+[  0] fe80:0000:0000:0000:$pg2
+EOF
+
diff --git a/ibmgtsim/utils/uninstall.sh b/ibmgtsim/utils/uninstall.sh
new file mode 100755
index 0000000..a65c273
--- /dev/null
+++ b/ibmgtsim/utils/uninstall.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# 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 at
+# <http://www.fsf.org/copyleft/gpl.html>, or the OpenIB.org BSD
+# license, available in the LICENSE.TXT file accompanying this
+# software.  These details are also available at
+# <http://openib.org/license.html>.
+#
+# 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.
+# Copyright (c) 2004 Mellanox Technologies Ltd.  All rights reserved.
+#
+
+function cleanup_ibmgtsim_files() {
+    local PREFIX=$1
+    # Clean old distribution
+    binApps="IBMgtSim  ibmsquit  ibmssh  mkSimNodeDir  RunSimTest"
+
+    echo "Removing Executables from : .......... $PREFIX/bin."
+    for f in $binApps; do
+        rm -f ${PREFIX}/bin/$f 2&>1 > /dev/null;
+        if [ $? == 0 ]; then
+            echo " Removed : ${PREFIX}/bin/$f"
+        fi
+    done
+
+    echo "Removing Include Files from : ........ $PREFIX/include."
+    rm -rf ${PREFIX}/include/ibmgtsim 2&>1 > /dev/null
+    if [ $? == 0 ]; then
+        echo " Removed : ${PREFIX}/include/ibmgtsim"
+    fi
+
+    echo "Removing Libs from : ................. $PREFIX/lib."
+    libs="libibmscli.a libibmscli.la libibmscli.so libibmscli.so.1
+          libibmscli.so.1.0.0"
+    for f in $libs; do
+        rm -rf ${PREFIX}/lib/$f 2&>1 > /dev/null;
+        if [ $? == 0 ]; then
+            echo " Removed : ${PREFIX}/lib/$f"
+        fi
+    done
+}
+
+NO_BAR=0
+
+# parse parameters
+while [ "$1" ]; do
+#  echo "Current parsed param is : $1"
+  case $1 in
+    "--prefix")
+          PREFIX=$2
+          cleanup_ibmgtsim_files $2
+          shift
+          ;;
+    *)
+     echo "Usage: $0 [--prefix <install-dir>]"
+     echo ""
+     echo "Options:"
+     echo "   --prefix <dir> : the prefix used for the IBMgtSim instalaltion"
+     exit 1
+  esac
+  shift
+done
+
+if test -f /usr/bin/ibmssh || test -L /usr/bin/ibmssh; then
+   cleanup_ibmgtsim_files /usr
+fi
+
+if test -f /usr/local/bin/ibmssh || test -L /usr/local/bin/ibmssh; then
+   cleanup_ibmgtsim_files /usr/local
+fi
diff --git a/ibutils.spec b/ibutils.spec
new file mode 100644
index 0000000..0d1892f
--- /dev/null
+++ b/ibutils.spec
@@ -0,0 +1,150 @@
+#
+# Copyright (c) 2006 Mellanox Technologies. 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.
+#
+
+%{?build_ibmgtsim: %define ibmgtsim --enable-ibmgtsim}
+
+Summary: OpenIB Mellanox InfiniBand Diagnostic Tools
+Name: ibutils
+Version: 1.2
+Release: 1.ofed1.4.2
+License: GPL/BSD
+Url: http://openib.org/downloads/%{name}-%{version}.tar.gz
+Group: System Environment/Libraries
+Source: http://www.openfabrics.org/downloads/ibutils-1.2.tar.gz
+BuildRoot: %{?build_root:%{build_root}}%{!?build_root:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)}
+# Requires: opensm
+Vendor: Mellanox Technologies Ltd.
+%description
+ibutils provides IB network and path diagnostics.
+
+
+%prep
+%setup -n %{name}-%{version}
+
+%build
+%configure %{?configure_options} %{?ibmgtsim}
+%{__make} %{?mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
+/bin/rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
+/bin/rm -f $RPM_BUILD_ROOT/%{_prefix}/bin/git_version.tcl
+
+install -d $RPM_BUILD_ROOT/etc/profile.d
+cat > $RPM_BUILD_ROOT/etc/profile.d/ibutils.sh << EOF
+if ! echo \${PATH} | grep -q %{_prefix}/bin ; then
+        PATH=\${PATH}:%{_prefix}/bin
+fi
+EOF
+cat > $RPM_BUILD_ROOT/etc/profile.d/ibutils.csh << EOF
+if ( "\${path}" !~ *%{_prefix}/bin* ) then
+        set path = ( \$path %{_prefix}/bin )
+endif
+EOF
+
+touch ibutils-files
+case %{_prefix} in
+        /usr | /usr/)
+        ;;
+        *)
+        install -d $RPM_BUILD_ROOT/etc/ld.so.conf.d
+        echo "%{_libdir}" >> $RPM_BUILD_ROOT/etc/ld.so.conf.d/ibutils.conf
+        echo "/etc/ld.so.conf.d/ibutils.conf" >> ibutils-files
+        ;;
+esac
+
+
+%clean
+#Remove installed driver after rpm build finished
+rm -rf $RPM_BUILD_DIR/%{name}-%{version}
+rm -rf $RPM_BUILD_ROOT
+
+%post
+/sbin/ldconfig
+
+###
+### Files
+###
+%files -f ibutils-files
+%defattr(-,root,root)
+%{_prefix}/bin/ibis
+%{_prefix}/bin/ibdmsh
+%{_prefix}/bin/ibtopodiff
+%{_prefix}/bin/ibnlparse
+%{_prefix}/bin/ibdmtr
+%{_prefix}/bin/ibdmchk
+%{_prefix}/bin/ibdiagui
+%{_prefix}/bin/ibdiagnet
+%{_prefix}/bin/ibdiagpath
+%{_libdir}/libibdmcom.so*
+%{_libdir}/libibdmcom.a
+%{_libdir}/libibdm.so*
+%{_libdir}/libibdm.a
+%{_libdir}/ibis1.2
+%{_libdir}/ibdm1.2
+%{_libdir}/ibdiagnet1.2
+%{_libdir}/ibdiagpath1.2
+%{_libdir}/ibdiagui1.2
+%{_prefix}/include/ibdm
+%{_mandir}/man1/ibdiagnet.1*
+%{_mandir}/man1/ibdiagpath.1*
+%{_mandir}/man1/ibdiagui.1*
+%{_mandir}/man1/ibis.1*
+%{_mandir}/man1/ibtopodiff.1*
+%{_mandir}/man1/ibdmtr.1*
+%{_mandir}/man1/ibdmsh.1*
+%{_mandir}/man1/ibdmchk.1*
+%{_mandir}/man1/ibdm-topo-file.1*
+%{_mandir}/man1/ibdm-ibnl-file.1*
+/etc/profile.d/ibutils.sh
+/etc/profile.d/ibutils.csh
+%{_prefix}/bin/mkSimNodeDir
+%{_prefix}/bin/ibmssh
+%{_prefix}/bin/ibmsquit
+%{_prefix}/bin/RunSimTest
+%{_prefix}/bin/IBMgtSim
+%{_libdir}/libibmscli.so*
+%{_libdir}/libibmscli.a
+%{_prefix}/include/ibmgtsim
+%{_prefix}/share/ibmgtsim
+%{_mandir}/man1/ibmssh.1*
+%{_mandir}/man1/ibmsquit.1*
+%{_mandir}/man1/mkSimNodeDir.1*
+%{_mandir}/man1/RunSimTest.1*
+%{_mandir}/man1/IBMgtSim.1*
+# END Files
+
+%changelog
+* Tue Aug 21 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added ibmgtsim to the rpm
+* Sun Jul 30 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added man pages and share/ibmgtsim
+* Tue May 16 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added ibutils sh, csh and conf to update environment
+* Sun Apr  2 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Initial packaging for openib gen2 stack
diff --git a/ibutils.spec.in b/ibutils.spec.in
new file mode 100644
index 0000000..628230a
--- /dev/null
+++ b/ibutils.spec.in
@@ -0,0 +1,150 @@
+#
+# Copyright (c) 2006 Mellanox Technologies. 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.
+#
+
+%{?build_ibmgtsim: %define ibmgtsim --enable-ibmgtsim}
+
+Summary: OpenIB Mellanox InfiniBand Diagnostic Tools
+Name: ibutils
+Version: @VERSION@
+Release: 1%{?dist}
+License: GPL/BSD
+Url: http://openib.org/downloads/%{name}-%{version}.tar.gz
+Group: System Environment/Libraries
+Source: %{name}-%{version}.tar.gz
+BuildRoot: %{?build_root:%{build_root}}%{!?build_root:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)}
+# Requires: opensm
+Vendor: Mellanox Technologies Ltd.
+%description
+ibutils provides IB network and path diagnostics.
+
+
+%prep
+%setup -n %{name}-%{version}
+
+%build
+%configure %{?configure_options} %{?ibmgtsim}
+%{__make} %{?mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
+/bin/rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
+/bin/rm -f $RPM_BUILD_ROOT/%{_prefix}/bin/git_version.tcl
+
+install -d $RPM_BUILD_ROOT/etc/profile.d
+cat > $RPM_BUILD_ROOT/etc/profile.d/ibutils.sh << EOF
+if ! echo \${PATH} | grep -q %{_prefix}/bin ; then
+        PATH=\${PATH}:%{_prefix}/bin
+fi
+EOF
+cat > $RPM_BUILD_ROOT/etc/profile.d/ibutils.csh << EOF
+if ( "\${path}" !~ *%{_prefix}/bin* ) then
+        set path = ( \$path %{_prefix}/bin )
+endif
+EOF
+
+touch ibutils-files
+case %{_prefix} in
+        /usr | /usr/)
+        ;;
+        *)
+        install -d $RPM_BUILD_ROOT/etc/ld.so.conf.d
+        echo "%{_libdir}" >> $RPM_BUILD_ROOT/etc/ld.so.conf.d/ibutils.conf
+        echo "/etc/ld.so.conf.d/ibutils.conf" >> ibutils-files
+        ;;
+esac
+
+
+%clean
+#Remove installed driver after rpm build finished
+rm -rf $RPM_BUILD_DIR/%{name}-%{version}
+rm -rf $RPM_BUILD_ROOT
+
+%post
+/sbin/ldconfig
+
+###
+### Files
+###
+%files -f ibutils-files
+%defattr(-,root,root)
+%{_prefix}/bin/ibis
+%{_prefix}/bin/ibdmsh
+%{_prefix}/bin/ibtopodiff
+%{_prefix}/bin/ibnlparse
+%{_prefix}/bin/ibdmtr
+%{_prefix}/bin/ibdmchk
+%{_prefix}/bin/ibdiagui
+%{_prefix}/bin/ibdiagnet
+%{_prefix}/bin/ibdiagpath
+%{_libdir}/libibdmcom.so*
+%{_libdir}/libibdmcom.a
+%{_libdir}/libibdm.so*
+%{_libdir}/libibdm.a
+%{_libdir}/ibis1.2
+%{_libdir}/ibdm1.2
+%{_libdir}/ibdiagnet1.2
+%{_libdir}/ibdiagpath1.2
+%{_libdir}/ibdiagui1.2
+%{_prefix}/include/ibdm
+%{_mandir}/man1/ibdiagnet.1*
+%{_mandir}/man1/ibdiagpath.1*
+%{_mandir}/man1/ibdiagui.1*
+%{_mandir}/man1/ibis.1*
+%{_mandir}/man1/ibtopodiff.1*
+%{_mandir}/man1/ibdmtr.1*
+%{_mandir}/man1/ibdmsh.1*
+%{_mandir}/man1/ibdmchk.1*
+%{_mandir}/man1/ibdm-topo-file.1*
+%{_mandir}/man1/ibdm-ibnl-file.1*
+/etc/profile.d/ibutils.sh
+/etc/profile.d/ibutils.csh
+%{_prefix}/bin/mkSimNodeDir
+%{_prefix}/bin/ibmssh
+%{_prefix}/bin/ibmsquit
+%{_prefix}/bin/RunSimTest
+%{_prefix}/bin/IBMgtSim
+%{_libdir}/libibmscli.so*
+%{_libdir}/libibmscli.a
+%{_prefix}/include/ibmgtsim
+%{_prefix}/share/ibmgtsim
+%{_mandir}/man1/ibmssh.1*
+%{_mandir}/man1/ibmsquit.1*
+%{_mandir}/man1/mkSimNodeDir.1*
+%{_mandir}/man1/RunSimTest.1*
+%{_mandir}/man1/IBMgtSim.1*
+# END Files
+
+%changelog
+* Tue Aug 21 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added ibmgtsim to the rpm
+* Sun Jul 30 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added man pages and share/ibmgtsim
+* Tue May 16 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Added ibutils sh, csh and conf to update environment
+* Sun Apr  2 2006 Vladimir Sokolovsky <vlad at mellanox.co.il>
+- Initial packaging for openib gen2 stack

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



More information about the Pkg-ofed-commits mailing list